{
  "ai_scaffold_opportunities": [
    {
      "evidence_paths": "LICENSE.md | package.json | pnpm-lock.yaml | src/components/SearchBar.svelte | src/store.js",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__newdittyswag-commerce"
    },
    {
      "evidence_paths": "README.md | pnpm-lock.yaml | server/fortune.ts | src/index.css | src/stores/settingsStore.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__DeskThing-FortuneCookie"
    },
    {
      "evidence_paths": "README.md | app/globals.css | app/profile/page.tsx | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/use-toast.ts | components/video-feed.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__tiktok-clone"
    },
    {
      "evidence_paths": "README.md | app/jobs/page.tsx | app/page.tsx | app/roadmap/page.tsx | components/layout.test.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/tabs.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__starphone-fork-webby"
    },
    {
      "evidence_paths": "README.md | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/tabs.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__scratchcraft"
    },
    {
      "evidence_paths": "README.md | app/auth/login/loading.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | package-lock.json | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__robot-clothing-marketplace"
    },
    {
      "evidence_paths": "README.md | app/api/stories/[type]/route.ts | app/from/[domain]/page.tsx | app/globals.css | app/jobs/page.tsx | app/page.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-news-alt-theme"
    },
    {
      "evidence_paths": "README.md | app/demo/page.tsx | app/globals.css | components/ui/alert-dialog.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__multiplayer-puzzle-game"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | package-lock.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__microwave-sticker-webby"
    },
    {
      "evidence_paths": "README.md | app/auth/login/page.tsx | app/dashboard/analytics/page.tsx | app/globals.css | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__mermaid-community-platform"
    },
    {
      "evidence_paths": ".Jules/bolt.md | README.md | app/docs/page.tsx | app/globals.css | components/stripe-button.tsx | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__global-anti-globalist-club-webby"
    },
    {
      "evidence_paths": "README.md | components/steam-search-modal.tsx | components/ui/card.tsx | components/ui/dialog.tsx | components/ui/input.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__gamer"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/globals.css | app/rss.xml/route.ts | components/faq.tsx | lib/community.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__front-runners-webby"
    },
    {
      "evidence_paths": "README.md | pnpm-lock.yaml | src/components/SearchBar.tsx | src/lib/api.ts",
      "opportunity": "AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Semantic search, query expansion, ranking, and recommendations",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__evernote-js"
    },
    {
      "evidence_paths": "app/api/docs/route.ts | app/api/network/graph/route.ts | app/api/network/jobs/route.ts | app/api/v1/product/route.ts | app/error.tsx | app/feed.xml/route.ts | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/tabs.tsx | lib/fingerprint.ts | lib/site-config.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__drone-reel-webby"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__dogstar-cybernetics-webby"
    },
    {
      "evidence_paths": "README.md | app/globals.css | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "high",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__FlaskFlow-www"
    },
    {
      "evidence_paths": "README.md | package.json | src/index.ts | src/materialize-slot-definition.ts | src/zod-container-export-json-schema.ts",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__npm-element-types"
    },
    {
      "evidence_paths": "DEPENDENCY-RESOLUTION.md | README.md | src/logo.tsx",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__npm-element-dev-server"
    },
    {
      "evidence_paths": "README.md | css/ui.css | src/components/JsonGraph.tsx | src/utils/getDisplayLabel.ts | tailwind-proc-theme.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__json-graph"
    },
    {
      "evidence_paths": "README.md | pnpm-lock.yaml | test/frontend.spec.js | vercel.json",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__www_js_terminal"
    },
    {
      "evidence_paths": "README_STRIPE.md | app/.well-known/mcp/route.ts | components/ui/Input/Input.tsx | components/ui/Toasts/use-toast.ts | pnpm-lock.yaml | styles/main.css | utils/helpers.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__stripe-subscription-starter"
    },
    {
      "evidence_paths": "Dockerfile | README.md",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__renegade-bbs-docker"
    },
    {
      "evidence_paths": "Dockerfile | EDITING.md | app/globals.css | components/api-docs.tsx | components/event-feed.tsx | lib/utils.ts | pnpm-lock.yaml | tests/api-events-post.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__radio-backend"
    },
    {
      "evidence_paths": "LICENSE.md | app/(dashboard)/search.tsx | app/api/mcp/route.ts | app/login/page.tsx | components/ui/tabs.tsx | middleware.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__platphorm-admin-dashboard"
    },
    {
      "evidence_paths": "README.md | actions_runner/bin/hashFiles/index.js | client/src/index.css | client/src/utils.test.ts | config.cmd",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__ph3ar_radio_backend"
    },
    {
      "evidence_paths": "Drafts/JA4+-Advanced-Draft.mdx | README_FOXIO.md | components/FingerprintDetection.js | config/theme-config.tsx | styles/FingerprintSearchAndScore.module.css | styles/ThreatSimulator.module.css | types/pcap-ng-parser.d.ts | vercel.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "evidence_paths": "README_PH3AR.md | archive/page.tsx | components/FilePreview.tsx | next.config.mjs | utils/supabaseClient.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__mailthing-webby"
    },
    {
      "evidence_paths": "README.md | prod-checklist.md | public/css/themes/default/_default.scss | test/models.js",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__js_mongo_app_boilerplate"
    },
    {
      "evidence_paths": "README.md | checkin.js",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__hope-auto-checkin"
    },
    {
      "evidence_paths": "Dockerfile | README.md | book/chapter-6/6.28-make-sed.sh | book/chapter-6/6.52-make-ninja.sh | tools/include/asm-generic/..install.cmd | tools/lib/libstdc++.so.6.0.25-gdb.py | tools/lib64/perl5/5.28.0/Unicode/Collate/keys.txt | tools/lib64/tclooConfig.sh",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__zornixOS"
    },
    {
      "evidence_paths": "html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.js | html/components/mocha/mocha.css | keybuilder.py | pipeline/cookbooks/aws_account_setup/vpc_mgmt/create-options.sh | pipeline/cookbooks/build-essential/CHANGELOG.md | pipeline/cookbooks/jenkins/TODO.md | requirements.txt | xsociety_installer.sh",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__xsociety"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/__tests__/canine-monitor.test.tsx | components/anomaly-feed.tsx | components/validation-panel.tsx | jest.config.js | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__www-demo-biofeedback-app-development"
    },
    {
      "evidence_paths": "README.md | docs/CLEANUP_ANALYSIS.md | scripts/pre-start-validation.sh | setup.sh",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__wildduck"
    },
    {
      "evidence_paths": "README.md | app/api/events/route.ts | app/docs/page.tsx | app/globals.css | app/humans.txt/route.ts | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__vanlife-website"
    },
    {
      "evidence_paths": "README.md | app/globals.css | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | package.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__vanagon-website"
    },
    {
      "evidence_paths": "admin/public/.well-known/pki-validation/F19F9D3075ABAB1B1BC902FDD1B2FC7F.txt | admin/public/assets/admin/plugins/ckeditor/contents.css | admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/markdown/markdown.js | admin/public/assets/frontend/assets/plugins/jquery.min.js | admin/public/assets/frontend/sass/core/_base.scss | admin/public/assets/frontend/sass/demos/corporate_1/plugins.scss | admin/readme.md | asset-manifest.json | robots.txt",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__vanagain-site"
    },
    {
      "evidence_paths": ".mcp.json | app/[locale]/(auth)/login/page.tsx | app/[locale]/(store)/search/page.tsx | app/[locale]/(store)/shipping/page.tsx | app/api/docs/route.ts | app/api/v1/content/testimonials/route.ts | app/globals.css | app/rss.xml/route.ts | playwright.post-deploy.config.ts | pnpm-lock.yaml | pr_description.txt | tests/unit/db/index.test.ts | tests/unit/rss-feed.test.ts | tests/unit/security-headers.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__vanagain-dot-com-prod"
    },
    {
      "evidence_paths": "README.md | app/about/page.tsx | app/api/auth/logout-vanagain/route.ts | app/contact/page.tsx | components/newsletter-signup.tsx | components/product-search.tsx | components/ui/form.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__vanagain-2025"
    },
    {
      "evidence_paths": "README.md | app/globals.css | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__v0-2025-year-in-review"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/api/rss/route.ts | app/globals.css | app/page.tsx | messages/en.json | pnpm-lock.yaml | public/blog-post-ph3ar.md",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__two-doller-web"
    },
    {
      "evidence_paths": "README.md | wayback_save_now.sh",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__tools"
    },
    {
      "evidence_paths": "CODE_OF_CONDUCT.md | Drafts/JA4+-Advanced-Draft.mdx | app/api/content/route.ts | app/api/docs/route.ts | app/api/fingerprints/route.ts | app/api/mcp/register/route.ts | app/globals.css | lib/i18n.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__threatrelay-webby"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.test.ts | app/api/mcp/route.test.ts | app/api/rss/route.ts | app/globals.css | components/sticky-buy-button.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__stripper-mug-webby"
    },
    {
      "evidence_paths": "IMAGE_OPTIMIZATION.md | app/api/docs/route.ts | app/api/mcp/route.ts | components/FloatingDonateButton.tsx | next.config.ts | package.json | pnpm-lock.yaml | public/schemas/platphorm/observability.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__starphone-web-svelte"
    },
    {
      "evidence_paths": "README.md | app/components/Upload/DragDropUpload.tsx | app/components/Upload/PdfPreview.tsx | app/utils/pdfUtils.ts | app/utils/validation.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__stannp-nextjs-bp"
    },
    {
      "evidence_paths": "app/api/credits/transactions/route.ts | app/globals.css | app/mock-auth/login/page.tsx | components/ui/label.tsx | docs/AUTH0_CALLBACK_HANGING_FIX.md | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__stannp-gpt-5-test"
    },
    {
      "evidence_paths": "README.md | app/blog/page.tsx | components/cta-section.tsx | components/service-grid.tsx | components/team-section.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__spectrum-canine-www"
    },
    {
      "evidence_paths": "README.md | app/api/jobs/generate/route.test.ts | app/api/register/route.test.ts | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/tabs.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__robbie-ds-greens-webby"
    },
    {
      "evidence_paths": "README.md | ROADMAP.md | app/.well-known/mcp/server-card.json/route.ts | app/api/catalog/route.ts | app/api/docs/route.ts | app/api/search/route.ts | app/globals.css | app/rss.xml/route.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__reflux-site-webby"
    },
    {
      "evidence_paths": "pnpm-lock.yaml | process-co-api.ts | ui/form.tsx | use-mobile.tsx | utils.ts | workflow-node-editor.tsx",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__process-clone"
    },
    {
      "evidence_paths": ".vscode/mcp.json | CHANGELOG.md | CODE_OF_CONDUCT.md | package.json | pnpm-lock.yaml | pr-description.md | scripts/migrate.sh | src/lib/root-feed-sources.ts | src/lib/schemas/components/docs.schema.json | src/lib/schemas/components/evals.schema.json | src/lib/schemas/components/podcast.schema.json | src/lib/schemas/components/trace.schema.json | src/routes/api/hackernews/+server.ts | src/routes/api/v1/search/+server.ts | src/routes/jobs/+page.svelte | src/routes/rss.xml/+server.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphormnews-www-prod"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/api/mcp/route.ts | app/api/v1/ascii/route.ts | app/feed.xml/route.ts | app/globals.css | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | lib/field-guide-content.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-zine-reader"
    },
    {
      "evidence_paths": "ROADMAP.md | app/api/docs/route.ts | app/api/v1/validate/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | lib/local-drafts.ts | lib/trace.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-xml"
    },
    {
      "evidence_paths": "README.md | app/api/.well-known/mcp.json/route.ts | app/feed.xml/route.ts | app/globals.css | lib/feature-flags.ts | pnpm-lock.yaml | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-wrestling-webby"
    },
    {
      "evidence_paths": ".Jules/palette.md | DEPLOYMENT_READY.md | app/(public)/changelog/page.tsx | app/(public)/docs/page.tsx | app/.well-known/mcp.json/route.ts | app/api/v1/network/graph/route.ts | app/feed.xml/route.test.ts | app/rss.xml/route.ts | lib/cosmic/fingerprint.test.ts | package.json | pnpm-lock.yaml | public/schemas/evals.schema.json | public/schemas/podcast.schema.json | public/schemas/trace.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-webhook-simulator"
    },
    {
      "evidence_paths": "INTEGRATION_STATUS.md | app/.well-known/mcp.json/route.ts | app/docs/loading.tsx | app/feed.xml/route.ts | app/fingerprints/page.tsx | app/integrate/loading.tsx | app/page.tsx | app/rss.xml/route.ts | components/ui/use-toast.ts | fix-logger-tests.js | lib/trace.ts | microfrontends.json | types/pcap-parser.d.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-vercel-atlas"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/docs/route.ts | app/api/v1/search/route.ts | app/api/v1/symbols/route.test.ts | app/feed.xml/route.ts | app/jobs/page.tsx | app/privacy/page.tsx | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | pnpm-lock.yaml | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-usl"
    },
    {
      "evidence_paths": "CODE_OF_CONDUCT.md | LICENSE-PERMISSIVE.txt | app/.well-known/mcp.json/route.ts | app/api/v1/workflows/route.ts | app/feed.xml/route.ts | app/jobs/page.tsx | app/rss.xml/route.ts | app/tests/app/docs/page.test.tsx | app/traces/page.tsx | components/ui/spinner.tsx | deep-research-report-v2.md | methodology-section.tsx | pnpm-lock.yaml | public/schemas/overlays/evals.schema.json | public/schemas/overlays/insights.schema.json | public/schemas/overlays/podcast.schema.json | public/schemas/overlays/sandbox.schema.json | styles/globals.css | tests/components/about/about-content.test.tsx | tests/lib/security/fingerprint.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-trace"
    },
    {
      "evidence_paths": "ROADMAP.md | app/api/generate/route.ts | app/api/validate/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/layout.tsx | app/rss.xml/route.ts | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pre-commit-check.sh | public/schemas/evals.schema.json | public/schemas/podcast.schema.json | public/schemas/trace.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-svg-factory"
    },
    {
      "evidence_paths": "README.md | app/api/auth/login/route.test.ts | app/api/claws/route.ts | app/api/docs/route.ts | app/api/mcp/route.ts | app/rss.xml/route.ts | app/send/page.tsx | jest.setup.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "evidence_paths": "ARCHITECTURE.md | app/api/v1/imports/[id]/route.ts | app/api/v1/network/spec-coverage/route.ts | app/api/v1/traces/route.ts | app/changelog/page.tsx | app/docs/layout.tsx | app/feed.xml/route.ts | app/globals.css | app/manifest.ts | app/rss.xml/route.ts | components/ui/use-mobile.tsx | lib/platphorm/fingerprint.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-spec-workbench"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/search/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | lib/platform/trace.ts | pnpm-lock.yaml | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-space-news"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/api/events/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-signs"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/fingerprint/route.ts | app/api/v1/rates/calculate/route.ts | app/api/v1/rates/route.ts | app/api/v1/shipments/route.ts | app/feed.xml/route.ts | app/globals.css | app/jobs/page.tsx | app/rss.xml/route.ts | components/shipping/trace-viewer.tsx | components/ui/label.tsx | lib/polymarket-api.ts | plan.md | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-shipments"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/ingest/[id]/route.ts | app/api/v1/sheets/[id]/trace/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | app/search/page.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | pnpm-lock.yaml | schemas/evals.schema.json | schemas/podcast.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-sheets"
    },
    {
      "evidence_paths": "FINAL_STATUS.md | app/(dashboard)/templates/[id]/page.tsx | app/api/docs/route.ts | app/api/v1/sandboxes/route.ts | app/auth/login/page.tsx | app/feed.xml/route.ts | app/globals.css | app/layout.tsx | app/rss.xml/route.ts | components/ui/spinner.tsx | components/ui/use-toast.ts | lib/cosmic/trace-client.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-sandbox"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp/route.ts | app/api/docs/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | schemas/evals.schema.json | schemas/podcast.schema.json | schemas/trace.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-register"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/api/mcp/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/scroll-progress.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-redteam-arma-landing"
    },
    {
      "evidence_paths": ".jules/palette.md | CODE_OF_CONDUCT.md | app/api/docs/route.ts | app/api/mcp/route.ts | app/auth/login/page.tsx | app/evaluate/page.tsx | app/globals.css | app/jobs/page.tsx | components/stats-overview.tsx | lib/zillow-etl/types.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation"
    },
    {
      "evidence_paths": "README.md | app/admin/analytics/page.tsx | app/api-docs/page.tsx | app/api/log-error/route.ts | app/api/saved-searches/route.ts | app/api/zillow/market/[regionId]/route.ts | app/globals.css | components/admin/user-activity-feed.tsx | components/properties/ai-image-generator.tsx | components/reports/market-insights.tsx | lib/fingerprint.ts | mcp_server.js | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-real-estate-NAD"
    },
    {
      "evidence_paths": ".Jules/palette.md | README.md | app/(dashboard)/buyers/page.tsx | app/auth/login/page.tsx | app/globals.css | pnpm-lock.yaml | public/.well-known/mcp/manifest.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-real-estate"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/v1/network/route.ts | app/docs/api-docs-client.tsx | app/feed.xml/route.ts | app/rss.xml/route.ts | components/reader-content.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | deep-research-report-v2.md | pnpm-lock.yaml | styles/globals.css | tests/lib/flags.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-reader"
    },
    {
      "evidence_paths": "README.md | app/api/mcp/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | lib/types.ts | pnpm-lock.yaml | public/schemas/realm.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-radio-backend"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/docs/route.ts | app/api/errors/route.ts | app/api/v1/model/status/route.ts | app/disclaimer/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/content/quake-page-shell.tsx | components/game/weapons/projectile-manager.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-quake"
    },
    {
      "evidence_paths": ".jules/palette.md | README.md | app/globals.css | components/skunkworks-content.tsx | lib/projects-data.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-portfolio-webby"
    },
    {
      "evidence_paths": "CHANGELOG.md | CODE_OF_CONDUCT.md | app/.well-known/mcp.json/route.ts | app/api/v1/docs/route.ts | app/api/v1/learning-paths/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/glass-card.tsx | components/skip-to-content.tsx | components/ui/use-toast.ts | lib/platphorm/trace.ts | vercel.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-polymaths"
    },
    {
      "evidence_paths": "CHANGELOG.md | CODE_OF_CONDUCT.md | LICENSE-PERMISSIVE.txt | anoms-do-not-delete.md | app/api/docs/route.ts | app/feed.xml/route.ts | app/globals.css | app/quality/page.tsx | app/rss.xml/route.ts | lib/trace.ts | pnpm-lock.yaml | tests/unit/utils.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "evidence_paths": ".well-known/mcp.json | app/api/docs/route.ts | app/auth/login/page.tsx | app/globals.css | llms.txt | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-politics"
    },
    {
      "evidence_paths": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route.js | .next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route_client-reference-manifest.js | .next.preverify-20260419-2027/server/app/api/docs/page.js | .next.preverify-20260419-2027/server/app/api/v1/jobs/route_client-reference-manifest.js | .next.preverify-20260419-2027/server/app/api/v1/podcasts/route.js | .next.preverify-20260419-2027/server/app/api/v1/trace/route_client-reference-manifest.js | .next.preverify-20260419-2027/server/app/feed.xml/route_client-reference-manifest.js | .next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0jknnpm.js | .next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_events_route_actions_01fbpmy.js | .next.preverify-20260419-2027/static/chunks/09mgchhv7rymj.css | .next.preverify-20260419-2027/static/chunks/0jfn08mdmnp0k.js | FAQ.md | __tests__/fingerprint.test.ts | app/search/page.tsx | fix-rss-test.js | pnpm-lock.yaml | public/schemas/evals.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-podcasts"
    },
    {
      "evidence_paths": "CHANGELOG.md | CODE_OF_CONDUCT.md | LICENSE-PERMISSIVE.txt | __tests__/unit/lib/fingerprint.test.ts | anoms-do-not-delete.md | app/api/v1/workflow/route.ts | app/docs/api/api-code-block.tsx | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | app/search/page.tsx | components/markdown-renderer.tsx | lib/trace.ts | pnpm-lock.yaml | public/schemas/podcast.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-opendocs"
    },
    {
      "evidence_paths": "API.md | CHANGELOG.md | CODE_OF_CONDUCT.md | LICENSE-PERMISSIVE.txt | __tests__/unit/lib/fingerprint.test.ts | app/api/v1/trace/route.ts | app/api/v1/workflow/route.ts | app/content/page.tsx | app/docs/api/api-code-block.tsx | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | app/search/page.tsx | components/markdown-renderer.tsx | pnpm-lock.yaml | public/schemas/podcast.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-opencontent"
    },
    {
      "evidence_paths": "CODE_OF_CONDUCT.md | app/api/search/route.ts | app/api/v1/docs/route.ts | app/api/v1/feeds/route.ts | app/api/v1/integrations/insights/route.ts | app/api/v1/integrations/trace/route.ts | app/api/v1/tests/evals/route.ts | app/api/v1/workflows/route.ts | app/globals.css | app/layout.tsx | app/rss.xml/route.ts | components/ui/use-mobile.tsx | pnpm-lock.yaml | public/schemas/podcast.schema.json | sandbox.md | tests/lib/utils.test.ts | tests/schemas/schemas.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-openclaw"
    },
    {
      "evidence_paths": "README.md | __tests__/lib/markdown.test.ts | app/[locale]/docs/api/page.tsx | app/[locale]/jobs/page.tsx | app/api/search/route.ts | app/api/v1/model/onboard/route.ts | app/api/v1/url-preview/route.ts | app/api/workflow/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | components/ui/label.tsx | components/ui/spinner.tsx | lib/fingerprint.ts | lib/onboard/trace.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-onboard"
    },
    {
      "evidence_paths": ".jules/sentinel.md | README.md | app/blogs/news/page.tsx | app/globals.css | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-newdittyswag-www"
    },
    {
      "evidence_paths": "ROADMAP.md | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/layout.tsx | app/rss.xml/route.ts | app/search/page.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | lib/platform/trace.ts | pnpm-lock.yaml | vitest.setup.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-msi-editor"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/v1/cache/status/route.ts | app/api/v1/network/sites/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | lib/monitor/trace.ts | next.config.mjs | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-monitor"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/api/v1/events/route.ts | app/api/v1/games/[slug]/scores/local-schema/route.ts | app/error.tsx | app/faq/page.tsx | app/feed.xml/route.ts | app/not-found.tsx | app/rss.xml/route.ts | lib/trace.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-mini-games-webby"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/v1/model/explain-tool-risk/route.ts | app/api/v1/model/generate-client-config/route.ts | app/api/v1/search/route.test.ts | app/api/v1/tests/evals/route.ts | app/api/v1/tests/sandbox/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | check_ssrf.ts | components/ui/use-toast.ts | inline_cron.js | lib/mcp/tools/content.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-mcp"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/.well-known/trust.json/route.ts | app/[locale]/docs/page.tsx | app/api/v1/layouts/preview/route.ts | app/feed.xml/route.ts | app/offline/client-content.tsx | app/rss.xml/route.ts | components/layout/search-bar.tsx | components/providers/trace-provider.tsx | components/ui/alert-dialog.tsx | components/ui/use-toast.ts | hooks/use-layout-drafts.ts | lib/trace/fingerprint.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-layout"
    },
    {
      "evidence_paths": "FILE_MANIFEST.md | app/docs/page.tsx | app/globals.css | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-keys"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | PROJECT_PLAN.md | app/api/v1/reports/docs/route.ts | app/api/v1/tests/evals/route.ts | app/api/v1/tests/sandbox/route.ts | app/faq/page.tsx | app/feed.xml/route.ts | app/rss.xml/route.ts | components/automation-rules.tsx | components/ui/spinner.tsx | components/ui/tabs.tsx | pnpm-lock.yaml | pr_message.txt | types/kanban.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-kanban"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/.well-known/mcp.json/route.ts | app/api/v1/docs/route.ts | app/api/v1/integrations/evals/run/route.ts | app/api/v1/integrations/sandbox/dry-run/route.ts | app/api/v1/kanban/board/route.ts | app/api/v1/onboard/import/[id]/create-kanban-tasks/route.ts | app/feed.xml/route.ts | app/globals.css | app/jobs/page.test.tsx | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | lib/platform-trace.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-jules"
    },
    {
      "evidence_paths": "ROADMAP.md | app/.well-known/mcp.json/route.ts | app/api/v1/minify/route.ts | app/docs/api-docs-client.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | app/v0/realms/route.ts | components/ui/use-mobile.tsx | components/ui/use-toast.ts | lib/local-drafts.ts | pnpm-lock.yaml | public/schemas/json/evals.schema.json | public/schemas/json/podcast.schema.json | public/schemas/json/trace.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-json"
    },
    {
      "evidence_paths": "app/api/v1/events/route.ts | app/api/v1/integrations/kanban/sync/route.ts | app/api/v1/jd/parse/route.ts | app/api/v1/network/kanban/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/spinner.tsx | lib/jobs-server-store.ts | pnpm-lock.yaml | testing_instructions.txt",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-jobs"
    },
    {
      "evidence_paths": "CHANGELOG.md | PAGEINSIGHTS_IMPLEMENTATION.md | VERIFICATION_CHECKLIST.md | app/[locale]/docs/page.tsx | app/[locale]/jobs/page.tsx | app/api/v1/reports/[id]/route.ts | app/api/v1/results/[id]/trace/route.ts | app/api/v1/scoring/searchability/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | messages/zh.json | pnpm-lock.yaml | scripts/evaluation/run_eval_audience.ts | tests/lib/fingerprint.test.ts | tests/ui/score-gauge.test.ts | types/insights.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-insights"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/v1/fingerprint/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | lib/platform/trace.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-fingerprint-service"
    },
    {
      "evidence_paths": "app/api/docs/route.ts | app/api/mcp/route.ts | components/kokonutui/content.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/tabs.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | public/schemas/evals.schema.json | public/schemas/podcast.schema.json | public/schemas/trace.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-finance"
    },
    {
      "evidence_paths": "app/.well-known/mcp.json/route.ts | app/approvals/page.tsx | app/docs/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | lib/cosmic/fingerprint.ts | lib/integrations/sandbox-client.ts | test-db-schema.ts | types/evals.ts | types/gates.ts | types/trace.ts | vercel_output.txt",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-evals"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/.well-known/mcp.json/route.ts | app/api/v1/datasets/emoji/inventory/search/route.ts | app/api/v1/proposals/[id]/trace/route.ts | app/api/v1/unicode/snapshot/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/openapi/usl-emoji-validation.yaml/route.ts | app/rss.xml/route.ts | components/submit/local-proposal-draft.ts | components/ui/tabs.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | vercel.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-emoji"
    },
    {
      "evidence_paths": "README.md | app/[locale]/docs/page.tsx | app/[locale]/search/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/label.tsx | components/ui/spinner.tsx | pnpm-lock.yaml | public/schemas/evals.schema.json | public/schemas/podcast.schema.json | public/schemas/trace-realm.schema.json | tests/schemas.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-dictionary"
    },
    {
      "evidence_paths": "IMPLEMENTATION_COMPLETE.md | app/.well-known/mcp.json/route.ts | app/api/v1/designs/[id]/review/evals/route.ts | app/docs/layout.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | tests/components/canvas.test.tsx | tests/lib/utils.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-design"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/docs/layout.tsx | app/feed.xml/route.ts | app/globals.css | app/layout.tsx | app/rss.xml/route.ts | app/rules/layout.tsx | components/ui/spinner.tsx | lib/db.ts | lib/platform/trace.ts | lib/vt-submissions-store.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-desa"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | License FAQ.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/feed.xml/route.ts | app/globals.css | app/jobs/page.tsx | app/rss.xml/route.ts | components/ui/use-toast.ts | config/slideshow.schema.ts | cypress/e2e/cinematic-slideshow.cy.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-decks"
    },
    {
      "evidence_paths": ".jules/palette.md | ARCHITECTURE.md | app/api/docs/route.ts | app/api/register-network/route.ts | app/api/v1/content/analyze/route.ts | app/api/webhooks/subscribe/route.ts | app/jobs/page.tsx | app/workflows/page.tsx | components/fingerprinting-technology.tsx | components/smart-insights-panel.tsx | pnpm-lock.yaml | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-content-showback-dashboard"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/docs/route.ts | app/api/v1/dns/jobs/route.ts | app/api/v1/network/route-compliance/route.ts | app/api/v1/trace/spans/route.ts | app/faq/page.tsx | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/use-toast.ts | config/slideshow.schema.ts | pnpm-lock.yaml | vercel.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-codex"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/docs/route.ts | app/api/mcp/lib/handlers.ts | app/api/v1/jobs/route.ts | app/api/v1/kanban/route.ts | app/api/v1/pricing/route.ts | app/feed.xml/route.ts | app/globals.css | app/layout.tsx | app/rss.xml/route.ts | components/ui/spinner.tsx | lib/trace.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-cobol"
    },
    {
      "evidence_paths": "README.md | lob-python/lob/resource.py | pnpm-lock.yaml | requirements.txt | src/app/api/mcp/route.ts | src/app/api/scripts/linkedin/route.ts | src/components/ui/Navbar.tsx",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Agent facing tool discovery, tool planning, and MCP usage guidance; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated"
    },
    {
      "evidence_paths": "app/.well-known/mcp.json/route.ts | app/api/v1/network/domains/route.ts | app/globals.css | app/rss.xml/route.ts | components/ui/journey-search.tsx | docs/SCHEMA.md | lib/cosmic/fingerprint.ts | lib/integrations/evals.ts | lib/integrations/sandbox.ts | patch_docs_again.js | patch_feed.js | pnpm-lock.yaml | types/trace.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted experimentation, test generation, and environment guidance; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-browserops"
    },
    {
      "evidence_paths": "CHANGELOG.md | IMPLEMENTATION_REPORT.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/ascii/convert/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | app/search/page.tsx | components/ui/use-toast.ts | lib/auth/fingerprint.test.ts | lib/bbs/content.test.ts | lib/bbs/trace.ts | vitest.setup.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-bbs"
    },
    {
      "evidence_paths": "README.md | __tests__/app/api/network.test.ts | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/network/graph/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/trace/trace-status.tsx | components/ui/alert-dialog.tsx | pnpm-lock.yaml | pr_body.txt | verify_job_input.py",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-base"
    },
    {
      "evidence_paths": "README.md | app/auth/logout/page.tsx | app/docs/page.tsx | app/feed.xml/route.ts | app/rss.xml/route.ts | app/search/page.tsx | components/listing/market-insights.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | hooks/use-fingerprint.ts | lib/integrations/shipments.ts | pnpm-lock.yaml | styles/globals.css | tests/features/realtime-bidding.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-auction-vice"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/schemas/route.ts | app/api/v1/trace/ui/route.ts | app/docs/page.tsx | app/feed.xml/route.ts | app/page.tsx | app/rss.xml/route.ts | components/ascii-converter.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | public/schemas/podcast.schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-ascii"
    },
    {
      "evidence_paths": "CONTRIBUTING.md | README.md | app/api/docs/route.ts | app/api/v1/ascii/route.ts | app/feed.xml/route.ts | app/globals.css | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-alleycats"
    },
    {
      "evidence_paths": "SETUP.md | app/api/process-job/route.ts | app/api/process-queue/route.ts | app/auth/login/page.tsx | app/globals.css | components/ui/label.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-ai-photo-enrichment"
    },
    {
      "evidence_paths": "IMPLEMENTATION_SUMMARY.md | app/(public)/changelog/page.tsx | app/(public)/docs/page.tsx | app/(workspace)/dashboard/components/recent-flows.tsx | app/(workspace)/dashboard/components/stats-grid.tsx | app/(workspace)/dashboard/observability/traces/page.tsx | app/.well-known/mcp.json/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/layout/search-trigger.tsx | lib/cosmic/fingerprint.ts | pnpm-lock.yaml | tests/setup.tsx",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-agentui"
    },
    {
      "evidence_paths": "README.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/network/graph/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | app/search/page.tsx | components/404/trace-integration.tsx | components/ui/alert-dialog.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | public/schemas/evals.schema.json | public/schemas/podcast.schema.json | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-404"
    },
    {
      "evidence_paths": "README.md | docs/community_guidance.md | docs/style_guide.md | models/user.js | public/js/jquery.min.js | server.js | setup.sh",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ph3ar-web"
    },
    {
      "evidence_paths": "README.md | app/(auth)/login/page.tsx | artifacts/image/client.tsx | components/markdown.tsx | components/weather.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ph3ar-chatbot"
    },
    {
      "evidence_paths": "UPGRADE-PLAN.md | content/posts/AI-Is-Quieter-Than-You-Think.md | content/posts/AI-Took-My-Job-And-Thats-Okay.md | pnpm-lock.yaml | src/app/_components/markdown-styles.module.css | src/app/api/v1/docs/page.tsx | src/app/feed.xml/route.ts | src/app/globals.css | src/lib/i18n.ts | src/middleware.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ph3ar-blog"
    },
    {
      "evidence_paths": "LICENSE.md | app/(dashboard)/search.tsx | app/login/page.tsx | components/ui/card.tsx | components/ui/tabs.tsx | pnpm-lock.yaml | public/.well-known/mcp.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ph3ar-admin-dashboard"
    },
    {
      "evidence_paths": "${workspaceFolder:opendocs-webby}/.cspell/custom-dictionary-workspace.txt | CHANGELOG.md | CODE_OF_CONDUCT.md | LICENSE-PERMISSIVE.txt | __tests__/unit/lib/fingerprint.test.ts | app/api/v1/workflow/route.ts | app/docs/api/api-code-block.tsx | app/docs/page.tsx | app/globals.css | app/rss.xml/route.ts | components/markdown-renderer.tsx | deep-research-report-v2.md | docs/ops/kanban-created-tasks.json | pnpm-lock.yaml | pr-description.md",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo"
    },
    {
      "evidence_paths": "JA4-ATLAS.md | app/api/fingerprint/collect/route.ts | app/globals.css | app/jobs/page.tsx | components/fingerprint-collector.tsx | components/network-registration.tsx | components/schema-markup.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS"
    },
    {
      "evidence_paths": "README.md | app/(auth)/login/page.tsx | app/globals.css | components/markdown.tsx | components/weather.tsx | lib/ai/models.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__nextjs-ai-chatbot"
    },
    {
      "evidence_paths": "README.md | app/(auth)/login/page.tsx | blocks/image/client.tsx | components/markdown.tsx | components/weather.tsx | docs/02-update-models.md | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__nextjs-ai-4"
    },
    {
      "evidence_paths": "README.md | pnpm-lock.yaml | src/ask.svelte | src/jobs.svelte | src/login.svelte",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__news-api"
    },
    {
      "evidence_paths": "FINAL_SUMMARY.txt | backups/backup_summary_20250918_220504.txt | docs/DEPLOYMENT_GUIDE.md | seed-workflows/property-comp-analyzer-ai.json",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__n8n"
    },
    {
      "evidence_paths": "README.md | core/msi_session_unix.go",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__msicrafter"
    },
    {
      "evidence_paths": "README.md | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/tabs.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__microwave-stickers-"
    },
    {
      "evidence_paths": "README.md | components/Footer.tsx | components/PerformanceShowcase.tsx | components/SocialFeed.tsx | next.config.mjs | report-bundle-size.js",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Feed summarization, ranking, categorization, and alerting",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__mermaid-next-www"
    },
    {
      "evidence_paths": "README.md | components/ui/Input/Input.module.css | components/ui/Input/Input.tsx | components/ui/Toasts/use-toast.ts | pnpm-lock.yaml | postman_schema.json",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__mailthing-main"
    },
    {
      "evidence_paths": "README.md | pnpm-lock.yaml | src/main.css | src/utils/logger.js",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__mailthing-client"
    },
    {
      "evidence_paths": "CHANGELOG.md | do.sh | docs/status.md | module-lwe/src/lib.rs | project_board.md | xtask/src/main.rs",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__lettuce"
    },
    {
      "evidence_paths": ".jules/palette.md | docker-compose.override.yml | package.json | scripts/migrate.sh | src/components/JobDetails.svelte | src/components/SearchBar.svelte | src/types/newsStore.d.ts | src/utils/dateUtils.ts | vite.config.js",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__legacy-platphorm-news"
    },
    {
      "evidence_paths": "README.md | components/professional-gallery-portfolio.tsx | lib/utils.ts | pnpm-lock.yaml | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__jts-hvac-gates-www"
    },
    {
      "evidence_paths": ".devcontainer/devcontainer.json | CONTRIBUTING.md | README.md | package-lock.json | task-service/src/app/components/TaskGenerator.js | task-service/src/app/lib/tasks-client.js",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__job-manager"
    },
    {
      "evidence_paths": "README.md | components/ui/label.tsx | lib/utils.ts | pnpm-lock.yaml | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__jaydens-therapy-legal-www"
    },
    {
      "evidence_paths": "RUNBOOK.md | delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4l.json | delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4l.json | delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/validation/false-positive-checks.json | tests/integration/test_full_trace_smoke.py | tools/pcap/gen_mcp_pcap_complete.py",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; AI trace triage, root cause hints, incident summaries, and remediation guidance",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ja4mlab"
    },
    {
      "evidence_paths": "README.md | app/globals.css | app/lib/supabase.ts | package.json | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ja4-vercel-lab-2"
    },
    {
      "evidence_paths": "README.md | config/wildduck/redis.toml | docs/ja4-cli.md | docs/storage.md | ja4-sniffer/lib/tcp_parser.js | setup.sh | tests/test_cert_utils.js | tests/test_fingerprint.js",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ja4-sidecar"
    },
    {
      "evidence_paths": "README.md | src/components/PostcardPreview.tsx | src/components/ui/card.tsx | src/components/ui/form.tsx | src/integrations/supabase/types.ts | tailwind.config.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__instant-snap-postcard"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/api/v1/kanban/route.ts | app/globals.css | app/rss.xml/route.ts | app/shipping/page.tsx | components/ui/alert-dialog.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__hot-chocolate-for-profit-webby"
    },
    {
      "evidence_paths": ".Jules/sentinel.md | CHANGELOG.md | app/api/docs/route.ts | app/api/mcp/route.ts | app/error.tsx | app/feed.xml/route.ts | app/jobs/senior-global-countdown-editor/page.tsx | app/rss.xml/route.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__gta-6-countdown-webby"
    },
    {
      "evidence_paths": "README.md | app/api/docs/route.ts | app/auth/login/page.tsx | app/dashboard/page.tsx | app/globals.css | app/jobs/page.tsx | app/rss/route.ts | app/sitemap.ts | components/ui/spinner.tsx | components/ui/use-mobile.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__game-porting-service-webby"
    },
    {
      "evidence_paths": "Drafts/JA4+-Advanced-Draft.mdx | README_FOXIO.md | components/FingerprintDetection.js | config/theme-config.tsx | server.js | styles/FingerprintSearchAndScore.module.css | styles/ThreatSimulator.module.css | types/pcap-ng-parser.d.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__foxio-labs"
    },
    {
      "evidence_paths": "PROJECT_PLAN.md | app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/model/share-copy/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | components/ui/tabs.tsx | components/ui/use-toast.ts | lib/platform/trace.ts | pnpm-lock.yaml | tests/fortune-generator-phase1.test.ts | tests/keyboard-shortcuts.test.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__fortune-cookie-webby-yj"
    },
    {
      "evidence_paths": "components/fog-canvas.tsx | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/tabs.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__fortune-cookie-webby"
    },
    {
      "evidence_paths": "BLOG_POST_PH3AR.md | __tests__/sitemap-content.test.ts | app/api/mcp-registration/route.ts | app/globals.css | app/jobs/page.tsx | app/recommendations/page.tsx | app/search/loading.tsx | platphorm_schemas/docs.schema.json | platphorm_schemas/evals.schema.json | platphorm_schemas/podcast.schema.json | platphorm_schemas/trace.schema.json | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison; AI generated insights, anomaly detection, summaries, and next actions",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__fashion-sadiepass-WWW"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/how-it-works.tsx | components/ui/alert-dialog.tsx | components/ui/form.tsx | components/ui/use-toast.ts | next.config.mjs",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__email-reading-service-webby"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/integration-logos.tsx | components/workflow-connector.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__doflo-clone"
    },
    {
      "evidence_paths": "README.md | ansible/lamp-setup.yml | docker-compose.yaml | installAnsibleUbuntu.sh | readme1.md",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Workflow recommendation, next best action, automation planning, and human approval flows",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__docker-terraform-aws-demo"
    },
    {
      "evidence_paths": "app/.well-known/mcp.json/route.ts | app/api/docs/route.ts | app/api/v1/game/state-schema/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | components/content/info-page.tsx | components/memories-polaroids.tsx | components/ui/use-toast.ts | lib/trace.ts | pnpm-lock.yaml | pr-description.md | pr_description.txt | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__desert-bus"
    },
    {
      "evidence_paths": "README.md | app/auth/login/page.tsx | app/globals.css | components/municipality-search.tsx | components/municipality/ai-insights.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__civic-engagement-platform-webby"
    },
    {
      "evidence_paths": "Dockerfile | Makefile | README.md | app/tests/conftest.py | requirements.txt",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__cdf-sanitize"
    },
    {
      "evidence_paths": "README.md | app/api/v1/search/route.ts | app/garage/search/search-content.tsx | app/globals.css | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml | tests/lib/utils.test.ts | tests/setup.ts",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__car-service-records"
    },
    {
      "evidence_paths": "API_SPEC.md | __tests__/hooks/use-fingerprint.test.ts | app/api/v1/docs/route.ts | app/api/v1/events/[id]/trace/route.ts | app/api/v1/integrations/jobs/route.ts | app/api/v1/integrations/kanban/route.ts | app/api/v1/integrations/kanban/tasks/route.ts | app/api/v1/integrations/producthunt/route.ts | app/feed.xml/route.ts | app/rss.xml/route.ts | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/tabs.tsx | lib/db.ts | middleware.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__calendar-app-webby"
    },
    {
      "evidence_paths": "LAUNCH_SUMMARY.md | app/admin/analytics/page.tsx | app/auth/login/page.tsx | enhanced-debug.js | styles/globals.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__burrito-dealer-www"
    },
    {
      "evidence_paths": "README.md | app/auth/login/page.tsx | app/globals.css | app/museum-admin/events/loading.tsx | docs/DEPLOYMENT.md | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__beer-museum-manager-www"
    },
    {
      "evidence_paths": "README.md | app/(marketing)/insights/page.tsx | app/(marketing)/layout.tsx | app/api/docs/route.ts | app/api/events/route.ts | app/feed.xml/route.ts | app/globals.css | app/rss.xml/route.ts | components/advisory/advisory-page-content.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__barbineworldwide-2026-metahack"
    },
    {
      "evidence_paths": "README.md | components/blog-modal.tsx | components/mobile-optimized-section.tsx | components/sound-button.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__barbine-worldwide-2025-wwww"
    },
    {
      "evidence_paths": "README.md | populate-vars.sh | terraform/us-east-2/modules/logging/fluent-bit-configmap.yaml | tree.txt",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__aws-next-k8-cluster-deploy"
    },
    {
      "evidence_paths": "LICENSE-PERMISSIVE.txt | app/api/docs/page.tsx | app/api/v1/mcp/route.ts | app/feed.xml/route.ts | app/globals.css | app/jobs/page.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | pnpm-lock.yaml | tests/faq.test.tsx",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__automotive-flamethrower-webby"
    },
    {
      "evidence_paths": "API_DOCUMENTATION.md | app/actions/settings.ts | app/api/docs/route.ts | app/api/mcp/route.ts | app/globals.css | app/jobs/page.tsx | app/login/page.tsx | app/rss.xml/route.ts | components/ui/use-toast.ts | pnpm-lock.yaml | vitest.setup.tsx",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__autographed-bibles-webby"
    },
    {
      "evidence_paths": ".jules/bolt.md | BLOG_POST.md | app/api/docs/page.tsx | app/api/v1/stats/route.ts | app/globals.css | app/rss.xml/route.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__airrow-commuter-balloon"
    },
    {
      "evidence_paths": "app/api/jobs/route.ts | app/docs/page.tsx | app/roadmap/page.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/tabs.tsx | components/ui/use-mobile.tsx | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__ai-chat-interface-webby"
    },
    {
      "evidence_paths": "JSONRequest_Parser.sh | README - Copy.md | SORT/OpsClick_UI/public/app/core/flux/constants/job-constance.js | doflow-eval3.sh | generate_key.sh | h4x/dagah-ios/Assets.xcassets/AppIcon.appiconset/Contents.json | h4x/dagah-ios/docs/customCerts.md | h4x/dagah-server/agtBuild.py | h4x/dagah-server/html/js/codemirror/package.json | h4x/dagah-server/html/js/codemirror/test/search_test.js | h4x/dagah-server/html/js/intro/example/assets/css/demo.css | h4x/dagah-server/keybuilder.py | o365/o365-Scripts/Create-NewsItemsFromRSSFeed.PS1 | o365/o365-Scripts/ReportDelveInsightsDisabled.PS1 | postEC2ip2slack.sh",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI assisted writing, cleanup, conversion, summarization, and validation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI eval generation, scoring, regression analysis, and model comparison",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__Scripts"
    },
    {
      "evidence_paths": "README.md | src/lib/Header.svelte | src/routes/api-docs/+page.svelte | src/routes/api/jobs/generate/+server.ts | src/routes/api/verify-secret/+server.ts | src/routes/feed.xml/+server.ts | src/routes/rss.xml/+server.ts | svelte.config.js | tests/test.js | vite.config.js",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI documentation Q&A, summarization, indexing, and change explanation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__PH3AR-WEBBY"
    },
    {
      "evidence_paths": "README.md | app/globals.css | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__LogSlash-w6"
    },
    {
      "evidence_paths": "README.md | app/api/mcp/route.ts | app/globals.css | app/page.tsx | components/ui/alert-dialog.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__Joshs-magnets-landing-page"
    },
    {
      "evidence_paths": "Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/E-Colon-Slash XML/builds/GrabXML.ps1 | Powershell Scripts, Files, and Tasks/Scheduled Tasks/README.txt | README.txt | SQL/Jenkins/SQL Agent Jobs/README.txt",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Job matching, prioritization, summarization, and workflow assistance; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Workflow recommendation, next best action, automation planning, and human approval flows",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__JenkinsDB"
    },
    {
      "evidence_paths": "README.md | crowstrike-auditor-v3.ps1",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__DCF-Audit-Scripts"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-mobile.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "enhance-existing",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__2025-year-in-review-webby"
    },
    {
      "evidence_paths": "profile/README.md",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-partners__.github"
    },
    {
      "evidence_paths": "README.md | css/ui.css",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__ui"
    },
    {
      "evidence_paths": "README.md | package.json",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__npm-utilities"
    },
    {
      "evidence_paths": "README.md | package.json",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__npm-element-dev-support"
    },
    {
      "evidence_paths": "profile/README.md",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-co__.github"
    },
    {
      "evidence_paths": "profile/README.md",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "process-charts__.github"
    },
    {
      "evidence_paths": "README.md",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Workflow recommendation, next best action, automation planning, and human approval flows",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__demo-repository"
    },
    {
      "evidence_paths": "README.md | package.json | src/App.tsx",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__barbine-worldwide-legacy"
    },
    {
      "evidence_paths": ".jules/bolt.md",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__v0-fortune-cookie-windshield-75"
    },
    {
      "evidence_paths": "README.md | package-lock.json",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__uberpidgeons-www"
    },
    {
      "evidence_paths": "README.md | package.json | pnpm-lock.yaml",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__uberpidgeons"
    },
    {
      "evidence_paths": "README.md | meta.json | packages/ui/src/button.tsx",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__turborepo-react-native"
    },
    {
      "evidence_paths": "README.md | assets/theme.js | config/settings_schema.json | match_images_to_csv.py",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__shopify-theme-vanagain"
    },
    {
      "evidence_paths": "README.md | app/globals.css | app/page.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__platphorm-paperboy"
    },
    {
      "evidence_paths": "README.md | components/particles-background.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/tabs.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__nova-hackers-webby"
    },
    {
      "evidence_paths": "README.md | report-bundle-size.js",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "evidence_paths": "README.md | app/api/user/route.ts | pnpm-lock.yaml",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__mailthing-api"
    },
    {
      "evidence_paths": ".Jules/palette.md | README.md | app/globals.css | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__glass-blowing-website"
    },
    {
      "evidence_paths": "README.md | app/globals.css | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__dinoblocks-www"
    },
    {
      "evidence_paths": "README.md | app/globals.css | components/newsletter.tsx | components/ui/alert-dialog.tsx | components/ui/spinner.tsx | components/ui/use-toast.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__crafted-virginia-website"
    },
    {
      "evidence_paths": ".Jules/sentinel.md | README.md | app/globals.css | lib/utils.ts | pnpm-lock.yaml",
      "opportunity": "AI assisted editing, outline generation, summarization, and transformation; AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI generated insights, anomaly detection, summaries, and next actions; AI log triage, clustering, summaries, and incident narratives; AI process assistant for checklists, SOPs, runbooks, and operational handoffs",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0"
    },
    {
      "evidence_paths": "README.md | processes/default/resources/customElementDefinition/___ae2c0b5c-707b-49dd-aefd-f3fd1a06dc6c.json",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__beepboopprocess"
    },
    {
      "evidence_paths": "README.md | terraform/lambda/package-lock.json | traefik-compose.yml",
      "opportunity": "AI automation planner, script explanation, runbook synthesis, and approval flow generation; AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Agent facing tool discovery, tool planning, and MCP usage guidance; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__aws-lab"
    },
    {
      "evidence_paths": "README.md | package.json",
      "opportunity": "AI process assistant for checklists, SOPs, runbooks, and operational handoffs; Security signal explanation, trust scoring, bot analysis, and anomaly detection",
      "priority": "medium",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__Starphone-CMS"
    },
    {
      "evidence_paths": "app/components/Booking.tsx | app/components/Contact.tsx | app/components/Hero.tsx | app/components/SocialFeed.tsx",
      "opportunity": "AI generated insights, anomaly detection, summaries, and next actions; Feed summarization, ranking, categorization, and alerting; Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "low",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "ph3ar__mermaid-www"
    },
    {
      "evidence_paths": "package.json | src/controllers/userController.ts",
      "opportunity": "Security signal explanation, trust scoring, bot analysis, and anomaly detection; Shipment exception analysis, rate explanation, and workflow recommendations",
      "priority": "low",
      "recommended_backend_component": "Provider-neutral server-only model adapter with redaction, rate limiting, trace spans, eval hooks, and no client-exposed secrets.",
      "recommended_eval_or_prompt": "Add prompt templates, golden input/output fixtures, regression evals, and safety/quality acceptance checks.",
      "recommended_frontend_component": "Optional assistant panel, explain-this-control affordance, generated summaries, and helpful loading/degraded states.",
      "recommended_logic_component": "Reusable prompt input normalizer, output validator, confidence scorer, and domain-specific result formatter.",
      "recommended_process_component": "Document when AI should assist, when human approval is required, what is logged, and how degraded states behave.",
      "repo": "mbarbine__mailthing"
    }
  ],
  "components": [
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2b780875bc3fdd5043cfdff7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88756a3156c89418",
      "framework": "next-react",
      "imports": "",
      "lines": 3325,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f61b4ab0bdd7718710df3223",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "72bfe4b262120299",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7df85ac80e5fa943e5c85d4e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "71c6884c9c9b6cc3",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation,ai",
      "component_id": "526e78bde558015e50e0f7fc",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fbcf4991d6aa2f53",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "3b9824449c5ace8a1e70112f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:VibeCheck2025 | imports:@/components/achievement-card, @/components/share-card, @/components/stat-counter, @/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "VibeCheck2025",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1af301f135caaad",
      "framework": "next-react",
      "imports": "@/components/achievement-card,@/components/share-card,@/components/stat-counter,@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "72db0dceb11843c9aac2b0d3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e15dc15fe5756625",
      "framework": "next-react",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "3abc284408d482258a5eb61f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "d451ac90b38b4e967b8ff20f",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "02f9a4904fdf85ee6de4c62f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@react-spring/web,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatCounter | imports:@react-spring/web, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "StatCounter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "61e0b6cfef9f4e49",
      "framework": "next-react",
      "imports": "@react-spring/web,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stat-counter",
      "normalized_name": "stat-counter",
      "package_manager": "pnpm",
      "path": "components/stat-counter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "88ff43431553e9bde0ac5ad1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AchievementCard | imports:@/components/ui/card, framer-motion, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "AchievementCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d40e9f2a29a35f4",
      "framework": "next-react",
      "imports": "@/components/ui/card,framer-motion,lucide-react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "achievement-card",
      "normalized_name": "achievement-card",
      "package_manager": "pnpm",
      "path": "components/achievement-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "dd9b722652107c2e9c771a6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareCard | imports:@/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "ShareCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "331b73566da8129c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "share-card",
      "normalized_name": "share-card",
      "package_manager": "pnpm",
      "path": "components/share-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "abc2ba6e356663be22796521",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8a9224b6e99efecb5b246f2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7561fcead6e44d0aa16233c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ed0e471a20b7897ee0dd9315",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "348dcf32fac70f26146673db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f72a64490055a0237836d6a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d29a041604529de2bdd3f5cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "3e386b9f70c6af90c818046e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5d22109fad047e6f0150babd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "00ef5416a0cebeb16debe212",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "a6fe32fcee752b92c3691386",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "1a0b425169259bb8d198d3e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a15258f89f7323e1d1aae62d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "13176c60f94c28fda958ccfe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3ef3a762017354b97d3370f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8d829c6ad13d2db6c22dd689",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f74c44382370e933693f7553",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4062bbff238a2deaad7d0a7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1d3014022813bb84d2f17a0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6b100246388efe0b0cb2524b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "be003818f1ddf58d183ba055",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6441911dc94a0ca8b949e3fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "01a0560539d12572d16faea4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1e1b97dec6ffebca7dbba9f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "afe42e9b14a9f2c225f1cf7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "4b3e0d81b9ac6d58161c98ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8a13ed18156b60c7f7517b1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "708a37623c78ab4a3fc8e79e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1ee572cdb63412fbdc2d0604",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "94a767a39a7cf6075c00eba6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "24c9ffc4882b68d8f72bd89b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "54a54f8c37dc516ce0e6edb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3b9a66f5ddaf91212c9b377a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ca4c5a537a1138efa842f49c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1d5b61776068c3f31626a87a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "9f8712e1e2d88e0cbe0fbca7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ef1e6e3cd51032305e94d180",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0037fc9675c5c411deb98e08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "74025664d7dea429f96623f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "14ac487e3fb9063c7af1b34f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b36d09c88738df371e346d73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2e628ba189e4748e7a1e044c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d233b206437cc6f6c705f560",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dd79cb4e1514a4c8cfd7f2ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6a4480f3009b302d3cd01168",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cd1933777c3216aeb10e6b77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "548c8795af15951e6f97b4f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "18907db69a43c20682b5e272",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "65352b8f20c67855e1324b9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0ec732701c41008d3c60228a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "81b104350ecc23684b8dce27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b316df848827478201e0b8c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5c756e94df201d69f3d1999",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b4ecae323f2a52ecd00d4fa4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cf7346d2fc460cae6cc2a2f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "fc5dd0e407a1718bc53d3feb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "15cd2548fe9ea976e16fda1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "7cc37c572959f82f1855ae21",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "367755cb1c06d0ca",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "e113da4f76cb9074902abcc6",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__2025-year-in-review-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "8739f689010b47c82432b3ff",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3caa16995f8a2c34",
      "framework": "unknown",
      "imports": "",
      "lines": 594,
      "logic_relevance": "none",
      "name": "crowstrike-auditor-v3",
      "normalized_name": "crowstrike-auditor-v3",
      "package_manager": "unknown",
      "path": "crowstrike-auditor-v3.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "2df96a9e254feb095671ed06",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "624187783b084021",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "c95c976a48ed009fe2174d51",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28de182ecc704667",
      "framework": "unknown",
      "imports": "",
      "lines": 373,
      "logic_relevance": "none",
      "name": "crowdstrike-auditor-v2",
      "normalized_name": "crowdstrike-auditor-v2",
      "package_manager": "unknown",
      "path": "crowdstrike-auditor-v2.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "1f5c016fd8f7a0ad7e000413",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91b4c86523535e6d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "o365-auditor",
      "normalized_name": "o365-auditor",
      "package_manager": "unknown",
      "path": "o365-auditor.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security,ai",
      "component_id": "1a52ee150bb41ad7b472e4ae",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "41b9fbf01184ebed",
      "framework": "unknown",
      "imports": "",
      "lines": 182,
      "logic_relevance": "none",
      "name": "crowdstrike-auditor",
      "normalized_name": "crowdstrike-auditor",
      "package_manager": "unknown",
      "path": "crowdstrike-auditor.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "f9e6ca572c800282f6d85c88",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fde605eace248db8",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "fortisase-auditor",
      "normalized_name": "fortisase-auditor",
      "package_manager": "unknown",
      "path": "fortisase-auditor.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c4e3ad7f6b6e17660972cb0e",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a95a20df822799e7",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "Ninja-one-audit",
      "normalized_name": "ninja-one-audit",
      "package_manager": "unknown",
      "path": "Ninja-one-audit.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__DCF-Audit-Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "166fbbcf3dbb8f11635c1a04",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef953e83fa2ad98c",
      "framework": "next-react",
      "imports": "",
      "lines": 3222,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "36c763b831969083d134087d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "30eac216d5aa3b30",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6da8a238e71c45b980288ccc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fc75af5f451557d1",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "0effe0a78c7156ddfa98da79",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "be83501fe10516a2",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 112,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "978dd33167675e2054cd68a1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/accessories, @/components/design-details, @/components/features, @/components/footer, @/components/pricing-section, @/components/product-showcase, @/components/simple-hero, @/components/target-audience | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca571ebf87b9c78f",
      "framework": "next-react",
      "imports": "@/components/accessories,@/components/design-details,@/components/features,@/components/footer,@/components/pricing-section,@/components/product-showcase,@/components/simple-hero,@/components/target-audience",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "2fbabc83608ef0a3b0cc86f0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "70029e647d2653f4",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "36a28d397d6e5b586f4d6c77",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, stripe | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ead6adadf1dbf500",
      "framework": "next-react",
      "imports": "next/server,stripe",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/create-checkout-session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4315e6b0e1dbaac2d6435ee1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "679ee4df07597d57",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "c7c9e4c5deffd02f76c4e085",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f9c0a06197b55795864481c4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PurchaseSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PurchaseSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7cb1393b3c44e52f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "purchase-section",
      "normalized_name": "purchase-section",
      "package_manager": "pnpm",
      "path": "components/purchase-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3b026baecab87c6c1cc941be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessoriesSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AccessoriesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c47976202994412",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 148,
      "logic_relevance": "none",
      "name": "accessories-section",
      "normalized_name": "accessories-section",
      "package_manager": "pnpm",
      "path": "components/accessories-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "911312a4b3e865e10e012cf0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DesignDetails | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DesignDetails",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "017a3612174ba34d",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 72,
      "logic_relevance": "none",
      "name": "design-details",
      "normalized_name": "design-details",
      "package_manager": "pnpm",
      "path": "components/design-details.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a4a00065bb7e58209f7d820c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Features | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Features",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54152ea2310b1882",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "components/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4a5ec31846c2c4d108136b1d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PricingSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d2b8c7d0fa269594",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 231,
      "logic_relevance": "none",
      "name": "pricing-section",
      "normalized_name": "pricing-section",
      "package_manager": "pnpm",
      "path": "components/pricing-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6ccd9b6f7f45db9b76cf4c59",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQSection | imports:@/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FAQSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a350d4c3d68f240b",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "faq-section",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "components/faq-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8028048312030b6447a298da",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad41ab0f42e4dfea",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "simple-hero",
      "normalized_name": "simple-hero",
      "package_manager": "pnpm",
      "path": "components/simple-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "d4e3854a6fc5494779f27038",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:GuaranteeSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "GuaranteeSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8cee2907f8121f69",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "guarantee-section",
      "normalized_name": "guarantee-section",
      "package_manager": "pnpm",
      "path": "components/guarantee-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "703a4dd80b24278cf1ba3ffd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductShowcase | imports:@/components/ui/badge, @/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProductShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82c0f95b66d596f5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card",
      "lines": 101,
      "logic_relevance": "none",
      "name": "product-showcase",
      "normalized_name": "product-showcase",
      "package_manager": "pnpm",
      "path": "components/product-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "350cb52b500186fb6a6d2c19",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialProof | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SocialProof",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "da5c67c91a2fe21e",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "social-proof",
      "normalized_name": "social-proof",
      "package_manager": "pnpm",
      "path": "components/social-proof.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cf79e139eab64f7c782ebbae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a1658c66b4ab577",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,security",
      "component_id": "6f902dec8a3f5bd5193095a9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:TargetAudience | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TargetAudience",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79827b80e00ba871",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "target-audience",
      "normalized_name": "target-audience",
      "package_manager": "pnpm",
      "path": "components/target-audience.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "74c566db4dd92b48fa588bcf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialsSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TestimonialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2c202708997402e",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "testimonials-section",
      "normalized_name": "testimonials-section",
      "package_manager": "pnpm",
      "path": "components/testimonials-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "abdd966da3528ed24f34978a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/badge, @/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae897a43d11d0dba",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,lucide-react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "122d8a671e8c52dedbf8bab9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemographicsSection | imports:@/components/ui/badge, @/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DemographicsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4cdf0044bf1054d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card",
      "lines": 81,
      "logic_relevance": "none",
      "name": "demographics-section",
      "normalized_name": "demographics-section",
      "package_manager": "pnpm",
      "path": "components/demographics-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "a457bcf609272bfb3629ef91",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrustIndicators | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TrustIndicators",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28fedec6675e4832",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "trust-indicators",
      "normalized_name": "trust-indicators",
      "package_manager": "pnpm",
      "path": "components/trust-indicators.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7597fa59ddc4ac30d08eae48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FeaturesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe6f0191d3094a13",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "features-section",
      "normalized_name": "features-section",
      "package_manager": "pnpm",
      "path": "components/features-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "9861b95b6f1f0db2f023716b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Accessories | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Accessories",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "158bd04dd652752e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "accessories",
      "normalized_name": "accessories",
      "package_manager": "pnpm",
      "path": "components/accessories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2c269518a644db4233847861",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComparisonSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ComparisonSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f66e7c3723573f70",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "comparison-section",
      "normalized_name": "comparison-section",
      "package_manager": "pnpm",
      "path": "components/comparison-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e5eca71f2d9dc1e196ca0cc6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterSection | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NewsletterSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a805bba24658b4b6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "newsletter-section",
      "normalized_name": "newsletter-section",
      "package_manager": "pnpm",
      "path": "components/newsletter-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "19e3b904e64d81f372dc6bc7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3a5e4755d2de60194addd47d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ba84b7c4e017f18f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c4d00147eb60332494bddadf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "46a6058963f7d89109c20d13",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__FlaskFlow-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "bfa0194b259e96a6b3a8730b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9b21c2554777326",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "3fd40d79838d862ac47233cb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "73789d651d91cdbf",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "Powershell Scripts, Files, and Tasks/Scheduled Tasks/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "fb5c0bccc1e5d73f3171c12d",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "42cdab1ed8b34b15",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "4ff868499c59ee21f451c034",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ce1b995bd8cf5e6d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "workload",
      "normalized_name": "workload",
      "package_manager": "unknown",
      "path": "Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/E-Colon-Slash XML/builds/workload.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "35e07966b15a90ba059ae644",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1c663962e8301cdb",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "GrabXML",
      "normalized_name": "grab-xml",
      "package_manager": "unknown",
      "path": "Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/E-Colon-Slash XML/builds/GrabXML.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "da2e97dbe5e0f46fba42d82a",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dad430cfaecad30c",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/E-Colon-Slash XML/builds/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "fdc458c16fbfbf37468201af",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "364d2699bc58f4d4",
      "framework": "unknown",
      "imports": "",
      "lines": 240,
      "logic_relevance": "none",
      "name": "GrabXML.Tests",
      "normalized_name": "grab-xml-tests",
      "package_manager": "unknown",
      "path": "Tests/GrabXML.Tests.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "58cc3f4087e0a183551b2a87",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6336d9ff573aef7f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SQL/Jenkins/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "6cc7ac9d525f6eff425668bc",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "66e26314dd424e8e",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SQL/Jenkins/StoredProcedures/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "9ccc4fab0b70fc3115aefa2f",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "8b0794ae831305ad",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SQL/Jenkins/Tables/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,ai,observability,security",
      "component_id": "566813fc082386a79dc43a02",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "37b631de16a01fae",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SQL/Jenkins/SQL Agent Jobs/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "afc5510f60118bc22656e190",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cc5c4f69877be59a",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SQL/Jenkins/Views/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__JenkinsDB",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5f63fe48a8025d69c51c3c8e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f85a67c547a5f72b",
      "framework": "next-react",
      "imports": "",
      "lines": 4434,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "eeb3609f4d717828f072f000",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d294effd0d046698",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "51a7fbe3b75bf93510844bbe",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6cf8a3f9b993dd28",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5690f2c1829e6ebd8b2e57f1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a46e8c2e43b2553a",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "33a758f352ab39472a425e79",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,geist,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, geist/font/mono, geist/font/sans, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0fd05d9eedec679b",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,geist/font/mono,geist/font/sans,next,next/font/google,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "6404919c8a17af5f4d92ea14",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:LandingPage | imports:@/components/features, @/components/final-cta, @/components/footer, @/components/header, @/components/hero, @/components/pricing, @/components/testimonials | frontend-score:85 | ui-score:55",
      "exports": "LandingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6dfc54215dd3e236",
      "framework": "next-react",
      "imports": "@/components/features,@/components/final-cta,@/components/footer,@/components/header,@/components/hero,@/components/pricing,@/components/testimonials",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "7371ca62d6bbba94aff65b7b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f826462b35df765e",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "239f243e432f2d83df4e4c65",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec7fabad722d5b50",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "07b7041175c0bdba84faf50a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fa1a26097bf0477a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "9bdf3e00dc4a0ac3a252abed",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "5ac0ed4db50f41322603f566",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FinalCTA | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "FinalCTA",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70d056237d994699",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "final-cta",
      "normalized_name": "final-cta",
      "package_manager": "pnpm",
      "path": "components/final-cta.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "07272fdf7e6182b7d34899c2",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3c34f54f69bb5d8d18d466f1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9bac17dfd13d8ec5",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d008efc0e81f63f1ec8d80bf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Pricing | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Pricing",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e2fa7701839f4a9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "pricing",
      "normalized_name": "pricing",
      "package_manager": "pnpm",
      "path": "components/pricing.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "d4dea28bca2fa62823ef2435",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Features | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Features",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2713fffeeabb839c",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "components/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "cc942c1c7064910d0e044c54",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "imports:./hero, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6f95759287c35ca",
      "framework": "next-react",
      "imports": "./hero,@testing-library/react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "hero.test",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3da2bcc78f4feb1e39ca08d9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "858a3e8847c7db32",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,security,automation",
      "component_id": "f2235788401e06925df26ac9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Testimonials | imports:@/components/ui/avatar, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "Testimonials",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "053e0fb8122307e2",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/card,lucide-react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "testimonials",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "components/testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a7e6202cc08af9b47b71c082",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./header, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "03a12970d8f4c583",
      "framework": "next-react",
      "imports": "./header,@testing-library/react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "header.test",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "51e4a1991b784683c2bb1154",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9194b8948d860bf3",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6b766df098bbcc12d2a3fb86",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1a80d6402444e4222f4ad3d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5855184fecf4c20fca8a8cb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f482f74ec90d475658865c59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2bfcee90e4f2001309c47981",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7e83d18cf6eeb378c21fb321",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1a4cd9f8272cb580b9e9e252",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "34f7f612e9d5fad41e0bf490",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ee669c3d64cc27f3f59a13b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7e0f9c99be32c7a9420a8492",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "9bd75f4fb0930a34251ac727",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "6f780ddc92f1dd96afbec986",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "71f7b50d07192bb29884eeac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e938073e3c4e3485bb6e141f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2739b152a55cbcd45cb79128",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9ea89112f6bd020004df8a4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b03034e69c887ad167c61847",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "910663e32a9abab923e48384",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f844704f85209c7acf0dc43c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0a3c97d308620cb2fc81393f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "622d40d986ff9368418c6c5e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2e7bfc2247d7c66063bc2050",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8a651f02c72d52f1dfc3f63e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "481e511cc15c20e1e61f1bb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b33f4ef8f41eff153c7b030a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c94ecab2a5bceeb243399804",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d4686ac80eb97b9ceb79eda4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "1dd36ad42cf04c4c5b4a9dc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7fba20b796313238b5d98160",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "ace3beeb1dad5280746f23d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fe116c32c29b8d256ca981aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "63abf335e6e51fa756e8f67f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b52254401602972d95baf01b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3b8d09f3f8ac4ed0a8b1b35b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4606b48f1a4f1fc9ff8674d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "cb5dfa478a2756ba8de493a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "454a80c0cbe150a02eec701b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5c1078b5d1ef8de8d4197a46",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "41138bba99874cbc111bc0ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "280a0b0298ade8665f2cc768",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8f31d115257f50eb05ce3cb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "24b92552387cfea79ef27a3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "eb55da25a3dd06fbc95d9991",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "acb5f2c8df15ffc74ce869ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5aa1b3571092819501a8366e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fc27aecc75229126090d3b6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bf9adc0677e3006240354701",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "8535edd524b900b98f05ac97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5eb5c9f36dc453b1b5e36288",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "45549a590784069fd9cf001e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a5b4b80eb5a7c8d0bb70aa00",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6081d948d0b347dfa6d95da6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8b705d690d872ab02ed511ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "3cf80780486bb6730593f393",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "08ce737df78cf9bf6347fdc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "6d2f7d62b79de3e03c47caa9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "145cb97635919d546d1e5707",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "882d7c1f22c1f6a9e0f5d0f3",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Joshs-magnets-landing-page",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "de5af106976ede5f818a6cdf",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "494f1637c978b1c2",
      "framework": "next-react",
      "imports": "",
      "lines": 3233,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "b66a249b7263eb711c22fb7a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cbf38dc870443238",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d10bad0b5bdda91b5ff4eec7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f824c8e3409a7d65",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "86e9efee5af922a424195b15",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "417ee8b02aaaae40",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 150,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "a85700e22d8026a2715fdaa1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/cta-section, @/components/footer, @/components/founders-section, @/components/hero-section, @/components/market-section, @/components/navbar, @/components/patent-section, @/components/pipeline-architecture | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbf420a599587ebe",
      "framework": "next-react",
      "imports": "@/components/cta-section,@/components/footer,@/components/founders-section,@/components/hero-section,@/components/market-section,@/components/navbar,@/components/patent-section,@/components/pipeline-architecture,@/components/pricing-section,@/components/problem-section,@/components/solution-section,@/components/use-cases-section,@/components/vision-section,@/components/visual-compression-demo",
      "lines": 37,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b78693003cd3de55bc9d16a6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e05b8f545823ce92",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e70095fa5d81d11c8e0a2f6e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f917509c1b94e9b33dc9328f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CompressionDemo | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CompressionDemo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5292111ea8d9021a",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 154,
      "logic_relevance": "none",
      "name": "compression-demo",
      "normalized_name": "compression-demo",
      "package_manager": "pnpm",
      "path": "components/compression-demo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "28c32a326b1397b8cdbeb8f1",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0dde56685fdd6fc5197a763",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navbar | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Navbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70791452bdf7e5db",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 132,
      "logic_relevance": "none",
      "name": "navbar",
      "normalized_name": "navbar",
      "package_manager": "pnpm",
      "path": "components/navbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "512aed13c0f307ab171d0e43",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingSection | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PricingSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "065f85427b1198b3",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 136,
      "logic_relevance": "none",
      "name": "pricing-section",
      "normalized_name": "pricing-section",
      "package_manager": "pnpm",
      "path": "components/pricing-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d8eeba150fb9d6e2b0114ef1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarketSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "45b4bfaaa863c4c0",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "market-section",
      "normalized_name": "market-section",
      "package_manager": "pnpm",
      "path": "components/market-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7d743627da116b9e4bede717",
      "component_kind": "ui-hook",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UseCasesSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UseCasesSection",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e2e6017f191d1fc1",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "use-cases-section",
      "normalized_name": "use-cases-section",
      "package_manager": "pnpm",
      "path": "components/use-cases-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d47e8873c794110a1149c630",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PipelineArchitecture | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PipelineArchitecture",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9f9dc64c40c2df2a",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 144,
      "logic_relevance": "none",
      "name": "pipeline-architecture",
      "normalized_name": "pipeline-architecture",
      "package_manager": "pnpm",
      "path": "components/pipeline-architecture.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5e918b21eb1178178f76cde6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VisualCompressionDemo | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "VisualCompressionDemo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c780d756b8c8e9b0",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 167,
      "logic_relevance": "none",
      "name": "visual-compression-demo",
      "normalized_name": "visual-compression-demo",
      "package_manager": "pnpm",
      "path": "components/visual-compression-demo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9445cd0785b763118b0a9ce1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProblemSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProblemSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5aa6e488782e1ded",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 148,
      "logic_relevance": "none",
      "name": "problem-section",
      "normalized_name": "problem-section",
      "package_manager": "pnpm",
      "path": "components/problem-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "96925a7fd5b3cedda54e78e9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "507cbbe411b766d9",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 159,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bef480bdd5ee5894d5512804",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FoundersSection | imports:@/components/ui/badge, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FoundersSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b796581917b17b73",
      "framework": "next-react",
      "imports": "@/components/ui/badge,lucide-react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "founders-section",
      "normalized_name": "founders-section",
      "package_manager": "pnpm",
      "path": "components/founders-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "149bce48c1bb978ef946c6bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SolutionSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SolutionSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6088b1c12999b1b",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 162,
      "logic_relevance": "none",
      "name": "solution-section",
      "normalized_name": "solution-section",
      "package_manager": "pnpm",
      "path": "components/solution-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c90f4e84ac34c5383c987319",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/badge, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec14a2235b9b5914",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,lucide-react,react",
      "lines": 154,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a6070a736fd3e76ecc220f18",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CostSavingsSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CostSavingsSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f11f57a6d946891",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 133,
      "logic_relevance": "none",
      "name": "cost-savings-section",
      "normalized_name": "cost-savings-section",
      "package_manager": "pnpm",
      "path": "components/cost-savings-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a1aba1880ca26fe02af15ce",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArchitectureSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ArchitectureSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c504759e888bb794",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 159,
      "logic_relevance": "none",
      "name": "architecture-section",
      "normalized_name": "architecture-section",
      "package_manager": "pnpm",
      "path": "components/architecture-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ce146d725dc9c024f89cee6e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PatentSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PatentSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d741bdf4cf9b4ef4",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "patent-section",
      "normalized_name": "patent-section",
      "package_manager": "pnpm",
      "path": "components/patent-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f79ce360defbde52bab9d77d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3332463c8341b13",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 101,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "191b99402ef18a486f38a16b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VisionSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "VisionSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b53dcdf9b6935a6d",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "vision-section",
      "normalized_name": "vision-section",
      "package_manager": "pnpm",
      "path": "components/vision-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "48e8b2cacf2d9b6bc1e9c39d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f1047d7738e56ffaf9d72c36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "08b8cbb9cffee53471fdcc28",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__LogSlash-w6",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "observability,automation",
      "component_id": "93e5a3ee2e1dd05d1d5e41a6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@sveltejs/adapter-vercel,@sveltejs/kit,path,svelte-preprocess",
      "description": "Observability component for deployment; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@sveltejs/adapter-vercel, @sveltejs/kit, path, svelte-preprocess | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "52db0d28ce024d25",
      "framework": "svelte",
      "imports": "@sveltejs/adapter-vercel,@sveltejs/kit,path,svelte-preprocess",
      "lines": 45,
      "logic_relevance": "none",
      "name": "svelte.config",
      "normalized_name": "svelte-config",
      "package_manager": "bun",
      "path": "svelte.config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "dd422ebb64cc8b9adb5cf37a",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "playwright.sync_api,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:run | imports:playwright.sync_api, time | observability-score:55",
      "exports": "run",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "62d0acfeae90d19b",
      "framework": "svelte",
      "imports": "playwright.sync_api,time",
      "lines": 36,
      "logic_relevance": "none",
      "name": "debug_watch_this",
      "normalized_name": "debug-watch-this",
      "package_manager": "bun",
      "path": "debug_watch_this.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f8b03ccf08d8913caa57a095",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "playwright.sync_api,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:run | imports:playwright.sync_api, time | observability-score:55",
      "exports": "run",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "30d878a5f0bead6b",
      "framework": "svelte",
      "imports": "playwright.sync_api,time",
      "lines": 48,
      "logic_relevance": "none",
      "name": "verify_watch_this_real",
      "normalized_name": "verify-watch-this-real",
      "package_manager": "bun",
      "path": "verify_watch_this_real.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "9ad108c5a669ad038493d775",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@poppanator/sveltekit-svg,@sveltejs/kit,vite-imagetools,vitest",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@poppanator/sveltekit-svg, @sveltejs/kit/vite, vite-imagetools, vitest/config | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a5e33c3afb00cab7",
      "framework": "svelte",
      "imports": "@poppanator/sveltekit-svg,@sveltejs/kit/vite,vite-imagetools,vitest/config",
      "lines": 36,
      "logic_relevance": "none",
      "name": "vite.config",
      "normalized_name": "vite-config",
      "package_manager": "bun",
      "path": "vite.config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "e8fab17d471f658aa952ead2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fe4aefb17a176629",
      "framework": "svelte",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "bun",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d12b71ca4a6846ec8ab5daad",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d0ab3e3cc92abfd6",
      "framework": "svelte",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "bun",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "9d70da5071e2d37f3a71a80e",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "assert",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:assert | observability-score:55",
      "exports": "",
      "extension": ".cjs",
      "extraction_status": "catalog-only",
      "file_hash": "ff944f2f08d00d05",
      "framework": "svelte",
      "imports": "assert",
      "lines": 3,
      "logic_relevance": "none",
      "name": "code-review",
      "normalized_name": "code-review",
      "package_manager": "bun",
      "path": "code-review.cjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "1ecbdd49e1ec0c214cc1e7a9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "25ef918ba3380c4b",
      "framework": "svelte",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "bun",
      "path": "tree.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4b856d51fe50cd32c4a9fb2c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d2612faadfad895d",
      "framework": "svelte",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "cleanup",
      "normalized_name": "cleanup",
      "package_manager": "bun",
      "path": "cleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "43b6c14f22828b17e391025a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c20c41ebe653024c",
      "framework": "svelte",
      "imports": "@playwright/test",
      "lines": 18,
      "logic_relevance": "none",
      "name": "performance.spec",
      "normalized_name": "performance",
      "package_manager": "bun",
      "path": "tests/performance.spec.js",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "4a27072d33f2b6a1dcbf6192",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7fd202100897e10a",
      "framework": "svelte",
      "imports": "@playwright/test",
      "lines": 205,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "bun",
      "path": "tests/test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,discovery,automation,ai",
      "component_id": "358cf7928298e6e1a19cae38",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aa96796c1f3ffccb",
      "framework": "svelte",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "bun",
      "path": "static/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "5ce697716832bc5afc02ab74",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6a2aad72886e6c3b",
      "framework": "svelte",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "bun",
      "path": "static/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "b259358aec63d543d890df25",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0173cabb9e63b4d8",
      "framework": "svelte",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "bun",
      "path": "static/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3e0bf294598f7026a30d3ec6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "perf_hooks,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./routes/api/getMediaDetails/+server.ts, perf_hooks, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bdf5a655e8df71ab",
      "framework": "svelte",
      "imports": "./routes/api/getMediaDetails/+server.ts,perf_hooks,vitest",
      "lines": 105,
      "logic_relevance": "none",
      "name": "benchmark.test",
      "normalized_name": "benchmark",
      "package_manager": "bun",
      "path": "src/benchmark.test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style",
      "component_id": "659b8df307b3089273e69cab",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bfffd35655340a87",
      "framework": "svelte",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "bun",
      "path": "src/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "9ccd8f8542878c18bb78f849",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:env | security-score:55 | model-provider",
      "exports": "env",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "266baf8f6164019e",
      "framework": "svelte",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "bun",
      "path": "src/__mocks__/env.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,logic",
      "component_id": "a98c40ea02ac9bd2dfa3e64f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores, svelte/transition | frontend-score:60 | ui-score:55 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a30eab1560f5c602",
      "framework": "svelte",
      "imports": "$app/stores,svelte/transition",
      "lines": 103,
      "logic_relevance": "secondary",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "bun",
      "path": "src/lib/Header.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security",
      "component_id": "f0adce72a9467fd907216787",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "$app,svelte",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SECRET_LENGTH | imports:$app/environment, svelte, svelte/transition | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SECRET_LENGTH",
      "extension": ".svelte",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "90932a2aa874c68f",
      "framework": "svelte",
      "imports": "$app/environment,svelte,svelte/transition",
      "lines": 267,
      "logic_relevance": "primary",
      "name": "SecretModal",
      "normalized_name": "secret-modal",
      "package_manager": "bun",
      "path": "src/lib/SecretModal.svelte",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,process,automation",
      "component_id": "1241a4466032a25cec1c9ec4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Blob | imports:./vitals.js, vitest | logic-score:85 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "Blob",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f7efb2086bc97ad0",
      "framework": "svelte",
      "imports": "./vitals.js,vitest",
      "lines": 278,
      "logic_relevance": "primary",
      "name": "vitals.spec",
      "normalized_name": "vitals",
      "package_manager": "bun",
      "path": "src/lib/vitals.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,logic",
      "component_id": "72d626768f194e3fe637cbfb",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | integration-score:55 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "77633b3e0a06d689",
      "framework": "svelte",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "GitHubButton",
      "normalized_name": "git-hub-button",
      "package_manager": "bun",
      "path": "src/lib/GitHubButton.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "5e366f013d293264efeb92f5",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LayoutServerData | logic-score:70",
      "exports": "LayoutServerData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "760df8b488e588f2",
      "framework": "svelte",
      "imports": "",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "bun",
      "path": "src/lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,logic",
      "component_id": "44a124910755871ea72c4c8c",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "b1a264dcf1155331",
      "framework": "svelte",
      "imports": "",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "bun",
      "path": "src/lib/Footer.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "bae3bb3dbbd0187540d9cb33",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "web-vitals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:webVitals | imports:web-vitals | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "webVitals",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1c6fd14ad390d41c",
      "framework": "svelte",
      "imports": "web-vitals",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "vitals",
      "normalized_name": "vitals",
      "package_manager": "bun",
      "path": "src/lib/vitals.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,process",
      "component_id": "74694eed2ed80db08ea550e9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "bun:test",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:bun:test | logic-score:60 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2ed875ab9b6a79ea",
      "framework": "svelte",
      "imports": "bun:test",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "SecretModal.spec",
      "normalized_name": "secret-modal",
      "package_manager": "bun",
      "path": "src/lib/SecretModal.spec.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,logic",
      "component_id": "0827ef6fc67326772437b222",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:60 | ui-score:55 | logic-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db32094c29d6ebf4",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 58,
      "logic_relevance": "secondary",
      "name": "TvIcon",
      "normalized_name": "tv-icon",
      "package_manager": "bun",
      "path": "src/lib/TvIcon.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "0bd16c2c8c1b783b8cc68c6c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:onCLS, onFCP, onFID, onLCP, onTTFB | imports:vitest | logic-score:45",
      "exports": "onCLS,onFCP,onFID,onLCP,onTTFB",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "99dcc8a504cc7005",
      "framework": "svelte",
      "imports": "vitest",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "web-vitals",
      "normalized_name": "web-vitals",
      "package_manager": "bun",
      "path": "src/lib/__mocks__/web-vitals.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "d707a72ecdc8c5cabd2c8ec8",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85dca532d4ca5762",
      "framework": "svelte",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/assets/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "ade74b3f787e5638a93e1c7a",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "9fc49adaf32ac344",
      "framework": "svelte",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "48d89ff62115a8503269eff2",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./$types | backend-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9d3a8428a595aef",
      "framework": "svelte",
      "imports": "./$types",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+layout.server",
      "normalized_name": "layout-server",
      "package_manager": "bun",
      "path": "src/routes/+layout.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "069ed696c9e6b88d21d38d1d",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "$app",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d986bc359ca16e0",
      "framework": "svelte",
      "imports": "$app/stores",
      "lines": 131,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "bun",
      "path": "src/routes/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "b5cbbbdd782402eebf786064",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:csr, prerender | backend-score:55",
      "exports": "csr,prerender",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed18ec363c1b2369",
      "framework": "svelte",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/+page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "10e8b8529a66f12cfa037543",
      "component_kind": "layout",
      "confidence": 75,
      "dependency_roots": "$app,$lib,@vercel/analytics,svelte",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/environment, $app/stores, $lib/Footer.svelte, $lib/Header.svelte, $lib/SecretModal.svelte, ../lib/vitals, @vercel/analytics/sveltekit, svelte | frontend-score:85 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "9f46b73476a15add",
      "framework": "svelte",
      "imports": "$app/environment,$app/stores,$lib/Footer.svelte,$lib/Header.svelte,$lib/SecretModal.svelte,../lib/vitals,@vercel/analytics/sveltekit,svelte,svelte/transition",
      "lines": 131,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "bun",
      "path": "src/routes/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "5aa24d334159a09b03f1584b",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a44046c6d47dc85c",
      "framework": "svelte",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/rss.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "0bff81230c953677cf5ccb40",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0e34e009cae70ff0",
      "framework": "svelte",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/feed.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "f76b4df41c4062bb44dfe979",
      "component_kind": "page",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MAX_MSG | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MAX_MSG",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "59a1ed2ea1000afc",
      "framework": "svelte",
      "imports": "",
      "lines": 331,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/contact/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "a1189f0a3834c1e49fb99ea6",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "701f26b3e730f899",
      "framework": "svelte",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/privacy/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,process,ai",
      "component_id": "304f07d2499ed5c2a8e65a00",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "34cbbeacd8cfc60b",
      "framework": "svelte",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/roadmap/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,backend,automation,ai",
      "component_id": "c5babc623564d66df98047e0",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "7fea9ae20da17b43",
      "framework": "svelte",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/faq/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "baa5b2be47adefb7e746acba",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app,$lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/environment, $app/stores, $lib/types, ../../lib/vitals.js | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a2e239eebc025e87",
      "framework": "svelte",
      "imports": "$app/environment,$app/stores,$lib/types,../../lib/vitals.js",
      "lines": 225,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/about/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "782976b852e44f9a8880316a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:csr, prerender | backend-score:55",
      "exports": "csr,prerender",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed18ec363c1b2369",
      "framework": "svelte",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/about/+page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "4feba96a6c59fcc4c7189519",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte, svelte/transition | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f969df1c37a0adab",
      "framework": "svelte",
      "imports": "svelte,svelte/transition",
      "lines": 922,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/watch-this/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "8db848ca5faa014b06bd7d59",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@testing-library/jest-dom,@testing-library/svelte,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+page.svelte, @testing-library/jest-dom/matchers, @testing-library/svelte, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38d0846bcb9bcdc5",
      "framework": "svelte",
      "imports": "./+page.svelte,@testing-library/jest-dom/matchers,@testing-library/svelte,vitest",
      "lines": 90,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/watch-this/page.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,automation",
      "component_id": "699f8feb05d7a30a1af181a7",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90b97b59b4fd61bc",
      "framework": "svelte",
      "imports": "",
      "lines": 872,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/careers/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "0204cae3ec731ed30bc0d78d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_RECOMMENDATIONS, POST | imports:./__mock_kv.cjs | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | model-provider",
      "exports": "MOCK_RECOMMENDATIONS,POST",
      "extension": ".cjs",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8b6b9f7d06e89c1c",
      "framework": "svelte",
      "imports": "./__mock_kv.cjs",
      "lines": 230,
      "logic_relevance": "none",
      "name": "_temp_server",
      "normalized_name": "temp-server",
      "package_manager": "bun",
      "path": "src/routes/api/getRecommendation/_temp_server.cjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "3942da684d789b90a3836ddc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$env,@sveltejs/kit,@vercel/kv",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_RECOMMENDATIONS, POST | imports:$env/dynamic/private, @sveltejs/kit, @vercel/kv | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler | model-provider",
      "exports": "MOCK_RECOMMENDATIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c78fef10c73ff5d",
      "framework": "svelte",
      "imports": "$env/dynamic/private,@sveltejs/kit,@vercel/kv",
      "lines": 227,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/getRecommendation/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "8d0fefdf2b5079c5ba392697",
      "component_kind": "api-route",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".cjs",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1d2cdb0fd00feb0",
      "framework": "svelte",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "__mock_kv",
      "normalized_name": "mock-kv",
      "package_manager": "bun",
      "path": "src/routes/api/getRecommendation/__mock_kv.cjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "1b305f993fe16f9e3d45e984",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "265552719d18f030",
      "framework": "svelte",
      "imports": "./+server,vitest",
      "lines": 194,
      "logic_relevance": "none",
      "name": "server.test",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/getRecommendation/server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "0164093a8be6c5c4b91ca576",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server, vitest | backend-score:55 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "df3c9e6031290dce",
      "framework": "svelte",
      "imports": "./+server,vitest",
      "lines": 113,
      "logic_relevance": "none",
      "name": "getMediaDetails.test",
      "normalized_name": "get-media-details",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetails/getMediaDetails.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "9d8b9d0403888c79123c98f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$env,@sveltejs/kit,@vercel/kv",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$env/dynamic/private, @sveltejs/kit, @vercel/kv | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "469413cc2d698a2f",
      "framework": "svelte",
      "imports": "$env/dynamic/private,@sveltejs/kit,@vercel/kv",
      "lines": 139,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetails/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "1df7095240c81ded789e0da0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "18312d61eb7ab405",
      "framework": "svelte",
      "imports": "./+server,vitest",
      "lines": 111,
      "logic_relevance": "none",
      "name": "kv.test",
      "normalized_name": "kv",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetails/kv.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "0338decf83f0d75d29b71a5b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "aa12e81806eaadd1",
      "framework": "svelte",
      "imports": "./+server,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "kvWriteFailure.test",
      "normalized_name": "kv-write-failure",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetails/kvWriteFailure.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "39667c502d7d3db738b639d7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server.js, vitest | backend-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e10e8fa039cfc5be",
      "framework": "svelte",
      "imports": "./+server.js,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "server.test",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetails/server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "263c8c29057bde2f2c6a781a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@sveltejs/kit | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85c595025a082e16",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 5,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/health/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3633254857e8acbd3b797cae",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server.js, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8cb8386b2b490897",
      "framework": "svelte",
      "imports": "./+server.js,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "bun",
      "path": "src/routes/api/health/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "88d5d99a3d469afc6cef6418",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$env,@sveltejs/kit,@vercel/kv",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$env/dynamic/private, @sveltejs/kit, @vercel/kv | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ccb1fff422468210",
      "framework": "svelte",
      "imports": "$env/dynamic/private,@sveltejs/kit,@vercel/kv",
      "lines": 161,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetailsBatch/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,automation",
      "component_id": "1b15b8bd91da612b95819bc6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "$env,@vercel/kv",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:$env/dynamic/private, ./+server.js, @vercel/kv | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f4ad47c00dd7850d",
      "framework": "svelte",
      "imports": "$env/dynamic/private,./+server.js,@vercel/kv",
      "lines": 11,
      "logic_relevance": "none",
      "name": "benchmark",
      "normalized_name": "benchmark",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetailsBatch/benchmark.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,security,automation,ai",
      "component_id": "df5b00055cb126265812bd09",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@vercel/kv,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server, @vercel/kv, vitest | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a643481f8a142d83",
      "framework": "svelte",
      "imports": "./+server,@vercel/kv,vitest",
      "lines": 235,
      "logic_relevance": "none",
      "name": "server.test",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/getMediaDetailsBatch/server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "faa4884c8580faed381c9037",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$env,@sveltejs/kit,openai",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$env/dynamic/private, @sveltejs/kit, openai | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ebbb2b79084b126e",
      "framework": "svelte",
      "imports": "$env/dynamic/private,@sveltejs/kit,openai",
      "lines": 80,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/jobs/generate/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "ff446fa36515baa4af87e75e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0f95e45e3f771208",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 32,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/api/verify-secret/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery,process",
      "component_id": "f7ebd0248fdf23053fec5358",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./+server, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ea5a77818586f3cd",
      "framework": "svelte",
      "imports": "./+server,vitest",
      "lines": 35,
      "logic_relevance": "none",
      "name": "sitemap.spec",
      "normalized_name": "sitemap",
      "package_manager": "bun",
      "path": "src/routes/sitemap.xml/sitemap.spec.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "02d160beb97e140124dfe800",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9ebb7dfaaa083a35",
      "framework": "svelte",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "bun",
      "path": "src/routes/sitemap.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,automation",
      "component_id": "a25a018d05292232d8a99795",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte/transition | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "65b7444d76973835",
      "framework": "svelte",
      "imports": "svelte/transition",
      "lines": 98,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/jobs/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,discovery,process,ai",
      "component_id": "8d6f8d98cad8e53c75b524b7",
      "component_kind": "page",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "0dba400563056c76",
      "framework": "svelte",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "bun",
      "path": "src/routes/api-docs/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__PH3AR-WEBBY",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic",
      "component_id": "41498b50c1011e2ab1455ac8",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b25d9149ac3a940",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "JSONRequest_Parser",
      "normalized_name": "jsonrequest-parser",
      "package_manager": "unknown",
      "path": "JSONRequest_Parser.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "b939cb3109a16562dc3e39c0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d21c68bcee96c232",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "postEC2ip2slack",
      "normalized_name": "post-ec2ip2slack",
      "package_manager": "unknown",
      "path": "postEC2ip2slack.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "44f9003eaec56d97c735db92",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7da311e1cceb8f45",
      "framework": "unknown",
      "imports": "",
      "lines": 329,
      "logic_relevance": "none",
      "name": "script",
      "normalized_name": "script",
      "package_manager": "unknown",
      "path": "script.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "876778b36887a33cae2d7373",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "688e6242ed71dc6c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "doflow-eval3",
      "normalized_name": "doflow-eval3",
      "package_manager": "unknown",
      "path": "doflow-eval3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "0471615087c9ea297ef6c8ad",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "489b03a7151b5194",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "generate_key",
      "normalized_name": "generate-key",
      "package_manager": "unknown",
      "path": "generate_key.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "553b9c157e88d8d8efd0655f",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "568a0bc2e48aaf01",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "doflow-eval2",
      "normalized_name": "doflow-eval2",
      "package_manager": "unknown",
      "path": "doflow-eval2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "33cdb29be78635d0444d5023",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fe098314210cb46b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "README - Copy",
      "normalized_name": "readme-copy",
      "package_manager": "unknown",
      "path": "README - Copy.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "6a4b3495d38be53f566b49e3",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f923c62c2f8e6426",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "scp",
      "normalized_name": "scp",
      "package_manager": "unknown",
      "path": "scp.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "de2ad9e7ca7664af58a6e5a6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8fe5f55b2658defd",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "create-eks-admin",
      "normalized_name": "create-eks-admin",
      "package_manager": "unknown",
      "path": "create-eks-admin.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6cbab0ebec3cc862eccdd45b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "328485a6e37f9ae8",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "240018c4f656aaecb218ae0a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30f965d97e967e8f",
      "framework": "unknown",
      "imports": "",
      "lines": 578,
      "logic_relevance": "none",
      "name": "Powershell-Backup",
      "normalized_name": "powershell-backup",
      "package_manager": "unknown",
      "path": "Powershell-Backup.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0c530534499b10cfaf7f2944",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e8320ad441c35cdb",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "configure",
      "normalized_name": "configure",
      "package_manager": "unknown",
      "path": "configure.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "55dc9a6cd50d7e61ef0e4ab7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "08cc73e88fb1c207",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "Txt_To_CSV_FTP",
      "normalized_name": "txt-to-csv-ftp",
      "package_manager": "unknown",
      "path": "Txt_To_CSV_FTP.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "50b69d78bbfe9538eb15a3b1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4909c93e5fdf2389",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "grafana",
      "normalized_name": "grafana",
      "package_manager": "unknown",
      "path": "grafana.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "15f1e618f258b88fce0626f6",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "acb55e277efde198",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "install_krew",
      "normalized_name": "install-krew",
      "package_manager": "unknown",
      "path": "install_krew.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "f701d6f210a943dd4ec30b5b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c91ad0eb63af0d0e",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "windows-admin",
      "normalized_name": "windows-admin",
      "package_manager": "unknown",
      "path": "windows-admin.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f62c37ea517919bd272287d1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "673a2f80d378527e",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "setup_createcustomprofile",
      "normalized_name": "setup-createcustomprofile",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/setup_createcustomprofile.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security",
      "component_id": "77a2bb7b0ba5330e15a4af27",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "059586e2a1200d4d",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "54c8ff73c22b0eaa0a434c7e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d3686c9606792a4f",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "custombuildparameters",
      "normalized_name": "custombuildparameters",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/custombuildparameters.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "62db428c6fc2fcea067ba31e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "2efc5c2f3336ca14",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c3db3dc795145e975ed6200c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c14cb0cf778c7343",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/Assets.xcassets/AppIcon.appiconset/Contents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process",
      "component_id": "9978462aa16315deda1cfff7",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6db254289c2aa024",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "iosagent",
      "normalized_name": "iosagent",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/iosagent.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,security",
      "component_id": "6e24d2404a0bb8264c8a82bb",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c14cb0cf778c7343",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Assets.xcassets/AppIcon.appiconset/Contents.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,security",
      "component_id": "c145770419d49245bca7e6a9",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "972ec1fd42325872",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "Contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Images.xcassets/Contents.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,security",
      "component_id": "9f336f189a24aa7f649adf52",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4bcbd3bb42e7bee2",
      "framework": "unknown",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "Contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Images.xcassets/AppIcon.appiconset/Contents.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "3039b4769c21f5de732ac70c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "637f2cf85deeebc4",
      "framework": "unknown",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "Contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Images.xcassets/LaunchImage.launchimage/Contents.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,security",
      "component_id": "28ef15fcc0485bd63de68705",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "97d212cce819de2e",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "Contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Images.xcassets/AppIcon-watch.appiconset/Contents.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "769a92482a23adbffce3a0ec",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:75",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a3713ff786f0af3",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "Script-D7085DBC2DAA99494D8CFEE7",
      "normalized_name": "script-d7085-dbc2-daa99494-d8-cfee7",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Build/Intermediates/agent.build/Release-iphonesimulator/agent.build/Script-D7085DBC2DAA99494D8CFEE7.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "f50f1714ee04d73c1642cdaf",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:75",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b3998abb3c3ac46",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "Script-E6662109529B27D8766B6E50",
      "normalized_name": "script-e6662109529-b27-d8766-b6-e50",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Build/Intermediates/agent.build/Release-iphonesimulator/agent.build/Script-E6662109529B27D8766B6E50.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "60e08f2ef9ce06efa167bae1",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:75",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05cd227d00324e82",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "Script-B8806F7237D4E8685355A3C6",
      "normalized_name": "script-b8806-f7237-d4-e8685355-a3-c6",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/agent/Build/Intermediates/agent.build/Release-iphonesimulator/agent.build/Script-B8806F7237D4E8685355A3C6.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security",
      "component_id": "dfaf33ef3ba8e46dbf8ffa5c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1c6aa8c7bc565bd4",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "customCerts",
      "normalized_name": "custom-certs",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/docs/customCerts.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,security",
      "component_id": "5eb24256e7ebefc893b07dc4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e72a42e79febc423",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "appl_dev_portal_setup",
      "normalized_name": "appl-dev-portal-setup",
      "package_manager": "unknown",
      "path": "h4x/dagah-ios/docs/appl_dev_portal_setup.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "d434a19d6512f2e13b257191",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "68a598cb5e696190",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-modem-bridge/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "a7b844bcb3a88a404bc9e915",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "9d28f3345f50cb69",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "proguard-project",
      "normalized_name": "proguard-project",
      "package_manager": "unknown",
      "path": "h4x/dagah-modem-bridge/proguard-project.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "ecbcab273d4bfcbfc62571cb",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4f428c5626b3d90",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "gradlew",
      "normalized_name": "gradlew",
      "package_manager": "unknown",
      "path": "h4x/dagah-modem-bridge/gradlew.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "0f74a512096d541b3636bd46",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "MySQLdb,licRead,licc",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licDB | imports:MySQLdb, licRead, licc | backend-score:55 | security-score:55",
      "exports": "licDB",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "20060a962c3ff658",
      "framework": "python",
      "imports": "MySQLdb,licRead,licc",
      "lines": 175,
      "logic_relevance": "none",
      "name": "licDB",
      "normalized_name": "lic-db",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/licDB.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "cda2cc280e4f8cf96dc342cd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5d3ee4a50bbaed4d",
      "framework": "unknown",
      "imports": "",
      "lines": 254,
      "logic_relevance": "none",
      "name": "dagah-documentation",
      "normalized_name": "dagah-documentation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/dagah-documentation.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "e3d83dbfeff5cd975cd7b70b",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "true",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:true | process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ae65a0c03b1def4c",
      "framework": "unknown",
      "imports": "true",
      "lines": 12,
      "logic_relevance": "none",
      "name": "releasenotes",
      "normalized_name": "releasenotes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/releasenotes.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2dc845e1d6a0319f53a3a6be",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "licKey,licc,marshal,os,sys,time",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licRead | imports:licKey, licc, marshal, os, sys, time | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "licRead",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "32669f6c72392d1c",
      "framework": "python",
      "imports": "licKey,licc,marshal,os,sys,time",
      "lines": 203,
      "logic_relevance": "none",
      "name": "licRead",
      "normalized_name": "lic-read",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/licRead.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "ecfab94e66f189858569072e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "base64,hashlib,marshal,os,sys,time",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:genh, getKey, licc | imports:base64, hashlib, marshal, os, sys, time | backend-score:55 | security-score:55",
      "exports": "genh,getKey,licc",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d4f1194a674751f",
      "framework": "python",
      "imports": "base64,hashlib,marshal,os,sys,time",
      "lines": 149,
      "logic_relevance": "none",
      "name": "licc",
      "normalized_name": "licc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/licc.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "66cd4d41aad0a89a05a7915d",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "M2Crypto,os",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licDecrypt, licEncrypt | imports:M2Crypto, os | backend-score:55 | security-score:55",
      "exports": "licDecrypt,licEncrypt",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcf71e82e27a15c0",
      "framework": "python",
      "imports": "M2Crypto,os",
      "lines": 42,
      "logic_relevance": "none",
      "name": "licKey",
      "normalized_name": "lic-key",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/licKey.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "f0405816a95a192d343b4690",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "54757c0452f2c6c1",
      "framework": "unknown",
      "imports": "",
      "lines": 536,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "e0e9f0d30285efc13536e4d2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "py_compile",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:py_compile | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8720628801cfba59",
      "framework": "python",
      "imports": "py_compile",
      "lines": 21,
      "logic_relevance": "none",
      "name": "compile",
      "normalized_name": "compile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/compile.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "07e06785611b9e61acd66e5b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "base64,getopt,lib.config,lib.db,licDB,licRead,oauth2,os,paramiko,pyqrcode,re,subprocess,sys,time,tweepy,twilio.rest,urllib2,urlparse,virgil_sdk.cryptography,whatsapp,xml.etree.ElementTree",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:agentcommand, androidbackdoor, androidbackdooragain, androidnotbackdoor, buildiosagent, check_apache, connectmodem, handshake | imports:base64, getopt, lib.config, lib.db, licDB, licRead, oauth2, os | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "agentcommand,androidbackdoor,androidbackdooragain,androidnotbackdoor,buildiosagent,check_apache,connectmodem,handshake,iosagentbuild,ismodem,list_agent_commands,list_agent_parameters,list_live_agents,list_results,main,make_files,makebitly,makeclientside,makeqrcode,new_make_files,sendbluetooth,sendcommandhttp,sendnfc,sendsms,sendtweet,startlistener,usage",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5f9ae8a401813fd",
      "framework": "python",
      "imports": "base64,getopt,lib.config,lib.db,licDB,licRead,oauth2,os,paramiko,pyqrcode,re,subprocess,sys,time,tweepy,twilio.rest,urllib2,urlparse,virgil_sdk.cryptography,whatsapp,xml.etree.ElementTree",
      "lines": 3681,
      "logic_relevance": "none",
      "name": "dagah2",
      "normalized_name": "dagah2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/dagah2.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "ab5ef8c3c7a21c2358d20ccd",
      "component_kind": "auth-module",
      "confidence": 65,
      "dependency_roots": "os,string,sys",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:os, string, sys | backend-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5be0b00712c4a7d1",
      "framework": "python",
      "imports": "os,string,sys",
      "lines": 34,
      "logic_relevance": "none",
      "name": "keybuilder",
      "normalized_name": "keybuilder",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/keybuilder.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c9e4f9913e6bb00e96cd5599",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "MySQLdb",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:MySQLdb | backend-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5be7172afdcd46a2",
      "framework": "python",
      "imports": "MySQLdb",
      "lines": 2,
      "logic_relevance": "none",
      "name": "m",
      "normalized_name": "m",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/m.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,backend",
      "component_id": "070799dd804ea7d168b918db",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4fc549427480e143",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "185820ccfadcdb96f6e47e0d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a05c8d35cbd5fbac",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "ipaddr",
      "normalized_name": "ipaddr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/ipaddr.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "37c1ae4ec2a5dc6dd3060258",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "cStringIO,jenkins,json,os,pycurl,sys",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:agtBuild, downloadFile | imports:cStringIO, jenkins, json, os, pycurl, sys | backend-score:55",
      "exports": "agtBuild,downloadFile",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ade74414997e38ec",
      "framework": "python",
      "imports": "cStringIO,jenkins,json,os,pycurl,sys",
      "lines": 80,
      "logic_relevance": "none",
      "name": "agtBuild",
      "normalized_name": "agt-build",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/agtBuild.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "ff1a7955cafe70b11a453c24",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "os,socket,sys",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:os, socket, sys | backend-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "405e850e6c9aa66f",
      "framework": "python",
      "imports": "os,socket,sys",
      "lines": 30,
      "logic_relevance": "none",
      "name": "shelllistener",
      "normalized_name": "shelllistener",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/shelllistener.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "71a486aa6d1df24f73ce8900",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f2fffea6363c6aa",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "dagah_gui_installer",
      "normalized_name": "dagah-gui-installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/archive/dagah_gui_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,security,ai",
      "component_id": "7b2f1dcf1c905c956ef2c2e6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d9fde4f9e73de50f",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "dagah_installer",
      "normalized_name": "dagah-installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/archive/dagah_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "e23189c9ca9116c3ada6a998",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c647505ee04112df",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "enterprise",
      "normalized_name": "enterprise",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/enterprise.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "85a0c98edc729cc8868aefcb",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e4999f665d7322b9",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "free",
      "normalized_name": "free",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/free.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "95c92772fb8e36274727627a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "63c8f8138ba760c4",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "example",
      "normalized_name": "example",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/example.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "f0074aab14b501a15b81b2c8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "14a300e6325e316f",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "standard",
      "normalized_name": "standard",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/standard.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "6588c6dc775b6fa535658b49",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c435352d21637445",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "professional",
      "normalized_name": "professional",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/professional.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "994731f4c1949bb18699cfcc",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "86018ef0c30f40b4",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "license_attribs_template",
      "normalized_name": "license-attribs-template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/license_attribs_template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "9f717aafbf7a1d7f83d9d7f9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0f7c8ddd7d6d3f65",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "license_attribs",
      "normalized_name": "license-attribs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/licAttribs/license_attribs.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "3d2b2d0a5df7addf1a56d442",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "MySQLdb,licRead,licc",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licDB | imports:MySQLdb, licRead, licc | backend-score:55 | security-score:55",
      "exports": "licDB",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "20060a962c3ff658",
      "framework": "python",
      "imports": "MySQLdb,licRead,licc",
      "lines": 175,
      "logic_relevance": "none",
      "name": "licDB",
      "normalized_name": "lic-db",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/licDB.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a70c6ce76933bc60aa4ab41b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "licKey,licc,marshal,os,sys,time",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licRead | imports:licKey, licc, marshal, os, sys, time | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "licRead",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "32669f6c72392d1c",
      "framework": "python",
      "imports": "licKey,licc,marshal,os,sys,time",
      "lines": 203,
      "logic_relevance": "none",
      "name": "licRead",
      "normalized_name": "lic-read",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/licRead.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "2029bf962dd32966d29ccb41",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "base64,hashlib,marshal,os,sys,time",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:genh, getKey, licc | imports:base64, hashlib, marshal, os, sys, time | backend-score:55 | security-score:55",
      "exports": "genh,getKey,licc",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d4f1194a674751f",
      "framework": "python",
      "imports": "base64,hashlib,marshal,os,sys,time",
      "lines": 149,
      "logic_relevance": "none",
      "name": "licc",
      "normalized_name": "licc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/licc.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "023a775d1783b04af3801cb7",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "M2Crypto,os",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licDecrypt, licEncrypt | imports:M2Crypto, os | backend-score:55 | security-score:55",
      "exports": "licDecrypt,licEncrypt",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcf71e82e27a15c0",
      "framework": "python",
      "imports": "M2Crypto,os",
      "lines": 42,
      "logic_relevance": "none",
      "name": "licKey",
      "normalized_name": "lic-key",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/licKey.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "5a4e912e2a4fb6c5e63e4ba1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "json,licKey,licRead,licc,marshal,os,sys,time",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licCreate, readManifest | imports:json, licKey, licRead, licc, marshal, os, sys, time | backend-score:55 | security-score:55",
      "exports": "licCreate,readManifest",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1eadcc920f864578",
      "framework": "python",
      "imports": "json,licKey,licRead,licc,marshal,os,sys,time",
      "lines": 152,
      "logic_relevance": "none",
      "name": "licCreate",
      "normalized_name": "lic-create",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/licCreate.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "f03bb50e61f9889bdfd31888",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "py_compile",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:py_compile | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d263f1b86622c1f2",
      "framework": "python",
      "imports": "py_compile",
      "lines": 10,
      "logic_relevance": "none",
      "name": "compile",
      "normalized_name": "compile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/compile.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "323b06681a9e21b4f4b65bb1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "M2Crypto,os,sys",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licGenKey | imports:M2Crypto, os, sys | backend-score:55 | security-score:55",
      "exports": "licGenKey",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e2221aa51f6e0f9",
      "framework": "python",
      "imports": "M2Crypto,os,sys",
      "lines": 20,
      "logic_relevance": "none",
      "name": "licGenPem",
      "normalized_name": "lic-gen-pem",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/code/licGenPem.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "1b559744072c3e7035136c2e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "86018ef0c30f40b4",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "license_attribs_template",
      "normalized_name": "license-attribs-template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/templates/license_attribs_template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "43c52c63b31e743e607c6579",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0f7c8ddd7d6d3f65",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "license_attribs",
      "normalized_name": "license-attribs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/licenses/templates/license_attribs.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "5573f16bad3e53c2b26bb72e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "df339740a9eb631b",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "fd53536d4c6d6c5eeebb0278",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6b4e28120dd9a2e3",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/functionalTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "e29621c7d91d5ef91f528623",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5094969fff965447",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/performanceTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "c23953681d3a6ee653bc40ac",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c952eee8116ccb8f",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dagah2examplecommands",
      "normalized_name": "dagah2examplecommands",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/performanceTests/dagah2examplecommands.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "42e30cdac75e10783d9eaaad",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ff04c3a4cbaff5af",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "0b3047b5978d9d67d980a554",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "506093fbf92965a9",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "8406c35dc662165fd35026b9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "505dab4ce8b207f4",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Archive/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "67f51ec5bcf4291bdbd8654b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "39c98daf374ec6d6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "targets1",
      "normalized_name": "targets1",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets1.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "fdad547c1e5ac7a62c45ad6c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7ac5039cac1eb7b9",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "targets10",
      "normalized_name": "targets10",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets10.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "22defae845a125c7e71713bf",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "5d84668dd8f88979",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "targets2",
      "normalized_name": "targets2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "76bc0f18a65f9d3b03e8be24",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "177c419f0f05e939",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "targets11",
      "normalized_name": "targets11",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets11.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "a58710f8aeb3639f4436e6ba",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3655c950c795cb60",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "targets6",
      "normalized_name": "targets6",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets6.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "c32d82a4388d21c921e5dfa7",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "891a0fa7747d5382",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "targets5",
      "normalized_name": "targets5",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets5.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "be728640cb7e48d25893686d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "af931db436130962",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "targets100",
      "normalized_name": "targets100",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets100.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "375ca3e65fd6ee322fd25fec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "6d4880c023e49be5",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "targets101",
      "normalized_name": "targets101",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets101.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "499a33a8566eba060d695c1d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60fbdd08848b73a5",
      "framework": "unknown",
      "imports": "",
      "lines": 1001,
      "logic_relevance": "none",
      "name": "targets1001",
      "normalized_name": "targets1001",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets1001.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "b783466c27a455bbb8687b01",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "87be0bd45b0822da",
      "framework": "unknown",
      "imports": "",
      "lines": 1000,
      "logic_relevance": "none",
      "name": "targets1000",
      "normalized_name": "targets1000",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets1000.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "76bc16eebc91434131259f3d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a88bfc17afecde7c",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "ae58a8a6b01c41ee93250960",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "647d1232319a2b43",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Resources/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,backend",
      "component_id": "c50bd8ef094d30874ebc704c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "65c6dd99a4ec36fc",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/campaignlabels/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "dc1799bab9496a402d6fffa3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "60d5b0371c4d7e74",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "b15cb7839c880ad844389d90",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "5d84668dd8f88979",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "targets2",
      "normalized_name": "targets2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testbasicsms/targets2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "fed52bb1b7e62acf69004346",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "177c419f0f05e939",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "targets11",
      "normalized_name": "targets11",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testbasicsms/targets11.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "5578ef487dba8943eb112598",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5d84668dd8f88979",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "targets2",
      "normalized_name": "targets2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testagentsms/targets2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "3a5268b72a840d53d09175ac",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "177c419f0f05e939",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "targets11",
      "normalized_name": "targets11",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testagentsms/targets11.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,backend,automation",
      "component_id": "adc4976434f2f516a9f56b76",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "286775acf243672e",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Scripts/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "0fe0955e29ec28e2ff3a25d5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7fd97c2d9d130c91",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/Templates/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "7de684c35494e8e4ef6753f0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7c9e40e408c1fab4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/unittests/licTests/campaigns/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "b344f3270dde210cc0371c68",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "af905dc30a89c489",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/iOS/profiles/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "d98e92141a48da5852799099",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c8975d75248a82db",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/guiTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "7efc505579a81244d47142c5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e1ea54eb69e471c0",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/regressionTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "d61037727e985e9abb814e37",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "1162b5375eb0f331",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "permissions_home_dagah_dagah_android",
      "normalized_name": "permissions-home-dagah-dagah-android",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/platformTests/permissions_home_dagah_dagah_android.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "234f3c3d587753ec5c7bbb3f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2a25f51e5f2a8ae2",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/platformTests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "296ac6d7c96f52cee6bb8493",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3338930059b70ebd",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "permissions_home_dagah_grade",
      "normalized_name": "permissions-home-dagah-grade",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/platformTests/permissions_home_dagah_grade.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "fe50007129ee1289fbf0e8a9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "1b3db2be45aabd12",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "permissions_home_dagah_android",
      "normalized_name": "permissions-home-dagah-android",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/platformTests/permissions_home_dagah_android.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "2a9c4f6cc2f344c368141716",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "afb84e7d36714a92",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "6917e06a40e5eca8d17c624c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c952eee8116ccb8f",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dagah2examplecommands",
      "normalized_name": "dagah2examplecommands",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/otherArtifacts/dagah2examplecommands.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "885ffc87742903a477529948",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentbackqrc20160820044337/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "7c5c8c77d34a2449f4f1f942",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818024838/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "c432dc8bc797d2d1e698d731",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818030254/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "cebe07e46ce68df629e3366c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3c7ca1c9ba76098d",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testtwittersave/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "cfc3abc80d717097998df5a0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testharvesterqrc20160818071125/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "7ad09305e3393960d1a95f0e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160818050413/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "2ae1c591e658e2514b44c65b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160819072010/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "f6e093ee3484b2b364ceee5f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test888820160819081712/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,backend",
      "component_id": "e331d8f3990c7aa6264bee69",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "18a46cb7f1a6dd20",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "facts",
      "normalized_name": "facts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test888820160819081712/results/agents/17033108359/facts.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,ai,backend,observability,security",
      "component_id": "4ace548f5a2a049b84154e3d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "122bf86d6134932b",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "APKS",
      "normalized_name": "apks",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test888820160819081712/results/agents/17033108359/APKS.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "2b11c8ea8d5f469890ee88ab",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818024523/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "705f421b22defab8bcda45d8",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentqrc20160819222448/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "d08b4ba1f460c5c40960dbdc",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818025018/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "5e74673bc4c8d6eeaf39d7d8",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testharvesterqrc20160819071522/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "a4fb39e4d042455e7fc38dba",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "81962cf381fb9d05",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test77788820160822183154/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "fe87d23a9d5f11f8ef37f4cf",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test8888888820160926034929/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "993e48212ae00e01ce7d966a",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818025520/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "610915fcc0285587d7e7dc8e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160819065147/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "0e824b0c9059c646087504ce",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentbackqrc20160820045623/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "00c560e3c1272aa53f4140cc",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "05ffdba187720b94",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicsms20160819204811/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "63f262936bfaf80aa1680039",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818030528/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "75b89b80e32d7e8cfb30556d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/fdfdfdfdfdsfafa20160912040537/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "7f36693e388a9c438a8919bd",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentqrc20160819222249/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "65d6193d18325eadfc695d19",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ac9b742b079eabf6",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagent20160824202645/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "5712fa1d13a45ef1ce94c11a",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "81962cf381fb9d05",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicsms20160819205315/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "17eeb4c483e638de825675e9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160819065021/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "f8286784af10100c3fdd7df1",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testharvesterqrc20160819064452/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "b6a42eba817126efb2bd4955",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ac9b742b079eabf6",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagent20160824012115/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend",
      "component_id": "97bd86d1b9940184d9141aa0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ac9b742b079eabf6",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,backend",
      "component_id": "5e0e896b710bd03ab87c286b",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b9396739878c8587",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "facts",
      "normalized_name": "facts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/facts.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,backend",
      "component_id": "f3a3a6e944977f710401994f",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a88f77d66b18e1ae",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "facts",
      "normalized_name": "facts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/15555215554/facts.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,backend",
      "component_id": "e136d5bb3dc33f3f11912e08",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6afd6a5a276f08dd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "facts",
      "normalized_name": "facts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/12345/facts.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,process,backend,observability",
      "component_id": "1d3b0a096a3931c24c8a8503",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "55b5925f4df1705b",
      "framework": "unknown",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "APKS",
      "normalized_name": "apks",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/12345/APKS.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,backend",
      "component_id": "fb758ee72960f93ebc4444ac",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1236b1f7ca2fb1dd",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "facts",
      "normalized_name": "facts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/15555215556/facts.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,backend,observability",
      "component_id": "e680e6001c1d3bcfb89b04d2",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "40c3790efbab88ab",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "Settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/15555215556/Settings.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "e3c5d5644071cf6d556301ef",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818025754/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "bcfa7af3a735ea0f1b4cbc81",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "784fe1d01bb13234",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818030619/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "88a3d1cc4bc53dae10335dcd",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ac9b742b079eabf6",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testTargets/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "045024d5708960fe2da13cf4",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cd904bd2b97e4ef7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "mynumber",
      "normalized_name": "mynumber",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testTargets/mynumber.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "5defc11e432c457f55044e97",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f1cd5c92ea403997",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "twonumbers",
      "normalized_name": "twonumbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testTargets/twonumbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "344f21fae2a1a31847e79c5b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "82c72afe66d92752",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "twitter",
      "normalized_name": "twitter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/testTargets/twitter.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "f97ff017da5933a5726515e5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "1162b5375eb0f331",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "permissions_home_dagah_dagah_android",
      "normalized_name": "permissions-home-dagah-dagah-android",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/configTests/permissions_home_dagah_dagah_android.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "dbecb0aac06f3c94a3bea056",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3338930059b70ebd",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "permissions_home_dagah_grade",
      "normalized_name": "permissions-home-dagah-grade",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/configTests/permissions_home_dagah_grade.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "06bb999e2fd5c3f4987ec98f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "1b3db2be45aabd12",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "permissions_home_dagah_android",
      "normalized_name": "permissions-home-dagah-android",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/tests/testArtifacts/configTests/permissions_home_dagah_android.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "5a2326d5561c3c86f8bdd6f4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34c25903da8513a9",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "monitor-mtips-environment",
      "normalized_name": "monitor-mtips-environment",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/monitor-mtips-environment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "cf52b4d2ea694dec13349030",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3e2937b5688a0765",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "shared-parameter-db",
      "normalized_name": "shared-parameter-db",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/shared-parameter-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "412e8424c6da81d90f0364c1",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a8730c8ae8516e48",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "jenkins-parameter-db",
      "normalized_name": "jenkins-parameter-db",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/jenkins-parameter-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2b96da32a30926406523622f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d978c695fc208538",
      "framework": "unknown",
      "imports": "",
      "lines": 1026,
      "logic_relevance": "none",
      "name": "jenkins-ubuntu",
      "normalized_name": "jenkins-ubuntu",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/jenkins-ubuntu.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9c01dea6def62d6ccf977154",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7c1b8ff56b61be8",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "output",
      "normalized_name": "output",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/output.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "cfdd09fba1488e12bf89bde5",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d32ac3927c5f6c41",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "headers",
      "normalized_name": "headers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/headers.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "581ead1d92e6a180d1e6502d",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1599a4ed7a073f28",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "jenkins-sdb",
      "normalized_name": "jenkins-sdb",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/jenkins-sdb.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "72f6922e56d430a3b6014256",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ab66f1abd2f29c30",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/nginx_reverse_proxy/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,automation,ai",
      "component_id": "afbabbecafe4a48f5e951f7a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a97ddf66d0278f26",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/build-essential/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,discovery",
      "component_id": "2033a6248f3c8ec2fe6b6f4d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ebe357d5204457e7",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/build-essential/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security",
      "component_id": "90685a527b4eb1d313b703b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "50f6b00f93df8dbf",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/build-essential/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "80a406a0c3fec7ff9b91d33b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c3b43cf8e16cdd92",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "add_piv_key",
      "normalized_name": "add-piv-key",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/add_piv_key.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ba5b1d88c0e85e94a628b5a8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5878749deaf428d7",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "socscan-user",
      "normalized_name": "socscan-user",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/socscan-user.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend,security",
      "component_id": "90f11935c3fe61be2efb96e7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "42641e1b6eae5817",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "create-options",
      "normalized_name": "create-options",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/create-options.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend,security",
      "component_id": "e02e51bf41377c6b4addca0a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b5ca1c8a9c8eea2a",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "converge-nacls",
      "normalized_name": "converge-nacls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/converge-nacls.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "cfe2b9dad18b3624f94703e0",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0056aef5029a86a",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "attach-dhcp-option",
      "normalized_name": "attach-dhcp-option",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/attach-dhcp-option.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,security",
      "component_id": "8a8a589b3bca0d6a75694dac",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0808314520b1bf32",
      "framework": "unknown",
      "imports": "",
      "lines": 714,
      "logic_relevance": "none",
      "name": "vpc-dev-public",
      "normalized_name": "vpc-dev-public",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-dev-public.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,security",
      "component_id": "dcf1dc3ca686ce3548ad37f2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "72a53bb66c103243",
      "framework": "unknown",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "vpc-enis",
      "normalized_name": "vpc-enis",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-enis.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,security",
      "component_id": "2f41391aeafe818059a9bbb2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ab239655be74e16",
      "framework": "unknown",
      "imports": "",
      "lines": 850,
      "logic_relevance": "none",
      "name": "vpc-dev-with-nat",
      "normalized_name": "vpc-dev-with-nat",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-dev-with-nat.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,security",
      "component_id": "b93c6339c61e60be43dc22a9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "021477dae0931df1",
      "framework": "unknown",
      "imports": "",
      "lines": 998,
      "logic_relevance": "none",
      "name": "vpc-prod-public",
      "normalized_name": "vpc-prod-public",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-prod-public.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,security",
      "component_id": "0fcf9b1be4948c09a004187c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "021812032c621861",
      "framework": "unknown",
      "imports": "",
      "lines": 877,
      "logic_relevance": "none",
      "name": "vpc-nat-dns",
      "normalized_name": "vpc-nat-dns",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-nat-dns.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic",
      "component_id": "6ffaebfa7fbecc0f12d67535",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32469ef838d2d4cb",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "secondary",
      "name": "vpc_peering_rules",
      "normalized_name": "vpc-peering-rules",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_peering_rules.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend",
      "component_id": "946b7751fa1b07e75b9ac809",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1120da9a040b1e63",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "13f36bfdd9e9966337df26c7",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45b4b92a99fd6f88",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "base_nacls",
      "normalized_name": "base-nacls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/base_nacls.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend",
      "component_id": "91365b0379e90cfde32b65d3",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2bbe1c9ce83ed9c9",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/pubdev/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b0ba39c4516f5327a8d2efa7",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02409e912888ae91",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "base_nacls",
      "normalized_name": "base-nacls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/pubdev/base_nacls.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,logic",
      "component_id": "12e64a4b4b8e396c448fb9d5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32d764018d4ddecb",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "secondary",
      "name": "vpc_peering_rules",
      "normalized_name": "vpc-peering-rules",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_peering_rules.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend",
      "component_id": "f1261b4b39dcefd4ffeb2f87",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67020b43505ead36",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "03c93fe88314b93382d51e12",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d28203a5fa36f00",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "base_nacls",
      "normalized_name": "base-nacls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/base_nacls.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "c6f4b6a9d88a063cead96913",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9fc243fd52f054b3",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "vpc_peering_rules",
      "normalized_name": "vpc-peering-rules",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_peering_rules.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend",
      "component_id": "bea602cb766b20b6fd2e7e48",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2e1973267a105fa3",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "179c280998c55410dd145683",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b88432ae703a06bb",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "base_nacls",
      "normalized_name": "base-nacls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/base_nacls.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "c14ac9065628861386870b15",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e33e87f0c01e81d9",
      "framework": "unknown",
      "imports": "",
      "lines": 548,
      "logic_relevance": "none",
      "name": "vpc-prod-private",
      "normalized_name": "vpc-prod-private",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/purgatory/vpc-prod-private.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "819b94872a3ac9268bb0c10d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "aab20a259d8dad96",
      "framework": "unknown",
      "imports": "",
      "lines": 243,
      "logic_relevance": "none",
      "name": "cloudtrail-base",
      "normalized_name": "cloudtrail-base",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudtrail/cloudtrail-base.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "99c88abb8119696eacb594a5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "58edf69debc9baed",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "cloudtrail-setup",
      "normalized_name": "cloudtrail-setup",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudtrail/cloudtrail-setup.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability,security",
      "component_id": "a0e69f943802b653899ea5c2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aed84f6f9bd478c3",
      "framework": "unknown",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "port_tester",
      "normalized_name": "port-tester",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudformation/port_tester.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "6f282db6c06de85580dcdf65",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae8b74d06e229c18",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "sharing-bucket",
      "normalized_name": "sharing-bucket",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudformation/sharing-bucket.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "471f4d05febba69e1d249584",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f005d0ccb79a12c",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "port-tester-addresses-db",
      "normalized_name": "port-tester-addresses-db",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudformation/port-tester-addresses-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "cc8944d391e0b1a219317ec5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65a9934ddec95ab9",
      "framework": "unknown",
      "imports": "",
      "lines": 511,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudformation/csr-failover-setup/instances.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "fbd54046a589e01dd0ee4f7a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8246391aa198ba03",
      "framework": "unknown",
      "imports": "",
      "lines": 506,
      "logic_relevance": "none",
      "name": "vpc",
      "normalized_name": "vpc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudformation/csr-failover-setup/vpc.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,automation",
      "component_id": "5af7d14267d8c8646c6d34ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "668cefcbaabb59d5",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/rsyslog/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "2a70bbdf19db00ef21fd683a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "23f44c1275c09905",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/rsyslog/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "17f616de25178571d5c28eca",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3e0820112cf06808",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/rsyslog/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "5810012b869ea8cb1a6fb3f0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "54f255ea1a7ab680",
      "framework": "unknown",
      "imports": "",
      "lines": 343,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/java/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "b0191ed0fde1707ef2178525",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b25195415b113b8f",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/java/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,backend",
      "component_id": "4e19f0bde5a79cf553108120",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b1a5e8ecaa9ea61b",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/java/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "e139ac4d40318bf6dd001266",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0424c721ecca6df3",
      "framework": "unknown",
      "imports": "",
      "lines": 385,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/java/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,backend",
      "component_id": "95a3e61e1ca8b6af0cba6bc6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "dbca140528dce6de",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/java/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,security",
      "component_id": "0e9def2593e606e764bed6d5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "39a13182b79e324a",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security",
      "component_id": "9120b5ddb333ecbd04d1b549",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "RSACipher",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:RSACipher | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c246f63faa4118da",
      "framework": "python",
      "imports": "RSACipher",
      "lines": 25,
      "logic_relevance": "none",
      "name": "rsaTest",
      "normalized_name": "rsa-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/rsaTest.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "a6acc5398469206c6a2b4525",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "Crypto.Random.random,string",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:generateRandomPassphrase | imports:Crypto.Random.random, string | backend-score:55",
      "exports": "generateRandomPassphrase",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89b5cdccdc197a38",
      "framework": "python",
      "imports": "Crypto.Random.random,string",
      "lines": 15,
      "logic_relevance": "none",
      "name": "CipherUtils",
      "normalized_name": "cipher-utils",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CipherUtils.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability,security",
      "component_id": "dbdc1964e3c9ca50d05d13b7",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,SplunkUtil,os",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:storePullResults | imports:ConfigConsts, SplunkUtil, os | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "storePullResults",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "204d39d97e7c22dd",
      "framework": "python",
      "imports": "ConfigConsts,SplunkUtil,os",
      "lines": 49,
      "logic_relevance": "none",
      "name": "CommandWriter",
      "normalized_name": "command-writer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CommandWriter.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "aefeb32ef31cb4800b1baebf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "AESCipher,CipherUtils,ConfigConsts,FileUtils,MockS3Connection,ProfileUtils,PushArgHandler,RSACipher,S3Connection,datetime,logging,os.path,sys,tempfile",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Processor | imports:AESCipher, CipherUtils, ConfigConsts, FileUtils, MockS3Connection, ProfileUtils, PushArgHandler, RSACipher | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Processor",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f1b776e8b86645e2",
      "framework": "python",
      "imports": "AESCipher,CipherUtils,ConfigConsts,FileUtils,MockS3Connection,ProfileUtils,PushArgHandler,RSACipher,S3Connection,datetime,logging,os.path,sys,tempfile",
      "lines": 135,
      "logic_relevance": "none",
      "name": "StoreToS3",
      "normalized_name": "store-to-s3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/StoreToS3.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "b34cdf950fa5500ec36cfa3b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,ConfigReader,datetime,logging,os,re",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SplunkHelper | imports:ConfigConsts, ConfigReader, datetime, logging, os, re | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SplunkHelper",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bf7ec3c8af5cf1bd",
      "framework": "python",
      "imports": "ConfigConsts,ConfigReader,datetime,logging,os,re",
      "lines": 128,
      "logic_relevance": "none",
      "name": "SplunkUtil",
      "normalized_name": "splunk-util",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/SplunkUtil.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "cc808455db73bd9cef97fc4b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:total_seconds | backend-score:55",
      "exports": "total_seconds",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9a527fcd15a932e",
      "framework": "python",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "ProfileUtils",
      "normalized_name": "profile-utils",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/ProfileUtils.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5b27371677b8316f6e615fba",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "datetime,logging,ntpath,os,os.path,sys,time",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:buildPath, createDirs, createUniqueFileName, createUniqueFileNameExt, deleteAllFromDir, deleteFile, deleteOldFiles, getAllFilePaths | imports:datetime, logging, ntpath, os, os.path, sys, time | backend-score:55 | observability-score:55",
      "exports": "buildPath,createDirs,createUniqueFileName,createUniqueFileNameExt,deleteAllFromDir,deleteFile,deleteOldFiles,getAllFilePaths,getAllFiles,getAllSubDirs,getDirFromFilePath,getExecutionFile,getFileExtension,path_leaf,readFile,renameFile,writeFile,writeUniqueFile",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d665bc3ecca29ec",
      "framework": "python",
      "imports": "datetime,logging,ntpath,os,os.path,sys,time",
      "lines": 263,
      "logic_relevance": "none",
      "name": "FileUtils",
      "normalized_name": "file-utils",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/FileUtils.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability,security",
      "component_id": "149d88f26bb02e6d7793f471",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,csv",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:storePullResults, storeResults | imports:ConfigConsts, csv | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "storePullResults,storeResults",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f5567805aa1e4b5",
      "framework": "python",
      "imports": "ConfigConsts,csv",
      "lines": 98,
      "logic_relevance": "none",
      "name": "CSVResultWriter",
      "normalized_name": "csvresult-writer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CSVResultWriter.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "60e1e70ab4e9c7e7d4e2d427",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "sys",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fail, parseArgs | imports:sys | backend-score:55 | security-score:55",
      "exports": "fail,parseArgs",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dde1f1c291471b4c",
      "framework": "python",
      "imports": "sys",
      "lines": 79,
      "logic_relevance": "none",
      "name": "PullArgHandler",
      "normalized_name": "pull-arg-handler",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullArgHandler.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1b37b1ebe6279ee59d320350",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ConfigConsts | backend-score:55 | security-score:55",
      "exports": "ConfigConsts",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1c61340e999eb845",
      "framework": "python",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "ConfigConsts",
      "normalized_name": "config-consts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/ConfigConsts.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4f0fbe5e96f31959c47eeabc",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,Crypto,Crypto.Cipher,FileUtils,ProfileUtils,base64,datetime,hashlib,logging",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AESCipher | imports:ConfigConsts, Crypto, Crypto.Cipher, FileUtils, ProfileUtils, base64, datetime, hashlib | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AESCipher",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "433f629f611fb44b",
      "framework": "python",
      "imports": "ConfigConsts,Crypto,Crypto.Cipher,FileUtils,ProfileUtils,base64,datetime,hashlib,logging",
      "lines": 115,
      "logic_relevance": "none",
      "name": "AESCipher",
      "normalized_name": "aescipher",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/AESCipher.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "490370223b41e886579774b4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,FileUtils,csv,json",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:storeResults | imports:ConfigConsts, FileUtils, csv, json | backend-score:55 | security-score:55",
      "exports": "storeResults",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8642e28485cdea5f",
      "framework": "python",
      "imports": "ConfigConsts,FileUtils,csv,json",
      "lines": 66,
      "logic_relevance": "none",
      "name": "SplunkWriter",
      "normalized_name": "splunk-writer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/SplunkWriter.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "5cd1f0509d226099cb88753e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "ConfigConsts,ConfigParser,FileUtils,os.path,sys",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ConfigReader | imports:ConfigConsts, ConfigParser, FileUtils, os.path, sys | backend-score:55",
      "exports": "ConfigReader",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4ebbf1fe5d8ff6fb",
      "framework": "python",
      "imports": "ConfigConsts,ConfigParser,FileUtils,os.path,sys",
      "lines": 67,
      "logic_relevance": "none",
      "name": "ConfigReader",
      "normalized_name": "config-reader",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/ConfigReader.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "70262d091da4667cf5307093",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "CSVResultWriter,CommandWriter,ConfigConsts,ConfigReader,FileUtils,MockS3Connection,PullAllArgHandler,PullFromS3,S3Connection,SplunkUtil,datetime,logging,os.path,sys",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PullAll | imports:CSVResultWriter, CommandWriter, ConfigConsts, ConfigReader, FileUtils, MockS3Connection, PullAllArgHandler, PullFromS3 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "PullAll",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8005b492a6667d4e",
      "framework": "python",
      "imports": "CSVResultWriter,CommandWriter,ConfigConsts,ConfigReader,FileUtils,MockS3Connection,PullAllArgHandler,PullFromS3,S3Connection,SplunkUtil,datetime,logging,os.path,sys",
      "lines": 165,
      "logic_relevance": "none",
      "name": "PullAll",
      "normalized_name": "pull-all",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullAll.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5b35130810ac92f5edcf40b6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "AESCipher,CSVResultWriter,ConfigConsts,FileUtils,MockS3Connection,PullArgHandler,RSACipher,S3Connection,logging,os,os.path,sys",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Processor | imports:AESCipher, CSVResultWriter, ConfigConsts, FileUtils, MockS3Connection, PullArgHandler, RSACipher, S3Connection | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Processor",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "89b985f76427fb38",
      "framework": "python",
      "imports": "AESCipher,CSVResultWriter,ConfigConsts,FileUtils,MockS3Connection,PullArgHandler,RSACipher,S3Connection,logging,os,os.path,sys",
      "lines": 174,
      "logic_relevance": "none",
      "name": "PullFromS3",
      "normalized_name": "pull-from-s3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullFromS3.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3d826eccda32af19d9435740",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "CSVResultWriter,ConfigConsts,ConfigReader,FileUtils,SplunkUtil,SplunkWriter,StoreAllArgHandler,StoreToS3,logging,os,os.path,sys",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:StoreAll | imports:CSVResultWriter, ConfigConsts, ConfigReader, FileUtils, SplunkUtil, SplunkWriter, StoreAllArgHandler, StoreToS3 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "StoreAll",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3a76589e50633206",
      "framework": "python",
      "imports": "CSVResultWriter,ConfigConsts,ConfigReader,FileUtils,SplunkUtil,SplunkWriter,StoreAllArgHandler,StoreToS3,logging,os,os.path,sys",
      "lines": 181,
      "logic_relevance": "none",
      "name": "StoreAll",
      "normalized_name": "store-all",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/StoreAll.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ac7c4224c1ecd6c279a51795",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "datetime,sys",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fail, parseArgs | imports:datetime, sys | backend-score:55 | security-score:55",
      "exports": "fail,parseArgs",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "62ca78398175c5ce",
      "framework": "python",
      "imports": "datetime,sys",
      "lines": 110,
      "logic_relevance": "none",
      "name": "PullAllArgHandler",
      "normalized_name": "pull-all-arg-handler",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullAllArgHandler.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "330f3169786fd998427f5529",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "CalcS3MD5,ConfigConsts,FileUtils,ProfileUtils,boto,boto.s3.connection,boto.s3.key,datetime,logging,os.path,sys",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S3Connection | imports:CalcS3MD5, ConfigConsts, FileUtils, ProfileUtils, boto, boto.s3.connection, boto.s3.key, datetime | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "S3Connection",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3e7c41f3248896ec",
      "framework": "python",
      "imports": "CalcS3MD5,ConfigConsts,FileUtils,ProfileUtils,boto,boto.s3.connection,boto.s3.key,datetime,logging,os.path,sys",
      "lines": 179,
      "logic_relevance": "none",
      "name": "S3Connection",
      "normalized_name": "s3-connection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/S3Connection.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "34971b6f080130e7db85ce35",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,FileUtils,ProfileUtils,datetime,logging,ntpath,os.path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MockBucket, MockKey, S3Connection | imports:ConfigConsts, FileUtils, ProfileUtils, datetime, logging, ntpath, os.path | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MockBucket,MockKey,S3Connection",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e4eb94d296a3f9d0",
      "framework": "python",
      "imports": "ConfigConsts,FileUtils,ProfileUtils,datetime,logging,ntpath,os.path",
      "lines": 163,
      "logic_relevance": "none",
      "name": "MockS3Connection",
      "normalized_name": "mock-s3-connection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/MockS3Connection.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "1cb6ba585f862bd44d621011",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46628540ace5b8a2",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "88fdd9e7507147ca12b23f3f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cc98c4954a1b58d6",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "MyUSCIS_brakeman_readme",
      "normalized_name": "my-uscis-brakeman-readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/MyUSCIS_brakeman_readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "3385b2aee3cb26e31e3eb210",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "sys",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fail, parseArgs | imports:sys | backend-score:55",
      "exports": "fail,parseArgs",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3d09226ffc142c1",
      "framework": "python",
      "imports": "sys",
      "lines": 45,
      "logic_relevance": "none",
      "name": "StoreAllArgHandler",
      "normalized_name": "store-all-arg-handler",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/StoreAllArgHandler.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "2577c299fdacd467b44d5448",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "sys",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fail, parseArgs | imports:sys | backend-score:55",
      "exports": "fail,parseArgs",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf611231a0522792",
      "framework": "python",
      "imports": "sys",
      "lines": 65,
      "logic_relevance": "none",
      "name": "PushArgHandler",
      "normalized_name": "push-arg-handler",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PushArgHandler.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "f8fb00b896ab655f7d098f59",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "Crypto,Crypto.Cipher,base64,hashlib,os,os.path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AESCipher, deleteAllFiles, getAllFiles | imports:Crypto, Crypto.Cipher, base64, hashlib, os, os.path | backend-score:55 | security-score:55",
      "exports": "AESCipher,deleteAllFiles,getAllFiles",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6703b7c4abb616e9",
      "framework": "python",
      "imports": "Crypto,Crypto.Cipher,base64,hashlib,os,os.path",
      "lines": 88,
      "logic_relevance": "none",
      "name": "encrypt_sample",
      "normalized_name": "encrypt-sample",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/encrypt_sample.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "bd08d95cf233f8ea4a48abc9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "FileUtils,logging.handlers,os.path,sys",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CustomFileLogger | imports:FileUtils, logging.handlers, os.path, sys | backend-score:55 | observability-score:55",
      "exports": "CustomFileLogger",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e88af47b30549a3e",
      "framework": "python",
      "imports": "FileUtils,logging.handlers,os.path,sys",
      "lines": 27,
      "logic_relevance": "none",
      "name": "CustomLogger",
      "normalized_name": "custom-logger",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CustomLogger.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "c362d889a8b9f79679c14094",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "binascii,hashlib,os.path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:md5sum | imports:binascii, hashlib, os.path | backend-score:55 | security-score:55",
      "exports": "md5sum",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73c2b647107f000a",
      "framework": "python",
      "imports": "binascii,hashlib,os.path",
      "lines": 47,
      "logic_relevance": "none",
      "name": "CalcS3MD5",
      "normalized_name": "calc-s3-md5",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CalcS3MD5.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "c278da263e4db44999617c7a",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "ConfigConsts,ConfigParser",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DbConfigCreator | imports:ConfigConsts, ConfigParser | backend-score:55",
      "exports": "DbConfigCreator",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f451505ce262d8a1",
      "framework": "python",
      "imports": "ConfigConsts,ConfigParser",
      "lines": 53,
      "logic_relevance": "none",
      "name": "ConfigCreation",
      "normalized_name": "config-creation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/ConfigCreation.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "adddce5626ed995612de6461",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "Crypto,Crypto.Cipher,Crypto.PublicKey,FileUtils,base64,logging",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:RSACipher | imports:Crypto, Crypto.Cipher, Crypto.PublicKey, FileUtils, base64, logging | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RSACipher",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "fb30df57a59c5dfa",
      "framework": "python",
      "imports": "Crypto,Crypto.Cipher,Crypto.PublicKey,FileUtils,base64,logging",
      "lines": 100,
      "logic_relevance": "none",
      "name": "RSACipher",
      "normalized_name": "rsacipher",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/RSACipher.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "78d7e6b418bfd0fb7192b449",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3ba2505f2f685517",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/mariadb-master/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "c402a41bae9073cd1151b74d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3a2ef7aca64c40a2",
      "framework": "unknown",
      "imports": "",
      "lines": 209,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/mariadb-master/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "d5b7145988084969540d2b4e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "06eefe5ec0c884ae",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "galera",
      "normalized_name": "galera",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/mariadb-master/galera.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "509ccbfbdf2e937abfefebee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "464748a69ee02b45",
      "framework": "unknown",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apache2/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "db249861e7c472c6d9f7629a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f4a26caa69fb92a1",
      "framework": "unknown",
      "imports": "",
      "lines": 368,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apache2/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,backend",
      "component_id": "814feef2a458c1f2f4e060b2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "45d53d3a30af2653",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apache2/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "88134a01201cdf218880a45b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "90581ddc9ce0dd27",
      "framework": "unknown",
      "imports": "",
      "lines": 595,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apache2/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "10bb4332e4e63b43a484b792",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f95fa76ed8c9660",
      "framework": "unknown",
      "imports": "",
      "lines": 257,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apache2/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security",
      "component_id": "7d7802bf53f1cd62f59d4beb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "abdde8b24f8941b3",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apache2/test/kitchen/cookbooks/apache2_test/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "5a46b70565310fde216a5659",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f299f447b57c330",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/yum/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,discovery",
      "component_id": "1a45c4e189a21ff832ca161d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b468b4fe6bd0fd47",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/yum/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "fd1e341372bda27781255168",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f5b51254ac88e4b5",
      "framework": "unknown",
      "imports": "",
      "lines": 225,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/yum/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "1d5f7bf90b8bdd0d9c742974",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6437ca90b308a89a",
      "framework": "unknown",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/nginx/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "67384f4e2794a37492920446",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ced9210c4df4a630",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/nginx/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,backend",
      "component_id": "c7d72a6c30f1792ca3f72f35",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "45d53d3a30af2653",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/nginx/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "bbe1a74d3c694022a200cf9b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4c4ce7ba3a2bf333",
      "framework": "unknown",
      "imports": "",
      "lines": 418,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/nginx/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "5998933db1637fc1edbc5d05",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f95fa76ed8c9660",
      "framework": "unknown",
      "imports": "",
      "lines": 257,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/nginx/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "1d93721cce13abbe6807b7e8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f4ec290d00e7b6fd",
      "framework": "unknown",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/runit/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "796b7721c74944665885640c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "74da23b402a5fd14",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/runit/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "6a1aecf59e0c4ba70f73148c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "137a372eb933d556",
      "framework": "unknown",
      "imports": "",
      "lines": 422,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/runit/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "dded2e575a1435ec37c5a52b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f220ce4e09bc48e8",
      "framework": "unknown",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apt/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "044a53858acb4c35d21a5ff4",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c258935f9139eb3c",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apt/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "27b1ec5645869cf94b53ca28",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e2c7c338f4e050d2",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apt/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security,automation",
      "component_id": "82741f57e7a6ff9390bf18f8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "36dc451c27b9b6be",
      "framework": "unknown",
      "imports": "",
      "lines": 255,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apt/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,backend",
      "component_id": "0a34bfe90d80950072716304",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a72407982d4fd536",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/apt/test/cookbooks/apt_test/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "e0fe75055e0bdf9d0f9698c0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5a762f19daa0220b",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/chef_handler/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,discovery",
      "component_id": "82cb4ff6fa463cbbe49adbd9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "50f9792484a95c07",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/chef_handler/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security",
      "component_id": "84cd3c499997603cf6277b5e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9fc7ab70c35ece3",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/chef_handler/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "56bf2dc7f70b841961e0df88",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e4d12a9720109968",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/phantomjs/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,discovery",
      "component_id": "fbe2c49903286e2f355d9a09",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "08971b2f00f2b39c",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/phantomjs/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security",
      "component_id": "e984a3ce0edaae49cec6a331",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "55da871d5e3e6655",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/phantomjs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "b8779477a3103a4455e8e616",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "14f232ac61f2fe94",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "59634db6e06aa0032b7e2cf6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "47c203b07956808e",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "56e5a54b0fe241ddb223d5c2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b55cdf2a10b759db",
      "framework": "unknown",
      "imports": "",
      "lines": 357,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/aws/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "b9a9b5ba6444a78c1c36a8ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0bd315c9bc96d4fc",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/7-zip/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,discovery,automation",
      "component_id": "b6c4a44e30b97dea09dcecff",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4ee4b220e0de2bbc",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/7-zip/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,security,automation",
      "component_id": "f8d4f821edad8f9798e9dce1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fbbd9b1e66cfcc9f",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/cookbooks/7-zip/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d3f0282b818c11f0141b90aa",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/packer-baremetal/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "ad5fc9fdde99868b1ab74487",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "hashlib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S40YowsupEnv | imports:.env, hashlib | backend-score:55 | security-score:55",
      "exports": "S40YowsupEnv",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "fd98f31d28fda8c3",
      "framework": "python",
      "imports": ".env,hashlib",
      "lines": 40,
      "logic_relevance": "none",
      "name": "env_s40",
      "normalized_name": "env-s40",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/env_s40.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "330a23868ec9ad24d8e01be0",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "75b8a718951906b8",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "575fdf9440f57599f51a5a99",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend,security",
      "component_id": "6c54903a598c5d1ed6250bd3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e00f847a7d6f915",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "provision",
      "normalized_name": "provision",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/provision.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "bf5dea9d8766233cec15983f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30d07e53d64caf44",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "ext_disk",
      "normalized_name": "ext-disk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/ext_disk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,ai",
      "component_id": "3f3a309988b0a35aa7ca5f31",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f23d314a1e5102a5",
      "framework": "unknown",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "installer",
      "normalized_name": "installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend",
      "component_id": "2c39db8cc5282417a3f63341",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "12da735ace886a7d",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "gradle",
      "normalized_name": "gradle",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/gradle.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,security,automation",
      "component_id": "54b3721165b3e0a65b4b26c5",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "hashlib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S40YowsupEnv | imports:.env, hashlib | backend-score:55 | security-score:55 | automation-score:50",
      "exports": "S40YowsupEnv",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "fd98f31d28fda8c3",
      "framework": "python",
      "imports": ".env,hashlib",
      "lines": 40,
      "logic_relevance": "none",
      "name": "env_s40",
      "normalized_name": "env-s40",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/env_s40.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend",
      "component_id": "39ead24b95df0380253c072a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf195cec8bfeef06",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "dagah_gui_installer",
      "normalized_name": "dagah-gui-installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/dagah_gui_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,backend,observability,security",
      "component_id": "cc19163b4d371871bf3f6a4d",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "75b8a718951906b8",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "bbb05262b6b740e0390c16ba",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8cf94a4b88e6b530",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "zerodisk",
      "normalized_name": "zerodisk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/zerodisk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,observability,security",
      "component_id": "15575f1fbcc42ef40d8a169d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb311f59b8034b3c",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "jenkins_vagrant_aws",
      "normalized_name": "jenkins-vagrant-aws",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/jenkins_vagrant_aws.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "47f97addd82be7c56da3a467",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66b233892dba710a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "virtualbox",
      "normalized_name": "virtualbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/virtualbox.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "6a2de7063c88f14bdc51253a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca4df424fb084a4f",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "dependencies",
      "normalized_name": "dependencies",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/dependencies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "77b83434a37b23715a365c3d",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c716c61a037070a",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "import_to_S3",
      "normalized_name": "import-to-s3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/import_to_S3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "e21be8a7c3e5c484c70965a2",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80e67fe57fbd3a32",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/base.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "741af1ba0e89336ff31a2064",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b7ddf9a6de6afbe",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "whatsapp_config",
      "normalized_name": "whatsapp-config",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/whatsapp_config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "e6c78d00b779b95aad119514",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ecda29f41276bcd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "import_instance_to_s3",
      "normalized_name": "import-instance-to-s3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/import_instance_to_s3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "f50c552a1d2b19c1a30bbbc1",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a3798eb4d2acea6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "vmware",
      "normalized_name": "vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/vmware.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "0b2d976b4b5eb45b68672291",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8dce2c0f41008255",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "awsinit",
      "normalized_name": "awsinit",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/awsinit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "5fddc0cef773ec3ca12d6cee",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "56500607aa372ddb",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vagrant",
      "normalized_name": "vagrant",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/vagrant.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "design-system",
      "categories": "automation,backend",
      "component_id": "48f2f014591a2b0d7e003e82",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for design-system; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3fdd16e086dd3e47",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "cleanup",
      "normalized_name": "cleanup",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/cleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "1dee8960d087ac202f65e264",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8b80058caa796b86",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "daa52a6c9f0735e6f5b0942d",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,ai",
      "component_id": "dc45614cef77c1e5ebc773d4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "44db8df002caff0a",
      "framework": "unknown",
      "imports": "",
      "lines": 154,
      "logic_relevance": "none",
      "name": "installer",
      "normalized_name": "installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,security,automation",
      "component_id": "65815330388be8c703c42df7",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8b80058caa796b86",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "a152a67a1d3c8e2fd93ca79b",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8cf94a4b88e6b530",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "zerodisk",
      "normalized_name": "zerodisk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/zerodisk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "da6311d01b63c1ba2cfe7a43",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66b233892dba710a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "virtualbox",
      "normalized_name": "virtualbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/virtualbox.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "33c33f74f3779c35cfa6f560",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a62973c688910d21",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "dependencies",
      "normalized_name": "dependencies",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/dependencies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "d2e10f1e116c85cc7c9d6415",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80e67fe57fbd3a32",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/base.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "fc1cc7c76c66c62da9c912a2",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a3798eb4d2acea6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "vmware",
      "normalized_name": "vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/vmware.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "26f7fe290b9650d74827afad",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "56500607aa372ddb",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vagrant",
      "normalized_name": "vagrant",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/vagrant.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "design-system",
      "categories": "automation,backend",
      "component_id": "ad1e460d68d10bc26de19dbc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for design-system; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3fdd16e086dd3e47",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "cleanup",
      "normalized_name": "cleanup",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/cleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "6a76568e11151d16c2549d94",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0085bf7b2218777",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/openstack/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "bb968005e73b97c9aebb20b0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fed5fb4cc260e8a2",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/openstack/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "f5ab3fdfadd3f33cfdcd2743",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e41e174e13c4729e",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/docker/template.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation,backend",
      "component_id": "217683907383ee21adcceab7",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5c19799d4190d260",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/docker/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "611ee4be23f6f0e8ae8622e5",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/azure/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "6850c9e86f78d2a8a759ba1b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cfcb653aa9131583",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/azure/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "99def1a30a43ce1bc8dd1561",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5f1f5dee83fd46b6",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/google/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "84a3fe30796ab7b763159010",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4007d2ac7aa31c93",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/google/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "778e62033b73e223290bf45c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/virtualbox/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "410bb26dccdf448d9dfa0a75",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "dagah_baremetal_virtualbox",
      "normalized_name": "dagah-baremetal-virtualbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/virtualbox/dagah_baremetal_virtualbox.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "89a62ce0e88f00f3934cefce",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9d0e4d9ad8732499",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dagah_virtualbox",
      "normalized_name": "dagah-virtualbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/virtualbox/dagah_virtualbox.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "52f2b8fcb6f162ba0da3c2c8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9d0e4d9ad8732499",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dagah_vmware",
      "normalized_name": "dagah-vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/virtualbox/dagah_vmware.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "backend,automation",
      "component_id": "f75020a56df946f5183101b0",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3dfe1f6b332a01f",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "packer",
      "normalized_name": "packer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/packer.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a7722388a0e0d30fd0611617",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "aceba6c74a85069b29caab95",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9d0e4d9ad8732499",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dagah_virtualbox",
      "normalized_name": "dagah-virtualbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_virtualbox.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "0c69163a22939855084ce43e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d3b64761be5913cb",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "grep_ami_id",
      "normalized_name": "grep-ami-id",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/grep_ami_id.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8379c5271259bbb27feca604",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d82134b39763e9d8",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "dagah_aws_east",
      "normalized_name": "dagah-aws-east",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_aws_east.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8623e4ccb59e34ab5df257db",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "33015e5d6d90d849",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "dagah_vmware",
      "normalized_name": "dagah-vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_vmware.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "664772afbd36afe2c64433b2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a2d56ce806e2866b",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "dagah_aws_nossh",
      "normalized_name": "dagah-aws-nossh",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_aws_nossh.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "623093d1daaa48e2449228eb",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "635b7c2598554b66",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "dagah_aws_east_developer",
      "normalized_name": "dagah-aws-east-developer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_aws_east_developer.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9eba99493a86008e4959efb6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b7f7c03d0f00c8cf",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dagah_aws",
      "normalized_name": "dagah-aws",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_aws.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "937988e27918bd537db5d3dc",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "635b7c2598554b66",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "dagah_aws_jenkins",
      "normalized_name": "dagah-aws-jenkins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_aws_jenkins.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "4174da64d339341b2019a378",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a9cd0d3913ed8650",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "dagah_aws_east_jenkins",
      "normalized_name": "dagah-aws-east-jenkins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/dagah_aws_east_jenkins.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend,security",
      "component_id": "db1aaecfaabb19104abdaee6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e00f847a7d6f915",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "provision",
      "normalized_name": "provision",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/provision.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,ai",
      "component_id": "c5973c26302b7ae68efd13d6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8ca576788fd70f47",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "installer",
      "normalized_name": "installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend",
      "component_id": "8264ea5cc1aa2fb869d3d711",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5edc98770d23af17",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "gradle",
      "normalized_name": "gradle",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/gradle.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend",
      "component_id": "789511e738686913cb1d8f23",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ad45f69ce5e7ff10",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "dagah_gui_installer",
      "normalized_name": "dagah-gui-installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/dagah_gui_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "44615aec48624624a22e63a1",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66ffe5be923b8d53",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "3dcde152ec056cc8f7e02928",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "584bd24f3a2486b7",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "vagrant_configure",
      "normalized_name": "vagrant-configure",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/vagrant_configure.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "3469d275ab83651c10cd2797",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d16f1fffa5eb2ac",
      "framework": "unknown",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "create_base_ami",
      "normalized_name": "create-base-ami",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/create_base_ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "017900fe15cd0f20a4d8a11a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9dbd4817d6daa5b4",
      "framework": "unknown",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "install_prereqs",
      "normalized_name": "install-prereqs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/install_prereqs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "64401c03435e85f0ed0f603c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a1e35f0c0a4d2d0d",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "awsUserData",
      "normalized_name": "aws-user-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/awsUserData.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "877fcd4c8e95c543e14c3d02",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fe7a66d7517c38e9",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "dagah_aws_east_backup",
      "normalized_name": "dagah-aws-east-backup",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/dagah_aws_east_backup.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "81698b7c84b4aff2ca255ec7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca4df424fb084a4f",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "dependencies",
      "normalized_name": "dependencies",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/dependencies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "f8afee29fa14427e65324604",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80e67fe57fbd3a32",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/base.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "aa29c2bdb48c80d629880dd8",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b7ddf9a6de6afbe",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "whatsapp_config",
      "normalized_name": "whatsapp-config",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/whatsapp_config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,backend",
      "component_id": "666b338e1029118dfd2d30cd",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ea74593a9b1eb8bc",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "otherpypi",
      "normalized_name": "otherpypi",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/otherpypi.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "dda04f842362ab4f1b829287",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8dce2c0f41008255",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "awsinit",
      "normalized_name": "awsinit",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/awsinit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "9f705a559a87bbc039c416c1",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "311e55666c764b97",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vagrant",
      "normalized_name": "vagrant",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/aws/archive/vagrant.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d535811d120e5342ec05370f",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/vmware/template.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "8caa32c26666a0b0a4631231",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73d2eea61238fddf",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "dagah_VMX_Update",
      "normalized_name": "dagah-vmx-update",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/vmware/dagah_VMX_Update.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b8866952de32468380959f42",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fd284599e5008e3e",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "dagah_vmware",
      "normalized_name": "dagah-vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/vmware/dagah_vmware.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "746f7329f1b541ae1e01cfeb",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ffa7eee36a50",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "dagah_baremetal_vmware",
      "normalized_name": "dagah-baremetal-vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/providers/vmware/dagah_baremetal_vmware.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "077813b6e7b52e96e083cf0d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7182182ad01a69ad",
      "framework": "unknown",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "plugins",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/jenkins_artifacts/plugins.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "1e31e6cac677de25abe5a659",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a214c5ba6b727708",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "maintaining_jenkins_readme",
      "normalized_name": "maintaining-jenkins-readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/jenkins_artifacts/maintaining_jenkins_readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend,security",
      "component_id": "255d5264e556ff7564b72431",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4d1ae6aa0f0ae8cb",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "provision",
      "normalized_name": "provision",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/provision.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "35a0630350f9bbd00d22f71d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30d07e53d64caf44",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "ext_disk",
      "normalized_name": "ext-disk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/ext_disk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,ai",
      "component_id": "49b17433411adfca61763ccb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3201be76a1a0fd51",
      "framework": "unknown",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "installer",
      "normalized_name": "installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "90b6af20736719faa55c3a29",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "82ff75de5b9b498d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "clean_ami",
      "normalized_name": "clean-ami",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/clean_ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend",
      "component_id": "60ff404380ef324363494592",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7f542fbfcab269c4",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "gradle",
      "normalized_name": "gradle",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/gradle.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,security,automation",
      "component_id": "56a0eb494cd543b49da2b7ea",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "hashlib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S40YowsupEnv | imports:.env, hashlib | backend-score:55 | security-score:55 | automation-score:50",
      "exports": "S40YowsupEnv",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5c3bbf7b40cb02e9",
      "framework": "python",
      "imports": ".env,hashlib",
      "lines": 40,
      "logic_relevance": "none",
      "name": "env_s40",
      "normalized_name": "env-s40",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/env_s40.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend",
      "component_id": "3eacee8e302f3aa4ff62f7c6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d5dad37b1cd6e74",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "dagah_gui_installer",
      "normalized_name": "dagah-gui-installer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/dagah_gui_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,backend,automation",
      "component_id": "27ddc4a7ee584eb3417b013e",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7794c719900f9727",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "fragilepypi",
      "normalized_name": "fragilepypi",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/fragilepypi.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,backend,observability,security",
      "component_id": "0d9afc628c3cb2f7d6cbbbe3",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66ffe5be923b8d53",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "f1c74b60c810005755879677",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "584bd24f3a2486b7",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "vagrant_configure",
      "normalized_name": "vagrant-configure",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/vagrant_configure.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "e9c599908c2fadaf8d5d0cce",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8cf94a4b88e6b530",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "zerodisk",
      "normalized_name": "zerodisk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/zerodisk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,observability,security",
      "component_id": "6b747ebbfbe9e502e5f8d615",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb311f59b8034b3c",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "jenkins_vagrant_aws",
      "normalized_name": "jenkins-vagrant-aws",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/jenkins_vagrant_aws.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "81d9a2ad722f51ce69f73d4f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a1e35f0c0a4d2d0d",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "awsUserData",
      "normalized_name": "aws-user-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/awsUserData.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "3bbb2b43578073b978725625",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66b233892dba710a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "virtualbox",
      "normalized_name": "virtualbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/virtualbox.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "3ef8a76dc7cea38e88413adc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5134353f215dcc1c",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "dependencies",
      "normalized_name": "dependencies",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/dependencies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "c667f7fa7dd24aedc0b2d287",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c716c61a037070a",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "import_to_S3",
      "normalized_name": "import-to-s3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/import_to_S3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "7dc4cb224fb7c6f0e6bf6502",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80e67fe57fbd3a32",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/base.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "812117f7e5be1cfeb39a73a9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3ae827d7ebd8b59",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "whatsapp_config",
      "normalized_name": "whatsapp-config",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/whatsapp_config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "6ca53a7e4236afab9a4dd6eb",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ecda29f41276bcd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "import_instance_to_s3",
      "normalized_name": "import-instance-to-s3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/import_instance_to_s3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,automation",
      "component_id": "16945ee5ef07c58c91ef5c6e",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ea74593a9b1eb8bc",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "otherpypi",
      "normalized_name": "otherpypi",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/otherpypi.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "2ee209a9eedb449ce402707d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8137b2e78a40806c",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "php_updater",
      "normalized_name": "php-updater",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/php_updater.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "7e508d4bf428399c262a55d8",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ccdf8e5e1f1aa1a3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "unzip",
      "normalized_name": "unzip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/unzip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "2b058d1e4ed0a2556c930d8e",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a3798eb4d2acea6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "vmware",
      "normalized_name": "vmware",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/vmware.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "cd962f04a18438c0f98d918c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8dce2c0f41008255",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "awsinit",
      "normalized_name": "awsinit",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/awsinit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,security",
      "component_id": "b514d8e2fabb165cf469e4b1",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "56500607aa372ddb",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vagrant",
      "normalized_name": "vagrant",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/vagrant.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "design-system",
      "categories": "automation,backend",
      "component_id": "c70699f932fc3c8fd91115dd",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for design-system; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3fdd16e086dd3e47",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "cleanup",
      "normalized_name": "cleanup",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/cleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "4b75a90ca0935b68c2d4e544",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c7b68ac37f364473",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "ls",
      "normalized_name": "ls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/pipeline/packer/scripts/vagrant-examples/ls.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "f5e6f9bf073d0f49f1ca789f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "base64,hashlib,marshal,os,sys,time",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:genh, getKey, licc | imports:base64, hashlib, marshal, os, sys, time | backend-score:55 | security-score:55",
      "exports": "genh,getKey,licc",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d4f1194a674751f",
      "framework": "python",
      "imports": "base64,hashlib,marshal,os,sys,time",
      "lines": 149,
      "logic_relevance": "none",
      "name": "licc",
      "normalized_name": "licc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/developer/licc.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "522e414f9b8b3eb876b5a8d4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "json,licKey,licRead,licc,marshal,os,sys,time",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licCreate, readManifest | imports:json, licKey, licRead, licc, marshal, os, sys, time | backend-score:55 | security-score:55",
      "exports": "licCreate,readManifest",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1eadcc920f864578",
      "framework": "python",
      "imports": "json,licKey,licRead,licc,marshal,os,sys,time",
      "lines": 152,
      "logic_relevance": "none",
      "name": "licCreate",
      "normalized_name": "lic-create",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/developer/licCreate.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "589159c7a0df2b90f80cb28b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a29cd1bb9abf0354",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "example-license",
      "normalized_name": "example-license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/developer/example-license.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "aed51b812642abb8c306251d",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "M2Crypto,os,sys",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:licGenKey | imports:M2Crypto, os, sys | backend-score:55 | security-score:55",
      "exports": "licGenKey",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e2221aa51f6e0f9",
      "framework": "python",
      "imports": "M2Crypto,os,sys",
      "lines": 20,
      "logic_relevance": "none",
      "name": "licGenPem",
      "normalized_name": "lic-gen-pem",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/developer/licGenPem.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "05812dec74c076b307850e04",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0d4e3d82339d0566",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/codemirror/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "709959ca31f9058fea4b6bd2",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ff8f1bcf674090a8",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/tinymce/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "8103a8491abf9a9ff245f5dc",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d704e5f0c111291d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/archive/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "3228c4ac8bd518ec2299abbd",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6b6fd322b4ba64cd",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/update/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,security",
      "component_id": "6dc02e6857a4118e8776f0ea",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8897dfe4a9f13b4c",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "update_dagah",
      "normalized_name": "update-dagah",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/update/update_dagah.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "8488b35cfbcf5dd5ee1afcb3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5c5aec9a09fb1aa0",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/targets/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "88e66d884cda4f3bd381d181",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0d3b933c0a0d74b1",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/resources/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "5482c4bc94f9ffbb13abba81",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "Qcommon,os,socket,sys,time",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fuse | imports:Qcommon, os, socket, sys, time | backend-score:55",
      "exports": "fuse",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb835dc1058717ea",
      "framework": "python",
      "imports": "Qcommon,os,socket,sys,time",
      "lines": 153,
      "logic_relevance": "none",
      "name": "qp",
      "normalized_name": "qp",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/Spool/qp.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "947db904c50920ce223e45a4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "Qcommon,os,socket,threading,time",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CCLIENT, CDQUEUE, Control, Listener, Schedule, dprint, mprint | imports:Qcommon, os, socket, threading, time | backend-score:55 | automation-score:45",
      "exports": "CCLIENT,CDQUEUE,Control,Listener,Schedule,dprint,mprint",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ec6864ef1c58e6e",
      "framework": "python",
      "imports": "Qcommon,os,socket,threading,time",
      "lines": 513,
      "logic_relevance": "none",
      "name": "qserver",
      "normalized_name": "qserver",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/Spool/qserver.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "0303ca27ff79c6668d0739d6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "Qcommon,os,socket,sys,threading,time",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:Qcommon, os, socket, sys, threading, time | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16baa577084858a3",
      "framework": "python",
      "imports": "Qcommon,os,socket,sys,threading,time",
      "lines": 79,
      "logic_relevance": "none",
      "name": "qctl",
      "normalized_name": "qctl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/Spool/qctl.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "0eb249b7ff077b61cd864572",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3f0aadd3de33acec",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "send",
      "normalized_name": "send",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/Spool/send.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bd5a3a1966c63369a66fda95",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "random",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:random | backend-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "149717c40296b7c8",
      "framework": "python",
      "imports": "random",
      "lines": 3,
      "logic_relevance": "none",
      "name": "p",
      "normalized_name": "p",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/Spool/p.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "e059e7deb9a0322ba04f433f",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ea4db7563411977",
      "framework": "python",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "Qcommon",
      "normalized_name": "qcommon",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/Spool/Qcommon.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai,backend",
      "component_id": "687de3519058b279c50239d4",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1782b7e4af73a5d9",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/agents/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "075518d489364862e48aad3c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "pycurl,shlex,subprocess",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:pycurl, shlex, subprocess | backend-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d575519fffb63c03",
      "framework": "python",
      "imports": "pycurl,shlex,subprocess",
      "lines": 9,
      "logic_relevance": "none",
      "name": "update",
      "normalized_name": "update",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/update.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "966c4109b9e64f174203f457",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ccdf8e5e1f1aa1a3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "unzip",
      "normalized_name": "unzip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/unzip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "e2da3c93e56227595eda307f",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5edb3b68a4dea2ca",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "ls",
      "normalized_name": "ls",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/ls.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0f2dc3ef86f4c8e44aae6625",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca3d163bab055381",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/composer.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "bd94862ccb578a8fcdc337a7",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ccdf8e5e1f1aa1a3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "unzip",
      "normalized_name": "unzip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/update/unzip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "e8aa31eb712ed1fbe8c48b99",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "997914a1cd4d2c98",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "Dagah_custom",
      "normalized_name": "dagah-custom",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/css/Dagah_custom.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,ai",
      "component_id": "3565b4e0d73cc7376df32484",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9aaa30d3ebc72f03",
      "framework": "css",
      "imports": "",
      "lines": 354,
      "logic_relevance": "none",
      "name": "Dagah",
      "normalized_name": "dagah",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/css/Dagah.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,ai",
      "component_id": "c9879ce25f957ccf0cf3a937",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9aaa30d3ebc72f03",
      "framework": "css",
      "imports": "",
      "lines": 354,
      "logic_relevance": "none",
      "name": "sb-admin-2",
      "normalized_name": "sb-admin-2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/css/sb-admin-2.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "575749d1151d2c7f7498f639",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "56ce419afae15f49",
      "framework": "css",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "timeline",
      "normalized_name": "timeline",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/css/timeline.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "style,backend",
      "component_id": "b638873965f4afa50f7e79a1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for testing; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6a967a6323464177",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,ai",
      "component_id": "4c2fa2401ddf2cc426a412a6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a084b1e730016387",
      "framework": "css",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "sb-admin-2",
      "normalized_name": "sb-admin-2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/less/sb-admin-2.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "4033fa2e49e5381adfab1452",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bd8b08b7f363dc6a",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "41c3672589656e4fc0c148d5",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56bd6a6e5b0d37d8",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "sb-admin-2",
      "normalized_name": "sb-admin-2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/sb-admin-2.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1d8cfe15524eef85a3a4e561",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3cc868a89cea0f30",
      "framework": "unknown",
      "imports": "",
      "lines": 1242,
      "logic_relevance": "none",
      "name": "flot-data",
      "normalized_name": "flot-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/flot-data.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "19a1d7a54d72e34b5afda334",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4433387c4e3a3e8",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "htmlSpecialChars",
      "normalized_name": "html-special-chars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/htmlSpecialChars.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,security",
      "component_id": "ef9f015fb5f31c8c00e39c86",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56aaab5855e4cdba",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "morris-data",
      "normalized_name": "morris-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/morris-data.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "09e3b0684e18d8176eb0e757",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "eaf7e9a8a8182b83",
      "framework": "unknown",
      "imports": "",
      "lines": 944,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend,observability",
      "component_id": "69aafea9659a13ec7ffe856f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "59c44ed16b6f776c",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "eef967afea095da01c8c22db",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "rollup-plugin-buble",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:rollup-plugin-buble | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3315b049e31af593",
      "framework": "unknown",
      "imports": "rollup-plugin-buble",
      "lines": 18,
      "logic_relevance": "none",
      "name": "rollup.config",
      "normalized_name": "rollup-config",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/rollup.config.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,security",
      "component_id": "4f01760bf16687c0d29ed2d4",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ac76dd67701e0f9",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,backend,automation",
      "component_id": "6f1f62240186a0d6cda78eb1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "316b13b92bb517e9",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,backend,security",
      "component_id": "9dcaddd09ea32eb06bdf7874",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c3efc5f2e994d7d5",
      "framework": "css",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "mode_test",
      "normalized_name": "mode-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/mode_test.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,process",
      "component_id": "261335803fc2a73d13f52b05",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "590b17d5bbffc869",
      "framework": "unknown",
      "imports": "",
      "lines": 371,
      "logic_relevance": "none",
      "name": "doc_test",
      "normalized_name": "doc-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/doc_test.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "3188a7c2fe19c84427f5eb4c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c94ec97430fdf80",
      "framework": "unknown",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "multi_test",
      "normalized_name": "multi-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/multi_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1a9f00e436419860eb3eabf3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06d386576492dd1f",
      "framework": "unknown",
      "imports": "",
      "lines": 2200,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "dae31e1e59e4c2003e97d031",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2dd9b0b86da391e1",
      "framework": "unknown",
      "imports": "",
      "lines": 192,
      "logic_relevance": "none",
      "name": "mode_test",
      "normalized_name": "mode-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/mode_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "4e1556d3611e6738afd3d6b6",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a303eea16642f65",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "scroll_test",
      "normalized_name": "scroll-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/scroll_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a97d919ee8bb36b0f90c3547",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "child_process,http,node-static,path,phantomjs-prebuilt",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./lint, child_process, http, node-static, path, phantomjs-prebuilt | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "adf1f8ee18c2e381",
      "framework": "unknown",
      "imports": "./lint,child_process,http,node-static,path,phantomjs-prebuilt",
      "lines": 31,
      "logic_relevance": "none",
      "name": "run",
      "normalized_name": "run",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/run.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "9d3cb34e4e36978c30dbd5f0",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a14e18c18c99cdd5",
      "framework": "unknown",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "emacs_test",
      "normalized_name": "emacs-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/emacs_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b179f5d9377e5d0faeed5c32",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7201c56961638619",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "comment_test",
      "normalized_name": "comment-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/comment_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9348bc4749789ed4b7a15e47",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Failure | backend-score:55 | observability-score:55",
      "exports": "Failure",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b689efcde63d4ebd",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "driver",
      "normalized_name": "driver",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/driver.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "57bf72ecbfc26e2f48e1486b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c9059fa9129080b",
      "framework": "unknown",
      "imports": "",
      "lines": 4073,
      "logic_relevance": "none",
      "name": "vim_test",
      "normalized_name": "vim-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/vim_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "00b2d49da4d527fbf84736d5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "blint",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:blint | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30cd48cdd1ea68af",
      "framework": "unknown",
      "imports": "blint",
      "lines": 19,
      "logic_relevance": "none",
      "name": "lint",
      "normalized_name": "lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "baf7c499e9678ffbe40d17a4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "webpage",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:webpage | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d28b0bcb5ea1f162",
      "framework": "unknown",
      "imports": "webpage",
      "lines": 31,
      "logic_relevance": "none",
      "name": "phantom_driver",
      "normalized_name": "phantom-driver",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/phantom_driver.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "58bbb5d6d215c990aa1df340",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0092ba74c1b81284",
      "framework": "unknown",
      "imports": "",
      "lines": 307,
      "logic_relevance": "none",
      "name": "sublime_test",
      "normalized_name": "sublime-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/sublime_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,security,ai",
      "component_id": "1c7d7ab8ee87a07038cc9bf2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b88be4c6d256a88",
      "framework": "unknown",
      "imports": "",
      "lines": 189,
      "logic_relevance": "none",
      "name": "sql-hint-test",
      "normalized_name": "sql-hint-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/sql-hint-test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "c51f8812bdd0e1b78d25aa01",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77c2df8b877b74d2",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "search_test",
      "normalized_name": "search-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/test/search_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "5987b9e1eb8bd490aa26b710",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bbf80d76fd86329b",
      "framework": "unknown",
      "imports": "../lib/codemirror",
      "lines": 210,
      "logic_relevance": "none",
      "name": "meta",
      "normalized_name": "meta",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/meta.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f6e1e6fe28f5f5838705866b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a6331ab9cd8d445",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 249,
      "logic_relevance": "none",
      "name": "scheme",
      "normalized_name": "scheme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/scheme/scheme.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "ad9e0c0e05fc49394e52600f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c7f86d76d577c686",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 245,
      "logic_relevance": "none",
      "name": "modelica",
      "normalized_name": "modelica",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/modelica/modelica.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "b9cd5607748a946541bd3133",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "20b940faf7f577fe",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 290,
      "logic_relevance": "none",
      "name": "idl",
      "normalized_name": "idl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/idl/idl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1260c29b77537f3db2c4800f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e18a93ee401e7726",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 109,
      "logic_relevance": "none",
      "name": "pascal",
      "normalized_name": "pascal",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/pascal/pascal.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "31ac3fe5c53b0ded5b53a7d5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/simple, ../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f285a40e4f975163",
      "framework": "unknown",
      "imports": "../../addon/mode/simple,../../lib/codemirror",
      "lines": 95,
      "logic_relevance": "none",
      "name": "nsis",
      "normalized_name": "nsis",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/nsis/nsis.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7542e0732686a8850f9468b2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../htmlmixed/htmlmixed, ../ruby/ruby | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "611c3824bb6b5aca",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../htmlmixed/htmlmixed,../ruby/ruby",
      "lines": 161,
      "logic_relevance": "none",
      "name": "haml",
      "normalized_name": "haml",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/haml/haml.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "ddd113080a310a5fdd8f1150",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38777cbf9db7d727",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/haml/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b5b0444ba6c13866ba00f215",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7926b1ba59b01ee",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 88,
      "logic_relevance": "none",
      "name": "toml",
      "normalized_name": "toml",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/toml/toml.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2de131a874a7835d2201ec2e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8e0a5db56aeaf1a3",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 178,
      "logic_relevance": "none",
      "name": "pig",
      "normalized_name": "pig",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/pig/pig.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "fcbeccbac4299e49b1655d2f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "64f40bde7bf8c35b",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 345,
      "logic_relevance": "none",
      "name": "gas",
      "normalized_name": "gas",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/gas/gas.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0943b223399982f94903d6c4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c6c470ec9c790b21",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 186,
      "logic_relevance": "none",
      "name": "go",
      "normalized_name": "go",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/go/go.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8f018ac4f91891b79706b5ab",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d5529fdc35ca46c2",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 174,
      "logic_relevance": "none",
      "name": "apl",
      "normalized_name": "apl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/apl/apl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1922dd2111520b044c74060a",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09418771660cfdd1",
      "framework": "unknown",
      "imports": "",
      "lines": 417,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/textile/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6c289ca77845934a00e21a2c",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:RE | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RE",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2a397b6a8c8d7d7c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 469,
      "logic_relevance": "none",
      "name": "textile",
      "normalized_name": "textile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/textile/textile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "e117646a09b6386236778383",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d79d686eb24968a2",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 162,
      "logic_relevance": "none",
      "name": "turtle",
      "normalized_name": "turtle",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/turtle/turtle.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2c9d816c8fb1a5e8d675cacc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e048fd2f26d07b4d",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 180,
      "logic_relevance": "none",
      "name": "sparql",
      "normalized_name": "sparql",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/sparql/sparql.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "34c481d2e8b7fa2d3d0e76e9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fcfe7ace29726977",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 84,
      "logic_relevance": "none",
      "name": "troff",
      "normalized_name": "troff",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/troff/troff.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "f87fc0f5459cd5c1153a5525",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bf9c26a3fa847be2",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 97,
      "logic_relevance": "none",
      "name": "cmake",
      "normalized_name": "cmake",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/cmake/cmake.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "59acf9ef22e2156914c5cc37",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/multiplex, ../../lib/codemirror, ../htmlmixed/htmlmixed | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ba9289ebfe4bb71",
      "framework": "unknown",
      "imports": "../../addon/mode/multiplex,../../lib/codemirror,../htmlmixed/htmlmixed",
      "lines": 28,
      "logic_relevance": "none",
      "name": "htmlembedded",
      "normalized_name": "htmlembedded",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/htmlembedded/htmlembedded.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b1f372f58e5d536d659cf94b",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6cb9e048e1ee5c9a",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/xquery/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9becb97ffb5997b44aa46366",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "50153344c52d89d0",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 437,
      "logic_relevance": "none",
      "name": "xquery",
      "normalized_name": "xquery",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/xquery/xquery.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "5ce17625deb6eb8e3eb5ac45",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d9c0b27d1d7bc058",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/python/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "692df76cc0f64951dc215714",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "704fa6018060c4a4",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 340,
      "logic_relevance": "none",
      "name": "python",
      "normalized_name": "python",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/python/python.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,security",
      "component_id": "e2351cae13fd4a24f717ca53",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "623f31fd2ad893cf",
      "framework": "unknown",
      "imports": "",
      "lines": 200,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/css/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security",
      "component_id": "0e90d549f51fa287807dc242",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47404928d948d510",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "less_test",
      "normalized_name": "less-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/css/less_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "0111ab52c5b012b050c09fee",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "baeaf2643fff208c",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "gss_test",
      "normalized_name": "gss-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/css/gss_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "2eb7e332c76ee70132d4742c",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d43d94e7606d9fe0",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "scss_test",
      "normalized_name": "scss-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/css/scss_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "6107260818af78260718d735",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c11647809075cbd",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 825,
      "logic_relevance": "none",
      "name": "css",
      "normalized_name": "css",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/css/css.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "49d415d3bb530b81da7c545e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb650bc4cd682e95",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 306,
      "logic_relevance": "none",
      "name": "clojure",
      "normalized_name": "clojure",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/clojure/clojure.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d242b8da9065acdfdbfcfb0c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9a3da0cc9b883440",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 112,
      "logic_relevance": "none",
      "name": "spreadsheet",
      "normalized_name": "spreadsheet",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/spreadsheet/spreadsheet.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "e5e6e799f3eb77933dfc0e05",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4d31fa9c5485913a",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 204,
      "logic_relevance": "none",
      "name": "asn.1",
      "normalized_name": "asn-1",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/asn.1/asn.1.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "5d3f9807bef2017a3f045fee",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bd7760ff68f643c6",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 116,
      "logic_relevance": "none",
      "name": "z80",
      "normalized_name": "z80",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/z80/z80.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "09ae25f1a833ee59bba5079c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7214fe2e75215d9d",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 142,
      "logic_relevance": "none",
      "name": "jinja2",
      "normalized_name": "jinja2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/jinja2/jinja2.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "9ec916693f37051d1e798a4c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "61a7e9859e5b2b02",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 178,
      "logic_relevance": "none",
      "name": "gherkin",
      "normalized_name": "gherkin",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/gherkin/gherkin.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "3e106b020d4158c54cdf9124",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f776d040ae01feb7",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 196,
      "logic_relevance": "none",
      "name": "asterisk",
      "normalized_name": "asterisk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/asterisk/asterisk.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "946806485bafc4848c8cd25d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/simple, ../../lib/codemirror | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e8b27b2ee18dddcc",
      "framework": "unknown",
      "imports": "../../addon/mode/simple,../../lib/codemirror",
      "lines": 79,
      "logic_relevance": "none",
      "name": "dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/dockerfile/dockerfile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "0132a624c3997aeb932b9191",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../clike/clike | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a0ca22f4f5727ecc",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../clike/clike",
      "lines": 157,
      "logic_relevance": "none",
      "name": "dart",
      "normalized_name": "dart",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/dart/dart.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1f54e3477195aef8687fd2f6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e6a7e397defb8cb6",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 140,
      "logic_relevance": "none",
      "name": "shell",
      "normalized_name": "shell",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/shell/shell.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4a0b4c9750e9382ffb721819",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cdaff690080dec73",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/shell/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d32f9340249e931ee44ca5d2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9f9afd4082f6b1b7",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 204,
      "logic_relevance": "none",
      "name": "yacas",
      "normalized_name": "yacas",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/yacas/yacas.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6c63de993803b9ee11387e10",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HaxeLexical | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "HaxeLexical",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f11e989ae1491faa",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 515,
      "logic_relevance": "none",
      "name": "haxe",
      "normalized_name": "haxe",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/haxe/haxe.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "6466bb893f9ca62fb1bb4695",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a57baa2caeda9d2",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/soy/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "163223985b4d490af4c84236",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../htmlmixed/htmlmixed | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "57047136f693e891",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../htmlmixed/htmlmixed",
      "lines": 300,
      "logic_relevance": "none",
      "name": "soy",
      "normalized_name": "soy",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/soy/soy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "backend,security,automation",
      "component_id": "0aaac678834d0a7f75810d0f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e96fe6fb18b73d5",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 837,
      "logic_relevance": "none",
      "name": "perl",
      "normalized_name": "perl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/perl/perl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "209f071f91c40f6c3ca829f3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bf18a089d1616f72",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 168,
      "logic_relevance": "none",
      "name": "smalltalk",
      "normalized_name": "smalltalk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/smalltalk/smalltalk.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "020f53f9522178591436fbba",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64f5f8e920c38b7f",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/dylan/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "556176623bee82df0dedcb65",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5124ad5aea90c450",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 344,
      "logic_relevance": "none",
      "name": "dylan",
      "normalized_name": "dylan",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/dylan/dylan.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9ebb2c7d9a26c3faad676618",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e996fb5a40f779f",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 769,
      "logic_relevance": "none",
      "name": "stylus",
      "normalized_name": "stylus",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/stylus/stylus.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "bb642c1c1328dbd0403b04f0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/overlay, ../../lib/codemirror, ../coffeescript/coffeescript, ../css/css, ../handlebars/handlebars, ../javascript/javascript, ../pug/pug, ../sass/sass | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "54520bf1e3c900ba",
      "framework": "vue",
      "imports": "../../addon/mode/overlay,../../lib/codemirror,../coffeescript/coffeescript,../css/css,../handlebars/handlebars,../javascript/javascript,../pug/pug,../sass/sass,../stylus/stylus,../xml/xml",
      "lines": 70,
      "logic_relevance": "none",
      "name": "vue",
      "normalized_name": "vue",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/vue/vue.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "8b2cb980f9ac35ea9c5aacf9",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "376372582d27663c",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/rust/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b9895877faa5e9fed8d1632a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/simple, ../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cbe2182206a8a665",
      "framework": "unknown",
      "imports": "../../addon/mode/simple,../../lib/codemirror",
      "lines": 71,
      "logic_relevance": "none",
      "name": "rust",
      "normalized_name": "rust",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/rust/rust.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "56e7212886d23b6ec209a727",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/overlay, ../../lib/codemirror, ../python/python, ../stex/stex | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93db2a574c7c9c31",
      "framework": "unknown",
      "imports": "../../addon/mode/overlay,../../lib/codemirror,../python/python,../stex/stex",
      "lines": 557,
      "logic_relevance": "none",
      "name": "rst",
      "normalized_name": "rst",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/rst/rst.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "46a262e46ce90333826d346f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d7fcef17a9ab7535",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 308,
      "logic_relevance": "none",
      "name": "tiddlywiki",
      "normalized_name": "tiddlywiki",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/tiddlywiki/tiddlywiki.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,backend,observability,automation",
      "component_id": "edd90e1460aba939db6e096a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "12e784b7a98f6319",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "tiddlywiki",
      "normalized_name": "tiddlywiki",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/tiddlywiki/tiddlywiki.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9a1f6ff1c2db9e27a9ac68a3",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:State | imports:../../lib/codemirror, ../css/css, ../htmlmixed/htmlmixed, ../javascript/javascript | backend-score:55 | security-score:55",
      "exports": "State",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c44c83176a6ef775",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../css/css,../htmlmixed/htmlmixed,../javascript/javascript",
      "lines": 591,
      "logic_relevance": "none",
      "name": "pug",
      "normalized_name": "pug",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/pug/pug.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "e8830f397ea5beeaf4d9f95a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43e189a8caf11907",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 619,
      "logic_relevance": "none",
      "name": "erlang",
      "normalized_name": "erlang",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/erlang/erlang.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "cd9d070c174b9a50c06ff102",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b37733f94e9d1ea",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 171,
      "logic_relevance": "none",
      "name": "r",
      "normalized_name": "r",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/r/r.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "04775d23165ab5e786bc4887",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "61f6794088064b42",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 176,
      "logic_relevance": "none",
      "name": "mathematica",
      "normalized_name": "mathematica",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mathematica/mathematica.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7543897a75cdfb17474b6ee7",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../yaml/yaml | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "17d2eb518fe9511e",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../yaml/yaml",
      "lines": 68,
      "logic_relevance": "none",
      "name": "yaml-frontmatter",
      "normalized_name": "yaml-frontmatter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "402f2282494131b7d9aea790",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5cab816a0957616d",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 47,
      "logic_relevance": "none",
      "name": "diff",
      "normalized_name": "diff",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/diff/diff.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "092e8a05a840acd9f3d2d681",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "306d7d292e7a1345",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 205,
      "logic_relevance": "none",
      "name": "elm",
      "normalized_name": "elm",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/elm/elm.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "18fafce0387ad91f7f3852da",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ba52d5253fe9b627",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 391,
      "logic_relevance": "none",
      "name": "crystal",
      "normalized_name": "crystal",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/crystal/crystal.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "3d17ae99c3bcb63c00c6d82e",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7930ae95e62ae1dd",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/cypher/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c9add4c1c5b4f05235992cfd",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ccf06cd8fde03e8d",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 150,
      "logic_relevance": "none",
      "name": "cypher",
      "normalized_name": "cypher",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/cypher/cypher.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "bb70b5ef55592e2994af1702",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../css/css, ../javascript/javascript, ../xml/xml | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0ad78f0584f55f01",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../css/css,../javascript/javascript,../xml/xml",
      "lines": 152,
      "logic_relevance": "none",
      "name": "htmlmixed",
      "normalized_name": "htmlmixed",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/htmlmixed/htmlmixed.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2e92571bf697b45e53764c25",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "173521d01f1ab995",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 195,
      "logic_relevance": "none",
      "name": "ebnf",
      "normalized_name": "ebnf",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ebnf/ebnf.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0314450b8eac7020fcd3e393",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9a53f7cbdeb70702",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 195,
      "logic_relevance": "none",
      "name": "webidl",
      "normalized_name": "webidl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/webidl/webidl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "e11c424a79b91fbb7232b1d0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "594ace080aa22e05",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 225,
      "logic_relevance": "none",
      "name": "smarty",
      "normalized_name": "smarty",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/smarty/smarty.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,security",
      "component_id": "cbfa30922c9cca30fcc15c04",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98079995a5f1aef4",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/stex/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2c0b5614554e51c1fd7b4d8e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "05cac9760fb04978",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 251,
      "logic_relevance": "none",
      "name": "stex",
      "normalized_name": "stex",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/stex/stex.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bda0829382edf4cb44901714",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf86a010914a5de4",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 267,
      "logic_relevance": "none",
      "name": "haskell",
      "normalized_name": "haskell",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/haskell/haskell.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "368e6e06dd01a3a6e646f43d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/simple, ../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ddd408187771e12d",
      "framework": "unknown",
      "imports": "../../addon/mode/simple,../../lib/codemirror",
      "lines": 83,
      "logic_relevance": "none",
      "name": "factor",
      "normalized_name": "factor",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/factor/factor.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "f62ba8490f310ef4a2c836bd",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05deb4c55c621b90",
      "framework": "unknown",
      "imports": "",
      "lines": 154,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/php/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c98c05645fc0033b8cc585ae",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../clike/clike, ../htmlmixed/htmlmixed | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "de9e9cfe4c3a9b83",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../clike/clike,../htmlmixed/htmlmixed",
      "lines": 234,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/php/php.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "3950956d250955024f3ede8a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../javascript/javascript | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d0616c41277e3c2c",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../javascript/javascript",
      "lines": 114,
      "logic_relevance": "none",
      "name": "pegjs",
      "normalized_name": "pegjs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/pegjs/pegjs.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "9e626a92d03730af1ac7d2b3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "27fce58bc535aa19",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 159,
      "logic_relevance": "none",
      "name": "lua",
      "normalized_name": "lua",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/lua/lua.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1ee05435bccd4f9539fe84b4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b43058210904ef1f",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 201,
      "logic_relevance": "none",
      "name": "velocity",
      "normalized_name": "velocity",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/velocity/velocity.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "e5e114f2fda248a3f1b17873",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4fc59c5c6c9d08e4",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/xml/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "38771c89db5c29c6948f55d2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b01f14b4742e6ee4",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 394,
      "logic_relevance": "none",
      "name": "xml",
      "normalized_name": "xml",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/xml/xml.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f716674c186db5396f343f86",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "be8f29c0a22a0b88",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 104,
      "logic_relevance": "none",
      "name": "solr",
      "normalized_name": "solr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/solr/solr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "64990573882d1b3492b0a5ea",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c388505a071bcc71",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 129,
      "logic_relevance": "none",
      "name": "mbox",
      "normalized_name": "mbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mbox/mbox.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "52eb03fec045b91a94c5610b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1ecf1b7224297dce",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 205,
      "logic_relevance": "none",
      "name": "mllike",
      "normalized_name": "mllike",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mllike/mllike.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "299d59e182f450e2c19eff0c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5a7e8398c86fdacc",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 276,
      "logic_relevance": "none",
      "name": "vb",
      "normalized_name": "vb",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/vb/vb.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "95ca5f55f668698ab8930562",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "codemirror",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "45f8465428e2c7a5",
      "framework": "unknown",
      "imports": "codemirror",
      "lines": 396,
      "logic_relevance": "none",
      "name": "powershell",
      "normalized_name": "powershell",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/powershell/powershell.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "52a2d3ea5b79407a42a28e66",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "492ae64408803512",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/powershell/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b3bed170a46703016c1c4cd5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/overlay, ../../lib/codemirror, ../htmlmixed/htmlmixed | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "21a80b0171fcc141",
      "framework": "unknown",
      "imports": "../../addon/mode/overlay,../../lib/codemirror,../htmlmixed/htmlmixed",
      "lines": 68,
      "logic_relevance": "none",
      "name": "tornado",
      "normalized_name": "tornado",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/tornado/tornado.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "beb03f313515e13cf6183d7a",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0733d4cc88bf2b07",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 189,
      "logic_relevance": "none",
      "name": "vhdl",
      "normalized_name": "vhdl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/vhdl/vhdl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "472c00174288685d3a572b7d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "69ad6cec8b5f6b46",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "tiki",
      "normalized_name": "tiki",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/tiki/tiki.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2f6493d438e764669ff10c81",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d88c9ca5239d0804",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 312,
      "logic_relevance": "none",
      "name": "tiki",
      "normalized_name": "tiki",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/tiki/tiki.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "8851d1304f08a341aacbaf63",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT, MTCPP | backend-score:55 | security-score:55",
      "exports": "MT,MTCPP",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e31b9657ee2bf70",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/clike/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "4854adccc3c8358f5708cf17",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4019aa6721c828c5",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 785,
      "logic_relevance": "none",
      "name": "clike",
      "normalized_name": "clike",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/clike/clike.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7be5e33f443992cd1e4f3af3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "72f0ee3b12e3526c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 139,
      "logic_relevance": "none",
      "name": "tcl",
      "normalized_name": "tcl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/tcl/tcl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "80d95569ffaee792a4967d7c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "79b844feea46c044",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 85,
      "logic_relevance": "none",
      "name": "brainfuck",
      "normalized_name": "brainfuck",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/brainfuck/brainfuck.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7cd922785396f2e9abd8e5bf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "63bf252287987cd0",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 283,
      "logic_relevance": "none",
      "name": "ttcn",
      "normalized_name": "ttcn",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ttcn/ttcn.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9ac1f8ae11706a743b3c4d3f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b63366a5c053ac01",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 142,
      "logic_relevance": "none",
      "name": "dtd",
      "normalized_name": "dtd",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/dtd/dtd.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7e582a1cc1c99559aa49f205",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2b09f10791e8a496",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 135,
      "logic_relevance": "none",
      "name": "octave",
      "normalized_name": "octave",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/octave/octave.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "221e1a79946315d4e8b7428e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2c5d2be79ae5620e",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 78,
      "logic_relevance": "none",
      "name": "properties",
      "normalized_name": "properties",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/properties/properties.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3a1e63aef430515f07867539",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61e23da9f7d21140",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 675,
      "logic_relevance": "none",
      "name": "verilog",
      "normalized_name": "verilog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/verilog/verilog.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7a6bb16dbfe694e98556f346",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0798b953bc1dfa05",
      "framework": "unknown",
      "imports": "",
      "lines": 273,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/verilog/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "081a9e243479a7f008d2f44e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/multiplex, ../../addon/mode/simple, ../../lib/codemirror | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "896b7a92e92d3a96",
      "framework": "unknown",
      "imports": "../../addon/mode/multiplex,../../addon/mode/simple,../../lib/codemirror",
      "lines": 62,
      "logic_relevance": "none",
      "name": "handlebars",
      "normalized_name": "handlebars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/handlebars/handlebars.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f27b8b8515cd9f1a91ab13b9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "21f0e76dbf8793a4",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 178,
      "logic_relevance": "none",
      "name": "nginx",
      "normalized_name": "nginx",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/nginx/nginx.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "1b5d78ae246533f2bceb9ba3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3a1a5459b6620405",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 113,
      "logic_relevance": "none",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/http/http.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "c3c136e93b62f88d5ca93931",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "271fc39c3c0e66aa",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 73,
      "logic_relevance": "none",
      "name": "asciiarmor",
      "normalized_name": "asciiarmor",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/asciiarmor/asciiarmor.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security",
      "component_id": "c3af105b33bba158b5b19516",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbcf565bd7d2bf67",
      "framework": "unknown",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/swift/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d2df1bfd39e5266a71e75fb1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "25ca2f1505c05752",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 210,
      "logic_relevance": "none",
      "name": "swift",
      "normalized_name": "swift",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/swift/swift.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "e4bf00872d2b884a38d3235f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d6183294b098a323",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 316,
      "logic_relevance": "none",
      "name": "sas",
      "normalized_name": "sas",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/sas/sas.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9a87a2ac0bc938791badf7d8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e5710e36e9b47286",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 193,
      "logic_relevance": "none",
      "name": "sieve",
      "normalized_name": "sieve",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/sieve/sieve.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0ac2629dd7326e4a687adf68",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "854b7955ea4017ad",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 280,
      "logic_relevance": "none",
      "name": "livescript",
      "normalized_name": "livescript",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/livescript/livescript.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "fad3c124122452cc1bd66c44",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "64c8fdef93b3994c",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 124,
      "logic_relevance": "none",
      "name": "commonlisp",
      "normalized_name": "commonlisp",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/commonlisp/commonlisp.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b5157852a87dceab8479dd29",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5982d80bfa951304",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 173,
      "logic_relevance": "none",
      "name": "fcl",
      "normalized_name": "fcl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/fcl/fcl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "abe058c16939195672a3cdce",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "813a4722938752a1",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 118,
      "logic_relevance": "none",
      "name": "yaml",
      "normalized_name": "yaml",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/yaml/yaml.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "92c0ec81ee0d78df1e908397",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d0f8c98c879a02a1",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 188,
      "logic_relevance": "none",
      "name": "fortran",
      "normalized_name": "fortran",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/fortran/fortran.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "39a0490ce86e21cb9d8931ba",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "012457d13e469b84",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 410,
      "logic_relevance": "none",
      "name": "julia",
      "normalized_name": "julia",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/julia/julia.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "89125a81f5ada3e74fe467bc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e4e7cadad9e46d3c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 252,
      "logic_relevance": "none",
      "name": "oz",
      "normalized_name": "oz",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/oz/oz.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2695c9ebab7f45c210cde1f4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb1f286d25a0ea93",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 230,
      "logic_relevance": "none",
      "name": "groovy",
      "normalized_name": "groovy",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/groovy/groovy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6512a4b6afc2085e2bcfd7bc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9cc9beba5e30746",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 355,
      "logic_relevance": "none",
      "name": "coffeescript",
      "normalized_name": "coffeescript",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/coffeescript/coffeescript.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "732b908ea8ac89dbabc3c9be",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../htmlmixed/htmlmixed, ../ruby/ruby | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da78fc6576f62ed1",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../htmlmixed/htmlmixed,../ruby/ruby",
      "lines": 575,
      "logic_relevance": "none",
      "name": "slim",
      "normalized_name": "slim",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/slim/slim.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "30973061323d3e516c78902e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c7e76beb724f395",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/slim/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "674ea8c8cd4c151a0ccbf61c",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LD, MT, TS | backend-score:55 | security-score:55",
      "exports": "LD,MT,TS",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6dabcd62299e8b3a",
      "framework": "unknown",
      "imports": "",
      "lines": 247,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/javascript/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2efcff5520ce58bbe57fe1d1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JSLexical | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "JSLexical",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d877614bf7c6b22b",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 786,
      "logic_relevance": "none",
      "name": "javascript",
      "normalized_name": "javascript",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/javascript/javascript.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "backend,security,automation",
      "component_id": "c6d67509b4f0cf4bb81489f3",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a509a5fd465e2347",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "mscgen_test",
      "normalized_name": "mscgen-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mscgen/mscgen_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "5b3d3b315dccf4cb87080a7e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1124a61761e2d1c1",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 175,
      "logic_relevance": "none",
      "name": "mscgen",
      "normalized_name": "mscgen",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mscgen/mscgen.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "backend,security,automation",
      "component_id": "d7b6a0c297a4b0fd705c1886",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac61704917e45dd1",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "msgenny_test",
      "normalized_name": "msgenny-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mscgen/msgenny_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "backend,security,automation",
      "component_id": "9393b0ba5e5800f62503f394",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90b58ae2a7923706",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "xu_test",
      "normalized_name": "xu-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mscgen/xu_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2c97e4c00569565657c584a9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/multiplex, ../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "62c842cecbaef639",
      "framework": "unknown",
      "imports": "../../addon/mode/multiplex,../../lib/codemirror",
      "lines": 141,
      "logic_relevance": "none",
      "name": "twig",
      "normalized_name": "twig",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/twig/twig.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "770aefbdbc4cac8bb8a39cab",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "14dfd644894ceb99",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 160,
      "logic_relevance": "none",
      "name": "eiffel",
      "normalized_name": "eiffel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/eiffel/eiffel.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "9dcc5c77a7332bd914ea4f03",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e91310e59657afc5",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 255,
      "logic_relevance": "none",
      "name": "cobol",
      "normalized_name": "cobol",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/cobol/cobol.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7aaa5d710f86a60fec29590d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f4256ebe35068b16",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 414,
      "logic_relevance": "none",
      "name": "sass",
      "normalized_name": "sass",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/sass/sass.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1fc896283087d5b9ec660081",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f419563e0e6ca5d4",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 109,
      "logic_relevance": "none",
      "name": "rpm",
      "normalized_name": "rpm",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/rpm/rpm.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "41535be3d204bb67af294cfc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1293dff54df6e22",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 148,
      "logic_relevance": "none",
      "name": "mumps",
      "normalized_name": "mumps",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mumps/mumps.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a51b8d2dd2a15cbd0fb22551",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ec66727ff3fb8a84",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 350,
      "logic_relevance": "none",
      "name": "vbscript",
      "normalized_name": "vbscript",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/vbscript/vbscript.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a5c23691970a540d5acbb8c8",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c7efb4bd08f0c52d",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 214,
      "logic_relevance": "none",
      "name": "ttcn-cfg",
      "normalized_name": "ttcn-cfg",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ttcn-cfg/ttcn-cfg.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "59c65284996f28ffd4a3146a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "99d52d4994ed7183",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 180,
      "logic_relevance": "none",
      "name": "forth",
      "normalized_name": "forth",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/forth/forth.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "830a8d0420bf4da54aa3e896",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6939d80953cd5e4c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 220,
      "logic_relevance": "none",
      "name": "puppet",
      "normalized_name": "puppet",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/puppet/puppet.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "47e4b1e83f3b632972826fd8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/overlay, ../../lib/codemirror, ../htmlmixed/htmlmixed | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2f270b2aa1aa1e39",
      "framework": "unknown",
      "imports": "../../addon/mode/overlay,../../lib/codemirror,../htmlmixed/htmlmixed",
      "lines": 356,
      "logic_relevance": "none",
      "name": "django",
      "normalized_name": "django",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/django/django.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f587c7a34fed524e5ce986e9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "93a25aadaeb926dc",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 218,
      "logic_relevance": "none",
      "name": "d",
      "normalized_name": "d",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/d/d.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "43d276d604af9b2815932265",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1f6afc94c771438d",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 139,
      "logic_relevance": "none",
      "name": "q",
      "normalized_name": "q",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/q/q.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9a5884b96912548a4b0c696d",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror, ../javascript/javascript, ../xml/xml | backend-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a8f53ab08ff27f4",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../javascript/javascript,../xml/xml",
      "lines": 148,
      "logic_relevance": "none",
      "name": "jsx",
      "normalized_name": "jsx",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/jsx/jsx.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "33dc87db1c4e9ae7b66940c8",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55 | security-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8d6a5164d1898d6",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/jsx/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "cde3b630947c3a0a816c168b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4d8c8451c836132",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 68,
      "logic_relevance": "none",
      "name": "protobuf",
      "normalized_name": "protobuf",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/protobuf/protobuf.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,security,automation",
      "component_id": "5622f1c7777ee7455166371c",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FT, MT | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "FT,MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b6d21cf2d06ac442",
      "framework": "unknown",
      "imports": "",
      "lines": 236,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/gfm/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "486aa68230a7588a8de3b090",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../addon/mode/overlay, ../../lib/codemirror, ../markdown/markdown | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c63738ecc2f23610",
      "framework": "unknown",
      "imports": "../../addon/mode/overlay,../../lib/codemirror,../markdown/markdown",
      "lines": 130,
      "logic_relevance": "none",
      "name": "gfm",
      "normalized_name": "gfm",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/gfm/gfm.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f92d39625c0f5fb365fc7fbb",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Context | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "69e86a22e2d48eaf",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 206,
      "logic_relevance": "none",
      "name": "ecl",
      "normalized_name": "ecl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ecl/ecl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "036208ab113cde8c8d60e001",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5e97a5712f1f1cf",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ruby/test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ae0c163d241bcd4b815287b1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4fbdb706fd20e51",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 285,
      "logic_relevance": "none",
      "name": "ruby",
      "normalized_name": "ruby",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ruby/ruby.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "286adc6337cd9351e2cf4cb6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "28ad22486393f275",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 193,
      "logic_relevance": "none",
      "name": "mirc",
      "normalized_name": "mirc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/mirc/mirc.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2261d189a3a6388df5919602",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../haskell/haskell | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3c411fd891f8b5ac",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../haskell/haskell",
      "lines": 43,
      "logic_relevance": "none",
      "name": "haskell-literate",
      "normalized_name": "haskell-literate",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/haskell-literate/haskell-literate.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d8c472e2e91f444076841429",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c51d22a1315bbbe9",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 186,
      "logic_relevance": "none",
      "name": "ntriples",
      "normalized_name": "ntriples",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/ntriples/ntriples.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "8a2067867377f25f7c224ca4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0f3213d862b77944",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 413,
      "logic_relevance": "none",
      "name": "sql",
      "normalized_name": "sql",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/mode/sql/sql.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "f3c33234ddd73128d5c9ecf9",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b41f83889b3ac66e",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "authors",
      "normalized_name": "authors",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/bin/authors.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2a4dd7846e1504504b87b97e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "child_process,https",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:child_process, https | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fcf154ddca7538f2",
      "framework": "unknown",
      "imports": "child_process,https",
      "lines": 35,
      "logic_relevance": "none",
      "name": "upload-release",
      "normalized_name": "upload-release",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/bin/upload-release.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "a94a5118af05fa2bea88ab26",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "04e5b0465536346f",
      "framework": "css",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "icecoder",
      "normalized_name": "icecoder",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/icecoder.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "73a20aaa5b0b13d9d759f9d4",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a523f9e8fc269bdd",
      "framework": "css",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "xq-light",
      "normalized_name": "xq-light",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/xq-light.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "ececaa0c11f36cbb7121827f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "35bd22d0282b2a1a",
      "framework": "css",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "the-matrix",
      "normalized_name": "the-matrix",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/the-matrix.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,security",
      "component_id": "a0be82e3d3c50ed4a9a4a2b4",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a919e6daa7d3fd0e",
      "framework": "css",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "neo",
      "normalized_name": "neo",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/neo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "083fd991286225e83637426d",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "80180694d372b121",
      "framework": "css",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "lesser-dark",
      "normalized_name": "lesser-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/lesser-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "628bc3924cd6d1d9d7fc985b",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7c9126a1d8a38be7",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "3024-day",
      "normalized_name": "3024-day",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/3024-day.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "5a7c1292286c33f59ace54c6",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2074da3b102459c6",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "hopscotch",
      "normalized_name": "hopscotch",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/hopscotch.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "f8f7fd4a33eef212b7b392c3",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "40d90ceab6f6cc7f",
      "framework": "css",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "liquibyte",
      "normalized_name": "liquibyte",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/liquibyte.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "c14933adb98d15bbb102aa41",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f718ea003eaf3415",
      "framework": "css",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "midnight",
      "normalized_name": "midnight",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/midnight.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "c28521cff85955ff3cf0b8fa",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "54479ef43ef0d8b8",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "duotone-light",
      "normalized_name": "duotone-light",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/duotone-light.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "5b1a1e9825fcb2de5bfcd887",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "02df81678be8cf0a",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "elegant",
      "normalized_name": "elegant",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/elegant.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "81886345c9db03d1a20a90a7",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "23f2216dd2d4ffad",
      "framework": "css",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "mbo",
      "normalized_name": "mbo",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/mbo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "d9feb269c7eeab3fd988dad8",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "239c5d65d2bc0abf",
      "framework": "css",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "material",
      "normalized_name": "material",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/material.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "style,backend,observability,security,automation",
      "component_id": "287d097e84c8c5afa345e9f7",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ae120fa6f84cf440",
      "framework": "css",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "ttcn",
      "normalized_name": "ttcn",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/ttcn.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "3e76878d51528ced015b380a",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9464424814264ff1",
      "framework": "css",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "mdn-like",
      "normalized_name": "mdn-like",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/mdn-like.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "9e744509c6eda321af4c03e1",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "52c96beaa01c09e9",
      "framework": "css",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "xq-dark",
      "normalized_name": "xq-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/xq-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "2417ac0e68cc4ad72d5abbab",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c74189d4291dd7a8",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "base16-light",
      "normalized_name": "base16-light",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/base16-light.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "51d0dca8be12b3054010d154",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "05a29f6e56dbdbaf",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "isotope",
      "normalized_name": "isotope",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/isotope.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "6e68db7004543d81eb29d3b2",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7477719a88e539de",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "ambiance",
      "normalized_name": "ambiance",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/ambiance.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "bfdebacbd817e43c6ed6ae09",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc551f1a32ca11d4",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "paraiso-dark",
      "normalized_name": "paraiso-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/paraiso-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "d06d24cf9c17b28c5e806055",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0dc2474983d23edb",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "erlang-dark",
      "normalized_name": "erlang-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/erlang-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "11a7799526819502ac90f49f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dcd47acd2cfbb0da",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "colorforth",
      "normalized_name": "colorforth",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/colorforth.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "1437130978cb52a58599394f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0309457c73be85f4",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "twilight",
      "normalized_name": "twilight",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/twilight.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "4b31edffbea17e5fec2342c9",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "93ada2f28acc83a5",
      "framework": "css",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "3024-night",
      "normalized_name": "3024-night",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/3024-night.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "c08d991d5385616c067ee4f9",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f5af832b7aa7e8db",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "vibrant-ink",
      "normalized_name": "vibrant-ink",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/vibrant-ink.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "d0fbc83db0f76113c11dbf6a",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0e54146a84b77533",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "monokai",
      "normalized_name": "monokai",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/monokai.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "453fad400314f3aa55fda6d0",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7250a5ca62085efb",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dracula",
      "normalized_name": "dracula",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/dracula.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "9dd8907566bd83ec5c091424",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7a6192764bd3da15",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "base16-dark",
      "normalized_name": "base16-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/base16-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "b16982872108776d308d9f7e",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "47780bcc6d429d43",
      "framework": "css",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "zenburn",
      "normalized_name": "zenburn",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/zenburn.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "ce0bef31e5fda55e9692d395",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "58c2c2e5bc69c2f2",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "neat",
      "normalized_name": "neat",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/neat.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "5a3ede280a43ddcd893b65cc",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "54f0811f00d130b3",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "blackboard",
      "normalized_name": "blackboard",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/blackboard.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "afa653bb9909cdaaa63f0d1f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6b015d31eaaaa08b",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "tomorrow-night-eighties",
      "normalized_name": "tomorrow-night-eighties",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/tomorrow-night-eighties.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "e6828bff02e9db02ce947da9",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c7a54ef3d1b6d1d6",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "night",
      "normalized_name": "night",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/night.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "115c9ed8d819137d31d636e5",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "25ff9301f48317d1",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "paraiso-light",
      "normalized_name": "paraiso-light",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/paraiso-light.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "92a00f63f4bd8d3ff2cc33bc",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "03e23ee02926b2c8",
      "framework": "css",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "eclipse",
      "normalized_name": "eclipse",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/eclipse.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "5ecf47b34233e1efec93e4de",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e9ba2e428ab05479",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "railscasts",
      "normalized_name": "railscasts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/railscasts.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "c796f5d041302a31e6762e0f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45ebddfc249b14c2",
      "framework": "css",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "tomorrow-night-bright",
      "normalized_name": "tomorrow-night-bright",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/tomorrow-night-bright.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,backend,observability,security,automation",
      "component_id": "1f170908178295e7cb6703b1",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6dac2fe96a4f7a23",
      "framework": "css",
      "imports": "",
      "lines": 169,
      "logic_relevance": "none",
      "name": "solarized",
      "normalized_name": "solarized",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/solarized.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "cb7cf7db210153e1af5a3d48",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8b5ad8ea8ab81d23",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "seti",
      "normalized_name": "seti",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/seti.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,backend,security",
      "component_id": "f732468d9b00730f73964a53",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "04dc2833e74de0aa",
      "framework": "css",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "panda-syntax",
      "normalized_name": "panda-syntax",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/panda-syntax.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "79a067b86b756176e0ef7432",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1633330107a264da",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "abcdef",
      "normalized_name": "abcdef",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/abcdef.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "b324ec951ced6924fbded99e",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0fc22f0963d8c9f5",
      "framework": "css",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "duotone-dark",
      "normalized_name": "duotone-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/duotone-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "640bda82c9d2983880968540",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0aa76afb0550eea9",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "cobalt",
      "normalized_name": "cobalt",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/cobalt.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "b98d72eb8ca51f4e8aa28806",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b780089b3f890418",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "rubyblue",
      "normalized_name": "rubyblue",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/rubyblue.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "0274af27423d13db3954c184",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f7cee8f18fea4b8",
      "framework": "css",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "pastel-on-dark",
      "normalized_name": "pastel-on-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/pastel-on-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,backend",
      "component_id": "827813ea8eb83f7b96145b69",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "356cf9d539a70462",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ambiance-mobile",
      "normalized_name": "ambiance-mobile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/ambiance-mobile.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "3984bdf33a7c8539c030ca58",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d43da55a7859eabd",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "bespin",
      "normalized_name": "bespin",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/bespin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "c013d1b744bd07e5100cf782",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "da9491138c44f479",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "yeti",
      "normalized_name": "yeti",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/theme/yeti.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "8499a63176ac67d792738c8b",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../addon/edit/matchbrackets, ../addon/search/searchcursor, ../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f1eab4cd95d29ba",
      "framework": "unknown",
      "imports": "../addon/edit/matchbrackets,../addon/search/searchcursor,../lib/codemirror",
      "lines": 588,
      "logic_relevance": "none",
      "name": "sublime",
      "normalized_name": "sublime",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/keymap/sublime.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "499c928976187c04471f8ea5",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7798f07f670a361",
      "framework": "unknown",
      "imports": "../lib/codemirror",
      "lines": 414,
      "logic_relevance": "none",
      "name": "emacs",
      "normalized_name": "emacs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/keymap/emacs.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "794897b52f695a38cf456edd",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HistoryController, InputState, InsertModeKey, MacroModeState, Register, RegisterController, SearchState | imports:../addon/dialog/dialog, ../addon/edit/matchbrackets.js, ../addon/search/searchcursor, ../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HistoryController,InputState,InsertModeKey,MacroModeState,Register,RegisterController,SearchState",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23c8aade32de6baa",
      "framework": "unknown",
      "imports": "../addon/dialog/dialog,../addon/edit/matchbrackets.js,../addon/search/searchcursor,../lib/codemirror",
      "lines": 5088,
      "logic_relevance": "none",
      "name": "vim",
      "normalized_name": "vim",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/keymap/vim.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation",
      "component_id": "46a43113b3a88bf61df61c87",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "div",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BidiSpan, BranchChunk, CodeMirror, ContentEditableInput, Delayed, Display, DisplayUpdate, History | imports:div | logic-score:85 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "BidiSpan,BranchChunk,CodeMirror,ContentEditableInput,Delayed,Display,DisplayUpdate,History,LeafChunk,Line,LineView,LineWidget,MarkedSpan,NativeScrollbars,NullScrollbars,Pos,PosWithInfo,Range,Selection,SharedTextMarker,TextMarker,TextareaInput",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "934c6c2f8ee4cc3b",
      "framework": "unknown",
      "imports": "div",
      "lines": 9108,
      "logic_relevance": "primary",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/lib/codemirror.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,backend,observability,security,logic,automation,ai",
      "component_id": "9837ac6bca4c179c31d63000",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6ad4712420d62db2",
      "framework": "css",
      "imports": "",
      "lines": 341,
      "logic_relevance": "secondary",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/lib/codemirror.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "1dccd769e5f7815aa4093db2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02eb642fe3078324",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 41,
      "logic_relevance": "none",
      "name": "anyword-hint",
      "normalized_name": "anyword-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/anyword-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "4ea0a87ac01c1eadcddf35f1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4f8c8d48c155dcb",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "show-hint",
      "normalized_name": "show-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/show-hint.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security,ai",
      "component_id": "5a2db5bf1cffa6fd5aaf7f41",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Completion, Widget | imports:../../lib/codemirror | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "Completion,Widget",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c42178438c3d8e16",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 438,
      "logic_relevance": "none",
      "name": "show-hint",
      "normalized_name": "show-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/show-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,ai",
      "component_id": "aebb40264d6695f00ea2fac4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "513f82582a0ed66c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 110,
      "logic_relevance": "none",
      "name": "xml-hint",
      "normalized_name": "xml-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/xml-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "36832dfb5e9cb50a7ba11e5a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ./xml-hint | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3d80302b25e3d32c",
      "framework": "unknown",
      "imports": "../../lib/codemirror,./xml-hint",
      "lines": 348,
      "logic_relevance": "none",
      "name": "html-hint",
      "normalized_name": "html-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/html-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,ai",
      "component_id": "751d63bc338d6d70463f23c2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../../mode/sql/sql | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d7040867fda791b0",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../../mode/sql/sql",
      "lines": 271,
      "logic_relevance": "none",
      "name": "sql-hint",
      "normalized_name": "sql-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/sql-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "495b9a216347be3580208f18",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../../mode/css/css | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3735565b4e1be05d",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../../mode/css/css",
      "lines": 60,
      "logic_relevance": "none",
      "name": "css-hint",
      "normalized_name": "css-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/css-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,ai",
      "component_id": "96af35e98887d9c49b58d835",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "57ed67ee61b53b76",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 155,
      "logic_relevance": "none",
      "name": "javascript-hint",
      "normalized_name": "javascript-hint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/hint/javascript-hint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "d5d80afca2bb5c9ff76420b6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b725bc02cf882c76",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 31,
      "logic_relevance": "none",
      "name": "json-lint",
      "normalized_name": "json-lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/json-lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend",
      "component_id": "50f110a4059864852065ccb1",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ef78b4bfbed9239",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 41,
      "logic_relevance": "none",
      "name": "coffeescript-lint",
      "normalized_name": "coffeescript-lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/coffeescript-lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "51454c14e162f6b212043eb3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7fcbc285fc91caa",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 28,
      "logic_relevance": "none",
      "name": "yaml-lint",
      "normalized_name": "yaml-lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/yaml-lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "655e929f68e9342281cd8c21",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LintState | imports:../../lib/codemirror | backend-score:55 | observability-score:55",
      "exports": "LintState",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "da8b03500e783870",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 239,
      "logic_relevance": "none",
      "name": "lint",
      "normalized_name": "lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "006ef3577311b0a158ddcc25",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "74306712264e642d",
      "framework": "css",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "lint",
      "normalized_name": "lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/lint.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "logic",
      "categories": "backend,automation",
      "component_id": "5fde825a7799189933fc0800",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "326a2be990263698",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 136,
      "logic_relevance": "none",
      "name": "javascript-lint",
      "normalized_name": "javascript-lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/javascript-lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai",
      "component_id": "0dba7f40f93a4913cce8d847",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d7fd5e3f0a6c532",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 35,
      "logic_relevance": "none",
      "name": "css-lint",
      "normalized_name": "css-lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/css-lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,ai",
      "component_id": "b4abd3051d0cbf5493f26cd8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "htmlhint",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, htmlhint | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc9fcc50ee45e923",
      "framework": "unknown",
      "imports": "../../lib/codemirror,htmlhint",
      "lines": 46,
      "logic_relevance": "none",
      "name": "html-lint",
      "normalized_name": "html-lint",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/lint/html-lint.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "d533663c89eb0e1c62d598a6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Annotation | imports:../../lib/codemirror | backend-score:55 | automation-score:45",
      "exports": "Annotation",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6814a2002e92444c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 118,
      "logic_relevance": "none",
      "name": "annotatescrollbar",
      "normalized_name": "annotatescrollbar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/scroll/annotatescrollbar.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,ai",
      "component_id": "8bcc6edc0ec7e92d717cf986",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Bar, SimpleScrollbars | imports:../../lib/codemirror | backend-score:55 | ai-score:45",
      "exports": "Bar,SimpleScrollbars",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8841af4b5f6d5db",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 152,
      "logic_relevance": "none",
      "name": "simplescrollbars",
      "normalized_name": "simplescrollbars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/scroll/simplescrollbars.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "759022d63106500a40a1d1a5",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e2693b54abcd2168",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "simplescrollbars",
      "normalized_name": "simplescrollbars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/scroll/simplescrollbars.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bfdca282e2b0970e922e47ba",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d5a7495cf1955fc",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scrollpastend",
      "normalized_name": "scrollpastend",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/scroll/scrollpastend.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "055468de124e6c431460f39b",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MT | backend-score:55",
      "exports": "MT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb19bc074982f91e",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "multiplex_test",
      "normalized_name": "multiplex-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/mode/multiplex_test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "e2220590c8e4e2785aa0e958",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f098eb7c6e779e84",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 90,
      "logic_relevance": "none",
      "name": "overlay",
      "normalized_name": "overlay",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/mode/overlay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "703a9bccaf15763dd8416693",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Rule | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Rule",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "aa2b7afe9f920768",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 213,
      "logic_relevance": "none",
      "name": "simple",
      "normalized_name": "simple",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/mode/simple.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "158f989329ddca2082f6ce29",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "091f88d2403c829a",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 64,
      "logic_relevance": "none",
      "name": "loadmode",
      "normalized_name": "loadmode",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/mode/loadmode.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "5473fb99385fd52d93ef6be8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5e031101ea20c999",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 123,
      "logic_relevance": "none",
      "name": "multiplex",
      "normalized_name": "multiplex",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/mode/multiplex.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "4dbd261f76a1dff9020289d7",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DiffView | imports:../../lib/codemirror | backend-score:55",
      "exports": "DiffView",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65071f29f03a902c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 796,
      "logic_relevance": "none",
      "name": "merge",
      "normalized_name": "merge",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/merge/merge.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "ad36e85eacc457d9e8a88323",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a5cbe4efdf779d5a",
      "framework": "css",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "merge",
      "normalized_name": "merge",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/merge/merge.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d85cec6df1eab15080dbbbcb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a43140b00139d6e",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 85,
      "logic_relevance": "none",
      "name": "continuecomment",
      "normalized_name": "continuecomment",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/comment/continuecomment.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "cd451898a5be0392f36f092a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6711d2a1ed04f30e",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 206,
      "logic_relevance": "none",
      "name": "comment",
      "normalized_name": "comment",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/comment/comment.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "765baaaf6c406409c269822e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SearchAnnotation | imports:../../lib/codemirror, ../scroll/annotatescrollbar, ./searchcursor | backend-score:55",
      "exports": "SearchAnnotation",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "908b6f637a1358c6",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../scroll/annotatescrollbar,./searchcursor",
      "lines": 97,
      "logic_relevance": "none",
      "name": "matchesonscrollbar",
      "normalized_name": "matchesonscrollbar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/search/matchesonscrollbar.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "34f6fe7a6983605f634a434a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../dialog/dialog | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ce88c27ceff049c0",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../dialog/dialog",
      "lines": 49,
      "logic_relevance": "none",
      "name": "jump-to-line",
      "normalized_name": "jump-to-line",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/search/jump-to-line.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "b490b3ca4f6386725b644f0a",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:State | imports:../../lib/codemirror, ./matchesonscrollbar | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "State",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d05c85b4582e7276",
      "framework": "unknown",
      "imports": "../../lib/codemirror,./matchesonscrollbar",
      "lines": 165,
      "logic_relevance": "none",
      "name": "match-highlighter",
      "normalized_name": "match-highlighter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/search/match-highlighter.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "31fea7c4a6f0bceb4e490af5",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SearchCursor | imports:../../lib/codemirror | backend-score:55",
      "exports": "SearchCursor",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e0a71319ec6b284",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 189,
      "logic_relevance": "none",
      "name": "searchcursor",
      "normalized_name": "searchcursor",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/search/searchcursor.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "d68beadc8f119910955e9bb6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SearchState | imports:../../lib/codemirror, ../dialog/dialog, ./searchcursor | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SearchState",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "00ca0efc39394c20",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../dialog/dialog,./searchcursor",
      "lines": 252,
      "logic_relevance": "none",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/search/search.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "703c4583b87a6bbc3ca69f9b",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ee4dfbe9b6d1177a",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "matchesonscrollbar",
      "normalized_name": "matchesonscrollbar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/search/matchesonscrollbar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,backend,observability,security",
      "component_id": "9180b0152c503ca64219c569",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:../../lib/codemirror | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a5c221443364f8f4",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 157,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/dialog/dialog.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,backend,observability",
      "component_id": "50d0d8ce1e9eb59a9dbc0ad3",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5df690d771f12118",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/dialog/dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "3831d9da89cefb8b3ee96438",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "588c32c2e3d44b64",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 51,
      "logic_relevance": "none",
      "name": "continuelist",
      "normalized_name": "continuelist",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/edit/continuelist.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6b3adf1dd6958fe89422121a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../fold/xml-fold | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a589250d7040e494",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../fold/xml-fold",
      "lines": 169,
      "logic_relevance": "none",
      "name": "closetag",
      "normalized_name": "closetag",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/edit/closetag.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "72637df49df9c78b2a91e81c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ../fold/xml-fold | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68a03604c5310086",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../fold/xml-fold",
      "lines": 66,
      "logic_relevance": "none",
      "name": "matchtags",
      "normalized_name": "matchtags",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/edit/matchtags.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "59df7cfc24c88747388b9c27",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "92da06f9c0927cde",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 202,
      "logic_relevance": "none",
      "name": "closebrackets",
      "normalized_name": "closebrackets",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/edit/closebrackets.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "bca12a14c043febbd467e45b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8bb6887c663c2870",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 122,
      "logic_relevance": "none",
      "name": "matchbrackets",
      "normalized_name": "matchbrackets",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/edit/matchbrackets.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d6b7405b16dcff1632dbf269",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a7d57a0bcf75b71b",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 27,
      "logic_relevance": "none",
      "name": "trailingspace",
      "normalized_name": "trailingspace",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/edit/trailingspace.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3155bc790489fc2844053453",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "889158de77b91511",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 144,
      "logic_relevance": "none",
      "name": "hardwrap",
      "normalized_name": "hardwrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/wrap/hardwrap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ff8934891e97b27636272b1e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Iter | imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "Iter",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c00a0e6e027dcce6",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 182,
      "logic_relevance": "none",
      "name": "xml-fold",
      "normalized_name": "xml-fold",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/xml-fold.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e617f8eb2cad88d4cc5719b1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:State | imports:../../lib/codemirror, ./foldcode | backend-score:55 | observability-score:55",
      "exports": "State",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "14eafb76a0497ee6",
      "framework": "unknown",
      "imports": "../../lib/codemirror,./foldcode",
      "lines": 146,
      "logic_relevance": "none",
      "name": "foldgutter",
      "normalized_name": "foldgutter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/foldgutter.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "cde3b135d016bd76d5b5005d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ff34d62474be8584",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 105,
      "logic_relevance": "none",
      "name": "brace-fold",
      "normalized_name": "brace-fold",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/brace-fold.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "5103b7c8dff3f8f54da1e2bb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3aacc40f898d5542",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 59,
      "logic_relevance": "none",
      "name": "comment-fold",
      "normalized_name": "comment-fold",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/comment-fold.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "cf2496db727c5866bfe75924",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "576efcd340b770b6",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "foldgutter",
      "normalized_name": "foldgutter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/foldgutter.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "62fa57be8c44e3a6566dd32a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1da473e411cd029c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 150,
      "logic_relevance": "none",
      "name": "foldcode",
      "normalized_name": "foldcode",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/foldcode.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,automation",
      "component_id": "801d4ab79a7fff89f233c90b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73b5e9c8f8aec0c8",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 44,
      "logic_relevance": "none",
      "name": "indent-fold",
      "normalized_name": "indent-fold",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/fold/indent-fold.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "e3b3eb17aca57526a6346c15",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6bedddb6441de307",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 51,
      "logic_relevance": "none",
      "name": "rulers",
      "normalized_name": "rulers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/display/rulers.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "1227abae0c9cfbe49feceaf1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "003992026f27cbf2",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 47,
      "logic_relevance": "none",
      "name": "autorefresh",
      "normalized_name": "autorefresh",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/display/autorefresh.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "7d8e8f9af7e1a6a11b3f4b08",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4a9b9a3588038c13",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "fullscreen",
      "normalized_name": "fullscreen",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/display/fullscreen.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "26be4db560b498ce94951b4b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ce3b0a411816ca9",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 62,
      "logic_relevance": "none",
      "name": "placeholder",
      "normalized_name": "placeholder",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/display/placeholder.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "361cc3111c17875355f5ddc3",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Panel | imports:../../lib/codemirror | backend-score:55",
      "exports": "Panel",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cbf5e5f1e8852f6c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 112,
      "logic_relevance": "none",
      "name": "panel",
      "normalized_name": "panel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/display/panel.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dfa477fcc881ae32c3b37a7f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8045a6104cd1bd20",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 41,
      "logic_relevance": "none",
      "name": "fullscreen",
      "normalized_name": "fullscreen",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/display/fullscreen.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation",
      "component_id": "b32ec16e03131479297242d0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "edb05fcfacba82a7",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 98,
      "logic_relevance": "none",
      "name": "selection-pointer",
      "normalized_name": "selection-pointer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/selection/selection-pointer.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c3bd086e2eb791744a08a9b4",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9120cd9834b02bab",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 72,
      "logic_relevance": "none",
      "name": "active-line",
      "normalized_name": "active-line",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/selection/active-line.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend,ai",
      "component_id": "812260d983cf8d1abf2122ae",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "107542ab314a1db5",
      "framework": "css",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "tern",
      "normalized_name": "tern",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/tern/tern.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5b8e03650dd232f5a1926e3a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8027467ffbca0ad1",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "worker",
      "normalized_name": "worker",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/tern/worker.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,observability,security,ai",
      "component_id": "195869902af91e3d296dbeb0",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:WorkerServer | imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "WorkerServer",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d805e6eefe35d1c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 701,
      "logic_relevance": "none",
      "name": "tern",
      "normalized_name": "tern",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/tern/tern.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "f1a0914071704136a40d1604",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:StringStream | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "StringStream",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "62f370a88c6d326e",
      "framework": "unknown",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "runmode.node",
      "normalized_name": "runmode-node",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/runmode/runmode.node.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bdbbe5ae1082ccfabbce199e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:StringStream | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "StringStream",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fa748646f4ed7aa3",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "runmode-standalone",
      "normalized_name": "runmode-standalone",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/runmode/runmode-standalone.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "15228de6696bfde7e9c8d5c1",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror, ./runmode | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89b7ebd01e869838",
      "framework": "unknown",
      "imports": "../../lib/codemirror,./runmode",
      "lines": 40,
      "logic_relevance": "none",
      "name": "colorize",
      "normalized_name": "colorize",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/runmode/colorize.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "45e76f0fd46f9d12f5e39057",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/codemirror | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f6f4993f6f568441",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 72,
      "logic_relevance": "none",
      "name": "runmode",
      "normalized_name": "runmode",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/addon/runmode/runmode.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,process",
      "component_id": "cf85528be6574ca6e37741f4",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de5b99618fc02cca",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "activebookmark",
      "normalized_name": "activebookmark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/doc/activebookmark.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,process",
      "component_id": "9520387ef2df016175036f9b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea886c9c9ef2e1fc",
      "framework": "css",
      "imports": "",
      "lines": 271,
      "logic_relevance": "none",
      "name": "docs",
      "normalized_name": "docs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/doc/docs.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "8fd5dad42571fedf3b5a926b",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:copyState, defineMIME, defineMode, extendMode, getMode, innerMode, resolveMode, startState | imports:./util/misc | backend-score:55",
      "exports": "copyState,defineMIME,defineMode,extendMode,getMode,innerMode,resolveMode,startState",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dff07f6e5966f571",
      "framework": "unknown",
      "imports": "./util/misc",
      "lines": 96,
      "logic_relevance": "none",
      "name": "modes",
      "normalized_name": "modes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/modes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e1992f79c66b59f186a98585",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./edit/main | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1cdc0cad1ebbc32",
      "framework": "unknown",
      "imports": "./edit/main",
      "lines": 3,
      "logic_relevance": "none",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/codemirror.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "88836054058dd0a4a550f78f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "div",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:charCoords, charWidth, clearCaches, clearLineMeasurementCache, clearLineMeasurementCacheFor, compensateForHScroll, coordsChar, cursorCoords | imports:../display/update_line, ../line/line_data, ../line/pos, ../line/spans, ../line/utils_line, ../util/bidi, ../util/browser, ../util/dom | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "charCoords,charWidth,clearCaches,clearLineMeasurementCache,clearLineMeasurementCacheFor,compensateForHScroll,coordsChar,cursorCoords,displayHeight,displayWidth,estimateCoords,estimateHeight,estimateLineHeights,findViewForLine,findViewIndex,fromCoordSystem,getDimensions,intoCoordSystem,mapFromLineView,measureChar,nodeAndOffsetInLineMap,paddingH,paddingTop,paddingVert,posFromMouse,scrollGap,textHeight",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0b99e92f726dac9",
      "framework": "unknown",
      "imports": "../display/update_line,../line/line_data,../line/pos,../line/spans,../line/utils_line,../util/bidi,../util/browser,../util/dom,../util/event,../util/feature_detection,../util/misc,./widgets,div",
      "lines": 583,
      "logic_relevance": "none",
      "name": "position_measurement",
      "normalized_name": "position-measurement",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/measurement/position_measurement.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "e374f5a31cc93cd7ff83c490",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:eventInWidget, widgetHeight | imports:../util/dom, ../util/event | backend-score:55",
      "exports": "eventInWidget,widgetHeight",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6051a1568ba864e6",
      "framework": "unknown",
      "imports": "../util/dom,../util/event",
      "lines": 26,
      "logic_relevance": "none",
      "name": "widgets",
      "normalized_name": "widgets",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/measurement/widgets.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,security",
      "component_id": "ef1c76a32b49f3a50153ea69",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:e_button, e_defaultPrevented, e_preventDefault, e_stop, e_stopPropagation, e_target, eventMixin, getHandlers | imports:./browser, ./misc | backend-score:55 | security-score:55",
      "exports": "e_button,e_defaultPrevented,e_preventDefault,e_stop,e_stopPropagation,e_target,eventMixin,getHandlers,hasHandler,off,signal,signalCursorActivity,signalDOMEvent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "601380228650432b",
      "framework": "unknown",
      "imports": "./browser,./misc",
      "lines": 103,
      "logic_relevance": "none",
      "name": "event",
      "normalized_name": "event",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/event.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend",
      "component_id": "5b0ecb3167e8341696bedef7",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Delayed, bind, copyObj, countColumn, createObj, findColumn, indexOf, insertSorted | backend-score:55",
      "exports": "Delayed,bind,copyObj,countColumn,createObj,findColumn,indexOf,insertSorted,isEmpty,isExtendingChar,isWordChar,isWordCharBasic,lst,map,nothing,spaceStr",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5bbe842b9854ecf",
      "framework": "unknown",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "misc",
      "normalized_name": "misc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/misc.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "c6cae6cfabea9ba22aeed70d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./misc | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff32c754f5105362",
      "framework": "unknown",
      "imports": "./misc",
      "lines": 81,
      "logic_relevance": "none",
      "name": "StringStream",
      "normalized_name": "string-stream",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/StringStream.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7514cf993b689630e240b5e7",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:hasBadBidiRects, hasBadZoomedRects, zeroWidthElement | imports:./browser, ./dom | backend-score:55 | observability-score:55",
      "exports": "hasBadBidiRects,hasBadZoomedRects,zeroWidthElement",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "348650bbda6b8467",
      "framework": "unknown",
      "imports": "./browser,./dom",
      "lines": 84,
      "logic_relevance": "none",
      "name": "feature_detection",
      "normalized_name": "feature-detection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/feature_detection.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "61cca568ddfa61dd2d3d00c1",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:activeElt, addClass, classTest, contains, elt, joinClasses, removeChildren, removeChildrenAndAdd | imports:./browser | backend-score:55",
      "exports": "activeElt,addClass,classTest,contains,elt,joinClasses,removeChildren,removeChildrenAndAdd",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "417185c4e0fe856f",
      "framework": "unknown",
      "imports": "./browser",
      "lines": 91,
      "logic_relevance": "none",
      "name": "dom",
      "normalized_name": "dom",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/dom.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,automation",
      "component_id": "28228406ca9e6f2f467514a2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:finishOperation, pushOperation, signalLater | imports:./event | backend-score:55 | automation-score:45",
      "exports": "finishOperation,pushOperation,signalLater",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8286d7afeccdeb3",
      "framework": "unknown",
      "imports": "./event",
      "lines": 72,
      "logic_relevance": "none",
      "name": "operation_group",
      "normalized_name": "operation-group",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/operation_group.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "e6f468cab02b045acebf9c84",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:bidiLeft, bidiRight, getBidiPartAt, getOrder, iterateBidiSections, lineLeft, lineRight, moveLogically | imports:./misc | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "bidiLeft,bidiRight,getBidiPartAt,getOrder,iterateBidiSections,lineLeft,lineRight,moveLogically,moveVisually",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7e6b7e11bb57fec",
      "framework": "unknown",
      "imports": "./misc",
      "lines": 277,
      "logic_relevance": "none",
      "name": "bidi",
      "normalized_name": "bidi",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/bidi.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "e772c6d9b626ae9793513a03",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f5a828693b8f90ca",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "browser",
      "normalized_name": "browser",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/util/browser.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "9346322adce1ce06b2d164a0",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getKeyMap, isModifierKey, keyName, lookupKey, normalizeKeyMap | imports:../util/browser, ../util/misc, ./keynames | backend-score:55 | security-score:55",
      "exports": "getKeyMap,isModifierKey,keyName,lookupKey,normalizeKeyMap",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b9e4da0243de69a",
      "framework": "unknown",
      "imports": "../util/browser,../util/misc,./keynames",
      "lines": 140,
      "logic_relevance": "none",
      "name": "keymap",
      "normalized_name": "keymap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/input/keymap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "784acf6eba42f8235f6b0ca5",
      "component_kind": "auth-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e94cd2975b0e250c",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "keynames",
      "normalized_name": "keynames",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/input/keynames.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,security,automation,ai",
      "component_id": "9f15e396bee9551df0db2fa1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ContentEditableInput | imports:../display/operations, ../display/selection, ../display/view_tracking, ../line/pos, ../line/utils_line, ../measurement/position_measurement, ../model/changes, ../model/selection | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ContentEditableInput",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed456da157470ec4",
      "framework": "unknown",
      "imports": "../display/operations,../display/selection,../display/view_tracking,../line/pos,../line/utils_line,../measurement/position_measurement,../model/changes,../model/selection,../model/selection_updates,../util/bidi,../util/browser,../util/dom,../util/event,../util/misc,./input",
      "lines": 470,
      "logic_relevance": "none",
      "name": "ContentEditableInput",
      "normalized_name": "content-editable-input",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/input/ContentEditableInput.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,ai",
      "component_id": "a6a8dd2f6234e7527c9caa9f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:indentLine | imports:../line/highlight, ../line/pos, ../line/utils_line, ../model/changes, ../model/selection, ../model/selection_updates, ../util/misc | backend-score:55 | ai-score:45",
      "exports": "indentLine",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7fba1f71f648a7c3",
      "framework": "unknown",
      "imports": "../line/highlight,../line/pos,../line/utils_line,../model/changes,../model/selection,../model/selection_updates,../util/misc",
      "lines": 71,
      "logic_relevance": "none",
      "name": "indent",
      "normalized_name": "indent",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/input/indent.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,security,automation,ai",
      "component_id": "8fe077ce5c6e32477fa7d988",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:TextareaInput | imports:../display/operations, ../display/selection, ../measurement/position_measurement, ../measurement/widgets, ../model/selection, ../model/selection_updates, ../util/browser, ../util/dom | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "TextareaInput",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1d8f38f1ddd6593",
      "framework": "unknown",
      "imports": "../display/operations,../display/selection,../measurement/position_measurement,../measurement/widgets,../model/selection,../model/selection_updates,../util/browser,../util/dom,../util/event,../util/feature_detection,../util/misc,./input",
      "lines": 358,
      "logic_relevance": "none",
      "name": "TextareaInput",
      "normalized_name": "textarea-input",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/input/TextareaInput.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,backend,security,ai",
      "component_id": "8520345826ab572efa517324",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:applyTextInput, copyableRanges, disableBrowserMagic, handlePaste, hiddenTextarea, setLastCopied, triggerElectric | imports:../display/operations, ../display/scrolling, ../line/pos, ../line/utils_line, ../model/changes, ../util/browser, ../util/dom, ../util/feature_detection | ui-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "applyTextInput,copyableRanges,disableBrowserMagic,handlePaste,hiddenTextarea,setLastCopied,triggerElectric",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cf6bfb89973536d",
      "framework": "unknown",
      "imports": "../display/operations,../display/scrolling,../line/pos,../line/utils_line,../model/changes,../util/browser,../util/dom,../util/feature_detection,../util/misc,../util/operation_group,./indent",
      "lines": 135,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/input/input.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,security,ai",
      "component_id": "fd4173760d0345e9f2c2ddaf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CodeMirror | imports:../display/Display, ../display/focus, ../display/gutters, ../display/line_numbers, ../display/operations, ../display/scroll_events, ../display/scrollbars, ../line/pos | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "CodeMirror",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a2bd70fd9f36004",
      "framework": "unknown",
      "imports": "../display/Display,../display/focus,../display/gutters,../display/line_numbers,../display/operations,../display/scroll_events,../display/scrollbars,../line/pos,../measurement/position_measurement,../measurement/widgets,../model/Doc,../model/document_data,../model/selection,../model/selection_updates,../util/browser,../util/event,../util/misc,./drop_events,./global_events,./key_events,./mouse_events,./options,./utils",
      "lines": 212,
      "logic_relevance": "none",
      "name": "CodeMirror",
      "normalized_name": "code-mirror",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/CodeMirror.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai",
      "component_id": "b38994009cdca36ada6e4aab",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:deleteNearSelection | imports:../display/operations, ../display/scrolling, ../line/pos, ../model/changes, ../util/misc | backend-score:55 | ai-score:45",
      "exports": "deleteNearSelection",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ac1741eccc52835",
      "framework": "unknown",
      "imports": "../display/operations,../display/scrolling,../line/pos,../model/changes,../util/misc",
      "lines": 30,
      "logic_relevance": "none",
      "name": "deleteNearSelection",
      "normalized_name": "delete-near-selection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/deleteNearSelection.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "f68078645c622cb6478cc17b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:defineOptions | imports:../display/focus, ../display/gutters, ../display/line_numbers, ../display/mode_state, ../display/scrollbars, ../display/selection, ../display/view_tracking, ../input/keymap | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "defineOptions",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f78b4698b302f9c2",
      "framework": "unknown",
      "imports": "../display/focus,../display/gutters,../display/line_numbers,../display/mode_state,../display/scrollbars,../display/selection,../display/view_tracking,../input/keymap,../line/line_data,../line/pos,../line/spans,../measurement/position_measurement,../model/changes,../util/browser,../util/dom,../util/event,./utils",
      "lines": 190,
      "logic_relevance": "none",
      "name": "options",
      "normalized_name": "options",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/options.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,ai",
      "component_id": "232ddfc9da9155e7540d3e95",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:clearDragCursor, onDragOver, onDragStart, onDrop | imports:../display/operations, ../display/selection, ../line/pos, ../measurement/position_measurement, ../measurement/widgets, ../model/change_measurement, ../model/changes, ../model/selection | backend-score:55 | ai-score:45",
      "exports": "clearDragCursor,onDragOver,onDragStart,onDrop",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33fc14a31190b668",
      "framework": "unknown",
      "imports": "../display/operations,../display/selection,../line/pos,../measurement/position_measurement,../measurement/widgets,../model/change_measurement,../model/changes,../model/selection,../model/selection_updates,../util/browser,../util/dom,../util/event,../util/misc",
      "lines": 119,
      "logic_relevance": "none",
      "name": "drop_events",
      "normalized_name": "drop-events",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/drop_events.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "8e61bc092770c5dc255efe67",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../display/operations, ../display/scrolling, ../display/update_display, ../display/view_tracking, ../input/indent, ../input/input, ../input/keymap, ../line/highlight | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8815d9b70a2bbeb7",
      "framework": "unknown",
      "imports": "../display/operations,../display/scrolling,../display/update_display,../display/view_tracking,../input/indent,../input/input,../input/keymap,../line/highlight,../line/pos,../line/spans,../line/utils_line,../measurement/position_measurement,../model/document_data,../model/selection,../model/selection_updates,../util/bidi,../util/dom,../util/event,../util/misc,../util/operation_group,./commands,./deleteNearSelection,./key_events",
      "lines": 535,
      "logic_relevance": "none",
      "name": "methods",
      "normalized_name": "methods",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/methods.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security,ai",
      "component_id": "8ec9448a412bbfe1220c1803",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:addLegacyProps | imports:../display/scroll_events, ../display/scrollbars, ../input/keymap, ../input/keynames, ../line/line_data, ../line/pos, ../model/Doc, ../model/change_measurement | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "addLegacyProps",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d029a03fc1c01e44",
      "framework": "unknown",
      "imports": "../display/scroll_events,../display/scrollbars,../input/keymap,../input/keynames,../line/line_data,../line/pos,../model/Doc,../model/change_measurement,../model/line_widget,../model/mark_text,../modes,../util/StringStream,../util/dom,../util/event,../util/feature_detection,../util/misc,./commands",
      "lines": 62,
      "logic_relevance": "none",
      "name": "legacy",
      "normalized_name": "legacy",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/legacy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,automation",
      "component_id": "2a17d596b3523d95138f0972",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ensureGlobalHandlers | imports:../display/focus, ../util/event | backend-score:55 | automation-score:45",
      "exports": "ensureGlobalHandlers",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dea2556f998960f2",
      "framework": "unknown",
      "imports": "../display/focus,../util/event",
      "lines": 44,
      "logic_relevance": "none",
      "name": "global_events",
      "normalized_name": "global-events",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/global_events.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,security,automation,ai",
      "component_id": "bda603cb1a03ae35f1129a47",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:clickInGutter, onContextMenu, onMouseDown | imports:../display/focus, ../display/operations, ../display/update_lines, ../line/pos, ../line/utils_line, ../measurement/position_measurement, ../measurement/widgets, ../model/selection | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "clickInGutter,onContextMenu,onMouseDown",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee2dd4f13420ee34",
      "framework": "unknown",
      "imports": "../display/focus,../display/operations,../display/update_lines,../line/pos,../line/utils_line,../measurement/position_measurement,../measurement/widgets,../model/selection,../model/selection_updates,../util/browser,../util/dom,../util/event,../util/feature_detection,../util/misc",
      "lines": 310,
      "logic_relevance": "none",
      "name": "mouse_events",
      "normalized_name": "mouse-events",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/mouse_events.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,ai",
      "component_id": "e71bdf1a5f17c0244edc3b23",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CodeMirror | imports:../input/ContentEditableInput, ../input/TextareaInput, ../model/Doc, ../modes, ../util/event, ../util/misc, ./CodeMirror, ./fromTextArea | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "CodeMirror",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "71ca3044222111aa",
      "framework": "unknown",
      "imports": "../input/ContentEditableInput,../input/TextareaInput,../model/Doc,../modes,../util/event,../util/misc,./CodeMirror,./fromTextArea,./legacy,./methods,./options",
      "lines": 69,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/main.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "42149ed40bf9b3c89c7f58bc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../display/operations, ../display/scrolling, ../line/pos, ../line/spans, ../line/utils_line, ../model/selection, ../model/selection_updates, ../util/bidi | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5118bab9d7992339",
      "framework": "unknown",
      "imports": "../display/operations,../display/scrolling,../line/pos,../line/spans,../line/utils_line,../model/selection,../model/selection_updates,../util/bidi,../util/misc,./deleteNearSelection",
      "lines": 183,
      "logic_relevance": "none",
      "name": "commands",
      "normalized_name": "commands",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/commands.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "backend,logic",
      "component_id": "af983bc316fd915115931f5d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for design-system; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:themeChanged | imports:../measurement/position_measurement | backend-score:55 | logic-score:45",
      "exports": "themeChanged",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fd16e63bbf08027b",
      "framework": "unknown",
      "imports": "../measurement/position_measurement",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/utils.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "fe56bb863a8d17b13d238f75",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:onKeyDown, onKeyPress, onKeyUp | imports:../display/selection, ../input/keymap, ../measurement/widgets, ../util/browser, ../util/dom, ../util/event, ../util/feature_detection, ../util/misc | backend-score:55 | security-score:55",
      "exports": "onKeyDown,onKeyPress,onKeyUp",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "de7e7b2b8dee1600",
      "framework": "unknown",
      "imports": "../display/selection,../input/keymap,../measurement/widgets,../util/browser,../util/dom,../util/event,../util/feature_detection,../util/misc,../util/operation_group,./commands",
      "lines": 152,
      "logic_relevance": "none",
      "name": "key_events",
      "normalized_name": "key-events",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/key_events.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "7781aed4939ef201e09b2d1e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fromTextArea | imports:../util/dom, ../util/event, ../util/misc, ./CodeMirror | backend-score:55",
      "exports": "fromTextArea",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84273cf1f8db0f02",
      "framework": "unknown",
      "imports": "../util/dom,../util/event,../util/misc,./CodeMirror",
      "lines": 61,
      "logic_relevance": "none",
      "name": "fromTextArea",
      "normalized_name": "from-text-area",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/edit/fromTextArea.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d603226e0e8304aad1931b0d",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MarkedSpan, addMarkedSpan, attachMarkedSpans, collapsedSpanAtEnd, collapsedSpanAtStart, compareCollapsedMarkers, conflictingCollapsedRange, detachMarkedSpans | imports:../util/misc, ./pos, ./saw_special_spans, ./utils_line | backend-score:55 | observability-score:55",
      "exports": "MarkedSpan,addMarkedSpan,attachMarkedSpans,collapsedSpanAtEnd,collapsedSpanAtStart,compareCollapsedMarkers,conflictingCollapsedRange,detachMarkedSpans,findMaxLine,getMarkedSpanFor,heightAtLine,lineIsHidden,lineLength,removeMarkedSpan,removeReadOnlyRanges,stretchSpansOverChange,visualLine,visualLineContinued,visualLineEndNo,visualLineNo",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d2f4301cffcbbc71",
      "framework": "unknown",
      "imports": "../util/misc,./pos,./saw_special_spans,./utils_line",
      "lines": 365,
      "logic_relevance": "none",
      "name": "spans",
      "normalized_name": "spans",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/line/spans.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c2c811e122cc54fd00a27bb6",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Pos, clipLine, clipPos, clipPosArray, cmp, copyPos, maxPos, minPos | imports:./utils_line | backend-score:55",
      "exports": "Pos,clipLine,clipPos,clipPosArray,cmp,copyPos,maxPos,minPos",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ef0d9a1c7247034",
      "framework": "unknown",
      "imports": "./utils_line",
      "lines": 36,
      "logic_relevance": "none",
      "name": "pos",
      "normalized_name": "pos",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/line/pos.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "eb5b7214700825fff5718b3d",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getBetween, getLine, getLines, isLine, lineAtHeight, lineNo, lineNumberFor, updateLineHeight | imports:../util/misc | logic-score:60 | backend-score:55",
      "exports": "getBetween,getLine,getLines,isLine,lineAtHeight,lineNo,lineNumberFor,updateLineHeight",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2f4d98738035c2a6",
      "framework": "unknown",
      "imports": "../util/misc",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "utils_line",
      "normalized_name": "utils-line",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/line/utils_line.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "359e9738465b3b5b629e42a2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Line, LineView, buildLineContent, buildViewArray, cleanUpLine, defaultSpecialCharPlaceholder, updateLine | imports:../util/bidi, ../util/browser, ../util/dom, ../util/event, ../util/feature_detection, ../util/misc, ./highlight, ./spans | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Line,LineView,buildLineContent,buildViewArray,cleanUpLine,defaultSpecialCharPlaceholder,updateLine",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0388a9ee35151543",
      "framework": "unknown",
      "imports": "../util/bidi,../util/browser,../util/dom,../util/event,../util/feature_detection,../util/misc,./highlight,./spans,./utils_line",
      "lines": 334,
      "logic_relevance": "none",
      "name": "line_data",
      "normalized_name": "line-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/line/line_data.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b2d966f8cf4a9047cce0f4c9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:seeCollapsedSpans, seeReadOnlySpans | backend-score:55 | observability-score:55",
      "exports": "seeCollapsedSpans,seeReadOnlySpans",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb122060ec500dd9",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "saw_special_spans",
      "normalized_name": "saw-special-spans",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/line/saw_special_spans.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5d6211f09d81cf08dcfcbd49",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getLineStyles, getStateBefore, highlightLine, processLine, readToken, takeToken | imports:../modes, ../util/StringStream, ../util/misc, ./pos, ./utils_line | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "getLineStyles,getStateBefore,highlightLine,processLine,readToken,takeToken",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4f89d211c87216c",
      "framework": "unknown",
      "imports": "../modes,../util/StringStream,../util/misc,./pos,./utils_line",
      "lines": 203,
      "logic_relevance": "none",
      "name": "highlight",
      "normalized_name": "highlight",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/line/highlight.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,ai,backend",
      "component_id": "e07e85cae1106a2efba60bae",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:changeEnd, computeReplacedSel, computeSelAfterChange | imports:../line/pos, ../util/misc, ./selection | logic-score:85 | ai-score:75 | backend-score:55",
      "exports": "changeEnd,computeReplacedSel,computeSelAfterChange",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c3a1302ad54c9882",
      "framework": "unknown",
      "imports": "../line/pos,../util/misc,./selection",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "change_measurement",
      "normalized_name": "change-measurement",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/change_measurement.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,backend,observability",
      "component_id": "fb6d9066959590f531980fdc",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BranchChunk, LeafChunk | imports:../line/line_data, ../util/misc, ../util/operation_group | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55",
      "exports": "BranchChunk,LeafChunk",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f91ea31d57558788",
      "framework": "unknown",
      "imports": "../line/line_data,../util/misc,../util/operation_group",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "chunk",
      "normalized_name": "chunk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/chunk.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ai,backend,observability,automation",
      "component_id": "721db57d00b049073267e04f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:changeLine, makeChange, makeChangeFromHistory, replaceRange | imports:../display/highlight_worker, ../display/operations, ../display/view_tracking, ../line/pos, ../line/saw_special_spans, ../line/spans, ../line/utils_line, ../measurement/position_measurement | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "changeLine,makeChange,makeChangeFromHistory,replaceRange",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a1822429d0882f7",
      "framework": "unknown",
      "imports": "../display/highlight_worker,../display/operations,../display/view_tracking,../line/pos,../line/saw_special_spans,../line/spans,../line/utils_line,../measurement/position_measurement,../util/event,../util/misc,../util/operation_group,./change_measurement,./document_data,./history,./selection,./selection_updates",
      "lines": 330,
      "logic_relevance": "primary",
      "name": "changes",
      "normalized_name": "changes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/changes.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "e9a5c4ce6bd21d40f1ad7617",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:LineWidget, addLineWidget | imports:../display/operations, ../display/scrolling, ../display/view_tracking, ../line/spans, ../line/utils_line, ../measurement/widgets, ../util/event, ./changes | ai-score:75 | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "LineWidget,addLineWidget",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e1b4c5646ad4f7ba",
      "framework": "unknown",
      "imports": "../display/operations,../display/scrolling,../display/view_tracking,../line/spans,../line/utils_line,../measurement/widgets,../util/event,./changes",
      "lines": 67,
      "logic_relevance": "secondary",
      "name": "line_widget",
      "normalized_name": "line-widget",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/line_widget.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,ai,backend",
      "component_id": "45f5139bd3c569273fe76a7e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Range, Selection, normalizeSelection, simpleSelection | imports:../line/pos, ../util/misc | logic-score:85 | ai-score:75 | backend-score:55",
      "exports": "Range,Selection,normalizeSelection,simpleSelection",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "99eae873bbf32e31",
      "framework": "unknown",
      "imports": "../line/pos,../util/misc",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/selection.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,backend,observability",
      "component_id": "af730ccaba5b1515e9c0e865",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:History, addChangeToHistory, addSelectionToHistory, copyHistoryArray, historyChangeFromChange, mergeOldSpans, pushSelectionToHistory | imports:../line/pos, ../line/spans, ../line/utils_line, ../util/event, ../util/misc, ./change_measurement, ./document_data, ./selection | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55",
      "exports": "History,addChangeToHistory,addSelectionToHistory,copyHistoryArray,historyChangeFromChange,mergeOldSpans,pushSelectionToHistory",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "78b03387476a54fe",
      "framework": "unknown",
      "imports": "../line/pos,../line/spans,../line/utils_line,../util/event,../util/misc,./change_measurement,./document_data,./selection",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "history",
      "normalized_name": "history",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/history.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,backend,observability",
      "component_id": "381a9459e2cda814f80f59ee",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extendRange, extendSelection, extendSelections, reCheckSelection, replaceOneSelection, selectAll, setSelection, setSelectionNoUndo | imports:../display/scrolling, ../line/pos, ../line/utils_line, ../util/event, ../util/misc, ../util/operation_group, ./history, ./selection | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55",
      "exports": "extendRange,extendSelection,extendSelections,reCheckSelection,replaceOneSelection,selectAll,setSelection,setSelectionNoUndo,setSelectionReplaceHistory,setSimpleSelection,skipAtomic",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bdf2e85c5f5e90c6",
      "framework": "unknown",
      "imports": "../display/scrolling,../line/pos,../line/utils_line,../util/event,../util/misc,../util/operation_group,./history,./selection",
      "lines": 206,
      "logic_relevance": "primary",
      "name": "selection_updates",
      "normalized_name": "selection-updates",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/selection_updates.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "32bf9cd153b6eda60efd8915",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:attachDoc, isWholeLineUpdate, linkedDocs, updateDoc | imports:../display/mode_state, ../display/view_tracking, ../line/line_data, ../line/spans, ../line/utils_line, ../measurement/position_measurement, ../util/misc, ../util/operation_group | ai-score:75 | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "attachDoc,isWholeLineUpdate,linkedDocs,updateDoc",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2440af44bd8033a3",
      "framework": "unknown",
      "imports": "../display/mode_state,../display/view_tracking,../line/line_data,../line/spans,../line/utils_line,../measurement/position_measurement,../util/misc,../util/operation_group",
      "lines": 98,
      "logic_relevance": "secondary",
      "name": "document_data",
      "normalized_name": "document-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/document_data.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,backend,observability,process",
      "component_id": "23253dd81c1b8a5b0d18ef0a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../display/operations, ../display/scrolling, ../edit/CodeMirror, ../line/line_data, ../line/pos, ../line/spans, ../line/utils_line, ../util/dom | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c2cf4f1d1d41967c",
      "framework": "unknown",
      "imports": "../display/operations,../display/scrolling,../edit/CodeMirror,../line/line_data,../line/pos,../line/spans,../line/utils_line,../util/dom,../util/feature_detection,../util/misc,./change_measurement,./changes,./chunk,./document_data,./history,./line_widget,./mark_text,./selection,./selection_updates",
      "lines": 424,
      "logic_relevance": "primary",
      "name": "Doc",
      "normalized_name": "doc",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/model/Doc.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e58d62352b0ac3d682fe3a47",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DisplayUpdate, maybeClipScrollbars, postUpdateDisplay, setDocumentHeight, updateDisplayIfNeeded, updateDisplaySimple, updateGutterSpace | imports:../line/saw_special_spans, ../line/spans, ../line/utils_line, ../measurement/position_measurement, ../util/browser, ../util/dom, ../util/event, ../util/misc | backend-score:55 | observability-score:55",
      "exports": "DisplayUpdate,maybeClipScrollbars,postUpdateDisplay,setDocumentHeight,updateDisplayIfNeeded,updateDisplaySimple,updateGutterSpace",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f32320c3c90c7f42",
      "framework": "unknown",
      "imports": "../line/saw_special_spans,../line/spans,../line/utils_line,../measurement/position_measurement,../util/browser,../util/dom,../util/event,../util/misc,./highlight_worker,./line_numbers,./scrollbars,./selection,./update_line,./update_lines,./view_tracking",
      "lines": 227,
      "logic_relevance": "none",
      "name": "update_display",
      "normalized_name": "update-display",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/update_display.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,automation",
      "component_id": "8d484850382cbeaeb657892c",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Display | imports:../util/browser, ../util/dom, ../util/misc | backend-score:55 | automation-score:45",
      "exports": "Display",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee70724bba52d84f",
      "framework": "unknown",
      "imports": "../util/browser,../util/dom,../util/misc",
      "lines": 105,
      "logic_relevance": "none",
      "name": "Display",
      "normalized_name": "display",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/Display.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "083c0612edf0ae12c822e47f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:onScrollWheel, setScrollLeft, setScrollTop, wheelEventPixels | imports:../util/browser, ../util/event, ./highlight_worker, ./line_numbers, ./update_display | backend-score:55 | automation-score:45",
      "exports": "onScrollWheel,setScrollLeft,setScrollTop,wheelEventPixels",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0cf6d2b9f43fe9e",
      "framework": "unknown",
      "imports": "../util/browser,../util/event,./highlight_worker,./line_numbers,./update_display",
      "lines": 138,
      "logic_relevance": "none",
      "name": "scroll_events",
      "normalized_name": "scroll-events",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/scroll_events.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "eaed8778c60c5fc4a3f33c15",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:loadMode, resetModeState | imports:../modes, ./highlight_worker, ./view_tracking | backend-score:55",
      "exports": "loadMode,resetModeState",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b295839c9343ae5",
      "framework": "unknown",
      "imports": "../modes,./highlight_worker,./view_tracking",
      "lines": 22,
      "logic_relevance": "none",
      "name": "mode_state",
      "normalized_name": "mode-state",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/mode_state.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "ab7eb5cc0e4774a92f4b8659",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:addToScrollPos, calculateScrollPos, ensureCursorVisible, maybeScrollWindow, resolveScrollToPos, scrollIntoView, scrollPosIntoView | imports:../line/pos, ../measurement/position_measurement, ../util/browser, ../util/dom, ../util/event, ./scroll_events | backend-score:55",
      "exports": "addToScrollPos,calculateScrollPos,ensureCursorVisible,maybeScrollWindow,resolveScrollToPos,scrollIntoView,scrollPosIntoView",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "18f988fd4cea31c4",
      "framework": "unknown",
      "imports": "../line/pos,../measurement/position_measurement,../util/browser,../util/dom,../util/event,./scroll_events",
      "lines": 134,
      "logic_relevance": "none",
      "name": "scrolling",
      "normalized_name": "scrolling",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/scrolling.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "d6e8bce0609b1fbb48a5f544",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:startWorker | imports:../line/highlight, ../modes, ../util/misc, ./operations, ./view_tracking | backend-score:55",
      "exports": "startWorker",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a222963d3478d32",
      "framework": "unknown",
      "imports": "../line/highlight,../modes,../util/misc,./operations,./view_tracking",
      "lines": 51,
      "logic_relevance": "none",
      "name": "highlight_worker",
      "normalized_name": "highlight-worker",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/highlight_worker.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "42df47f8647b98d5a3a4e73c",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:alignHorizontally, maybeUpdateLineNumberWidth | imports:../line/utils_line, ../measurement/position_measurement, ../util/dom, ./update_display | backend-score:55",
      "exports": "alignHorizontally,maybeUpdateLineNumberWidth",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa0ee14e260d53aa",
      "framework": "unknown",
      "imports": "../line/utils_line,../measurement/position_measurement,../util/dom,./update_display",
      "lines": 48,
      "logic_relevance": "none",
      "name": "line_numbers",
      "normalized_name": "line-numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/line_numbers.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "45b9e78f61f5e7ee4b70ccc9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:drawSelectionCursor, prepareSelection, restartBlink, updateSelection | imports:../line/pos, ../line/spans, ../line/utils_line, ../measurement/position_measurement, ../util/bidi, ../util/dom | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "drawSelectionCursor,prepareSelection,restartBlink,updateSelection",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "aed7ffded9ffaee1",
      "framework": "unknown",
      "imports": "../line/pos,../line/spans,../line/utils_line,../measurement/position_measurement,../util/bidi,../util/dom",
      "lines": 136,
      "logic_relevance": "none",
      "name": "selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/selection.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "d5be5a0e6019d12d361ddc50",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:delayBlurEvent, ensureFocus, onBlur, onFocus | imports:../util/browser, ../util/dom, ../util/event, ./selection | backend-score:55",
      "exports": "delayBlurEvent,ensureFocus,onBlur,onFocus",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92c57ed7018e08cd",
      "framework": "unknown",
      "imports": "../util/browser,../util/dom,../util/event,./selection",
      "lines": 47,
      "logic_relevance": "none",
      "name": "focus",
      "normalized_name": "focus",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/focus.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "a38addccf724fe79f04e2728",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:setGuttersForLineNumbers, updateGutters | imports:../util/dom, ../util/misc, ./update_display | backend-score:55",
      "exports": "setGuttersForLineNumbers,updateGutters",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9fa6acdda4cf6c2",
      "framework": "unknown",
      "imports": "../util/dom,../util/misc,./update_display",
      "lines": 34,
      "logic_relevance": "none",
      "name": "gutters",
      "normalized_name": "gutters",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/gutters.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "dbefe70ec572fc8034ace565",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:adjustView, countDirtyView, regChange, regLineChange, resetView | imports:../line/line_data, ../line/saw_special_spans, ../line/spans, ../measurement/position_measurement, ../util/misc | backend-score:55 | observability-score:55",
      "exports": "adjustView,countDirtyView,regChange,regLineChange,resetView",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1257b0920203faea",
      "framework": "unknown",
      "imports": "../line/line_data,../line/saw_special_spans,../line/spans,../measurement/position_measurement,../util/misc",
      "lines": 153,
      "logic_relevance": "none",
      "name": "view_tracking",
      "normalized_name": "view-tracking",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/view_tracking.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "bb50ce8c84a6dbeeb27e4429",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:updateHeightsInViewport, visibleLines | imports:../line/spans, ../line/utils_line, ../measurement/position_measurement, ../util/browser | backend-score:55 | observability-score:55",
      "exports": "updateHeightsInViewport,visibleLines",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1b8b74d32ac23030",
      "framework": "unknown",
      "imports": "../line/spans,../line/utils_line,../measurement/position_measurement,../util/browser",
      "lines": 62,
      "logic_relevance": "none",
      "name": "update_lines",
      "normalized_name": "update-lines",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/update_lines.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e059010ca85018b7dd42cf96",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:docMethodOp, endOperation, methodOp, operation, runInOp, startOperation | imports:../line/pos, ../line/spans, ../measurement/position_measurement, ../util/dom, ../util/event, ../util/operation_group, ./focus, ./line_numbers | backend-score:55 | observability-score:55",
      "exports": "docMethodOp,endOperation,methodOp,operation,runInOp,startOperation",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b57327c5a64d3b31",
      "framework": "unknown",
      "imports": "../line/pos,../line/spans,../measurement/position_measurement,../util/dom,../util/event,../util/operation_group,./focus,./line_numbers,./scroll_events,./scrollbars,./scrolling,./selection,./update_display,./update_lines",
      "lines": 215,
      "logic_relevance": "none",
      "name": "operations",
      "normalized_name": "operations",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/operations.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1491396f17a594ec0f48b609",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:buildLineElement, updateLineForChanges | imports:../line/line_data, ../line/utils_line, ../util/browser, ../util/dom, ../util/operation_group | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "buildLineElement,updateLineForChanges",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a144ecffeb5e901f",
      "framework": "unknown",
      "imports": "../line/line_data,../line/utils_line,../util/browser,../util/dom,../util/operation_group",
      "lines": 186,
      "logic_relevance": "none",
      "name": "update_line",
      "normalized_name": "update-line",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/update_line.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,ai",
      "component_id": "a9c104315a7dabdffd57304f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:initScrollbars, measureForScrollbars, updateScrollbars | imports:../measurement/position_measurement, ../util/browser, ../util/dom, ../util/event, ../util/misc, ./scroll_events, ./update_lines | backend-score:55 | ai-score:45",
      "exports": "initScrollbars,measureForScrollbars,updateScrollbars",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be148d1430170204",
      "framework": "unknown",
      "imports": "../measurement/position_measurement,../util/browser,../util/dom,../util/event,../util/misc,./scroll_events,./update_lines",
      "lines": 188,
      "logic_relevance": "none",
      "name": "scrollbars",
      "normalized_name": "scrollbars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/codemirror/src/display/scrollbars.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "ee8393eee93e42701fa5ff97",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "91a85eeb3e91d620",
      "framework": "unknown",
      "imports": "",
      "lines": 576,
      "logic_relevance": "none",
      "name": "changelog",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/changelog.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,security,automation",
      "component_id": "339dcbbc0894e84c99a38208",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "5fda611b8191f001",
      "framework": "unknown",
      "imports": "",
      "lines": 504,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/LICENSE.TXT",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7d3564da1092ba350387fcca",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fa507072b5f2b5ba",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.tinymce.min",
      "normalized_name": "jquery-tinymce-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/jquery.tinymce.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,observability,security",
      "component_id": "5dbdb90d7db86a911914c6f7",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D, E, F, G, H | backend-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2bb8181b5adb37bd",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "tinymce.min",
      "normalized_name": "tinymce-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/tinymce.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,security,automation",
      "component_id": "7b883b9d06e3be5acab32589",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "5fda611b8191f001",
      "framework": "unknown",
      "imports": "",
      "lines": 504,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability,security",
      "component_id": "86ab3d357c6aeae79757a623",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D, E, L, M, N | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "A,B,C,D,E,L,M,N,O,P,R,S,T",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6cff8c5d0a96d88",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/imagetools/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend",
      "component_id": "b584a9c37ffd4a74fbd5c0a6",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46ebb6c1f87b8e6e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/toc/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "82d0b5e3e30ecdee63258c04",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "353cbb9d6d360491",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/visualblocks/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "058a93c90e4bb1449cf5656b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9faf7b9b76d69f9b",
      "framework": "css",
      "imports": "",
      "lines": 135,
      "logic_relevance": "none",
      "name": "visualblocks",
      "normalized_name": "visualblocks",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/visualblocks/css/visualblocks.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,security",
      "component_id": "68c734ba1dad1630a514c421",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "337a85af060e2d9e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/textpattern/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "678c446444cff6c866edc41a",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "272154d7f19456d8",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/directionality/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability,security",
      "component_id": "2fdcd9ee8b3f10b7d9e2bf78",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1819bd1f217f378f",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/wordcount/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8030ab0d4e8c9fc2a4833b46",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D, E, N, R, S | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "A,B,C,D,E,N,R,S,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d541ca3367a44ad4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/lists/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f5ef3506babfbf25095b954b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5dcf25722bc99dec",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/textcolor/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8c7d759667a3983c7dbb3653",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "afd421135723f3fc",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/legacyoutput/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3980937a9c84ec90bd5a2b02",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9bde31e539cf833c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/example/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5bacc7263751642f44e2cc0c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e987d19fc69b7be9",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "plugin.dev",
      "normalized_name": "plugin-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/codesample/plugin.dev.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "c1642465f4a0d4079bd1ebf4",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f3d67673ed464300",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/codesample/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "c082e4842bd7ae1f563ff783",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4d00eaad8e5a8137",
      "framework": "css",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "prism",
      "normalized_name": "prism",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/codesample/css/prism.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d9acb71dbe0f4cb9d069688e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8f4e8ff5d42c354a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/importcss/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "67dd3d28cae524f40c534f1a",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e6436f83462465a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/template/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a1903a1cb5bdca0ffcf0747c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "af3b5a33ac3f9d8a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/code/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f4e14f77196020f3f02cac5b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8a10d372e1d03026",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/searchreplace/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "3c4753a82e276ffba7ac23e8",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa6691812a273ee1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/contextmenu/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a8d5cd3933b0917f487ad314",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e3a4374413de95a4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/nonbreaking/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "1051c67d93365b0378cf7f56",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "baccf8f94fedc824",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/print/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "38de327cab285516273361e1",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2cd80cbb39437cbd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/image/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,security",
      "component_id": "3fcd962d6f061803f847f6d7",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b69a17a7aae7ce6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/autoresize/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "215f3019710a5f1309daf91d",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b34159ea7a4f5283",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/example_dependency/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "8630f487e3d843fe021c0818",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f242dd874d911ed6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/autosave/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "a4be22257305514a5f1c06b9",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be84fb66569a56ac",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/tabfocus/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "46e1d77342d8af25d3ec95ba",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bbeedd550072d47",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/insertdatetime/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "d57784fbc05a0eeaa37a66dd",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53fd6853bcd687e3",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/layer/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d43dcf145293f67e558414b5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a4a6afa359918d93",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/link/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f43df4589bf712ad09396814",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "21f7dce2e2d160bd",
      "framework": "unknown",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "plugin.dev",
      "normalized_name": "plugin-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/table/plugin.dev.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "18858c0b5332a6ecebe7e88d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D, E, F, G, H | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6c7911836dd3dd15",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/table/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "696264ce4bf451da3fb64276",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8aa52ca2d68cf745",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/charmap/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "bff1252aba5fc4875ea1001e",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eddb0c39931febb6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/colorpicker/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6b6aa596d154dfe2687e6781",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9c4fe082b5ff1f2",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/hr/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "ffc1ff00ff96730d23fe506e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2ed6a978ca69e91d",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/fullpage/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "1544539f538ff92d2e3e3621",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "554ec87e20123fee",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/advlist/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "626a65298af9cd5bce87fb92",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "688cf1a5329db5d7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/preview/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "13e0a98e5e68e01e3ce21f69",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "124a3d76094beb92",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/anchor/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "1180f94a00569673e4efc210",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6da5e7593bbf2705",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/autolink/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "b598a7f5c556e322753e21e0",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a95f2ccecec7ef31",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/pagebreak/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5d66959415665b2ed32b8484",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e390562b056e165",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/fullscreen/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a3b96fd664724aaf852f1595",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "726dbb083253c5b0",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/visualchars/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "93bc3a355ccd2b5d70175a30",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fe9ef3ab454b3aa",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/save/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "13a4412a4aa1261a946b8f89",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "687e4660c3890061",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/emoticons/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "bc8d0991f516526facafae4b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d9e6850339fff764",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/noneditable/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "30a12c3046106adec8ae5529",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aab660ea28b43dcd",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "plugin.dev",
      "normalized_name": "plugin-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/spellchecker/plugin.dev.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0272f8948f8d16e778e16e91",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, E, N | backend-score:55 | observability-score:55",
      "exports": "C,E,N",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3170f14ed588a3de",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/spellchecker/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4d18eaa6747d382652153322",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5dbbdeb70cc8b879",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/bbcode/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "5f8329ceb8e36cb39f5eb0c5",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2125a1a5a8c0d55",
      "framework": "unknown",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "plugin.dev",
      "normalized_name": "plugin-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/paste/plugin.dev.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b1c51a9d21dccc967497a9c2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, E | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "C,E",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03e62c6cf3bc8dc4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/paste/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,observability,security",
      "component_id": "3f37ac00775fc5dd72e51d8d",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a550a1e98095f87c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugin.min",
      "normalized_name": "plugin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/media/plugin.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,backend",
      "component_id": "59b7c0ea6ca69487041b5db9",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f64ce69439496e5",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "Progress",
      "normalized_name": "progress",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Progress.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "ef4f6d77009cd9e002d44f67",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2875c2471395dffc",
      "framework": "css",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "Notification",
      "normalized_name": "notification",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Notification.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "56c6bd65e06517c5357c09d0",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a8f96cd7aff6968b",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "Radio",
      "normalized_name": "radio",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Radio.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "2af85318b0bb82ae043e756a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "00258f6438aff890",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "Scrollable",
      "normalized_name": "scrollable",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Scrollable.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "c68be88a7e1a7120a2d1c7fc",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f55deb5cdf684975",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "Iframe",
      "normalized_name": "iframe",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Iframe.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "a17b08193f2875017cf41193",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5f32f911afe77eef",
      "framework": "css",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "FloatPanel",
      "normalized_name": "float-panel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/FloatPanel.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "5b63d1a21889f7ac1186cf86",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5ae8324cd460c5a7",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "Content.Inline",
      "normalized_name": "content-inline",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Content.Inline.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "e5ea8810d668886c59d10cc7",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3135ef46c64a9ee1",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "SelectBox",
      "normalized_name": "select-box",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/SelectBox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "e28481448cb7e3f723d67b70",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f84366005815a771",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "Container",
      "normalized_name": "container",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Container.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "c3b9859aa50fc25eb1aaa8a4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "047d8b596738e92f",
      "framework": "css",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "InfoBox",
      "normalized_name": "info-box",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/InfoBox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,backend",
      "component_id": "522725d9e7353e1e59ed94c2",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "867c4da48f271ee9",
      "framework": "css",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "Checkbox",
      "normalized_name": "checkbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Checkbox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "b9e9489be35c7fe8ad58bd1b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "83fed3ebf1fcf00e",
      "framework": "css",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "skin.ie7.dev",
      "normalized_name": "skin-ie7-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.ie7.dev.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "f239b9ad9b7f8317d0050595",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e5fd6ba6765a01b1",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "Menu",
      "normalized_name": "menu",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Menu.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,backend",
      "component_id": "94c2236dd14b43ab3c01cbd2",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "25ac6575518cd771",
      "framework": "css",
      "imports": "",
      "lines": 175,
      "logic_relevance": "none",
      "name": "Button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Button.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "7dd4e0449aae620cb52ea0c2",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2dae2c643f82df0b",
      "framework": "css",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "SplitButton",
      "normalized_name": "split-button",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/SplitButton.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "3ad648501294c422b1efdb34",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "85f8fa207d703e4b",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "ImagePanel",
      "normalized_name": "image-panel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ImagePanel.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "c580aba22bb7a2948a6204a5",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a123b17b3ae540d0",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "FlowLayout",
      "normalized_name": "flow-layout",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/FlowLayout.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "19afe1f04f16d22cf4ad6ac7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "326a915e9e5a19c4",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "MenuBar",
      "normalized_name": "menu-bar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/MenuBar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "8a3a9232b09a5b9832afa7f1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7285837a33783da8",
      "framework": "css",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "ColorPicker",
      "normalized_name": "color-picker",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ColorPicker.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "02d9e1ffd5a8c0f8ba0c0bf8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "39b6a0d55f130bf2",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "TextBox",
      "normalized_name": "text-box",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/TextBox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "44d77742ea6b19c110c56211",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d0a4ce6ddfe402ca",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "CropRect",
      "normalized_name": "crop-rect",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/CropRect.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "fedc1b5cf028e38a264254f0",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ca93fda2a809c212",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "skin.min",
      "normalized_name": "skin-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "82371e6cbd75640f5eb57018",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "108e0b15c990bd2c",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "Reset",
      "normalized_name": "reset",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Reset.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "443d57ab846aa27d71249a38",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3dc07c440b460210",
      "framework": "css",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "Arrows",
      "normalized_name": "arrows",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Arrows.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "6b9848b39b20ced31479c929",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "43f44bbd62414926",
      "framework": "css",
      "imports": "",
      "lines": 218,
      "logic_relevance": "none",
      "name": "Variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "3f584751f576acb2f6ac189d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e67131b0db3bfbcb",
      "framework": "css",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "ColorButton",
      "normalized_name": "color-button",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ColorButton.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend,observability",
      "component_id": "9a72c0b2363013d16e55b912",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5377daa1be46c968",
      "framework": "css",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "ComboBox",
      "normalized_name": "combo-box",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ComboBox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "style,backend,automation",
      "component_id": "7b5726abeee4fa0fa456d5b7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0cf1cd9bc64ee1fc",
      "framework": "css",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "Window",
      "normalized_name": "window",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Window.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "eccd5d7d34164bd019d0feb4",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7544cb5d99e5fe78",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "content.inline.min",
      "normalized_name": "content-inline-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/content.inline.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,ui,backend",
      "component_id": "4c9b9ac0d19370599ec469ab",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1277e9ea1d6a9257",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Label",
      "normalized_name": "label",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Label.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "27b40cd364648b9bedba2a23",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f5ece1b9aed2ccd5",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "ColorBox",
      "normalized_name": "color-box",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ColorBox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend,observability",
      "component_id": "db7d49bcffbc5cfa41dafb8e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6c4063364a34adfa",
      "framework": "css",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "TinyMCE",
      "normalized_name": "tiny-mce",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/TinyMCE.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "66f68e5b49c173660f9bc3e8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "397b416d2c27e3e0",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "TabPanel",
      "normalized_name": "tab-panel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/TabPanel.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "f242cf58ce78500315b505a5",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4b0468b7a1ccbc53",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Spacer",
      "normalized_name": "spacer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Spacer.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,backend",
      "component_id": "50047ddcb9085876fc0c67d1",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e30deb9a258dd49e",
      "framework": "css",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "Sidebar",
      "normalized_name": "sidebar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Sidebar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "e1f078c61acdc15c090d4d92",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "030f3335253dcb53",
      "framework": "css",
      "imports": "",
      "lines": 2777,
      "logic_relevance": "none",
      "name": "skin.ie7",
      "normalized_name": "skin-ie7",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.ie7.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "a996c61b56cc112cd5987d29",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1566c009999e8a1e",
      "framework": "css",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "ButtonGroup",
      "normalized_name": "button-group",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ButtonGroup.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "69a195ec7a8f64994f210d83",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0abff83a9f6d4249",
      "framework": "css",
      "imports": "",
      "lines": 182,
      "logic_relevance": "none",
      "name": "Icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "863cd2c61e62ec0cff313d30",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3932e99ef5b2601c",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "Animations",
      "normalized_name": "animations",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Animations.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "5459baea5a0dfca71d169d9f",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4092c5a460e25afc",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "skin.ie7.min",
      "normalized_name": "skin-ie7-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.ie7.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "46d28f4116b0ec42f5e864f8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6f84fcbdf3b567e1",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "AbsoluteLayout",
      "normalized_name": "absolute-layout",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/AbsoluteLayout.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "f0622a67d35cd946d1011582",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2cdea209eb91a6c1",
      "framework": "css",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "Path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Path.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "8778aa96acde13847bc5a9e7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3b09e637ec2ce030",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "Content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Content.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "7638d67d9c065e049434d616",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "262583e6324adf7e",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "StackLayout",
      "normalized_name": "stack-layout",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/StackLayout.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "de8f6da8842d5257ba098758",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7222ce0ed3f47e26",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "FitLayout",
      "normalized_name": "fit-layout",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/FitLayout.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "34e9b4714045e54aaf3fa4df",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "442ae5bef49c38f1",
      "framework": "css",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "Content.Objects",
      "normalized_name": "content-objects",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Content.Objects.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "7516edc125de43b41f824d04",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8a2070f46f4de538",
      "framework": "css",
      "imports": "",
      "lines": 2874,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,backend,automation",
      "component_id": "0305b935a3d62f9848f07990",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ff9c868fdddd365",
      "framework": "css",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "Icons.Ie7",
      "normalized_name": "icons-ie7",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Icons.Ie7.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "3d154776fbc54e27b5133cab",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "780d2ae6bd8b32f2",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "ListBox",
      "normalized_name": "list-box",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ListBox.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "1ae7badee9f3a50294753fd0",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0df3f7239192705c",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "content.min",
      "normalized_name": "content-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/content.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "8a8fe6bd302e2f37b71c01d8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b887f9628f086eca",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "MenuButton",
      "normalized_name": "menu-button",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/MenuButton.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "52efa328ddf4f1c7b9882d36",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aa2c9f995ee9d378",
      "framework": "css",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "skin.dev",
      "normalized_name": "skin-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.dev.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "73022134ce2cd52a9cc1bef1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f5ef51c9ce604e7",
      "framework": "css",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "Mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,backend",
      "component_id": "34811320a85b6817686595af",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1a1c924779b57393",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "Slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Slider.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "08390581d5d4d2ddf1ef0f38",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c7fb0fda7dc356ba",
      "framework": "css",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "ToolTip",
      "normalized_name": "tool-tip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ToolTip.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "d9971155677bd25dd1e6f092",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "15a59718f12d4093",
      "framework": "css",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "MenuItem",
      "normalized_name": "menu-item",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/MenuItem.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "e0b4c580b40d6cef1c86b8c6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "02fb970a6f36795e",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "Throbber",
      "normalized_name": "throbber",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Throbber.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "67a91b2901a6ada5bfeedd88",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ecdf37dc3cd6200b",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "FieldSet",
      "normalized_name": "field-set",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/FieldSet.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "b5ce117f6db23c569773a959",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a0b7d9cfaf4cee34",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Panel",
      "normalized_name": "panel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Panel.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "508603838cff643a0e962873",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5d1e498a680cb462",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ResizeHandle",
      "normalized_name": "resize-handle",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/ResizeHandle.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,backend",
      "component_id": "92b3c471af1f3378bdf27889",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5a8b6a04d57b5c88",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/langs/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1dad7d3a6454fe29f23ec54e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c663765152a5b2ff",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "theme.min",
      "normalized_name": "theme-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/themes/inlite/theme.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "06308121eb1bde3490881dea",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0591a6190a357b7d",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "theme.min",
      "normalized_name": "theme-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/tinymce/js/tinymce/themes/modern/theme.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "a19870352e720ddd0d1198a1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5541e890262d2e59",
      "framework": "unknown",
      "imports": "",
      "lines": 678,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/license.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "12f0aa6c9e0eeb0b9a4fd25a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b0be37ad1db49c16",
      "framework": "unknown",
      "imports": "",
      "lines": 134,
      "logic_relevance": "none",
      "name": "changelog",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/changelog.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "5796684b3a4efe11ceac5401",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | backend-score:55",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "b89224ab3fe4ecef",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "7e66cc4ea9faffa268b08bc6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "502f08bfea11c036",
      "framework": "css",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "introjs-rtl",
      "normalized_name": "introjs-rtl",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/introjs-rtl.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0c4892683c1a0d5c96eb30c0",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "925dac17de647df3",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "0420ed90eafd01c947922c6c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cb8dd0bcb46a3e3e",
      "framework": "unknown",
      "imports": "",
      "lines": 135,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "25f32b42e15d062275b693d6",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa8e5ccc7d83ff5f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "component",
      "normalized_name": "component",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/component.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "222983fa643bb0e2615144ef",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e7ddc9de5cb8e3ae",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "0bf8a609f581adad60c9492c",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:IntroJs | backend-score:55 | security-score:55",
      "exports": "IntroJs",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "976b0231ddafd1ee",
      "framework": "unknown",
      "imports": "",
      "lines": 1775,
      "logic_relevance": "none",
      "name": "intro",
      "normalized_name": "intro",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/intro.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,security",
      "component_id": "2acbd238e80c386982e81ba6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "401eaa65e40c85e8",
      "framework": "css",
      "imports": "",
      "lines": 496,
      "logic_relevance": "none",
      "name": "introjs",
      "normalized_name": "introjs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/introjs.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process,backend",
      "component_id": "d6173a59a3489e78fd3b4184",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8dd32698facdb036",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "3831abbb5d2d6583f450bba5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8d8a5647df794727",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "954886dfe6f2b7afde1971c6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "browser-sync,gulp,gulp-clean-css,gulp-header,gulp-less,gulp-rename,gulp-uglify",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./package.json, browser-sync, gulp, gulp-clean-css, gulp-header, gulp-less, gulp-rename, gulp-uglify | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efaf81de3313b375",
      "framework": "unknown",
      "imports": "./package.json,browser-sync,gulp,gulp-clean-css,gulp-header,gulp-less,gulp-rename,gulp-uglify",
      "lines": 102,
      "logic_relevance": "none",
      "name": "gulpfile",
      "normalized_name": "gulpfile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/gulpfile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "055a229faa50c48b90e83991",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3eb9f926b11cf995",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "agency.min",
      "normalized_name": "agency-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/css/agency.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "ee606dea894b58d7debf37e4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "75fadbddaddea0e0",
      "framework": "css",
      "imports": "",
      "lines": 746,
      "logic_relevance": "none",
      "name": "agency",
      "normalized_name": "agency",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/css/agency.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,backend",
      "component_id": "1e25a02f26fc0b4d767cc347",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "842a924ece9d6652",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "c1f4c3cc834864d13f5dfb7b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "13d65f6d2a48d4a4",
      "framework": "css",
      "imports": "",
      "lines": 738,
      "logic_relevance": "none",
      "name": "agency",
      "normalized_name": "agency",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/less/agency.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "b6fe175d31056a36c8feb98d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3b7b55bb7aaf1a24",
      "framework": "css",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "c3b906276bb4fa9230a5f1b1",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc618b4450536868",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "agency.min",
      "normalized_name": "agency-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/js/agency.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "4b981bfe3b44babe34cb802a",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "953252e416a6d547",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "agency",
      "normalized_name": "agency",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/js/agency.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "5b400b50e72c229eee14c3c9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb2978d7e1d56f15",
      "framework": "unknown",
      "imports": "",
      "lines": 912,
      "logic_relevance": "none",
      "name": "jqBootstrapValidation",
      "normalized_name": "jq-bootstrap-validation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/js/jqBootstrapValidation.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,ai",
      "component_id": "88045769681bae686de3f80c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c8a6cdfac4a8660",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "contact_me",
      "normalized_name": "contact-me",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/js/contact_me.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "b60fb39dcb1cb4049a4baa9d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "87f948e8dc534afd",
      "framework": "css",
      "imports": "",
      "lines": 828,
      "logic_relevance": "none",
      "name": "agency",
      "normalized_name": "agency",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/scss/agency.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "f67b97487d74b5355dfef4f4",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "027e6d2f07d454d8",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/scss/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "5ded41d0a131289d94c5546c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f8c80ac6d80caf34",
      "framework": "css",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/bootstrap/v3/scss/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "e8d07913a340431e3484e2c8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "de1e958bee0fa96b",
      "framework": "css",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "step",
      "normalized_name": "step",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/dynamic-start/resources/step.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "d29fa50b2f9d740c77735a00",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "075055469f2da773",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "step",
      "normalized_name": "step",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/dynamic-start/resources/step.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "8dd70b3aa5d8882f7572603b",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "397733364041c86d",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/assets/css/bootstrap.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "style,backend",
      "component_id": "15b3316a18cd0354e3c0bb55",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for finance; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e22ae2d6f5eae32",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "demo",
      "normalized_name": "demo",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/assets/css/demo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "3a37992615ce7ee9d90ee919",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "76a06227945b3f82",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-responsive.min",
      "normalized_name": "bootstrap-responsive-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/example/assets/css/bootstrap-responsive.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9efa3b150affa06c10b816e8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,node-minify",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, node-minify | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bc4ca67a8854a54c",
      "framework": "unknown",
      "imports": "fs,node-minify",
      "lines": 43,
      "logic_relevance": "none",
      "name": "BUILD",
      "normalized_name": "build",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/BUILD/BUILD.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,security",
      "component_id": "a5e5cf4d407201d6fcc2239e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c6a919e2602ce3dd",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "introjs.min",
      "normalized_name": "introjs-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/minified/introjs.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "512959abe05dce2a9e122810",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4edeec4f5824cffe",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "introjs-rtl.min",
      "normalized_name": "introjs-rtl-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/minified/introjs-rtl.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability,security",
      "component_id": "0a22431d7d23e318b0826459",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, D, E, G, H, I, J, K | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "A,D,E,G,H,I,J,K,L,N,O,P,Q,R,S,T,U,V,W",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79ebf487a19800b0",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "intro.min",
      "normalized_name": "intro-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/minified/intro.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "198ccfa9d4323489b959fa05",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72c2d9ff46669c78",
      "framework": "css",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "introjs-royal",
      "normalized_name": "introjs-royal",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/themes/introjs-royal.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "b6bfffc7ccfe957f6c24dde4",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a80521feb3ca9b4f",
      "framework": "css",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "introjs-flattener",
      "normalized_name": "introjs-flattener",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/themes/introjs-flattener.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "c0ee246bb12bd5aa9bc01f04",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8311f4eb0a276f71",
      "framework": "css",
      "imports": "",
      "lines": 297,
      "logic_relevance": "none",
      "name": "introjs-nassim",
      "normalized_name": "introjs-nassim",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/themes/introjs-nassim.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "ed63a9376f654e19aa9ffc61",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "701086466b7ec2ef",
      "framework": "css",
      "imports": "",
      "lines": 243,
      "logic_relevance": "none",
      "name": "introjs-dark",
      "normalized_name": "introjs-dark",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/themes/introjs-dark.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "5db3cb0f395a7cd7145b9954",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "058aec67ee7d7962",
      "framework": "css",
      "imports": "",
      "lines": 265,
      "logic_relevance": "none",
      "name": "introjs-nazanin",
      "normalized_name": "introjs-nazanin",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/intro/themes/introjs-nazanin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,backend,security",
      "component_id": "8a182e75b7f04251f691b50a",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "startCorner",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Chart, IDMatches | imports:startCorner | ui-score:70 | backend-score:55 | security-score:55",
      "exports": "Chart,IDMatches",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2033824d9a3b6999",
      "framework": "unknown",
      "imports": "startCorner",
      "lines": 11557,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/js/chartjs/Chart.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,automation,ai",
      "component_id": "a0cd7ae6d088466c5132ab69",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2bee4f0d0eac811b",
      "framework": "unknown",
      "imports": "",
      "lines": 654,
      "logic_relevance": "none",
      "name": "History",
      "normalized_name": "history",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/mocha/History.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "9554f03686a06c112b57fba8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a33f1c7de2e7d59a",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/mocha/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security,automation",
      "component_id": "198ab647ea98edb7dcf6bdf0",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1bcd92ba4773fc48",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/mocha/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,security",
      "component_id": "5fd0de253069f38f250d42c7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6bb2a46eabcef2d5",
      "framework": "css",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "mocha",
      "normalized_name": "mocha",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/mocha/mocha.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9441a5b7d5336becfd7b633e",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "browser,growl,jade,mocha",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Base, Context, Doc, Dot, EventEmitter, F, HTML, HTMLCov | imports:../browser/progress, ../ms, ../suite, ../test, ../utils, ./base, ./bdd, ./context | backend-score:55 | security-score:55 | uses-env",
      "exports": "Base,Context,Doc,Dot,EventEmitter,F,HTML,HTMLCov,Hook,JSONCov,JSONReporter,Landing,List,Markdown,Min,Mocha,NyanCat,Progress,Runnable,Runner,Spec,Suite,TAP,Test,XUnit",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "283eb32fcbfeb553",
      "framework": "unknown",
      "imports": "../browser/progress,../ms,../suite,../test,../utils,./base,./bdd,./context,./doc,./dot,./exports,./hook,./html,./html-cov,./interfaces,./json,./json-cov,./json-stream,./landing,./list,./markdown,./min,./ms,./nyan,./progress,./qunit,./reporters,./runnable,./runner,./spec,./suite,./tap,./tdd,./test,./utils,./xunit,browser/debug,browser/diff,browser/events,browser/fs,browser/path,browser/tty,growl,jade,mocha",
      "lines": 5812,
      "logic_relevance": "none",
      "name": "mocha",
      "normalized_name": "mocha",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/mocha/mocha.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security",
      "component_id": "0d0d59e201ccbc7c5fa9fafc",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs,load-grunt-tasks,npm-shrinkwrap,path,time-grunt",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./grunt/bs-commonjs-generator.js, ./grunt/bs-glyphicons-data-generator.js, ./grunt/bs-lessdoc-parser.js, ./grunt/bs-raw-files-generator.js, fs, load-grunt-tasks, npm-shrinkwrap, path | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9e788cd6e2b6a19",
      "framework": "unknown",
      "imports": "./grunt/bs-commonjs-generator.js,./grunt/bs-glyphicons-data-generator.js,./grunt/bs-lessdoc-parser.js,./grunt/bs-raw-files-generator.js,fs,load-grunt-tasks,npm-shrinkwrap,path,time-grunt",
      "lines": 533,
      "logic_relevance": "none",
      "name": "Gruntfile",
      "normalized_name": "gruntfile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/Gruntfile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "e9169f13e4729f2595ee8d2f",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a55c6c47ab3bf3ca",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "4e8336edaaf89e892f437fc3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a2c00ee8965e7606",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/package.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,security,automation",
      "component_id": "3c8e5cf436ba7df068e52823",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "acd24465ea22ef10",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "70eef166c26b95bd3f027266",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9af80a4c8e71dd38",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "27f797f20df47e2325fc672a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8bbb8a03e6cd3018",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "13797ddd802ad1667dd43913",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b32356374e5cbe13",
      "framework": "css",
      "imports": "",
      "lines": 613,
      "logic_relevance": "none",
      "name": "forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/forms.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend,logic",
      "component_id": "a74806b38294f233c88f0342",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f6034c1e380bf944",
      "framework": "css",
      "imports": "",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "utilities",
      "normalized_name": "utilities",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/utilities.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "8e2d7b025d6401bc3f83d2c2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea99b5e866e74642",
      "framework": "css",
      "imports": "",
      "lines": 242,
      "logic_relevance": "none",
      "name": "navs",
      "normalized_name": "navs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/navs.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "0fae2b0ae819cb5f63c8c832",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e939f4d9361dbda8",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "component-animations",
      "normalized_name": "component-animations",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/component-animations.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,backend,logic",
      "component_id": "4a925246dc59e3ef05b070ef",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "82faef37dbded5a6",
      "framework": "css",
      "imports": "",
      "lines": 194,
      "logic_relevance": "secondary",
      "name": "responsive-utilities",
      "normalized_name": "responsive-utilities",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/responsive-utilities.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "da1de55431d9917bc645d793",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e600ef88ebc68dda",
      "framework": "css",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "grid",
      "normalized_name": "grid",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/grid.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "0f3ce396976478c8c5d0494e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1cc333c9046b9d4e",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/breadcrumbs.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "29bd3656639e5729ca36f3ab",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f172c116446499c7",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "media",
      "normalized_name": "media",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/media.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,ui,backend",
      "component_id": "cf26a50b6f9a8dfe6dae601c",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72291d5821b6f373",
      "framework": "css",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/carousel.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "c4158798b9826af778dfd412",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b365798cc3ccc1a8",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "print",
      "normalized_name": "print",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/print.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "cbe52256c6c2019ed3358a5e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d2fd98609869e83",
      "framework": "css",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "247efc25c2281274d9857d51",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d7e285f2e823c722",
      "framework": "css",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "list-group",
      "normalized_name": "list-group",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/list-group.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,backend,automation",
      "component_id": "d93f08b86a817adfc8588561",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d88586bdad2cd397",
      "framework": "css",
      "imports": "",
      "lines": 660,
      "logic_relevance": "none",
      "name": "navbar",
      "normalized_name": "navbar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/navbar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,backend,integration",
      "component_id": "2ad143e2cc7f7ec98e979b2e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3152290f4ea80ea5",
      "framework": "css",
      "imports": "",
      "lines": 244,
      "logic_relevance": "none",
      "name": "button-groups",
      "normalized_name": "button-groups",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/button-groups.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend,security",
      "component_id": "fcd473816f3d7cc08383414c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "81417d06a65ee59b",
      "framework": "css",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "progress-bars",
      "normalized_name": "progress-bars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/progress-bars.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "fdf2144368f3b7217cbf6051",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "07e2c9ceffdfcffa",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/bootstrap.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability,security",
      "component_id": "66bb854f0141e6269e8d2642",
      "component_kind": "stylesheet",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "exports:&:before { content: \"\\e170\"; | style-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "&:before { content: \"\\e170\";",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "049201f884fda3dd",
      "framework": "css",
      "imports": "",
      "lines": 305,
      "logic_relevance": "none",
      "name": "glyphicons",
      "normalized_name": "glyphicons",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/glyphicons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "27b96ad3e77e89cd0f767683",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b499f784fee9f9fe",
      "framework": "css",
      "imports": "",
      "lines": 869,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,backend",
      "component_id": "e86bb3ba6828f3809e292edf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d98e5144917146bf",
      "framework": "css",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "responsive-embed",
      "normalized_name": "responsive-embed",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/responsive-embed.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "19e4c12b1ea44987dbcf257c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ad35c2a47ba07322",
      "framework": "css",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "jumbotron",
      "normalized_name": "jumbotron",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/jumbotron.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "cdd70988d18be6386ff6d40b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "50bd00d003e31fbb",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "badges",
      "normalized_name": "badges",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/badges.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,backend,observability",
      "component_id": "83ede0b8f74084657750ec15",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d069dbbe6d3a4390",
      "framework": "css",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/pagination.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "0faa24f8393fffa9d47586b8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8e7904979425cb35",
      "framework": "css",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "pager",
      "normalized_name": "pager",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/pager.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend,integration",
      "component_id": "73c0bcd1f77e865bd96a0e90",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "32255f43c4bbc480",
      "framework": "css",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "input-groups",
      "normalized_name": "input-groups",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/input-groups.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "style,backend,automation",
      "component_id": "aabf145a4a8691b4eda0cff1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b9434ada20d4fb5e",
      "framework": "css",
      "imports": "",
      "lines": 302,
      "logic_relevance": "none",
      "name": "type",
      "normalized_name": "type",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/type.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "59702f6005bc0c559e484916",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cf0109dd08fdb24d",
      "framework": "css",
      "imports": "",
      "lines": 424,
      "logic_relevance": "none",
      "name": "normalize",
      "normalized_name": "normalize",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/normalize.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "style,backend,automation",
      "component_id": "8a2ea27b086403fc36656978",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4fc47977def5aaa5",
      "framework": "css",
      "imports": "",
      "lines": 291,
      "logic_relevance": "none",
      "name": "theme",
      "normalized_name": "theme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/theme.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend,security",
      "component_id": "88dba7e9d6853977de5f0f0d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c95264fc75f2eb08",
      "framework": "css",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "code",
      "normalized_name": "code",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/code.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "a11014b48108548aab5859c5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "87e9879c7e6dec71",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "thumbnails",
      "normalized_name": "thumbnails",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/thumbnails.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "165f7da34b3cf28059c6068e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "faafe8a60b749209",
      "framework": "css",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "labels",
      "normalized_name": "labels",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/labels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "197d8d9bfbfea8f57b9d1eac",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8752cb6b680b0e8f",
      "framework": "css",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/alerts.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "2403056fb7aaca1559e01dbc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c90955b6a9aa6478",
      "framework": "css",
      "imports": "",
      "lines": 216,
      "logic_relevance": "none",
      "name": "dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/dropdowns.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "2709f02980fcc47bb9097847",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a40753faa609dc60",
      "framework": "css",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "popovers",
      "normalized_name": "popovers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/popovers.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "25cfcc0f98d16f2069f41278",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "48e8b334504d224e",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "wells",
      "normalized_name": "wells",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/wells.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "94f9a80c5382130bc673db7d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fcf4691aaf1f56e0",
      "framework": "css",
      "imports": "",
      "lines": 161,
      "logic_relevance": "none",
      "name": "scaffolding",
      "normalized_name": "scaffolding",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/scaffolding.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "368b3c5f2b013938c5253d1f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3f64698fd0aeead",
      "framework": "css",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "tables",
      "normalized_name": "tables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/tables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "a1b84f41c5af4efcce4b9f83",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "75d84db07a329480",
      "framework": "css",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "modals",
      "normalized_name": "modals",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/modals.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "9e7763d1b0c88ca79f4c4db7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "219d6a5f9da25ac7",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "b7dc501bb5e90e6e6284e0bb",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2fd6f373ff01b2a9",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "close",
      "normalized_name": "close",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/close.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,backend",
      "component_id": "96a1b516d12731425616c999",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "52f3f302069ba7ea",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/tooltip.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "396ec4c31db75484a11bc14f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0f7c7e3f433075e7",
      "framework": "css",
      "imports": "",
      "lines": 271,
      "logic_relevance": "none",
      "name": "panels",
      "normalized_name": "panels",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/panels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,backend",
      "component_id": "8bdffaa6dc061e4550ffbd4d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "88ac5cb8c5ba5fc0",
      "framework": "css",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/forms.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,backend",
      "component_id": "697c0a4f29c87f1573d6682f",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c946c47d0aece91a",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "text-emphasis",
      "normalized_name": "text-emphasis",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/text-emphasis.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend",
      "component_id": "f65eb183af71359fff37547d",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ab36bdc7fb86b18b",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "nav-vertical-align",
      "normalized_name": "nav-vertical-align",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/nav-vertical-align.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "f3bda7c0e79a59b6d74e5f58",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fbc0a73ea2a8e232",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "table-row",
      "normalized_name": "table-row",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/table-row.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "051887e41ec1a422f55efff4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "00e995f96bf4750f",
      "framework": "css",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "hide-text",
      "normalized_name": "hide-text",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/hide-text.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "782d14cc0109b3b0a964542a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "826083699b74b936",
      "framework": "css",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "grid",
      "normalized_name": "grid",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/grid.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "style,backend",
      "component_id": "7532a5857c9e35a5feb365c5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for testing; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5b157b8b8aab78a",
      "framework": "css",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "gradients",
      "normalized_name": "gradients",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/gradients.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "e45d2334379f5c30d151b29a",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8043f8d3ab4d8d3c",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "nav-divider",
      "normalized_name": "nav-divider",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/nav-divider.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "20a5ac40b11bc85cfada3f2b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e21cdfbc6c54c9c4",
      "framework": "css",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "e985d27d3ad975c71bd09a49",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "17ba7c9250459ecf",
      "framework": "css",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "list-group",
      "normalized_name": "list-group",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/list-group.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "e73c559ae42ab7fb024ce346",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5bc36f8b6451ac06",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "image",
      "normalized_name": "image",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/image.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend",
      "component_id": "dc6f4c324ee0b038cf8ea390",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "699ed793530ccf11",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "reset-filter",
      "normalized_name": "reset-filter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/reset-filter.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "5f4ad2f82211c0b0773e9db1",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6aade69b4f606ff0",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "text-overflow",
      "normalized_name": "text-overflow",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/text-overflow.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "6031585019a7bd9b047e466d",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "731273ad4146e5cc",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "size",
      "normalized_name": "size",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/size.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,backend",
      "component_id": "126cc5b90b95e7bec7502c13",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a9353308b82c8c56",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "background-variant",
      "normalized_name": "background-variant",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/background-variant.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,backend,observability",
      "component_id": "dfa4f3e810be6b23b85f63d2",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4ae2ad8ff292532c",
      "framework": "css",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/pagination.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "style,backend",
      "component_id": "d62b510a40d8c0687a9b7ec3",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for game; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "42a5bfd1e72a04ce",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "center-block",
      "normalized_name": "center-block",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/center-block.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "deec457044f5e36e07ba2472",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7800de23d032f3c5",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "responsive-visibility",
      "normalized_name": "responsive-visibility",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/responsive-visibility.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "db91f9a8afddf28c9722a76b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b434d897ac8d38e0",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "labels",
      "normalized_name": "labels",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/labels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend",
      "component_id": "4a0113dc7cd642a3b8a3ab20",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "14e252cd9ad3c15d",
      "framework": "css",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "grid-framework",
      "normalized_name": "grid-framework",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/grid-framework.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "b67ff1ccc30eafe83685d5c1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e69871b5803835bb",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "border-radius",
      "normalized_name": "border-radius",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/border-radius.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "32a98db658aea8e37623d63b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "755e6753a8260789",
      "framework": "css",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "clearfix",
      "normalized_name": "clearfix",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/clearfix.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "4c00194f10d130911d96df42",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e43cf5bd7958467",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "opacity",
      "normalized_name": "opacity",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/opacity.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "6db5019c43277ca4c4c51cc4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "71c8c0b6e22a2d41",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/alerts.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,backend",
      "component_id": "843e121ab93881fbe5d79335",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3e441c81bfe1f3c",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "progress-bar",
      "normalized_name": "progress-bar",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/progress-bar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,backend,ai",
      "component_id": "ad742cd7caed79a528773f8d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1b507204935e0395",
      "framework": "css",
      "imports": "",
      "lines": 227,
      "logic_relevance": "none",
      "name": "vendor-prefixes",
      "normalized_name": "vendor-prefixes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/vendor-prefixes.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "8ec593270336b6dadcaccc7f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1b75fdfcd489845b",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "reset-text",
      "normalized_name": "reset-text",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/reset-text.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "7027f608623bb61db28ad20e",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b6132814f56a8f43",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "resize",
      "normalized_name": "resize",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/resize.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "997a2d5a047889784a864d2d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "315dc3f8368bd42e",
      "framework": "css",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "panels",
      "normalized_name": "panels",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/panels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "5f5d637d2a2dbbd24b46933b",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dee41df40f2fc5fc",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "tab-focus",
      "normalized_name": "tab-focus",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/less/mixins/tab-focus.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "63b236db5905d3d2abb2c6c6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4c4992c0cea541a0",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "transition",
      "normalized_name": "transition",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/transition.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,backend,security",
      "component_id": "71cb827cca0513d18fe4e485",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | backend-score:55 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3bc9620928f72c4e",
      "framework": "unknown",
      "imports": "",
      "lines": 514,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/tooltip.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "e24ce2ffe37b0adc8072fb32",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7febc2b3ac8b8e30",
      "framework": "unknown",
      "imports": "",
      "lines": 211,
      "logic_relevance": "none",
      "name": "collapse",
      "normalized_name": "collapse",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/collapse.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "7f92d6482499221ddb1fad35",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin, ScrollSpy | backend-score:55",
      "exports": "Plugin,ScrollSpy",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1271feec9ed30f0f",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "scrollspy",
      "normalized_name": "scrollspy",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/scrollspy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "9a87aa6c4baae9d3c9c9492a",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin | backend-score:55 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92d4c20f5350f2ba",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "dropdown",
      "normalized_name": "dropdown",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/dropdown.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "cd470047b8c29fb34b779ea4",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43e16be52d7c5353",
      "framework": "unknown",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "tab",
      "normalized_name": "tab",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/tab.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend",
      "component_id": "7ffc72d527d4850fd4ad31a8",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9eafe4728dfc7e52",
      "framework": "unknown",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/popover.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend",
      "component_id": "4fa47432e359ce469b6b2d4a",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bf5bf7c66a7596b4",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/alert.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend",
      "component_id": "da99a63ac84efd96a4f73b8a",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "318791b8d45a0840",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/button.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend,security",
      "component_id": "3e9e91edd0492885ea429729",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | backend-score:55 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8267c3df279fd9d3",
      "framework": "unknown",
      "imports": "",
      "lines": 237,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/carousel.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "56c6611999ba78927e0c9f8f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d52795b36f7aca99",
      "framework": "unknown",
      "imports": "",
      "lines": 337,
      "logic_relevance": "none",
      "name": "modal",
      "normalized_name": "modal",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/modal.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "30fa809a00f58dab0a9f3f08",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ee8ac8eff7b2c22",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "affix",
      "normalized_name": "affix",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/js/affix.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "245f571fe0aee4c467a38a15",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "markdown-it",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Parser, Section, SectionDocstring, SubSection, Tokenizer, VarDocstring, Variable | imports:markdown-it | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "Parser,Section,SectionDocstring,SubSection,Tokenizer,VarDocstring,Variable",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f8d81b2d193d645",
      "framework": "unknown",
      "imports": "markdown-it",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "bs-lessdoc-parser",
      "normalized_name": "bs-lessdoc-parser",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/grunt/bs-lessdoc-parser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5de7bad2820f8c781d754843",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f67deca6b9e6a26b",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "sauce_browsers",
      "normalized_name": "sauce-browsers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/grunt/sauce_browsers.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0175d09bf790cde5eb5603d4",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae916717b904ad85",
      "framework": "unknown",
      "imports": "fs",
      "lines": 42,
      "logic_relevance": "none",
      "name": "bs-glyphicons-data-generator",
      "normalized_name": "bs-glyphicons-data-generator",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/grunt/bs-glyphicons-data-generator.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7a83a24c20cd2614a1904956",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "btoa,fs,glob",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:btoa, fs, glob | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a11df2b53aa237ec",
      "framework": "unknown",
      "imports": "btoa,fs,glob",
      "lines": 44,
      "logic_relevance": "none",
      "name": "bs-raw-files-generator",
      "normalized_name": "bs-raw-files-generator",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/grunt/bs-raw-files-generator.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9ae9903fbee59633f414345c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40b129b99e1f6743",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "configBridge",
      "normalized_name": "config-bridge",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/grunt/configBridge.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "da314e0fcfac1f719c5f57a5",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "267348239e8a2a1d",
      "framework": "unknown",
      "imports": "fs,path",
      "lines": 30,
      "logic_relevance": "none",
      "name": "bs-commonjs-generator",
      "normalized_name": "bs-commonjs-generator",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/grunt/bs-commonjs-generator.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "c25d94a5b9b442e4bc27f6aa",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e1c3c9eca85c42dd",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "MyGet",
      "normalized_name": "my-get",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap/nuget/MyGet.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "6ec395e5a8ae7b7b04549ebf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9e0046c359ed339",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "make",
      "normalized_name": "make",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/make.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,backend",
      "component_id": "b33d683a4d7e85824f7962ba",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f49dc3317febf580",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8f8b224d962f655a1fc201d4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c46a1ddf3c0645e2",
      "framework": "unknown",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "ellipses",
      "normalized_name": "ellipses",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/ellipses.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6da5d7919aa297c49fa8a7bb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "541caa7b92a6cb46",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "scrolling",
      "normalized_name": "scrolling",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/scrolling.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,backend,observability,security",
      "component_id": "b93bd133b343ea0ffbac15ed",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5ce58300ed61fce9",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/select.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0b84ab84f76ee72b1a34626a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "be4866de6ae2ad9c",
      "framework": "next-react",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "four_button",
      "normalized_name": "four-button",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/four_button.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,backend,observability,security",
      "component_id": "c4d35cc72e87139b6790388d",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "99c416f3b20a9905",
      "framework": "next-react",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/input.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "dd7984630d990a44de7ee2b9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "97ccba1220d9b661",
      "framework": "next-react",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "extjs",
      "normalized_name": "extjs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/extjs.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "fad9aeb412bfeb46a459b565",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "949378c54f340a7a",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "dataTables.jPaginator",
      "normalized_name": "data-tables-j-paginator",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/pagination/jPaginator/dataTables.jPaginator.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ac02758f1f9bcedbe689c283",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8406dc2990835512",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "range_numbers",
      "normalized_name": "range-numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/filtering/row-based/range_numbers.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3e05bad76ec95e697c54d3cc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "83c16c4d72042cbf",
      "framework": "unknown",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "TableTools.ShowSelectedOnly",
      "normalized_name": "table-tools-show-selected-only",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/filtering/row-based/TableTools.ShowSelectedOnly.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9e3ddd3c5608409564ec6a2d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7340c251e39ff49",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "range_dates",
      "normalized_name": "range-dates",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/filtering/row-based/range_dates.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "f9c678b70c75978db2311f4f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "96be080a435bd46c",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "html",
      "normalized_name": "html",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/filtering/type-based/html.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "13d5e773baae219dea6f1b45",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dab0f525df96d0f6",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "accent-neutralise",
      "normalized_name": "accent-neutralise",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/filtering/type-based/accent-neutralise.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a23a37f0805e7d99ff06bc02",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2191bf486a9e31d4",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "phoneNumber",
      "normalized_name": "phone-number",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/filtering/type-based/phoneNumber.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b22e1388c1e9aff857064695",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1de793c3a97161e0",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui.min",
      "normalized_name": "data-tables-jqueryui-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "8a62de9774b71b579e01844c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c42d3cd45d31a409",
      "framework": "css",
      "imports": "",
      "lines": 414,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "26a593bf7d50672805a313ef",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dc3f56543da4311f",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 156,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "23eb1283d9e555155e9373ef",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a77d8ad1f4528caa",
      "framework": "css",
      "imports": "",
      "lines": 523,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "88a55e43ec53a34f85ad7118",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3ed73d8be7a85bea",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style,backend",
      "component_id": "86ede52ad88dbc0a8d5c406f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7d5ba5d70c746e07",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "7f413d3349991632693a2e5d",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a905062b971bfb70",
      "framework": "next-react",
      "imports": "datatables,jquery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap.min",
      "normalized_name": "data-tables-bootstrap-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "b7cab1d929d34141ba4484f9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "680fed6d0a23b929",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 186,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "88d89dadba3f12342ab705ca",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f2fcf631c05c66ac",
      "framework": "css",
      "imports": "",
      "lines": 314,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "fbec5bd08602ff1f9dd7c678",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5ede5d045b085ce0",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap.min",
      "normalized_name": "data-tables-bootstrap-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f894b31a5c76a73ae05beea3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8e32a2b9358177cc",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "10c4a3570ea77a8aa2d73e63",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3326b7fcc05e2be8",
      "framework": "css",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "711ef500a4cd7d4e048ae0af",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "abcb73eaa10b1da9",
      "framework": "next-react",
      "imports": "datatables,jquery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.foundation.min",
      "normalized_name": "data-tables-foundation-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/foundation/dataTables.foundation.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "8fd9c3d6a1e7554cd1a156d8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f123ce5c446db163",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 180,
      "logic_relevance": "none",
      "name": "dataTables.foundation",
      "normalized_name": "data-tables-foundation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/foundation/dataTables.foundation.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "0b51e8610b40b2600fa96ce4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6cf90de3609f7b38",
      "framework": "css",
      "imports": "",
      "lines": 216,
      "logic_relevance": "none",
      "name": "dataTables.foundation",
      "normalized_name": "data-tables-foundation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/foundation/dataTables.foundation.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "db6245a88c26d72d961b5c05",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1312655859bfabbe",
      "framework": "css",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "dataTables.fontAwesome",
      "normalized_name": "data-tables-font-awesome",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/integration/font-awesome/dataTables.fontAwesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "49c6452da663fd4aa55ba4ee",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a2d3b125a47e1e31",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "dataTables.alphabetSearch",
      "normalized_name": "data-tables-alphabet-search",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d274c965801fd99aca15bf55",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73b619064f928b67",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.alphabetSearch.min",
      "normalized_name": "data-tables-alphabet-search-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "988a546adf1bc84636ac83be",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "124c23f4f44824fa",
      "framework": "css",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "dataTables.alphabetSearch",
      "normalized_name": "data-tables-alphabet-search",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b8fa811b8e0a361b51c9d1f5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "10b9d045939171c1",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "dataTables.searchHighlight",
      "normalized_name": "data-tables-search-highlight",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "60c312d7494bce2dd67bd099",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2931446d224f9499",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "dataTables.searchHighlight",
      "normalized_name": "data-tables-search-highlight",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6e1b1cc246e6c21bb18c030b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0cb7248550922c2",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "dataTables.searchHighlight.min",
      "normalized_name": "data-tables-search-highlight-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "32890889cf19cef7d3ec19af",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4fb50b42dbe8e9ae",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "dataTables.lengthLinks",
      "normalized_name": "data-tables-length-links",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d8efa54af72780133b953baf",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "baaf624ffbd05e61",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "dataTables.lengthLinks",
      "normalized_name": "data-tables-length-links",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "886fc76a7ba797386b53794c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7dea8bb76f38503f",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "dataTables.lengthLinks.min",
      "normalized_name": "data-tables-length-links-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "91b1faf8ae3993ba2f7d0e65",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "00dc16be32a5ccd1",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "numeric-comma",
      "normalized_name": "numeric-comma",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/numeric-comma.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "957e9477afb97c688c1bdc77",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0db5dc7456cb568b",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "num-html",
      "normalized_name": "num-html",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/num-html.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ded69e1cca718c3361e8315f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9598fcce4481dab1",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "file-size",
      "normalized_name": "file-size",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/file-size.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "3a2ccdeebbe6217bbc372bc1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0caa79c87d0c0243",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "currency",
      "normalized_name": "currency",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/currency.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "479c8f3f2e9f36884b34a6f5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb2c366d24c33347",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "date-uk",
      "normalized_name": "date-uk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/date-uk.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "98a5eb0c45fe807e36eaaabc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1fa4b27b052c7362",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ip-address",
      "normalized_name": "ip-address",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/ip-address.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "c9ac85b32f82e5d5ea768961",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7c6b91e40c791e55",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "formatted-num",
      "normalized_name": "formatted-num",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/type-detection/formatted-num.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6854c956f945c2a4f8628f88",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d214fb631b6796db",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "date-euro",
      "normalized_name": "date-euro",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/date-euro.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8af271d9e5d48691fcae698c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77ee47e1ebdf32c6",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "numeric-comma",
      "normalized_name": "numeric-comma",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/numeric-comma.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e6c3e89f4a6fdfc4f60cd0a3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f228037356d91ae2",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "monthYear",
      "normalized_name": "month-year",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/monthYear.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8b4c94bc2d96f5fbed34afaa",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "acb6196a363052cd",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "datetime-moment",
      "normalized_name": "datetime-moment",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/datetime-moment.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "be8f8ab998b349683611b0b6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ece3fdf24ca2a4f6",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "chinese-string",
      "normalized_name": "chinese-string",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/chinese-string.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "3a0ecf5cbdf0c8eb9059f0dd",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2a3ae8699f530709",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "anti-the",
      "normalized_name": "anti-the",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/anti-the.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4ad3e9acc19a033fe86eb8b1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7fadc14119699f0d",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "title-numeric",
      "normalized_name": "title-numeric",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/title-numeric.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "fc06881d2ade96a66a872886",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a77add5fc842d5f1",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "stringMonthYear",
      "normalized_name": "string-month-year",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/stringMonthYear.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "db0e7cbc44a25ee70eb64b64",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6c67b0a6aae234df",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "num-html",
      "normalized_name": "num-html",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/num-html.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "89e744cb45b8a268612e2c4b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "50d3a714d69f3f85",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "title-string",
      "normalized_name": "title-string",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/title-string.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b349d23df9e7573772c823ba",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a3adac265f3c5140",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "time",
      "normalized_name": "time",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/time.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0992c002d9c7de757fabf735",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d199b69886ed285",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "percent",
      "normalized_name": "percent",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/percent.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "58699dfe5b441053bc46a8a3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d7b14408b5fb457",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "file-size",
      "normalized_name": "file-size",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/file-size.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "514abffa6ab7086a90a46a74",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3b028a55e8901497",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "formatted-numbers",
      "normalized_name": "formatted-numbers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/formatted-numbers.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "7fcdd30e17468042243640ad",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c7e0401b94829afa",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "natural",
      "normalized_name": "natural",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/natural.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "dbabe6b0a3dc574687a4db15",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "163881aa71abf0f3",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "date-eu",
      "normalized_name": "date-eu",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/date-eu.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b1e04b8fb1856068e79cb800",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1817cd02fe20b29",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "datetime-us",
      "normalized_name": "datetime-us",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/datetime-us.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "1b8a2d81acf568818fbdc70c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d82de363baaa69d2",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "signed-num",
      "normalized_name": "signed-num",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/signed-num.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "71b1b87b854690d9fce13d03",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b0d6c33cc6234c62",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "alt-string",
      "normalized_name": "alt-string",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/alt-string.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d1b0a0b04f8018f33013a990",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b23d4fbbc1cf989d",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "turkish-string",
      "normalized_name": "turkish-string",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/turkish-string.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a2d0db2e0d9c555f2573cc69",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9ccbbdeb69b5f82a",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "currency",
      "normalized_name": "currency",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/currency.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "0175abbdd8097ff77eaedff4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a251f441fa004ff6",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "enum",
      "normalized_name": "enum",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/enum.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6b167a85c1aa77b945cc8cce",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d287812468cdf5cc",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "date-uk",
      "normalized_name": "date-uk",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/date-uk.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "cf0f98ba3a75524f36e7263c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "db2eb511563d8a71",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "ip-address",
      "normalized_name": "ip-address",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/ip-address.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "edc09deda53a4c5976ada635",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3a7bc7c1a947f365",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "scientific",
      "normalized_name": "scientific",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/scientific.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "48039699094d4c6747be38a9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8df377ab9db42f43",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "date-dd-MMM-yyyy",
      "normalized_name": "date-dd-mmm-yyyy",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/date-dd-MMM-yyyy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ae1b5e2e8097c2594466eb6c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5831de4f733ef551",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "date-de",
      "normalized_name": "date-de",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/date-de.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4397cb8d1e6f3afe6dfeaebc",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GetUniCode | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GetUniCode",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f4d45d9219c6b904",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "persian",
      "normalized_name": "persian",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/persian.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "4b5b20b3f373c87ab67caaa6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09a49f8316e84bf4",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "dom-select",
      "normalized_name": "dom-select",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/custom-data-source/dom-select.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "742b44afe53decced9c38c78",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b578be92f468a3ef",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "dom-text",
      "normalized_name": "dom-text",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/custom-data-source/dom-text.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "49254ca302d4cb57d4dde87d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b5f6f33ab025ecf",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dom-checkbox",
      "normalized_name": "dom-checkbox",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/sorting/custom-data-source/dom-checkbox.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "35f3e2625a870576c42f2c79",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eff004530dd317be",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fnFindCellRowIndexes",
      "normalized_name": "fn-find-cell-row-indexes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnFindCellRowIndexes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "2b25b46cd6554358b2259721",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1c2c21088a74067a",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "fnDataUpdate",
      "normalized_name": "fn-data-update",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnDataUpdate.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8a11804b394e5950e8bd1043",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4e6ed8a51910f86b",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "fnAddTr",
      "normalized_name": "fn-add-tr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnAddTr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "51d4d8082ffeaa105f94b696",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c1f5a28bd41fdeab",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "fnAddDataAndDisplay",
      "normalized_name": "fn-add-data-and-display",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnAddDataAndDisplay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "f3f2cdcfdbfb583efdc0dbe8",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1b4ccba25c3d99db",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "fnFilterAll",
      "normalized_name": "fn-filter-all",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnFilterAll.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ddd6c04b48d78bfdea7fef50",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "de3412bf44ffa4b0",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "fnDisplayStart",
      "normalized_name": "fn-display-start",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnDisplayStart.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "99222d6593efda4750f2fdd3",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cdc8f6312f3e16be",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fnFindCellRowNodes",
      "normalized_name": "fn-find-cell-row-nodes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnFindCellRowNodes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d3c65de330776804bc1e78f1",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "51e52b4223b34438",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "fnStandingRedraw",
      "normalized_name": "fn-standing-redraw",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnStandingRedraw.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "16071d0c1c6f4b11f5efa4d3",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cfae5dd53ad2b296",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "fnGetHiddenNodes",
      "normalized_name": "fn-get-hidden-nodes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnGetHiddenNodes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "782a3dfde839ed4d6833f9e6",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d77ccac87b03ec13",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "fnSortNeutral",
      "normalized_name": "fn-sort-neutral",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnSortNeutral.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f1dfc6e26b8bf2d08ac030b2",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b0ba9bcb7876e0b0",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "fnPagingInfo",
      "normalized_name": "fn-paging-info",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnPagingInfo.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "cecee9202d529a4b501fd600",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c0610da9bd5ef1e1",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "fnReloadAjax",
      "normalized_name": "fn-reload-ajax",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnReloadAjax.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "00b6a33626980243452c7069",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b8b7b3abd7d3cc22",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "column().title()",
      "normalized_name": "column-title",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/column().title().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "fc48e4334471c1482bfa6aef",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "79af78ba8be4b331",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "columns().order()",
      "normalized_name": "columns-order",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/columns().order().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "6cb199890ad9af71c57d447d",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8c950fe7a9a3a81e",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "fnColumnIndexToVisible",
      "normalized_name": "fn-column-index-to-visible",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnColumnIndexToVisible.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6c0b3e70778a3a16495635b4",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fe6ef3269172a5d9",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "fnDisplayRow",
      "normalized_name": "fn-display-row",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnDisplayRow.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6c4c0becd69b683f8ba20593",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f8ea6a7fbc7abe43",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "page.jumpToData()",
      "normalized_name": "page-jump-to-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/page.jumpToData().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a33b982ce5d727a4e3973e78",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eb5017f2905b7f43",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "fnFilterClear",
      "normalized_name": "fn-filter-clear",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnFilterClear.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "87c5175f5b51310f18cfce00",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "04f290be07b4804d",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "fnProcessingIndicator",
      "normalized_name": "fn-processing-indicator",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnProcessingIndicator.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "dadc8cd76e7dded685a8f707",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "126a1b1b48c91240",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "fnVisibleToColumnIndex",
      "normalized_name": "fn-visible-to-column-index",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnVisibleToColumnIndex.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "5ed28c0965e9c4e9434b6a12",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "20906b98ead671c5",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "fnGetColumnData",
      "normalized_name": "fn-get-column-data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnGetColumnData.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4b63a0e58e6c4bf6db0546db",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3a3f9eef83ad1c46",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "fnGetTds",
      "normalized_name": "fn-get-tds",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnGetTds.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e16f558efbba2e2a2bf46dbd",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "34470e83570d904e",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "fnFakeRowspan",
      "normalized_name": "fn-fake-rowspan",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnFakeRowspan.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "eb736bb69fd0b91132d58496",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "baf1836cbdc79c14",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "fnLengthChange",
      "normalized_name": "fn-length-change",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnLengthChange.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0ff5a666fb231253117fe65a",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "45f287229be37c4b",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "average()",
      "normalized_name": "average",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/average().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b9079eb40d1478cfc8df3d05",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3b4843a964967f52",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "fnGetColumnIndex",
      "normalized_name": "fn-get-column-index",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnGetColumnIndex.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ce579b03ce6afb0c6b2651bd",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d8a59b15ecdce02a",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fnGetAdjacentTr",
      "normalized_name": "fn-get-adjacent-tr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnGetAdjacentTr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "39c821af6a5c9240a87f4de9",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "20922c380a6db88a",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "fnSetFilteringDelay",
      "normalized_name": "fn-set-filtering-delay",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnSetFilteringDelay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "635be10484f51af8fbcd47ca",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "47fe3d8dcc6ae294",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "fnFilterOnReturn",
      "normalized_name": "fn-filter-on-return",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnFilterOnReturn.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f8e1a931ec3fa43e0be135a4",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "20ce4e0b3928b19b",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "sum()",
      "normalized_name": "sum",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/sum().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c6d62f73ad23d54d22331a2d",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f9b660c63598ffa6",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "fnGetTd",
      "normalized_name": "fn-get-td",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnGetTd.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6eda53c9addb84b2e3a92b79",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "775ca342d8c7b5ea",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "fnMultiFilter",
      "normalized_name": "fn-multi-filter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-plugins/api/fnMultiFilter.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,security,automation",
      "component_id": "428161108fc965c1d1537c4f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "601bff4cf4984bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,backend,automation",
      "component_id": "95ef6a58b12a4a1a1dc716e4",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0ab4603834bc154e",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,backend,security",
      "component_id": "caf92758f2f35af40379e827",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9cf82184374b5c1a",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "Contributing",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/Contributing.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "6af5698d2fb012cf63390394",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c6a873f21550ed80",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "db269cd59b0a9fb0278dbdc9",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc8e3aa67522614c",
      "framework": "css",
      "imports": "",
      "lines": 416,
      "logic_relevance": "none",
      "name": "jquery.dataTables_themeroller",
      "normalized_name": "jquery-data-tables-themeroller",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/jquery.dataTables_themeroller.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "c2602d12e9895371f68de2b2",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e3ca55aaf15f1d5",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.foundation.min",
      "normalized_name": "data-tables-foundation-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/dataTables.foundation.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "ca48c9892b263ca12d3a7beb",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f8097c9b6906513b",
      "framework": "css",
      "imports": "",
      "lines": 453,
      "logic_relevance": "none",
      "name": "jquery.dataTables",
      "normalized_name": "jquery-data-tables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/jquery.dataTables.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "1514410e9eaf28a276042f0e",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cfce00f125355d73",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap.min",
      "normalized_name": "data-tables-bootstrap-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/dataTables.bootstrap.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "fa95c5195531708d29a97a88",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "392b0ecde0b46bc6",
      "framework": "css",
      "imports": "",
      "lines": 482,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/dataTables.jqueryui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "237d9c588b3c5216014d7c63",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "46e131c356d8a0bc",
      "framework": "css",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend,observability",
      "component_id": "ea9468537cc7a1b3a4e2cb0b",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "741d5a82d8150b77",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui.min",
      "normalized_name": "data-tables-jqueryui-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/dataTables.jqueryui.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "287cfa0a16757ba4295f1af3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6b6eefe0c095ac62",
      "framework": "css",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "dataTables.foundation",
      "normalized_name": "data-tables-foundation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/dataTables.foundation.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "f9d228e3f320e2b3c1a5110e",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "36216a0843be5d08",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.dataTables.min",
      "normalized_name": "jquery-data-tables-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/css/jquery.dataTables.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "25a7f371163b73b98eaac77a",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "datatables.net",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables.net | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4dcd6530132e878a",
      "framework": "unknown",
      "imports": "datatables.net",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui.min",
      "normalized_name": "data-tables-jqueryui-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/dataTables.jqueryui.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "d9cdfbe73437fa4acca05b74",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "datatables.net",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables.net | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c79dc84de820237c",
      "framework": "next-react",
      "imports": "datatables.net",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.foundation.min",
      "normalized_name": "data-tables-foundation-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/dataTables.foundation.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "b854dd51e0875d3dc5d24501",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "datatables.net",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables.net | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb2b482dff0c394f",
      "framework": "next-react",
      "imports": "datatables.net",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap.min",
      "normalized_name": "data-tables-bootstrap-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/dataTables.bootstrap.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,observability,ai",
      "component_id": "8f53a2571ab3691d4c47b6aa",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "jquery",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Aa, Ab, B, Bb, C, Cb, Db, F | imports:jquery | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "Aa,Ab,B,Bb,C,Cb,Db,F,Fa,Fb,Ga,Gb,Ha,Hb,I,Ia,Ib,J,Ja,Jb,K,Ka,Kb,La,Lb,Ma,N,Na,Nb,O,Oa,Pa,Q,Qa,R,Ra,Sa,T,Ta,U,Va,W,Wa,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "60a6c9a3dfdc6708",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 164,
      "logic_relevance": "none",
      "name": "jquery.dataTables.min",
      "normalized_name": "jquery-data-tables-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/jquery.dataTables.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "04e7b93a34a6aff6309bb3dd",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "datatables.net",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables.net | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "41b7ec9a73a71cbe",
      "framework": "unknown",
      "imports": "datatables.net",
      "lines": 220,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/dataTables.bootstrap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "eff802f44d2dbb4acdcbf022",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "jquery",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DataTable | imports:jquery | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DataTable",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4aad371510bfe21",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 15212,
      "logic_relevance": "none",
      "name": "jquery.dataTables",
      "normalized_name": "jquery-data-tables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/jquery.dataTables.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6249a8612e78531cc6f8907d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "datatables.net",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables.net | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ccf45338dfffe211",
      "framework": "unknown",
      "imports": "datatables.net",
      "lines": 164,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/dataTables.jqueryui.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend",
      "component_id": "03a14d93771a0a6797727246",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "datatables.net",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables.net | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2179361d5a7bfb58",
      "framework": "unknown",
      "imports": "datatables.net",
      "lines": 156,
      "logic_relevance": "none",
      "name": "dataTables.foundation",
      "normalized_name": "data-tables-foundation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/dataTables.foundation.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "3acd6fb89f747f907345df98",
      "component_kind": "backend-module",
      "confidence": 95,
      "dependency_roots": "+i+",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Aa, Ba, D, Ea, Fa, G, I, J | imports:+i+ | backend-score:55 | automation-score:45",
      "exports": "Aa,Ba,D,Ea,Fa,G,I,J,La,Lb,Mb,Nb,O,Ob,P,Pb,Q,R,Ua,Va,Vb,Wa,Xa,Ya,Za,Zb",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "329ab92b9276ef4e",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 5,
      "logic_relevance": "none",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables/media/js/jquery.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "c79179e8f5429d2309dbbe52",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ea76ef7bc7b56402",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "ab5ee1d308f3499de66aa7d4",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "44254c9a91a4647b",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "MIT-LICENSE",
      "normalized_name": "mit-license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/MIT-LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "1f831a74402b5138ce62722f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c696ee18fae027b",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "deprecated",
      "normalized_name": "deprecated",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/deprecated.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "3e469b2b453532dae2e064ec",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc3157194b3dd79e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "selector",
      "normalized_name": "selector",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/selector.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "18a3a1f4b553e2cc08b91106",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0aa97b4c8a041352",
      "framework": "unknown",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "offset",
      "normalized_name": "offset",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/offset.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "68e68d8b60ff18ec2ec2a26e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6595452949a517af",
      "framework": "unknown",
      "imports": "",
      "lines": 502,
      "logic_relevance": "primary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/core.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "77d22e9ed87a6fdd53f0df40",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "734cf15094e43297",
      "framework": "unknown",
      "imports": "",
      "lines": 868,
      "logic_relevance": "none",
      "name": "event",
      "normalized_name": "event",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/event.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b63438a1d54ce9058ed7ec59",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Animation | backend-score:55 | security-score:55",
      "exports": "Animation",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07e71b13c94c8fd2",
      "framework": "unknown",
      "imports": "",
      "lines": 648,
      "logic_relevance": "none",
      "name": "effects",
      "normalized_name": "effects",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/effects.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "b1002789debb3bb2a21f4297",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f836d9efb6b1435d",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "queue",
      "normalized_name": "queue",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/queue.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,security,automation",
      "component_id": "f231168f409a496080b4914e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f429bb94b5122863",
      "framework": "unknown",
      "imports": "",
      "lines": 580,
      "logic_relevance": "none",
      "name": "manipulation",
      "normalized_name": "manipulation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/manipulation.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "89366d5d533283b0db196bc4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fb3da072cb10dfb",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "serialize",
      "normalized_name": "serialize",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/serialize.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "fcd09ca43793b54dea9d22b9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "932611581adc8afb",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "dimensions",
      "normalized_name": "dimensions",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/dimensions.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6a4a7a7aa998d64eed6b1ad3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb3560264d081213",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "selector-sizzle",
      "normalized_name": "selector-sizzle",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/selector-sizzle.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "7a733d9da5fac5ac85183bb9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "172ff3286cb14bfb",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "selector-native",
      "normalized_name": "selector-native",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/selector-native.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "808acb85c67c023943561c4a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b00a37577625d442",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "attributes",
      "normalized_name": "attributes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/attributes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "9528a9358bab08fdb7f0c797",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "360fe9f2d690707c",
      "framework": "unknown",
      "imports": "",
      "lines": 199,
      "logic_relevance": "none",
      "name": "traversing",
      "normalized_name": "traversing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/traversing.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e04a7330c5321f6502ffd524",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95cb7c6109635517",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "wrap",
      "normalized_name": "wrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/wrap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "23fcdbb05762efc6bcef46e6",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": " + prev + ",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports: + prev +  | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d02537a932ccd995",
      "framework": "unknown",
      "imports": " + prev + ",
      "lines": 786,
      "logic_relevance": "none",
      "name": "ajax",
      "normalized_name": "ajax",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "af62e6bbafdc0e08bc4358c1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89fc475808ae5d20",
      "framework": "unknown",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "data",
      "normalized_name": "data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/data.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "5c08b3425b5856825d4792a8",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "jquery",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:jquery | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73361e6a95c7c074",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 44,
      "logic_relevance": "none",
      "name": "intro",
      "normalized_name": "intro",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/intro.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "d32536af90e771e1269981fd",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df278d6770a46304",
      "framework": "unknown",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "deferred",
      "normalized_name": "deferred",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/deferred.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,ai",
      "component_id": "05dbe0c9a9ed15a76492be7f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "561ec80d9a6463d2",
      "framework": "unknown",
      "imports": "",
      "lines": 450,
      "logic_relevance": "none",
      "name": "css",
      "normalized_name": "css",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9492f574be11e484957efb39",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b741d2c08e6f510",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "outro",
      "normalized_name": "outro",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/outro.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "19e5ee74463e7a008d915cdc",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "395ae27f7e1474cd",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "callbacks",
      "normalized_name": "callbacks",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/callbacks.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "b1576fffbe6b8ee30aad0ada",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efb0f4cb50e68cc9",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/jquery.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,security",
      "component_id": "b90a999fb93d6d79a27ba937",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf0bbe2e1c31d3fc",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "access",
      "normalized_name": "access",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/core/access.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "8a0e6f58237ff886d6f6f3aa",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09252291b1240987",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "init",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/core/init.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,backend",
      "component_id": "4d6a278b8178c50023078a1c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e9366d726af79b36",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "primary",
      "name": "ready",
      "normalized_name": "ready",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/core/ready.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "ee4b5d579a1318dd08cde8c1",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "baffe256354551ff",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "parseHTML",
      "normalized_name": "parse-html",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/core/parseHTML.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "008653bb1775e98af4b32625",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9b43f23099792a26",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "rsingleTag",
      "normalized_name": "rsingle-tag",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/core/var/rsingleTag.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "35245ea98f7cf8b11a2c94e2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a8a9be28eb5132f",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "support",
      "normalized_name": "support",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/manipulation/support.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "731c200b3bba9280df9798b8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7cdd6a7add7c2c8f",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "_evalUrl",
      "normalized_name": "eval-url",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/manipulation/_evalUrl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "8de0e7df05c1f1de3799e42a",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98d98ea0d3a03a26",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "rcheckableType",
      "normalized_name": "rcheckable-type",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/manipulation/var/rcheckableType.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "b77bb145aa8e75fbcfd97064",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8b80fe2c6388be6",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "addGetHookIf",
      "normalized_name": "add-get-hook-if",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/addGetHookIf.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6c3f9902be6b5f992148bbcc",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a71f2212e9cfc939",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "swap",
      "normalized_name": "swap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/swap.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "531db52b31cb646ce5f24467",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d97ac8347db7c95",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "defaultDisplay",
      "normalized_name": "default-display",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/defaultDisplay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "986c470bf66a552e8ecbd295",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b2157adcab85e04",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "support",
      "normalized_name": "support",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/support.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "688972976f5cd3aead47402c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7eb90fdc2c96380f",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "hiddenVisibleSelectors",
      "normalized_name": "hidden-visible-selectors",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/hiddenVisibleSelectors.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "c9023a61b1259a6b9a2b4d09",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "275715fa4828aa11",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "curCSS",
      "normalized_name": "cur-css",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/curCSS.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6db1a4abbaf2f01c003d67e4",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8fe83c944e17e15d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "rnumnonpx",
      "normalized_name": "rnumnonpx",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/var/rnumnonpx.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "backend,automation",
      "component_id": "3617853a913f401947151ffc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae90d38f9c451845",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "getStyles",
      "normalized_name": "get-styles",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/var/getStyles.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a0a0bbd0929857c24616aa08",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16ef7609adc8c929",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "cssExpand",
      "normalized_name": "css-expand",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/var/cssExpand.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "82ccdb267fa3ce33b15887a5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c475f98aa2c089bd",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "isHidden",
      "normalized_name": "is-hidden",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/var/isHidden.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dd6174c12e299b0563378b46",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9fee61d17e2baff",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "rmargin",
      "normalized_name": "rmargin",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/css/var/rmargin.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "7bf27cf45e732eb7f3428464",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f002f06879b0201",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "findFilter",
      "normalized_name": "find-filter",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/traversing/findFilter.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0e8ebea6e9be54639e7a056e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a9b52feac43e2eb",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "rneedsContext",
      "normalized_name": "rneeds-context",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/traversing/var/rneedsContext.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9949405bc2bf5fdb58d2e890",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7907efac807ade0f",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "arr",
      "normalized_name": "arr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/arr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b6283d94a36cde6295b232ff",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "747232c0f775c352",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "toString",
      "normalized_name": "to-string",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/toString.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d097ef57b9e048e5643aa1be",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89029060575c00df",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "strundefined",
      "normalized_name": "strundefined",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/strundefined.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c6dbf878261f9c6280f33943",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70ee3a6381af5ac9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "concat",
      "normalized_name": "concat",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/concat.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "60cf2379c20810c5c2fa3e91",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08137cd866544fc6",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "slice",
      "normalized_name": "slice",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/slice.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9b057c619e26de82a065cb82",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2db36bf7eec097fa",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "pnum",
      "normalized_name": "pnum",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/pnum.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "2efd2e1ce8f7cd7d4ad3a818",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6af4fdfdc2c45e94",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "support",
      "normalized_name": "support",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/support.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f11da7b7df31b6d06260fa72",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3ea7237c23fd807",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "rnotwhite",
      "normalized_name": "rnotwhite",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/rnotwhite.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dd7093f4f03623497364dde5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6873527adcbd3e1d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "push",
      "normalized_name": "push",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/push.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "01aa1248ac1b3718746f90e0",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6a834300029f5f7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "indexOf",
      "normalized_name": "index-of",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/indexOf.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "2dbe82f1b2f14468a7bc7983",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e37aa3b69ff8bfb",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "hasOwn",
      "normalized_name": "has-own",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/hasOwn.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "be35e8383c320f30b2a5f405",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "faf4c18ba71f4b2a",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "class2type",
      "normalized_name": "class2type",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/var/class2type.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bedc8b57648b194fb592ba7f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f39d24043f29fd3",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "global",
      "normalized_name": "global",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/exports/global.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "7233abd037a9a20ac81faf3f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "075edc6f632b2b01",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "amd",
      "normalized_name": "amd",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/exports/amd.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,automation",
      "component_id": "4f352b495ed183b75245d0a6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6916ab5abce89fc",
      "framework": "unknown",
      "imports": "",
      "lines": 161,
      "logic_relevance": "none",
      "name": "val",
      "normalized_name": "val",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/attributes/val.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "303109707ff4550638e84d60",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0161a3eac5b69fc2",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "prop",
      "normalized_name": "prop",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/attributes/prop.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f187b4560a50f563a3d92e90",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81605964ffffa9bc",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "support",
      "normalized_name": "support",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/attributes/support.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "4f7f9ac19c20b80cac9b4f4b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0a98ca7c84ca79f",
      "framework": "unknown",
      "imports": "",
      "lines": 158,
      "logic_relevance": "none",
      "name": "classes",
      "normalized_name": "classes",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/attributes/classes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "6fbc21668c8a7d99443c6a0b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d472fe7eb5c330e4",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "attr",
      "normalized_name": "attr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/attributes/attr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "d0449f3cf2da976798196abd",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "718cf6233695c164",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "delay",
      "normalized_name": "delay",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/queue/delay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5ec9a4fe7058b7693bf2fbdf",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7945c44fe8e6b261",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "animatedSelector",
      "normalized_name": "animated-selector",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/effects/animatedSelector.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "logic",
      "categories": "backend,automation",
      "component_id": "20aa7351e11a7c362f1fb78c",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Tween | backend-score:55 | automation-score:45",
      "exports": "Tween",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e6f11d5f4d737a75",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "Tween",
      "normalized_name": "tween",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/effects/Tween.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,security,automation",
      "component_id": "5b7a4097a48a116590518d18",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Data | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "Data",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ab0d56948ac6f30",
      "framework": "unknown",
      "imports": "",
      "lines": 181,
      "logic_relevance": "none",
      "name": "Data",
      "normalized_name": "data",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/data/Data.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "97eb5157ebd61291bc5237dd",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "152cae697af3afe1",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "accepts",
      "normalized_name": "accepts",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/data/accepts.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5d6a3d0cc064360b506ab1da",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ddd862d33b568d3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "data_user",
      "normalized_name": "data-user",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/data/var/data_user.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "8086e68fc10dcf19e6623a2e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ddd862d33b568d3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "data_priv",
      "normalized_name": "data-priv",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/data/var/data_priv.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "2653219be077816f2711c782",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9cf5691d0b5424c7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "alias",
      "normalized_name": "alias",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/event/alias.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "87625f42480de390d43924c3",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "134b35527d43f9b9",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "support",
      "normalized_name": "support",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/event/support.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "383931baba67e23023a00870",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f5b9a303c11f8b7",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "ajax",
      "normalized_name": "ajax",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/event/ajax.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "9e20a7a2999119df2745708e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dd1121830ca75bf7",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "parseJSON",
      "normalized_name": "parse-json",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/parseJSON.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,automation",
      "component_id": "61f9dc8c8cd86fe0fdb4749e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "869ecf70293309bf",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "script",
      "normalized_name": "script",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/script.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "1af22aece663b871621dd167",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "549a414f54204b07",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "load",
      "normalized_name": "load",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/load.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "610b8d51681fc11793ae3d21",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d59078300c01adb8",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "parseXML",
      "normalized_name": "parse-xml",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/parseXML.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,observability,security,automation",
      "component_id": "c6612d7177e5f44fbe55f829",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1db30ef0b473457",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "xhr",
      "normalized_name": "xhr",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/xhr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "f27cf0c717a12cca7039c903",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00f59113a2d3aa0d",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "jsonp",
      "normalized_name": "jsonp",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/jsonp.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "ca13cb3d5c77e41237df4ba5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab62a6208aa0ce3f",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "rquery",
      "normalized_name": "rquery",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/var/rquery.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "597f1a1f5e56402bf41d7c2c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "859b88bd037b225a",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "nonce",
      "normalized_name": "nonce",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/jquery/src/ajax/var/nonce.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "997385ddd8374cac55edfcf6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd5971a148631d6a",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot.tooltip/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ba78427431c5f674e7a6aa11",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "deb76bf0a2ab6219",
      "framework": "unknown",
      "imports": "",
      "lines": 506,
      "logic_relevance": "none",
      "name": "jquery.flot.tooltip.source",
      "normalized_name": "jquery-flot-tooltip-source",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot.tooltip/js/jquery.flot.tooltip.source.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "cb81bd1d40b343c3eaa18e17",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, AA, AD, C, G, H, N, P | backend-score:55 | observability-score:55",
      "exports": "A,AA,AD,C,G,H,N,P,Q,R,S,T,V,W,X,Y",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f98cb332c803a746",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "excanvas.min",
      "normalized_name": "excanvas-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot.tooltip/js/excanvas.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0e3086f6f9781668a86c7f66",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "46a837215f3c4942",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "jquery.flot.tooltip.min",
      "normalized_name": "jquery-flot-tooltip-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot.tooltip/js/jquery.flot.tooltip.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8cdf99d91a5919d173197d89",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0a689d8c0ec792f",
      "framework": "unknown",
      "imports": "",
      "lines": 517,
      "logic_relevance": "none",
      "name": "jquery.flot.tooltip",
      "normalized_name": "jquery-flot-tooltip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot.tooltip/js/jquery.flot.tooltip.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "0da0927655f945147f54d71f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Canvas, Plot | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Canvas,Plot",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7b931f273c38b12",
      "framework": "unknown",
      "imports": "",
      "lines": 3168,
      "logic_relevance": "none",
      "name": "jquery.flot",
      "normalized_name": "jquery-flot",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot.tooltip/js/jquery.flot.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "5da13ca01255eebe73bae453",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "matchdep",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:matchdep | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "00c5175917af4fc2",
      "framework": "unknown",
      "imports": "matchdep",
      "lines": 90,
      "logic_relevance": "none",
      "name": "Gruntfile",
      "normalized_name": "gruntfile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/Gruntfile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability,security",
      "component_id": "700fc58cfede901ebc1c2443",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Area, Bar, Donut, DonutSegment, EventEmitter, Grid, Hover, Line | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Area,Bar,Donut,DonutSegment,EventEmitter,Grid,Hover,Line",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71007be4311a0db9",
      "framework": "unknown",
      "imports": "",
      "lines": 1892,
      "logic_relevance": "none",
      "name": "morris",
      "normalized_name": "morris",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/morris.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "1c1968249bf600747628e1f8",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b331eeb1aa336d07",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "morris",
      "normalized_name": "morris",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/morris.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "25bd5019c15d2e2261f6fdb7",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d2b83656d7c9a375",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "morris.min",
      "normalized_name": "morris-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/morris.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d2644d8cbab6157f120347b2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "52aabc4de93d9a21",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "bower.travis",
      "normalized_name": "bower-travis",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/bower.travis.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "eee6bee640b7f352547397a6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d2b0466d3f93d8f",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "15aef0c39235977250d8c84b",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcc29d163e2f0e40",
      "framework": "unknown",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f6d48ec45c47d1a63aefbe0c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b478842fc55c8624",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend,logic",
      "component_id": "f8615b95bd6145c7075a7ec0",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9e8d1b8c192a1a8a",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "morris.core",
      "normalized_name": "morris-core",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/less/morris.core.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security,process",
      "component_id": "6f552d56d15d563cb4766868",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./examples | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf964a8c9647afab",
      "framework": "unknown",
      "imports": "./examples",
      "lines": 66,
      "logic_relevance": "none",
      "name": "visual_specs",
      "normalized_name": "visual-specs",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/spec/viz/visual_specs.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend,process",
      "component_id": "366341577d78b084d2086c7e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cc4cb3a9c59f93e8",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "run",
      "normalized_name": "run",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/spec/viz/run.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "8868d1daecefc3c4af9b5364",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs,webpage",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, webpage | backend-score:55 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6100b3a9d872df05",
      "framework": "unknown",
      "imports": "fs,webpage",
      "lines": 56,
      "logic_relevance": "none",
      "name": "examples",
      "normalized_name": "examples",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/spec/viz/examples.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend,logic",
      "component_id": "7d7213d0a6bce9dff43ab877",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "08cf6b51c71e55be",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "example",
      "normalized_name": "example",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/examples/lib/example.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic",
      "component_id": "36f271d3bf99517fb5cd4e9e",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69089edc3f17563f",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "example",
      "normalized_name": "example",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/morrisjs/examples/lib/example.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "336dcd1e943ea008c69c9936",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9931d4a47df2181e",
      "framework": "unknown",
      "imports": "",
      "lines": 345,
      "logic_relevance": "none",
      "name": "jquery.flot.canvas",
      "normalized_name": "jquery-flot-canvas",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.canvas.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "aa94826013d90f93f4a29a9e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d2259e8ebff8a999",
      "framework": "unknown",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "jquery.flot.image",
      "normalized_name": "jquery-flot-image",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.image.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "f8bca15643fdd1f4a2344397",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a582c832adc7138a",
      "framework": "unknown",
      "imports": "",
      "lines": 432,
      "logic_relevance": "none",
      "name": "jquery.flot.time",
      "normalized_name": "jquery-flot-time",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.time.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "b783ebe7f963ee075090c02f",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CanvasGradient_, CanvasPattern_, CanvasRenderingContext2D_, DOMException_ | backend-score:55",
      "exports": "CanvasGradient_,CanvasPattern_,CanvasRenderingContext2D_,DOMException_",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3873d80b8d93f942",
      "framework": "unknown",
      "imports": "",
      "lines": 1428,
      "logic_relevance": "none",
      "name": "excanvas",
      "normalized_name": "excanvas",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/excanvas.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "28e0097a987ec1aea202dc97",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "211d89f46c3bf348",
      "framework": "unknown",
      "imports": "",
      "lines": 1498,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,automation",
      "component_id": "cd617fc6d10c080a1b126289",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3e45f52fb5c3f2b",
      "framework": "unknown",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "jquery.flot.fillbetween",
      "normalized_name": "jquery-flot-fillbetween",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.fillbetween.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "81102ba9d171164fefc345be",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09da5c94edc26c5d",
      "framework": "unknown",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "jquery.colorhelpers",
      "normalized_name": "jquery-colorhelpers",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.colorhelpers.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "74bcd4ce40fbee2360ae6426",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e81664b28ea795c",
      "framework": "unknown",
      "imports": "",
      "lines": 190,
      "logic_relevance": "none",
      "name": "jquery.flot.categories",
      "normalized_name": "jquery-flot-categories",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.categories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,automation",
      "component_id": "b5d368932eddbab532c96230",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "84d45f9eb87d746c",
      "framework": "unknown",
      "imports": "",
      "lines": 1026,
      "logic_relevance": "none",
      "name": "NEWS",
      "normalized_name": "news",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/NEWS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "fdf1a5e754af577ff22f9703",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | backend-score:55",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "e679f5afacdb2fd2",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,security",
      "component_id": "2c9a2c4d2fa6179ce1d873a2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8119b5d127f5f289",
      "framework": "unknown",
      "imports": "",
      "lines": 188,
      "logic_relevance": "none",
      "name": "jquery.flot.stack",
      "normalized_name": "jquery-flot-stack",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.stack.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "5aa1b6e2b46a104e597f8d1b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "350ebfc0675ee86f",
      "framework": "unknown",
      "imports": "",
      "lines": 346,
      "logic_relevance": "none",
      "name": "jquery.flot.navigate",
      "normalized_name": "jquery-flot-navigate",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.navigate.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "63eac28fe6adba7136cbc859",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b9f5146f324ab0f",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "jquery.flot.resize",
      "normalized_name": "jquery-flot-resize",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.resize.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,backend",
      "component_id": "1c07e6702d64db0100f9933e",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6cad8be31b88f21e",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "FAQ",
      "normalized_name": "faq",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "1dd137cfc353927550560e87",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c4fc3cb19f8148f",
      "framework": "unknown",
      "imports": "",
      "lines": 353,
      "logic_relevance": "none",
      "name": "jquery.flot.errorbars",
      "normalized_name": "jquery-flot-errorbars",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.errorbars.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,backend,observability,automation",
      "component_id": "07c6dd05197794eba93a86eb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ce61ca7c75580333",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "33271af78b05d763f4fd56ad",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6c85f6c1ebe4b4d",
      "framework": "unknown",
      "imports": "",
      "lines": 360,
      "logic_relevance": "none",
      "name": "jquery.flot.selection",
      "normalized_name": "jquery-flot-selection",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.selection.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "2b640b849ad73f6f56c8055e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ff3c204c8f9627b",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "component",
      "normalized_name": "component",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/component.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6bdd964e40de74e0a4d11137",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "94102bae1c36489a",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "flot.jquery",
      "normalized_name": "flot-jquery",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/flot.jquery.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "ed407111e0221a7e45e43710",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fdae79c1a450241f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "logic",
      "categories": "backend,automation",
      "component_id": "2bbdc66f7d871048795d41c0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "67313e781ff843a1",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "jquery.flot.symbol",
      "normalized_name": "jquery-flot-symbol",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.symbol.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "75811241846f5bab1aeb8229",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:B, D, E, F, G, I, J, K | backend-score:55 | observability-score:55",
      "exports": "B,D,E,F,G,I,J,K,M,O,P,Q,R,S,T,U,V,W,Y",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6201dbbd9beb94d8",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "excanvas.min",
      "normalized_name": "excanvas-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/excanvas.min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,backend,automation",
      "component_id": "336d64346938ed87bd4d8f94",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "adae908cb95453c3",
      "framework": "unknown",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "PLUGINS",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/PLUGINS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,ai",
      "component_id": "32ed404e7081649605ed32d8",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a574de48eb9f27ba",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "65b0efc9decbc8acbbb18ac2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5c19fde427cf06e6",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "jquery.flot.crosshair",
      "normalized_name": "jquery-flot-crosshair",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.crosshair.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "e4141b7fc351f13824a1ea9f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d5950bb7a72560e",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "jquery.flot.threshold",
      "normalized_name": "jquery-flot-threshold",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.threshold.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "39b5354f0fa16e9a4be860bc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46c11661df6074b1",
      "framework": "unknown",
      "imports": "",
      "lines": 820,
      "logic_relevance": "none",
      "name": "jquery.flot.pie",
      "normalized_name": "jquery-flot-pie",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.pie.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "2ac6f4c89dcd967ed1c70b0d",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "52cb566b16d84314",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "bdbc06b47b7c9829bcde447b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Canvas, Plot | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Canvas,Plot",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7b931f273c38b12",
      "framework": "unknown",
      "imports": "",
      "lines": 3168,
      "logic_relevance": "none",
      "name": "jquery.flot",
      "normalized_name": "jquery-flot",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.flot.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "a1f5c443760f5ea7aa5bd919",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": " + prev + ",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Animation, Sizzle, Tween | imports: + prev +  | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Animation,Sizzle,Tween",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "756d7dfac4a35bb5",
      "framework": "unknown",
      "imports": " + prev + ",
      "lines": 9472,
      "logic_relevance": "none",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/jquery.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "f163d1fa4f0f33901cee0286",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a8312e8db493651",
      "framework": "css",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "examples",
      "normalized_name": "examples",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/examples.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,backend",
      "component_id": "d2d3d9ba05ce32dc6977a956",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fdb9aa82e56cee5d",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "jquery-ui.min",
      "normalized_name": "jquery-ui-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/shared/jquery-ui/jquery-ui.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "19afc0bd491a67049b8144d4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "380280a54a2643d7",
      "framework": "unknown",
      "imports": "",
      "lines": 893,
      "logic_relevance": "none",
      "name": "date",
      "normalized_name": "date",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/axes-time-zones/date.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "18fca47933ec981fc8f3b688",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19552b09fa5b9f93",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "yearistype",
      "normalized_name": "yearistype",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/axes-time-zones/tz/yearistype.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "814bcb90b673c4c1df1b49a5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ee248fba854a014",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-japan-gdp-growth",
      "normalized_name": "data-japan-gdp-growth",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-japan-gdp-growth.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "62fb222bd34789a0a5443601",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d734af17dbd3264",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-eu-gdp-growth-1",
      "normalized_name": "data-eu-gdp-growth-1",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-eu-gdp-growth-1.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "f2053bc1d7921dfe9a68bcef",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa6bfe74e94dac8e",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-eu-gdp-growth",
      "normalized_name": "data-eu-gdp-growth",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-eu-gdp-growth.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "ccb13aafca521a58b8351c91",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6284327d8f8a818a",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-eu-gdp-growth-2",
      "normalized_name": "data-eu-gdp-growth-2",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-eu-gdp-growth-2.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "875da03eea8a60da23e0fa8c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8cda92c2a255b27",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-eu-gdp-growth-3",
      "normalized_name": "data-eu-gdp-growth-3",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-eu-gdp-growth-3.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "0e73ea42a3e62bfd55ada762",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88bec125c261853e",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-usa-gdp-growth",
      "normalized_name": "data-usa-gdp-growth",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-usa-gdp-growth.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "7c5eb6b6140a0fae04d14900",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08f1e32c6def2cc5",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-eu-gdp-growth-4",
      "normalized_name": "data-eu-gdp-growth-4",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-eu-gdp-growth-4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "5eb77a6154779ee1b28704b9",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa6bfe74e94dac8e",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "data-eu-gdp-growth-5",
      "normalized_name": "data-eu-gdp-growth-5",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/flot/examples/ajax/data-eu-gdp-growth-5.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "04569c5fcd5d8b1ebf370d6a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7c3c7ecbc744ad40",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "Gruntfile",
      "normalized_name": "gruntfile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/metisMenu/Gruntfile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "fcb11dd80ed58d974990f79e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b5f4081ea190949e",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/metisMenu/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security",
      "component_id": "5a2eef06a4023deaa42114c1",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5f5192ef1facf29f",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/metisMenu/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "82135750e0a6f2b261b3280b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "252b1f0ae2688bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/metisMenu/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "0fcc05918ec3a586d12cf1ae",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Plugin | backend-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9c334781bf0af6d",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "metisMenu",
      "normalized_name": "metis-menu",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/metisMenu/src/metisMenu.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend",
      "component_id": "c36feabf5a09dcec67de71f3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e55e67921690e27e",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "metisMenu",
      "normalized_name": "metis-menu",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/metisMenu/src/metisMenu.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "f69ba8fc568e3c4d5e0c50d0",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "35ef3ccf429aada3",
      "framework": "css",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap-social/bootstrap-social.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "ec28be12bbfa34b7e14e0a84",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1944e827fa96fe9b",
      "framework": "css",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap-social/bootstrap-social.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "898df970ab21980f290a3aac",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "414a49706f030131",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap-social/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "974f0d7f5a585961ef767a9d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "66395c6bed34bacd",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap-social/bootstrap-social.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,backend,automation",
      "component_id": "e397c0063e60ca68fe2d28d4",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "99c67cd176ffb085",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/bootstrap-social/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6e67850710482e3818c2283f",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea0bc4cc385b7a03",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "process,backend,automation",
      "component_id": "d203cac222d8cd453c11dea6",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "13299aa1733a9691",
      "framework": "unknown",
      "imports": "",
      "lines": 310,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,security,automation",
      "component_id": "ee14605d4a4d2b4fa3f00f8c",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:E, S | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "E,S",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3d5ffe74e4682e0",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "holder",
      "normalized_name": "holder",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/holder.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2bbec176d355a450f9d73726",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0556d2a760ef806a",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "906389775fb6cc3f40750aac",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "gulp,gulp-concat,gulp-header,gulp-jshint,gulp-todo,gulp-uglify,gulp-util,moment",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./package.json, gulp, gulp-concat, gulp-header, gulp-jshint, gulp-todo, gulp-uglify, gulp-util | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5485279ce9a74aff",
      "framework": "unknown",
      "imports": "./package.json,gulp,gulp-concat,gulp-header,gulp-jshint,gulp-todo,gulp-uglify,gulp-util,moment",
      "lines": 63,
      "logic_relevance": "none",
      "name": "gulpfile",
      "normalized_name": "gulpfile",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/gulpfile.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b1b9bd49456063e964b530c2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "84825aa35f520891",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/composer.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "00e465ca186f2cfd1d6ecfde",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOMContentLoaded | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "DOMContentLoaded",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6d5c2550af8fd21f",
      "framework": "unknown",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "ondomready",
      "normalized_name": "ondomready",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/src/ondomready.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "a86b0723a04fcb39e648bc06",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbbfbf96a42a7d45",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "augment",
      "normalized_name": "augment",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/src/augment.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,security",
      "component_id": "cf1ed77c8abda5b672daa100",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CSSStyleDeclaration | backend-score:55 | security-score:55",
      "exports": "CSSStyleDeclaration",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8431b3b476c028da",
      "framework": "unknown",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "polyfills",
      "normalized_name": "polyfills",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/src/polyfills.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,security,automation,ai",
      "component_id": "6c274ca733595ba212279f4c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2583362640220dc4",
      "framework": "unknown",
      "imports": "",
      "lines": 1533,
      "logic_relevance": "none",
      "name": "holder",
      "normalized_name": "holder",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/holderjs/src/holder.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "213bfd92d853a67b0f7cafca",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Calendar, GenCell, NewCssCal, RenderCssCal | backend-score:55 | observability-score:55",
      "exports": "Calendar,GenCell,NewCssCal,RenderCssCal",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30003055c1a8f80b",
      "framework": "unknown",
      "imports": "",
      "lines": 1341,
      "logic_relevance": "none",
      "name": "datetimepicker_css",
      "normalized_name": "datetimepicker-css",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datetimepicker/datetimepicker_css.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "889ccb18c3abf6fb9f257ca6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "221ade16ccc3da26",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "517ec2a3ce78223161a704a9",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "eve",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Animation, CubicBezierAtTime, Matrix, R | imports:eve | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Animation,CubicBezierAtTime,Matrix,R",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d381e055f31f1b3",
      "framework": "unknown",
      "imports": "eve",
      "lines": 8239,
      "logic_relevance": "none",
      "name": "raphael",
      "normalized_name": "raphael",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/raphael.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "8af816648eac81db63fe53be",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4cafcc8112392ea7",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "a99756d374d59cf2450a26be",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "eve",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:eve | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a4f9dcdce24576a",
      "framework": "unknown",
      "imports": "eve",
      "lines": 11,
      "logic_relevance": "none",
      "name": "raphael-min",
      "normalized_name": "raphael-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/raphael-min.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "3371030a7edd53014d859340",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./raphael.core, ./raphael.svg, ./raphael.vml | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f660ae645669ce2",
      "framework": "unknown",
      "imports": "./raphael.core,./raphael.svg,./raphael.vml",
      "lines": 8,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/dev/index.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dd343ea049e72ef3cebf75a1",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e5c0cf7e307e898",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "amdDev",
      "normalized_name": "amd-dev",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/dev/amdDev.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "e7bc531a89b5558420df4f95",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0bc2a214bc735f7",
      "framework": "unknown",
      "imports": "",
      "lines": 2053,
      "logic_relevance": "none",
      "name": "require",
      "normalized_name": "require",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/raphael/dev/require.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "07273bd9f1ada241e27781f4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbe95334e5606980",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,backend,security",
      "component_id": "ab31e4e19f50fca41e7128aa",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "295074933a25ae5d",
      "framework": "css",
      "imports": "",
      "lines": 1672,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/css/font-awesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,backend,security",
      "component_id": "d32457196b8275d165d56525",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0fb1bbca73646e8e",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "font-awesome.min",
      "normalized_name": "font-awesome-min",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/css/font-awesome.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "b53738d94d4690f7725a4eae",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d3bda122ac1cef54",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "extras",
      "normalized_name": "extras",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/extras.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "e147d333e0d37781af7e6b4a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "024abb930e6669f2",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/list.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "4d49855f6b597e3dbf4c87e2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3f9de6c3e0f1a2bc",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "stacked",
      "normalized_name": "stacked",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/stacked.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic,backend",
      "component_id": "d012c344cd73ec3153fe236d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ce72f5281bef5dd3",
      "framework": "css",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/core.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "2056fd4e38e341708d816d49",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ef853a3192742d2",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/fixed-width.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "style,backend,security",
      "component_id": "876b440f50007646154c88c8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for i18n; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4c1d0005082819f5",
      "framework": "css",
      "imports": "",
      "lines": 561,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "ac46a193f66693d2478bedb9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d67df95488eec84d",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/rotated-flipped.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "7ba212fbe63abf5d3569ee8c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0d2df0e16912e9a8",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/font-awesome.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,backend,security",
      "component_id": "f464e8150f3a36e1655c9b8c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5b2ac38c565fa862",
      "framework": "css",
      "imports": "",
      "lines": 552,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend,security",
      "component_id": "2ad4128806f03772cd4eff1d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3b7755a14ef8bcea",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "spinning",
      "normalized_name": "spinning",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/spinning.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "79df4280bb2d7c2207f84ad1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "734059c501fbfcf1",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/path.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "aa1a221fb60bff2f2c495b2b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8b19915b40da6b30",
      "framework": "css",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/bordered-pulled.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "3d761cef40b220f730074214",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dfc79d4325804e9a",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "larger",
      "normalized_name": "larger",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/larger.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend",
      "component_id": "2e33b50116bbf5da93f4b56c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | backend-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2dfab6727fc349dd",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "0dd340efb7685cd07c31d0d1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "70f33fd079ab7085",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_stacked",
      "normalized_name": "stacked",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_stacked.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "style,backend,security",
      "component_id": "2991853565af5f50a9d18bb9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for i18n; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d13f63eeb78883ad",
      "framework": "css",
      "imports": "",
      "lines": 561,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "0020d242d21ed54a32abd888",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "eade12ba6170d5f8",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/font-awesome.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "12f4bbf0bf0fc3febd4466ee",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff0686d76acde358",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_rotated-flipped.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "9edb7059bb34299e1a02cfbb",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e58e1d173847da8",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "_path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_path.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend,security",
      "component_id": "58ec41144627432f806dc11a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1eaa8e0de764447a",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "_extras",
      "normalized_name": "extras",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_extras.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "16dd87f5f9c6620071412070",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5430a6695febcd9",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "_list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_list.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "dcd4872f15bd977c4cabfece",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fb4e8e7d5d03074d",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "_larger",
      "normalized_name": "larger",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_larger.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend,security",
      "component_id": "c1eb1092a10e75f869747186",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0f4323e24d48ac42",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "_spinning",
      "normalized_name": "spinning",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_spinning.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic,backend",
      "component_id": "23339928c3643cf1aea90027",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6c0236931542eb34",
      "framework": "css",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "_core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_core.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,backend",
      "component_id": "867ca4f38f35d674fa797866",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "69778bf1ceaa41f8",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,backend,security",
      "component_id": "4c87b063a14cdbdaab9b7ba9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f31b2b0c9dbb7dd",
      "framework": "css",
      "imports": "",
      "lines": 552,
      "logic_relevance": "none",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "022df039bf455276dd9c9cf0",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b8b0b3478e04e868",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "_fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_fixed-width.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,backend",
      "component_id": "359e68a72966f7cefdf79620",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8bc541c2ea0766bd",
      "framework": "css",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "_bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/font-awesome/scss/_bordered-pulled.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "37d570606f3bc0b32355e2d3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "55a0ad154571a094",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "make",
      "normalized_name": "make",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/make.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c91bf2648be6a18b5faab4c7",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71b867b08d67755a",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/bower.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,backend,automation",
      "component_id": "946e2acfe2fd46b0d65645af",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8313d97a6b0462c5",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,security",
      "component_id": "b065371d604dd2ed986ae832",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "da4e1020ae97c095",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "db566e58b1100224a1b7ba40",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f62c890484debf0d",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "responsive.bootstrap",
      "normalized_name": "responsive-bootstrap",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/css/responsive.bootstrap.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,backend,observability",
      "component_id": "fa070bf0cbc026f482056e34",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "327786608ea2a1a5",
      "framework": "css",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "responsive.dataTables",
      "normalized_name": "responsive-data-tables",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/css/responsive.dataTables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "73b945fd7c1fd645d3ac3d72",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed8471afe336ad45",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "responsive.foundation",
      "normalized_name": "responsive-foundation",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/css/responsive.foundation.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,backend",
      "component_id": "44d635a81e5cc57ce92826fe",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea2fde479a5e6cc2",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "responsive.jqueryui",
      "normalized_name": "responsive-jqueryui",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/css/responsive.jqueryui.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "204bab2f5e2d327312ed7c9c",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "datatables,jquery",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:datatables, jquery | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0ac951d5cc5da4f",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 873,
      "logic_relevance": "none",
      "name": "dataTables.responsive",
      "normalized_name": "data-tables-responsive",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/components/datatables-responsive/js/dataTables.responsive.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation,backend",
      "component_id": "84c54052a1ba58e11e4dd02c",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcfa410d13cba51b",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "update_dagah",
      "normalized_name": "update-dagah",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/upload/update_dagah.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "3ba0a715a9824dc2e8e4dd78",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ccdf8e5e1f1aa1a3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "unzip",
      "normalized_name": "unzip",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/upload/unzip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "ccf6bbf6384a0937b87b6eec",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a21e730a6bda44f",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "update_dagah_test",
      "normalized_name": "update-dagah-test",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/html/upload/update_dagah_test.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "78f43111c613d9d80f4f11fa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "MySQLdb,psycopg2,warnings",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DB, DBException, MySQL, Postgre | imports:MySQLdb, psycopg2, warnings | logic-score:85 | backend-score:55",
      "exports": "DB,DBException,MySQL,Postgre",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "2eb3d821770f9119",
      "framework": "python",
      "imports": "MySQLdb,psycopg2,warnings",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/lib/db.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,backend,security",
      "component_id": "796847ab77c0e85b5efe4519",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "ConfigParser",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Config, FakeSecHead | imports:ConfigParser | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "Config,FakeSecHead",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0531697e1415d098",
      "framework": "python",
      "imports": "ConfigParser",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/lib/config.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "4cdc36e3da030b96d7da8ef6",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a6421c726107abe",
      "framework": "python",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/lib/__init__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "6b44a9c871651afc961a8ef6",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08a5efc2b37e55ad",
      "framework": "python",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/lib/utils.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "45cd6131624827d6e96f9b1d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:read_modem | logic-score:60 | backend-score:55",
      "exports": "read_modem",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5c2a275c4a56ba78",
      "framework": "python",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "serial",
      "normalized_name": "serial",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/lib/serial.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend",
      "component_id": "dde038ce31c317fa8f8a6493",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4f428c5626b3d90",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "gradlew",
      "normalized_name": "gradlew",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/APKs/AndroidAgentNew/gradlew.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend",
      "component_id": "7e52aee061083c3b6d46ca8a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4f428c5626b3d90",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "gradlew",
      "normalized_name": "gradlew",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/APKs/AndroidAgentBAK/gradlew.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "6efd7c7d00e6b2ae7ec15b62",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d422676483f54b2c",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/campaigns/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "878d5ed154f7297fd83f63c9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d21da815cf07c943",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/savedruns/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "65fecbeb24d5121e84daf719",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a153dc149b2649be",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/profiles/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,backend",
      "component_id": "9e40f615d2e2f70abaf3ccb9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2f7c525b0f5cba2d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-server/upload/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "7c3ec2d128a71d64cf893abe",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "54498ccdf419783a",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "h4x/dagah-android/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "67d87b1e3cda929756a3b0d9",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "9d28f3345f50cb69",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "proguard-project",
      "normalized_name": "proguard-project",
      "package_manager": "unknown",
      "path": "h4x/dagah-android/proguard-project.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "508fdbd07e47428aef8fce82",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d1271a1351affadc",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "gradlew",
      "normalized_name": "gradlew",
      "package_manager": "unknown",
      "path": "h4x/dagah-android/gradlew.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "1de918ecae4cb3d4ccac49b1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "child_process,twilio",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:child_process, twilio | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "23cc594637c92b61",
      "framework": "unknown",
      "imports": "child_process,twilio",
      "lines": 56,
      "logic_relevance": "none",
      "name": "smack_my_bitch_up",
      "normalized_name": "smack-my-bitch-up",
      "package_manager": "unknown",
      "path": "nodejs/smack_my_bitch_up.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d9f967517b3adeb0266d7fa4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "imap,mailparser,nodemailer",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:imap, mailparser, nodemailer | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dea5e285d7b9b6ed",
      "framework": "unknown",
      "imports": "imap,mailparser,nodemailer",
      "lines": 113,
      "logic_relevance": "none",
      "name": "kumar_asshole",
      "normalized_name": "kumar-asshole",
      "package_manager": "unknown",
      "path": "nodejs/kumar_asshole.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "b080e87c0b8fd22a4cd6568c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "child_process,express,telnet-client",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:child_process, express, telnet-client | backend-score:90 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "47a9170b77fb4504",
      "framework": "unknown",
      "imports": "child_process,express,telnet-client",
      "lines": 83,
      "logic_relevance": "none",
      "name": "fucking_coffee_yo_server",
      "normalized_name": "fucking-coffee-yo-server",
      "package_manager": "unknown",
      "path": "nodejs/fucking_coffee_yo_server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "833166017b0337c0b12217eb",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "child_process,twilio",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:child_process, twilio | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "328fcd8b67854685",
      "framework": "unknown",
      "imports": "child_process,twilio",
      "lines": 57,
      "logic_relevance": "none",
      "name": "hangover",
      "normalized_name": "hangover",
      "package_manager": "unknown",
      "path": "nodejs/hangover.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "a1349318e37644dd856d4558",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "56439cd57c5983dd",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "nodesource_setup",
      "normalized_name": "nodesource-setup",
      "package_manager": "unknown",
      "path": "nodejs/nodesource_setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "0d4e051ae5dbd0a5873a09f3",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "child_process,telnet-client",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:child_process, telnet-client | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "754fed975cd68a56",
      "framework": "unknown",
      "imports": "child_process,telnet-client",
      "lines": 41,
      "logic_relevance": "none",
      "name": "fucking_coffee",
      "normalized_name": "fucking-coffee",
      "package_manager": "unknown",
      "path": "nodejs/fucking_coffee.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "4256a601353c54fa5724802b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "229db852c1844787",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sudoers",
      "normalized_name": "sudoers",
      "package_manager": "unknown",
      "path": "docker/sudoers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "756f51d9149857472343f9aa",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6f11447f43efe93f",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docker/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security",
      "component_id": "1866be9fe3bc49af06e36e49",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd91db1284e8ad1b",
      "framework": "unknown",
      "imports": "",
      "lines": 335,
      "logic_relevance": "none",
      "name": "nodesource_setup",
      "normalized_name": "nodesource-setup",
      "package_manager": "unknown",
      "path": "docker/nodesource_setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "589901b42b8458eedb5546df",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:135 | security-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab282cd475c6d227",
      "framework": "unknown",
      "imports": "",
      "lines": 223,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/builders/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "2bf21528b47f0aa9fb064843",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "229db852c1844787",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sudoers",
      "normalized_name": "sudoers",
      "package_manager": "unknown",
      "path": "docker/builders/sudoers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability",
      "component_id": "b63eaa305cfac536b990ec4a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "80b8887c52e8cc09",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docker/builders/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security",
      "component_id": "0c046d7f7e5e3635a07c54af",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd91db1284e8ad1b",
      "framework": "unknown",
      "imports": "",
      "lines": 335,
      "logic_relevance": "none",
      "name": "nodesource_setup",
      "normalized_name": "nodesource-setup",
      "package_manager": "unknown",
      "path": "docker/builders/nodesource_setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "0e577e40c769f059995729f5",
      "component_kind": "container-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c7074b0924766d3b",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker/compose/docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "bdab31bf1d5bf47e2a240028",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "205a9456ebe9faae",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "initDockerContainer",
      "normalized_name": "init-docker-container",
      "package_manager": "unknown",
      "path": "docker/scripts/other/initDockerContainer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "7686596ee40192d2caac718a",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5f6e56733c4dd13f",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docker/scripts/setup/osx/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "92ce728f8bdc1a9202f47025",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7381b23773b31336",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "docker/scripts/setup/win/setup.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d3024502a666884753110740",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e1fb8a6d3f366065",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "docker_env",
      "normalized_name": "docker-env",
      "package_manager": "unknown",
      "path": "docker/scripts/setup/win/docker_env.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "ad85e529ff2e991ef0e292e1",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "735bd24f305993af",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "Install_VSCode",
      "normalized_name": "install-vscode",
      "package_manager": "unknown",
      "path": "docker/scripts/setup/win/Install_VSCode.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "7a04a18bbcc2c3934cdfad76",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e20b17fb2974a154",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docker/scripts/setup/win/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,observability",
      "component_id": "13b2735ea9a52d94a7ae09d1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "16510ad8414582ff",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "vs_code_extensions",
      "normalized_name": "vs-code-extensions",
      "package_manager": "unknown",
      "path": "docker/scripts/setup/win/vs_code_extensions.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "1322d391d5209d54f5d289ad",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "11e639a784442c65",
      "framework": "unknown",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "docker-cleanup-volumes",
      "normalized_name": "docker-cleanup-volumes",
      "package_manager": "unknown",
      "path": "docker/scripts/cleanup/docker-cleanup-volumes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "76d1a5ecfbe82c3c21bf85bf",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b5d3c3becd0ee4f1",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/scripts/cleanup/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "980283de51b87dd25906c7e5",
      "component_kind": "container-automation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180 | ai-score:45",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4200a0b3a98896f9",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "docker/scripts/cleanup/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "5940cdbfd56a5929a89c3a3b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "378d486eafa0d41a",
      "framework": "unknown",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "run",
      "normalized_name": "run",
      "package_manager": "unknown",
      "path": "docker/scripts/cleanup/run.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "de0a9ae260b8b26bbcc91967",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".go",
      "extraction_status": "catalog-only",
      "file_hash": "bf714f5ef70454a2",
      "framework": "go",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "smack_my_bitch_up",
      "normalized_name": "smack-my-bitch-up",
      "package_manager": "unknown",
      "path": "go/smack_my_bitch_up.go",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "679aafb45c4703795f08397b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".go",
      "extraction_status": "catalog-only",
      "file_hash": "e06925acc7147894",
      "framework": "go",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "hangover",
      "normalized_name": "hangover",
      "package_manager": "unknown",
      "path": "go/hangover.go",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5fa4b41b9657266b04d56879",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "dotenv,pathlib,subprocess",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:get_dotenv, get_log_path, sh | imports:dotenv, pathlib, subprocess | observability-score:55",
      "exports": "get_dotenv,get_log_path,sh",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "30507e30c9616824",
      "framework": "python",
      "imports": "dotenv,pathlib,subprocess",
      "lines": 23,
      "logic_relevance": "none",
      "name": "hackerutils",
      "normalized_name": "hackerutils",
      "package_manager": "unknown",
      "path": "python3/hackerutils.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "82caab9522d1831ec2d891c2",
      "component_kind": "specification",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "af76b4326c5768f4",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "python3/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "01c478bd37e1cb91b02603e2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "gmail,hackerutils,re,yagmail",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:main, send_reply | imports:gmail, hackerutils, re, yagmail | observability-score:55 | security-score:55",
      "exports": "main,send_reply",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "87fbc5d6eaef0241",
      "framework": "python",
      "imports": "gmail,hackerutils,re,yagmail",
      "lines": 44,
      "logic_relevance": "none",
      "name": "kumar_asshole",
      "normalized_name": "kumar-asshole",
      "package_manager": "unknown",
      "path": "python3/kumar_asshole.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "0677be4ca8fffbd35e7d354f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "hackerutils,random,twilio,twilio.rest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:main | imports:hackerutils, random, twilio, twilio.rest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "19c6237a7fd79e60",
      "framework": "python",
      "imports": "hackerutils,random,twilio,twilio.rest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "smack_my_bitch_up",
      "normalized_name": "smack-my-bitch-up",
      "package_manager": "unknown",
      "path": "python3/smack_my_bitch_up.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "f4ecad01d087def7bb914b6f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "hackerutils,random,twilio,twilio.rest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:main | imports:hackerutils, random, twilio, twilio.rest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "043bce7c53583b68",
      "framework": "python",
      "imports": "hackerutils,random,twilio,twilio.rest",
      "lines": 52,
      "logic_relevance": "none",
      "name": "hangover",
      "normalized_name": "hangover",
      "package_manager": "unknown",
      "path": "python3/hangover.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "15ea45bbeacdeef83ad48af4",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "25f0795778e6a7e9",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "3bcbbecade6c39d48203e446",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "282c668b89aee161",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation,security",
      "component_id": "e3f08990d6e6311be12a2159",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "150a0e4121320441",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "aef86ed82439b4cc5cb98977",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b2f27adf20fd5876",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "8d261da8a76c7f7112010950",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "django,django.core.management,os,sys",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:django, django.core.management, os, sys | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e76a39c0da5fb76d",
      "framework": "python",
      "imports": "django,django.core.management,os,sys",
      "lines": 22,
      "logic_relevance": "none",
      "name": "manage",
      "normalized_name": "manage",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/manage.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "4d70100ba3ce5f8aa399a997",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "674105f1e82a40dc",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "apidoc",
      "normalized_name": "apidoc",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/apidoc.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "028b5af361cb45398de55deb",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "api.settings,base64,celery,celery.decorators,celery.utils.log,cryptography.hazmat.backends,cryptography.hazmat.primitives,cryptography.hazmat.primitives.asymmetric,hashlib,jinja2,json,mongoengine,os,os.path,rest_framework.renderers,stat,subprocess,tempfile",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ansible_setup, generate_ssh_key, install_docker, install_service, running_setup | imports:.clouds, .models, .serializers, api.settings, base64, celery, celery.decorators, celery.utils.log | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ansible_setup,generate_ssh_key,install_docker,install_service,running_setup",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb22aebda4eae1e3",
      "framework": "python",
      "imports": ".clouds,.models,.serializers,api.settings,base64,celery,celery.decorators,celery.utils.log,cryptography.hazmat.backends,cryptography.hazmat.primitives,cryptography.hazmat.primitives.asymmetric,hashlib,jinja2,json,mongoengine,os,os.path,rest_framework.renderers,stat,subprocess,tempfile",
      "lines": 242,
      "logic_relevance": "secondary",
      "name": "tasks",
      "normalized_name": "tasks",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/tasks.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "ai,automation,logic,observability,security",
      "component_id": "5ec5f6b5e4d539da0097a050",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "datetime,django.conf,django.db,django_mongoengine",
      "description": "AI component for auth-and-keys; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Addon, AnsiblePlay, AnsiblePlaybook, AnsibleTask, Key, Options, Setup, User | imports:datetime, django.conf, django.db, django_mongoengine | ai-score:120 | automation-score:95 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "Addon,AnsiblePlay,AnsiblePlaybook,AnsibleTask,Key,Options,Setup,User",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f7c22d388c79d380",
      "framework": "python",
      "imports": "datetime,django.conf,django.db,django_mongoengine",
      "lines": 58,
      "logic_relevance": "secondary",
      "name": "models",
      "normalized_name": "models",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/models.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic,security,ai",
      "component_id": "63ff82a08e2a5eab22aa8569",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "core.models,django_mongoengine,rest_framework_mongoengine.serializers",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:AddonSerializer, AnsiblePlaySerializer, AnsiblePlaybookSerializer, AnsibleTaskSerializer, OptionsSerializer, SetupSerializer | imports:core.models, django_mongoengine, rest_framework_mongoengine.serializers | automation-score:95 | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "AddonSerializer,AnsiblePlaySerializer,AnsiblePlaybookSerializer,AnsibleTaskSerializer,OptionsSerializer,SetupSerializer",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7139c1d00835a004",
      "framework": "python",
      "imports": "core.models,django_mongoengine,rest_framework_mongoengine.serializers",
      "lines": 77,
      "logic_relevance": "secondary",
      "name": "serializers",
      "normalized_name": "serializers",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/serializers.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,logic",
      "component_id": "ec57c3d357195c0a3cd9bbdf",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ef83e2e56a3a53a6",
      "framework": "python",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/__init__.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "5709d7059f52934c1978e0bb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "api.settings,django.apps,logging,mongoengine.errors,os",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CoreConfig | imports:.models, .serializers, api.settings, django.apps, logging, mongoengine.errors, os | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "CoreConfig",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d763a91775be6696",
      "framework": "python",
      "imports": ".models,.serializers,api.settings,django.apps,logging,mongoengine.errors,os",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "apps",
      "normalized_name": "apps",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/apps.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,logic",
      "component_id": "c644b520828926eb015d360e",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "d4cde6d750d4e32e",
      "framework": "python",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/setup.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,logic,ai",
      "component_id": "4947dee9b30f4e1be7b8a447",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "django.contrib",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:django.contrib | automation-score:50 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b2e328e31f08dc90",
      "framework": "python",
      "imports": "django.contrib",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/admin.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic",
      "component_id": "cf2557cd95aeee890255003f",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "django.test",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:django.test | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9ab6c6191360e63c",
      "framework": "python",
      "imports": "django.test",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "tests",
      "normalized_name": "tests",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/tests.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,observability,automation",
      "component_id": "716ed01fcc78151b0f6550d1",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "django.conf.urls",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:., django.conf.urls | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b6dc9e7306988205",
      "framework": "python",
      "imports": ".,django.conf.urls",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "urls",
      "normalized_name": "urls",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/urls.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "27c1de087dac8508063b980a",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "celery.result,core.models,core.serializers,core.tasks,django.contrib.auth,django_mongoengine.mongo_auth.models,json,mongoengine,rest_framework,rest_framework.decorators,rest_framework.response",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:cloud_detail, clouds_info, get_assets, get_jobs, get_setup_status, index, service_fields, service_list | imports:., celery.result, core.models, core.serializers, core.tasks, django.contrib.auth, django_mongoengine.mongo_auth.models, json | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "cloud_detail,clouds_info,get_assets,get_jobs,get_setup_status,index,service_fields,service_list,setup_service,task_status,test_serializer",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "03530a1c612fc8d0",
      "framework": "python",
      "imports": ".,celery.result,core.models,core.serializers,core.tasks,django.contrib.auth,django_mongoengine.mongo_auth.models,json,mongoengine,rest_framework,rest_framework.decorators,rest_framework.response",
      "lines": 205,
      "logic_relevance": "secondary",
      "name": "views",
      "normalized_name": "views",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/views.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e99b69c67a6ea8c30e88ab46",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "abc,boto3,botocore.exceptions,core.models,dopy.manager,rest_framework,rest_framework.decorators,rest_framework.response",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AWS, Cloud, DigitalOcean | imports:abc, boto3, botocore.exceptions, core.models, dopy.manager, rest_framework, rest_framework.decorators, rest_framework.response | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "AWS,Cloud,DigitalOcean",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7f5f22e98dbfce74",
      "framework": "python",
      "imports": "abc,boto3,botocore.exceptions,core.models,dopy.manager,rest_framework,rest_framework.decorators,rest_framework.response",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "clouds",
      "normalized_name": "clouds",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/clouds.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,logic",
      "component_id": "ab9759bb7b3b1e8107a21139",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8b755f3cda0f5b00",
      "framework": "python",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/core/migrations/__init__.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "b1bbf4075b0d20e79808b8c0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a1354d24499e31e0",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "16cd48e7a66a7d88b517be0f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7765afe4bcf0729b",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/azure/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "04581ed309c01ec9a4455a78",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bb60d7676babe9c4",
      "framework": "python",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/digitalocean/__opsclick__.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "a13ace2cc936eabb43fff6fd",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f4d5ebc4aea35459",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/digitalocean/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "aec1f399a5461a4e9868e79a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "24e5d5cc2a4eed10",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/digitalocean/roles/digitalocean/tasks/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,logic",
      "component_id": "3d33eed445319868c6140599",
      "component_kind": "container-automation",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e5933a4b89002239",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "secondary",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/lib/docker/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "6d3591ae9600a8e225a8e42f",
      "component_kind": "container-automation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "55c9c9dd5dfcf5b8",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "secondary",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/lib/docker/roles/docker/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "backend,automation,logic",
      "component_id": "2973033f84da5501d73fc9d9",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for deployment; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "8dd8ca4a3b2313e2",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/lib/docker/roles/docker/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "aee2fd9f90cf6b746439a62a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e7b9115d73361965",
      "framework": "python",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/clouds/aws/__opsclick__.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "cb485a94807c4672100d8d62",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "__future__",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:.celery, __future__ | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ffcc4270ce35708f",
      "framework": "python",
      "imports": ".celery,__future__",
      "lines": 2,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/api/__init__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "d5f2636b87e64548a1665e18",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "__future__,celery,django.conf,os",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:debug_task | imports:__future__, celery, django.conf, os | backend-score:55 | automation-score:50",
      "exports": "debug_task",
      "extension": ".py",
      "extraction_status": "review-for-shared-library",
      "file_hash": "32ff4dc5255811ec",
      "framework": "python",
      "imports": "__future__,celery,django.conf,os",
      "lines": 19,
      "logic_relevance": "none",
      "name": "celery",
      "normalized_name": "celery",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/api/celery.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "547c91263773ccda7be97e29",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "kombu,os",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:kombu, os | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "review-for-shared-library",
      "file_hash": "16e14ff76983dd9d",
      "framework": "python",
      "imports": "kombu,os",
      "lines": 219,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/api/settings.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2e3d345b6138f15196e8970d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "django.conf.urls,django.contrib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:django.conf.urls, django.contrib | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f812463b86cb9000",
      "framework": "python",
      "imports": "django.conf.urls,django.contrib",
      "lines": 23,
      "logic_relevance": "none",
      "name": "urls",
      "normalized_name": "urls",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/api/urls.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "backend,automation",
      "component_id": "4e0f3112d19c66e78ff19564",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "django.core.wsgi,os",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:django.core.wsgi, os | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5d6ccd26036c2522",
      "framework": "python",
      "imports": "django.core.wsgi,os",
      "lines": 16,
      "logic_relevance": "none",
      "name": "wsgi",
      "normalized_name": "wsgi",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/api/wsgi.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "645426dee1d7d76ca10e3904",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e299837db99b5955",
      "framework": "python",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/activemq/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "5cfa508f2b1f36a2cf07b58f",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a975a23e209179cb",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/activemq/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "8f73584d5e0fad20e4429562",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b7e35125f02e725b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/activemq/roles/activemq/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "f426017e1ddecf2455efa352",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a488e229c146bcf2",
      "framework": "python",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/lamp/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "16d36ef92cbafd6545eb41fb",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29c0414f14887204",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/lamp/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "ca2866003a3bf25df752eb1f",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d0ee4e5090e1a507",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/lamp/roles/lamp/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "d1b59fd51ac56f1c8050b9e8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "46ffb6b3fb90c994",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nagios/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "633c5297004298cd6a2c13b2",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "926ce24a2684daee",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nagios/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "565790a83d00f178cef5a71d",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "5a001d3b31352bc8",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nagios/roles/nagios/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "95e28dd7137891db40a9b07f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "013fae4aa8559f36",
      "framework": "python",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/postgresql/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "77d65d1c2cd5f88c1f10590c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57e5e1f90517fd6a",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/postgresql/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "1307ca83a7638ba7419d7445",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d3a4ef069cb50c3d",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/postgresql/roles/postgresql/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "042d6e9cc0b75787f238827e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "d1c13b4d5aa1f607",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/weblogic/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "210f3e9a1e6f8abd7240f41c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "8d622935038c818a",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/weblogic/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "afbd2b52eee52b0254211c59",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8ed6566898c80f60",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/weblogic/roles/weblogic/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "fcbc9308330921fc69d19add",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "dd37aa1e6c6e1d9b",
      "framework": "python",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/couchdb/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "03e0e35169f94293770b61b5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74261b4f5e32709d",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/couchdb/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "8da26e8c060f2be1c44168d7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "352cd9bdb83477af",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/couchdb/roles/couchdb/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "12428db913a3d71624b24e1a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a347c4aad88630ba",
      "framework": "python",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mean/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "cb38e7bd47ce8f12d9bf38c3",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b37a635e1619a20",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mean/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "03a4e6d01631a52f58f09b37",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "284220365823816b",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mean/roles/mean/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "40d1e52ad42ed5137ece6aac",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b0832eaf8953f342",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/wildfly/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "da7a83c9dd2c803a381bba16",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2850e29728661685",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/wildfly/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "f4d71fb1651b9bfe181f23bf",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "3f6d335acfcb4074",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/wildfly/roles/wildfly/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "2da8ddbac035e9516ac33bef",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f9849815bfd948e1",
      "framework": "python",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tomcat/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "cc46cf6e9ca16644d6c6fa93",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04aead2cb00ab00c",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tomcat/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "f3f66b4dad8247f7ba13214b",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "a98c41d87945aaa4",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tomcat/roles/tomcat/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "07df29a54370cadf557d29ec",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "06d6acc7dcd6f201",
      "framework": "python",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/wordpress/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "e12be1fa630b4d53975b4cf6",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d9a6fdbf5c649ef",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/wordpress/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend,security",
      "component_id": "4bbc332bbe20e5d6dffa29a5",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "87ff9b782db62e5a",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/wordpress/roles/wordpress/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "286bcc6f1eda67ea276aeb66",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "84192e4a33660b0f",
      "framework": "python",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/jboss/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "dbe008ba187ceabd955e1d34",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c6bae2f06454ae8",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/jboss/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "abcfb0e0cb04f5c1b961ce33",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "e56117d955c2533d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/jboss/roles/jboss/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "b818b56b09c250f7fa793edc",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f4a5a55429dc21e0",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/glassfish/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "3ba26365ac555feb9713aae4",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c60a5d72b29ef3c0",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/glassfish/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "49136e518aacd104084f0995",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f98c2b6d938c49d9",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/glassfish/roles/glassfish/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "bc72ff3cfeff50518db52678",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0a28a19e6f47acae",
      "framework": "python",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/rabbitmq/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "5f9f75ddcf19927e46642054",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "115143b3574da877",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/rabbitmq/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "c96575ce433b843e5cef19c6",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "7b4256d3ba84fc94",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/rabbitmq/roles/rabbitmq/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "901e950de355d2aca8cd3b8e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c78ffb4fb1629014",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/elk/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "fa5fc27c630c2bab0123dcb2",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d6e74babc706293",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/elk/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "f81bbb558fd3f30438bde6ae",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "e8384c980545c5e5",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/elk/roles/elk/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "44b5248bf9d3219723d67178",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a5f7e81ff7fc2a11",
      "framework": "python",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mongodb/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "aaaf3daa9defb19f8d844ae5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0099547493fe3eca",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mongodb/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "a8b82776f04f11c2e4638dca",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "66ba27b9e661f661",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mongodb/roles/mongodb/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "084e5e010e814c8a70e67497",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1e9dbe0988cadced",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tcserver/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "c2083f7cb59e0d14d9fcac40",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef4159d79f3c19ef",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tcserver/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "d8655b463c89ede382e34b83",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "dc98270e8cb544ca",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tcserver/roles/tcserver/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "e3778732db523cd1ad7dfd70",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "51826cc4a6c070c6",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nexus/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "548301ee5a6c03d53949aab9",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf16b048154706e0",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nexus/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "bc4cb35eb1596b5a259f7e91",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4908262c6d223131",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nexus/roles/nexus/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "4b2d3bd0893dffb4a39eb5f9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "89c1a7309c38e948",
      "framework": "python",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nginx/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "ad35152642ecfd324b947e0a",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51d614594e53ce5d",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nginx/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "cb00431344e79bf3e1b54be9",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "470bd1b07352d70f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/nginx/roles/nginx/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "41535f3642751984b9335891",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bd6e3f212523ed8d",
      "framework": "python",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mysql/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "2e62a719269fc0957f4dce4a",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6922a8d7747ecb2e",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mysql/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "3cb7fd19ed6ee5199af87f5d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "bfd31671dd1e40ef",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/mysql/roles/mysql/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "8b1f23fbabf3a775bb0d81d8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "733104b10f032df2",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/elasticsearch/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "82c0edcc0904370e3a9dd843",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cab1c74ff93c74ee",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/elasticsearch/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "750355d2fa5a2f74b3097c87",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "df2bccb66c9bef75",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/elasticsearch/roles/elasticsearch/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "bd4360feb61c7a1d56554cb5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "641902d8efc66fb0",
      "framework": "python",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/apache/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "ec9753bb7cdde5161494d28b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05cebc39fb3987b8",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/apache/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "52ff3e79132516cdc3ce3805",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d9a4f2eb3bd4095d",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/apache/roles/apache/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "f8997e4815766a05aecf950a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a69daf74a26813f6",
      "framework": "python",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "__opsclick__",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tcserver_/__opsclick__.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "2e98e5f2cde2a956c9b96b46",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3acc0f37a8eb0a40",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tcserver_/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "4d3d3079a64327d5902fc5a9",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "ae289477f320b9f5",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Ansible/services/tcserver_/roles/tcserver_/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,security",
      "component_id": "5d2fa4319eaa06b871dabaef",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dc7d4271bb3663fb",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "0a667c17edb953c8ae6ec9a5",
      "component_kind": "container-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8cf14b43c322cef2",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bc6ba4f617f2280521da48b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7518d008de6c0ba5",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "08e8a098690610d958bac524",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "52636fca8ed3fd8d",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "c1e23622f2dd2d6d137ef5a5",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "\n                ,__future__,contextlib,fabric.api,fabric.colors,fabric.context_managers,fabric.contrib.console,fabric.contrib.files,fabric.contrib.project,fabric.decorators,functools,future.builtins,getpass,glob,importlib,mezzanine.utils.conf,os,posixpath,re,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:_print, all, apt, backup, create, db_pass, deploy, get_templates | imports:\n                , __future__, contextlib, fabric.api, fabric.colors, fabric.context_managers, fabric.contrib.console, fabric.contrib.files | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "_print,all,apt,backup,create,db_pass,deploy,get_templates,install,log_call,manage,pip,postgres,print_command,project,psql,python,remove,restart,restore,rollback,rsync_upload,run,secure,static,sudo,update_changed_requirements,upload_template_and_reload,vcs_upload,virtualenv",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63060290aa4a2092",
      "framework": "python",
      "imports": "\n                ,__future__,contextlib,fabric.api,fabric.colors,fabric.context_managers,fabric.contrib.console,fabric.contrib.files,fabric.contrib.project,fabric.decorators,functools,future.builtins,getpass,glob,importlib,mezzanine.utils.conf,os,posixpath,re,sys",
      "lines": 685,
      "logic_relevance": "none",
      "name": "fabfile",
      "normalized_name": "fabfile",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/fabfile.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5e69ce6c161d00e89793885c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a22389f0e80bc386",
      "framework": "python",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "local_settings",
      "normalized_name": "local-settings",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/opsclick/local_settings.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "c5b09f8d56d8bd992f8aba08",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "__future__,django,django.utils.translation,imp,mezzanine.utils.conf,os,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:__future__, django, django.utils.translation, imp, mezzanine.utils.conf, os, sys | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "dc850b94c3e5f75e",
      "framework": "python",
      "imports": "__future__,django,django.utils.translation,imp,mezzanine.utils.conf,os,sys",
      "lines": 376,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/opsclick/settings.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "3aee72accecada231a7a1e6d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "__future__,django.conf.urls,django.conf.urls.i18n,django.contrib,django.views.i18n,mezzanine.conf,mezzanine.core.views,sitemaps,views",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:__future__, django.conf.urls, django.conf.urls.i18n, django.contrib, django.views.i18n, mezzanine.conf, mezzanine.core.views, sitemaps | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5da836fdea6902c1",
      "framework": "python",
      "imports": "__future__,django.conf.urls,django.conf.urls.i18n,django.contrib,django.views.i18n,mezzanine.conf,mezzanine.core.views,sitemaps,views",
      "lines": 59,
      "logic_relevance": "none",
      "name": "urls",
      "normalized_name": "urls",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/opsclick/urls.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery,ai",
      "component_id": "c8b71e358896d57fb1b3566c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "django.contrib.sitemaps,django.core.urlresolvers,mezzanine.blog.models",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BlogSitemap, StaticPagesSitemap | imports:django.contrib.sitemaps, django.core.urlresolvers, mezzanine.blog.models | observability-score:55 | discovery-score:55 | ai-score:45",
      "exports": "BlogSitemap,StaticPagesSitemap",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "68220e316e549b35",
      "framework": "python",
      "imports": "django.contrib.sitemaps,django.core.urlresolvers,mezzanine.blog.models",
      "lines": 23,
      "logic_relevance": "none",
      "name": "sitemaps",
      "normalized_name": "sitemaps",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/opsclick/sitemaps.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "observability,security,ai",
      "component_id": "f32ae7a29f2cd8765c6b252b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,django.conf,django.core.mail,django.http,django.shortcuts,django.utils.encoding,django.views.decorators.csrf,hashlib,mimetypes,os,sign_up.models,wsgiref.util",
      "description": "Observability component for logic; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:parse_request, platform, submit_resume, verify_webinar, webinar_sign_up | imports:base64, django.conf, django.core.mail, django.http, django.shortcuts, django.utils.encoding, django.views.decorators.csrf, hashlib | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "parse_request,platform,submit_resume,verify_webinar,webinar_sign_up",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "584ad89c6bbd88dc",
      "framework": "python",
      "imports": "base64,django.conf,django.core.mail,django.http,django.shortcuts,django.utils.encoding,django.views.decorators.csrf,hashlib,mimetypes,os,sign_up.models,wsgiref.util",
      "lines": 108,
      "logic_relevance": "none",
      "name": "views",
      "normalized_name": "views",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/opsclick/views.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "da83a1deebfd3ff99734ba4b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e9d3c0b05ed7e72",
      "framework": "css",
      "imports": "",
      "lines": 344,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/static/css/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "8867770ae0d57c669843bd3a",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8cb7c8927c7b1f46",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "fusion_map",
      "normalized_name": "fusion-map",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/static/js/fusion_map.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2d4d7d8931a05f508ba08f5e",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae9222d63f9009c2",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "opsclick",
      "normalized_name": "opsclick",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/static/js/opsclick.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,logic,security",
      "component_id": "2847f4ef23856c34ec2e02df",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "__future__,django.db",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:OpsUser | imports:__future__, django.db | ai-score:120 | logic-score:85 | security-score:55",
      "exports": "OpsUser",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7b5782e3836b19f4",
      "framework": "python",
      "imports": "__future__,django.db",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "models",
      "normalized_name": "models",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/sign_up/models.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai",
      "component_id": "64e7ee1a57fb9996191c5360",
      "component_kind": "ai-integration",
      "confidence": 60,
      "dependency_roots": "django.contrib,sign_up.models",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:django.contrib, sign_up.models | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "be4a5621080d5a25",
      "framework": "python",
      "imports": "django.contrib,sign_up.models",
      "lines": 5,
      "logic_relevance": "none",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/sign_up/admin.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,ai",
      "component_id": "cbbe0fe3a4a6708e39a9ad19",
      "component_kind": "key-management",
      "confidence": 90,
      "dependency_roots": "__future__,django.db",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Migration | imports:__future__, django.db | security-score:55 | ai-score:45",
      "exports": "Migration",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81cd875c10a5dafe",
      "framework": "python",
      "imports": "__future__,django.db",
      "lines": 20,
      "logic_relevance": "none",
      "name": "0004_opsuser_vkey",
      "normalized_name": "0004-opsuser-vkey",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/sign_up/migrations/0004_opsuser_vkey.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ai",
      "component_id": "508f09715f7cc44714f28d7d",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "__future__,django.db",
      "description": "AI component for shipping; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Migration | imports:__future__, django.db | ai-score:45",
      "exports": "Migration",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "afa9a23d1185dd37",
      "framework": "python",
      "imports": "__future__,django.db",
      "lines": 20,
      "logic_relevance": "none",
      "name": "0002_auto_20161111_2102",
      "normalized_name": "0002-auto-20161111-2102",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/sign_up/migrations/0002_auto_20161111_2102.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,ai",
      "component_id": "aa6cce681aee5aa45562b44c",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "__future__,django.db",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Migration | imports:__future__, django.db | security-score:55 | ai-score:45",
      "exports": "Migration",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a5c6da1f729648a",
      "framework": "python",
      "imports": "__future__,django.db",
      "lines": 31,
      "logic_relevance": "none",
      "name": "0001_initial",
      "normalized_name": "0001-initial",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/sign_up/migrations/0001_initial.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ai",
      "component_id": "dde14db7c17b1e4d7ed1d585",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "__future__,django.db",
      "description": "AI component for shipping; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Migration | imports:__future__, django.db | ai-score:45",
      "exports": "Migration",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "cc4a0d5c42831873",
      "framework": "python",
      "imports": "__future__,django.db",
      "lines": 20,
      "logic_relevance": "none",
      "name": "0003_opsuser_verified",
      "normalized_name": "0003-opsuser-verified",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_website/sign_up/migrations/0003_opsuser_verified.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "a967064b0de5019ee697c6b9",
      "component_kind": "specification",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "2ae9cb407202bae1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "5d10b2c819efc6f99f7c8f4d",
      "component_kind": "container-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b472a2f470a13376",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "6e21f931b7f999041fe0b0d7",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7724f21476cfb712",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "5a9f6079b238fc2614e7a9c6",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "52636fca8ed3fd8d",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d6b7013e85c0a240ca1e4867",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "StringIO,__future__,argparse,collections,datetime,io,json,re,token,tokenize,urllib.request,urllib2",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ResultsCacheBase, SimpleResultsCache, TimeBasedResultsCache, _get_args, _get_data, _load_data, dict2obj, fixup_js_literal_with_comments | imports:StringIO, __future__, argparse, collections, datetime, io, json, re | security-score:55",
      "exports": "ResultsCacheBase,SimpleResultsCache,TimeBasedResultsCache,_get_args,_get_data,_load_data,dict2obj,fixup_js_literal_with_comments,get_ec2_instances_prices,get_ec2_ondemand_instances_prices,get_ec2_reserved_instances_prices,get_ec2_spot_instances_prices,get_elb_instances_prices,get_emr_instances_prices,get_price_on_demand_ec2_instance,get_prices,merge_instances,none_as_string",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a51132bf49799e89",
      "framework": "python",
      "imports": "StringIO,__future__,argparse,collections,datetime,io,json,re,token,tokenize,urllib.request,urllib2",
      "lines": 826,
      "logic_relevance": "none",
      "name": "ec2_pricing",
      "normalized_name": "ec2-pricing",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/cloud_pricing/ec2_pricing.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "a5e2bef85bf0bb6cf0d7cb40",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "json",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:get_price_DO_droplet | imports:json | security-score:55",
      "exports": "get_price_DO_droplet",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "101554dfc9e3a07b",
      "framework": "python",
      "imports": "json",
      "lines": 60,
      "logic_relevance": "none",
      "name": "digital_ocean_pricing",
      "normalized_name": "digital-ocean-pricing",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/cloud_pricing/digital_ocean_pricing.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "efa246d21a135685e7a08a9d",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "os",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:os | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f2db89f7b164a389",
      "framework": "python",
      "imports": "os",
      "lines": 120,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/cloud_pricing/settings.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ced3937e2b315487993dceb1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "django.conf.urls,django.contrib,views",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:django.conf.urls, django.contrib, views | observability-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "831f6bcd7cd0943e",
      "framework": "python",
      "imports": "django.conf.urls,django.contrib,views",
      "lines": 23,
      "logic_relevance": "none",
      "name": "urls",
      "normalized_name": "urls",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/cloud_pricing/urls.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "069776f5bc4454f2ca3ed247",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "digital_ocean_pricing,django.http,django.views.decorators.csrf,ec2_pricing,json",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:get_cloud_pricing | imports:digital_ocean_pricing, django.http, django.views.decorators.csrf, ec2_pricing, json | security-score:55",
      "exports": "get_cloud_pricing",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "798b33603df6b267",
      "framework": "python",
      "imports": "digital_ocean_pricing,django.http,django.views.decorators.csrf,ec2_pricing,json",
      "lines": 34,
      "logic_relevance": "none",
      "name": "views",
      "normalized_name": "views",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_BE_Pricing/cloud_pricing/views.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "f96579c0897ef114f01219fe",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8378d81b2c0b31d",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/install.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "4656aa0e925d9ed8368d6aa5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8443485edbcf7909",
      "framework": "unknown",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "importFiles",
      "normalized_name": "import-files",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/importFiles.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "85d0d37821a21b5c1ea94950",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "54f49d5a8e73e85c",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "bb00c3ba57795944fbefd2b0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "browser-sync,browserify,connect-history-api-fallback,del,exorcist,gulp,gulp-load-plugins,gulp-ng-annotate,gulp-uglify,mkdirp,vinyl-buffer,vinyl-source-stream,watchify",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./browserify.config, browser-sync, browserify, connect-history-api-fallback, del, exorcist, gulp, gulp-load-plugins | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fc55bedc783caf53",
      "framework": "unknown",
      "imports": "./browserify.config,browser-sync,browserify,connect-history-api-fallback,del,exorcist,gulp,gulp-load-plugins,gulp-ng-annotate,gulp-uglify,mkdirp,vinyl-buffer,vinyl-source-stream,watchify",
      "lines": 175,
      "logic_relevance": "none",
      "name": "gulpfile.babel",
      "normalized_name": "gulpfile-babel",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/gulpfile.babel.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "b08ac25cd18440496bdee0bc",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a196a3656894f042",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "f8bb4162cca360e871f800f4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "796a6e626a113a1c",
      "framework": "unknown",
      "imports": "",
      "lines": 255,
      "logic_relevance": "none",
      "name": "karma.conf",
      "normalized_name": "karma-conf",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/karma.conf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a93cce7566f8c3df0d38aeff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "body-parser,cookie-parser,express,morgan,path,serve-favicon",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./routes/about, ./routes/browser, ./routes/index, body-parser, cookie-parser, express, morgan, path | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a02ebe6488755835",
      "framework": "unknown",
      "imports": "./routes/about,./routes/browser,./routes/index,body-parser,cookie-parser,express,morgan,path,serve-favicon",
      "lines": 72,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4ade16f77efe4c5aaa3f47b8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f857d8b46eac651d",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "karma.conf",
      "normalized_name": "karma-conf",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/karma.conf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "927861231d757748fc85c428",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3c3667a88cca089f",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "79e75bfce393f0f710b694b0",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "106c891259f845ad",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "a24c15131a3775a925f23801",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e1291ee9fc87b96",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "core.module",
      "normalized_name": "core-module",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/core.module.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "66263a135273f5f761f036e3",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6194d1061001b6b0",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/directives/alerts.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "e556b8f26284d49d87dbc314",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ModalInstanceCtrl | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ModalInstanceCtrl",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e26074f15a0133a7",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "feature-request",
      "normalized_name": "feature-request",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/directives/feature-request.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,ai",
      "component_id": "3c19f4ede297adf1a39a7918",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a1ad4afbb687e1ad",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "input-field",
      "normalized_name": "input-field",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/directives/input-field.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "1355069358521f73614c7969",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3d0ac79bfd5375a5",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "point.client.directive",
      "normalized_name": "point-client-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/directives/point/point.client.directive.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "e47f5203ac820205eaa1f400",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "22d41725fbb56362",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "yIcon.client.directive",
      "normalized_name": "y-icon-client-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/directives/yIcon/yIcon.client.directive.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,ai",
      "component_id": "9c685e3e04417ad169d0fdfc",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b8cccdf51afc7f5b",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "ngFocus.directive",
      "normalized_name": "ng-focus-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/directives/ngFocus/ngFocus.directive.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "ed5664c6de504fc718745ed9",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "df8d9851e37152d4",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "config-constants",
      "normalized_name": "config-constants",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/constants/config-constants.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,automation",
      "component_id": "aeaa47cff1c46b1aed1692c0",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5672a1aa18abd922",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "job-constance",
      "normalized_name": "job-constance",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/constants/job-constance.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "5cd607798eaef6a7127c6e75",
      "component_kind": "business-logic",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b29de1ea441d9d46",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "app-constants",
      "normalized_name": "app-constants",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/constants/app-constants.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "ebd0e28439b1f78efbe774f7",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b5ed08d6d203830d",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "alert-constants",
      "normalized_name": "alert-constants",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/constants/alert-constants.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "42cd6611ec52dba73221eaeb",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1908e83e31bd14ce",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "dispatcher",
      "normalized_name": "dispatcher",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/dispatcher/dispatcher.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "6a1e177098677c01982d724f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EventEmitter | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "EventEmitter",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d741c9f37c03c0b3",
      "framework": "next-react",
      "imports": "",
      "lines": 302,
      "logic_relevance": "primary",
      "name": "event-emitter",
      "normalized_name": "event-emitter",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/dispatcher/event-emitter.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "a60829f2ff3a169ed543eac9",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4ac205af5162a538",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "app-dispatcher",
      "normalized_name": "app-dispatcher",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/dispatcher/app-dispatcher.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "b49e88ecfe5290628f80b703",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AlertStoreFactory | logic-score:85",
      "exports": "AlertStoreFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7ce459dc437cc51",
      "framework": "next-react",
      "imports": "",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "alert-store",
      "normalized_name": "alert-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/stores/alert-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,security,automation",
      "component_id": "47e3cfc45e4094eac213d3fc",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JobStoreFactory | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "JobStoreFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "691adfb46a4be8fe",
      "framework": "next-react",
      "imports": "",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "job-store",
      "normalized_name": "job-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/stores/job-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "9f482883d8497074afe36385",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:StoreFactory | logic-score:60",
      "exports": "StoreFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1d104249624dce12",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/stores/store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "10943825abdde9548c900979",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ConfigStoreFactory | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ConfigStoreFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9d68f9ada324ffd6",
      "framework": "next-react",
      "imports": "",
      "lines": 678,
      "logic_relevance": "primary",
      "name": "config-store",
      "normalized_name": "config-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/stores/config-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "7863a52dc03b2066de9fadbe",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AppStoreFactory | logic-score:60",
      "exports": "AppStoreFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b2cd116e5c25d2e1",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "app-store",
      "normalized_name": "app-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/stores/app-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "a844d7688109f144c900883f",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AppActions | logic-score:60",
      "exports": "AppActions",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efa061431b64e49c",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "app-actions",
      "normalized_name": "app-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/actions/app-actions.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "6697b008e34a9181c851ad19",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AlertActions | logic-score:60",
      "exports": "AlertActions",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "004ed8570c421ced",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "primary",
      "name": "alert-actions",
      "normalized_name": "alert-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/actions/alert-actions.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,automation",
      "component_id": "9eb5e97235d702806d859554",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JobActions | logic-score:85 | automation-score:50",
      "exports": "JobActions",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "87d50dc4d3bd245b",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "job-actions",
      "normalized_name": "job-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/actions/job-actions.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "f58592fa81048ec5121694bd",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ConfigActions | logic-score:60 | security-score:55",
      "exports": "ConfigActions",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8ef9551fdcd733ed",
      "framework": "next-react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "config-actions",
      "normalized_name": "config-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/flux/actions/config-actions.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "d5a0f50e63fd75eb3b299f9f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Resolved | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "Resolved",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "255a07d2d1cf9a79",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "core.routes",
      "normalized_name": "core-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/config/core.routes.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "d9922dd49b3819a381e01d3b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c47524259c3049f2",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "home.client.controller.test",
      "normalized_name": "home-client-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/home.client.controller.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,process",
      "component_id": "6b36a6e8bf70ca8a02763f7c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ab712f7735f2caad",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "navbar.controller.spec",
      "normalized_name": "navbar-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/navbar.controller.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic,process",
      "component_id": "f756a119470eed2b4761b25a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "88b5cf119a7e8281",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "sidebar.controller.spec",
      "normalized_name": "sidebar-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/sidebar.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "a73838b3809a1a84dc90fa30",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d84feef53c14e30b",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "core.routes.spec",
      "normalized_name": "core-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/core.routes.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,logic,process",
      "component_id": "dbef2e103945788622920d1d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8e6956b93c2ab86c",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "secondary",
      "name": "storage.service.spec",
      "normalized_name": "storage-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/storage.service.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic",
      "component_id": "d5c902911a3aa8903f2a86f8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fff5caa587cbd96d",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "secondary",
      "name": "home.controller.test",
      "normalized_name": "home-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/home.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic,process",
      "component_id": "4d924401d7c48076ca4dab0d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b14fe08689066b8",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "secondary",
      "name": "footer.controller.spec",
      "normalized_name": "footer-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/footer.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,logic",
      "component_id": "8825010eb259228f41f6b41a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "906b7c0d6b821ef2",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "header.client.controller.test",
      "normalized_name": "header-client-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/header.client.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability,process",
      "component_id": "a16943e2cc39281dbd12f4d3",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d45718baf0c32168",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "secondary",
      "name": "stream.model.spec",
      "normalized_name": "stream-model",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/api/stream.model.spec.js",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability,security,process",
      "component_id": "1a13694c93ba07866b02bfc4",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "33cece47fddfb547",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "secondary",
      "name": "user.model.spec",
      "normalized_name": "user-model",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/api/user.model.spec.js",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,backend,observability,logic,process",
      "component_id": "88771cdb5626c50f29a12826",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7ade33277bb2e4a4",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "thing.model.spec",
      "normalized_name": "thing-model",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/api/thing.model.spec.js",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security,process",
      "component_id": "d728c1f37ddf335508e6b66d",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e26ed0f29a4da5b",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "upload.service.spec",
      "normalized_name": "upload-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/services/upload.service.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend,process",
      "component_id": "5a0ac6301484cb366a9928e3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1582df607a401536",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "menus.service.spec",
      "normalized_name": "menus-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/services/menus.service.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend,process",
      "component_id": "78fe57d503d643dcd99e9647",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ddaab50c59bd6078",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "toggle.service.spec",
      "normalized_name": "toggle-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/services/toggle.service.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,logic,process",
      "component_id": "5222c22b6b4d1f2af99135ff",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fe6fe8b711f87e72",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "secondary",
      "name": "logger.factory.spec",
      "normalized_name": "logger-factory",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/services/logger.factory.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability,logic,process",
      "component_id": "7206588cd14b2cac4cc7572c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7b67c0e76a3653a",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "email.service.spec",
      "normalized_name": "email-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/services/email.service.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,logic,process",
      "component_id": "606ba6a1197ecb518eb83a99",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "495706a0600e33e9",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "modal.service.spec",
      "normalized_name": "modal-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/tests/services/modal.service.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,logic,observability",
      "component_id": "4f625c825d2c68652978805f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "79f34b56f85d8667",
      "framework": "next-react",
      "imports": "",
      "lines": 4762,
      "logic_relevance": "secondary",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic,observability,security",
      "component_id": "8fcc394425cdd4c579085ce1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0b58c270ee968904",
      "framework": "next-react",
      "imports": "",
      "lines": 6567,
      "logic_relevance": "secondary",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic",
      "component_id": "69fe2c4c967e740031afdb7c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "18eb6e90dd357ff5",
      "framework": "next-react",
      "imports": "",
      "lines": 1274,
      "logic_relevance": "secondary",
      "name": "jquery.mCustomScrollbar",
      "normalized_name": "jquery-m-custom-scrollbar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/jquery.mCustomScrollbar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,logic,observability",
      "component_id": "1b6eff1a0a283c3568cb155a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e249a3cf5d143fcd",
      "framework": "next-react",
      "imports": "",
      "lines": 1161,
      "logic_relevance": "secondary",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/dashboard.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "27f052a45061a448c4922fb2",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "648f0acd10528a34",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "loading-bar",
      "normalized_name": "loading-bar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/loading-bar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,logic",
      "component_id": "1d5775d28260de1e26b27b1e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7093b177cb6dde28",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "IE8",
      "normalized_name": "ie8",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/IE8.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic",
      "component_id": "3606c880bacd5370ac42bdea",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a3b82c6c2ce46b2e",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "override",
      "normalized_name": "override",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/override.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "style,logic",
      "component_id": "42ec6cb6b0acda4d3c52877b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "06202c17dc116318",
      "framework": "next-react",
      "imports": "",
      "lines": 212,
      "logic_relevance": "secondary",
      "name": "grid-styles",
      "normalized_name": "grid-styles",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/styles/grid-styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "2d1b29d98f98575c1cc3a72e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ConfigApi | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "ConfigApi",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6471b69c4a40670e",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "config-api",
      "normalized_name": "config-api",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/api/config-api.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,backend,observability,security",
      "component_id": "2eea2410b4d4505e90a805e6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Stream | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Stream",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c7795b62849b6a85",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "primary",
      "name": "stream.model",
      "normalized_name": "stream-model",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/api/stream/stream.model.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,backend,observability,security",
      "component_id": "bd6d9e5ac39cd417f0317b0b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:User | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "User",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "53660ab80bf911f4",
      "framework": "next-react",
      "imports": "",
      "lines": 171,
      "logic_relevance": "primary",
      "name": "user.model",
      "normalized_name": "user-model",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/api/user/user.model.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "33210bd9fe311e1dfde7dbe8",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Thing | ai-score:75 | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "Thing",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "451f17547e076bae",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "secondary",
      "name": "thing.model",
      "normalized_name": "thing-model",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/api/thing/thing.model.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "a7626f46e4fbf97f329f2a1b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FooterCtrl | logic-score:60 | backend-score:55",
      "exports": "FooterCtrl",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fcb4725042410d2e",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "footer.controller",
      "normalized_name": "footer-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/controllers/footer.controller.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "dc513a4173a262e408083f79",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MainNavCtrl | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MainNavCtrl",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cdd2b209f7ff198d",
      "framework": "next-react",
      "imports": "",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "main-nav",
      "normalized_name": "main-nav",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/controllers/main-nav.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "accf217efc989300f67ad021",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SideBarCtrl | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "SideBarCtrl",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6c7b85d668a59f57",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "sidebar.controller",
      "normalized_name": "sidebar-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/controllers/sidebar.controller.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "df40b45917d5dd909648bf51",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HeaderCtrl | backend-score:55 | logic-score:45",
      "exports": "HeaderCtrl",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ca926d81d05b4c3",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "header.controller",
      "normalized_name": "header-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/controllers/header.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "57142b8ae0fb084002a33c85",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NavbarCtrl | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "NavbarCtrl",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfb74121f1e735b6",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "navbar.controller",
      "normalized_name": "navbar-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/controllers/navbar.controller.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "4a8bbc416512c0fdb1811dce",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HomeCtrl | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "HomeCtrl",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "466acfb11729d9c1",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "home.controller",
      "normalized_name": "home-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/controllers/home.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,process",
      "component_id": "5cfd3e3b12ccf9888b80644f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "17bbce63b9371676",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "deploy",
      "normalized_name": "deploy",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/deploy.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "7a838d80cb71f0fa8e11bb79",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeatureRequest, ModalInstanceCtrl | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "FeatureRequest,ModalInstanceCtrl",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c5006b9335e4bf49",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "primary",
      "name": "feature-request",
      "normalized_name": "feature-request",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/feature-request.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "163a327b6c241db217a39ec2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b731f5d0542bc08b",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "logger.factory",
      "normalized_name": "logger-factory",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/logger/logger.factory.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "929baae9fbecece2d843a6e0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Delete | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "Delete",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ca07f0878593ff5",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "delete.service",
      "normalized_name": "delete-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/delete/delete.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "a7b2ae032c94c0803ebebfb3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Storage | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Storage",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c603e22ba053b477",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "storage.service",
      "normalized_name": "storage-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/storage/storage.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,security",
      "component_id": "16c566607721c16d1d1e250f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Toggle | logic-score:60 | backend-score:55 | security-score:55",
      "exports": "Toggle",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fd23f6f3115f009c",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "toggle.service",
      "normalized_name": "toggle-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/toggle/toggle.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,backend",
      "component_id": "0380659970a369aece632211",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Menus | logic-score:85 | backend-score:55",
      "exports": "Menus",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e604169947b838f1",
      "framework": "next-react",
      "imports": "",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "menus.service",
      "normalized_name": "menus-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/menus/menus.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,backend",
      "component_id": "ee29edb4b0f0aa511e6758a4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Modal | logic-score:85 | backend-score:55",
      "exports": "Modal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4e660b91a6ffe9ef",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "modal.service",
      "normalized_name": "modal-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/modal/modal.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "3b18e2a6ba363316af190e1b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Email | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Email",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b7a10e5dd09560a",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "email.service",
      "normalized_name": "email-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/email/email.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "b197b0384ededd3ca3d0e858",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Upload | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Upload",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d042e727f79fc0d8",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "upload.service",
      "normalized_name": "upload-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/upload/upload.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "dedb41e8c6dfdc3c85ffef09",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Utility | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "Utility",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "56545980a026779a",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "utility.service",
      "normalized_name": "utility-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/core/services/utility/utility.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "f63892445d9dab72ff3eaf60",
      "component_kind": "parser",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "13508e27ced9be72",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "parsers.module",
      "normalized_name": "parsers-module",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/parsers.module.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "ce222b5d2f4439403597391e",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6eb2b051d995aff1",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "parser.routes.spec",
      "normalized_name": "parser-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/test/parser.routes.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic",
      "component_id": "95bb27c8192908590144cf5e",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29486b363cd71de8",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "parsers.list.controller",
      "normalized_name": "parsers-list-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/test/controllers/parsers.list.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,process",
      "component_id": "6b55fd02e14f2a71f600afe6",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d730dcf80400573",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "parsers.create.controller.spec",
      "normalized_name": "parsers-create-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/test/controllers/parsers.create.controller.spec.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic,process",
      "component_id": "26d8525865597b0c12cea8b9",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81251a60ee23f07d",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "parsers.detail.controller.spec",
      "normalized_name": "parsers-detail-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/test/controllers/parsers.detail.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,backend",
      "component_id": "5fe4232d95137b749ff917e9",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Configuration | logic-score:85 | backend-score:55",
      "exports": "Configuration",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b8f8ccda9f9344f5",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "parsers.routes",
      "normalized_name": "parsers-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/config/parsers.routes.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "724a5b7bb888f732e112d87a",
      "component_kind": "parser",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Run | logic-score:70",
      "exports": "Run",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f2976c5930f46037",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "parsers.config",
      "normalized_name": "parsers-config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/config/parsers.config.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "952fab979b09d46346fbb32b",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Parsers | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Parsers",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ddfb1232f242ff5b",
      "framework": "next-react",
      "imports": "",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "parsers.api.service",
      "normalized_name": "parsers-api-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/api/parsers.api.service.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "6e3632dd0f9842225573d109",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParsersController | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "ParsersController",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6bda874ff07b0d78",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "parsers.list.controller",
      "normalized_name": "parsers-list-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/controllers/parsers.list.controller.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "eeb4dfa6995bee1c56509846",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParsersCreateController | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "ParsersCreateController",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31f7546577f94a6c",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "parsers.create.controller",
      "normalized_name": "parsers-create-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/controllers/parsers.create.controller.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "eef893995dc4660e89f62290",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParsersDetailController | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "ParsersDetailController",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f4acb010f2dff33",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "parsers.detail.controller",
      "normalized_name": "parsers-detail-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/parser/controllers/parsers.detail.controller.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "742a1bddaeeef77d09130bd5",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4cdcdbb04ed83aae",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "job-box",
      "normalized_name": "job-box",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/directives/job-box.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ai",
      "component_id": "d6450855864c2795370f555a",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for analytics; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "eb76d0d323b85c5f",
      "framework": "next-react",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "selectbox",
      "normalized_name": "selectbox",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/directives/selectbox.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bbb1afd708f8dbe1cbbdb128",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Configuration | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Configuration",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ad9dd24155f4c1c0",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "dashboard.routes",
      "normalized_name": "dashboard-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/config/dashboard.routes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "a3ddf5b4cb7e9f42f4224b18",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Dashboard | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Dashboard",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "afc5ae6eac88435c",
      "framework": "next-react",
      "imports": "",
      "lines": 281,
      "logic_relevance": "none",
      "name": "dashboard.api.service",
      "normalized_name": "dashboard-api-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/api/dashboard.api.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend",
      "component_id": "9daea1d4f677a49f740180f9",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8a95b6dab910f42e",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/sidebar.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,backend",
      "component_id": "00a63063a0dcf8f8af7a47da",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d3d9f4c2eb642a9",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "4f85da299f9c4bdf4af34c8d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "173ad2df34343d7e",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e67abc7c2670cab6bad2456f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8c015a382672e80b",
      "framework": "next-react",
      "imports": "",
      "lines": 196,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/config.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "7105e497855c22d7eed00816",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b6f094a58cc308b",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dashboard.controller",
      "normalized_name": "dashboard-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/dashboard.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1d8dbe8cbc812e2bc308c6ad",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1e37ea89a57123f0",
      "framework": "next-react",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "aws-key-modal",
      "normalized_name": "aws-key-modal",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/aws-key-modal.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8cf19a536172eba527eb2705",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5dc96ba44a501be7",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "myapps",
      "normalized_name": "myapps",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/dashboard/controllers/myapps.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "45541ac5a4dcfbcd0902b870",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8c8926d08d6bbc3c",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "admin-nav.directive",
      "normalized_name": "admin-nav-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/directives/admin-nav/admin-nav.directive.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "910780004f0cc11648e8b54f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Configuration, Resolved, ResolvedAccount | backend-score:55 | security-score:55",
      "exports": "Configuration,Resolved,ResolvedAccount",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "522fb8e8d95c7e40",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "administration.routes",
      "normalized_name": "administration-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/config/administration.routes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,process",
      "component_id": "b40d795ede4f987d217d6b76",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a2bc2d8ea55bccf3",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "administration.routes.spec",
      "normalized_name": "administration-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/administration.routes.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f10d4ef4ebe5f376baf34d13",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c08dcdb4984f18ab",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "profile.controller.test",
      "normalized_name": "profile-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/profile.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "9c76bd381fd0fe0bf72dbc1b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c54f168c9836b7b2",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "account.detail.controller.spec",
      "normalized_name": "account-detail-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/account.detail.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "b73bb489d8d1540235d0950c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c8465e1e8809f6bf",
      "framework": "next-react",
      "imports": "",
      "lines": 154,
      "logic_relevance": "none",
      "name": "profile.controller.spec",
      "normalized_name": "profile-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/profile.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5187fc4b576f0fe03162bcb5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8a7a60193597cb83",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "admin.controller.test",
      "normalized_name": "admin-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/admin.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2a1ce6bbbd314d1787ff409c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "26081aba41b64068",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "settings.controller.test",
      "normalized_name": "settings-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/settings.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,process",
      "component_id": "26cf84ee76f21c4392645c30",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "947568fd32931689",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "settings.controller.spec",
      "normalized_name": "settings-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/settings.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "826052e647de4d518d100332",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9146299c712b1de6",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "account.list.controller.spec",
      "normalized_name": "account-list-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/account.list.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "d7fd495ebe034936f9c47987",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4d88af9efb59451",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "admin.controller.spec",
      "normalized_name": "admin-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/tests/admin.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "d091c3b6fc96175f03cd0b42",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SettingsController | backend-score:55 | security-score:55",
      "exports": "SettingsController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c78160a4fd729b8b",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "settings.controller",
      "normalized_name": "settings-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/controllers/settings.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "be8a7e70a26caf4c5c2a0058",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ProfileController | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfileController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03027b0c5650dd81",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "profile.controller",
      "normalized_name": "profile-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/controllers/profile.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "694c563636b374b7bf78b58a",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AccountDetailController | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AccountDetailController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e0b1b5b573a1b869",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "account.detail.controller",
      "normalized_name": "account-detail-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/controllers/account.detail.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b0c35437ff213512c64f57f5",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AccountsController | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AccountsController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8f35424dad4a27f5",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "accounts.list.controller",
      "normalized_name": "accounts-list-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/controllers/accounts.list.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ec9a8514f3fdc71ba5b4cf2e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AdminController | backend-score:55 | security-score:55",
      "exports": "AdminController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5fcba7dec40fb55b",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "admin.controller",
      "normalized_name": "admin-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/administration/controllers/admin.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "63080ca87f177b8791e4afe8",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dd06ddbb7e10031e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/jobs.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8c7e4a557ed8f0570a449ef2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Cell | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "Cell",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "60866285476b8432",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "cell",
      "normalized_name": "cell",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/directives/cell.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "327475c79e3f86987734f410",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Configuration | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "Configuration",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "717f8bcbfa9d97c6",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "router",
      "normalized_name": "router",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/config/router.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,observability,automation",
      "component_id": "2b1929fc52734e177abd9476",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "lodash",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JobDetailsHeaderController | imports:../actions/job-actions, ../stores/job-store, lodash | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "JobDetailsHeaderController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f984704908076365",
      "framework": "next-react",
      "imports": "../actions/job-actions,../stores/job-store,lodash",
      "lines": 65,
      "logic_relevance": "none",
      "name": "details.header",
      "normalized_name": "details-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/controllers/details.header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "e5464bc909c6647460398c21",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f7184c0cac38d5b",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "list.header",
      "normalized_name": "list-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/controllers/list.header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "4bcfaea7619a4ce99109899f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4bd7c6f2c762950",
      "framework": "next-react",
      "imports": "",
      "lines": 196,
      "logic_relevance": "none",
      "name": "list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/controllers/list.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,automation",
      "component_id": "41b7d0a2789456dc800c98df",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2e7151d3571b822",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "details",
      "normalized_name": "details",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/controllers/details.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,automation",
      "component_id": "b128b049cbddd6eae97d9005",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f1976fcb53e34ea4",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/jobs/controllers/jobs.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0157fd391b1d1889a27bb653",
      "component_kind": "auth",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a773d779183ab8c7",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "authentication.module",
      "normalized_name": "authentication-module",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/authentication.module.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ea93790e02f7df1b121d9430",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AuthRoutes, ResolvedRecoverPwd | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthRoutes,ResolvedRecoverPwd",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "517a1b24c46bb426",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "auth.routes",
      "normalized_name": "auth-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/config/auth.routes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0530a34ee9cdc6608c28a8d7",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "559f1e906dcf0904",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "auth.config",
      "normalized_name": "auth-config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/config/auth.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "489572808913daeed4c0aae3",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ef3140f51abba478",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "authInterceptor.service.test",
      "normalized_name": "auth-interceptor-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/authInterceptor.service.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "fc0db8ce22ac89b0c1718ef5",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e5beebf32ef7aeae",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "auth.service.test",
      "normalized_name": "auth-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/auth.service.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process,ai",
      "component_id": "a38c0ce56993427e05c063a5",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0489c35ecb6f6425",
      "framework": "next-react",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "signup.controller.spec",
      "normalized_name": "signup-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/signup.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "6334884e77dda107aec51b62",
      "component_kind": "auth-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "99576cd42cf00fbc",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "signup.controller.test",
      "normalized_name": "signup-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/signup.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend",
      "component_id": "5ba83cb929c28f2e959ed8a1",
      "component_kind": "auth-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "58d2d2e0c2ab38fa",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "login.controller.test",
      "normalized_name": "login-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/login.controller.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process,ai",
      "component_id": "8f64d202be23b56613671556",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "70b97746bfb90d0e",
      "framework": "next-react",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "login.controller.spec",
      "normalized_name": "login-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/login.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "e5f9291a733319a143422fb2",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2c5ee3a78738a2dd",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "recover.controller.spec",
      "normalized_name": "recover-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/recover.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,process",
      "component_id": "313ca5d6cba88cb9c618f0e7",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "13ceb5888fa74b88",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "auth.routes.spec",
      "normalized_name": "auth-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/tests/auth.routes.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "c42bf0cb79c14b6520e29436",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "243e397d96717828",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "auth.styles",
      "normalized_name": "auth-styles",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/styles/auth.styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "8399ad48a5b5ff3dbc4e9801",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SignupCtrl | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SignupCtrl",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4d19595761948874",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "signup.controller",
      "normalized_name": "signup-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/controllers/signup.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2d47bcce42014b3cf32dbed6",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FindAccountCtrl | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "FindAccountCtrl",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a0c573ac2fa682de",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "findaccount.controller",
      "normalized_name": "findaccount-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/controllers/findaccount.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "bb98db120a8e21124d53db52",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LegalController | backend-score:55 | security-score:55",
      "exports": "LegalController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efec42dd7e6f10db",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "legal.controller",
      "normalized_name": "legal-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/controllers/legal.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "b8b2ee11029a2c3af2db08ba",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LoginCtrl | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LoginCtrl",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fd504028a384bed7",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "login.controller",
      "normalized_name": "login-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/controllers/login.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "f34b5beca353a945b437c2bd",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Recover, RecoverCtrl, ResetPassword | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Recover,RecoverCtrl,ResetPassword",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bde426bb1aa443a4",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "recover.controller",
      "normalized_name": "recover-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/controllers/recover.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8b62710218c3cdd8c54e71ce",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d7e382875a57c8f2",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "authInterceptor.factory",
      "normalized_name": "auth-interceptor-factory",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/services/authInterceptor.factory.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7de1bccf2331d81d02d7260d",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Auth, GetUserFromToken, ResetUserPassword | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Auth,GetUserFromToken,ResetUserPassword",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0674a50cdf5b7bba",
      "framework": "next-react",
      "imports": "",
      "lines": 457,
      "logic_relevance": "none",
      "name": "auth.factory",
      "normalized_name": "auth-factory",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/authentication/services/auth.factory.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "02fad2e3e6c8dbc226ba94ce",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b54b46ddfb4778c6",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "intellisenseResult.directive",
      "normalized_name": "intellisense-result-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/directives/intellisenseResult.directive.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3eda51a6674c91140a0dcae0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Cell | observability-score:55 | security-score:55",
      "exports": "Cell",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8ed86923b33686f0",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "cell.directive",
      "normalized_name": "cell-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/directives/cell.directive.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "18116dd144e5d7854b6e2b3d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4106c9bfb33b1f72",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "tooltip.directive",
      "normalized_name": "tooltip-directive",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/directives/tooltip.directive.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,process",
      "component_id": "7db40079b75dbbf3d1ab3845",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9c88d48cbae0523e",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "grid.create.controller.spec",
      "normalized_name": "grid-create-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/test/grid.create.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,process",
      "component_id": "ca60fa4a0be425d63f7dcad1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1b00e8493122eee",
      "framework": "next-react",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "grid.detail.controller.spec",
      "normalized_name": "grid-detail-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/test/grid.detail.controller.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,process",
      "component_id": "fc016de2313e0b1c66200861",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dbbac0d72325c64b",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "grid.routes.spec",
      "normalized_name": "grid-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/test/grid.routes.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,process",
      "component_id": "0cd4550785ad9689f39ba76d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c64fb46aa55efb1",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "filterFactory.service.spec",
      "normalized_name": "filter-factory-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/test/filterFactory.service.spec.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "94e8c0da9046f7b10d4fafbc",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Configuration | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Configuration",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf955efb42c6e847",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "grids.routes",
      "normalized_name": "grids-routes",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/config/grids.routes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "641def12a9e115807a6c68a4",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Grids | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Grids",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "720e56849531d7c1",
      "framework": "next-react",
      "imports": "",
      "lines": 262,
      "logic_relevance": "none",
      "name": "grids.api.service",
      "normalized_name": "grids-api-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/api/grids.api.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "681050d8d2c28f7a558e8783",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GridsController | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GridsController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4b260c14b60b26aa",
      "framework": "next-react",
      "imports": "",
      "lines": 286,
      "logic_relevance": "none",
      "name": "grids.list.controller",
      "normalized_name": "grids-list-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/controllers/grids.list.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "1af77e3ade92e98227ad4010",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GridsStubController | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GridsStubController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "748de6c636f4b383",
      "framework": "next-react",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "grids.stub.controller",
      "normalized_name": "grids-stub-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/controllers/grids.stub.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "072e20b93afd8783cdf14934",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GridsDetailController | backend-score:55 | security-score:55",
      "exports": "GridsDetailController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7c2aa86e428b7107",
      "framework": "next-react",
      "imports": "",
      "lines": 418,
      "logic_relevance": "none",
      "name": "grids.detail.controller",
      "normalized_name": "grids-detail-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/controllers/grids.detail.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9f60b85dd80265786f22482e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GridsCreateController | backend-score:55 | observability-score:55",
      "exports": "GridsCreateController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7b099c1558637523",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "grids.create.controller",
      "normalized_name": "grids-create-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/controllers/grids.create.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "50e7a02904d01d4695aa32e9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GridsXMLController | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GridsXMLController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "71881779b9c0627b",
      "framework": "next-react",
      "imports": "",
      "lines": 442,
      "logic_relevance": "none",
      "name": "grids.xml.controller",
      "normalized_name": "grids-xml-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/controllers/grids.xml.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "79252e320f483c2b2a79ed21",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GridsParsingController | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GridsParsingController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b7065fa0a8c4ee16",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "grids.parsing.controller",
      "normalized_name": "grids-parsing-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/controllers/grids.parsing.controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ff777d3cc13e36a9d256e405",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "90da870a7160fda9",
      "framework": "next-react",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "download.service",
      "normalized_name": "download-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/download.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "07b291594dd240bf7d621daf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Rating | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Rating",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4ff29a8880a90d52",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "rating.service",
      "normalized_name": "rating-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/rating.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "2ee447086d67ecf01850129c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1e299e34099ef955",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "xmlDataConversion.service",
      "normalized_name": "xml-data-conversion-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/xmlDataConversion.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,security",
      "component_id": "3562ad5e8ffda6074e86308c",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:XMLFactory | backend-score:55 | security-score:55",
      "exports": "XMLFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6452255685dfb49c",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "xml.service",
      "normalized_name": "xml-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/xml.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "bc318a49926b2803f8d970db",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HeadersFactory | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HeadersFactory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9c2f5d811272ca68",
      "framework": "next-react",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "headers.service",
      "normalized_name": "headers-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/headers.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "13ff544144b4b4ef686bd549",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fa3a0394f4391a52",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "enterpriseForm.service",
      "normalized_name": "enterprise-form-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/enterpriseForm.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "4b873f67ef568f9d680aeb57",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "faef675a2fb12d1c",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "typeAheadFactory.service",
      "normalized_name": "type-ahead-factory-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/typeAheadFactory.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security",
      "component_id": "351609d60611d8c1cadf05ae",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e5edec990fbc1fa",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "filterFactory.service",
      "normalized_name": "filter-factory-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/filterFactory.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7c0c43d789464da707f886a2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2cc1f29cea7b2a66",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "columnSplit.service",
      "normalized_name": "column-split-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/columnSplit.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,security",
      "component_id": "4a0567f7cf57b83766449846",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df97388c4779eead",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "fetchData.service",
      "normalized_name": "fetch-data-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/fetchData.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "df70c5911b1e474a023fcbed",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d67d040389a50769",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "searchFactory.service",
      "normalized_name": "search-factory-service",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/modules/grid/services/searchFactory.service.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "security,automation",
      "component_id": "c77a5af4d40ca960679669bb",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2d721b3d3cdfd01",
      "framework": "next-react",
      "imports": "",
      "lines": 730,
      "logic_relevance": "none",
      "name": "countries",
      "normalized_name": "countries",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/assets/countries.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "548a2151843ce61918ee2637",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8c7a9c0470563367",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "html5",
      "normalized_name": "html5",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/assets/js/html5.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0edc78a7da3f0f9f8d9a8d72",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "758f42fe761be2fa",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "functions",
      "normalized_name": "functions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/assets/js/functions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "52949428c8718ac9ddd4ef17",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a221ad594387370a",
      "framework": "next-react",
      "imports": "",
      "lines": 2099,
      "logic_relevance": "none",
      "name": "jquery.mCustomScrollbar",
      "normalized_name": "jquery-m-custom-scrollbar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/assets/js/jquery.mCustomScrollbar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "336a853b6a54d3d72ff9fe48",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ab, Bb, D, Eb, Fb, G, I, J | imports:+i+ | automation-score:45",
      "exports": "Ab,Bb,D,Eb,Fb,G,I,J,Lb,Lc,Mc,Nc,O,Oc,P,Pc,Q,R,Ub,Vb,Vc,Wb,Xb,Yb,Zb,Zc",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "540bc6dec1dd4b92",
      "framework": "next-react",
      "imports": "+i+",
      "lines": 4,
      "logic_relevance": "none",
      "name": "jquery.1.11.1.min",
      "normalized_name": "jquery-1-11-1-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/app/assets/js/jquery.1.11.1.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "215205cc059a9046c87b1819",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5d5ddde70dafe3f7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "md-data-table.min",
      "normalized_name": "md-data-table-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/js/md-data-table.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "133cb66137071a9ca0b20d22",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:B | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "B",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae14f515c2eb0df4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ui-grid.min",
      "normalized_name": "ui-grid-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/js/ui-grid.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d86e0c73352e48013e030861",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a768d791a8756e0d",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "ui-grid.min",
      "normalized_name": "ui-grid-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/styles/ui-grid.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "393a75118893c197544ba592",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "93fcbcfaa9da58a0",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "md-data-table.min",
      "normalized_name": "md-data-table-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/public/styles/md-data-table.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "8d9e4c13eecefba7fd48e1b0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "664932fe9754a152",
      "framework": "css",
      "imports": "",
      "lines": 2275,
      "logic_relevance": "none",
      "name": "demo",
      "normalized_name": "demo",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/css/demo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "a36b607b30e43e507f7360ee",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e3a0f0237ffcb0a",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "outdatedbrowser.min",
      "normalized_name": "outdatedbrowser-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/css/outdatedbrowser.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "d633ed9bc9b08fed477feb6f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3ff3808ded972a74",
      "framework": "css",
      "imports": "",
      "lines": 295,
      "logic_relevance": "none",
      "name": "flexslider",
      "normalized_name": "flexslider",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/css/flexslider.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "f198c70815c8c402ab7cf225",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8ac9795c000fed6e",
      "framework": "css",
      "imports": "",
      "lines": 3281,
      "logic_relevance": "none",
      "name": "animate",
      "normalized_name": "animate",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/css/animate.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "518ee68bb2210396e5aded03",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f77f3d361b0d6e62",
      "framework": "css",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "ie",
      "normalized_name": "ie",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/css/ie.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "d5889d93a67bd22c2629e947",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b8af39f942dfc8e7",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "outdatedbrowser.min",
      "normalized_name": "outdatedbrowser-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/outdatedbrowser.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3f6d2343e1c63889d297fb40",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8c7a9c0470563367",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "html5",
      "normalized_name": "html5",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/html5.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "11d2c42ef7f03add00bfe1a2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7397ee5c13a2c6f",
      "framework": "unknown",
      "imports": "",
      "lines": 426,
      "logic_relevance": "none",
      "name": "jquery.onepage-scroll",
      "normalized_name": "jquery-onepage-scroll",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.onepage-scroll.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "8fba1bbfcd1278f5c19bd0f7",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ac, D, Fb, G, Gb, Hb, I, Ib | imports:+i+ | automation-score:45",
      "exports": "Ac,D,Fb,G,Gb,Hb,I,Ib,Jb,Jc,K,Kb,P,Sb,Tb,Ub,Vb,Wb,Xb,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8af93bd675e1cfd9",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 4,
      "logic_relevance": "none",
      "name": "jquery-2.1.3.min",
      "normalized_name": "jquery-2-1-3-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery-2.1.3.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "10d229fdb6fae590223eb43f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cda4b38b39e069aa",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "jquery.easing",
      "normalized_name": "jquery-easing",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.easing.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9d32749ee38421301786ed76",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Plugin | observability-score:55 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fede36bdfcba4b63",
      "framework": "unknown",
      "imports": "",
      "lines": 360,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/bootstrap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "7e5a5bbd967f9013790df973",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+m.replace(",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:J, K, S, T, U | imports:+m.replace( | automation-score:45",
      "exports": "J,K,S,T,U",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "88171413fc76dda2",
      "framework": "unknown",
      "imports": "+m.replace(",
      "lines": 4,
      "logic_relevance": "none",
      "name": "jquery.min",
      "normalized_name": "jquery-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d1c10132cf6d6977245ef2d8",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d951e6829873efdb",
      "framework": "unknown",
      "imports": "",
      "lines": 586,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/main.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9e8a6865a53014555a6c2bce",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "af44c83f737c501b",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "jquery.flexslider-min",
      "normalized_name": "jquery-flexslider-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.flexslider-min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3643cb468e5a8e09662eb6ca",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0393759daf5339be",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/contact.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "c7f285fea282c6f2ee72daa8",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ab, Bb, D, Eb, Fb, G, I, J | imports:+i+ | automation-score:45",
      "exports": "Ab,Bb,D,Eb,Fb,G,I,J,Lb,Lc,Mc,Nc,O,Oc,P,Pc,Q,R,Ub,Vb,Vc,Wb,Xb,Yb,Zb,Zc",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "540bc6dec1dd4b92",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 4,
      "logic_relevance": "none",
      "name": "jquery.1.11.1.min",
      "normalized_name": "jquery-1-11-1-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.1.11.1.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "435b038c4b5d7855b362cdf9",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:F | observability-score:55 | security-score:55",
      "exports": "F",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a66c8dfdd2061cb3",
      "framework": "unknown",
      "imports": "",
      "lines": 837,
      "logic_relevance": "none",
      "name": "jquery.panelSnap",
      "normalized_name": "jquery-panel-snap",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.panelSnap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "b14066ebffffb542ab297c5d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "jquery",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:jquery | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "07f0e6953325112d",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 200,
      "logic_relevance": "none",
      "name": "jquery.placeholder",
      "normalized_name": "jquery-placeholder",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.placeholder.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ai",
      "component_id": "1bdbe21a845a2f463228f928",
      "component_kind": "ai-integration",
      "confidence": 50,
      "dependency_roots": "",
      "description": "AI component for analytics; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2fb896d59ab96b49",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.inview.min",
      "normalized_name": "jquery-inview-min",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/about/js/jquery.inview.min.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "c85f7c3c89d527bd51dc34ac",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "181311bfa3e70c17",
      "framework": "css",
      "imports": "",
      "lines": 3700,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/browser/css/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "259f8e8f9ae04b1d06403d56",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b67e1ad605d0a3f2",
      "framework": "css",
      "imports": "",
      "lines": 6566,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/browser/css/bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "ad9bcb589ad9499e64ce0df1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7093b177cb6dde28",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "IE8",
      "normalized_name": "ie8",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/static/browser/css/IE8.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "2c19609a7b8177e986b81853",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54af1175bdb3dbc1",
      "framework": "unknown",
      "imports": "express",
      "lines": 9,
      "logic_relevance": "none",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/routes/about.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c539860707432e7fc367a440",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f048d7cf6a7a829",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "legal",
      "normalized_name": "legal",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/routes/legal.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "52a1577f3c5ae8d645ef311d",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "650335463f9686f4",
      "framework": "unknown",
      "imports": "express",
      "lines": 9,
      "logic_relevance": "none",
      "name": "users",
      "normalized_name": "users",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/routes/users.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f3ecb216fe2324c04d801738",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96342897b14ba696",
      "framework": "unknown",
      "imports": "express",
      "lines": 10,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/routes/index.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "73c333efa8c682bb8026baa6",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0301d7506b587a42",
      "framework": "unknown",
      "imports": "express",
      "lines": 9,
      "logic_relevance": "none",
      "name": "browser",
      "normalized_name": "browser",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/routes/browser.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c62fb885aa383d9e5e6ee872",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "angular,angular-bootstrap,angular-cookies,angular-material,angular-resource,angular-sanitize,angular-ui-router,jquery,ng-file-upload",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./components/feature-request, ./components/grid-job-cell, ./components/input-field, ./components/job-box, ./components/navigation-user-menu, ./components/selectbox, ./components/spinner, ./controllers/admin | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c2acb2d36f4f622f",
      "framework": "unknown",
      "imports": "./components/feature-request,./components/grid-job-cell,./components/input-field,./components/job-box,./components/navigation-user-menu,./components/selectbox,./components/spinner,./controllers/admin,./controllers/app-controller,./controllers/apps-block,./controllers/apps-product,./controllers/apps-stack,./controllers/apps-store,./controllers/asset-list-content,./controllers/config,./controllers/dashboard,./controllers/dashboard-left-sidebar,./controllers/dashboard-toolbar,./controllers/forgot-password,./controllers/integration,./controllers/job-details,./controllers/job-details-header,./controllers/job-list-content,./controllers/job-list-header,./controllers/login-header,./controllers/main-header,./controllers/myapps,./controllers/recover-password,./controllers/signup,./factories/menu-factory,./filters/cut-text,./filters/to-array,./interceptors/auth-interceptor,./templates/admin,./templates/apps-store,./templates/assets,./templates/assets-list-content,./templates/config,./templates/dashboard,./templates/dashboard-left-sidebar,./templates/dashboard-toolbar,./templates/forgot-password,./templates/integration,./templates/job-details,./templates/job-details-header,./templates/jobs,./templates/jobs-list-content,./templates/jobs-list-header,./templates/login-header,./templates/main-header,./templates/myapps,./templates/recover-password,./templates/signup,./vendor/ui-grid.min,angular,angular-bootstrap,angular-cookies,angular-material,angular-resource,angular-sanitize,angular-ui-router,jquery,ng-file-upload",
      "lines": 400,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "dc44112da7dcd112ddc588c9",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "867fca278dc8ba2b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "to-array",
      "normalized_name": "to-array",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/filters/to-array.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b9e179426137aef42c91221d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "45e4bba5da32cce9",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "auth-interceptor",
      "normalized_name": "auth-interceptor",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/interceptors/auth-interceptor.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0d9735d74d2e6f94f70b71fe",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../configs/api-config, ../utils/api-headers, ../utils/api-request | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e9724f515b111d71",
      "framework": "unknown",
      "imports": "../configs/api-config,../utils/api-headers,../utils/api-request",
      "lines": 142,
      "logic_relevance": "none",
      "name": "auth-api",
      "normalized_name": "auth-api",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/apis/auth-api.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "602ff73af1c19fc3f98ee164",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../configs/api-config, ../stores/auth-store, ../utils/api-headers, ../utils/api-request | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "01a6e677abf5a61d",
      "framework": "unknown",
      "imports": "../configs/api-config,../stores/auth-store,../utils/api-headers,../utils/api-request",
      "lines": 325,
      "logic_relevance": "none",
      "name": "config-api",
      "normalized_name": "config-api",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/apis/config-api.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e77a5192f84849052f325128",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../configs/api-config, ../utils/api-headers, ../utils/api-request | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "641503dc7ab06bf2",
      "framework": "unknown",
      "imports": "../configs/api-config,../utils/api-headers,../utils/api-request",
      "lines": 18,
      "logic_relevance": "none",
      "name": "stream-api",
      "normalized_name": "stream-api",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/apis/stream-api.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b9fcedba272a28fbc7c4fa1c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "lodash",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:lodash | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5e08fe0ae873173b",
      "framework": "unknown",
      "imports": "lodash",
      "lines": 21,
      "logic_relevance": "none",
      "name": "auth-constants",
      "normalized_name": "auth-constants",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/constants/auth-constants.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "02f27bd4ad4ef4f94adb109f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2508ddc5400fd63",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "config-constants",
      "normalized_name": "config-constants",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/constants/config-constants.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "6b8c429969f722c7775f36ea",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ecdefe9b81f57bea",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "job-constants",
      "normalized_name": "job-constants",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/constants/job-constants.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "7c8e0716cec5c31d34b527cb",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "jquery,lodash",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../constants/alert-constants, ../dispatcher/app-dispatcher, ./store, jquery, lodash | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "82c904ad84c368f5",
      "framework": "unknown",
      "imports": "../constants/alert-constants,../dispatcher/app-dispatcher,./store,jquery,lodash",
      "lines": 199,
      "logic_relevance": "primary",
      "name": "alert-store",
      "normalized_name": "alert-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/alert-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,security,automation",
      "component_id": "f2b451551e94cd3cfab2b646",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "lodash",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../actions/app-actions, ../apis/config-api, ../configs/api-config, ../constants/job-constants, ../dispatcher/app-dispatcher, ./store, lodash | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "acdb0937fe01c2da",
      "framework": "unknown",
      "imports": "../actions/app-actions,../apis/config-api,../configs/api-config,../constants/job-constants,../dispatcher/app-dispatcher,./store,lodash",
      "lines": 252,
      "logic_relevance": "primary",
      "name": "job-store",
      "normalized_name": "job-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/job-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "279c612b961f26bb046dda09",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "lodash",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../apis/auth-api, ../configs/api-config, ../constants/auth-constants, ../dispatcher/app-dispatcher, ./store, lodash | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ca4457a67b3aa5c",
      "framework": "unknown",
      "imports": "../apis/auth-api,../configs/api-config,../constants/auth-constants,../dispatcher/app-dispatcher,./store,lodash",
      "lines": 219,
      "logic_relevance": "primary",
      "name": "auth-store",
      "normalized_name": "auth-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/auth-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "faf800c6b5014130298c3ff1",
      "component_kind": "state-store",
      "confidence": 65,
      "dependency_roots": "events,lodash",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:events, lodash | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1d85d09a17d7b283",
      "framework": "unknown",
      "imports": "events,lodash",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,security",
      "component_id": "a75af4812f5278630964c7d1",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "lodash",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../actions/app-actions, ../apis/config-api, ../configs/api-config, ../constants/asset-constants, ../dispatcher/app-dispatcher, ./store, lodash | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a56038917e1a1b0b",
      "framework": "unknown",
      "imports": "../actions/app-actions,../apis/config-api,../configs/api-config,../constants/asset-constants,../dispatcher/app-dispatcher,./store,lodash",
      "lines": 249,
      "logic_relevance": "primary",
      "name": "asset-store",
      "normalized_name": "asset-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/asset-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "b68563bd97fbc444287d6028",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "lodash",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../actions/app-actions, ../apis/config-api, ../configs/api-config, ../constants/config-constants, ../dispatcher/app-dispatcher, ./store, lodash | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a3f6a06bcc5e38e4",
      "framework": "unknown",
      "imports": "../actions/app-actions,../apis/config-api,../configs/api-config,../constants/config-constants,../dispatcher/app-dispatcher,./store,lodash",
      "lines": 831,
      "logic_relevance": "primary",
      "name": "config-store",
      "normalized_name": "config-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/config-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c5e1fc39e0db46785837869b",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ModalInstanceCtrl | imports:../actions/auth-actions, ../constants/app-constants, ../dispatcher/app-dispatcher, ../templates/vote-for-feature, ./store, lodash | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "ModalInstanceCtrl",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0f7007018b3acdf9",
      "framework": "unknown",
      "imports": "../actions/auth-actions,../constants/app-constants,../dispatcher/app-dispatcher,../templates/vote-for-feature,./store,lodash",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "app-store",
      "normalized_name": "app-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/stores/app-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "5e95a98b10d66601047870cc",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiRequest | imports:../actions/auth-actions, lodash | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "apiRequest",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "68ae0f808aa1f128",
      "framework": "unknown",
      "imports": "../actions/auth-actions,lodash",
      "lines": 56,
      "logic_relevance": "primary",
      "name": "api-request",
      "normalized_name": "api-request",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/utils/api-request.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "57737e7665fccc5e95773b13",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../configs/api-config | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efdff91bc57110e0",
      "framework": "unknown",
      "imports": "../configs/api-config",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "api-headers",
      "normalized_name": "api-headers",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/utils/api-headers.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability",
      "component_id": "b3cd056182174ac55df6d43e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lodash",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:lodash | ui-score:70 | observability-score:55",
      "exports": "Spinner",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d381e80dfd23ffde",
      "framework": "unknown",
      "imports": "lodash",
      "lines": 53,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/spinner.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bd030699c2862c152bb9735e",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "lodash",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../actions/alert-actions, ../actions/auth-actions, ../stores/auth-store, lodash | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "66ed5ed5e7624cc5",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/auth-actions,../stores/auth-store,lodash",
      "lines": 96,
      "logic_relevance": "none",
      "name": "navigation-user-menu",
      "normalized_name": "navigation-user-menu",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/navigation-user-menu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "907897253c6ff2928f4b18ab",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "jquery,lodash",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GridJobCell | imports:../stores/job-store, jquery, lodash | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "GridJobCell",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "74d0df11f67db0a5",
      "framework": "unknown",
      "imports": "../stores/job-store,jquery,lodash",
      "lines": 83,
      "logic_relevance": "none",
      "name": "grid-job-cell",
      "normalized_name": "grid-job-cell",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/grid-job-cell.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a15bb236f3118dac04cea5c2",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "lodash",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:JobBox | imports:lodash | observability-score:55 | automation-score:50",
      "exports": "JobBox",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "893f17ef4215efd7",
      "framework": "unknown",
      "imports": "lodash",
      "lines": 69,
      "logic_relevance": "none",
      "name": "job-box",
      "normalized_name": "job-box",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/job-box.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "ac608b6c034274b76d49964e",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "jquery,lodash",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Selectbox | imports:jquery, lodash | observability-score:55 | ai-score:45",
      "exports": "Selectbox",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3a13a1ab4cb55eae",
      "framework": "unknown",
      "imports": "jquery,lodash",
      "lines": 187,
      "logic_relevance": "none",
      "name": "selectbox",
      "normalized_name": "selectbox",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/selectbox.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dd5cbc6b23c7f5142f06e033",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../actions/alert-actions, ../actions/app-actions, ../actions/auth-actions | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9337e3dc9f347870",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/app-actions,../actions/auth-actions",
      "lines": 39,
      "logic_relevance": "none",
      "name": "feature-request",
      "normalized_name": "feature-request",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/feature-request.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ai",
      "component_id": "4cac60efa5a7302d2dddaf0a",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "AI component for analytics; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:InputField | imports:lodash | ai-score:45",
      "exports": "InputField",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c064463e38649ae5",
      "framework": "unknown",
      "imports": "lodash",
      "lines": 68,
      "logic_relevance": "none",
      "name": "input-field",
      "normalized_name": "input-field",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/components/input-field.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "62f0738aff547d67234c9c7e",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MenuService | observability-score:55",
      "exports": "MenuService",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fcbf107091683b62",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "menu-factory",
      "normalized_name": "menu-factory",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/factories/menu-factory.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9c279641c1fe864d244270db",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "038278200bb231e8",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "api-config",
      "normalized_name": "api-config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/configs/api-config.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "79ae0aea6d5111322cd68a37",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../apis/auth-api, ../constants/auth-constants, ../dispatcher/app-dispatcher | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d5235b4b4d7b4d4b",
      "framework": "unknown",
      "imports": "../apis/auth-api,../constants/auth-constants,../dispatcher/app-dispatcher",
      "lines": 66,
      "logic_relevance": "none",
      "name": "auth-actions",
      "normalized_name": "auth-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/actions/auth-actions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "cbb44fbc50c43018ebd360fb",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../constants/job-constants, ../dispatcher/app-dispatcher | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "47439036dc0a41f1",
      "framework": "unknown",
      "imports": "../constants/job-constants,../dispatcher/app-dispatcher",
      "lines": 60,
      "logic_relevance": "none",
      "name": "job-actions",
      "normalized_name": "job-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/actions/job-actions.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "8fb97da589b20d119a5b2895",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../constants/config-constants, ../dispatcher/app-dispatcher | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "681be4bf78f39bef",
      "framework": "unknown",
      "imports": "../constants/config-constants,../dispatcher/app-dispatcher",
      "lines": 128,
      "logic_relevance": "none",
      "name": "config-actions",
      "normalized_name": "config-actions",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/actions/config-actions.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "b657064798ec73c5720527f9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf5962c7bd8f3fe5",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "grid-header-cell",
      "normalized_name": "grid-header-cell",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/grid-header-cell.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "adad8221a4e87d86b7cc9963",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8b794b3daffa270f",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "assets-list-content",
      "normalized_name": "assets-list-content",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/assets-list-content.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1a93b9a6d45c081a51626efa",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d0c2e55ea672d3c4",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "dashboard-left-sidebar",
      "normalized_name": "dashboard-left-sidebar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/dashboard-left-sidebar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security,ai",
      "component_id": "99526b577225c277965a4898",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3996796f154e4ab0",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "forgot-password",
      "normalized_name": "forgot-password",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/forgot-password.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic",
      "component_id": "86f328fad93084971b194a6b",
      "component_kind": "state-store",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7c0209c2dc93a46a",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "apps-store",
      "normalized_name": "apps-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/apps-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a59bff6ad5e8869e3101551e",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2432f05951f6a2f8",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "job-details-header",
      "normalized_name": "job-details-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/job-details-header.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "49c2cc9b3c7a5173bc22d67a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "91a248f701af5476",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "job-details",
      "normalized_name": "job-details",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/job-details.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "0df7678fbb7fe0c73ed52e19",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c185161a5bc88872",
      "framework": "unknown",
      "imports": "",
      "lines": 280,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "2dab6b9e5745ca6f2fc6c781",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7511d3a3d2f28228",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "vote-for-feature",
      "normalized_name": "vote-for-feature",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/vote-for-feature.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c4efbab6f95cb9320869a49d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9bc925fe4f472d8c",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "main-header",
      "normalized_name": "main-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/main-header.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "577929bec251e0090b73e6dd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "40a093c7a2af3fd2",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "aws-key-dialog",
      "normalized_name": "aws-key-dialog",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/aws-key-dialog.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation,ai",
      "component_id": "cd8721809ceadf65fdb75ecf",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "80cbc13eb4950c09",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/signup.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "03c6db2bb0995bbf5bd4e58b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "845a15b5eee7733e",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "grid.-material",
      "normalized_name": "grid-material",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/grid.-material.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security,ai",
      "component_id": "2cbe7c6d5c69e00814d1372f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72ef7a91b95565dc",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "recover-password",
      "normalized_name": "recover-password",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/recover-password.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "402c90d45807c987fcc69892",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "41888758d70692e6",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "dashboard-toolbar",
      "normalized_name": "dashboard-toolbar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/dashboard-toolbar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "be2d70f9ef96062456098b89",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ec920f090791214d",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "jobs-list-content",
      "normalized_name": "jobs-list-content",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/jobs-list-content.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "c58e790da687d5473e83070f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "240f55bcb351b91f",
      "framework": "unknown",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/admin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation,ai",
      "component_id": "5d878aafdeb07f6fff463190",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "515c9f80ec3515ad",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/jobs.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "02a2e7d5079aff3066647f1b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d65ba5fbbe839e1f",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "integration",
      "normalized_name": "integration",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/integration.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e32e0a6e2e9d09ef17e043bc",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e84ea2578d8e57bc",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "myapps",
      "normalized_name": "myapps",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/myapps.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security,ai",
      "component_id": "78a07687cc093d1b5b65ade3",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92f640da544de330",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "assets",
      "normalized_name": "assets",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/assets.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "1af102fc18d996a95fd31524",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "04a75adedf4bc8fc",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "login-header",
      "normalized_name": "login-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/login-header.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation,ai",
      "component_id": "78c97fd50e13f1c30976d28d",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6665866517ec88c3",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "jobs-list-header",
      "normalized_name": "jobs-list-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/templates/jobs-list-header.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "c16703aaea1ceffe891d8152",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DashboardLeftSidebarController | backend-score:55",
      "exports": "DashboardLeftSidebarController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f827a5ee9e97b8aa",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "dashboard-left-sidebar",
      "normalized_name": "dashboard-left-sidebar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/dashboard-left-sidebar.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "c53266ebd37dd73010a51df1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LoginHeaderController | imports:../actions/alert-actions, ../actions/auth-actions, ../stores/alert-store, ../stores/auth-store, lodash | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LoginHeaderController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a51584f554128618",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/auth-actions,../stores/alert-store,../stores/auth-store,lodash",
      "lines": 64,
      "logic_relevance": "none",
      "name": "forgot-password",
      "normalized_name": "forgot-password",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/forgot-password.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,backend",
      "component_id": "5845eaadcee8ceebd209f0b7",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AppStoreController | imports:../actions/app-actions, ../actions/config-actions, ../stores/config-store, lodash | logic-score:60 | backend-score:55",
      "exports": "AppStoreController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "331139d47ef18e0d",
      "framework": "unknown",
      "imports": "../actions/app-actions,../actions/config-actions,../stores/config-store,lodash",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "apps-store",
      "normalized_name": "apps-store",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/apps-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,observability,automation",
      "component_id": "e9ca52e5f6de45edd8b6eb0f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JobDetailsHeaderController | imports:../actions/job-actions, ../stores/job-store, lodash | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "JobDetailsHeaderController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11d8c1bc1132bdbc",
      "framework": "unknown",
      "imports": "../actions/job-actions,../stores/job-store,lodash",
      "lines": 71,
      "logic_relevance": "none",
      "name": "job-details-header",
      "normalized_name": "job-details-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/job-details-header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "3212233d9801f8e47b8a1b7e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JobDetailsController | imports:../actions/job-actions, ../stores/job-store, lodash | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobDetailsController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e254e875b0a9294f",
      "framework": "unknown",
      "imports": "../actions/job-actions,../stores/job-store,lodash",
      "lines": 91,
      "logic_relevance": "none",
      "name": "job-details",
      "normalized_name": "job-details",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/job-details.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7f38cdbcc09b231f9311af86",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "jquery,lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DashboardConfigController | imports:../actions/alert-actions, ../actions/config-actions, ../controllers/aws-key-dialog, ../stores/auth-store, ../stores/config-store, ../templates/aws-key-dialog, jquery, lodash | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardConfigController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "35bdbe8aa592bad9",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/config-actions,../controllers/aws-key-dialog,../stores/auth-store,../stores/config-store,../templates/aws-key-dialog,jquery,lodash",
      "lines": 293,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/config.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1c2840e6f02b395b750789e6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "jquery,lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MainHeaderController | imports:../actions/app-actions, ../actions/config-actions, ../apis/config-api, ../stores/app-store, ../stores/auth-store, jquery, lodash | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MainHeaderController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "878b2fddb812f72a",
      "framework": "unknown",
      "imports": "../actions/app-actions,../actions/config-actions,../apis/config-api,../stores/app-store,../stores/auth-store,jquery,lodash",
      "lines": 223,
      "logic_relevance": "none",
      "name": "main-header",
      "normalized_name": "main-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/main-header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "a38e0e95041a98172a266198",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AWSKeyModalController | imports:../actions/alert-actions, ../actions/app-actions, ../configs/api-config, lodash | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AWSKeyModalController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "30180bff323ed773",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/app-actions,../configs/api-config,lodash",
      "lines": 134,
      "logic_relevance": "none",
      "name": "aws-key-dialog",
      "normalized_name": "aws-key-dialog",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/aws-key-dialog.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "04b6b669bb4ee7f60d05dfc1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LoginContentController | imports:../actions/alert-actions, ../actions/auth-actions, ../stores/alert-store, ../stores/auth-store, lodash | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LoginContentController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "76a67d8698a22453",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/auth-actions,../stores/alert-store,../stores/auth-store,lodash",
      "lines": 82,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/signup.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "57fc40371d01cec09d62510b",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "lodash",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AppBlockController | imports:../actions/app-actions, ../actions/config-actions, ../stores/config-store, lodash | backend-score:55",
      "exports": "AppBlockController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d70645eeb5cdc240",
      "framework": "unknown",
      "imports": "../actions/app-actions,../actions/config-actions,../stores/config-store,lodash",
      "lines": 49,
      "logic_relevance": "none",
      "name": "apps-block",
      "normalized_name": "apps-block",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/apps-block.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "4998d7d02668e8352244d710",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:RecoverPasswordController | imports:../actions/alert-actions, ../actions/auth-actions, ../stores/alert-store, ../stores/auth-store, lodash | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RecoverPasswordController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a820d1c4ead8e20",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/auth-actions,../stores/alert-store,../stores/auth-store,lodash",
      "lines": 88,
      "logic_relevance": "none",
      "name": "recover-password",
      "normalized_name": "recover-password",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/recover-password.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,security,automation",
      "component_id": "da066ad7d9d8f8687fd4f38f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "jquery,lodash",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JobListHeaderController | imports:../actions/job-actions, ../stores/job-store, jquery, lodash | backend-score:55 | security-score:55 | automation-score:50",
      "exports": "JobListHeaderController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b8b2062e9e4972e",
      "framework": "unknown",
      "imports": "../actions/job-actions,../stores/job-store,jquery,lodash",
      "lines": 36,
      "logic_relevance": "none",
      "name": "job-list-header",
      "normalized_name": "job-list-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/job-list-header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "13adf953417ad9215aaa4e3d",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "jquery,lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AssetListContentController | imports:../actions/asset-actions, ../stores/asset-store, jquery, lodash | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AssetListContentController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9e098d1b2cb2801c",
      "framework": "unknown",
      "imports": "../actions/asset-actions,../stores/asset-store,jquery,lodash",
      "lines": 218,
      "logic_relevance": "none",
      "name": "asset-list-content",
      "normalized_name": "asset-list-content",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/asset-list-content.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8a27db9f546f3a222d1a99f7",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AppController | imports:../actions/auth-actions, ../stores/auth-store | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AppController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f5dc64750174061a",
      "framework": "unknown",
      "imports": "../actions/auth-actions,../stores/auth-store",
      "lines": 45,
      "logic_relevance": "none",
      "name": "app-controller",
      "normalized_name": "app-controller",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/app-controller.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "c26748b27d7a932aa7fc4889",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DashboardToolbarController | imports:../actions/config-actions, ../stores/config-store, lodash | backend-score:55 | security-score:55",
      "exports": "DashboardToolbarController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e525db566f0e33a",
      "framework": "unknown",
      "imports": "../actions/config-actions,../stores/config-store,lodash",
      "lines": 13,
      "logic_relevance": "none",
      "name": "dashboard-toolbar",
      "normalized_name": "dashboard-toolbar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/dashboard-toolbar.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "feb575163ccd05ae30c9065e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "lodash",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AppProductController | imports:../actions/app-actions, ../actions/config-actions, ../stores/config-store, lodash | backend-score:55",
      "exports": "AppProductController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07b5e4ffbd84696b",
      "framework": "unknown",
      "imports": "../actions/app-actions,../actions/config-actions,../stores/config-store,lodash",
      "lines": 49,
      "logic_relevance": "none",
      "name": "apps-product",
      "normalized_name": "apps-product",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/apps-product.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1cb35905af9073ff4dbd16c5",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AdminController | imports:../actions/alert-actions, ../actions/app-actions, ../actions/auth-actions, ../apis/config-api, ../stores/auth-store, lodash | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9048ef67de454d9e",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/app-actions,../actions/auth-actions,../apis/config-api,../stores/auth-store,lodash",
      "lines": 219,
      "logic_relevance": "none",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/admin.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b923c1c90277de0076f3e2ed",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DashboardController | imports:../actions/alert-actions, ../actions/auth-actions, ../stores/auth-store, lodash | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e53d5bcb9044b17e",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/auth-actions,../stores/auth-store,lodash",
      "lines": 68,
      "logic_relevance": "none",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/dashboard.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "20a9cc18dfe24aae78a4f488",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash,moment",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:IntegrationController | imports:../apis/config-api, lodash, moment | backend-score:55 | observability-score:55",
      "exports": "IntegrationController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73a9e633722a6cfc",
      "framework": "unknown",
      "imports": "../apis/config-api,lodash,moment",
      "lines": 117,
      "logic_relevance": "none",
      "name": "integration",
      "normalized_name": "integration",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/integration.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "38cc6ea04f1255993d7ca769",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "jquery,lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JobListContentController | imports:../actions/job-actions, ../stores/job-store, jquery, lodash | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobListContentController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8f4fc1cfe5f7bfe2",
      "framework": "unknown",
      "imports": "../actions/job-actions,../stores/job-store,jquery,lodash",
      "lines": 240,
      "logic_relevance": "none",
      "name": "job-list-content",
      "normalized_name": "job-list-content",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/job-list-content.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "0a89797701934c2a0a876715",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "lodash,moment",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MyAppsController | imports:../actions/app-actions, ../actions/config-actions, ../stores/config-store, lodash, moment | backend-score:55",
      "exports": "MyAppsController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b762cd41e0a271f9",
      "framework": "unknown",
      "imports": "../actions/app-actions,../actions/config-actions,../stores/config-store,lodash,moment",
      "lines": 54,
      "logic_relevance": "none",
      "name": "myapps",
      "normalized_name": "myapps",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/myapps.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "e669084e9b230fd4fdbd8062",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "lodash",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AppStackController | imports:../actions/app-actions, ../actions/config-actions, ../stores/config-store, lodash | backend-score:55",
      "exports": "AppStackController",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4063b571f41aafab",
      "framework": "unknown",
      "imports": "../actions/app-actions,../actions/config-actions,../stores/config-store,lodash",
      "lines": 49,
      "logic_relevance": "none",
      "name": "apps-stack",
      "normalized_name": "apps-stack",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/apps-stack.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "033ee3f0b33fced1973d4038",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "lodash",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LoginHeaderController | imports:../actions/alert-actions, ../actions/auth-actions, ../stores/alert-store, ../stores/auth-store, lodash | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LoginHeaderController",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bef82d31da9d245c",
      "framework": "unknown",
      "imports": "../actions/alert-actions,../actions/auth-actions,../stores/alert-store,../stores/auth-store,lodash",
      "lines": 61,
      "logic_relevance": "none",
      "name": "login-header",
      "normalized_name": "login-header",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/js/controllers/login-header.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "97fc749b2c4517b5bf401884",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "057e774385d29bae",
      "framework": "css",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "fonts",
      "normalized_name": "fonts",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/fonts.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "059d70fa2930a4044da2e97d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2fc08e1534c5e317",
      "framework": "css",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "reset",
      "normalized_name": "reset",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/reset.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "77b6f709d5ffbd32eface89f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b5e2404ebca8b64c",
      "framework": "css",
      "imports": "",
      "lines": 4729,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/styles.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "e7fb7e008833d3ff06ddc574",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9d2482a4ef26156a",
      "framework": "css",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/main.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "33452a65a231be320e404656",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2848a3a86daec55a",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "cf8b52cb45aab8cb5e071ca6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8d6a9352a3bef99f",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "dashboard-left-sidebar",
      "normalized_name": "dashboard-left-sidebar",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/dashboard-left-sidebar.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "5eb585f223bd887a9a857bcf",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e027b2a391dfe853",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "navigation-user-menu",
      "normalized_name": "navigation-user-menu",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/navigation-user-menu.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6aa5533d28c3d147946dc3c9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "857974d00538a535",
      "framework": "css",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "md-input-container",
      "normalized_name": "md-input-container",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/md-input-container.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "06271a32f5866969da018309",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "22dee5d202e0cd40",
      "framework": "css",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "notification",
      "normalized_name": "notification",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/notification.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,security",
      "component_id": "e0dccdf4e99f696bde538bea",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a49246b7f409a7c6",
      "framework": "css",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/spinner.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "4d2032b03eb101297a116a26",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2fac94483e4e7476",
      "framework": "css",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "job-box",
      "normalized_name": "job-box",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/job-box.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "88932367432b51b49d2be141",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "740bfd878cf58641",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/alerts.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "eae8fd4e403af917ed5d3908",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6da223c1b2702023",
      "framework": "css",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "aws-key-dialog",
      "normalized_name": "aws-key-dialog",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/aws-key-dialog.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "1dc50cc707cb7f257ff9866b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c30448cd4bace989",
      "framework": "css",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "feature-request",
      "normalized_name": "feature-request",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/feature-request.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "a85a9ded1be9512fe8bb47db",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d66bce04d9ef83b2",
      "framework": "css",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "main-navigation",
      "normalized_name": "main-navigation",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/components/main-navigation.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ac3ffd31a353198182ad821b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c798d06fcc5b0b45",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "forgot-password",
      "normalized_name": "forgot-password",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/forgot-password.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "05ecea83ddaeabb19729dbae",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7195869d000510fc",
      "framework": "css",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/jobs.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "fac3c283b737bba7dafd5047",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "287b708305c25678",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/dashboard.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "c1c67526e1b49b6e803d8af5",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "12d9cab901beae0e",
      "framework": "css",
      "imports": "",
      "lines": 196,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/login.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "7b2a20e0185db05b5ec6c21f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f0511339fcc12b58",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "recover-password",
      "normalized_name": "recover-password",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/recover-password.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "8a6a456405f3b5b1a0fd479e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c6a304000437936d",
      "framework": "css",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/config.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "5fcaf8604290a7c49ec4cc3a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0df4eb7937240041",
      "framework": "css",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "md-table-list",
      "normalized_name": "md-table-list",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/md-table-list.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "ac265dc31c53f48109cfa58f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4ecf85b700540f20",
      "framework": "css",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "job-details",
      "normalized_name": "job-details",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/styles/pages/job-details.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "security,automation",
      "component_id": "36b27386193fab06c9429527",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2d721b3d3cdfd01",
      "framework": "unknown",
      "imports": "",
      "lines": 730,
      "logic_relevance": "none",
      "name": "countries",
      "normalized_name": "countries",
      "package_manager": "unknown",
      "path": "SORT/OpsClick_UI/src/json/countries.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "2d0dd559acd5befea1a91059",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4bb04e0a6bde8af6",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "259265a77c55460bbc42cf49",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1adbffd637c58799",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "tutorial",
      "normalized_name": "tutorial",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/tutorial.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "7ddf64028c6bda4df3116fe6",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "39be0c1023110f85",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "azure",
      "normalized_name": "azure",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/vars/azure.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "6678337e11cf9dac2b2192db",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5e6f3e6de9fff81",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "hosted_service",
      "normalized_name": "hosted-service",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/tests/hosted_service.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "e0ded82e6041a7975d691945",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "1d46286367cc618a",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "storage_account",
      "normalized_name": "storage-account",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/tests/storage_account.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "b81195e170581924548ca4dc",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "b898045b88e8891f",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "affinity_group",
      "normalized_name": "affinity-group",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/tests/affinity_group.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,security,automation",
      "component_id": "7e03c6c8ce7f78e2ab2e096a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "types",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:delchars, dumpObj, nukenewlines, prettyPrint, prettyPrintCols, printDict | imports:types | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "delchars,dumpObj,nukenewlines,prettyPrint,prettyPrintCols,printDict",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4d24ba7fe47ee29e",
      "framework": "python",
      "imports": "types",
      "lines": 220,
      "logic_relevance": "primary",
      "name": "dumpObj",
      "normalized_name": "dump-obj",
      "package_manager": "unknown",
      "path": "SORT/ansible-azure/lib/dumpObj.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0a7dc14679de7bec6ea53103",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,getpass,impacket,impacket.examples,impacket.examples.smbclient,impacket.smbconnection,logging,re,sys,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:main | imports:__future__, argparse, getpass, impacket, impacket.examples, impacket.examples.smbclient, impacket.smbconnection, logging | observability-score:55 | security-score:55",
      "exports": "main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5f8bc6abf5126628",
      "framework": "python",
      "imports": "__future__,argparse,getpass,impacket,impacket.examples,impacket.examples.smbclient,impacket.smbconnection,logging,re,sys,traceback",
      "lines": 126,
      "logic_relevance": "none",
      "name": "smbclient",
      "normalized_name": "smbclient",
      "package_manager": "unknown",
      "path": "python/smbclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ffaa387187273d453343405b",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "274c77431d6e2035",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "upgrade_pipsv2",
      "normalized_name": "upgrade-pipsv2",
      "package_manager": "unknown",
      "path": "python/upgrade_pipsv2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "7afff620bf8c68bd2a6f1a4f",
      "component_kind": "specification",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ba23bbf29f914b84",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "python/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "5768a38c0f3f96d7224982f1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,cmd,getpass,impacket,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.examples,logging,os,re,sys,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:WMIQUERY | imports:__future__, argparse, cmd, getpass, impacket, impacket.dcerpc.v5.dcom, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "WMIQUERY",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "45cf0aa02c49f0c2",
      "framework": "python",
      "imports": "__future__,argparse,cmd,getpass,impacket,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.examples,logging,os,re,sys,traceback",
      "lines": 218,
      "logic_relevance": "none",
      "name": "wmiquery",
      "normalized_name": "wmiquery",
      "package_manager": "unknown",
      "path": "python/wmiquery.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "c187d4ae8e89424af982da0a",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | security-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "59e3c44641cb198c",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "python/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "396cf7e3541bd22755a6de1d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "argparse,getpass,impacket,impacket.dcerpc.v5,impacket.examples,impacket.nt_errors,impacket.smb,impacket.smb3structs,impacket.smbconnection,logging,os,re,sys,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PIPEDREAM | imports:argparse, getpass, impacket, impacket.dcerpc.v5, impacket.examples, impacket.nt_errors, impacket.smb, impacket.smb3structs | observability-score:55 | security-score:55",
      "exports": "PIPEDREAM",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "737653811cbee5f9",
      "framework": "python",
      "imports": "argparse,getpass,impacket,impacket.dcerpc.v5,impacket.examples,impacket.nt_errors,impacket.smb,impacket.smb3structs,impacket.smbconnection,logging,os,re,sys,traceback",
      "lines": 292,
      "logic_relevance": "none",
      "name": "sambaPipe",
      "normalized_name": "samba-pipe",
      "package_manager": "unknown",
      "path": "python/sambaPipe.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "60318737a0342659e92e4b1e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "argparse,getpass,impacket,impacket.examples,impacket.ntlm,logging,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:argparse, getpass, impacket, impacket.examples, impacket.ntlm, logging, sys | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "7c0b9a5c40be9284",
      "framework": "python",
      "imports": "argparse,getpass,impacket,impacket.examples,impacket.ntlm,logging,sys",
      "lines": 102,
      "logic_relevance": "none",
      "name": "smbserver",
      "normalized_name": "smbserver",
      "package_manager": "unknown",
      "path": "python/smbserver.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d753f114a3a3bfa23efcfdc5",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.epm,impacket.dcerpc.v5.rpch,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.transport,impacket.examples,impacket.http,logging,re,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RPCMap | imports:__future__, argparse, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.epm, impacket.dcerpc.v5.rpch, impacket.dcerpc.v5.rpcrt | observability-score:55 | security-score:55",
      "exports": "RPCMap",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "432c39a806016dbf",
      "framework": "python",
      "imports": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.epm,impacket.dcerpc.v5.rpch,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.transport,impacket.examples,impacket.http,logging,re,sys",
      "lines": 393,
      "logic_relevance": "none",
      "name": "rpcmap",
      "normalized_name": "rpcmap",
      "package_manager": "unknown",
      "path": "python/rpcmap.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "8fdd4db4f7f57610b567b056",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,binascii,cmd,datetime,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.lsat,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.nrpc,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.examples,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.crypto,impacket.krb5.kerberosv5,impacket.krb5.pac,impacket.krb5.types,impacket.nt_errors,impacket.ntlm,impacket.smbconnection,impacket.structure,logging,ntpath,os,pyasn1,pyasn1.codec.der,pyasn1.type.univ,random,re,six,socket,string,struct,sys,threading,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PSEXEC, Pipes, RAISECHILD, RemComMessage, RemComResponse, RemoteShell, RemoteStdErrPipe, RemoteStdInPipe | imports:__future__, argparse, binascii, cmd, datetime, getpass, impacket, impacket.dcerpc.v5 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PSEXEC,Pipes,RAISECHILD,RemComMessage,RemComResponse,RemoteShell,RemoteStdErrPipe,RemoteStdInPipe,RemoteStdOutPipe",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7136b9caf445462c",
      "framework": "python",
      "imports": "__future__,argparse,binascii,cmd,datetime,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.lsat,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.nrpc,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.examples,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.crypto,impacket.krb5.kerberosv5,impacket.krb5.pac,impacket.krb5.types,impacket.nt_errors,impacket.ntlm,impacket.smbconnection,impacket.structure,logging,ntpath,os,pyasn1,pyasn1.codec.der,pyasn1.type.univ,random,re,six,socket,string,struct,sys,threading,time",
      "lines": 1306,
      "logic_relevance": "none",
      "name": "raiseChild",
      "normalized_name": "raise-child",
      "package_manager": "unknown",
      "path": "python/raiseChild.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c250dbd0cb7c9c162c201fc3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,binascii,impacket,impacket.examples,ntpath,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:bootKey, enumKey, enumValues, getClass, getValue, main, walk | imports:__future__, argparse, binascii, impacket, impacket.examples, ntpath, sys | observability-score:55 | security-score:55",
      "exports": "bootKey,enumKey,enumValues,getClass,getValue,main,walk",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "538024a478b28c2b",
      "framework": "python",
      "imports": "__future__,argparse,binascii,impacket,impacket.examples,ntpath,sys",
      "lines": 167,
      "logic_relevance": "none",
      "name": "registry-read",
      "normalized_name": "registry-read",
      "package_manager": "unknown",
      "path": "python/registry-read.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f248eb128bb320578cccb4bf",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,argparse,configparser,impacket,impacket.examples,impacket.nt_errors,impacket.smb,impacket.smb3structs,impacket.smbserver,logging,ntpath,os,sys,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:KarmaSMBServer | imports:ConfigParser, __future__, argparse, configparser, impacket, impacket.examples, impacket.nt_errors, impacket.smb | observability-score:55 | security-score:55",
      "exports": "KarmaSMBServer",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26919fe49d49639f",
      "framework": "python",
      "imports": "ConfigParser,__future__,argparse,configparser,impacket,impacket.examples,impacket.nt_errors,impacket.smb,impacket.smb3structs,impacket.smbserver,logging,ntpath,os,sys,threading",
      "lines": 632,
      "logic_relevance": "none",
      "name": "karmaSMB",
      "normalized_name": "karma-smb",
      "package_manager": "unknown",
      "path": "python/karmaSMB.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "f8caf8844a98f6bc5aa78e07",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d7bf8410fe87d1dc",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "python/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "66e243fa953e627cc1ced8f3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,__future__,argparse,cmd,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.transport,impacket.examples,logging,os,pyreadline,re,readline,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MimikatzShell, main | imports:Cryptodome.Cipher, __future__, argparse, cmd, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.rpcrt | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MimikatzShell,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f9695cd540f23d13",
      "framework": "python",
      "imports": "Cryptodome.Cipher,__future__,argparse,cmd,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.transport,impacket.examples,logging,os,pyreadline,re,readline,sys",
      "lines": 255,
      "logic_relevance": "none",
      "name": "mimikatz",
      "normalized_name": "mimikatz",
      "package_manager": "unknown",
      "path": "python/mimikatz.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "debe324a9553eba5ce1ba850",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpch,impacket.examples,impacket.http,logging,re,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RPCDump | imports:__future__, argparse, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.rpch, impacket.examples, impacket.http | observability-score:55 | security-score:55",
      "exports": "RPCDump",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a808bfbcd83ac7d6",
      "framework": "python",
      "imports": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpch,impacket.examples,impacket.http,logging,re,sys",
      "lines": 215,
      "logic_relevance": "none",
      "name": "rpcdump",
      "normalized_name": "rpcdump",
      "package_manager": "unknown",
      "path": "python/rpcdump.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f041461cd9c092220aea6660",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "glob,os,platform,setuptools,subprocess",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:read | imports:glob, os, platform, setuptools, subprocess | observability-score:55 | security-score:55",
      "exports": "read",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "504f43e9ded0df6f",
      "framework": "python",
      "imports": "glob,os,platform,setuptools,subprocess",
      "lines": 71,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "python/setup.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "22212174bf8f7d7a1a1bade0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,codecs,datetime,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.nt_errors,logging,re,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ListUsersException, SAMRDump | imports:__future__, argparse, codecs, datetime, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.rpcrt | observability-score:55 | security-score:55",
      "exports": "ListUsersException,SAMRDump",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "19a9252492c0fbaf",
      "framework": "python",
      "imports": "__future__,argparse,codecs,datetime,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.nt_errors,logging,re,sys",
      "lines": 264,
      "logic_relevance": "none",
      "name": "samrdump",
      "normalized_name": "samrdump",
      "package_manager": "unknown",
      "path": "python/samrdump.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e3c8cb4eb384821c2de1e777",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,codecs,getpass,impacket,impacket.dcerpc.v5,impacket.examples,impacket.smbconnection,impacket.structure,impacket.system_errors,logging,re,struct,sys,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RegHandler, RemoteOperations | imports:__future__, argparse, codecs, getpass, impacket, impacket.dcerpc.v5, impacket.examples, impacket.smbconnection | observability-score:55 | security-score:55",
      "exports": "RegHandler,RemoteOperations",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0c139a5b9a561001",
      "framework": "python",
      "imports": "__future__,argparse,codecs,getpass,impacket,impacket.dcerpc.v5,impacket.examples,impacket.smbconnection,impacket.structure,impacket.system_errors,logging,re,struct,sys,time",
      "lines": 434,
      "logic_relevance": "none",
      "name": "reg",
      "normalized_name": "reg",
      "package_manager": "unknown",
      "path": "python/reg.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "6888a32047a4051b761de294",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,codecs,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.examples,logging,re,sys,traceback",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:LSALookupSid | imports:__future__, argparse, codecs, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.rpcrt | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "LSALookupSid",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "43c8d893745dcdc1",
      "framework": "python",
      "imports": "__future__,argparse,codecs,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.examples,logging,re,sys,traceback",
      "lines": 199,
      "logic_relevance": "none",
      "name": "lookupsid",
      "normalized_name": "lookupsid",
      "package_manager": "unknown",
      "path": "python/lookupsid.py",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "da2c227eaeb376cc26848c5b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Hash,__future__,argparse,binascii,calendar,cmd,datetime,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.drsuapi,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.lsat,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.nrpc,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.examples,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.crypto,impacket.krb5.kerberosv5,impacket.krb5.pac,impacket.krb5.types,impacket.ntlm,impacket.smbconnection,impacket.structure,logging,ntpath,os,pyasn1,pyasn1.codec.der,pyasn1.type.univ,random,re,six,string,sys,threading,time,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MS14_068, PSEXEC, Pipes, RemComMessage, RemComResponse, RemoteShell, RemoteStdErrPipe, RemoteStdInPipe | imports:Cryptodome.Hash, __future__, argparse, binascii, calendar, cmd, datetime, getpass | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MS14_068,PSEXEC,Pipes,RemComMessage,RemComResponse,RemoteShell,RemoteStdErrPipe,RemoteStdInPipe,RemoteStdOutPipe,getFileTime",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7771a587afdd53e8",
      "framework": "python",
      "imports": "Cryptodome.Hash,__future__,argparse,binascii,calendar,cmd,datetime,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.drsuapi,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.lsat,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.nrpc,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.examples,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.crypto,impacket.krb5.kerberosv5,impacket.krb5.pac,impacket.krb5.types,impacket.ntlm,impacket.smbconnection,impacket.structure,logging,ntpath,os,pyasn1,pyasn1.codec.der,pyasn1.type.univ,random,re,six,string,sys,threading,time,traceback",
      "lines": 1149,
      "logic_relevance": "none",
      "name": "goldenPac",
      "normalized_name": "golden-pac",
      "package_manager": "unknown",
      "path": "python/goldenPac.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "a1f9d0452d5c85cee01bec6e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.nt_errors,impacket.smbconnection,logging,queue,re,socket,sys,threading,time,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:USERENUM, checkMachines | imports:__future__, argparse, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.examples | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "USERENUM,checkMachines",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d21a8d10ca693c63",
      "framework": "python",
      "imports": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.nt_errors,impacket.smbconnection,logging,queue,re,socket,sys,threading,time,traceback",
      "lines": 512,
      "logic_relevance": "none",
      "name": "netview",
      "normalized_name": "netview",
      "package_manager": "unknown",
      "path": "python/netview.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "353d73735f853487b147b5ff",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,binascii,datetime,getpass,impacket,impacket.examples,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.constants,impacket.krb5.crypto,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.ntlm,impacket.winregistry,logging,os,pyasn1.codec.der,pyasn1.type.univ,random,re,six,struct,sys,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GETST | imports:__future__, argparse, binascii, datetime, getpass, impacket, impacket.examples, impacket.krb5 | observability-score:55 | security-score:55",
      "exports": "GETST",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39ff5ccb8db2003f",
      "framework": "python",
      "imports": "__future__,argparse,binascii,datetime,getpass,impacket,impacket.examples,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.constants,impacket.krb5.crypto,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.ntlm,impacket.winregistry,logging,os,pyasn1.codec.der,pyasn1.type.univ,random,re,six,struct,sys,traceback",
      "lines": 539,
      "logic_relevance": "none",
      "name": "getST",
      "normalized_name": "get-st",
      "package_manager": "unknown",
      "path": "python/getST.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7ed64d0837cc8f306c82d4e1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.examples,logging,re,sys,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:WMIPERSISTENCE | imports:__future__, argparse, getpass, impacket, impacket.dcerpc.v5.dcom, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes, impacket.examples | observability-score:55 | security-score:55",
      "exports": "WMIPERSISTENCE",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "d919827866cc8bc0",
      "framework": "python",
      "imports": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.examples,logging,re,sys,traceback",
      "lines": 240,
      "logic_relevance": "none",
      "name": "wmipersist",
      "normalized_name": "wmipersist",
      "package_manager": "unknown",
      "path": "python/wmipersist.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "18b838d9c96dd408b81cfb41",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eff3ea2a49b8f100",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "get-pips",
      "normalized_name": "get-pips",
      "package_manager": "unknown",
      "path": "python/get-pips.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ed733674440b0a85ff7a49ba",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,__future__,argparse,binascii,getpass,hashlib,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.dpapi,impacket.examples,impacket.examples.secretsdump,impacket.smbconnection,impacket.structure,impacket.uuid,logging,re,six,struct,sys,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DPAPI | imports:Cryptodome.Cipher, Cryptodome.Hash, __future__, argparse, binascii, getpass, hashlib, impacket | observability-score:55 | security-score:55",
      "exports": "DPAPI",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "988a278f7f5612d3",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,__future__,argparse,binascii,getpass,hashlib,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.dpapi,impacket.examples,impacket.examples.secretsdump,impacket.smbconnection,impacket.structure,impacket.uuid,logging,re,six,struct,sys,traceback",
      "lines": 591,
      "logic_relevance": "none",
      "name": "dpapi",
      "normalized_name": "dpapi",
      "package_manager": "unknown",
      "path": "python/dpapi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "2c6d20584fee27ce8a9c88e8",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "\n                                                                       ,ConfigParser,__future__,argparse,cmd,configparser,getpass,impacket,impacket.dcerpc.v5,impacket.examples,impacket.krb5.keytab,logging,os,re,sys,threading,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CMDEXEC, RemoteShell, SMBServer | imports:\n                                                                       , ConfigParser, __future__, argparse, cmd, configparser, getpass, impacket | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CMDEXEC,RemoteShell,SMBServer",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ee44915454bb006c",
      "framework": "python",
      "imports": "\n                                                                       ,ConfigParser,__future__,argparse,cmd,configparser,getpass,impacket,impacket.dcerpc.v5,impacket.examples,impacket.krb5.keytab,logging,os,re,sys,threading,traceback",
      "lines": 387,
      "logic_relevance": "none",
      "name": "smbexec",
      "normalized_name": "smbexec",
      "package_manager": "unknown",
      "path": "python/smbexec.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "27660f4995047df6a073c69f",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "twilio.rest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:twilio.rest | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "58c54be9acf0d8be",
      "framework": "python",
      "imports": "twilio.rest",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sms",
      "normalized_name": "sms",
      "package_manager": "unknown",
      "path": "python/sms.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "273abb1674a7152efd8f016a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.krb5.keytab,logging,random,re,six,string,sys,time,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TSCH_EXEC | imports:__future__, argparse, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.rpcrt, impacket.examples | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TSCH_EXEC",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bd8aa41284415464",
      "framework": "python",
      "imports": "__future__,argparse,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.krb5.keytab,logging,random,re,six,string,sys,time,traceback",
      "lines": 314,
      "logic_relevance": "none",
      "name": "atexec",
      "normalized_name": "atexec",
      "package_manager": "unknown",
      "path": "python/atexec.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "fda636e6dd87c4e826574a57",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d7dacd6233b635d0",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "upgrade_pips",
      "normalized_name": "upgrade-pips",
      "package_manager": "unknown",
      "path": "python/upgrade_pips.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "373519841fbb0c6b5c2161f5",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "argparse,getpass,impacket,impacket.dcerpc.v5,sys",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:connect, hSamrUnicodeChangePasswordUser2, parse_target | imports:argparse, getpass, impacket, impacket.dcerpc.v5, sys | observability-score:55 | security-score:55",
      "exports": "connect,hSamrUnicodeChangePasswordUser2,parse_target",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d284c90cdd500e9",
      "framework": "python",
      "imports": "argparse,getpass,impacket,impacket.dcerpc.v5,sys",
      "lines": 98,
      "logic_relevance": "none",
      "name": "smbpasswd",
      "normalized_name": "smbpasswd",
      "package_manager": "unknown",
      "path": "python/smbpasswd.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "81e6b3946ced15c13ffbf566",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "array,impacket.IP6_Address,impacket.ImpactPacket,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ICMP6 | imports:array, impacket.IP6_Address, impacket.ImpactPacket, struct | security-score:55 | ai-score:45",
      "exports": "ICMP6",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "151582c90199028c",
      "framework": "python",
      "imports": "array,impacket.IP6_Address,impacket.ImpactPacket,struct",
      "lines": 526,
      "logic_relevance": "none",
      "name": "ICMP6",
      "normalized_name": "icmp6",
      "package_manager": "unknown",
      "path": "python/impacket/ICMP6.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ffa4f9fb76727cc71227a8b4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.helper",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EAP, EAPExpanded, EAPOL, EAPR | imports:impacket.helper | observability-score:55 | security-score:55",
      "exports": "EAP,EAPExpanded,EAPOL,EAPR",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e05cf229d91a58c6",
      "framework": "python",
      "imports": "impacket.helper",
      "lines": 68,
      "logic_relevance": "none",
      "name": "eap",
      "normalized_name": "eap",
      "package_manager": "unknown",
      "path": "python/impacket/eap.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4185a3cc10d2c47201869483",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1ae2408d64bbbd12",
      "framework": "python",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "pcap_linktypes",
      "normalized_name": "pcap-linktypes",
      "package_manager": "unknown",
      "path": "python/impacket/pcap_linktypes.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "5bdb55669e34a216eed8b6e5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64c89a04670106be",
      "framework": "python",
      "imports": "",
      "lines": 5872,
      "logic_relevance": "none",
      "name": "hresult_errors",
      "normalized_name": "hresult-errors",
      "package_manager": "unknown",
      "path": "python/impacket/hresult_errors.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b531ce3533c6a356d7fcd790",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket,pkg_resources",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:getInstallationPath | imports:impacket, pkg_resources | security-score:55",
      "exports": "getInstallationPath",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "389881949d7f0a98",
      "framework": "python",
      "imports": "impacket,pkg_resources",
      "lines": 20,
      "logic_relevance": "none",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "unknown",
      "path": "python/impacket/version.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a4f471170bd0bd84a21bbba1",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:PCapFileHeader, PCapFilePacket, PcapFile | imports:impacket | security-score:55",
      "exports": "PCapFileHeader,PCapFilePacket,PcapFile",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a3a6b1232c6534ad",
      "framework": "python",
      "imports": "impacket",
      "lines": 116,
      "logic_relevance": "none",
      "name": "pcapfile",
      "normalized_name": "pcapfile",
      "package_manager": "unknown",
      "path": "python/impacket/pcapfile.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "6e48cb13ac85ffd5b1b15e1d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.ImpactPacket,socket,struct",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DNS, DNSClass, DNSFlags, DNSType | imports:impacket.ImpactPacket, socket, struct | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DNS,DNSClass,DNSFlags,DNSType",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0ec0c22fb4708c5",
      "framework": "python",
      "imports": "impacket.ImpactPacket,socket,struct",
      "lines": 572,
      "logic_relevance": "none",
      "name": "dns",
      "normalized_name": "dns",
      "package_manager": "unknown",
      "path": "python/impacket/dns.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "40b479a5b9873a496bed7fbd",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,__future__,binascii,contextlib,datetime,hashlib,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.constants,impacket.krb5.crypto,impacket.krb5.gssapi,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.nt_errors,impacket.smb3structs,impacket.spnego,ntpath,pyasn1.codec.der,pyasn1.type.univ,random,six,socket,string,struct",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMB3, SessionError | imports:Cryptodome.Cipher, Cryptodome.Hash, __future__, binascii, contextlib, datetime, hashlib, impacket | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SMB3,SessionError",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d193ab0a171f72a",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,__future__,binascii,contextlib,datetime,hashlib,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.constants,impacket.krb5.crypto,impacket.krb5.gssapi,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.nt_errors,impacket.smb3structs,impacket.spnego,ntpath,pyasn1.codec.der,pyasn1.type.univ,random,six,socket,string,struct",
      "lines": 2006,
      "logic_relevance": "none",
      "name": "smb3",
      "normalized_name": "smb3",
      "package_manager": "unknown",
      "path": "python/impacket/smb3.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "7a9c661d073821374fe328d9",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "array,six",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:IP6_Address | imports:array, six | security-score:55",
      "exports": "IP6_Address",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3ffae547c5484a34",
      "framework": "python",
      "imports": "array,six",
      "lines": 249,
      "logic_relevance": "none",
      "name": "IP6_Address",
      "normalized_name": "ip6-address",
      "package_manager": "unknown",
      "path": "python/impacket/IP6_Address.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "d37351fbb95c5a672acdbfcc",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,__future__,base64,binascii,calendar,hashlib,hmac,impacket,impacket.structure,random,six,string,struct,sys,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AV_PAIRS, ExtendedOrNotMessageSignature, ImpacketStructure, KXKEY, LMOWFv1, LMOWFv2, MAC, NTLMAuthChallenge | imports:Cryptodome.Cipher, Cryptodome.Hash, __future__, base64, binascii, calendar, hashlib, hmac | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AV_PAIRS,ExtendedOrNotMessageSignature,ImpacketStructure,KXKEY,LMOWFv1,LMOWFv2,MAC,NTLMAuthChallenge,NTLMAuthChallengeResponse,NTLMAuthNegotiate,NTLMMessageSignature,NTLM_HTTP,NTLM_HTTP_AuthChallengeResponse,NTLM_HTTP_AuthNegotiate,NTLM_HTTP_AuthRequired,NTOWFv1,NTOWFv2,SEAL,SEALKEY,SIGN,SIGNKEY,VERSION,__DES_block,__expand_DES_key,computeResponse,computeResponseNTLMv1,computeResponseNTLMv2,compute_lmhash,compute_nthash,generateEncryptedSessionKey,generateSessionKeyV1,getNTLMSSPType1,getNTLMSSPType3,get_ntlmv1_response,hmac_md5,ntlmssp_DES_encrypt",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbb11c555a684556",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,__future__,base64,binascii,calendar,hashlib,hmac,impacket,impacket.structure,random,six,string,struct,sys,time",
      "lines": 976,
      "logic_relevance": "none",
      "name": "ntlm",
      "normalized_name": "ntlm",
      "package_manager": "unknown",
      "path": "python/impacket/ntlm.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "514fdd57de84cf7ae2cbdc17",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "array,impacket,impacket.ICMP6,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NDP, NDP_Option | imports:array, impacket, impacket.ICMP6, struct | security-score:55",
      "exports": "NDP,NDP_Option",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bf7e7cade710b42a",
      "framework": "python",
      "imports": "array,impacket,impacket.ICMP6,struct",
      "lines": 165,
      "logic_relevance": "none",
      "name": "NDP",
      "normalized_name": "ndp",
      "package_manager": "unknown",
      "path": "python/impacket/NDP.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "177e7b77a9158db849f2708e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,__future__,binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.ntlm,impacket.spnego,impacket.structure,math,os,pyasn1.codec.der,pyasn1.type.univ,random,select,socket,string,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DummyPrint, MSSQL, SQLErrorException, SQLR, SQLR_Response, SQLR_UCAST_DAC, SQLR_UCAST_INST, TDSPacket | imports:OpenSSL, __future__, binascii, datetime, impacket, impacket.krb5, impacket.krb5.asn1, impacket.krb5.ccache | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DummyPrint,MSSQL,SQLErrorException,SQLR,SQLR_Response,SQLR_UCAST_DAC,SQLR_UCAST_INST,TDSPacket,TDS_COLMETADATA,TDS_DONE,TDS_DONEINPROC,TDS_ENVCHANGE,TDS_ENVCHANGE_VARCHAR,TDS_INFO_ERROR,TDS_LOGIN,TDS_LOGIN_ACK,TDS_ORDER,TDS_PRELOGIN,TDS_RETURNSTATUS,TDS_ROW",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9e163dfabc280d8",
      "framework": "python",
      "imports": "OpenSSL,__future__,binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.ntlm,impacket.spnego,impacket.structure,math,os,pyasn1.codec.der,pyasn1.type.univ,random,select,socket,string,struct",
      "lines": 1579,
      "logic_relevance": "none",
      "name": "tds",
      "normalized_name": "tds",
      "package_manager": "unknown",
      "path": "python/impacket/tds.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "60ff3daec78b04e47da283a9",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,binascii,contextlib,datetime,hashlib,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.gssapi,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.spnego,impacket.structure,os,pyasn1.codec.der,pyasn1.type.univ,socket,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AsciiOrUnicodeStructure, FileFsSizeInformation, NetShareInfo1, NewSMBPacket, SMB, SMBAndXCommand_Parameters, SMBCheckDirectory_Data, SMBClose_Parameters | imports:__future__, binascii, contextlib, datetime, hashlib, impacket, impacket.krb5, impacket.krb5.asn1 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AsciiOrUnicodeStructure,FileFsSizeInformation,NetShareInfo1,NewSMBPacket,SMB,SMBAndXCommand_Parameters,SMBCheckDirectory_Data,SMBClose_Parameters,SMBCommand,SMBCommand_Parameters,SMBCreateDirectory_Data,SMBDeleteDirectory_Data,SMBDelete_Data,SMBDelete_Parameters,SMBDomain,SMBEchoResponse_Data,SMBEchoResponse_Parameters,SMBEcho_Data,SMBEcho_Parameters,SMBExtended_Security_Data,SMBExtended_Security_Parameters,SMBFileFsFullSizeInformation,SMBFileNetworkOpenInfo,SMBFileStreamInformation,SMBFindFileBothDirectoryInfo,SMBFindFileDirectoryInfo,SMBFindFileFullDirectoryInfo,SMBFindFileIdBothDirectoryInfo,SMBFindFileIdFullDirectoryInfo,SMBFindFileNamesInfo,SMBFindFirst2Response_Parameters,SMBFindFirst2_Data,SMBFindFirst2_Parameters,SMBFindInfoStandard,SMBFindNext2Response_Parameters,SMBFindNext2_Data,SMBFindNext2_Parameters,SMBFlush_Parameters,SMBLogOffAndX,SMBMachine,SMBNTLMDialect_Data,SMBNTLMDialect_Parameters,SMBNTTransactionResponse_Data,SMBNTTransactionResponse_Parameters,SMBNTTransaction_Data,SMBNTTransaction_Parameters,SMBNetServerGetInfoResponse,SMBNetServerInfo1,SMBNetShareEnum,SMBNetShareEnumResponse,SMBNetShareGetInfo,SMBNetShareGetInfoResponse,SMBNtCreateAndXExtendedResponse_Parameters,SMBNtCreateAndXResponse_Parameters,SMBNtCreateAndX_Data,SMBNtCreateAndX_Parameters,SMBOpenAndXResponse_Parameters,SMBOpenAndX_Data,SMBOpenAndX_Parameters,SMBOpenResponse_Parameters,SMBOpen_Data,SMBOpen_Parameters,SMBQueryFileAllInfo,SMBQueryFileBasicInfo,SMBQueryFileEaInfo,SMBQueryFileInformationResponse_Parameters,SMBQueryFileInformation_Data,SMBQueryFileInformation_Parameters,SMBQueryFileStandardInfo,SMBQueryFsAttributeInfo,SMBQueryFsInfoVolume,SMBQueryFsSizeInfo,SMBQueryFsVolumeInfo,SMBQueryInformation2Response_Parameters,SMBQueryInformation2_Parameters,SMBQueryInformationDiskResponse_Parameters,SMBQueryInformationResponse_Parameters,SMBQueryInformation_Data,SMBQueryPathInformationResponse_Parameters,SMBQueryPathInformation_Data,SMBQueryPathInformation_Parameters,SMBReadAndXResponse_Parameters,SMBReadAndX_Parameters,SMBReadAndX_Parameters2,SMBReadRaw_Parameters,SMBReadResponse_Data,SMBReadResponse_Parameters,SMBRead_Parameters,SMBRename_Data,SMBRename_Parameters,SMBSessionSetupAndXResponse_Data,SMBSessionSetupAndXResponse_Parameters,SMBSessionSetupAndX_Data,SMBSessionSetupAndX_Extended_Data,SMBSessionSetupAndX_Extended_Parameters,SMBSessionSetupAndX_Extended_Response_Data,SMBSessionSetupAndX_Extended_Response_Parameters,SMBSessionSetupAndX_Parameters,SMBSetFileBasicInfo,SMBSetFileDispositionInfo,SMBSetFileEndOfFileInfo,SMBSetFileInformationResponse_Parameters,SMBSetFileInformation_Parameters,SMBSetPathInformationResponse_Parameters,SMBSetPathInformation_Parameters,SMBTransaction2Response_Data,SMBTransaction2Response_Parameters,SMBTransaction2Secondary_Data,SMBTransaction2Secondary_Parameters,SMBTransaction2_Data,SMBTransaction2_Parameters,SMBTransactionResponse_Data,SMBTransactionResponse_Parameters,SMBTransaction_Data,SMBTransaction_Parameters,SMBTransaction_SData,SMBTreeConnectAndXExtendedResponse_Parameters,SMBTreeConnectAndXResponse_Data,SMBTreeConnectAndXResponse_Parameters,SMBTreeConnectAndX_Data,SMBTreeConnectAndX_Parameters,SMBTreeConnect_Data,SMBTreeConnect_Parameters,SMBWriteAndXResponse_Parameters,SMBWriteAndX_Data,SMBWriteAndX_Data_Short,SMBWriteAndX_Parameters,SMBWriteAndX_Parameters_Short,SMBWriteRaw_Parameters,SMBWriteResponse_Parameters,SMBWrite_Data,SMBWrite_Parameters,SecurityFeatures,SessionError,SharedDevice,SharedFile,UnsupportedFeature,strerror",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "112fbe6e3d5eb83c",
      "framework": "python",
      "imports": "__future__,binascii,contextlib,datetime,hashlib,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.gssapi,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.spnego,impacket.structure,os,pyasn1.codec.der,pyasn1.type.univ,socket,struct",
      "lines": 4284,
      "logic_relevance": "none",
      "name": "smb",
      "normalized_name": "smb",
      "package_manager": "unknown",
      "path": "python/impacket/smb.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4ee05a6d6985037ebd67b267",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,calendar,datetime,errno,fnmatch,hashlib,hmac,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.srvs,impacket.dcerpc.v5.wkst,impacket.nt_errors,impacket.spnego,impacket.system_errors,logging,logging.config,ntpath,os,random,shutil,six,six.moves,socket,string,struct,sys,threading,time,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Ioctls, NTTRANSCommands, SMB2Commands, SMBCommands, SMBSERVER, SMBSERVERHandler, SRVSServer, SimpleSMBServer | imports:binascii, calendar, datetime, errno, fnmatch, hashlib, hmac, impacket | observability-score:55 | security-score:55",
      "exports": "Ioctls,NTTRANSCommands,SMB2Commands,SMBCommands,SMBSERVER,SMBSERVERHandler,SRVSServer,SimpleSMBServer,TRANS2Commands,TRANSCommands,WKSTServer,computeNTLMv2,decodeSMBString,encodeSMBString,findFirst2,getFileTime,getSMBDate,getSMBTime,getShares,getUnixTime,openFile,outputToJohnFormat,queryDiskInformation,queryFileInformation,queryFsInformation,queryPathInformation,searchShare,writeJohnOutputToFile",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "adfa1553eae89dc1",
      "framework": "python",
      "imports": "binascii,calendar,datetime,errno,fnmatch,hashlib,hmac,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.srvs,impacket.dcerpc.v5.wkst,impacket.nt_errors,impacket.spnego,impacket.system_errors,logging,logging.config,ntpath,os,random,shutil,six,six.moves,socket,string,struct,sys,threading,time,traceback",
      "lines": 4692,
      "logic_relevance": "none",
      "name": "smbserver",
      "normalized_name": "smbserver",
      "package_manager": "unknown",
      "path": "python/impacket/smbserver.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation,ai",
      "component_id": "c4268c6c2934a3cb24a38023",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DSA, Top | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DSA,Top",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bbba48689963db2",
      "framework": "python",
      "imports": "",
      "lines": 5521,
      "logic_relevance": "none",
      "name": "system_errors",
      "normalized_name": "system-errors",
      "package_manager": "unknown",
      "path": "python/impacket/system_errors.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5b212245ab3813174673aae0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "array,impacket,impacket.cdp",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ARPDecoder, BaseDecoder, BaseDot11Decoder, BootpDecoder, CDPDecoder, DHCPDecoder, DataDecoder, Decoder | imports:array, impacket, impacket.cdp | observability-score:55 | security-score:55",
      "exports": "ARPDecoder,BaseDecoder,BaseDot11Decoder,BootpDecoder,CDPDecoder,DHCPDecoder,DataDecoder,Decoder,DestinationOptionsDecoder,Dot11ControlDecoder,Dot11ControlFrameACKDecoder,Dot11ControlFrameCFEndCFACKDecoder,Dot11ControlFrameCFEndDecoder,Dot11ControlFrameCTSDecoder,Dot11ControlFramePSPollDecoder,Dot11ControlFrameRTSDecoder,Dot11DataDecoder,Dot11Decoder,Dot11ManagementAssociationRequestDecoder,Dot11ManagementAssociationResponseDecoder,Dot11ManagementAuthenticationDecoder,Dot11ManagementBeaconDecoder,Dot11ManagementDeauthenticationDecoder,Dot11ManagementDecoder,Dot11ManagementDisassociationDecoder,Dot11ManagementProbeRequestDecoder,Dot11ManagementProbeResponseDecoder,Dot11ManagementReassociationRequestDecoder,Dot11ManagementReassociationResponseDecoder,Dot11WEPDataDecoder,Dot11WEPDecoder,Dot11WPA2DataDecoder,Dot11WPA2Decoder,Dot11WPADataDecoder,Dot11WPADecoder,EAPDecoder,EAPExpandedDecoder,EAPOLDecoder,EAPRDecoder,EthDecoder,HopByHopDecoder,ICMP6Decoder,ICMPDecoder,IGMPDecoder,IP6Decoder,IP6MultiProtocolDecoder,IPDecoder,IPDecoderForICMP,LLCDecoder,LinuxSLLDecoder,RadioTapDecoder,RoutingOptionsDecoder,SNAPDecoder,SimpleConfigDecoder,TCPDecoder,UDPDecoder",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59948e778a5a082e",
      "framework": "python",
      "imports": "array,impacket,impacket.cdp",
      "lines": 977,
      "logic_relevance": "none",
      "name": "ImpactDecoder",
      "normalized_name": "impact-decoder",
      "package_manager": "unknown",
      "path": "python/impacket/ImpactDecoder.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1dffce3161359b3dbed7937e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "logging",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NullHandler | imports:logging | observability-score:55 | security-score:55",
      "exports": "NullHandler",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c65f2a77e7417fd3",
      "framework": "python",
      "imports": "logging",
      "lines": 25,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "python/impacket/__init__.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "55910ba7f65987d787b607ef",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.ImpactPacket,socket,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Address, AddressDetails, CDP, CDPDevice, CDPElement, CDPElementFactory, CDPTypes, Capabilities | imports:impacket, impacket.ImpactPacket, socket, struct | observability-score:55 | security-score:55",
      "exports": "Address,AddressDetails,CDP,CDPDevice,CDPElement,CDPElementFactory,CDPTypes,Capabilities,DummyCdpElement,Duplex,IpPrefix,MTU,ManagementAddresses,Platform,Port,ProtocolHello,SnmpLocation,SoftVersion,SystemName,SystemObjectId,TrustBitmap,UntrustedPortCoS,VLAN,VTPManagementDomain,get_byte,get_bytes,get_long,get_word,mac_to_string",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "87f5395be6a0523b",
      "framework": "python",
      "imports": "impacket,impacket.ImpactPacket,socket,struct",
      "lines": 496,
      "logic_relevance": "none",
      "name": "cdp",
      "normalized_name": "cdp",
      "package_manager": "unknown",
      "path": "python/impacket/cdp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "7ea1d81fa0fbae6859133fa4",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RC4 | observability-score:55 | security-score:55",
      "exports": "RC4",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f727e7a003aca13e",
      "framework": "python",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "Dot11Crypto",
      "normalized_name": "dot11-crypto",
      "package_manager": "unknown",
      "path": "python/impacket/Dot11Crypto.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "96f3471a537074afd4bd1052",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,__future__,impacket.structure,logging,socket,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MQTTConnection, MQTTSessionError, MQTT_Connect, MQTT_ConnectAck, MQTT_Disconnect, MQTT_Packet, MQTT_Publish, MQTT_String | imports:OpenSSL, __future__, impacket.structure, logging, socket, struct | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MQTTConnection,MQTTSessionError,MQTT_Connect,MQTT_ConnectAck,MQTT_Disconnect,MQTT_Packet,MQTT_Publish,MQTT_String,MQTT_Subscribe,MQTT_SubscribeACK,MQTT_UnSubscribe",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "062371531fde56f3",
      "framework": "python",
      "imports": "OpenSSL,__future__,impacket.structure,logging,socket,struct",
      "lines": 414,
      "logic_relevance": "none",
      "name": "mqtt",
      "normalized_name": "mqtt",
      "package_manager": "unknown",
      "path": "python/impacket/mqtt.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ffbda530f3d440d9d12ee17c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,binascii,collections,impacket,impacket.structure,ordereddict,ordereddict.ordereddict,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ESENT_BRANCH_ENTRY, ESENT_BRANCH_HEADER, ESENT_CATALOG_DATA_DEFINITION_ENTRY, ESENT_DATA_DEFINITION_HEADER, ESENT_DB, ESENT_DB_HEADER, ESENT_INDEX_ENTRY, ESENT_JET_SIGNATURE | imports:__future__, binascii, collections, impacket, impacket.structure, ordereddict, ordereddict.ordereddict, six | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ESENT_BRANCH_ENTRY,ESENT_BRANCH_HEADER,ESENT_CATALOG_DATA_DEFINITION_ENTRY,ESENT_DATA_DEFINITION_HEADER,ESENT_DB,ESENT_DB_HEADER,ESENT_INDEX_ENTRY,ESENT_JET_SIGNATURE,ESENT_LEAF_ENTRY,ESENT_LEAF_HEADER,ESENT_PAGE,ESENT_PAGE_HEADER,ESENT_ROOT_HEADER,ESENT_SPACE_TREE_ENTRY,ESENT_SPACE_TREE_HEADER,getUnixTime",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c6ebda4d0191b5b",
      "framework": "python",
      "imports": "__future__,binascii,collections,impacket,impacket.structure,ordereddict,ordereddict.ordereddict,six,struct",
      "lines": 970,
      "logic_relevance": "none",
      "name": "ese",
      "normalized_name": "ese",
      "package_manager": "unknown",
      "path": "python/impacket/ese.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a024dbdcc52b74344998fa63",
      "component_kind": "key-management",
      "confidence": 80,
      "dependency_roots": "array",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:KeyManager | imports:array | security-score:55",
      "exports": "KeyManager",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a0c1e77366ea6873",
      "framework": "python",
      "imports": "array",
      "lines": 54,
      "logic_relevance": "none",
      "name": "Dot11KeyManager",
      "normalized_name": "dot11-key-manager",
      "package_manager": "unknown",
      "path": "python/impacket/Dot11KeyManager.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "67589f0f2e1b47489fb94320",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "binascii,impacket.Dot11Crypto,impacket.ImpactPacket,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DOT11_AUTH_ALGORITHMS, DOT11_AUTH_STATUS_CODES, DOT11_MANAGEMENT_ELEMENTS, DOT11_REASON_CODES, Dot11, Dot11ControlFrameACK, Dot11ControlFrameCFEnd, Dot11ControlFrameCFEndCFACK | imports:binascii, impacket.Dot11Crypto, impacket.ImpactPacket, struct | security-score:55",
      "exports": "DOT11_AUTH_ALGORITHMS,DOT11_AUTH_STATUS_CODES,DOT11_MANAGEMENT_ELEMENTS,DOT11_REASON_CODES,Dot11,Dot11ControlFrameACK,Dot11ControlFrameCFEnd,Dot11ControlFrameCFEndCFACK,Dot11ControlFrameCTS,Dot11ControlFramePSPoll,Dot11ControlFrameRTS,Dot11DataAddr4Frame,Dot11DataAddr4QoSFrame,Dot11DataFrame,Dot11DataQoSFrame,Dot11ManagementAssociationRequest,Dot11ManagementAssociationResponse,Dot11ManagementAuthentication,Dot11ManagementBeacon,Dot11ManagementCapabilities,Dot11ManagementDeauthentication,Dot11ManagementDisassociation,Dot11ManagementFrame,Dot11ManagementHelper,Dot11ManagementProbeRequest,Dot11ManagementProbeResponse,Dot11ManagementReassociationRequest,Dot11ManagementReassociationResponse,Dot11Types,Dot11WEP,Dot11WEPData,Dot11WPA,Dot11WPA2,Dot11WPA2Data,Dot11WPAData,LLC,RadioTap,SAPTypes,SNAP",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a5f89135f5ea70b",
      "framework": "python",
      "imports": "binascii,impacket.Dot11Crypto,impacket.ImpactPacket,struct",
      "lines": 3087,
      "logic_relevance": "none",
      "name": "dot11",
      "normalized_name": "dot11",
      "package_manager": "unknown",
      "path": "python/impacket/dot11.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "008072be520da66fe719cfa6",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:GSSAPI, SPNEGO_NegTokenInit, SPNEGO_NegTokenResp, asn1decode, asn1encode | imports:__future__, struct | security-score:55",
      "exports": "GSSAPI,SPNEGO_NegTokenInit,SPNEGO_NegTokenResp,asn1decode,asn1encode",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f7d4ec40a119acd7",
      "framework": "python",
      "imports": "__future__,struct",
      "lines": 385,
      "logic_relevance": "none",
      "name": "spnego",
      "normalized_name": "spnego",
      "package_manager": "unknown",
      "path": "python/impacket/spnego.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bb7883ea17f81cfcf28f5ad3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,__future__,hmac,impacket,impacket.structure,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AES_CMAC, AES_CMAC_PRF_128, Generate_Subkey, KDF_CounterMode, LSA_SECRET_XP, PAD, SamDecryptNTLMHash, SamEncryptNTLMHash | imports:Cryptodome.Cipher, __future__, hmac, impacket, impacket.structure, six, struct | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AES_CMAC,AES_CMAC_PRF_128,Generate_Subkey,KDF_CounterMode,LSA_SECRET_XP,PAD,SamDecryptNTLMHash,SamEncryptNTLMHash,XOR_128,decryptSecret,encryptSecret,transformKey",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c2d1341c38f0217c",
      "framework": "python",
      "imports": "Cryptodome.Cipher,__future__,hmac,impacket,impacket.structure,six,struct",
      "lines": 346,
      "logic_relevance": "none",
      "name": "crypto",
      "normalized_name": "crypto",
      "package_manager": "unknown",
      "path": "python/impacket/crypto.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "51ca350c5b8ad4085c12c9c5",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "array,impacket,impacket.IP6_Address,impacket.IP6_Extension_Headers,impacket.ImpactPacket,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:IP6 | imports:array, impacket, impacket.IP6_Address, impacket.IP6_Extension_Headers, impacket.ImpactPacket, struct | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "IP6",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "80f06646d950a699",
      "framework": "python",
      "imports": "array,impacket,impacket.IP6_Address,impacket.IP6_Extension_Headers,impacket.ImpactPacket,struct",
      "lines": 189,
      "logic_relevance": "none",
      "name": "IP6",
      "normalized_name": "ip6",
      "package_manager": "unknown",
      "path": "python/impacket/IP6.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "159c4c35aa0a51d334f7d8fe",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,binascii,http.client,httplib,impacket,re,ssl",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HTTPClientSecurityProvider | imports:base64, binascii, http.client, httplib, impacket, re, ssl | observability-score:55 | security-score:55",
      "exports": "HTTPClientSecurityProvider",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "cd579797de6a8d73",
      "framework": "python",
      "imports": "base64,binascii,http.client,httplib,impacket,re,ssl",
      "lines": 206,
      "logic_relevance": "none",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "unknown",
      "path": "python/impacket/http.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "519bda3444d527db024e9ca6",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "array,functools,impacket.helper,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ArrayBuilder, AssocState, AuthTypeFlag, ByteBuilder, ConfigError, ConfigMethod, ConnectionTypeFlag, DevicePasswordId | imports:array, functools, impacket.helper, struct | security-score:55 | ai-score:45",
      "exports": "ArrayBuilder,AssocState,AuthTypeFlag,ByteBuilder,ConfigError,ConfigMethod,ConnectionTypeFlag,DevicePasswordId,EncryptionTypeFlag,MessageType,NumBuilder,OpCode,SCElem,SimpleConfig,StringBuilder,TLVContainer,WpsState",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "26fa8f66794e2532",
      "framework": "python",
      "imports": "array,functools,impacket.helper,struct",
      "lines": 404,
      "logic_relevance": "none",
      "name": "wps",
      "normalized_name": "wps",
      "package_manager": "unknown",
      "path": "python/impacket/wps.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c236ac0a853bfad67c1ef254",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "functools,impacket.ImpactPacket,six,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Bit, Byte, Field, Long, ProtocolPacket, ProtocolPacketMetaklass, ThreeBytesBigEndian, Word | imports:functools, impacket.ImpactPacket, six, struct | security-score:55",
      "exports": "Bit,Byte,Field,Long,ProtocolPacket,ProtocolPacketMetaklass,ThreeBytesBigEndian,Word,rebind",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9603f24e0555e6ee",
      "framework": "python",
      "imports": "functools,impacket.ImpactPacket,six,struct",
      "lines": 150,
      "logic_relevance": "none",
      "name": "helper",
      "normalized_name": "helper",
      "package_manager": "unknown",
      "path": "python/impacket/helper.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "10ffee5fb6a43b81b2365fcb",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,six,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Structure, hexdump, parse_bitmask, pretty_print | imports:__future__, six, struct | security-score:55",
      "exports": "Structure,hexdump,parse_bitmask,pretty_print",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64805e844fcc45b6",
      "framework": "python",
      "imports": "__future__,six,struct",
      "lines": 658,
      "logic_relevance": "none",
      "name": "structure",
      "normalized_name": "structure",
      "package_manager": "unknown",
      "path": "python/impacket/structure.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "287c691be0a40737e7cc68d0",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "__future__,array,binascii,functools,ip_string,socket,string,struct,sys",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ARP, Data, Ethernet, EthernetTag, Header, ICMP, IGMP, IP | imports:__future__, array, binascii, functools, ip_string, socket, string, struct | security-score:55 | automation-score:45",
      "exports": "ARP,Data,Ethernet,EthernetTag,Header,ICMP,IGMP,IP,IPOption,ImpactPacketException,LinuxSLL,PacketBuffer,ProtocolLayer,ProtocolPacket,TCP,TCPOption,UDP,example",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "912391d9262a28ba",
      "framework": "python",
      "imports": "__future__,array,binascii,functools,ip_string,socket,string,struct,sys",
      "lines": 2130,
      "logic_relevance": "none",
      "name": "ImpactPacket",
      "normalized_name": "impact-packet",
      "package_manager": "unknown",
      "path": "python/impacket/ImpactPacket.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "70d180c14d788675da1f0756",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.structure,ntpath,six,struct,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:REG_HASH, REG_HBIN, REG_HBINBLOCK, REG_LF, REG_LH, REG_NK, REG_REGF, REG_RI | imports:__future__, impacket, impacket.structure, ntpath, six, struct, sys | observability-score:55 | security-score:55",
      "exports": "REG_HASH,REG_HBIN,REG_HBINBLOCK,REG_LF,REG_LH,REG_NK,REG_REGF,REG_RI,REG_SK,REG_VK,Registry",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3dc1ca1b46c189a8",
      "framework": "python",
      "imports": "__future__,impacket,impacket.structure,ntpath,six,struct,sys",
      "lines": 482,
      "logic_relevance": "none",
      "name": "winregistry",
      "normalized_name": "winregistry",
      "package_manager": "unknown",
      "path": "python/impacket/winregistry.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "dd30232e56f341d80150cc9c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a795faeb663e3754",
      "framework": "python",
      "imports": "",
      "lines": 3578,
      "logic_relevance": "none",
      "name": "mapi_constants",
      "normalized_name": "mapi-constants",
      "package_manager": "unknown",
      "path": "python/impacket/mapi_constants.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "c93e47fb06793ceea817c330",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "array,impacket,impacket.ImpactPacket",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Basic_Extension_Header, Destination_Options, Extension_Option, Hop_By_Hop, IP6_Extension_Header, Option_PAD1, Option_PADN, Routing_Options | imports:., array, impacket, impacket.ImpactPacket | security-score:55 | automation-score:45",
      "exports": "Basic_Extension_Header,Destination_Options,Extension_Option,Hop_By_Hop,IP6_Extension_Header,Option_PAD1,Option_PADN,Routing_Options",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ed4f4c2bd81f0adb",
      "framework": "python",
      "imports": ".,array,impacket,impacket.ImpactPacket",
      "lines": 326,
      "logic_relevance": "none",
      "name": "IP6_Extension_Headers",
      "normalized_name": "ip6-extension-headers",
      "package_manager": "unknown",
      "path": "python/impacket/IP6_Extension_Headers.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "fb68d99c914d2b7fca631252",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,errno,impacket.structure,random,re,select,six,socket,string,struct,time",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ADDR_ENTRY, NAME_CONFLICT_DEMAND, NAME_OVERWRITE_REQUEST, NAME_QUERY_REQUEST, NAME_REFRESH_REQUEST, NAME_REGISTRATION_REQUEST, NAME_REGISTRATION_RESPONSE, NAME_SERVICE_PACKET | imports:__future__, errno, impacket.structure, random, re, select, six, socket | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ADDR_ENTRY,NAME_CONFLICT_DEMAND,NAME_OVERWRITE_REQUEST,NAME_QUERY_REQUEST,NAME_REFRESH_REQUEST,NAME_REGISTRATION_REQUEST,NAME_REGISTRATION_RESPONSE,NAME_SERVICE_PACKET,NBNSResourceRecord,NBNodeStatusResponse,NBPositiveNameQueryResponse,NODE_NAME_ENTRY,NODE_STATUS_REQUEST,NetBIOS,NetBIOSError,NetBIOSSession,NetBIOSSessionPacket,NetBIOSTCPSession,NetBIOSTimeout,NetBIOSUDPSession,NetBIOSUDPSessionPacket,QUESTION_ENTRY,RESOURCE_RECORD,STATISTICS,_do_first_level_decoding,_do_first_level_encoding,decode_name,encode_name",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91004f5b903e49fd",
      "framework": "python",
      "imports": "__future__,errno,impacket.structure,random,re,select,six,socket,string,struct,time",
      "lines": 1010,
      "logic_relevance": "none",
      "name": "nmb",
      "normalized_name": "nmb",
      "package_manager": "unknown",
      "path": "python/impacket/nmb.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4d60bdffa1b50fa5572dc1f7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5,impacket.krb5,impacket.krb5.ccache,impacket.krb5.kerberosv5,impacket.ntlm,impacket.smb3structs,ntpath,os,socket",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBConnection, SessionError | imports:impacket, impacket.dcerpc.v5, impacket.krb5, impacket.krb5.ccache, impacket.krb5.kerberosv5, impacket.ntlm, impacket.smb3structs, ntpath | observability-score:55 | security-score:55",
      "exports": "SMBConnection,SessionError",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18abe883ebe5eaee",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5,impacket.krb5,impacket.krb5.ccache,impacket.krb5.kerberosv5,impacket.ntlm,impacket.smb3structs,ntpath,os,socket",
      "lines": 1016,
      "logic_relevance": "none",
      "name": "smbconnection",
      "normalized_name": "smbconnection",
      "package_manager": "unknown",
      "path": "python/impacket/smbconnection.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7aecabebe1b157356e784d1a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket.structure",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FILE_FULL_EA_INFORMATION, FILE_NOTIFY_INFORMATION, FILE_RENAME_INFORMATION_TYPE_2, FSCTL_PIPE_WAIT_STRUCTURE, FileInternalInformation, FileSecInformation, HASH_HEADER, MOUNT_POINT_REPARSE_DATA_STRUCTURE | imports:., __future__, impacket.structure | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FILE_FULL_EA_INFORMATION,FILE_NOTIFY_INFORMATION,FILE_RENAME_INFORMATION_TYPE_2,FSCTL_PIPE_WAIT_STRUCTURE,FileInternalInformation,FileSecInformation,HASH_HEADER,MOUNT_POINT_REPARSE_DATA_STRUCTURE,MOUNT_POINT_REPARSE_GUID_DATA_STRUCTURE,NETWORK_INTERFACE_INFO,NETWORK_RESILIENCY_REQUEST,SMB2Cancel,SMB2ChangeNotify,SMB2ChangeNotify_Response,SMB2Close,SMB2Close_Response,SMB2CompressionCapabilities,SMB2Create,SMB2CreateContext,SMB2Create_Response,SMB2Echo,SMB2EncryptionCapabilities,SMB2Error,SMB2ErrorSymbolicLink,SMB2Flush,SMB2Flush_Response,SMB2Ioctl,SMB2Ioctl_Response,SMB2LeaseBreakAcknowledgement,SMB2LeaseBreakNotification,SMB2Lock,SMB2Lock_Response,SMB2Logoff,SMB2Logoff_Response,SMB2Negotiate,SMB2NegotiateContext,SMB2Negotiate_Response,SMB2NetNameNegotiateContextID,SMB2OplockBreakNotification,SMB2Packet,SMB2PacketAsync,SMB2PreAuthIntegrityCapabilities,SMB2QueryDirectory,SMB2QueryDirectory_Response,SMB2QueryInfo,SMB2QueryInfo_Response,SMB2Read,SMB2Read_Response,SMB2SessionSetup,SMB2SessionSetup_Response,SMB2SetInfo,SMB2SetInfo_Response,SMB2TreeConnect,SMB2TreeConnect_Response,SMB2TreeDisconnect,SMB2TreeDisconnect_Response,SMB2Write,SMB2Write_Response,SMB2_COMPRESSION_PATTERN_PAYLOAD_V1,SMB2_COMPRESSION_PAYLOAD_HEADER,SMB2_COMPRESSION_TRANSFORM_HEADER,SMB2_CREATE_ALLOCATION_SIZE,SMB2_CREATE_APP_INSTANCE_ID,SMB2_CREATE_DURABLE_HANDLE_RECONNECT,SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2,SMB2_CREATE_DURABLE_HANDLE_REQUEST,SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2,SMB2_CREATE_DURABLE_HANDLE_RESPONSE,SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2,SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST,SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE,SMB2_CREATE_QUERY_ON_DISK_ID,SMB2_CREATE_REQUEST_LEASE,SMB2_CREATE_REQUEST_LEASE_V2,SMB2_CREATE_TIMEWARP_TOKEN,SMB2_FILEID,SMB2_LOCK_ELEMENT,SMB2_QUERY_QUOTA_INFO,SMB2_TRANSFORM_HEADER,SMB311ContextData,SMB3Packet,SMB3PacketAsync,SMBPacketBase,SRV_COPYCHUNK,SRV_COPYCHUNK_COPY,SRV_COPYCHUNK_RESPONSE,SRV_HASH_RETRIEVE_FILE_BASED,SRV_HASH_RETRIEVE_HASH_BASED,SRV_READ_HASH,SRV_REQUEST_RESUME_KEY,SRV_SNAPSHOT_ARRAY,VALIDATE_NEGOTIATE_INFO,VALIDATE_NEGOTIATE_INFO_RESPONSE",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "848de5836a9f7e25",
      "framework": "python",
      "imports": ".,__future__,impacket.structure",
      "lines": 1508,
      "logic_relevance": "none",
      "name": "smb3structs",
      "normalized_name": "smb3structs",
      "package_manager": "unknown",
      "path": "python/impacket/smb3structs.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "ddd4e5df188138cb41c82617",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,Cryptodome.PublicKey,Cryptodome.Util.Padding,Cryptodome.Util.number,__future__,binascii,datetime,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.ese,impacket.structure,impacket.uuid,six,struct,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALGORITHMS, BCRYPT_KEY_DATA_BLOB_HEADER, BCRYPT_KEY_WRAP, BCRYPT_KSSM_DATA_BLOB_HEADER, CREDENTIAL_ATTRIBUTE, CREDENTIAL_BLOB, CREDENTIAL_FLAGS, CREDENTIAL_PERSIST | imports:Cryptodome.Cipher, Cryptodome.Hash, Cryptodome.PublicKey, Cryptodome.Util.Padding, Cryptodome.Util.number, __future__, binascii, datetime | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ALGORITHMS,BCRYPT_KEY_DATA_BLOB_HEADER,BCRYPT_KEY_WRAP,BCRYPT_KSSM_DATA_BLOB_HEADER,CREDENTIAL_ATTRIBUTE,CREDENTIAL_BLOB,CREDENTIAL_FLAGS,CREDENTIAL_PERSIST,CREDENTIAL_TYPE,CredHist,CredentialFile,DPAPI_BLOB,DPAPI_DOMAIN_RSA_MASTER_KEY,DPAPI_SYSTEM,DomainKey,FLAGS,MasterKey,MasterKeyFile,NGC_LOCAL_ACCOOUNT,PREFERRED_BACKUP_KEY,PRIVATE_KEY_BLOB,PUBLICKEYSTRUC,PUBLIC_KEY_BLOB,PVK_FILE_HDR,P_BACKUP_KEY,RSAPUBKEY,SIMPLE_KEY_BLOB,VAULT_ATTRIBUTE,VAULT_ATTRIBUTE_MAP_ENTRY,VAULT_INTERNET_EXPLORER,VAULT_NGC_ACCOOUNT,VAULT_VCRD,VAULT_VPOL,VAULT_VPOL_KEYS,VAULT_WIN_BIO_KEY,getFlags,privatekeyblob_to_pkcs1",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "941cdcc6a259719d",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,Cryptodome.PublicKey,Cryptodome.Util.Padding,Cryptodome.Util.number,__future__,binascii,datetime,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.ese,impacket.structure,impacket.uuid,six,struct,sys",
      "lines": 1038,
      "logic_relevance": "none",
      "name": "dpapi",
      "normalized_name": "dpapi",
      "package_manager": "unknown",
      "path": "python/impacket/dpapi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "59ac8d3fd967d7b1fc96caa7",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,binascii,random,re,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:bin_to_string, bin_to_uuidtup, generate, string_to_bin, string_to_uuidtup, stringver_to_bin, uuidtup_to_bin, uuidtup_to_string | imports:__future__, binascii, random, re, struct | security-score:55",
      "exports": "bin_to_string,bin_to_uuidtup,generate,string_to_bin,string_to_uuidtup,stringver_to_bin,uuidtup_to_bin,uuidtup_to_string",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c9e2c1240d97d621",
      "framework": "python",
      "imports": "__future__,binascii,random,re,struct",
      "lines": 79,
      "logic_relevance": "none",
      "name": "uuid",
      "normalized_name": "uuid",
      "package_manager": "unknown",
      "path": "python/impacket/uuid.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1474d3479e1bf76beee56f80",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.ImpactPacket",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BootpPacket, DhcpPacket | imports:impacket, impacket.ImpactPacket | observability-score:55 | security-score:55",
      "exports": "BootpPacket,DhcpPacket",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "019f5ab712cbcd06",
      "framework": "python",
      "imports": "impacket,impacket.ImpactPacket",
      "lines": 197,
      "logic_relevance": "none",
      "name": "dhcp",
      "normalized_name": "dhcp",
      "package_manager": "unknown",
      "path": "python/impacket/dhcp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "61899cb46d99f205220b61d4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "902c7e956213797b",
      "framework": "python",
      "imports": "",
      "lines": 3604,
      "logic_relevance": "none",
      "name": "nt_errors",
      "normalized_name": "nt-errors",
      "package_manager": "unknown",
      "path": "python/impacket/nt_errors.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "2598e0a5b41a6f7287652b3c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,six,socket,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, EPMFloor, EPMHostAddr, EPMHostName, EPMPipeName, EPMPortAddr, EPMProtocolIdentifier, EPMRPCDataRepresentation | imports:impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.structure, impacket.uuid, six | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,EPMFloor,EPMHostAddr,EPMHostName,EPMPipeName,EPMPortAddr,EPMProtocolIdentifier,EPMRPCDataRepresentation,EPMRPCInterface,EPMTower,PRPC_IF_ID,PrintStringBinding,RPC_IF_ID,ept_entry_t,ept_entry_t_array,ept_lookup,ept_lookupResponse,ept_lookup_handle_t,ept_map,ept_mapResponse,hept_lookup,hept_map,octet_string_t,prot_and_addr_t,protocol_tower_t,twr_p_t,twr_p_t_array,twr_t",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6e2dbcb6f418037",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,six,socket,struct",
      "lines": 1383,
      "logic_relevance": "none",
      "name": "epm",
      "normalized_name": "epm",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/epm.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "b756b3d799a5f51c998c4bc2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ADT_SECURITY_DESCRIPTOR, CONNECTION_INFO_0, CONNECTION_INFO_0_ARRAY, CONNECTION_INFO_1, CONNECTION_INFO_1_ARRAY, CONNECT_ENUM_STRUCT, CONNECT_ENUM_UNION, CONNECT_INFO_0_CONTAINER | imports:__future__, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid, sys | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ADT_SECURITY_DESCRIPTOR,CONNECTION_INFO_0,CONNECTION_INFO_0_ARRAY,CONNECTION_INFO_1,CONNECTION_INFO_1_ARRAY,CONNECT_ENUM_STRUCT,CONNECT_ENUM_UNION,CONNECT_INFO_0_CONTAINER,CONNECT_INFO_1_CONTAINER,DCERPCSessionError,DFS_SITELIST_INFO,DFS_SITENAME_INFO,DFS_SITENAME_INFO_ARRAY,DISK_ENUM_CONTAINER,DISK_INFO,DISK_INFO_ARRAY,FILE_ENUM_STRUCT,FILE_ENUM_UNION,FILE_INFO,FILE_INFO_2,FILE_INFO_2_ARRAY,FILE_INFO_2_CONTAINER,FILE_INFO_3,FILE_INFO_3_ARRAY,FILE_INFO_3_CONTAINER,LPCONNECTION_INFO_0_ARRAY,LPCONNECTION_INFO_1_ARRAY,LPCONNECT_INFO_0_CONTAINER,LPCONNECT_INFO_1_CONTAINER,LPDFS_SITELIST_INFO,LPDISK_ENUM_CONTAINER,LPDISK_INFO,LPDISK_INFO_ARRAY,LPFILE_INFO_2,LPFILE_INFO_2_ARRAY,LPFILE_INFO_2_CONTAINER,LPFILE_INFO_3,LPFILE_INFO_3_ARRAY,LPFILE_INFO_3_CONTAINER,LPNET_DFS_ENTRY_ID_ARRAY,LPSERVER_ALIAS_INFO_0,LPSERVER_ALIAS_INFO_0_ARRAY,LPSERVER_ALIAS_INFO_0_CONTAINER,LPSERVER_INFO_100,LPSERVER_INFO_1005,LPSERVER_INFO_101,LPSERVER_INFO_1010,LPSERVER_INFO_1016,LPSERVER_INFO_1017,LPSERVER_INFO_1018,LPSERVER_INFO_102,LPSERVER_INFO_103,LPSERVER_INFO_1107,LPSERVER_INFO_1501,LPSERVER_INFO_1502,LPSERVER_INFO_1503,LPSERVER_INFO_1506,LPSERVER_INFO_1510,LPSERVER_INFO_1511,LPSERVER_INFO_1512,LPSERVER_INFO_1513,LPSERVER_INFO_1514,LPSERVER_INFO_1515,LPSERVER_INFO_1516,LPSERVER_INFO_1518,LPSERVER_INFO_1523,LPSERVER_INFO_1528,LPSERVER_INFO_1529,LPSERVER_INFO_1530,LPSERVER_INFO_1533,LPSERVER_INFO_1534,LPSERVER_INFO_1535,LPSERVER_INFO_1536,LPSERVER_INFO_1538,LPSERVER_INFO_1539,LPSERVER_INFO_1540,LPSERVER_INFO_1541,LPSERVER_INFO_1542,LPSERVER_INFO_1543,LPSERVER_INFO_1544,LPSERVER_INFO_1545,LPSERVER_INFO_1546,LPSERVER_INFO_1547,LPSERVER_INFO_1548,LPSERVER_INFO_1549,LPSERVER_INFO_1550,LPSERVER_INFO_1552,LPSERVER_INFO_1553,LPSERVER_INFO_1554,LPSERVER_INFO_1555,LPSERVER_INFO_1556,LPSERVER_INFO_502,LPSERVER_INFO_503,LPSERVER_INFO_599,LPSERVER_TRANSPORT_INFO_0,LPSERVER_TRANSPORT_INFO_0_ARRAY,LPSERVER_TRANSPORT_INFO_1,LPSERVER_TRANSPORT_INFO_1_ARRAY,LPSERVER_TRANSPORT_INFO_2,LPSERVER_TRANSPORT_INFO_2_ARRAY,LPSERVER_TRANSPORT_INFO_3,LPSERVER_TRANSPORT_INFO_3_ARRAY,LPSERVER_XPORT_INFO_0_CONTAINER,LPSERVER_XPORT_INFO_1_CONTAINER,LPSERVER_XPORT_INFO_2_CONTAINER,LPSERVER_XPORT_INFO_3_CONTAINER,LPSESSION_INFO_0,LPSESSION_INFO_0_ARRAY,LPSESSION_INFO_0_CONTAINER,LPSESSION_INFO_1,LPSESSION_INFO_10,LPSESSION_INFO_10_ARRAY,LPSESSION_INFO_10_CONTAINER,LPSESSION_INFO_1_ARRAY,LPSESSION_INFO_1_CONTAINER,LPSESSION_INFO_2,LPSESSION_INFO_2_ARRAY,LPSESSION_INFO_2_CONTAINER,LPSESSION_INFO_502,LPSESSION_INFO_502_ARRAY,LPSESSION_INFO_502_CONTAINER,LPSHARE_INFO_0,LPSHARE_INFO_0_ARRAY,LPSHARE_INFO_0_CONTAINER,LPSHARE_INFO_1,LPSHARE_INFO_1004,LPSHARE_INFO_1004_ARRAY,LPSHARE_INFO_1005,LPSHARE_INFO_1005_ARRAY,LPSHARE_INFO_1006,LPSHARE_INFO_1006_ARRAY,LPSHARE_INFO_1501,LPSHARE_INFO_1501_ARRAY,LPSHARE_INFO_1_ARRAY,LPSHARE_INFO_1_CONTAINER,LPSHARE_INFO_2,LPSHARE_INFO_2_ARRAY,LPSHARE_INFO_2_CONTAINER,LPSHARE_INFO_501,LPSHARE_INFO_501_ARRAY,LPSHARE_INFO_501_CONTAINER,LPSHARE_INFO_502,LPSHARE_INFO_502_ARRAY,LPSHARE_INFO_502_CONTAINER,LPSHARE_INFO_503,LPSHARE_INFO_503_ARRAY,LPSHARE_INFO_503_CONTAINER,LPSTAT_SERVER_0,LPTIME_OF_DAY_INFO,NET_DFS_ENTRY_ID,NET_DFS_ENTRY_ID_ARRAY,NET_DFS_ENTRY_ID_CONTAINER,NetprNameCanonicalize,NetprNameCanonicalizeResponse,NetprNameCompare,NetprNameCompareResponse,NetprNameValidate,NetprNameValidateResponse,NetprPathCanonicalize,NetprPathCanonicalizeResponse,NetprPathCompare,NetprPathCompareResponse,NetprPathType,NetprPathTypeResponse,NetrConnectionEnum,NetrConnectionEnumResponse,NetrDfsCreateExitPoint,NetrDfsCreateExitPointResponse,NetrDfsCreateLocalPartition,NetrDfsCreateLocalPartitionResponse,NetrDfsDeleteExitPoint,NetrDfsDeleteExitPointResponse,NetrDfsDeleteLocalPartition,NetrDfsDeleteLocalPartitionResponse,NetrDfsFixLocalVolume,NetrDfsFixLocalVolumeResponse,NetrDfsGetVersion,NetrDfsGetVersionResponse,NetrDfsManagerReportSiteInfo,NetrDfsManagerReportSiteInfoResponse,NetrDfsModifyPrefix,NetrDfsModifyPrefixResponse,NetrDfsSetLocalVolumeState,NetrDfsSetLocalVolumeStateResponse,NetrFileClose,NetrFileCloseResponse,NetrFileEnum,NetrFileEnumResponse,NetrFileGetInfo,NetrFileGetInfoResponse,NetrRemoteTOD,NetrRemoteTODResponse,NetrServerAliasAdd,NetrServerAliasAddResponse,NetrServerAliasDel,NetrServerAliasDelResponse,NetrServerAliasEnum,NetrServerAliasEnumResponse,NetrServerDiskEnum,NetrServerDiskEnumResponse,NetrServerGetInfo,NetrServerGetInfoResponse,NetrServerSetInfo,NetrServerSetInfoResponse,NetrServerStatisticsGet,NetrServerStatisticsGetResponse,NetrServerTransportAdd,NetrServerTransportAddEx,NetrServerTransportAddExResponse,NetrServerTransportAddResponse,NetrServerTransportDel,NetrServerTransportDelEx,NetrServerTransportDelExResponse,NetrServerTransportDelResponse,NetrServerTransportEnum,NetrServerTransportEnumResponse,NetrSessionDel,NetrSessionDelResponse,NetrSessionEnum,NetrSessionEnumResponse,NetrShareAdd,NetrShareAddResponse,NetrShareCheck,NetrShareCheckResponse,NetrShareDel,NetrShareDelCommit,NetrShareDelCommitResponse,NetrShareDelEx,NetrShareDelExResponse,NetrShareDelResponse,NetrShareDelStart,NetrShareDelStartResponse,NetrShareDelSticky,NetrShareDelStickyResponse,NetrShareEnum,NetrShareEnumResponse,NetrShareEnumSticky,NetrShareEnumStickyResponse,NetrShareGetInfo,NetrShareGetInfoResponse,NetrShareSetInfo,NetrShareSetInfoResponse,NetrpGetFileSecurity,NetrpGetFileSecurityResponse,NetrpSetFileSecurity,NetrpSetFileSecurityResponse,PADT_SECURITY_DESCRIPTOR,PASSWORD_ARRAY,PSHARE_DEL_HANDLE,PSRVSVC_HANDLE,SERVER_ALIAS_ENUM_STRUCT,SERVER_ALIAS_ENUM_UNION,SERVER_ALIAS_INFO,SERVER_ALIAS_INFO_0,SERVER_ALIAS_INFO_0_ARRAY,SERVER_ALIAS_INFO_0_CONTAINER,SERVER_INFO,SERVER_INFO_100,SERVER_INFO_1005,SERVER_INFO_101,SERVER_INFO_1010,SERVER_INFO_1016,SERVER_INFO_1017,SERVER_INFO_1018,SERVER_INFO_102,SERVER_INFO_103,SERVER_INFO_1107,SERVER_INFO_1501,SERVER_INFO_1502,SERVER_INFO_1503,SERVER_INFO_1506,SERVER_INFO_1510,SERVER_INFO_1511,SERVER_INFO_1512,SERVER_INFO_1513,SERVER_INFO_1514,SERVER_INFO_1515,SERVER_INFO_1516,SERVER_INFO_1518,SERVER_INFO_1523,SERVER_INFO_1528,SERVER_INFO_1529,SERVER_INFO_1530,SERVER_INFO_1533,SERVER_INFO_1534,SERVER_INFO_1535,SERVER_INFO_1536,SERVER_INFO_1538,SERVER_INFO_1539,SERVER_INFO_1540,SERVER_INFO_1541,SERVER_INFO_1542,SERVER_INFO_1543,SERVER_INFO_1544,SERVER_INFO_1545,SERVER_INFO_1546,SERVER_INFO_1547,SERVER_INFO_1548,SERVER_INFO_1549,SERVER_INFO_1550,SERVER_INFO_1552,SERVER_INFO_1553,SERVER_INFO_1554,SERVER_INFO_1555,SERVER_INFO_1556,SERVER_INFO_502,SERVER_INFO_503,SERVER_INFO_599,SERVER_TRANSPORT_INFO_0,SERVER_TRANSPORT_INFO_0_ARRAY,SERVER_TRANSPORT_INFO_1,SERVER_TRANSPORT_INFO_1_ARRAY,SERVER_TRANSPORT_INFO_2,SERVER_TRANSPORT_INFO_2_ARRAY,SERVER_TRANSPORT_INFO_3,SERVER_TRANSPORT_INFO_3_ARRAY,SERVER_XPORT_ENUM_STRUCT,SERVER_XPORT_ENUM_UNION,SERVER_XPORT_INFO_0_CONTAINER,SERVER_XPORT_INFO_1_CONTAINER,SERVER_XPORT_INFO_2_CONTAINER,SERVER_XPORT_INFO_3_CONTAINER,SESSION_ENUM_STRUCT,SESSION_ENUM_UNION,SESSION_INFO_0,SESSION_INFO_0_ARRAY,SESSION_INFO_0_CONTAINER,SESSION_INFO_1,SESSION_INFO_10,SESSION_INFO_10_ARRAY,SESSION_INFO_10_CONTAINER,SESSION_INFO_1_ARRAY,SESSION_INFO_1_CONTAINER,SESSION_INFO_2,SESSION_INFO_2_ARRAY,SESSION_INFO_2_CONTAINER,SESSION_INFO_502,SESSION_INFO_502_ARRAY,SESSION_INFO_502_CONTAINER,SHARE_DEL_HANDLE,SHARE_ENUM_STRUCT,SHARE_ENUM_UNION,SHARE_INFO,SHARE_INFO_0,SHARE_INFO_0_ARRAY,SHARE_INFO_0_CONTAINER,SHARE_INFO_1,SHARE_INFO_1004,SHARE_INFO_1004_ARRAY,SHARE_INFO_1005,SHARE_INFO_1005_ARRAY,SHARE_INFO_1006,SHARE_INFO_1006_ARRAY,SHARE_INFO_1501,SHARE_INFO_1501_ARRAY,SHARE_INFO_1_ARRAY,SHARE_INFO_1_CONTAINER,SHARE_INFO_2,SHARE_INFO_2_ARRAY,SHARE_INFO_2_CONTAINER,SHARE_INFO_501,SHARE_INFO_501_ARRAY,SHARE_INFO_501_CONTAINER,SHARE_INFO_502,SHARE_INFO_502_ARRAY,SHARE_INFO_502_CONTAINER,SHARE_INFO_503,SHARE_INFO_503_ARRAY,SHARE_INFO_503_CONTAINER,STAT_SERVER_0,TIME_OF_DAY_INFO,TRANSPORT_INFO,WCHAR_ARRAY,hNetprNameCanonicalize,hNetprNameCompare,hNetprNameValidate,hNetprPathCanonicalize,hNetprPathCompare,hNetprPathType,hNetrConnectionEnum,hNetrDfsGetVersion,hNetrFileClose,hNetrFileEnum,hNetrFileGetInfo,hNetrRemoteTOD,hNetrServerAliasAdd,hNetrServerAliasDel,hNetrServerAliasEnum,hNetrServerDiskEnum,hNetrServerGetInfo,hNetrServerStatisticsGet,hNetrServerTransportEnum,hNetrSessionDel,hNetrSessionEnum,hNetrShareAdd,hNetrShareCheck,hNetrShareDel,hNetrShareDelCommit,hNetrShareDelStart,hNetrShareDelSticky,hNetrShareEnum,hNetrShareEnumSticky,hNetrShareGetInfo,hNetrShareSetInfo,hNetrpGetFileSecurity,hNetrpSetFileSecurity",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9fa9db9e4e01c24",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,sys",
      "lines": 3296,
      "logic_relevance": "none",
      "name": "srvs",
      "normalized_name": "srvs",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/srvs.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "3120fabed1dba72c350d14cf",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,__future__,builtins,hashlib,impacket,impacket.crypto,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.krb5,impacket.structure,impacket.uuid,pyasn1.codec.ber,pyasn1.type,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ATTR, ATTRBLOCK, ATTRTYP_ARRAY, ATTRVAL, ATTRVALBLOCK, ATTRVAL_ARRAY, ATTR_ARRAY, BYTE_ARRAY | imports:Cryptodome.Cipher, __future__, builtins, hashlib, impacket, impacket.crypto, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ATTR,ATTRBLOCK,ATTRTYP_ARRAY,ATTRVAL,ATTRVALBLOCK,ATTRVAL_ARRAY,ATTR_ARRAY,BYTE_ARRAY,DCERPCSessionError,DRSBind,DRSBindResponse,DRSCrackNames,DRSCrackNamesResponse,DRSDomainControllerInfo,DRSDomainControllerInfoResponse,DRSGetNCChanges,DRSGetNCChangesResponse,DRSGetNT4ChangeLog,DRSGetNT4ChangeLogResponse,DRSUnbind,DRSUnbindResponse,DRSVerifyNames,DRSVerifyNamesResponse,DRS_COMPRESSED_BLOB,DRS_COMP_ALG_TYPE,DRS_EXTENSIONS,DRS_EXTENSIONS_INT,DRS_HANDLE,DRS_MSG_CRACKREPLY,DRS_MSG_CRACKREPLY_V1,DRS_MSG_CRACKREQ,DRS_MSG_CRACKREQ_V1,DRS_MSG_DCINFOREPLY,DRS_MSG_DCINFOREPLY_V1,DRS_MSG_DCINFOREPLY_V2,DRS_MSG_DCINFOREPLY_V3,DRS_MSG_DCINFOREPLY_VFFFFFFFF,DRS_MSG_DCINFOREQ,DRS_MSG_DCINFOREQ_V1,DRS_MSG_GETCHGREPLY,DRS_MSG_GETCHGREPLY_V1,DRS_MSG_GETCHGREPLY_V2,DRS_MSG_GETCHGREPLY_V6,DRS_MSG_GETCHGREPLY_V7,DRS_MSG_GETCHGREPLY_V9,DRS_MSG_GETCHGREQ,DRS_MSG_GETCHGREQ_V10,DRS_MSG_GETCHGREQ_V3,DRS_MSG_GETCHGREQ_V4,DRS_MSG_GETCHGREQ_V5,DRS_MSG_GETCHGREQ_V7,DRS_MSG_GETCHGREQ_V8,DRS_MSG_NT4_CHGLOG_REPLY,DRS_MSG_NT4_CHGLOG_REPLY_V1,DRS_MSG_NT4_CHGLOG_REQ,DRS_MSG_NT4_CHGLOG_REQ_V1,DRS_MSG_VERIFYREPLY,DRS_MSG_VERIFYREPLY_V1,DRS_MSG_VERIFYREQ,DRS_MSG_VERIFYREQ_V1,DSNAME,DS_DOMAIN_CONTROLLER_INFO_1W,DS_DOMAIN_CONTROLLER_INFO_1W_ARRAY,DS_DOMAIN_CONTROLLER_INFO_2W,DS_DOMAIN_CONTROLLER_INFO_2W_ARRAY,DS_DOMAIN_CONTROLLER_INFO_3W,DS_DOMAIN_CONTROLLER_INFO_3W_ARRAY,DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW,DS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW_ARRAY,DS_NAME_FORMAT,DS_NAME_RESULTW,DS_NAME_RESULT_ITEMW,DS_NAME_RESULT_ITEMW_ARRAY,DecryptAttributeValue,ENCRYPTED_PAYLOAD,ENTINF,ENTINF_ARRAY,EXOP_ERR,LPWSTR_ARRAY,MTX_ADDR,MakeAttid,NT4SID,NT4_REPLICATION_STATE,OID_t,OidFromAttid,PARTIAL_ATTR_VECTOR_V1_EXT,PATTRVAL_ARRAY,PATTR_ARRAY,PBYTE_ARRAY,PDRS_EXTENSIONS,PDRS_HANDLE,PDSNAME,PDSNAME_ARRAY,PDS_DOMAIN_CONTROLLER_INFO_1W_ARRAY,PDS_DOMAIN_CONTROLLER_INFO_2W_ARRAY,PDS_DOMAIN_CONTROLLER_INFO_3W_ARRAY,PDS_DOMAIN_CONTROLLER_INFO_FFFFFFFFW_ARRAY,PDS_NAME_RESULTW,PDS_NAME_RESULT_ITEMW_ARRAY,PENTINF_ARRAY,PLPWSTR_ARRAY,PMTX_ADDR,PPARTIAL_ATTR_VECTOR_V1_EXT,PPDSNAME_ARRAY,PPROPERTY_META_DATA_EXT_VECTOR,PPrefixTableEntry_ARRAY,PREPLENTINFLIST,PREPLVALINF_V1_ARRAY,PREPLVALINF_V3_ARRAY,PROPERTY_META_DATA_EXT,PROPERTY_META_DATA_EXT_ARRAY,PROPERTY_META_DATA_EXT_VECTOR,PUPTODATE_VECTOR_V1_EXT,PUPTODATE_VECTOR_V2_EXT,PrefixTableEntry,PrefixTableEntry_ARRAY,REPLENTINFLIST,REPLVALINF_V1,REPLVALINF_V1_ARRAY,REPLVALINF_V3,REPLVALINF_V3_ARRAY,SCHEMA_PREFIX_TABLE,UPTODATE_CURSOR_V1,UPTODATE_CURSOR_V1_ARRAY,UPTODATE_CURSOR_V2,UPTODATE_CURSOR_V2_ARRAY,UPTODATE_VECTOR_V1_EXT,UPTODATE_VECTOR_V2_EXT,USN_VECTOR,VALUE_META_DATA_EXT_V1,VALUE_META_DATA_EXT_V3,WCHAR_ARRAY,checkNullString,deriveKey,hDRSCrackNames,hDRSDomainControllerInfo,hDRSUnbind,removeDESLayer",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cee0ecdefb98ce7",
      "framework": "python",
      "imports": "Cryptodome.Cipher,__future__,builtins,hashlib,impacket,impacket.crypto,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.krb5,impacket.structure,impacket.uuid,pyasn1.codec.ber,pyasn1.type,six,struct",
      "lines": 1517,
      "logic_relevance": "none",
      "name": "drsuapi",
      "normalized_name": "drsuapi",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/drsuapi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "f08202b88bf3715f22fa3790",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,socket,struct,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ACTIVATION_BLOB, ActivationContextInfoData, BYTE_ARRAY, CLASS_INSTANCE, CLSID_ARRAY, COMVERSION, COSERVERINFO, ComplexPing | imports:__future__, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid, socket | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ACTIVATION_BLOB,ActivationContextInfoData,BYTE_ARRAY,CLASS_INSTANCE,CLSID_ARRAY,COMVERSION,COSERVERINFO,ComplexPing,ComplexPingResponse,Context,CustomHeader,DATAELEMENT,DCERPCSessionError,DCOMANSWER,DCOMCALL,DCOMConnection,DUALSTRINGARRAY,DUALSTRINGARRAYPACKED,DWORD_ARRAY,EXTENT_ARRAY,EntryHeader,EntryHeader_ARRAY,ErrorInfoString,HRESULT_ARRAY,IActivation,IID_ARRAY,INTERFACE,IObjectExporter,IRemUnknown,IRemUnknown2,IRemoteSCMActivator,InstanceInfoData,InstantiationInfoData,LocationInfoData,MInterfacePointer,MInterfacePointer_ARRAY,OBJREF,OBJREF_CUSTOM,OBJREF_EXTENDED,OBJREF_HANDLER,OBJREF_STANDARD,OID_ARRAY,ORPCTHAT,ORPCTHIS,ORPC_CONTEXT,ORPC_ERROR_INFORMATION,ORPC_EXTENT,ORPC_EXTENT_ARRAY,PCLSID_ARRAY,PCOMVERSION,PCOSERVERINFO,PDUALSTRINGARRAY,PDWORD_ARRAY,PEXTENT_ARRAY,PHRESULT_ARRAY,PIID_ARRAY,PMInterfacePointer,PMInterfacePointerInternal,PMInterfacePointer_ARRAY,POID_ARRAY,PORPC_EXTENT,PORPC_EXTENT_ARRAY,PPMInterfacePointer,PPMInterfacePointer_ARRAY,PREMQIRESULT,PROPMARSHALHEADER,PROPMARSHALHEADER_ARRAY,PUSHORT_ARRAY,PcustomREMOTE_REPLY_SCM_INFO,PcustomREMOTE_REQUEST_SCM_INFO,PropsOutInfo,REMINTERFACEREF,REMINTERFACEREF_ARRAY,REMQIRESULT,RemAddRef,RemAddRefResponse,RemQueryInterface,RemQueryInterfaceResponse,RemRelease,RemReleaseResponse,RemoteActivation,RemoteActivationResponse,RemoteCreateInstance,RemoteCreateInstanceResponse,RemoteGetClassObject,RemoteGetClassObjectResponse,ResolveOxid,ResolveOxid2,ResolveOxid2Response,ResolveOxidResponse,SECURITYBINDING,STDOBJREF,STRINGBINDING,ScmReplyInfoData,ScmRequestInfoData,SecurityInfoData,ServerAlive,ServerAlive2,ServerAlive2Response,ServerAliveResponse,SimplePing,SimplePingResponse,SpecialPropertiesData,USHORT_ARRAY,customREMOTE_REPLY_SCM_INFO,customREMOTE_REQUEST_SCM_INFO,handle_t",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5fae47125773eef8",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,socket,struct,threading",
      "lines": 1903,
      "logic_relevance": "none",
      "name": "dcomrt",
      "normalized_name": "dcomrt",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dcomrt.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5e7cb93fb985da00e0b5dc75",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,binascii,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.krb5,impacket.structure,impacket.uuid,logging,socket,sys,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CommonHeader, CtxItem, CtxItemResult, DCERPC, DCERPCException, DCERPCServer, DCERPC_RawCall, DCERPC_v4 | imports:Cryptodome.Cipher, binascii, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.krb5, impacket.structure | observability-score:55 | security-score:55",
      "exports": "CommonHeader,CtxItem,CtxItemResult,DCERPC,DCERPCException,DCERPCServer,DCERPC_RawCall,DCERPC_v4,DCERPC_v5,MSRPCBind,MSRPCBindAck,MSRPCBindNak,MSRPCHeader,MSRPCRequestHeader,MSRPCRespHeader,PrivateHeader,SEC_TRAILER,TypeSerialization1",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "100f28a97b155508",
      "framework": "python",
      "imports": "Cryptodome.Cipher,binascii,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.krb5,impacket.structure,impacket.uuid,logging,socket,sys,threading",
      "lines": 1687,
      "logic_relevance": "none",
      "name": "rpcrt",
      "normalized_name": "rpcrt",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/rpcrt.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "355f980df6e6ed588ed3266f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,socket",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BYTE_ARRAY, DCERPCSessionError, IpTransitionCreatev6Inv4Tunnel, IpTransitionCreatev6Inv4TunnelResponse, IpTransitionDeletev6Inv4Tunnel, IpTransitionDeletev6Inv4TunnelResponse, IpTransitionProtocolApplyConfigChanges, IpTransitionProtocolApplyConfigChangesEx | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid, socket | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,DCERPCSessionError,IpTransitionCreatev6Inv4Tunnel,IpTransitionCreatev6Inv4TunnelResponse,IpTransitionDeletev6Inv4Tunnel,IpTransitionDeletev6Inv4TunnelResponse,IpTransitionProtocolApplyConfigChanges,IpTransitionProtocolApplyConfigChangesEx,IpTransitionProtocolApplyConfigChangesExResponse,IpTransitionProtocolApplyConfigChangesResponse,checkNullString,hIpTransitionCreatev6Inv4Tunnel,hIpTransitionDeletev6Inv4Tunnel,hIpTransitionProtocolApplyConfigChanges,hIpTransitionProtocolApplyConfigChangesEx",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3f0119b239598219",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,socket",
      "lines": 172,
      "logic_relevance": "none",
      "name": "iphlp",
      "normalized_name": "iphlp",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/iphlp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "f6edbc7d60902a2a787f3e7e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AT_ENUM, AT_ENUM_ARRAY, AT_ENUM_CONTAINER, AT_INFO, DCERPCSessionError, LPAT_ENUM_ARRAY, LPAT_INFO, NetrJobAdd | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AT_ENUM,AT_ENUM_ARRAY,AT_ENUM_CONTAINER,AT_INFO,DCERPCSessionError,LPAT_ENUM_ARRAY,LPAT_INFO,NetrJobAdd,NetrJobAddResponse,NetrJobDel,NetrJobDelResponse,NetrJobEnum,NetrJobEnumResponse,NetrJobGetInfo,NetrJobGetInfoResponse,hNetrJobAdd,hNetrJobDel,hNetrJobEnum,hNetrJobGetInfo",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "22f83c4e296cc058",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 211,
      "logic_relevance": "none",
      "name": "atsvc",
      "normalized_name": "atsvc",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/atsvc.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "7d231e409be8b1cebd2993c7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BYTE_ARRAY, BackuprKey, BackuprKeyResponse, DCERPCSessionError, PBYTE_ARRAY, Rc4EncryptedPayload, WRAPPED_SECRET, hBackuprKey | imports:__future__, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.structure, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,BackuprKey,BackuprKeyResponse,DCERPCSessionError,PBYTE_ARRAY,Rc4EncryptedPayload,WRAPPED_SECRET,hBackuprKey",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5b81ed54d8826838",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid",
      "lines": 127,
      "logic_relevance": "none",
      "name": "bkrp",
      "normalized_name": "bkrp",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/bkrp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "8941bfdd1d5346d12ca91241",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, EVENTLOGRECORD, EVENTLOG_FULL_INFORMATION, ElfrBackupELFW, ElfrBackupELFWResponse, ElfrClearELFW, ElfrClearELFWResponse, ElfrCloseEL | imports:__future__, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.lsad, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.structure, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,EVENTLOGRECORD,EVENTLOG_FULL_INFORMATION,ElfrBackupELFW,ElfrBackupELFWResponse,ElfrClearELFW,ElfrClearELFWResponse,ElfrCloseEL,ElfrCloseELResponse,ElfrNumberOfRecords,ElfrNumberOfRecordsResponse,ElfrOldestRecord,ElfrOldestRecordResponse,ElfrOpenBELW,ElfrOpenBELWResponse,ElfrOpenELW,ElfrOpenELWResponse,ElfrReadELW,ElfrReadELWResponse,ElfrRegisterEventSourceW,ElfrRegisterEventSourceWResponse,ElfrReportEventW,ElfrReportEventWResponse,IELF_HANDLE,RPC_CLIENT_ID,RPC_STRING,hElfrBackupELFW,hElfrClearELFW,hElfrCloseEL,hElfrNumberOfRecords,hElfrOldestRecordNumber,hElfrOpenBELW,hElfrOpenELW,hElfrReadELW,hElfrRegisterEventSourceW",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9ac63dd94664d955",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid",
      "lines": 400,
      "logic_relevance": "none",
      "name": "even",
      "normalized_name": "even",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/even.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "d5496d4bbc2382c72db1b21a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,binascii,impacket,impacket.dcerpc.v5.rpch,impacket.dcerpc.v5.rpcrt,impacket.smbconnection,os,re,socket,urllib.parse,urlparse",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCStringBinding, DCERPCStringBindingCompose, DCERPCTransport, DCERPCTransportFactory, HTTPTransport, LOCALTransport, SMBTransport, TCPTransport | imports:__future__, binascii, impacket, impacket.dcerpc.v5.rpch, impacket.dcerpc.v5.rpcrt, impacket.smbconnection, os, re | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DCERPCStringBinding,DCERPCStringBindingCompose,DCERPCTransport,DCERPCTransportFactory,HTTPTransport,LOCALTransport,SMBTransport,TCPTransport,UDPTransport",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b48eda8c90407f8",
      "framework": "python",
      "imports": "__future__,binascii,impacket,impacket.dcerpc.v5.rpch,impacket.dcerpc.v5.rpcrt,impacket.smbconnection,os,re,socket,urllib.parse,urlparse",
      "lines": 592,
      "logic_relevance": "none",
      "name": "transport",
      "normalized_name": "transport",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/transport.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "b4c2683000dc2c9a5dfa654b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BYTE_ARRAY, DATE_TIME, DCERPCSessionError, DHCP_ALL_OPTIONS_VALUES, DHCP_ALL_OPTION_VALUES, DHCP_BINARY_DATA, DHCP_BOOTP_IP_RANGE, DHCP_CLIENT_INFO_ARRAY_V4 | imports:__future__, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,DATE_TIME,DCERPCSessionError,DHCP_ALL_OPTIONS_VALUES,DHCP_ALL_OPTION_VALUES,DHCP_BINARY_DATA,DHCP_BOOTP_IP_RANGE,DHCP_CLIENT_INFO_ARRAY_V4,DHCP_CLIENT_INFO_ARRAY_V5,DHCP_CLIENT_INFO_ARRAY_VQ,DHCP_CLIENT_INFO_PB,DHCP_CLIENT_INFO_V4,DHCP_CLIENT_INFO_V4_ARRAY,DHCP_CLIENT_INFO_V5,DHCP_CLIENT_INFO_V5_ARRAY,DHCP_CLIENT_INFO_VQ,DHCP_CLIENT_INFO_VQ_ARRAY,DHCP_CLIENT_SEARCH_UNION,DHCP_HOST_INFO,DHCP_IP_ADDRESS_ARRAY,DHCP_IP_ARRAY,DHCP_IP_CLUSTER,DHCP_IP_RANGE,DHCP_IP_RESERVATION_V4,DHCP_OPTION_DATA,DHCP_OPTION_DATA_ELEMENT,DHCP_OPTION_DATA_ELEMENT_ARRAY2,DHCP_OPTION_DATA_TYPE,DHCP_OPTION_ELEMENT_UNION,DHCP_OPTION_SCOPE_INFO,DHCP_OPTION_SCOPE_TYPE,DHCP_OPTION_SCOPE_UNION,DHCP_OPTION_VALUE,DHCP_OPTION_VALUE_ARRAY,DHCP_OPTION_VALUE_ARRAY2,DHCP_RESERVED_SCOPE,DHCP_SEARCH_INFO,DHCP_SEARCH_INFO_TYPE,DHCP_SUBNET_ELEMENT_DATA_V5,DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5,DHCP_SUBNET_ELEMENT_TYPE,DHCP_SUBNET_ELEMENT_UNION_V5,DHCP_SUBNET_INFO,DHCP_SUBNET_STATE,DWORD_DWORD,DhcpEnumOptionValues,DhcpEnumOptionValuesResponse,DhcpEnumOptionValuesV5,DhcpEnumOptionValuesV5Response,DhcpEnumSubnetClientsV4,DhcpEnumSubnetClientsV4Response,DhcpEnumSubnetClientsV5,DhcpEnumSubnetClientsV5Response,DhcpEnumSubnetClientsVQ,DhcpEnumSubnetClientsVQResponse,DhcpEnumSubnetElementsV5,DhcpEnumSubnetElementsV5Response,DhcpEnumSubnets,DhcpEnumSubnetsResponse,DhcpGetAllOptionValues,DhcpGetAllOptionValuesResponse,DhcpGetClientInfoV4,DhcpGetClientInfoV4Response,DhcpGetOptionValue,DhcpGetOptionValueResponse,DhcpGetOptionValueV5,DhcpGetOptionValueV5Response,DhcpGetSubnetInfo,DhcpGetSubnetInfoResponse,DhcpV4GetClientInfo,DhcpV4GetClientInfoResponse,LPDHCP_ALL_OPTION_VALUES,LPDHCP_CLIENT_INFO_ARRAY_V4,LPDHCP_CLIENT_INFO_ARRAY_V5,LPDHCP_CLIENT_INFO_ARRAY_VQ,LPDHCP_CLIENT_INFO_PB,LPDHCP_CLIENT_INFO_V4,LPDHCP_CLIENT_INFO_V4_ARRAY,LPDHCP_CLIENT_INFO_V5,LPDHCP_CLIENT_INFO_V5_ARRAY,LPDHCP_CLIENT_INFO_VQ,LPDHCP_CLIENT_INFO_VQ_ARRAY,LPDHCP_IP_ADDRESS_ARRAY,LPDHCP_OPTION_DATA_ELEMENT,LPDHCP_OPTION_SCOPE_INFO,LPDHCP_OPTION_VALUE,LPDHCP_OPTION_VALUE_ARRAY,LPDHCP_SUBNET_ELEMENT_DATA_V5,LPDHCP_SUBNET_ELEMENT_INFO_ARRAY_V5,LPDHCP_SUBNET_INFO,LPOPTION_VALUES_ARRAY,OPTION_VALUES_ARRAY,PBYTE_ARRAY,PDHCP_OPTION_VALUE,QuarantineStatus,hDhcpEnumOptionValues,hDhcpEnumOptionValuesV5,hDhcpEnumSubnetClientsV4,hDhcpEnumSubnetClientsV5,hDhcpEnumSubnetClientsVQ,hDhcpEnumSubnetElementsV5,hDhcpEnumSubnets,hDhcpGetAllOptionValues,hDhcpGetClientInfoV4,hDhcpGetOptionValue,hDhcpGetOptionValueV5,hDhcpGetSubnetInfo",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51aa66a2fa261641",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 1018,
      "logic_relevance": "none",
      "name": "dhcpm",
      "normalized_name": "dhcpm",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dhcpm.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "594330e34ca9af0a7b76310c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BYTE_ARRAY, DCERPCSessionError, ENUM_SERVICE_STATUSW, LPBOUNDED_DWORD_256K, LPQUERY_SERVICE_CONFIGW, LPSERVICE_DELAYED_AUTO_START_INFO, LPSERVICE_DESCRIPTIONW, LPSERVICE_FAILURE_ACTIONSW | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,DCERPCSessionError,ENUM_SERVICE_STATUSW,LPBOUNDED_DWORD_256K,LPQUERY_SERVICE_CONFIGW,LPSERVICE_DELAYED_AUTO_START_INFO,LPSERVICE_DESCRIPTIONW,LPSERVICE_FAILURE_ACTIONSW,LPSERVICE_FAILURE_ACTIONS_FLAG,LPSERVICE_PREFERRED_NODE_INFO,LPSERVICE_PRESHUTDOWN_INFO,LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO,LPSERVICE_SID_INFO,LPSERVICE_STATUS,PSC_RPC_NOTIFY_PARAMS_LIST,PSERVICE_MANAGEDACCOUNT_INFO,PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1,PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2,PSERVICE_RUNLEVEL_INFO,PSERVICE_TRIGGER,PSERVICE_TRIGGER_INFO,PSERVICE_TRIGGER_SPECIFIC_DATA_ITEM,QUERY_SERVICE_CONFIGW,QUERY_SERVICE_LOCK_STATUSW,RChangeServiceConfig2W,RChangeServiceConfig2WResponse,RChangeServiceConfigW,RChangeServiceConfigWResponse,RCloseNotifyHandle,RCloseNotifyHandleResponse,RCloseServiceHandle,RCloseServiceHandleResponse,RControlService,RControlServiceExW,RControlServiceExWResponse,RControlServiceResponse,RCreateServiceW,RCreateServiceWOW64W,RCreateServiceWOW64WResponse,RCreateServiceWResponse,RDeleteService,RDeleteServiceResponse,REnumDependentServicesW,REnumDependentServicesWResponse,REnumServiceGroupW,REnumServiceGroupWResponse,REnumServicesStatusExW,REnumServicesStatusExWResponse,REnumServicesStatusW,REnumServicesStatusWResponse,RGetNotifyResults,RGetNotifyResultsResponse,RGetServiceDisplayNameW,RGetServiceDisplayNameWResponse,RGetServiceKeyNameW,RGetServiceKeyNameWResponse,RLockServiceDatabase,RLockServiceDatabaseResponse,RNotifyBootConfigStatus,RNotifyBootConfigStatusResponse,RNotifyServiceStatusChange,RNotifyServiceStatusChangeResponse,ROpenSCManagerW,ROpenSCManagerWResponse,ROpenServiceW,ROpenServiceWResponse,RQueryServiceConfig2W,RQueryServiceConfig2WResponse,RQueryServiceConfigEx,RQueryServiceConfigExResponse,RQueryServiceConfigW,RQueryServiceConfigWResponse,RQueryServiceLockStatusW,RQueryServiceLockStatusWResponse,RQueryServiceObjectSecurity,RQueryServiceObjectSecurityResponse,RQueryServiceStatus,RQueryServiceStatusEx,RQueryServiceStatusExResponse,RQueryServiceStatusResponse,RSetServiceObjectSecurity,RSetServiceObjectSecurityResponse,RSetServiceStatus,RSetServiceStatusResponse,RStartServiceW,RStartServiceWResponse,RUnlockServiceDatabase,RUnlockServiceDatabaseResponse,SC_ACTION,SC_ACTIONS,SC_RPC_CONFIG_INFOW,SC_RPC_CONFIG_INFOW_UNION,SC_RPC_HANDLE,SC_RPC_LOCK,SC_RPC_NOTIFY_PARAMS,SC_RPC_NOTIFY_PARAMS_ARRAY,SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW,SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS,SERVICE_DELAYED_AUTO_START_INFO,SERVICE_DESCRIPTIONW,SERVICE_DESCRIPTION_WOW64,SERVICE_FAILURE_ACTIONSW,SERVICE_FAILURE_ACTIONS_FLAG,SERVICE_FAILURE_ACTIONS_WOW64,SERVICE_MANAGEDACCOUNT_INFO,SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1,SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2,SERVICE_PREFERRED_NODE_INFO,SERVICE_PRESHUTDOWN_INFO,SERVICE_REQUIRED_PRIVILEGES_INFO_WOW64,SERVICE_RPC_REQUIRED_PRIVILEGES_INFO,SERVICE_RUNLEVEL_INFO,SERVICE_SID_INFO,SERVICE_STATUS,SERVICE_STATUS_PROCESS,SERVICE_TRIGGER,SERVICE_TRIGGER_ARRAY,SERVICE_TRIGGER_INFO,SERVICE_TRIGGER_SPECIFIC_DATA_ITEM,SERVICE_TRIGGER_SPECIFIC_DATA_ITEM_ARRAY,STRING_PTRSW,UCHAR_16,UNIQUE_STRING_PTRSW,checkNullString,hRChangeServiceConfigW,hRCloseServiceHandle,hRControlService,hRCreateServiceW,hRDeleteService,hREnumDependentServicesW,hREnumServiceGroupW,hREnumServicesStatusW,hRGetServiceDisplayNameW,hRGetServiceKeyNameW,hRLockServiceDatabase,hRNotifyBootConfigStatus,hROpenSCManagerW,hROpenServiceW,hRQueryServiceConfigW,hRQueryServiceLockStatusW,hRQueryServiceObjectSecurity,hRQueryServiceStatus,hRSetServiceObjectSecurity,hRSetServiceStatus,hRStartServiceW,hRUnlockServiceDatabase",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a519ccca04d2543",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 1398,
      "logic_relevance": "none",
      "name": "scmr",
      "normalized_name": "scmr",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/scmr.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "fbdd1d67fa58c8046d7b45dc",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.epm,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, hinq_if_ids, hinq_princ_name, hinq_stats, his_server_listening, hstop_server_listening, inq_if_ids, inq_if_idsResponse | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.epm, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,hinq_if_ids,hinq_princ_name,hinq_stats,his_server_listening,hstop_server_listening,inq_if_ids,inq_if_idsResponse,inq_princ_name,inq_princ_nameResponse,inq_stats,inq_statsResponse,is_server_listening,is_server_listeningResponse,rpc_if_id_p_t_array,rpc_if_id_vector_p_t,rpc_if_id_vector_t,stop_server_listening,stop_server_listeningResponse",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "cbcc1dc8c419257e",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.epm,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 166,
      "logic_relevance": "none",
      "name": "mgmt",
      "normalized_name": "mgmt",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/mgmt.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "073859f3ee33764ed9b95c4b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, DWORD_ARRAY, LSAPR_ACCOUNT_ENUM_BUFFER, LSAPR_ACCOUNT_INFORMATION, LSAPR_ACCOUNT_INFORMATION_ARRAY, LSAPR_ACL, LSAPR_AUTH_INFORMATION, LSAPR_CR_CIPHER_VALUE | imports:__future__, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,DWORD_ARRAY,LSAPR_ACCOUNT_ENUM_BUFFER,LSAPR_ACCOUNT_INFORMATION,LSAPR_ACCOUNT_INFORMATION_ARRAY,LSAPR_ACL,LSAPR_AUTH_INFORMATION,LSAPR_CR_CIPHER_VALUE,LSAPR_HANDLE,LSAPR_LUID_AND_ATTRIBUTES,LSAPR_LUID_AND_ATTRIBUTES_ARRAY,LSAPR_OBJECT_ATTRIBUTES,LSAPR_POLICY_ACCOUNT_DOM_INFO,LSAPR_POLICY_AUDIT_EVENTS_INFO,LSAPR_POLICY_DNS_DOMAIN_INFO,LSAPR_POLICY_DOMAIN_EFS_INFO,LSAPR_POLICY_DOMAIN_INFORMATION,LSAPR_POLICY_INFORMATION,LSAPR_POLICY_PD_ACCOUNT_INFO,LSAPR_POLICY_PRIMARY_DOM_INFO,LSAPR_POLICY_PRIVILEGE_DEF,LSAPR_POLICY_PRIVILEGE_DEF_ARRAY,LSAPR_POLICY_REPLICA_SRCE_INFO,LSAPR_PRIVILEGE_ENUM_BUFFER,LSAPR_PRIVILEGE_SET,LSAPR_SR_SECURITY_DESCRIPTOR,LSAPR_TRUSTED_CONTROLLERS_INFO,LSAPR_TRUSTED_DOMAIN_AUTH_BLOB,LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION,LSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL,LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION,LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION2,LSAPR_TRUSTED_DOMAIN_FULL_INFORMATION_INTERNAL,LSAPR_TRUSTED_DOMAIN_INFO,LSAPR_TRUSTED_DOMAIN_INFORMATION_EX,LSAPR_TRUSTED_DOMAIN_INFORMATION_EX2,LSAPR_TRUSTED_DOMAIN_INFORMATION_EX_ARRAY,LSAPR_TRUSTED_DOMAIN_NAME_INFO,LSAPR_TRUSTED_ENUM_BUFFER,LSAPR_TRUSTED_ENUM_BUFFER_EX,LSAPR_TRUSTED_PASSWORD_INFO,LSAPR_TRUST_INFORMATION,LSAPR_TRUST_INFORMATION_ARRAY,LSAPR_USER_RIGHT_SET,LSA_FOREST_TRUST_BINARY_DATA,LSA_FOREST_TRUST_COLLISION_RECORD,LSA_FOREST_TRUST_COLLISION_RECORD_TYPE,LSA_FOREST_TRUST_DATA_UNION,LSA_FOREST_TRUST_DOMAIN_INFO,LSA_FOREST_TRUST_INFORMATION,LSA_FOREST_TRUST_RECORD,LSA_FOREST_TRUST_RECORD_ARRAY,LSA_FOREST_TRUST_RECORD_TYPE,LsarAddAccountRights,LsarAddAccountRightsResponse,LsarAddPrivilegesToAccount,LsarAddPrivilegesToAccountResponse,LsarClose,LsarCloseResponse,LsarCreateAccount,LsarCreateAccountResponse,LsarCreateSecret,LsarCreateSecretResponse,LsarDeleteObject,LsarDeleteObjectResponse,LsarEnumerateAccountRights,LsarEnumerateAccountRightsResponse,LsarEnumerateAccounts,LsarEnumerateAccountsResponse,LsarEnumerateAccountsWithUserRight,LsarEnumerateAccountsWithUserRightResponse,LsarEnumeratePrivileges,LsarEnumeratePrivilegesAccount,LsarEnumeratePrivilegesAccountResponse,LsarEnumeratePrivilegesResponse,LsarEnumerateTrustedDomains,LsarEnumerateTrustedDomainsEx,LsarEnumerateTrustedDomainsExResponse,LsarEnumerateTrustedDomainsResponse,LsarGetSystemAccessAccount,LsarGetSystemAccessAccountResponse,LsarLookupPrivilegeDisplayName,LsarLookupPrivilegeDisplayNameResponse,LsarLookupPrivilegeName,LsarLookupPrivilegeNameResponse,LsarLookupPrivilegeValue,LsarLookupPrivilegeValueResponse,LsarOpenAccount,LsarOpenAccountResponse,LsarOpenPolicy,LsarOpenPolicy2,LsarOpenPolicy2Response,LsarOpenPolicyResponse,LsarOpenSecret,LsarOpenSecretResponse,LsarQueryDomainInformationPolicy,LsarQueryDomainInformationPolicyResponse,LsarQueryForestTrustInformation,LsarQueryForestTrustInformationResponse,LsarQueryInformationPolicy,LsarQueryInformationPolicy2,LsarQueryInformationPolicy2Response,LsarQueryInformationPolicyResponse,LsarQuerySecret,LsarQuerySecretResponse,LsarQuerySecurityObject,LsarQuerySecurityObjectResponse,LsarRemoveAccountRights,LsarRemoveAccountRightsResponse,LsarRemovePrivilegesFromAccount,LsarRemovePrivilegesFromAccountResponse,LsarRetrievePrivateData,LsarRetrievePrivateDataResponse,LsarSetInformationPolicy,LsarSetInformationPolicy2,LsarSetInformationPolicy2Response,LsarSetInformationPolicyResponse,LsarSetSecret,LsarSetSecretResponse,LsarSetSecurityObject,LsarSetSecurityObjectResponse,LsarSetSystemAccessAccount,LsarSetSystemAccessAccountResponse,LsarStorePrivateData,LsarStorePrivateDataResponse,PCHAR_ARRAY,PDWORD_ARRAY,PLSAPR_ACCOUNT_INFORMATION_ARRAY,PLSAPR_AUTH_INFORMATION,PLSAPR_CR_CIPHER_VALUE,PLSAPR_POLICY_DOMAIN_INFORMATION,PLSAPR_POLICY_INFORMATION,PLSAPR_POLICY_PRIVILEGE_DEF_ARRAY,PLSAPR_PRIVILEGE_SET,PLSAPR_SECURITY_DESCRIPTOR,PLSAPR_SR_SECURITY_DESCRIPTOR,PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX_ARRAY,PLSAPR_TRUST_INFORMATION_ARRAY,PLSA_FOREST_TRUST_INFORMATION,PLSA_FOREST_TRUST_RECORD,PLSA_FOREST_TRUST_RECORD_ARRAY,POLICY_AUDIT_EVENT_TYPE,POLICY_AUDIT_FULL_QUERY_INFO,POLICY_AUDIT_FULL_SET_INFO,POLICY_AUDIT_LOG_INFO,POLICY_DOMAIN_INFORMATION_CLASS,POLICY_DOMAIN_KERBEROS_TICKET_INFO,POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO,POLICY_INFORMATION_CLASS,POLICY_LSA_SERVER_ROLE,POLICY_LSA_SERVER_ROLE_INFO,POLICY_MODIFICATION_INFO,PPLSAPR_CR_CIPHER_VALUE,PRPC_UNICODE_STRING_ARRAY,PSECURITY_QUALITY_OF_SERVICE,RPC_UNICODE_STRING_ARRAY,SECURITY_IMPERSONATION_LEVEL,SECURITY_QUALITY_OF_SERVICE,STRING,TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES,TRUSTED_INFORMATION_CLASS,TRUSTED_POSIX_OFFSET_INFO,hLsarAddAccountRights,hLsarAddPrivilegesToAccount,hLsarClose,hLsarCreateAccount,hLsarCreateSecret,hLsarDeleteObject,hLsarEnumerateAccountRights,hLsarEnumerateAccounts,hLsarEnumerateAccountsWithUserRight,hLsarEnumeratePrivileges,hLsarEnumeratePrivilegesAccount,hLsarEnumerateTrustedDomains,hLsarEnumerateTrustedDomainsEx,hLsarGetSystemAccessAccount,hLsarLookupPrivilegeName,hLsarLookupPrivilegeValue,hLsarOpenAccount,hLsarOpenPolicy,hLsarOpenPolicy2,hLsarOpenSecret,hLsarQueryDomainInformationPolicy,hLsarQueryInformationPolicy,hLsarQueryInformationPolicy2,hLsarQuerySecret,hLsarQuerySecurityObject,hLsarRemoveAccountRights,hLsarRemovePrivilegesFromAccount,hLsarRetrievePrivateData,hLsarSetInformationPolicy,hLsarSetInformationPolicy2,hLsarSetSecret,hLsarSetSecurityObject,hLsarSetSystemAccessAccount,hLsarStorePrivateData",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1889d50a8a28d08d",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 1665,
      "logic_relevance": "none",
      "name": "lsad",
      "normalized_name": "lsad",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/lsad.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "1c00f9057b6aebf2e573141c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket.dcerpc.v5.ndr,six,struct,sys",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ACL, DWORD_ARRAY, FILETIME, GUID, LPBYTE, LPDWORD, LPLONG, LPSTR | imports:__future__, impacket.dcerpc.v5.ndr, six, struct, sys | observability-score:55 | security-score:55",
      "exports": "ACL,DWORD_ARRAY,FILETIME,GUID,LPBYTE,LPDWORD,LPLONG,LPSTR,LPWSTR,LUID,OBJECT_TYPE_LIST,PACL,PBOOL,PCHAR,PDOUBLE,PFILETIME,PFLOAT,PGUID,PHRESULT,PINT,PLARGE_INTEGER,PLONG64,PLONGLONG,POBJECT_TYPE_LIST,PRPC_SID,PRPC_UNICODE_STRING,PSECURITY_INFORMATION,PSHORT,PSYSTEMTIME,PUINT,PULARGE_INTEGER,PULONG,PULONGLONG,PUSHORT,PWORD,RPC_SID,RPC_SID_IDENTIFIER_AUTHORITY,RPC_UNICODE_STRING,SECURITY_DESCRIPTOR,STR,SYSTEMTIME,ULARGE_INTEGER,WIDESTR,WSTR",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23511dd89f662c24",
      "framework": "python",
      "imports": "__future__,impacket.dcerpc.v5.ndr,six,struct,sys",
      "lines": 542,
      "logic_relevance": "none",
      "name": "dtypes",
      "normalized_name": "dtypes",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dtypes.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "67f4a5717290f060edbe7f47",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,impacket,impacket.dcerpc.v5.rpcrt,impacket.http,impacket.structure,impacket.uuid,re,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ANCE, Ack, AssociationGroupId, CONN_A1_RTS_PDU, CONN_A3_RTS_PDU, CONN_B1_RTS_PDU, CONN_C2_RTS_PDU, ChannelLifetime | imports:binascii, impacket, impacket.dcerpc.v5.rpcrt, impacket.http, impacket.structure, impacket.uuid, re, struct | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ANCE,Ack,AssociationGroupId,CONN_A1_RTS_PDU,CONN_A3_RTS_PDU,CONN_B1_RTS_PDU,CONN_C2_RTS_PDU,ChannelLifetime,ClientAddress,ClientKeepalive,ConnectionTimeout,Cookie,Destination,Empty,EncodedClientAddress,FlowControlAck,FlowControlAckWithDestination_RTS_PDU,NegativeANCE,Padding,PingTrafficSentNotify,RPCProxyClient,RPCProxyClientException,RTSCookie,RTSHeader,ReceiveWindowSize,Version,hCONN_A1,hCONN_B1,hFlowControlAckWithDestination,hPing",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0b99d8dd79ac1d0",
      "framework": "python",
      "imports": "binascii,impacket,impacket.dcerpc.v5.rpcrt,impacket.http,impacket.structure,impacket.uuid,re,struct",
      "lines": 846,
      "logic_relevance": "none",
      "name": "rpch",
      "normalized_name": "rpch",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/rpch.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "f655df590136b539ce4ae0e7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BYTE_ARRAY, CLIENT_INFO_UNION, DCERPCSessionError, DEVMODE_CONTAINER, PBYTE_ARRAY, PRINTER_HANDLE, PRPC_V2_NOTIFY_OPTIONS, PRPC_V2_NOTIFY_OPTIONS_TYPE_ARRAY | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,CLIENT_INFO_UNION,DCERPCSessionError,DEVMODE_CONTAINER,PBYTE_ARRAY,PRINTER_HANDLE,PRPC_V2_NOTIFY_OPTIONS,PRPC_V2_NOTIFY_OPTIONS_TYPE_ARRAY,PSPLCLIENT_INFO_1,PSPLCLIENT_INFO_2,PSPLCLIENT_INFO_3,PSTRING_HANDLE,PUSHORT_ARRAY,RPC_V2_NOTIFY_OPTIONS,RPC_V2_NOTIFY_OPTIONS_TYPE,RpcClosePrinter,RpcClosePrinterResponse,RpcEnumPrinters,RpcEnumPrintersResponse,RpcOpenPrinter,RpcOpenPrinterEx,RpcOpenPrinterExResponse,RpcOpenPrinterResponse,RpcRemoteFindFirstPrinterChangeNotificationEx,RpcRemoteFindFirstPrinterChangeNotificationExResponse,SPLCLIENT_CONTAINER,SPLCLIENT_INFO_1,SPLCLIENT_INFO_2,SPLCLIENT_INFO_3,USHORT_ARRAY,checkNullString,hRpcClosePrinter,hRpcEnumPrinters,hRpcOpenPrinter,hRpcOpenPrinterEx,hRpcRemoteFindFirstPrinterChangeNotificationEx",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c30831e46b9dc85",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 525,
      "logic_relevance": "none",
      "name": "rprn",
      "normalized_name": "rprn",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/rprn.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "2ff8621baea7a5d0a0b04098",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, SAGetAccountInformation, SAGetAccountInformationResponse, SAGetNSAccountInformation, SAGetNSAccountInformationResponse, SASetAccountInformation, SASetAccountInformationResponse, SASetNSAccountInformation | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,SAGetAccountInformation,SAGetAccountInformationResponse,SAGetNSAccountInformation,SAGetNSAccountInformationResponse,SASetAccountInformation,SASetAccountInformationResponse,SASetNSAccountInformation,SASetNSAccountInformationResponse,WORD_ARRAY,checkNullString,hSAGetAccountInformation,hSAGetNSAccountInformation,hSASetAccountInformation,hSASetNSAccountInformation",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "d74a42decd2e3d2c",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 175,
      "logic_relevance": "none",
      "name": "sasec",
      "normalized_name": "sasec",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/sasec.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "20e9c0caf735416a7da9024d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.enum,impacket.uuid,inspect,random,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EnumType, NDR, NDRArray, NDRBOOLEAN, NDRCALL, NDRCHAR, NDRCONSTRUCTEDTYPE, NDRConformantVaryingString | imports:__future__, impacket, impacket.dcerpc.v5.enum, impacket.uuid, inspect, random, six, struct | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EnumType,NDR,NDRArray,NDRBOOLEAN,NDRCALL,NDRCHAR,NDRCONSTRUCTEDTYPE,NDRConformantVaryingString,NDRDOUBLEFLOAT,NDRENUM,NDRFLOAT,NDRHYPER,NDRLONG,NDRPOINTER,NDRPOINTERNULL,NDRSHORT,NDRSMALL,NDRSTRUCT,NDRUHYPER,NDRULONG,NDRUNION,NDRUSHORT,NDRUSMALL,NDRUniConformantArray,NDRUniConformantVaryingArray,NDRUniFixedArray,NDRUniVaryingArray,NDRVaryingString,PNDRUniConformantArray,PNDRUniConformantVaryingArray,UNKNOWNDATA",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fca6caa4228a6ff8",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.enum,impacket.uuid,inspect,random,six,struct",
      "lines": 1714,
      "logic_relevance": "none",
      "name": "ndr",
      "normalized_name": "ndr",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/ndr.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "04dbf1165134921cb4d6a94f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,hashlib,hmac,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.structure,impacket.uuid,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CHAR_FIXED_16_ARRAY, CHAR_FIXED_8_ARRAY, CYPHER_BLOCK, CYPHER_BLOCK_ARRAY, ComputeNetlogonCredential, ComputeNetlogonCredentialAES, ComputeNetlogonSignatureAES, ComputeNetlogonSignatureMD5 | imports:Cryptodome.Cipher, hashlib, hmac, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.lsad, impacket.dcerpc.v5.ndr | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CHAR_FIXED_16_ARRAY,CHAR_FIXED_8_ARRAY,CYPHER_BLOCK,CYPHER_BLOCK_ARRAY,ComputeNetlogonCredential,ComputeNetlogonCredentialAES,ComputeNetlogonSignatureAES,ComputeNetlogonSignatureMD5,ComputeSessionKeyAES,ComputeSessionKeyStrongKey,DCERPCSessionError,DOMAIN_CONTROLLER_INFOW,DOMAIN_NAME_BUFFER,DSRUpdateReadOnlyServerDnsRecords,DSRUpdateReadOnlyServerDnsRecordsResponse,DS_DOMAIN_TRUSTSW,DS_DOMAIN_TRUSTSW_ARRAY,DsrAddressToSiteNamesExW,DsrAddressToSiteNamesExWResponse,DsrAddressToSiteNamesW,DsrAddressToSiteNamesWResponse,DsrDeregisterDnsHostRecords,DsrDeregisterDnsHostRecordsResponse,DsrEnumerateDomainTrusts,DsrEnumerateDomainTrustsResponse,DsrGetDcName,DsrGetDcNameEx,DsrGetDcNameEx2,DsrGetDcNameEx2Response,DsrGetDcNameExResponse,DsrGetDcNameResponse,DsrGetDcSiteCoverageW,DsrGetDcSiteCoverageWResponse,DsrGetForestTrustInformation,DsrGetForestTrustInformationResponse,DsrGetSiteName,DsrGetSiteNameResponse,GROUP_MEMBERSHIP,GROUP_MEMBERSHIP_ARRAY,IPv4Address,LM_CHALLENGE,LM_OWF_PASSWORD,LONG_ARRAY,NETLOGON_AUTHENTICATOR,NETLOGON_CAPABILITIES,NETLOGON_CONTROL_DATA_INFORMATION,NETLOGON_CONTROL_QUERY_INFORMATION,NETLOGON_CREDENTIAL,NETLOGON_DELTA_ACCOUNTS,NETLOGON_DELTA_ALIAS,NETLOGON_DELTA_ALIAS_MEMBER,NETLOGON_DELTA_DELETE_GROUP,NETLOGON_DELTA_DELETE_USER,NETLOGON_DELTA_DOMAIN,NETLOGON_DELTA_ENUM,NETLOGON_DELTA_ENUM_ARRAY_ARRAY,NETLOGON_DELTA_GROUP,NETLOGON_DELTA_GROUP_MEMBER,NETLOGON_DELTA_ID_UNION,NETLOGON_DELTA_POLICY,NETLOGON_DELTA_SECRET,NETLOGON_DELTA_TRUSTED_DOMAINS,NETLOGON_DELTA_TYPE,NETLOGON_DELTA_UNION,NETLOGON_DELTA_USER,NETLOGON_DOMAIN_INFO,NETLOGON_DOMAIN_INFORMATION,NETLOGON_DUMMY1,NETLOGON_GENERIC_INFO,NETLOGON_INFO_1,NETLOGON_INFO_2,NETLOGON_INFO_3,NETLOGON_INFO_4,NETLOGON_INTERACTIVE_INFO,NETLOGON_LEVEL,NETLOGON_LOGOFF_UAS_INFO,NETLOGON_LOGON_IDENTITY_INFO,NETLOGON_LOGON_INFO_CLASS,NETLOGON_LSA_POLICY_INFO,NETLOGON_NETWORK_INFO,NETLOGON_ONE_DOMAIN_INFO,NETLOGON_ONE_DOMAIN_INFO_ARRAY,NETLOGON_RENAME_ALIAS,NETLOGON_RENAME_GROUP,NETLOGON_RENAME_USER,NETLOGON_SECURE_CHANNEL_TYPE,NETLOGON_SERVICE_INFO,NETLOGON_SID_AND_ATTRIBUTES,NETLOGON_SID_AND_ATTRIBUTES_ARRAY,NETLOGON_TRUSTED_DOMAIN_ARRAY,NETLOGON_VALIDATION,NETLOGON_VALIDATION_GENERIC_INFO2,NETLOGON_VALIDATION_INFO_CLASS,NETLOGON_VALIDATION_SAM_INFO,NETLOGON_VALIDATION_SAM_INFO2,NETLOGON_VALIDATION_SAM_INFO4,NETLOGON_VALIDATION_UAS_INFO,NETLOGON_WORKSTATION_INFO,NETLOGON_WORKSTATION_INFORMATION,NLPR_CR_CIPHER_VALUE,NLPR_MODIFIED_COUNT,NLPR_QUOTA_LIMITS,NLPR_SID_ARRAY,NLPR_SID_INFORMATION,NLPR_SID_INFORMATION_ARRAY,NLPR_USER_PRIVATE_INFO,NL_AUTH_MESSAGE,NL_AUTH_SHA2_SIGNATURE,NL_AUTH_SIGNATURE,NL_DNS_NAME_INFO,NL_DNS_NAME_INFO_ARRAY,NL_GENERIC_RPC_DATA,NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES,NL_IN_CHAIN_SET_CLIENT_ATTRIBUTES_V1,NL_OSVERSIONINFO_V1,NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES,NL_OUT_CHAIN_SET_CLIENT_ATTRIBUTES_V1,NL_PASSWORD_VERSION,NL_SITE_NAME_ARRAY,NL_SITE_NAME_EX_ARRAY,NL_SOCKET_ADDRESS,NL_SOCKET_ADDRESS_ARRAY,NL_TRUST_PASSWORD,NL_TRUST_PASSWORD_FIXED_ARRAY,NetrDatabaseDeltas,NetrDatabaseDeltasResponse,NetrDatabaseRedo,NetrDatabaseRedoResponse,NetrDatabaseSync,NetrDatabaseSync2,NetrDatabaseSync2Response,NetrDatabaseSyncResponse,NetrEnumerateTrustedDomains,NetrEnumerateTrustedDomainsEx,NetrEnumerateTrustedDomainsExResponse,NetrEnumerateTrustedDomainsResponse,NetrGetAnyDCName,NetrGetAnyDCNameResponse,NetrGetDCName,NetrGetDCNameResponse,NetrGetForestTrustInformation,NetrGetForestTrustInformationResponse,NetrLogonComputeClientDigest,NetrLogonComputeClientDigestResponse,NetrLogonComputeServerDigest,NetrLogonComputeServerDigestResponse,NetrLogonControl,NetrLogonControl2,NetrLogonControl2Ex,NetrLogonControl2ExResponse,NetrLogonControl2Response,NetrLogonControlResponse,NetrLogonGetCapabilities,NetrLogonGetCapabilitiesResponse,NetrLogonGetDomainInfo,NetrLogonGetDomainInfoResponse,NetrLogonGetTimeServiceParentDomain,NetrLogonGetTimeServiceParentDomainResponse,NetrLogonGetTrustRid,NetrLogonGetTrustRidResponse,NetrLogonSamLogoff,NetrLogonSamLogoffResponse,NetrLogonSamLogon,NetrLogonSamLogonEx,NetrLogonSamLogonExResponse,NetrLogonSamLogonResponse,NetrLogonSamLogonWithFlags,NetrLogonSamLogonWithFlagsResponse,NetrLogonSendToSam,NetrLogonSendToSamResponse,NetrLogonSetServiceBits,NetrLogonSetServiceBitsResponse,NetrLogonUasLogoff,NetrLogonUasLogoffResponse,NetrLogonUasLogon,NetrLogonUasLogonResponse,NetrServerAuthenticate,NetrServerAuthenticate2,NetrServerAuthenticate2Response,NetrServerAuthenticate3,NetrServerAuthenticate3Response,NetrServerAuthenticateResponse,NetrServerGetTrustInfo,NetrServerGetTrustInfoResponse,NetrServerPasswordGet,NetrServerPasswordGetResponse,NetrServerPasswordSet2,NetrServerPasswordSet2Response,NetrServerReqChallenge,NetrServerReqChallengeResponse,NetrServerTrustPasswordsGet,NetrServerTrustPasswordsGetResponse,PDOMAIN_CONTROLLER_INFOW,PDS_DOMAIN_TRUSTSW_ARRAY,PGROUP_MEMBERSHIP_ARRAY,PLPWSTR,PNETLOGON_AUTHENTICATOR,PNETLOGON_DELTA_ACCOUNTS,PNETLOGON_DELTA_ALIAS,PNETLOGON_DELTA_ALIAS_MEMBER,PNETLOGON_DELTA_DELETE_GROUP,PNETLOGON_DELTA_DELETE_USER,PNETLOGON_DELTA_DOMAIN,PNETLOGON_DELTA_ENUM_ARRAY,PNETLOGON_DELTA_ENUM_ARRAY_ARRAY,PNETLOGON_DELTA_GROUP,PNETLOGON_DELTA_GROUP_MEMBER,PNETLOGON_DELTA_POLICY,PNETLOGON_DELTA_RENAME_ALIAS,PNETLOGON_DELTA_RENAME_GROUP,PNETLOGON_DELTA_RENAME_USER,PNETLOGON_DELTA_SECRET,PNETLOGON_DELTA_TRUSTED_DOMAINS,PNETLOGON_DELTA_USER,PNETLOGON_DOMAIN_INFO,PNETLOGON_GENERIC_INFO,PNETLOGON_INFO_1,PNETLOGON_INFO_2,PNETLOGON_INFO_3,PNETLOGON_INFO_4,PNETLOGON_INTERACTIVE_INFO,PNETLOGON_LOGON_IDENTITY_INFO,PNETLOGON_LSA_POLICY_INFO,PNETLOGON_NETWORK_INFO,PNETLOGON_ONE_DOMAIN_INFO_ARRAY,PNETLOGON_SERVICE_INFO,PNETLOGON_SID_AND_ATTRIBUTES_ARRAY,PNETLOGON_VALIDATION_GENERIC_INFO2,PNETLOGON_VALIDATION_SAM_INFO,PNETLOGON_VALIDATION_SAM_INFO2,PNETLOGON_VALIDATION_SAM_INFO4,PNETLOGON_VALIDATION_UAS_INFO,PNETLOGON_WORKSTATION_INFO,PNLPR_MODIFIED_COUNT,PNLPR_SID_INFORMATION_ARRAY,PNL_DNS_NAME_INFO_ARRAY,PNL_GENERIC_RPC_DATA,PNL_OSVERSIONINFO_V1,PNL_SITE_NAME_ARRAY,PNL_SITE_NAME_EX_ARRAY,PNL_TRUST_PASSWORD,PRPC_UNICODE_STRING_ARRAY,PUCHAR_ARRAY,PUCHAR_ARRAY2,PULONG_ARRAY,RPC_UNICODE_STRING_ARRAY,SEAL,SIGN,SYNC_STATE,UAS_INFO_0,UCHAR_ARRAY,UCHAR_ARRAY2,UCHAR_FIXED_ARRAY,ULONG_ARRAY,UNSEAL,WCHAR_ARRAY,checkNullString,decryptSequenceNumberAES,decryptSequenceNumberRC4,deriveSequenceNumber,encryptSequenceNumberAES,encryptSequenceNumberRC4,getSSPType1,hDsrGetDcName,hDsrGetDcNameEx,hDsrGetDcNameEx2,hDsrGetDcSiteCoverageW,hDsrGetSiteName,hNetrGetAnyDCName,hNetrGetDCName,hNetrLogonGetCapabilities,hNetrLogonGetDomainInfo,hNetrServerAuthenticate,hNetrServerAuthenticate2,hNetrServerAuthenticate3,hNetrServerGetTrustInfo,hNetrServerPasswordGet,hNetrServerPasswordSet2,hNetrServerReqChallenge,hNetrServerTrustPasswordsGet",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "844b6e4dbdf2d485",
      "framework": "python",
      "imports": "Cryptodome.Cipher,hashlib,hmac,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.structure,impacket.uuid,six,struct",
      "lines": 2853,
      "logic_relevance": "none",
      "name": "nrpc",
      "normalized_name": "nrpc",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/nrpc.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "a29cb3791ac237591af7922b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,__future__,binascii,hashlib,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,os,struct,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALIAS_INFORMATION_CLASS, CHAR_ARRAY, DCERPCSessionError, DOMAIN_DISPLAY_INFORMATION, DOMAIN_INFORMATION_CLASS, DOMAIN_LOGOFF_INFORMATION, DOMAIN_MODIFIED_INFORMATION, DOMAIN_MODIFIED_INFORMATION2 | imports:Cryptodome.Cipher, __future__, binascii, hashlib, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ALIAS_INFORMATION_CLASS,CHAR_ARRAY,DCERPCSessionError,DOMAIN_DISPLAY_INFORMATION,DOMAIN_INFORMATION_CLASS,DOMAIN_LOGOFF_INFORMATION,DOMAIN_MODIFIED_INFORMATION,DOMAIN_MODIFIED_INFORMATION2,DOMAIN_PASSWORD_INFORMATION,DOMAIN_SERVER_ENABLE_STATE,DOMAIN_SERVER_ROLE,DOMAIN_SERVER_ROLE_INFORMATION,DOMAIN_STATE_INFORMATION,ENCRYPTED_LM_OWF_PASSWORD,GROUP_ATTRIBUTE_INFORMATION,GROUP_INFORMATION_CLASS,GROUP_MEMBERSHIP,GROUP_MEMBERSHIP_ARRAY,KERB_KEY_DATA,KERB_KEY_DATA_NEW,KERB_STORED_CREDENTIAL,KERB_STORED_CREDENTIAL_NEW,LOGON_HOURS_ARRAY,OLD_LARGE_INTEGER,PASSWORD_POLICY_VALIDATION_TYPE,PCHAR_ARRAY,PENCRYPTED_LM_OWF_PASSWORD,PGROUP_MEMBERSHIP_ARRAY,PLOGON_HOURS_ARRAY,PRPC_STRING,PRPC_UNICODE_STRING_ARRAY,PSAMPR_ALIAS_INFO_BUFFER,PSAMPR_DOMAIN_DISPLAY_GROUP_ARRAY,PSAMPR_DOMAIN_DISPLAY_MACHINE_ARRAY,PSAMPR_DOMAIN_DISPLAY_OEM_GROUP_ARRAY,PSAMPR_DOMAIN_DISPLAY_OEM_USER_ARRAY,PSAMPR_DOMAIN_DISPLAY_USER_ARRAY,PSAMPR_DOMAIN_INFO_BUFFER,PSAMPR_ENCRYPTED_USER_PASSWORD,PSAMPR_ENUMERATION_BUFFER,PSAMPR_GET_GROUPS_BUFFER,PSAMPR_GET_MEMBERS_BUFFER,PSAMPR_GROUP_INFO_BUFFER,PSAMPR_RID_ENUMERATION_ARRAY,PSAMPR_SERVER_NAME2,PSAMPR_SID_INFORMATION,PSAMPR_SID_INFORMATION_ARRAY,PSAMPR_SR_SECURITY_DESCRIPTOR,PSAMPR_USER_INFO_BUFFER,PSAM_VALIDATE_OUTPUT_ARG,PSAM_VALIDATE_PASSWORD_HASH,PSAM_VALIDATE_STANDARD_OUTPUT_ARG,PULONG_ARRAY,PUSHORT_ARRAY,RPC_SHORT_BLOB,RPC_STRING,RPC_UNICODE_STRING_ARRAY,RPC_UNICODE_STRING_ARRAY_C,SAMPR_ALIAS_ADM_COMMENT_INFORMATION,SAMPR_ALIAS_GENERAL_INFORMATION,SAMPR_ALIAS_INFO_BUFFER,SAMPR_ALIAS_NAME_INFORMATION,SAMPR_DISPLAY_INFO_BUFFER,SAMPR_DOMAIN_DISPLAY_GROUP,SAMPR_DOMAIN_DISPLAY_GROUP_ARRAY,SAMPR_DOMAIN_DISPLAY_GROUP_BUFFER,SAMPR_DOMAIN_DISPLAY_MACHINE,SAMPR_DOMAIN_DISPLAY_MACHINE_ARRAY,SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFER,SAMPR_DOMAIN_DISPLAY_OEM_GROUP,SAMPR_DOMAIN_DISPLAY_OEM_GROUP_ARRAY,SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFER,SAMPR_DOMAIN_DISPLAY_OEM_USER,SAMPR_DOMAIN_DISPLAY_OEM_USER_ARRAY,SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFER,SAMPR_DOMAIN_DISPLAY_USER,SAMPR_DOMAIN_DISPLAY_USER_ARRAY,SAMPR_DOMAIN_DISPLAY_USER_BUFFER,SAMPR_DOMAIN_GENERAL_INFORMATION,SAMPR_DOMAIN_GENERAL_INFORMATION2,SAMPR_DOMAIN_INFO_BUFFER,SAMPR_DOMAIN_LOCKOUT_INFORMATION,SAMPR_DOMAIN_NAME_INFORMATION,SAMPR_DOMAIN_OEM_INFORMATION,SAMPR_DOMAIN_REPLICATION_INFORMATION,SAMPR_ENCRYPTED_USER_PASSWORD,SAMPR_ENCRYPTED_USER_PASSWORD_NEW,SAMPR_ENUMERATION_BUFFER,SAMPR_GET_GROUPS_BUFFER,SAMPR_GET_MEMBERS_BUFFER,SAMPR_GROUP_ADM_COMMENT_INFORMATION,SAMPR_GROUP_GENERAL_INFORMATION,SAMPR_GROUP_INFO_BUFFER,SAMPR_GROUP_NAME_INFORMATION,SAMPR_HANDLE,SAMPR_LOGON_HOURS,SAMPR_PSID_ARRAY,SAMPR_PSID_ARRAY_OUT,SAMPR_RETURNED_USTRING_ARRAY,SAMPR_REVISION_INFO,SAMPR_REVISION_INFO_V1,SAMPR_RID_ENUMERATION,SAMPR_RID_ENUMERATION_ARRAY,SAMPR_SID_INFORMATION,SAMPR_SID_INFORMATION_ARRAY,SAMPR_SR_SECURITY_DESCRIPTOR,SAMPR_ULONG_ARRAY,SAMPR_USER_ACCOUNT_INFORMATION,SAMPR_USER_ADMIN_COMMENT_INFORMATION,SAMPR_USER_ALL_INFORMATION,SAMPR_USER_A_NAME_INFORMATION,SAMPR_USER_F_NAME_INFORMATION,SAMPR_USER_GENERAL_INFORMATION,SAMPR_USER_HOME_INFORMATION,SAMPR_USER_INFO_BUFFER,SAMPR_USER_INTERNAL1_INFORMATION,SAMPR_USER_INTERNAL4_INFORMATION,SAMPR_USER_INTERNAL4_INFORMATION_NEW,SAMPR_USER_INTERNAL5_INFORMATION,SAMPR_USER_INTERNAL5_INFORMATION_NEW,SAMPR_USER_LOGON_HOURS_INFORMATION,SAMPR_USER_LOGON_INFORMATION,SAMPR_USER_NAME_INFORMATION,SAMPR_USER_PARAMETERS_INFORMATION,SAMPR_USER_PASSWORD,SAMPR_USER_PREFERENCES_INFORMATION,SAMPR_USER_PROFILE_INFORMATION,SAMPR_USER_SCRIPT_INFORMATION,SAMPR_USER_WORKSTATIONS_INFORMATION,SAM_VALIDATE_AUTHENTICATION_INPUT_ARG,SAM_VALIDATE_INPUT_ARG,SAM_VALIDATE_OUTPUT_ARG,SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARG,SAM_VALIDATE_PASSWORD_HASH,SAM_VALIDATE_PASSWORD_RESET_INPUT_ARG,SAM_VALIDATE_PERSISTED_FIELDS,SAM_VALIDATE_STANDARD_OUTPUT_ARG,SAM_VALIDATE_VALIDATION_STATUS,SID_NAME_USE,SamrAddMemberToAlias,SamrAddMemberToAliasResponse,SamrAddMemberToGroup,SamrAddMemberToGroupResponse,SamrAddMultipleMembersToAlias,SamrAddMultipleMembersToAliasResponse,SamrChangePasswordUser,SamrChangePasswordUserResponse,SamrCloseHandle,SamrCloseHandleResponse,SamrConnect,SamrConnect2,SamrConnect2Response,SamrConnect4,SamrConnect4Response,SamrConnect5,SamrConnect5Response,SamrConnectResponse,SamrCreateAliasInDomain,SamrCreateAliasInDomainResponse,SamrCreateGroupInDomain,SamrCreateGroupInDomainResponse,SamrCreateUser2InDomain,SamrCreateUser2InDomainResponse,SamrCreateUserInDomain,SamrCreateUserInDomainResponse,SamrDeleteAlias,SamrDeleteAliasResponse,SamrDeleteGroup,SamrDeleteGroupResponse,SamrDeleteUser,SamrDeleteUserResponse,SamrEnumerateAliasesInDomain,SamrEnumerateAliasesInDomainResponse,SamrEnumerateDomainsInSamServer,SamrEnumerateDomainsInSamServerResponse,SamrEnumerateGroupsInDomain,SamrEnumerateGroupsInDomainResponse,SamrEnumerateUsersInDomain,SamrEnumerateUsersInDomainResponse,SamrGetAliasMembership,SamrGetAliasMembershipResponse,SamrGetDisplayEnumerationIndex,SamrGetDisplayEnumerationIndex2,SamrGetDisplayEnumerationIndex2Response,SamrGetDisplayEnumerationIndexResponse,SamrGetDomainPasswordInformation,SamrGetDomainPasswordInformationResponse,SamrGetGroupsForUser,SamrGetGroupsForUserResponse,SamrGetMembersInAlias,SamrGetMembersInAliasResponse,SamrGetMembersInGroup,SamrGetMembersInGroupResponse,SamrGetUserDomainPasswordInformation,SamrGetUserDomainPasswordInformationResponse,SamrLookupDomainInSamServer,SamrLookupDomainInSamServerResponse,SamrLookupIdsInDomain,SamrLookupIdsInDomainResponse,SamrLookupNamesInDomain,SamrLookupNamesInDomainResponse,SamrOemChangePasswordUser2,SamrOemChangePasswordUser2Response,SamrOpenAlias,SamrOpenAliasResponse,SamrOpenDomain,SamrOpenDomainResponse,SamrOpenGroup,SamrOpenGroupResponse,SamrOpenUser,SamrOpenUserResponse,SamrQueryDisplayInformation,SamrQueryDisplayInformation2,SamrQueryDisplayInformation2Response,SamrQueryDisplayInformation3,SamrQueryDisplayInformation3Response,SamrQueryDisplayInformationResponse,SamrQueryInformationAlias,SamrQueryInformationAliasResponse,SamrQueryInformationDomain,SamrQueryInformationDomain2,SamrQueryInformationDomain2Response,SamrQueryInformationDomainResponse,SamrQueryInformationGroup,SamrQueryInformationGroupResponse,SamrQueryInformationUser,SamrQueryInformationUser2,SamrQueryInformationUser2Response,SamrQueryInformationUserResponse,SamrQuerySecurityObject,SamrQuerySecurityObjectResponse,SamrRemoveMemberFromAlias,SamrRemoveMemberFromAliasResponse,SamrRemoveMemberFromForeignDomain,SamrRemoveMemberFromForeignDomainResponse,SamrRemoveMemberFromGroup,SamrRemoveMemberFromGroupResponse,SamrRemoveMultipleMembersFromAlias,SamrRemoveMultipleMembersFromAliasResponse,SamrRidToSid,SamrRidToSidResponse,SamrSetDSRMPassword,SamrSetDSRMPasswordResponse,SamrSetInformationAlias,SamrSetInformationAliasResponse,SamrSetInformationDomain,SamrSetInformationDomainResponse,SamrSetInformationGroup,SamrSetInformationGroupResponse,SamrSetInformationUser,SamrSetInformationUser2,SamrSetInformationUser2Response,SamrSetInformationUserResponse,SamrSetMemberAttributesOfGroup,SamrSetMemberAttributesOfGroupResponse,SamrSetSecurityObject,SamrSetSecurityObjectResponse,SamrUnicodeChangePasswordUser2,SamrUnicodeChangePasswordUser2Response,SamrValidatePassword,SamrValidatePasswordResponse,ULONG_ARRAY,ULONG_ARRAY_CV,USER_CONTROL_INFORMATION,USER_DOMAIN_PASSWORD_INFORMATION,USER_EXPIRES_INFORMATION,USER_INFORMATION_CLASS,USER_PRIMARY_GROUP_INFORMATION,USER_PROPERTIES,USER_PROPERTY,USHORT_ARRAY,WDIGEST_CREDENTIALS,hSamrAddMemberToAlias,hSamrAddMemberToGroup,hSamrAddMultipleMembersToAlias,hSamrChangePasswordUser,hSamrCloseHandle,hSamrConnect,hSamrConnect2,hSamrConnect4,hSamrConnect5,hSamrCreateAliasInDomain,hSamrCreateGroupInDomain,hSamrCreateUser2InDomain,hSamrCreateUserInDomain,hSamrDeleteAlias,hSamrDeleteGroup,hSamrDeleteUser,hSamrEnumerateAliasesInDomain,hSamrEnumerateDomainsInSamServer,hSamrEnumerateGroupsInDomain,hSamrEnumerateUsersInDomain,hSamrGetAliasMembership,hSamrGetDisplayEnumerationIndex,hSamrGetDisplayEnumerationIndex2,hSamrGetDomainPasswordInformation,hSamrGetGroupsForUser,hSamrGetMembersInAlias,hSamrGetMembersInGroup,hSamrGetUserDomainPasswordInformation,hSamrLookupDomainInSamServer,hSamrLookupIdsInDomain,hSamrLookupNamesInDomain,hSamrOpenAlias,hSamrOpenDomain,hSamrOpenGroup,hSamrOpenUser,hSamrQueryDisplayInformation,hSamrQueryDisplayInformation2,hSamrQueryDisplayInformation3,hSamrQueryInformationAlias,hSamrQueryInformationDomain,hSamrQueryInformationDomain2,hSamrQueryInformationGroup,hSamrQueryInformationUser,hSamrQueryInformationUser2,hSamrQuerySecurityObject,hSamrRemoveMemberFromAlias,hSamrRemoveMemberFromForeignDomain,hSamrRemoveMemberFromGroup,hSamrRemoveMultipleMembersFromAlias,hSamrRidToSid,hSamrSetInformationAlias,hSamrSetInformationDomain,hSamrSetInformationGroup,hSamrSetInformationUser,hSamrSetInformationUser2,hSamrSetMemberAttributesOfGroup,hSamrSetPasswordInternal4New,hSamrSetSecurityObject,hSamrUnicodeChangePasswordUser2,hSamrValidatePassword",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0cc6ff463d8aae7",
      "framework": "python",
      "imports": "Cryptodome.Cipher,__future__,binascii,hashlib,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,os,struct,sys",
      "lines": 2929,
      "logic_relevance": "none",
      "name": "samr",
      "normalized_name": "samr",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/samr.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "9f6776cea538fff6a2ddedbc",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BOOKMARK, BYTE_ARRAY, CBYTE_ARRAY, CDWORD_ARRAY, CONTEXT_HANDLE_LOG_HANDLE, CONTEXT_HANDLE_LOG_QUERY, CONTEXT_HANDLE_OPERATION_CONTROL, DCERPCSessionError | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BOOKMARK,BYTE_ARRAY,CBYTE_ARRAY,CDWORD_ARRAY,CONTEXT_HANDLE_LOG_HANDLE,CONTEXT_HANDLE_LOG_QUERY,CONTEXT_HANDLE_OPERATION_CONTROL,DCERPCSessionError,DWORD_ARRAY,EVENT_DESCRIPTOR,EvtRpcClose,EvtRpcCloseResponse,EvtRpcGetChannelList,EvtRpcGetChannelListResponse,EvtRpcOpenLogHandle,EvtRpcOpenLogHandleResponse,EvtRpcQueryChannelInfo,EvtRpcQueryChannelInfoArray,EvtRpcQueryNext,EvtRpcQueryNextResponse,EvtRpcQuerySeek,EvtRpcQuerySeekResponse,EvtRpcRegisterLogQuery,EvtRpcRegisterLogQueryResponse,LPBYTE_ARRAY,LPDWORD_ARRAY,LPEvtRpcQueryChannelInfoArray,LPPCONTEXT_HANDLE_LOG_QUERY,PCONTEXT_HANDLE_LOG_HANDLE,PCONTEXT_HANDLE_LOG_QUERY,PCONTEXT_HANDLE_OPERATION_CONTROL,PRPC_INFO,RESULT_SET,RPC_INFO,ULONG_ARRAY,WSTR_ARRAY,hEvtRpcClose,hEvtRpcGetChannelList,hEvtRpcOpenLogHandle,hEvtRpcQueryNext,hEvtRpcRegisterLogQuery",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5089a5f2373eb062",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 344,
      "logic_relevance": "none",
      "name": "even6",
      "normalized_name": "even6",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/even6.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "77f77b1590409c30d253365d",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "__future__,binascii,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,impacket.winregistry,random",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:BYTE_ARRAY, DCERPCSessionError, DHPUBKEY, MIMI_HANDLE, MIMI_PUBLICKEY, MimiBind, MimiBindResponse, MimiCommand | imports:__future__, binascii, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.structure, impacket.uuid | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,DCERPCSessionError,DHPUBKEY,MIMI_HANDLE,MIMI_PUBLICKEY,MimiBind,MimiBindResponse,MimiCommand,MimiCommandResponse,MimiDiffeH,MimiUnbind,MimiUnbindResponse,PBYTE_ARRAY,PMIMI_PUBLICKEY,PUBLICKEYBLOB,PUBLICKEYSTRUC,hMimiBind,hMimiCommand",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8561b6536cfb1fc5",
      "framework": "python",
      "imports": "__future__,binascii,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,impacket.winregistry,random",
      "lines": 236,
      "logic_relevance": "none",
      "name": "mimilib",
      "normalized_name": "mimilib",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/mimilib.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "2b99a41b0e6d444466cbd922",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, FIXDLEN_DATA, GUID_ARRAY, JOB_SIGNATURE, LPTASK_USER_CRED_ARRAY, MONTHLYDATE, MONTHLYDOW, PGUID_ARRAY | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.structure, impacket.uuid | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DCERPCSessionError,FIXDLEN_DATA,GUID_ARRAY,JOB_SIGNATURE,LPTASK_USER_CRED_ARRAY,MONTHLYDATE,MONTHLYDOW,PGUID_ARRAY,PSYSTEMTIME_ARRAY,PTASK_NAMES_ARRAY,PTASK_XML_ERROR_INFO,PWSTR_ARRAY,SYSTEMTIME_ARRAY,SchRpcCreateFolder,SchRpcCreateFolderResponse,SchRpcDelete,SchRpcDeleteResponse,SchRpcEnableTask,SchRpcEnableTaskResponse,SchRpcEnumFolders,SchRpcEnumFoldersResponse,SchRpcEnumInstances,SchRpcEnumInstancesResponse,SchRpcEnumTasks,SchRpcEnumTasksResponse,SchRpcGetInstanceInfo,SchRpcGetInstanceInfoResponse,SchRpcGetLastRunInfo,SchRpcGetLastRunInfoResponse,SchRpcGetNumberOfMissedRuns,SchRpcGetNumberOfMissedRunsResponse,SchRpcGetSecurity,SchRpcGetSecurityResponse,SchRpcGetTaskInfo,SchRpcGetTaskInfoResponse,SchRpcHighestVersion,SchRpcHighestVersionResponse,SchRpcRegisterTask,SchRpcRegisterTaskResponse,SchRpcRename,SchRpcRenameResponse,SchRpcRetrieveTask,SchRpcRetrieveTaskResponse,SchRpcRun,SchRpcRunResponse,SchRpcScheduledRuntimes,SchRpcScheduledRuntimesResponse,SchRpcSetSecurity,SchRpcSetSecurityResponse,SchRpcStop,SchRpcStopInstance,SchRpcStopInstanceResponse,SchRpcStopResponse,TASK_NAMES_ARRAY,TASK_USER_CRED,TASK_USER_CRED_ARRAY,TASK_XML_ERROR_INFO,TRIGGERS,WEEKLY,WSTR_ARRAY,checkNullString,hSchRpcCreateFolder,hSchRpcDelete,hSchRpcEnableTask,hSchRpcEnumFolders,hSchRpcEnumInstances,hSchRpcEnumTasks,hSchRpcGetInstanceInfo,hSchRpcGetLastRunInfo,hSchRpcGetNumberOfMissedRuns,hSchRpcGetSecurity,hSchRpcGetTaskInfo,hSchRpcHighestVersion,hSchRpcRegisterTask,hSchRpcRename,hSchRpcRetrieveTask,hSchRpcRun,hSchRpcScheduledRuntimes,hSchRpcSetSecurity,hSchRpcStop,hSchRpcStopInstance",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfbcae9f9764a920",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid",
      "lines": 799,
      "logic_relevance": "none",
      "name": "tsch",
      "normalized_name": "tsch",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/tsch.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "security,automation",
      "component_id": "356689abece0997f3824b605",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "sys",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:EnumMeta, IntEnum, _EnumDict, _RouteClassAttributeToGetattr, __dir__, __eq__, __format__, __getnewargs__ | imports:sys | security-score:55 | automation-score:45",
      "exports": "EnumMeta,IntEnum,_EnumDict,_RouteClassAttributeToGetattr,__dir__,__eq__,__format__,__getnewargs__,__hash__,__ne__,__new__,__repr__,__str__,_is_descriptor,_is_dunder,_is_sunder,_make_class_unpicklable,name,unique,value",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2596e059eaa6d8e2",
      "framework": "python",
      "imports": "sys",
      "lines": 754,
      "logic_relevance": "none",
      "name": "enum",
      "normalized_name": "enum",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/enum.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "df41bf8bcea3050e82dea8a6",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, PPUCHAR_ARRAY, PUCHAR_ARRAY, RfrGetFQDNFromServerDN, RfrGetFQDNFromServerDNResponse, RfrGetNewDSA, RfrGetNewDSAResponse, checkNullString | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,PPUCHAR_ARRAY,PUCHAR_ARRAY,RfrGetFQDNFromServerDN,RfrGetFQDNFromServerDNResponse,RfrGetNewDSA,RfrGetNewDSAResponse,checkNullString,hRfrGetFQDNFromServerDN,hRfrGetNewDSA",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "550598a5d2d2af86",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 131,
      "logic_relevance": "none",
      "name": "oxabref",
      "normalized_name": "oxabref",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/oxabref.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "6a5444782bd99925fe528a73",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CHAR_ARRAY, DCERPCSessionError, JOINPR_ENCRYPTED_USER_PASSWORD, JOINPR_USER_PASSWORD, LPSTAT_WORKSTATION_0, LPUSE_INFO_0, LPUSE_INFO_0_CONTAINER, LPUSE_INFO_1 | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CHAR_ARRAY,DCERPCSessionError,JOINPR_ENCRYPTED_USER_PASSWORD,JOINPR_USER_PASSWORD,LPSTAT_WORKSTATION_0,LPUSE_INFO_0,LPUSE_INFO_0_CONTAINER,LPUSE_INFO_1,LPUSE_INFO_1_CONTAINER,LPUSE_INFO_2,LPUSE_INFO_2_CONTAINER,LPUSE_INFO_3,LPWKSSVC_IDENTIFY_HANDLE,LPWKSSVC_IMPERSONATE_HANDLE,LPWKSTA_INFO,LPWKSTA_INFO_100,LPWKSTA_INFO_101,LPWKSTA_INFO_1013,LPWKSTA_INFO_1018,LPWKSTA_INFO_102,LPWKSTA_INFO_1046,LPWKSTA_INFO_502,LPWKSTA_TRANSPORT_INFO_0_ARRAY,LPWKSTA_TRANSPORT_INFO_0_CONTAINER,LPWKSTA_USER_INFO_0_ARRAY,LPWKSTA_USER_INFO_0_CONTAINER,LPWKSTA_USER_INFO_1_ARRAY,LPWKSTA_USER_INFO_1_CONTAINER,NETSETUP_JOIN_STATUS,NETSETUP_NAME_TYPE,NET_COMPUTER_NAME_ARRAY,NET_COMPUTER_NAME_TYPE,NetrAddAlternateComputerName,NetrAddAlternateComputerNameResponse,NetrEnumerateComputerNames,NetrEnumerateComputerNamesResponse,NetrGetJoinInformation,NetrGetJoinInformationResponse,NetrGetJoinableOUs2,NetrGetJoinableOUs2Response,NetrJoinDomain2,NetrJoinDomain2Response,NetrRemoveAlternateComputerName,NetrRemoveAlternateComputerNameResponse,NetrRenameMachineInDomain2,NetrRenameMachineInDomain2Response,NetrSetPrimaryComputerName,NetrSetPrimaryComputerNameResponse,NetrUnjoinDomain2,NetrUnjoinDomain2Response,NetrUseAdd,NetrUseAddResponse,NetrUseDel,NetrUseDelResponse,NetrUseEnum,NetrUseEnumResponse,NetrUseGetInfo,NetrUseGetInfoResponse,NetrValidateName2,NetrValidateName2Response,NetrWkstaGetInfo,NetrWkstaGetInfoResponse,NetrWkstaSetInfo,NetrWkstaSetInfoResponse,NetrWkstaTransportAdd,NetrWkstaTransportAddResponse,NetrWkstaTransportEnum,NetrWkstaTransportEnumResponse,NetrWkstaUserEnum,NetrWkstaUserEnumResponse,NetrWorkstationStatisticsGet,NetrWorkstationStatisticsGetResponse,PJOINPR_ENCRYPTED_USER_PASSWORD,PNET_COMPUTER_NAME_ARRAY,PUNICODE_STRING,PUNICODE_STRING_ARRAY,STAT_WORKSTATION_0,UNICODE_STRING_ARRAY,USE_ENUM_STRUCT,USE_ENUM_UNION,USE_INFO,USE_INFO_0,USE_INFO_0_CONTAINER,USE_INFO_1,USE_INFO_1_CONTAINER,USE_INFO_2,USE_INFO_2_CONTAINER,USE_INFO_3,WCHAR_ARRAY,WKSSVC_IDENTIFY_HANDLE,WKSSVC_IMPERSONATE_HANDLE,WKSTA_INFO,WKSTA_INFO_100,WKSTA_INFO_101,WKSTA_INFO_1013,WKSTA_INFO_1018,WKSTA_INFO_102,WKSTA_INFO_1046,WKSTA_INFO_502,WKSTA_TRANSPORT_ENUM_STRUCT,WKSTA_TRANSPORT_ENUM_UNION,WKSTA_TRANSPORT_INFO_0,WKSTA_TRANSPORT_INFO_0_ARRAY,WKSTA_TRANSPORT_INFO_0_CONTAINER,WKSTA_USER_ENUM_STRUCT,WKSTA_USER_ENUM_UNION,WKSTA_USER_INFO_0,WKSTA_USER_INFO_0_ARRAY,WKSTA_USER_INFO_0_CONTAINER,WKSTA_USER_INFO_1,WKSTA_USER_INFO_1_ARRAY,WKSTA_USER_INFO_1_CONTAINER,checkNullString,hNetrAddAlternateComputerName,hNetrEnumerateComputerNames,hNetrGetJoinInformation,hNetrGetJoinableOUs2,hNetrJoinDomain2,hNetrRemoveAlternateComputerName,hNetrRenameMachineInDomain2,hNetrSetPrimaryComputerName,hNetrUnjoinDomain2,hNetrUseAdd,hNetrUseDel,hNetrUseEnum,hNetrUseGetInfo,hNetrValidateName2,hNetrWkstaGetInfo,hNetrWkstaSetInfo,hNetrWkstaTransportEnum,hNetrWkstaUserEnum,hNetrWorkstationStatisticsGet",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a5eb4a9fd4b254e",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 1182,
      "logic_relevance": "none",
      "name": "wkst",
      "normalized_name": "wkst",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/wkst.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "13bfc3a476408078b58d48f2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,binascii,datetime,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.ldap.ldaptypes,impacket.structure,impacket.uuid,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AndRestriction, AndRestriction_r, Binary, BinaryArray, BinaryArray_r, Binary_r, BitMaskRestriction_r, ComparePropsRestriction_r | imports:__future__, binascii, datetime, impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.ldap.ldaptypes | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AndRestriction,AndRestriction_r,Binary,BinaryArray,BinaryArray_r,Binary_r,BitMaskRestriction_r,ComparePropsRestriction_r,ContentRestriction_r,DCERPCSessionError,DWORD_ARRAY,DateTimeArray,DateTimeArray_r,EXCH_SID,EphemeralEntryID,ExchBinaryObject,ExistRestriction_r,FlatUIDArray,FlatUIDArray_r,LongArray,LongArray_r,NotRestriction_r,NspiBind,NspiBindResponse,NspiCompareMIds,NspiCompareMIdsResponse,NspiDNToMId,NspiDNToMIdResponse,NspiGetIDsFromNames,NspiGetIDsFromNamesResponse,NspiGetNamesFromIDs,NspiGetNamesFromIDsResponse,NspiGetPropList,NspiGetPropListResponse,NspiGetProps,NspiGetPropsResponse,NspiGetSpecialTable,NspiGetSpecialTableResponse,NspiGetTemplateInfo,NspiGetTemplateInfoResponse,NspiModLinkAtt,NspiModLinkAttResponse,NspiQueryColumns,NspiQueryColumnsResponse,NspiQueryRows,NspiQueryRowsResponse,NspiResolveNames,NspiResolveNamesResponse,NspiResolveNamesW,NspiResolveNamesWResponse,NspiSeekEntries,NspiSeekEntriesResponse,NspiUnbind,NspiUnbindResponse,NspiUpdateStat,NspiUpdateStatResponse,PAndRestriction,PBinary,PBinaryArray,PDWORD_ARRAY,PDateTimeArray,PFlatUIDArray,PLongArray,PPropertyNameSet_r,PPropertyName_r,PPropertyRowSet_r,PPropertyRow_r,PPropertyTagArray_r,PPropertyValue,PPropertyValue_r,PROP_VAL_UNION,PRestriction_r,PSTAT,PShortArray,PStringArray,PWStringArray,PermanentEntryID,PropertyNameSet,PropertyNameSet_r,PropertyName_r,PropertyName_r_ARRAY,PropertyRestriction_r,PropertyRowSet,PropertyRowSet_r,PropertyRow_r,PropertyTagArray,PropertyTagArray_r,PropertyValue,PropertyValue_r,RestrictionUnion_r,Restriction_r,STAT,ShortArray,ShortArray_r,SizeRestriction_r,StringArray,StringArray_r,StringsArray,StringsArray_r,SubRestriction_r,WStringArray,WStringArray_r,WStringsArray,WStringsArray_r,checkNullString,getUnixTime,get_dn_from_guid,get_guid_from_dn,hNspiBind,hNspiDNToMId,hNspiGetNamesFromIDs,hNspiGetPropList,hNspiGetProps,hNspiGetSpecialTable,hNspiGetTemplateInfo,hNspiModLinkAtt,hNspiQueryColumns,hNspiQueryRows,hNspiResolveNames,hNspiResolveNamesW,hNspiSeekEntries,hNspiUnbind,hNspiUpdateStat,handle_t,simplifyPropertyRow,simplifyPropertyRowSet",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "562ba73abc840474",
      "framework": "python",
      "imports": "__future__,binascii,datetime,impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.ldap.ldaptypes,impacket.structure,impacket.uuid,six,struct",
      "lines": 1361,
      "logic_relevance": "none",
      "name": "nspi",
      "normalized_name": "nspi",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/nspi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "92c1775980bc9cab69d073e6",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, LSAPR_REFERENCED_DOMAIN_LIST, LSAPR_SID_ENUM_BUFFER, LSAPR_SID_INFORMATION, LSAPR_SID_INFORMATION_ARRAY, LSAPR_TRANSLATED_NAME, LSAPR_TRANSLATED_NAMES, LSAPR_TRANSLATED_NAMES_EX | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.lsad, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.dcerpc.v5.samr, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,LSAPR_REFERENCED_DOMAIN_LIST,LSAPR_SID_ENUM_BUFFER,LSAPR_SID_INFORMATION,LSAPR_SID_INFORMATION_ARRAY,LSAPR_TRANSLATED_NAME,LSAPR_TRANSLATED_NAMES,LSAPR_TRANSLATED_NAMES_EX,LSAPR_TRANSLATED_NAME_ARRAY,LSAPR_TRANSLATED_NAME_EX,LSAPR_TRANSLATED_NAME_EX_ARRAY,LSAPR_TRANSLATED_SIDS,LSAPR_TRANSLATED_SIDS_EX,LSAPR_TRANSLATED_SIDS_EX2,LSAPR_TRANSLATED_SID_EX,LSAPR_TRANSLATED_SID_EX2,LSAPR_TRANSLATED_SID_EX2_ARRAY,LSAPR_TRANSLATED_SID_EX_ARRAY,LSAP_LOOKUP_LEVEL,LSA_TRANSLATED_SID,LSA_TRANSLATED_SID_ARRAY,LsarGetUserName,LsarGetUserNameResponse,LsarLookupNames,LsarLookupNames2,LsarLookupNames2Response,LsarLookupNames3,LsarLookupNames3Response,LsarLookupNames4,LsarLookupNames4Response,LsarLookupNamesResponse,LsarLookupSids,LsarLookupSids2,LsarLookupSids2Response,LsarLookupSids3,LsarLookupSids3Response,LsarLookupSidsResponse,PLSAPR_REFERENCED_DOMAIN_LIST,PLSAPR_SID_INFORMATION_ARRAY,PLSAPR_TRANSLATED_NAME_ARRAY,PLSAPR_TRANSLATED_NAME_EX_ARRAY,PLSAPR_TRANSLATED_SID_EX2_ARRAY,PLSAPR_TRANSLATED_SID_EX_ARRAY,PLSA_TRANSLATED_SID_ARRAY,RPC_UNICODE_STRING_ARRAY,hLsarGetUserName,hLsarLookupNames,hLsarLookupNames2,hLsarLookupNames3,hLsarLookupNames4,hLsarLookupSids,hLsarLookupSids2",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5adfbc088dd4ac15",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.lsad,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.samr,impacket.uuid",
      "lines": 494,
      "logic_relevance": "none",
      "name": "lsat",
      "normalized_name": "lsat",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/lsat.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "336794a391242c98ccc86f79",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,struct,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BYTE_ARRAY, BaseRegCloseKey, BaseRegCloseKeyResponse, BaseRegCreateKey, BaseRegCreateKeyResponse, BaseRegDeleteKey, BaseRegDeleteKeyEx, BaseRegDeleteKeyExResponse | imports:impacket, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid, struct, sys | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BYTE_ARRAY,BaseRegCloseKey,BaseRegCloseKeyResponse,BaseRegCreateKey,BaseRegCreateKeyResponse,BaseRegDeleteKey,BaseRegDeleteKeyEx,BaseRegDeleteKeyExResponse,BaseRegDeleteKeyResponse,BaseRegDeleteValue,BaseRegDeleteValueResponse,BaseRegEnumKey,BaseRegEnumKeyResponse,BaseRegEnumValue,BaseRegEnumValueResponse,BaseRegFlushKey,BaseRegFlushKeyResponse,BaseRegGetKeySecurity,BaseRegGetKeySecurityResponse,BaseRegGetVersion,BaseRegGetVersionResponse,BaseRegLoadKey,BaseRegLoadKeyResponse,BaseRegOpenKey,BaseRegOpenKeyResponse,BaseRegQueryInfoKey,BaseRegQueryInfoKeyResponse,BaseRegQueryMultipleValues,BaseRegQueryMultipleValues2,BaseRegQueryMultipleValues2Response,BaseRegQueryMultipleValuesResponse,BaseRegQueryValue,BaseRegQueryValueResponse,BaseRegReplaceKey,BaseRegReplaceKeyResponse,BaseRegRestoreKey,BaseRegRestoreKeyResponse,BaseRegSaveKey,BaseRegSaveKeyEx,BaseRegSaveKeyExResponse,BaseRegSaveKeyResponse,BaseRegSetKeySecurity,BaseRegSetKeySecurityResponse,BaseRegSetValue,BaseRegSetValueResponse,BaseRegUnLoadKey,BaseRegUnLoadKeyResponse,DCERPCSessionError,OpenClassesRoot,OpenClassesRootResponse,OpenCurrentConfig,OpenCurrentConfigResponse,OpenCurrentUser,OpenCurrentUserResponse,OpenLocalMachine,OpenLocalMachineResponse,OpenPerformanceData,OpenPerformanceDataResponse,OpenPerformanceNlsText,OpenPerformanceNlsTextResponse,OpenPerformanceText,OpenPerformanceTextResponse,OpenUsers,OpenUsersResponse,PBYTE_ARRAY,PRPC_SECURITY_ATTRIBUTES,RPC_HKEY,RPC_SECURITY_ATTRIBUTES,RPC_SECURITY_DESCRIPTOR,RVALENT,RVALENT_ARRAY,checkNullString,hBaseRegCloseKey,hBaseRegCreateKey,hBaseRegDeleteKey,hBaseRegDeleteValue,hBaseRegEnumKey,hBaseRegEnumValue,hBaseRegFlushKey,hBaseRegGetKeySecurity,hBaseRegGetVersion,hBaseRegLoadKey,hBaseRegOpenKey,hBaseRegQueryInfoKey,hBaseRegQueryMultipleValues,hBaseRegQueryValue,hBaseRegReplaceKey,hBaseRegRestoreKey,hBaseRegSaveKey,hBaseRegSaveKeyEx,hBaseRegSetValue,hBaseRegUnLoadKey,hOpenClassesRoot,hOpenCurrentConfig,hOpenCurrentUser,hOpenLocalMachine,hOpenPerformanceData,hOpenPerformanceNlsText,hOpenPerformanceText,hOpenUsers,packValue,unpackValue",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da77580d16386082",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,struct,sys",
      "lines": 1006,
      "logic_relevance": "none",
      "name": "rrp",
      "normalized_name": "rrp",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/rrp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "88c1417a97f4d868f8eac637",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, IEnumVdsObject, IEnumVdsObject_Next, IEnumVdsObject_NextResponse, IVdsProvider, IVdsProvider_GetProperties, IVdsProvider_GetPropertiesResponse, IVdsService | imports:__future__, impacket, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,IEnumVdsObject,IEnumVdsObject_Next,IEnumVdsObject_NextResponse,IVdsProvider,IVdsProvider_GetProperties,IVdsProvider_GetPropertiesResponse,IVdsService,IVdsServiceInitialization,IVdsServiceInitialization_Initialize,IVdsServiceInitialization_InitializeResponse,IVdsService_GetProperties,IVdsService_GetPropertiesResponse,IVdsService_IsServiceReady,IVdsService_IsServiceReadyResponse,IVdsService_QueryProviders,IVdsService_QueryProvidersResponse,IVdsService_WaitForServiceReady,IVdsService_WaitForServiceReadyResponse,OBJECT_ARRAY,VDS_PROVIDER_PROP,VDS_PROVIDER_TYPE,VDS_SERVICE_PROP",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ab77d553e4e9fa3b",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 267,
      "logic_relevance": "none",
      "name": "vds",
      "normalized_name": "vds",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dcom/vds.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "8530b9fcb76607b434a85d09",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,impacket.winregistry",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, GetProviderMgmtInterface, GetProviderMgmtInterfaceResponse, IVssDifferentialSoftwareSnapshotMgmt, IVssEnumMgmtObject, IVssEnumMgmtObject_Next, IVssEnumMgmtObject_NextResponse, IVssEnumObject | imports:__future__, impacket, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,GetProviderMgmtInterface,GetProviderMgmtInterfaceResponse,IVssDifferentialSoftwareSnapshotMgmt,IVssEnumMgmtObject,IVssEnumMgmtObject_Next,IVssEnumMgmtObject_NextResponse,IVssEnumObject,IVssEnumObject_Next,IVssEnumObject_NextResponse,IVssSnapshotMgmt,QueryDiffAreasForVolume,QueryDiffAreasForVolumeResponse,QueryDiffAreasOnVolume,QueryDiffAreasOnVolumeResponse,QuerySnapshotsByVolume,QuerySnapshotsByVolumeResponse,QueryVolumesSupportedForSnapshots,QueryVolumesSupportedForSnapshotsResponse,VSS_ID,VSS_MGMT_OBJECT_PROP,VSS_MGMT_OBJECT_TYPE,VSS_MGMT_OBJECT_UNION,VSS_OBJECT_TYPE,VSS_PROVIDER_TYPE,VSS_SNAPSHOT_STATE,VSS_VOLUME_PROP,VSS_VOLUME_SNAPSHOT_ATTRIBUTES",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "63d191e224097bee",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,impacket.winregistry",
      "lines": 337,
      "logic_relevance": "none",
      "name": "scmp",
      "normalized_name": "scmp",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dcom/scmp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "385596ac6cec72e0c9c54ae9",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,collections,copy,functools,impacket,impacket.dcerpc.v5.dcom.oaut,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,logging,ordereddict,ordereddict.ordereddict,struct,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CIM_TYPE_ENUM, CLASS_AND_METHODS_PART, CLASS_HEADER, CLASS_PART, CLASS_TYPE, CURRENT_CLASS_NO_METHODS, DCERPCSessionError, DECORATION | imports:__future__, collections, copy, functools, impacket, impacket.dcerpc.v5.dcom.oaut, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CIM_TYPE_ENUM,CLASS_AND_METHODS_PART,CLASS_HEADER,CLASS_PART,CLASS_TYPE,CURRENT_CLASS_NO_METHODS,DCERPCSessionError,DECORATION,DERIVATION_LIST,ENCODED_STRING,ENCODED_VALUE,ENCODING_UNIT,EnumType,HEAP,IEnumWbemClassObject,IEnumWbemClassObject_Clone,IEnumWbemClassObject_CloneResponse,IEnumWbemClassObject_Next,IEnumWbemClassObject_NextAsync,IEnumWbemClassObject_NextAsyncResponse,IEnumWbemClassObject_NextResponse,IEnumWbemClassObject_Reset,IEnumWbemClassObject_ResetResponse,IEnumWbemClassObject_Skip,IEnumWbemClassObject_SkipResponse,INSTANCE_PROP_QUALIFIER_SET,INSTANCE_QUALIFIER_SET,INSTANCE_TYPE,IUnsecuredApartment_CreateObjectStub,IUnsecuredApartment_CreateObjectStubResponse,IWbemBackupRestoreEx_Pause,IWbemBackupRestoreEx_PauseResponse,IWbemBackupRestoreEx_Resume,IWbemBackupRestoreEx_ResumeResponse,IWbemBackupRestore_Backup,IWbemBackupRestore_BackupResponse,IWbemBackupRestore_Restore,IWbemBackupRestore_RestoreResponse,IWbemCallResult,IWbemCallResult_GetCallStatus,IWbemCallResult_GetCallStatusResponse,IWbemCallResult_GetResultObject,IWbemCallResult_GetResultObjectResponse,IWbemCallResult_GetResultServices,IWbemCallResult_GetResultServicesResponse,IWbemCallResult_GetResultString,IWbemCallResult_GetResultStringResponse,IWbemClassObject,IWbemFetchSmartEnum,IWbemFetchSmartEnum_GetSmartEnum,IWbemFetchSmartEnum_GetSmartEnumResponse,IWbemLevel1Login,IWbemLevel1Login_EstablishPosition,IWbemLevel1Login_EstablishPositionResponse,IWbemLevel1Login_NTLMLogin,IWbemLevel1Login_NTLMLoginResponse,IWbemLevel1Login_RequestChallenge,IWbemLevel1Login_RequestChallengeResponse,IWbemLevel1Login_WBEMLogin,IWbemLevel1Login_WBEMLoginResponse,IWbemLoginClientID,IWbemLoginClientID_SetClientInfo,IWbemLoginClientID_SetClientInfoResponse,IWbemLoginHelper,IWbemLoginHelper_SetEvent,IWbemLoginHelper_SetEventResponse,IWbemObjectSink_Indicate,IWbemObjectSink_IndicateResponse,IWbemObjectSink_SetStatus,IWbemObjectSink_SetStatusResponse,IWbemRefreshingServices_AddEnumToRefresher,IWbemRefreshingServices_AddEnumToRefresherResponse,IWbemRefreshingServices_AddObjectToRefresher,IWbemRefreshingServices_AddObjectToRefresherByTemplate,IWbemRefreshingServices_AddObjectToRefresherByTemplateResponse,IWbemRefreshingServices_AddObjectToRefresherResponse,IWbemRefreshingServices_GetRemoteRefresher,IWbemRefreshingServices_GetRemoteRefresherResponse,IWbemRefreshingServices_ReconnectRemoteRefresher,IWbemRefreshingServices_ReconnectRemoteRefresherResponse,IWbemRefreshingServices_RemoveObjectFromRefresher,IWbemRefreshingServices_RemoveObjectFromRefresherResponse,IWbemRemoteRefresher_RemoteRefresh,IWbemRemoteRefresher_RemoteRefreshResponse,IWbemRemoteRefresher_StopRefreshing,IWbemRemoteRefresher_StopRefreshingResponse,IWbemServices,IWbemServices_CancelAsyncCall,IWbemServices_CancelAsyncCallResponse,IWbemServices_CreateClassEnum,IWbemServices_CreateClassEnumAsync,IWbemServices_CreateClassEnumAsyncResponse,IWbemServices_CreateClassEnumResponse,IWbemServices_CreateInstanceEnum,IWbemServices_CreateInstanceEnumAsync,IWbemServices_CreateInstanceEnumAsyncResponse,IWbemServices_CreateInstanceEnumResponse,IWbemServices_DeleteClass,IWbemServices_DeleteClassAsync,IWbemServices_DeleteClassAsyncResponse,IWbemServices_DeleteClassResponse,IWbemServices_DeleteInstance,IWbemServices_DeleteInstanceAsync,IWbemServices_DeleteInstanceAsyncResponse,IWbemServices_DeleteInstanceResponse,IWbemServices_ExecMethod,IWbemServices_ExecMethodAsync,IWbemServices_ExecMethodAsyncResponse,IWbemServices_ExecMethodResponse,IWbemServices_ExecNotificationQuery,IWbemServices_ExecNotificationQueryAsync,IWbemServices_ExecNotificationQueryAsyncResponse,IWbemServices_ExecNotificationQueryResponse,IWbemServices_ExecQuery,IWbemServices_ExecQueryAsync,IWbemServices_ExecQueryAsyncResponse,IWbemServices_ExecQueryResponse,IWbemServices_GetObject,IWbemServices_GetObjectAsync,IWbemServices_GetObjectAsyncResponse,IWbemServices_GetObjectResponse,IWbemServices_OpenNamespace,IWbemServices_OpenNamespaceResponse,IWbemServices_PutClass,IWbemServices_PutClassAsync,IWbemServices_PutClassAsyncResponse,IWbemServices_PutClassResponse,IWbemServices_PutInstance,IWbemServices_PutInstanceAsync,IWbemServices_PutInstanceAsyncResponse,IWbemServices_PutInstanceResponse,IWbemServices_QueryObjectSink,IWbemServices_QueryObjectSinkResponse,IWbemShutdown_Shutdown,IWbemShutdown_ShutdownResponse,IWbemUnsecuredApartment_CreateSinkStub,IWbemUnsecuredApartment_CreateSinkStubResponse,IWbemWCOSmartEnum,IWbemWCOSmartEnum_Next,IWbemWCOSmartEnum_NextResponse,METHODS_PART,METHOD_DESCRIPTION,METHOD_SIGNATURE_BLOCK,OBJECT_BLOCK,ObjectArray,PMInterfacePointer_ARRAY_CV,PROPERTY_INFO,PROPERTY_LOOKUP_TABLE,PUCHAR_ARRAY_CV,PULONG_ARRAY,PWBEM_REFRESHED_OBJECT_ARRAY,PropertyLookup,QUALIFIER,QUALIFIER_SET,UCHAR_ARRAY_CV,ULONG_ARRAY,WBEMOBJECT_CLASS,WBEMOBJECT_INSTANCE,WBEMOBJECT_INSTANCE_NOCLASS,WBEMSTATUS,WBEM_BACKUP_RESTORE_FLAGS,WBEM_CHANGE_FLAG_TYPE,WBEM_CONNECT_OPTIONS,WBEM_DATAPACKET_OBJECT,WBEM_GENERIC_FLAG_TYPE,WBEM_INSTANCE_BLOB,WBEM_INSTANCE_BLOB_TYPE,WBEM_QUERY_FLAG_TYPE,WBEM_REFRESHED_OBJECT,WBEM_REFRESHED_OBJECT_ARRAY,WBEM_REFRESH_TYPE,WBEM_STATUS_TYPE,WBEM_TIMEOUT_TYPE,_WBEM_RECONNECT_INFO,_WBEM_RECONNECT_INFO_ARRAY,_WBEM_RECONNECT_RESULTS,_WBEM_RECONNECT_RESULTS_ARRAY,_WBEM_REFRESHER_ID,_WBEM_REFRESH_INFO,_WBEM_REFRESH_INFO_NON_HIPERF,_WBEM_REFRESH_INFO_REMOTE,_WBEM_REFRESH_INFO_UNION,checkNullString,format_structure",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b192a9a5d04b2a9",
      "framework": "python",
      "imports": "__future__,collections,copy,functools,impacket,impacket.dcerpc.v5.dcom.oaut,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.structure,impacket.uuid,logging,ordereddict,ordereddict.ordereddict,struct,traceback",
      "lines": 3250,
      "logic_relevance": "none",
      "name": "wmi",
      "normalized_name": "wmi",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dcom/wmi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "4f6faecd9c1965aa3733d52f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,random,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ARRAYDESC, BRECORD, BRECORD_ARRAY, BSTR, BSTR_ARRAY, BSTR_ARRAY_CV, BYTE_SIZEDARR, CALLCONV | imports:__future__, impacket, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.uuid | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ARRAYDESC,BRECORD,BRECORD_ARRAY,BSTR,BSTR_ARRAY,BSTR_ARRAY_CV,BYTE_SIZEDARR,CALLCONV,CURRENCY,DCERPCSessionError,DECIMAL,DISPID_ARRAY,DISPPARAMS,DWORD_ARRAY,DWORD_SIZEDARR,ELEMDESC,ELEMDESC_ARRAY,EMPTY,EXCEPINFO,FLAGGED_WORD_BLOB,FUNCDESC,FUNCKIND,HYPER_ARRAY,HYPER_SIZEDARR,IDispatch,IDispatch_GetIDsOfNames,IDispatch_GetIDsOfNamesResponse,IDispatch_GetTypeInfo,IDispatch_GetTypeInfoCount,IDispatch_GetTypeInfoCountResponse,IDispatch_GetTypeInfoResponse,IDispatch_Invoke,IDispatch_InvokeResponse,INVOKEKIND,ITypeComp,ITypeInfo,ITypeInfo_GetDocumentation,ITypeInfo_GetDocumentationResponse,ITypeInfo_GetFuncDesc,ITypeInfo_GetFuncDescResponse,ITypeInfo_GetNames,ITypeInfo_GetNamesResponse,ITypeInfo_GetTypeAttr,ITypeInfo_GetTypeAttrResponse,ITypeInfo_GetTypeComp,ITypeInfo_GetTypeCompResponse,LPFUNCDESC,OLESTR_ARRAY,PARAMDESC,PARAMDESCEX,PBSTR,PBSTR_ARRAY,PCURRENCY,PDATE,PDECIMAL,PDISPID_ARRAY,PELEMDESC_ARRAY,PPARAMDESCEX,PSAFEARRAY,PSAFEARRAYBOUND,PSAFEARRAYBOUND_ARRAY,PSCODE_ARRAY,PTYPEATTR,PTYPEDESC,PVARIANT,PVARIANT_ARRAY,PVARIANT_BOOL,SAFEARRAY,SAFEARRAYBOUND,SAFEARRAYBOUND_ARRAY,SAFEARRAYUNION,SAFEARR_BRECORD,SAFEARR_BSTR,SAFEARR_DISPATCH,SAFEARR_HAVEIID,SAFEARR_UNKNOWN,SAFEARR_VARIANT,SCODE_ARRAY,SF_TYPE,TYPEATTR,TYPEDESC,TYPEKIND,UINT_ARRAY,USHORT_ARRAY,VARENUM,VARIANT,VARIANT_ARRAY,WORD_ARRAY,WORD_SIZEDARR,_wireBRECORD,checkNullString,enumerateMethods,tdUnion,varUnion,wireVARIANTStr",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "865af21e7a7b72a9",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid,random,struct",
      "lines": 1090,
      "logic_relevance": "none",
      "name": "oaut",
      "normalized_name": "oaut",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dcom/oaut.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "0fd705875fd3f1f5f57306e1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket,impacket.dcerpc.v5.dcom.oaut,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCSessionError, IEnumEventObject, IEnumEventObject_Clone, IEnumEventObject_CloneResponse, IEnumEventObject_Next, IEnumEventObject_NextResponse, IEnumEventObject_Reset, IEnumEventObject_ResetResponse | imports:__future__, impacket, impacket.dcerpc.v5.dcom.oaut, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.enum, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DCERPCSessionError,IEnumEventObject,IEnumEventObject_Clone,IEnumEventObject_CloneResponse,IEnumEventObject_Next,IEnumEventObject_NextResponse,IEnumEventObject_Reset,IEnumEventObject_ResetResponse,IEnumEventObject_Skip,IEnumEventObject_SkipResponse,IEventClass,IEventClass2,IEventClass2_get_AllowInprocActivation,IEventClass2_get_AllowInprocActivationResponse,IEventClass2_get_FireInParallel,IEventClass2_get_FireInParallelResponse,IEventClass2_get_MultiInterfacePublisherFilterCLSID,IEventClass2_get_MultiInterfacePublisherFilterCLSIDResponse,IEventClass2_get_PublisherID,IEventClass2_get_PublisherIDResponse,IEventClass2_put_AllowInprocActivation,IEventClass2_put_AllowInprocActivationResponse,IEventClass2_put_FireInParallel,IEventClass2_put_FireInParallelResponse,IEventClass2_put_MultiInterfacePublisherFilterCLSID,IEventClass2_put_MultiInterfacePublisherFilterCLSIDResponse,IEventClass2_put_PublisherID,IEventClass2_put_PublisherIDResponse,IEventClass3,IEventClass3_get_EventClassApplicationID,IEventClass3_get_EventClassApplicationIDResponse,IEventClass3_get_EventClassPartitionID,IEventClass3_get_EventClassPartitionIDResponse,IEventClass3_put_EventClassApplicationID,IEventClass3_put_EventClassApplicationIDResponse,IEventClass3_put_EventClassPartitionID,IEventClass3_put_EventClassPartitionIDResponse,IEventClass_get_Description,IEventClass_get_DescriptionResponse,IEventClass_get_EventClassID,IEventClass_get_EventClassIDResponse,IEventClass_get_EventClassName,IEventClass_get_EventClassNameResponse,IEventClass_get_FiringInterfaceID,IEventClass_get_FiringInterfaceIDResponse,IEventClass_get_OwnerSID,IEventClass_get_OwnerSIDResponse,IEventClass_get_TypeLib,IEventClass_get_TypeLibResponse,IEventClass_put_Description,IEventClass_put_DescriptionResponse,IEventClass_put_EventClassID,IEventClass_put_EventClassIDResponse,IEventClass_put_EventClassName,IEventClass_put_EventClassNameResponse,IEventClass_put_FiringInterfaceID,IEventClass_put_FiringInterfaceIDResponse,IEventClass_put_OwnerSID,IEventClass_put_OwnerSIDResponse,IEventClass_put_TypeLib,IEventClass_put_TypeLibResponse,IEventObjectCollection,IEventObjectCollection_Add,IEventObjectCollection_AddResponse,IEventObjectCollection_Remove,IEventObjectCollection_RemoveResponse,IEventObjectCollection_get_Count,IEventObjectCollection_get_CountResponse,IEventObjectCollection_get_Item,IEventObjectCollection_get_ItemResponse,IEventObjectCollection_get_NewEnum,IEventObjectCollection_get_NewEnumResponse,IEventObjectCollection_get__NewEnum,IEventObjectCollection_get__NewEnumResponse,IEventSubscription,IEventSubscription2,IEventSubscription2_get_FilterCriteria,IEventSubscription2_get_FilterCriteriaResponse,IEventSubscription2_get_SubscriberMoniker,IEventSubscription2_get_SubscriberMonikerResponse,IEventSubscription2_put_FilterCriteria,IEventSubscription2_put_FilterCriteriaResponse,IEventSubscription2_put_SubscriberMoniker,IEventSubscription2_put_SubscriberMonikerResponse,IEventSubscription3,IEventSubscription3_get_EventClassApplicationID,IEventSubscription3_get_EventClassApplicationIDResponse,IEventSubscription3_get_EventClassPartitionID,IEventSubscription3_get_EventClassPartitionIDResponse,IEventSubscription3_get_SubscriberApplicationID,IEventSubscription3_get_SubscriberApplicationIDResponse,IEventSubscription3_get_SubscriberPartitionID,IEventSubscription3_get_SubscriberPartitionIDResponse,IEventSubscription3_put_EventClassApplicationID,IEventSubscription3_put_EventClassApplicationIDResponse,IEventSubscription3_put_EventClassPartitionID,IEventSubscription3_put_EventClassPartitionIDResponse,IEventSubscription3_put_SubscriberApplicationID,IEventSubscription3_put_SubscriberApplicationIDResponse,IEventSubscription3_put_SubscriberPartitionID,IEventSubscription3_put_SubscriberPartitionIDResponse,IEventSubscription_GetPublisherProperty,IEventSubscription_GetPublisherPropertyCollection,IEventSubscription_GetPublisherPropertyCollectionResponse,IEventSubscription_GetPublisherPropertyResponse,IEventSubscription_GetSubscriberProperty,IEventSubscription_GetSubscriberPropertyCollection,IEventSubscription_GetSubscriberPropertyCollectionResponse,IEventSubscription_GetSubscriberPropertyResponse,IEventSubscription_PutPublisherProperty,IEventSubscription_PutPublisherPropertyResponse,IEventSubscription_PutSubscriberProperty,IEventSubscription_PutSubscriberPropertyResponse,IEventSubscription_RemovePublisherProperty,IEventSubscription_RemovePublisherPropertyResponse,IEventSubscription_RemoveSubscriberProperty,IEventSubscription_RemoveSubscriberPropertyResponse,IEventSubscription_get_Description,IEventSubscription_get_DescriptionResponse,IEventSubscription_get_Enabled,IEventSubscription_get_EnabledResponse,IEventSubscription_get_EventClassID,IEventSubscription_get_EventClassIDResponse,IEventSubscription_get_InterfaceID,IEventSubscription_get_InterfaceIDResponse,IEventSubscription_get_MachineName,IEventSubscription_get_MachineNameResponse,IEventSubscription_get_MethodName,IEventSubscription_get_MethodNameResponse,IEventSubscription_get_OwnerSID,IEventSubscription_get_OwnerSIDResponse,IEventSubscription_get_PerUser,IEventSubscription_get_PerUserResponse,IEventSubscription_get_PublisherID,IEventSubscription_get_PublisherIDResponse,IEventSubscription_get_SubscriberCLSID,IEventSubscription_get_SubscriberCLSIDResponse,IEventSubscription_get_SubscriberInterface,IEventSubscription_get_SubscriberInterfaceResponse,IEventSubscription_get_SubscriptionID,IEventSubscription_get_SubscriptionIDResponse,IEventSubscription_get_SubscriptionName,IEventSubscription_get_SubscriptionNameResponse,IEventSubscription_put_Description,IEventSubscription_put_DescriptionResponse,IEventSubscription_put_Enabled,IEventSubscription_put_EnabledResponse,IEventSubscription_put_EventClassID,IEventSubscription_put_EventClassIDResponse,IEventSubscription_put_InterfaceID,IEventSubscription_put_InterfaceIDResponse,IEventSubscription_put_MachineName,IEventSubscription_put_MachineNameResponse,IEventSubscription_put_MethodName,IEventSubscription_put_MethodNameResponse,IEventSubscription_put_OwnerSID,IEventSubscription_put_OwnerSIDResponse,IEventSubscription_put_PerUser,IEventSubscription_put_PerUserResponse,IEventSubscription_put_PublisherID,IEventSubscription_put_PublisherIDResponse,IEventSubscription_put_SubscriberCLSID,IEventSubscription_put_SubscriberCLSIDResponse,IEventSubscription_put_SubscriberInterface,IEventSubscription_put_SubscriberInterfaceResponse,IEventSubscription_put_SubscriptionID,IEventSubscription_put_SubscriptionIDResponse,IEventSubscription_put_SubscriptionName,IEventSubscription_put_SubscriptionNameResponse,IEventSystem,IEventSystem2,IEventSystem2_GetVersion,IEventSystem2_GetVersionResponse,IEventSystem2_VerifyTransientSubscribers,IEventSystem2_VerifyTransientSubscribersResponse,IEventSystemInitialize,IEventSystemInitialize_SetCOMCatalogBehaviour,IEventSystemInitialize_SetCOMCatalogBehaviourResponse,IEventSystem_Query,IEventSystem_QueryResponse,IEventSystem_QueryS,IEventSystem_QuerySResponse,IEventSystem_Remove,IEventSystem_RemoveResponse,IEventSystem_RemoveS,IEventSystem_RemoveSResponse,IEventSystem_Store,IEventSystem_StoreResponse,IEventSystem_get_EventObjectChangeEventClassID,IEventSystem_get_EventObjectChangeEventClassIDResponse,OBJECT_ARRAY,TYPEATTR,VARENUM",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b9ae29fa66ac42d",
      "framework": "python",
      "imports": "__future__,impacket,impacket.dcerpc.v5.dcom.oaut,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.enum,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.uuid",
      "lines": 1863,
      "logic_relevance": "none",
      "name": "comev",
      "normalized_name": "comev",
      "package_manager": "unknown",
      "path": "python/impacket/dcerpc/v5/dcom/comev.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "42d6ae3f3a148f77c2e4d434",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.ldap.ldapasn1,impacket.ntlm,impacket.spnego,os,pyasn1.codec.ber,pyasn1.error,pyasn1.type.univ,random,re,socket",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LDAPConnection, LDAPFilterInvalidException, LDAPFilterSyntaxError, LDAPSearchError, LDAPSessionError | imports:OpenSSL, binascii, datetime, impacket, impacket.krb5, impacket.krb5.asn1, impacket.krb5.ccache, impacket.krb5.kerberosv5 | observability-score:55 | security-score:55",
      "exports": "LDAPConnection,LDAPFilterInvalidException,LDAPFilterSyntaxError,LDAPSearchError,LDAPSessionError",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bae73bb0e6470c63",
      "framework": "python",
      "imports": "OpenSSL,binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.kerberosv5,impacket.krb5.types,impacket.ldap.ldapasn1,impacket.ntlm,impacket.spnego,os,pyasn1.codec.ber,pyasn1.error,pyasn1.type.univ,random,re,socket",
      "lines": 649,
      "logic_relevance": "none",
      "name": "ldap",
      "normalized_name": "ldap",
      "package_manager": "unknown",
      "path": "python/impacket/ldap/ldap.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "ca94640620a2cb69d5919463",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "pyasn1.codec.ber,pyasn1.type",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:AbandonRequest, AddRequest, AddResponse, AssertionValue, Attribute, AttributeDescription, AttributeList, AttributeSelection | imports:pyasn1.codec.ber, pyasn1.type | security-score:55",
      "exports": "AbandonRequest,AddRequest,AddResponse,AssertionValue,Attribute,AttributeDescription,AttributeList,AttributeSelection,AttributeValue,AttributeValueAssertion,AuthenticationChoice,BindRequest,BindResponse,CompareRequest,CompareResponse,Control,Controls,DefaultSequenceAndSetBaseMixin,DelRequest,DelResponse,DerefAliases,ExtendedRequest,ExtendedResponse,Filter,IntermediateResponse,LDAPDN,LDAPMessage,LDAPOID,LDAPResult,LDAPString,MatchingRuleAssertion,MatchingRuleID,MessageID,ModifyDNRequest,ModifyDNResponse,ModifyRequest,ModifyResponse,Operation,PartialAttribute,PartialAttributeList,Referral,RelativeLDAPDN,ResultCode,SDFlagsControl,SDFlagsControlValue,SaslCredentials,Scope,SearchRequest,SearchResultDone,SearchResultEntry,SearchResultReference,SimplePagedResultsControl,SimplePagedResultsControlValue,SubstringFilter,URI,UnbindRequest",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69d39e251e3b88af",
      "framework": "python",
      "imports": "pyasn1.codec.ber,pyasn1.type",
      "lines": 699,
      "logic_relevance": "none",
      "name": "ldapasn1",
      "normalized_name": "ldapasn1",
      "package_manager": "unknown",
      "path": "python/impacket/ldap/ldapasn1.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "beba58cba5748214839aee4e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket.structure,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ACCESS_ALLOWED_ACE, ACCESS_ALLOWED_CALLBACK_ACE, ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, ACCESS_ALLOWED_OBJECT_ACE, ACCESS_DENIED_ACE, ACCESS_DENIED_CALLBACK_ACE, ACCESS_DENIED_CALLBACK_OBJECT_ACE, ACCESS_DENIED_OBJECT_ACE | imports:impacket.structure, struct | security-score:55",
      "exports": "ACCESS_ALLOWED_ACE,ACCESS_ALLOWED_CALLBACK_ACE,ACCESS_ALLOWED_CALLBACK_OBJECT_ACE,ACCESS_ALLOWED_OBJECT_ACE,ACCESS_DENIED_ACE,ACCESS_DENIED_CALLBACK_ACE,ACCESS_DENIED_CALLBACK_OBJECT_ACE,ACCESS_DENIED_OBJECT_ACE,ACCESS_MASK,ACE,ACL,LDAP_SID,LDAP_SID_IDENTIFIER_AUTHORITY,SR_SECURITY_DESCRIPTOR,SYSTEM_AUDIT_ACE,SYSTEM_AUDIT_CALLBACK_ACE,SYSTEM_AUDIT_CALLBACK_OBJECT_ACE,SYSTEM_AUDIT_OBJECT_ACE,SYSTEM_MANDATORY_LABEL_ACE,SYSTEM_RESOURCE_ATTRIBUTE_ACE,SYSTEM_SCOPED_POLICY_ID_ACE",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "28da0030dd4f68b9",
      "framework": "python",
      "imports": "impacket.structure,struct",
      "lines": 491,
      "logic_relevance": "none",
      "name": "ldaptypes",
      "normalized_name": "ldaptypes",
      "package_manager": "unknown",
      "path": "python/impacket/ldap/ldaptypes.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "beb7e33ae6db118d6223cc11",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,datetime,enum,impacket,impacket.structure,six,struct,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CountedOctetString, Enctype, KeyBlock, Keytab, KeytabEntry, KeytabPrincipal | imports:binascii, datetime, enum, impacket, impacket.structure, six, struct, sys | observability-score:55 | security-score:55",
      "exports": "CountedOctetString,Enctype,KeyBlock,Keytab,KeytabEntry,KeytabPrincipal",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e82952c60d4116c8",
      "framework": "python",
      "imports": "binascii,datetime,enum,impacket,impacket.structure,six,struct,sys",
      "lines": 288,
      "logic_relevance": "none",
      "name": "keytab",
      "normalized_name": "keytab",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/keytab.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "52f6edad7ab99d8b0c4db96e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.dcerpc.v5.enum",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:APOptions, AddressType, ApplicationTagNumbers, AuthorizationDataType, ChecksumTypes, EncryptionTypes, ErrorCodes, KDCOptions | imports:impacket.dcerpc.v5.enum | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "APOptions,AddressType,ApplicationTagNumbers,AuthorizationDataType,ChecksumTypes,EncryptionTypes,ErrorCodes,KDCOptions,KerberosMessageTypes,NameTypes,PAPacOptions,PreAuthenticationDataTypes,PrincipalNameType,ProtocolVersionNumber,TicketFlags,TransitedEncodingTypes,encodeFlags",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ad4071bc5eb9087d",
      "framework": "python",
      "imports": "impacket.dcerpc.v5.enum",
      "lines": 455,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/constants.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "2b3c9d466dcedd98f8f1f34a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "datetime,pyasn1.codec.der,re,socket,struct",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Address, EncryptedData, KerberosException, KerberosTime, Principal, Ticket, _asn1_decode | imports:., datetime, pyasn1.codec.der, re, socket, struct | security-score:55",
      "exports": "Address,EncryptedData,KerberosException,KerberosTime,Principal,Ticket,_asn1_decode",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9943c93e65a827bb",
      "framework": "python",
      "imports": ".,datetime,pyasn1.codec.der,re,socket,struct",
      "lines": 274,
      "logic_relevance": "none",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/types.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0b798f2c4007833fd6b8c87b",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,builtins,impacket.dcerpc.v5.rpcrt,impacket.krb5,impacket.structure,random,six,string,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:CheckSumField, GSSAPI, GSSAPI_AES, GSSAPI_AES128, GSSAPI_AES256, GSSAPI_RC4 | imports:Cryptodome.Cipher, Cryptodome.Hash, builtins, impacket.dcerpc.v5.rpcrt, impacket.krb5, impacket.structure, random, six | security-score:55",
      "exports": "CheckSumField,GSSAPI,GSSAPI_AES,GSSAPI_AES128,GSSAPI_AES256,GSSAPI_RC4",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "852a5b520128ffbe",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,builtins,impacket.dcerpc.v5.rpcrt,impacket.krb5,impacket.structure,random,six,string,struct",
      "lines": 295,
      "logic_relevance": "none",
      "name": "gssapi",
      "normalized_name": "gssapi",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/gssapi.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4cad0b7863d6b99579a326ee",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.nrpc,impacket.dcerpc.v5.rpcrt,impacket.structure",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DOMAIN_GROUP_MEMBERSHIP, DOMAIN_GROUP_MEMBERSHIP_ARRAY, KERB_SID_AND_ATTRIBUTES, KERB_SID_AND_ATTRIBUTES_ARRAY, KERB_VALIDATION_INFO, NTLM_SUPPLEMENTAL_CREDENTIAL, PACTYPE, PAC_CLIENT_CLAIMS_INFO | imports:impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.nrpc, impacket.dcerpc.v5.rpcrt, impacket.structure | observability-score:55 | security-score:55",
      "exports": "DOMAIN_GROUP_MEMBERSHIP,DOMAIN_GROUP_MEMBERSHIP_ARRAY,KERB_SID_AND_ATTRIBUTES,KERB_SID_AND_ATTRIBUTES_ARRAY,KERB_VALIDATION_INFO,NTLM_SUPPLEMENTAL_CREDENTIAL,PACTYPE,PAC_CLIENT_CLAIMS_INFO,PAC_CLIENT_INFO,PAC_CREDENTIAL_DATA,PAC_CREDENTIAL_INFO,PAC_DEVICE_CLAIMS_INFO,PAC_DEVICE_INFO,PAC_INFO_BUFFER,PAC_SIGNATURE_DATA,PDOMAIN_GROUP_MEMBERSHIP_ARRAY,PKERB_SID_AND_ATTRIBUTES_ARRAY,PKERB_VALIDATION_INFO,S4U_DELEGATION_INFO,SECPKG_SUPPLEMENTAL_CRED,SECPKG_SUPPLEMENTAL_CRED_ARRAY,UPN_DNS_INFO,VALIDATION_INFO",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0fb095bb4fa5b740",
      "framework": "python",
      "imports": "impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.nrpc,impacket.dcerpc.v5.rpcrt,impacket.structure",
      "lines": 235,
      "logic_relevance": "none",
      "name": "pac",
      "normalized_name": "pac",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/pac.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f48bc28097fbc03bfc2287fd",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,Cryptodome.Protocol.KDF,Cryptodome.Util.number,binascii,functools,os,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Cksumtype, Enctype, InvalidChecksum, Key, _AES128CTS, _AES256CTS, _AESEnctype, _ChecksumProfile | imports:Cryptodome.Cipher, Cryptodome.Hash, Cryptodome.Protocol.KDF, Cryptodome.Util.number, binascii, functools, os, six | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Cksumtype,Enctype,InvalidChecksum,Key,_AES128CTS,_AES256CTS,_AESEnctype,_ChecksumProfile,_DES3CBC,_DESCBC,_EnctypeProfile,_HMACMD5,_RC4,_SHA1AES128,_SHA1AES256,_SHA1DES3,_SimplifiedChecksum,_SimplifiedEnctype,_get_checksum_profile,_get_enctype_profile,_is_weak_des_key,_mac_equal,_nfold,_xorbytes,_zeropad,cf2,decrypt,encrypt,get_random_bytes,make_checksum,prf,random_to_key,string_to_key,verify_checksum",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a92135d4864d94bb",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,Cryptodome.Protocol.KDF,Cryptodome.Util.number,binascii,functools,os,six,struct",
      "lines": 693,
      "logic_relevance": "none",
      "name": "crypto",
      "normalized_name": "crypto",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/crypto.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "417a8d1e3c4cb6e9abc855e4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.types,impacket.structure,os,pyasn1.codec.der,pyasn1.type.univ,six,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Address, AuthData, CCache, CountedOctetString, Credential, DeltaTime, Header, KeyBlock | imports:__future__, binascii, datetime, impacket, impacket.krb5, impacket.krb5.asn1, impacket.krb5.types, impacket.structure | observability-score:55 | security-score:55",
      "exports": "Address,AuthData,CCache,CountedOctetString,Credential,DeltaTime,Header,KeyBlock,Principal,Times",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f43b4ffec555775",
      "framework": "python",
      "imports": "__future__,binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.types,impacket.structure,os,pyasn1.codec.der,pyasn1.type.univ,six,struct",
      "lines": 660,
      "logic_relevance": "none",
      "name": "ccache",
      "normalized_name": "ccache",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/ccache.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b260e907425a290baf2caee1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.crypto,impacket.krb5.gssapi,impacket.krb5.types,impacket.ntlm,impacket.smbconnection,impacket.spnego,os,pyasn1.codec.der,pyasn1.error,pyasn1.type.univ,random,six,socket,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:KerberosError, SessionKeyDecryptionError, getKerberosTGS, getKerberosTGT, getKerberosType1, getKerberosType3, sendReceive | imports:binascii, datetime, impacket, impacket.krb5, impacket.krb5.asn1, impacket.krb5.ccache, impacket.krb5.crypto, impacket.krb5.gssapi | observability-score:55 | security-score:55",
      "exports": "KerberosError,SessionKeyDecryptionError,getKerberosTGS,getKerberosTGT,getKerberosType1,getKerberosType3,sendReceive",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ccb3dde626cf1ea",
      "framework": "python",
      "imports": "binascii,datetime,impacket,impacket.krb5,impacket.krb5.asn1,impacket.krb5.ccache,impacket.krb5.crypto,impacket.krb5.gssapi,impacket.krb5.types,impacket.ntlm,impacket.smbconnection,impacket.spnego,os,pyasn1.codec.der,pyasn1.error,pyasn1.type.univ,random,six,socket,struct",
      "lines": 733,
      "logic_relevance": "none",
      "name": "kerberosv5",
      "normalized_name": "kerberosv5",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/kerberosv5.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5b72d10671e583367bd412b3",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "pyasn1.type",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:AD_AND_OR, AD_IF_RELEVANT, AD_KDCIssued, AD_MANDATORY_FOR_KDC, APOptions, AP_REP, AP_REQ, AS_REP | imports:., pyasn1.type | security-score:55",
      "exports": "AD_AND_OR,AD_IF_RELEVANT,AD_KDCIssued,AD_MANDATORY_FOR_KDC,APOptions,AP_REP,AP_REQ,AS_REP,AS_REQ,Authenticator,AuthorizationData,Checksum,ETYPE_INFO,ETYPE_INFO2,ETYPE_INFO2_ENTRY,ETYPE_INFO_ENTRY,EncAPRepPart,EncASRepPart,EncKDCRepPart,EncKrbCredPart,EncKrbPrivPart,EncTGSRepPart,EncTicketPart,EncryptedData,EncryptionKey,HostAddress,HostAddresses,Int32,KDCOptions,KDC_REP,KDC_REQ,KDC_REQ_BODY,KERB_ERROR_DATA,KERB_KEY_LIST_REP,KERB_KEY_LIST_REQ,KERB_PA_PAC_REQUEST,KRB_CRED,KRB_ERROR,KRB_PRIV,KRB_SAFE,KRB_SAFE_BODY,KerberosFlags,KerberosString,KerberosTime,KrbCredInfo,LastReq,METHOD_DATA,Microseconds,PA_DATA,PA_ENC_TIMESTAMP,PA_ENC_TS_ENC,PA_FOR_USER_ENC,PA_PAC_OPTIONS,PrincipalName,Realm,TGS_REP,TGS_REQ,TYPED_DATA,Ticket,TicketFlags,TransitedEncoding,UInt32,_application_tag,_msg_type_component,_sequence_component,_sequence_optional_component,_vno_component,seq_append,seq_set,seq_set_dict,seq_set_flags,seq_set_iter",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99ca1faef3ca4fc2",
      "framework": "python",
      "imports": ".,pyasn1.type",
      "lines": 509,
      "logic_relevance": "none",
      "name": "asn1",
      "normalized_name": "asn1",
      "package_manager": "unknown",
      "path": "python/impacket/krb5/asn1.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8eada3b8c2dd2fa65b4797b4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,__future__,binascii,codecs,collections,datetime,hashlib,impacket,impacket.crypto,impacket.dcerpc.v5,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcom.oaut,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.dpapi,impacket.ese,impacket.krb5,impacket.krb5.crypto,impacket.nt_errors,impacket.smb3structs,impacket.structure,impacket.uuid,logging,ntpath,os,random,six,string,struct,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CryptoCommon, DOMAIN_ACCOUNT_F, LSASecrets, LSA_SECRET, LSA_SECRET_BLOB, LSA_SECRET_XP, LocalOperations, NL_RECORD | imports:Cryptodome.Cipher, Cryptodome.Hash, __future__, binascii, codecs, collections, datetime, hashlib | observability-score:55 | security-score:55",
      "exports": "CryptoCommon,DOMAIN_ACCOUNT_F,LSASecrets,LSA_SECRET,LSA_SECRET_BLOB,LSA_SECRET_XP,LocalOperations,NL_RECORD,NTDSHashes,OfflineRegistry,RemoteFile,RemoteOperations,ResumeSessionMgrInFile,SAMHashes,SAMR_RPC_SID,SAMR_RPC_SID_IDENTIFIER_AUTHORITY,SAM_HASH,SAM_HASH_AES,SAM_KEY_DATA,SAM_KEY_DATA_AES,USER_ACCOUNT_V,_print_helper,openFile",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9bde72a95b27675c",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,__future__,binascii,codecs,collections,datetime,hashlib,impacket,impacket.crypto,impacket.dcerpc.v5,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcom.oaut,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.dpapi,impacket.ese,impacket.krb5,impacket.krb5.crypto,impacket.nt_errors,impacket.smb3structs,impacket.structure,impacket.uuid,logging,ntpath,os,random,six,string,struct,time",
      "lines": 2634,
      "logic_relevance": "none",
      "name": "secretsdump",
      "normalized_name": "secretsdump",
      "package_manager": "unknown",
      "path": "python/impacket/examples/secretsdump.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e52c94428995482cde0c0b6d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "array,impacket,impacket.ImpactDecoder,impacket.ImpactPacket,math,pcapy,six.moves",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NMAP2_Fingerprint, NMAP2_Fingerprint_Matcher, NMAP2_OS_Class, OS_ID, icmp_request, my_gcd, nmap1_port_unreachable, nmap1_seq | imports:array, impacket, impacket.ImpactDecoder, impacket.ImpactPacket, math, pcapy, six.moves | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NMAP2_Fingerprint,NMAP2_Fingerprint_Matcher,NMAP2_OS_Class,OS_ID,icmp_request,my_gcd,nmap1_port_unreachable,nmap1_seq,nmap1_seq_container,nmap1_tcp_closed_1,nmap1_tcp_closed_2,nmap1_tcp_closed_3,nmap1_tcp_open_1,nmap1_tcp_open_2,nmap1_tcp_open_3,nmap1_tcp_open_4,nmap1_tcp_probe,nmap2_ecn_probe,nmap2_icmp_container,nmap2_icmp_echo_probe_1,nmap2_icmp_echo_probe_2,nmap2_ops_container,nmap2_port_unreachable,nmap2_seq,nmap2_seq_1,nmap2_seq_2,nmap2_seq_3,nmap2_seq_4,nmap2_seq_5,nmap2_seq_6,nmap2_seq_container,nmap2_t1_container,nmap2_tcp_closed_1,nmap2_tcp_closed_2,nmap2_tcp_closed_3,nmap2_tcp_open_2,nmap2_tcp_open_3,nmap2_tcp_open_4,nmap2_tcp_probe,nmap2_tcp_probe_2_6,nmap2_tcp_probe_7,nmap2_tcp_tests,nmap2_win_container,nmap_port_unreachable,nmap_tcp_probe,os_id_exception,os_id_test,tcp_probe,udp_closed_probe",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "047840a8015bf43b",
      "framework": "python",
      "imports": "array,impacket,impacket.ImpactDecoder,impacket.ImpactPacket,math,pcapy,six.moves",
      "lines": 2181,
      "logic_relevance": "none",
      "name": "os_ident",
      "normalized_name": "os-ident",
      "package_manager": "unknown",
      "path": "python/impacket/examples/os_ident.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "f9cace69cb77ecbb83edda72",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,cmd,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.smb3structs,impacket.smbconnection,ntpath,os,pyreadline,readline,six,sys,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MiniImpacketShell | imports:__future__, cmd, getpass, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.smb3structs, impacket.smbconnection | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MiniImpacketShell",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "015636eb7f2f0885",
      "framework": "python",
      "imports": "__future__,cmd,getpass,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.smb3structs,impacket.smbconnection,ntpath,os,pyreadline,readline,six,sys,time",
      "lines": 509,
      "logic_relevance": "none",
      "name": "smbclient",
      "normalized_name": "smbclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/smbclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "74eacf0c3bdcb36f85264c99",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "cmd,impacket,impacket.ldap,impacket.ldap.ldaptypes,ldap3,ldap3.core.results,ldap3.protocol.microsoft,ldap3.utils.conv,random,shlex,six,string,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LdapShell | imports:cmd, impacket, impacket.ldap, impacket.ldap.ldaptypes, ldap3, ldap3.core.results, ldap3.protocol.microsoft, ldap3.utils.conv | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LdapShell",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b70b1b2867da43f5",
      "framework": "python",
      "imports": "cmd,impacket,impacket.ldap,impacket.ldap.ldaptypes,ldap3,ldap3.core.results,ldap3.protocol.microsoft,ldap3.utils.conv,random,shlex,six,string,sys",
      "lines": 244,
      "logic_relevance": "none",
      "name": "ldap_shell",
      "normalized_name": "ldap-shell",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ldap_shell.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "388ece54197c0459cd196b5d",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "binascii",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:RemComSvc | imports:binascii | security-score:55",
      "exports": "RemComSvc",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68f1543f9d435a52",
      "framework": "python",
      "imports": "binascii",
      "lines": 1669,
      "logic_relevance": "none",
      "name": "remcomsvc",
      "normalized_name": "remcomsvc",
      "package_manager": "unknown",
      "path": "python/impacket/examples/remcomsvc.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "72da3e677b92b41ace10d0fa",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket,impacket.dcerpc.v5.epm,struct",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:fix_ndr_uuid | imports:impacket, impacket.dcerpc.v5.epm, struct | security-score:55",
      "exports": "fix_ndr_uuid",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d3be10292a48c33",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.epm,struct",
      "lines": 268,
      "logic_relevance": "none",
      "name": "rpcdatabase",
      "normalized_name": "rpcdatabase",
      "package_manager": "unknown",
      "path": "python/impacket/examples/rpcdatabase.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "6c8d9368407a64a640f77ac6",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "logging,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ImpacketFormatter, ImpacketFormatterTimeStamp, init | imports:logging, sys | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ImpacketFormatter,ImpacketFormatterTimeStamp,init",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a2cbe5fe3e8927f2",
      "framework": "python",
      "imports": "logging,sys",
      "lines": 59,
      "logic_relevance": "none",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "unknown",
      "path": "python/impacket/examples/logger.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "875e4ce8f25e9f330718f3d4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5,impacket.smb3structs,impacket.smbconnection,random,string",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ServiceInstall | imports:impacket, impacket.dcerpc.v5, impacket.smb3structs, impacket.smbconnection, random, string | observability-score:55 | security-score:55",
      "exports": "ServiceInstall",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1e821e3c01c37c31",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5,impacket.smb3structs,impacket.smbconnection,random,string",
      "lines": 249,
      "logic_relevance": "none",
      "name": "serviceinstall",
      "normalized_name": "serviceinstall",
      "package_manager": "unknown",
      "path": "python/impacket/examples/serviceinstall.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "60c07fedfa05ae719bdbf96e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,smtplib,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMTPRelayClient | imports:base64, impacket, impacket.examples.ntlmrelayx.clients, impacket.nt_errors, impacket.ntlm, impacket.spnego, smtplib, struct | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SMTPRelayClient",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "caae7fe8776d270c",
      "framework": "python",
      "imports": "base64,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,smtplib,struct",
      "lines": 87,
      "logic_relevance": "none",
      "name": "smtprelayclient",
      "normalized_name": "smtprelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/smtprelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "055f78ec127c8346424e4025",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.transport,impacket.examples.ntlmrelayx.clients,impacket.examples.ntlmrelayx.servers.socksserver,impacket.nt_errors,impacket.ntlm,impacket.smb,impacket.smb3,impacket.smbconnection,impacket.spnego,logging,os,socket,struct,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MYSMB, MYSMB3, SMBRelayClient | imports:binascii, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.dcerpc.v5.transport, impacket.examples.ntlmrelayx.clients, impacket.examples.ntlmrelayx.servers.socksserver | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MYSMB,MYSMB3,SMBRelayClient",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "192e532743e7fac3",
      "framework": "python",
      "imports": "binascii,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.dcerpc.v5.transport,impacket.examples.ntlmrelayx.clients,impacket.examples.ntlmrelayx.servers.socksserver,impacket.nt_errors,impacket.ntlm,impacket.smb,impacket.smb3,impacket.smbconnection,impacket.spnego,logging,os,socket,struct,traceback",
      "lines": 622,
      "logic_relevance": "none",
      "name": "smbrelayclient",
      "normalized_name": "smbrelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/smbrelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c99486c9e3c236e64189b956",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,os",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ProtocolClient | imports:impacket, os | observability-score:55 | security-score:55",
      "exports": "ProtocolClient",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9a38d595cf46f92f",
      "framework": "python",
      "imports": "impacket,os",
      "lines": 124,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/__init__.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "945887dea6ec1b39f83401ef",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DummyOp, MYDCERPC_v5, RPCRelayClient, RPCRelayClientException | imports:impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.examples.ntlmrelayx.clients, impacket.nt_errors, impacket.ntlm, impacket.spnego | observability-score:55 | security-score:55",
      "exports": "DummyOp,MYDCERPC_v5,RPCRelayClient,RPCRelayClientException",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f66015d2d9e5fbc1",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,struct",
      "lines": 203,
      "logic_relevance": "none",
      "name": "rpcrelayclient",
      "normalized_name": "rpcrelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/rpcrelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4dbc4f138096ccbc19bb2551",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,ldap3,ldap3.core.results,ldap3.operation,struct,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LDAPRelayClient, LDAPRelayClientException, LDAPSRelayClient | imports:impacket, impacket.examples.ntlmrelayx.clients, impacket.nt_errors, impacket.ntlm, impacket.spnego, ldap3, ldap3.core.results, ldap3.operation | observability-score:55 | security-score:55",
      "exports": "LDAPRelayClient,LDAPRelayClientException,LDAPSRelayClient",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0d397cbcf1527853",
      "framework": "python",
      "imports": "impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,ldap3,ldap3.core.results,ldap3.operation,struct,sys",
      "lines": 167,
      "logic_relevance": "none",
      "name": "ldaprelayclient",
      "normalized_name": "ldaprelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/ldaprelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8bca6ab4cc03ad619c32a159",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,http.client,httplib,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,re,ssl,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HTTPRelayClient, HTTPSRelayClient | imports:base64, http.client, httplib, impacket, impacket.examples.ntlmrelayx.clients, impacket.nt_errors, impacket.ntlm, impacket.spnego | observability-score:55 | security-score:55",
      "exports": "HTTPRelayClient,HTTPSRelayClient",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "278ba904cd0ebe22",
      "framework": "python",
      "imports": "base64,http.client,httplib,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,re,ssl,struct",
      "lines": 127,
      "logic_relevance": "none",
      "name": "httprelayclient",
      "normalized_name": "httprelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/httprelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4e296381f8b1bd104e4083ea",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,impacket.tds,random,string,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MSSQLRelayClient, MYMSSQL | imports:OpenSSL, impacket, impacket.examples.ntlmrelayx.clients, impacket.nt_errors, impacket.ntlm, impacket.spnego, impacket.tds, random | observability-score:55 | security-score:55",
      "exports": "MSSQLRelayClient,MYMSSQL",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "69e4c082227be423",
      "framework": "python",
      "imports": "OpenSSL,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,impacket.tds,random,string,struct",
      "lines": 160,
      "logic_relevance": "none",
      "name": "mssqlrelayclient",
      "normalized_name": "mssqlrelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/mssqlrelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "df3d8c1ee395641adee3991a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,imaplib,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:IMAPRelayClient, IMAPSRelayClient | imports:base64, imaplib, impacket, impacket.examples.ntlmrelayx.clients, impacket.nt_errors, impacket.ntlm, impacket.spnego, struct | observability-score:55 | security-score:55",
      "exports": "IMAPRelayClient,IMAPSRelayClient",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "237910a706ed4154",
      "framework": "python",
      "imports": "base64,imaplib,impacket,impacket.examples.ntlmrelayx.clients,impacket.nt_errors,impacket.ntlm,impacket.spnego,struct",
      "lines": 100,
      "logic_relevance": "none",
      "name": "imaprelayclient",
      "normalized_name": "imaprelayclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/imaprelayclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0a0366f372bda897670f6f95",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Cipher,binascii,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.examples.ntlmrelayx.clients,impacket.examples.secretsdump,impacket.nt_errors,impacket.ntlm,impacket.smbconnection,impacket.spnego,struct,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCSYNCRelayClient, DCSYNCRelayClientException, MYDCERPC_v5, PatchedRemoteOperations | imports:Cryptodome.Cipher, binascii, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, impacket.examples.ntlmrelayx.clients | observability-score:55 | security-score:55",
      "exports": "DCSYNCRelayClient,DCSYNCRelayClientException,MYDCERPC_v5,PatchedRemoteOperations",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3a2c19d7863d0322",
      "framework": "python",
      "imports": "Cryptodome.Cipher,binascii,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,impacket.examples.ntlmrelayx.clients,impacket.examples.secretsdump,impacket.nt_errors,impacket.ntlm,impacket.smbconnection,impacket.spnego,struct,traceback",
      "lines": 436,
      "logic_relevance": "none",
      "name": "dcsyncclient",
      "normalized_name": "dcsyncclient",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/clients/dcsyncclient.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "4bb8e1cbc0e252970f36c9b2",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "re",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NTLMRelayxConfig | imports:re | logic-score:85 | security-score:55",
      "exports": "NTLMRelayxConfig",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eb13e19fb765d590",
      "framework": "python",
      "imports": "re",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/utils/config.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a7c7f080f29d429bd084ca37",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "impacket,os,random,threading,time,urllib.parse,urlparse",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TargetsFileWatcher, TargetsProcessor | imports:impacket, os, random, threading, time, urllib.parse, urlparse | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "TargetsFileWatcher,TargetsProcessor",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8d1250dc834020a7",
      "framework": "python",
      "imports": "impacket,os,random,threading,time,urllib.parse,urlparse",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "targetsutils",
      "normalized_name": "targetsutils",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/utils/targetsutils.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "adb9af553881cddc281367f1",
      "component_kind": "utility",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f56e761d79bfdb3",
      "framework": "python",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/utils/__init__.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7187889a70bca411bf9f161d",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "socket",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TcpShell | imports:socket | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "TcpShell",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ed6c4104fa525ee",
      "framework": "python",
      "imports": "socket",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "tcpshell",
      "normalized_name": "tcpshell",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/utils/tcpshell.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "168f3f32858b5cf2443fdaf8",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EnumLocalAdmins | imports:impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "EnumLocalAdmins",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "feec628cff50239d",
      "framework": "python",
      "imports": "impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "enum",
      "normalized_name": "enum",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/utils/enum.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "31a16bd89743c4f947bb6ebe",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "OpenSSL,impacket",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SSLServerMixin, generateImpacketCert | imports:OpenSSL, impacket | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "SSLServerMixin,generateImpacketCert",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9675987e63c20061",
      "framework": "python",
      "imports": "OpenSSL,impacket",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "ssl",
      "normalized_name": "ssl",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/utils/ssl.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "445482b0112ed0966725d9e1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,flask,impacket,impacket.dcerpc.v5.enum,impacket.examples,impacket.examples.ntlmrelayx.servers.socksplugins,impacket.structure,logging,queue,socket,socketserver,struct,threading,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ATYP, RepeatedTimer, SOCKS, SOCKS4_REPLY, SOCKS4_REQUEST, SOCKS5_GREETINGS, SOCKS5_GREETINGS_BACK, SOCKS5_REPLY | imports:__future__, flask, impacket, impacket.dcerpc.v5.enum, impacket.examples, impacket.examples.ntlmrelayx.servers.socksplugins, impacket.structure, logging | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ATYP,RepeatedTimer,SOCKS,SOCKS4_REPLY,SOCKS4_REQUEST,SOCKS5_GREETINGS,SOCKS5_GREETINGS_BACK,SOCKS5_REPLY,SOCKS5_REQUEST,SocksRelay,SocksRequestHandler,activeConnectionsWatcher,enumItems,keepAliveTimer,replyField,webService",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "41c38e2fe4c0ea3a",
      "framework": "python",
      "imports": "__future__,flask,impacket,impacket.dcerpc.v5.enum,impacket.examples,impacket.examples.ntlmrelayx.servers.socksplugins,impacket.structure,logging,queue,socket,socketserver,struct,threading,time",
      "lines": 495,
      "logic_relevance": "none",
      "name": "socksserver",
      "normalized_name": "socksserver",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksserver.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d028c0fb9527950846921855",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,binascii,calendar,configparser,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.examples.ntlmrelayx.utils.targetsutils,impacket.nt_errors,impacket.smbserver,impacket.spnego,logging,ntpath,random,six,socket,string,struct,threading,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBRelayServer | imports:ConfigParser, __future__, binascii, calendar, configparser, impacket, impacket.examples.ntlmrelayx.servers.socksserver, impacket.examples.ntlmrelayx.utils.targetsutils | observability-score:55 | security-score:55",
      "exports": "SMBRelayServer",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee5cc89107a7f6fa",
      "framework": "python",
      "imports": "ConfigParser,__future__,binascii,calendar,configparser,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.examples.ntlmrelayx.utils.targetsutils,impacket.nt_errors,impacket.smbserver,impacket.spnego,logging,ntpath,random,six,socket,string,struct,threading,time",
      "lines": 840,
      "logic_relevance": "none",
      "name": "smbrelayserver",
      "normalized_name": "smbrelayserver",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/smbrelayserver.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "6372e8fc63e406522aeb5037",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,http.server,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.examples.ntlmrelayx.utils.targetsutils,impacket.nt_errors,impacket.smbserver,random,six,socket,socketserver,string,struct,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HTTPRelayServer | imports:base64, http.server, impacket, impacket.examples.ntlmrelayx.servers.socksserver, impacket.examples.ntlmrelayx.utils.targetsutils, impacket.nt_errors, impacket.smbserver, random | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HTTPRelayServer",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "96ec76081b1d5804",
      "framework": "python",
      "imports": "base64,http.server,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.examples.ntlmrelayx.utils.targetsutils,impacket.nt_errors,impacket.smbserver,random,six,socket,socketserver,string,struct,threading",
      "lines": 425,
      "logic_relevance": "none",
      "name": "httprelayserver",
      "normalized_name": "httprelayserver",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/httprelayserver.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "2e81cedea8fe128a793c7a0c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.examples.ntlmrelayx.utils.targetsutils,impacket.nt_errors,impacket.smbserver,impacket.spnego,six,socket,socketserver,struct,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:WCFRelayServer | imports:binascii, impacket, impacket.examples.ntlmrelayx.servers.socksserver, impacket.examples.ntlmrelayx.utils.targetsutils, impacket.nt_errors, impacket.smbserver, impacket.spnego, six | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "WCFRelayServer",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c4863545b03d3135",
      "framework": "python",
      "imports": "binascii,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.examples.ntlmrelayx.utils.targetsutils,impacket.nt_errors,impacket.smbserver,impacket.spnego,six,socket,socketserver,struct,threading",
      "lines": 362,
      "logic_relevance": "none",
      "name": "wcfrelayserver",
      "normalized_name": "wcfrelayserver",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/wcfrelayserver.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "405ce359f13a88eedac5ba54",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.ntlm,impacket.tds,random,struct",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MSSQLSocksRelay | imports:OpenSSL, impacket, impacket.examples.ntlmrelayx.servers.socksserver, impacket.ntlm, impacket.tds, random, struct | observability-score:55 | security-score:55",
      "exports": "MSSQLSocksRelay",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c971e509639a9185",
      "framework": "python",
      "imports": "OpenSSL,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.ntlm,impacket.tds,random,struct",
      "lines": 248,
      "logic_relevance": "none",
      "name": "mssql",
      "normalized_name": "mssql",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/mssql.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ccaf6cc3073a1ec4b6d0c116",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,impacket,impacket.examples.ntlmrelayx.servers.socksplugins.http,impacket.examples.ntlmrelayx.utils.ssl",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HTTPSSocksRelay | imports:OpenSSL, impacket, impacket.examples.ntlmrelayx.servers.socksplugins.http, impacket.examples.ntlmrelayx.utils.ssl | observability-score:55 | security-score:55",
      "exports": "HTTPSSocksRelay",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "167334b786777110",
      "framework": "python",
      "imports": "OpenSSL,impacket,impacket.examples.ntlmrelayx.servers.socksplugins.http,impacket.examples.ntlmrelayx.utils.ssl",
      "lines": 59,
      "logic_relevance": "none",
      "name": "https",
      "normalized_name": "https",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/https.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6a9b673bb086ba4150dde7fa",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "binascii,calendar,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.nmb,impacket.nt_errors,impacket.ntlm,impacket.smb,impacket.smb3,impacket.smbserver,impacket.spnego,random,six,string,struct,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBSocksRelay | imports:binascii, calendar, impacket, impacket.examples.ntlmrelayx.servers.socksserver, impacket.nmb, impacket.nt_errors, impacket.ntlm, impacket.smb | observability-score:55 | security-score:55",
      "exports": "SMBSocksRelay",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42432da8cde9eb68",
      "framework": "python",
      "imports": "binascii,calendar,impacket,impacket.examples.ntlmrelayx.servers.socksserver,impacket.nmb,impacket.nt_errors,impacket.ntlm,impacket.smb,impacket.smb3,impacket.smbserver,impacket.spnego,random,six,string,struct,time",
      "lines": 586,
      "logic_relevance": "none",
      "name": "smb",
      "normalized_name": "smb",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/smb.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "098a69ff5737948e9b0db593",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,impacket,impacket.examples.ntlmrelayx.servers.socksserver",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HTTPSocksRelay | imports:base64, impacket, impacket.examples.ntlmrelayx.servers.socksserver | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HTTPSocksRelay",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "dcd24d5374f6343c",
      "framework": "python",
      "imports": "base64,impacket,impacket.examples.ntlmrelayx.servers.socksserver",
      "lines": 204,
      "logic_relevance": "none",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/http.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "277acf7ec8bcefe93e4f2c8e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "OpenSSL,impacket,impacket.examples.ntlmrelayx.servers.socksplugins.imap,impacket.examples.ntlmrelayx.utils.ssl",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:IMAPSSocksRelay | imports:OpenSSL, impacket, impacket.examples.ntlmrelayx.servers.socksplugins.imap, impacket.examples.ntlmrelayx.utils.ssl | observability-score:55 | security-score:55",
      "exports": "IMAPSSocksRelay",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9c8b88a2e43b91da",
      "framework": "python",
      "imports": "OpenSSL,impacket,impacket.examples.ntlmrelayx.servers.socksplugins.imap,impacket.examples.ntlmrelayx.utils.ssl",
      "lines": 81,
      "logic_relevance": "none",
      "name": "imaps",
      "normalized_name": "imaps",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/imaps.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dce053e51efaa6e519627d85",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,impacket,impacket.examples.ntlmrelayx.servers.socksserver",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMTPSocksRelay | imports:base64, impacket, impacket.examples.ntlmrelayx.servers.socksserver | observability-score:55 | security-score:55",
      "exports": "SMTPSocksRelay",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a1b4e0e81b92336f",
      "framework": "python",
      "imports": "base64,impacket,impacket.examples.ntlmrelayx.servers.socksserver",
      "lines": 157,
      "logic_relevance": "none",
      "name": "smtp",
      "normalized_name": "smtp",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/smtp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "24bfbc9ac4df2ff61a58f5ff",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "base64,impacket,impacket.examples.ntlmrelayx.servers.socksserver",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:IMAPSocksRelay | imports:base64, impacket, impacket.examples.ntlmrelayx.servers.socksserver | observability-score:55 | security-score:55",
      "exports": "IMAPSocksRelay",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "54a8d027e0f600d1",
      "framework": "python",
      "imports": "base64,impacket,impacket.examples.ntlmrelayx.servers.socksserver",
      "lines": 235,
      "logic_relevance": "none",
      "name": "imap",
      "normalized_name": "imap",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/servers/socksplugins/imap.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "32773daf4d72bf39606dd4f9",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "impacket.examples.ntlmrelayx.attacks,impacket.examples.secretsdump",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DCSYNCAttack | imports:impacket.examples.ntlmrelayx.attacks, impacket.examples.secretsdump | security-score:55 | automation-score:45",
      "exports": "DCSYNCAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e4dac12c00d4c196",
      "framework": "python",
      "imports": "impacket.examples.ntlmrelayx.attacks,impacket.examples.secretsdump",
      "lines": 32,
      "logic_relevance": "none",
      "name": "dcsyncattack",
      "normalized_name": "dcsyncattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/dcsyncattack.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "275609bded188e760a7630c3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.examples.ntlmrelayx.attacks,os,re",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:IMAPAttack | imports:impacket, impacket.examples.ntlmrelayx.attacks, os, re | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "IMAPAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f2ebef50118d8e05",
      "framework": "python",
      "imports": "impacket,impacket.examples.ntlmrelayx.attacks,os,re",
      "lines": 88,
      "logic_relevance": "none",
      "name": "imapattack",
      "normalized_name": "imapattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/imapattack.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dcf169dec846bc9132f11bb3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,os,pkg_resources,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ProtocolAttack | imports:impacket, os, pkg_resources, threading | observability-score:55 | security-score:55",
      "exports": "ProtocolAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "74ea8df387d82a48",
      "framework": "python",
      "imports": "impacket,os,pkg_resources,threading",
      "lines": 78,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/__init__.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "523e54facbefab622b298d9a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Cryptodome.Hash,_thread,binascii,codecs,datetime,impacket,impacket.examples.ldap_shell,impacket.examples.ntlmrelayx.attacks,impacket.examples.ntlmrelayx.utils.tcpshell,impacket.ldap,impacket.ldap.ldaptypes,impacket.structure,impacket.uuid,json,ldap3,ldap3.core.results,ldap3.protocol.microsoft,ldap3.utils.conv,ldapdomaindump,os,random,re,string",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LDAPAttack, MSDS_MANAGEDPASSWORD_BLOB, can_add_member, can_create_users, create_allow_ace, create_empty_sd, create_object_ace | imports:Cryptodome.Hash, _thread, binascii, codecs, datetime, impacket, impacket.examples.ldap_shell, impacket.examples.ntlmrelayx.attacks | observability-score:55 | security-score:55",
      "exports": "LDAPAttack,MSDS_MANAGEDPASSWORD_BLOB,can_add_member,can_create_users,create_allow_ace,create_empty_sd,create_object_ace",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c59070f5634993d7",
      "framework": "python",
      "imports": "Cryptodome.Hash,_thread,binascii,codecs,datetime,impacket,impacket.examples.ldap_shell,impacket.examples.ntlmrelayx.attacks,impacket.examples.ntlmrelayx.utils.tcpshell,impacket.ldap,impacket.ldap.ldaptypes,impacket.structure,impacket.uuid,json,ldap3,ldap3.core.results,ldap3.protocol.microsoft,ldap3.utils.conv,ldapdomaindump,os,random,re,string",
      "lines": 793,
      "logic_relevance": "none",
      "name": "ldapattack",
      "normalized_name": "ldapattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/ldapattack.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "97f7d658a77a95ccc9a5b669",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.examples.ntlmrelayx.attacks,random,string,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RPCAttack, TSCHRPCAttack | imports:impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.examples.ntlmrelayx.attacks, random, string, time | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RPCAttack,TSCHRPCAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0af800f768f52bee",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.examples.ntlmrelayx.attacks,random,string,time",
      "lines": 127,
      "logic_relevance": "none",
      "name": "rpcattack",
      "normalized_name": "rpcattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/rpcattack.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0d4dd40ed8635a6154181dfe",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.examples.ntlmrelayx.attacks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MSSQLAttack | imports:impacket, impacket.examples.ntlmrelayx.attacks | observability-score:55 | security-score:55",
      "exports": "MSSQLAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f00da96c7bcd6d79",
      "framework": "python",
      "imports": "impacket,impacket.examples.ntlmrelayx.attacks",
      "lines": 33,
      "logic_relevance": "none",
      "name": "mssqlattack",
      "normalized_name": "mssqlattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/mssqlattack.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9a6fe7282d57998e2d01f007",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.examples.ntlmrelayx.attacks,impacket.examples.ntlmrelayx.utils.enum,impacket.examples.ntlmrelayx.utils.tcpshell,impacket.examples.secretsdump,impacket.examples.smbclient,impacket.smbconnection",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBAttack | imports:impacket, impacket.dcerpc.v5.rpcrt, impacket.examples, impacket.examples.ntlmrelayx.attacks, impacket.examples.ntlmrelayx.utils.enum, impacket.examples.ntlmrelayx.utils.tcpshell, impacket.examples.secretsdump, impacket.examples.smbclient | observability-score:55 | security-score:55",
      "exports": "SMBAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "193015bb0e8366fe",
      "framework": "python",
      "imports": "impacket,impacket.dcerpc.v5.rpcrt,impacket.examples,impacket.examples.ntlmrelayx.attacks,impacket.examples.ntlmrelayx.utils.enum,impacket.examples.ntlmrelayx.utils.tcpshell,impacket.examples.secretsdump,impacket.examples.smbclient,impacket.smbconnection",
      "lines": 120,
      "logic_relevance": "none",
      "name": "smbattack",
      "normalized_name": "smbattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/smbattack.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "65a15f1cd390690a74c98dbd",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.examples.ntlmrelayx.attacks",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HTTPAttack | imports:impacket.examples.ntlmrelayx.attacks | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HTTPAttack",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "83ae76830220157e",
      "framework": "python",
      "imports": "impacket.examples.ntlmrelayx.attacks",
      "lines": 52,
      "logic_relevance": "none",
      "name": "httpattack",
      "normalized_name": "httpattack",
      "package_manager": "unknown",
      "path": "python/impacket/examples/ntlmrelayx/attacks/httpattack.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6ddcd56003dc0cb75e206917",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "64b37911a1347040",
      "framework": "unknown",
      "imports": "",
      "lines": 293,
      "logic_relevance": "none",
      "name": "followers",
      "normalized_name": "followers",
      "package_manager": "unknown",
      "path": "python/twitter/followers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "294b81e724f7284cdf467627",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c6ed0996567a7f4f",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "keep-follow-official",
      "normalized_name": "keep-follow-official",
      "package_manager": "unknown",
      "path": "python/twitter/keep-follow-official.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "9816569d8f7a1892f047bfe8",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8c2a77c28b0cf44",
      "framework": "unknown",
      "imports": "",
      "lines": 539,
      "logic_relevance": "none",
      "name": "keep-following-list",
      "normalized_name": "keep-following-list",
      "package_manager": "unknown",
      "path": "python/twitter/keep-following-list.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "38e9b90eace215fbdc5e9ae8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "53c6123782e82f68",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "python/twitter/config.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "389158f85cd0d8228ce61b8a",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b27ba26b1202f94b",
      "framework": "unknown",
      "imports": "",
      "lines": 571,
      "logic_relevance": "none",
      "name": "following",
      "normalized_name": "following",
      "package_manager": "unknown",
      "path": "python/twitter/following.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "def6cafc878908441ee701d4",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "0a8867b6d337d087",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "keep-following-official",
      "normalized_name": "keep-following-official",
      "package_manager": "unknown",
      "path": "python/twitter/keep-following-official.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "993c9ac620135a11ed45cceb",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d14ef2cc929d7b1",
      "framework": "unknown",
      "imports": "",
      "lines": 778,
      "logic_relevance": "none",
      "name": "keepfollow",
      "normalized_name": "keepfollow",
      "package_manager": "unknown",
      "path": "python/twitter/keepfollow.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "718bcc541bf2fbc0ba877df7",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d14ef2cc929d7b1",
      "framework": "unknown",
      "imports": "",
      "lines": 778,
      "logic_relevance": "none",
      "name": "USERS_KEEP_FOLLOWING",
      "normalized_name": "users-keep-following",
      "package_manager": "unknown",
      "path": "python/twitter/USERS_KEEP_FOLLOWING.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "72ef971e3a3b6ee942ec9d1e",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d14ef2cc929d7b1",
      "framework": "unknown",
      "imports": "",
      "lines": 778,
      "logic_relevance": "none",
      "name": "keepfollowers",
      "normalized_name": "keepfollowers",
      "package_manager": "unknown",
      "path": "python/twitter/keepfollowers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "ea0dadd880b88cba085d5221",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "14160ee2031f07fc",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "keep",
      "normalized_name": "keep",
      "package_manager": "unknown",
      "path": "python/twitter/keep.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "3575e80a66b76ebfc24a3ae4",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c5f937f2f106256",
      "framework": "unknown",
      "imports": "",
      "lines": 570,
      "logic_relevance": "none",
      "name": "already-followed",
      "normalized_name": "already-followed",
      "package_manager": "unknown",
      "path": "python/twitter/already-followed.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "8623d2490f4b410273819141",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "092524da1c9a5ae4",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "unfollow-config",
      "normalized_name": "unfollow-config",
      "package_manager": "unknown",
      "path": "python/twitter/unfollow-config.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4d3aeb6ed44caf00b7328924",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "impacket,pkgutil,traceback",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:impacket, pkgutil, traceback | observability-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e3d4c46584c4de7d",
      "framework": "python",
      "imports": "impacket,pkgutil,traceback",
      "lines": 15,
      "logic_relevance": "none",
      "name": "walkmodules",
      "normalized_name": "walkmodules",
      "package_manager": "unknown",
      "path": "python/tests/walkmodules.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "d07da7e890ab98ccd8a362c9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2d50d50307644cc4",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "runall",
      "normalized_name": "runall",
      "package_manager": "unknown",
      "path": "python/tests/runall.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "f89f0a84e13feb28510545fd",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,binascii,impacket.structure,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Test_AAA, Test_AsciiZArray, Test_Optional, Test_Optional_sparse, Test_UnpackCode, Test_fixedLength, Test_nested, Test_simple | imports:__future__, binascii, impacket.structure, unittest | security-score:55",
      "exports": "Test_AAA,Test_AsciiZArray,Test_Optional,Test_Optional_sparse,Test_UnpackCode,Test_fixedLength,Test_nested,Test_simple,Test_simple_aligned4,_StructureTest,hexl",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d4f0aaa69b8c876",
      "framework": "python",
      "imports": "__future__,binascii,impacket.structure,unittest",
      "lines": 215,
      "logic_relevance": "none",
      "name": "test_structure",
      "normalized_name": "test-structure",
      "package_manager": "unknown",
      "path": "python/tests/misc/test_structure.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "f5e5f43e803839a2422448ee",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,binascii,impacket.crypto,unittest",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:CryptoTests, by8, hex8, pp | imports:__future__, binascii, impacket.crypto, unittest | security-score:55",
      "exports": "CryptoTests,by8,hex8,pp",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76bb3b469e636286",
      "framework": "python",
      "imports": "__future__,binascii,impacket.crypto,unittest",
      "lines": 70,
      "logic_relevance": "none",
      "name": "test_crypto",
      "normalized_name": "test-crypto",
      "package_manager": "unknown",
      "path": "python/tests/misc/test_crypto.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "f6a7ee9d215e26e26f0468dd",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,binascii,impacket.krb5.crypto,unittest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:AESTests, h | imports:__future__, binascii, impacket.krb5.crypto, unittest | security-score:55",
      "exports": "AESTests,h",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "448ed9bd8e87db95",
      "framework": "python",
      "imports": "__future__,binascii,impacket.krb5.crypto,unittest",
      "lines": 190,
      "logic_relevance": "none",
      "name": "test_krb5_crypto",
      "normalized_name": "test-krb5-crypto",
      "package_manager": "unknown",
      "path": "python/tests/misc/test_krb5_crypto.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "93a3655e1974e31103ca4cc0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a588706d56310822",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "runalltestcases",
      "normalized_name": "runalltestcases",
      "package_manager": "unknown",
      "path": "python/tests/misc/runalltestcases.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "28df3c4ed69453584f7e6a60",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "Cryptodome.Cipher,Cryptodome.Hash,binascii,impacket.dpapi,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DPAPITests | imports:Cryptodome.Cipher, Cryptodome.Hash, binascii, impacket.dpapi, unittest | security-score:55",
      "exports": "DPAPITests",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9285a39bf753650",
      "framework": "python",
      "imports": "Cryptodome.Cipher,Cryptodome.Hash,binascii,impacket.dpapi,unittest",
      "lines": 206,
      "logic_relevance": "none",
      "name": "test_dpapi",
      "normalized_name": "test-dpapi",
      "package_manager": "unknown",
      "path": "python/tests/misc/test_dpapi.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d455fba3d87f3824cf74e2e8",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket.dns,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DNSTests | imports:impacket.dns, unittest | security-score:55",
      "exports": "DNSTests",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5f9e2790f929ff3c",
      "framework": "python",
      "imports": "impacket.dns,unittest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "test_dns",
      "normalized_name": "test-dns",
      "package_manager": "unknown",
      "path": "python/tests/misc/test_dns.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "9849078663f9cf048f19de69",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c26513054436532",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "runalltestcases",
      "normalized_name": "runalltestcases",
      "package_manager": "unknown",
      "path": "python/tests/misc/runalltestcases.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4356a2cae562b3608612ed0c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "01a5b8e04242a00b",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "runalltestcases",
      "normalized_name": "runalltestcases",
      "package_manager": "unknown",
      "path": "python/tests/ImpactPacket/runalltestcases.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "157a4d99830265bb53b04f0d",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c26513054436532",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "runalltestcases",
      "normalized_name": "runalltestcases",
      "package_manager": "unknown",
      "path": "python/tests/ImpactPacket/runalltestcases.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3ae6ac351632e89712340803",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,binascii,configparser,errno,impacket,impacket.smb3structs,impacket.smbconnection,os,select,socket,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMB002Tests, SMB1Tests, SMB1TestsNetBIOS, SMB1TestsUnicode, SMB21Tests, SMB3Tests, SMBTests | imports:ConfigParser, binascii, configparser, errno, impacket, impacket.smb3structs, impacket.smbconnection, os | observability-score:55 | security-score:55",
      "exports": "SMB002Tests,SMB1Tests,SMB1TestsNetBIOS,SMB1TestsUnicode,SMB21Tests,SMB3Tests,SMBTests",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "85a7da276924f6cb",
      "framework": "python",
      "imports": "ConfigParser,binascii,configparser,errno,impacket,impacket.smb3structs,impacket.smbconnection,os,select,socket,unittest",
      "lines": 408,
      "logic_relevance": "none",
      "name": "test_smb",
      "normalized_name": "test-smb",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_smb.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a9b00ffb4a09ea410d950574",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.ldap,impacket.ldap.ldaptypes,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LDAPTests, TCPTransport, TCPTransportSSL | imports:ConfigParser, __future__, configparser, impacket.ldap, impacket.ldap.ldaptypes, sys, unittest | observability-score:55 | security-score:55",
      "exports": "LDAPTests,TCPTransport,TCPTransportSSL",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4e539c31b79e55f9",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.ldap,impacket.ldap.ldaptypes,sys,unittest",
      "lines": 150,
      "logic_relevance": "none",
      "name": "test_ldap",
      "normalized_name": "test-ldap",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_ldap.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "22623af6a83607d54cc10f0d",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Test | imports:impacket, unittest | security-score:55",
      "exports": "Test",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5652c7647f07bcba",
      "framework": "python",
      "imports": "impacket,unittest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "test_spnego",
      "normalized_name": "test-spnego",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_spnego.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "13e869b8fc035d6c2ec4789c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,six.moves,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RRPTests, SMBTransport, SMBTransport64 | imports:__future__, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, six.moves, sys, unittest | observability-score:55 | security-score:55",
      "exports": "RRPTests,SMBTransport,SMBTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "2d9e651024f74830",
      "framework": "python",
      "imports": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,six.moves,sys,unittest",
      "lines": 258,
      "logic_relevance": "none",
      "name": "test_even",
      "normalized_name": "test-even",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_even.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b4a84528a0f13f3f850d8863",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.structure,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EVEN6Tests, SMBTransport, SMBTransport64, TCPTransport, TCPTransport64 | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.rpcrt, impacket.structure, sys, unittest | observability-score:55 | security-score:55",
      "exports": "EVEN6Tests,SMBTransport,SMBTransport64,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4987dd529283cf89",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,impacket.structure,sys,unittest",
      "lines": 169,
      "logic_relevance": "none",
      "name": "test_even6",
      "normalized_name": "test-even6",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_even6.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "954e2680e88bfadf40fc0ce6",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "ConfigParser,__future__,configparser,cryptography,cryptography.hazmat.backends,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,sys,unittest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:BKRPTests, SMBTransport, SMBTransport64 | imports:ConfigParser, __future__, configparser, cryptography, cryptography.hazmat.backends, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.rpcrt | security-score:55",
      "exports": "BKRPTests,SMBTransport,SMBTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "585eed418e83d4a4",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,cryptography,cryptography.hazmat.backends,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,sys,unittest",
      "lines": 233,
      "logic_relevance": "none",
      "name": "test_bkrp",
      "normalized_name": "test-bkrp",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_bkrp.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "86e35fc49cd0dbe102e97eb3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DRSRTests, SMBTransport, SMBTransport64, TCPTransport, TCPTransport64 | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.rpcrt, sys, unittest | observability-score:55 | security-score:55",
      "exports": "DRSRTests,SMBTransport,SMBTransport64,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e69a18427575d1ac",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,sys,unittest",
      "lines": 527,
      "logic_relevance": "none",
      "name": "test_drsuapi",
      "normalized_name": "test-drsuapi",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_drsuapi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "a68da22e34b2106654068ba9",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,sys,unittest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBTransport, SMBTransport64, SRVSTests | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, sys, unittest | observability-score:55 | security-score:55",
      "exports": "SMBTransport,SMBTransport64,SRVSTests",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db3e7a0a656808c6",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,sys,unittest",
      "lines": 1183,
      "logic_relevance": "none",
      "name": "test_srvs",
      "normalized_name": "test-srvs",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_srvs.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "319c1bd0e3909d3402620de0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,binascii,configparser,impacket.examples.secretsdump,impacket.smbconnection,logging,os,traceback,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DumpSecrets, Options, SecretsDumpTests, Tests, _print_helper | imports:ConfigParser, binascii, configparser, impacket.examples.secretsdump, impacket.smbconnection, logging, os, traceback | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DumpSecrets,Options,SecretsDumpTests,Tests,_print_helper",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "54da02a2962fda7f",
      "framework": "python",
      "imports": "ConfigParser,binascii,configparser,impacket.examples.secretsdump,impacket.smbconnection,logging,os,traceback,unittest",
      "lines": 307,
      "logic_relevance": "none",
      "name": "test_secretsdump",
      "normalized_name": "test-secretsdump",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_secretsdump.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "7c99770ab6e0fc997b6b9078",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:MGMTTests, SMBTransport, SMBTransport64, TCPTransport, TCPTransport64 | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, sys, unittest | security-score:55",
      "exports": "MGMTTests,SMBTransport,SMBTransport64,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "21f716ed169d4b95",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,sys,unittest",
      "lines": 188,
      "logic_relevance": "none",
      "name": "test_mgmt",
      "normalized_name": "test-mgmt",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_mgmt.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dfad4121ad68f2285c1a821c",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,struct,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:RPCHTest, RPCHTransport | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, struct, sys, unittest | security-score:55",
      "exports": "RPCHTest,RPCHTransport",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e441f289221b98ed",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,struct,sys,unittest",
      "lines": 299,
      "logic_relevance": "none",
      "name": "test_rpch",
      "normalized_name": "test-rpch",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_rpch.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8cfed183510368619f3e0888",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.structure,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LSADTests, SMBTransport, SMBTransport64 | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.structure, sys | observability-score:55 | security-score:55",
      "exports": "LSADTests,SMBTransport,SMBTransport64",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e2b539f52ee4aa7",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.structure,sys,unittest",
      "lines": 1063,
      "logic_relevance": "none",
      "name": "test_lsad",
      "normalized_name": "test-lsad",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_lsad.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "e89f32da8141e7d229e7f47b",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,six.moves,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:FASPTests, TCPTransport, TCPTransport64 | imports:impacket.dcerpc.v5, impacket.dcerpc.v5.rpcrt, six.moves, sys, unittest | security-score:55",
      "exports": "FASPTests,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b92d519f44b62b68",
      "framework": "python",
      "imports": "impacket.dcerpc.v5,impacket.dcerpc.v5.rpcrt,six.moves,sys,unittest",
      "lines": 105,
      "logic_relevance": "none",
      "name": "test_fasp",
      "normalized_name": "test-fasp",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_fasp.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "20ba9d73ade3377923e2a898",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,builtins,configparser,impacket,impacket.crypto,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.uuid,struct,sys,time,traceback,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SCMRTests, SMBTransport, TCPTransport | imports:ConfigParser, builtins, configparser, impacket, impacket.crypto, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, impacket.uuid | observability-score:55 | security-score:55",
      "exports": "SCMRTests,SMBTransport,TCPTransport",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c17e3bc6c256e3e",
      "framework": "python",
      "imports": "ConfigParser,builtins,configparser,impacket,impacket.crypto,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,impacket.uuid,struct,sys,time,traceback,unittest",
      "lines": 695,
      "logic_relevance": "none",
      "name": "test_scmr",
      "normalized_name": "test-scmr",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_scmr.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d67a6eba80fab4fb6de11c47",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "Cryptodome.Cipher,__future__,impacket,impacket.structure,six,struct,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NTLMTests | imports:Cryptodome.Cipher, __future__, impacket, impacket.structure, six, struct, sys, unittest | security-score:55",
      "exports": "NTLMTests",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f2fe5e4b43856e79",
      "framework": "python",
      "imports": "Cryptodome.Cipher,__future__,impacket,impacket.structure,six,struct,sys,unittest",
      "lines": 342,
      "logic_relevance": "none",
      "name": "test_ntlm",
      "normalized_name": "test-ntlm",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_ntlm.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "e0802e152a29c6a8b4c7d4d1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bf02456b3f69833a",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "rundce",
      "normalized_name": "rundce",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/rundce.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability",
      "component_id": "db37c5a325343cd2e4a485fb",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "ConfigParser,configparser,impacket,impacket.structure,unittest",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NMBTests, NetBIOSTests | imports:ConfigParser, configparser, impacket, impacket.structure, unittest | observability-score:55",
      "exports": "NMBTests,NetBIOSTests",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3b85ea193dd2ee9",
      "framework": "python",
      "imports": "ConfigParser,configparser,impacket,impacket.structure,unittest",
      "lines": 84,
      "logic_relevance": "none",
      "name": "test_nmb",
      "normalized_name": "test-nmb",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_nmb.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ef297f0c1164344f51c1f632",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.atsvc,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.system_errors,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBTransport, SMBTransport64, TSCHTests | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.atsvc, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.rpcrt, impacket.system_errors | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SMBTransport,SMBTransport64,TSCHTests",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ecba30a3b1dad9d",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.atsvc,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,impacket.system_errors,sys,unittest",
      "lines": 1076,
      "logic_relevance": "none",
      "name": "test_tsch",
      "normalized_name": "test-tsch",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_tsch.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "306337a14cf1c356ea656834",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dcom,impacket.uuid,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DCOMTests, TCPTransport, TCPTransport64 | imports:ConfigParser, __future__, configparser, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dcom, impacket.uuid, sys | security-score:55 | automation-score:45",
      "exports": "DCOMTests,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "eb701df80bea38ea",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dcom,impacket.uuid,sys,unittest",
      "lines": 341,
      "logic_relevance": "none",
      "name": "test_dcomrt",
      "normalized_name": "test-dcomrt",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_dcomrt.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6c451ed23874f0a2fc210d14",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,Cryptodome.Cipher,configparser,impacket.dcerpc.v5,impacket.winregistry,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RRPTests, TCPTransport | imports:ConfigParser, Cryptodome.Cipher, configparser, impacket.dcerpc.v5, impacket.winregistry, sys, unittest | observability-score:55 | security-score:55",
      "exports": "RRPTests,TCPTransport",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8ae2e3704ad5c563",
      "framework": "python",
      "imports": "ConfigParser,Cryptodome.Cipher,configparser,impacket.dcerpc.v5,impacket.winregistry,sys,unittest",
      "lines": 123,
      "logic_relevance": "none",
      "name": "test_mimilib",
      "normalized_name": "test-mimilib",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_mimilib.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "24459f4df5ef05f88fed4f63",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,sys,unittest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DCERPCTests, SMBTransport, TCPTransport | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.ndr, impacket.dcerpc.v5.rpcrt, sys | observability-score:55 | security-score:55",
      "exports": "DCERPCTests,SMBTransport,TCPTransport",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "69f02230cd33e309",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.ndr,impacket.dcerpc.v5.rpcrt,sys,unittest",
      "lines": 443,
      "logic_relevance": "none",
      "name": "test_rpcrt",
      "normalized_name": "test-rpcrt",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_rpcrt.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f4fe2cabece36c48c03dd574",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,Cryptodome.Cipher,binascii,configparser,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,socket,struct,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NRPCTests, SMBTransport, TCPTransport | imports:ConfigParser, Cryptodome.Cipher, binascii, configparser, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, socket | observability-score:55 | security-score:55",
      "exports": "NRPCTests,SMBTransport,TCPTransport",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2fe5eed5581746b9",
      "framework": "python",
      "imports": "ConfigParser,Cryptodome.Cipher,binascii,configparser,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,socket,struct,sys,unittest",
      "lines": 1089,
      "logic_relevance": "none",
      "name": "test_nrpc",
      "normalized_name": "test-nrpc",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_nrpc.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "b9625354f17dc304a13335d3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,Cryptodome.Cipher,configparser,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,random,six,string,sys,unittest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SAMRTests, SMBTransport, SMBTransport64, TCPTransport, TCPTransport64 | imports:ConfigParser, Cryptodome.Cipher, configparser, impacket, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, random, six | observability-score:55 | security-score:55",
      "exports": "SAMRTests,SMBTransport,SMBTransport64,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6ec2286f7dbff48",
      "framework": "python",
      "imports": "ConfigParser,Cryptodome.Cipher,configparser,impacket,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,random,six,string,sys,unittest",
      "lines": 2911,
      "logic_relevance": "none",
      "name": "test_samr",
      "normalized_name": "test-samr",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_samr.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "fd9d02dfd1c6ede878917cc9",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,sys,unittest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RRPTests, SMBTransport, SMBTransport64, TCPTransport | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, sys, unittest | observability-score:55 | security-score:55",
      "exports": "RRPTests,SMBTransport,SMBTransport64,TCPTransport",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f875ab5e78b1dfe",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,sys,unittest",
      "lines": 790,
      "logic_relevance": "none",
      "name": "test_rrp",
      "normalized_name": "test-rrp",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_rrp.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dc4f44159586b7fec0f2ce0b",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.structure,six.moves,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:RPRNTests, SMBTransport, SMBTransport64 | imports:__future__, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.structure, six.moves, sys, unittest | security-score:55",
      "exports": "RPRNTests,SMBTransport,SMBTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "70709c996f781ee5",
      "framework": "python",
      "imports": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.structure,six.moves,sys,unittest",
      "lines": 239,
      "logic_relevance": "none",
      "name": "test_rprn",
      "normalized_name": "test-rprn",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_rprn.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "57020429819edfcf0ec2215e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LSATTests, SMBTransport, SMBTransport64 | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, sys, unittest | observability-score:55 | security-score:55",
      "exports": "LSATTests,SMBTransport,SMBTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "27e56dba2d2804ca",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,sys,unittest",
      "lines": 369,
      "logic_relevance": "none",
      "name": "test_lsat",
      "normalized_name": "test-lsat",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_lsat.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b39b1e6379af689596fd0b7d",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,six.moves,socket,struct,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DHCPMTests, SMBTransport, SMBTransport64, TCPTransport, TCPTransport64 | imports:__future__, impacket.dcerpc.v5, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.rpcrt, six.moves, socket, struct, sys | security-score:55",
      "exports": "DHCPMTests,SMBTransport,SMBTransport64,TCPTransport,TCPTransport64",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "cd795b9883f02a36",
      "framework": "python",
      "imports": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.rpcrt,six.moves,socket,struct,sys,unittest",
      "lines": 211,
      "logic_relevance": "none",
      "name": "test_dhcpm",
      "normalized_name": "test-dhcpm",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_dhcpm.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "11a0262ec089b99b7a360639",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.drsuapi,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.epm,impacket.dcerpc.v5.lsat,impacket.dcerpc.v5.rrp,impacket.dcerpc.v5.samr,impacket.dcerpc.v5.scmr,impacket.uuid,impacket.winregistry,socket,sys,unittest",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NDRTests | imports:__future__, impacket.dcerpc.v5, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.drsuapi, impacket.dcerpc.v5.dtypes, impacket.dcerpc.v5.epm, impacket.dcerpc.v5.lsat, impacket.dcerpc.v5.rrp | security-score:55",
      "exports": "NDRTests",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7ace1b67af93316",
      "framework": "python",
      "imports": "__future__,impacket.dcerpc.v5,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.drsuapi,impacket.dcerpc.v5.dtypes,impacket.dcerpc.v5.epm,impacket.dcerpc.v5.lsat,impacket.dcerpc.v5.rrp,impacket.dcerpc.v5.samr,impacket.dcerpc.v5.scmr,impacket.uuid,impacket.winregistry,socket,sys,unittest",
      "lines": 391,
      "logic_relevance": "none",
      "name": "test_ndr",
      "normalized_name": "test-ndr",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_ndr.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability",
      "component_id": "4393ce18392b9e2c48fff4bf",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,sys,unittest",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SMBTransport, SMBTransport64, WKSTTests | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5, impacket.dcerpc.v5.ndr, sys, unittest | observability-score:55",
      "exports": "SMBTransport,SMBTransport64,WKSTTests",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7a6cb1527cb6e41",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5,impacket.dcerpc.v5.ndr,sys,unittest",
      "lines": 623,
      "logic_relevance": "none",
      "name": "test_wkst",
      "normalized_name": "test-wkst",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_wkst.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "483d369589591108aae7ff88",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigParser,__future__,configparser,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TCPTransport, TCPTransport64, WMITests | imports:ConfigParser, __future__, configparser, impacket.dcerpc.v5.dcom, impacket.dcerpc.v5.dcomrt, impacket.dcerpc.v5.dtypes, sys, unittest | observability-score:55 | automation-score:45",
      "exports": "TCPTransport,TCPTransport64,WMITests",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9fbd3e68410acd21",
      "framework": "python",
      "imports": "ConfigParser,__future__,configparser,impacket.dcerpc.v5.dcom,impacket.dcerpc.v5.dcomrt,impacket.dcerpc.v5.dtypes,sys,unittest",
      "lines": 244,
      "logic_relevance": "none",
      "name": "test_wmi",
      "normalized_name": "test-wmi",
      "package_manager": "unknown",
      "path": "python/tests/SMB_RPC/test_wmi.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "9aeb77e1cd51702367c90227",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket.ImpactDecoder,six,sys,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestDot11Decoder | imports:impacket.ImpactDecoder, six, sys, unittest | security-score:55",
      "exports": "TestDot11Decoder",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4de12e7c7fa8f75e",
      "framework": "python",
      "imports": "impacket.ImpactDecoder,six,sys,unittest",
      "lines": 73,
      "logic_relevance": "none",
      "name": "test_Dot11Decoder",
      "normalized_name": "test-dot11-decoder",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_Dot11Decoder.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "4999dbd8df17027c74f8a140",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "binascii,impacket.Dot11KeyManager,impacket.ImpactDecoder,impacket.ImpactPacket,impacket.dot11,six,sys,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestDot11WEPData | imports:binascii, impacket.Dot11KeyManager, impacket.ImpactDecoder, impacket.ImpactPacket, impacket.dot11, six, sys, unittest | security-score:55",
      "exports": "TestDot11WEPData",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16c8d880ab089830",
      "framework": "python",
      "imports": "binascii,impacket.Dot11KeyManager,impacket.ImpactDecoder,impacket.ImpactPacket,impacket.dot11,six,sys,unittest",
      "lines": 142,
      "logic_relevance": "none",
      "name": "test_WEPDecoder",
      "normalized_name": "test-wepdecoder",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_WEPDecoder.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0d3a6815832236f150148620",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.helper,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TestHelpers | imports:impacket.helper, sys, unittest | observability-score:55 | security-score:55",
      "exports": "TestHelpers",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "2143db75f3cefcf8",
      "framework": "python",
      "imports": "impacket.helper,sys,unittest",
      "lines": 57,
      "logic_relevance": "none",
      "name": "test_helper",
      "normalized_name": "test-helper",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_helper.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "a3f7b32ea02e0eb25cc84c3c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6aa586dfac77b0e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "runalltestcases",
      "normalized_name": "runalltestcases",
      "package_manager": "unknown",
      "path": "python/tests/dot11/runalltestcases.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "661e40b910381046027c1dc1",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "binascii,impacket.Dot11KeyManager,impacket.ImpactPacket,impacket.dot11,sys,unittest",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestDot11WEPData | imports:binascii, impacket.Dot11KeyManager, impacket.ImpactPacket, impacket.dot11, sys, unittest | security-score:55",
      "exports": "TestDot11WEPData",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e52ec25f1d66bf34",
      "framework": "python",
      "imports": "binascii,impacket.Dot11KeyManager,impacket.ImpactPacket,impacket.dot11,sys,unittest",
      "lines": 123,
      "logic_relevance": "none",
      "name": "test_WEPEncoder",
      "normalized_name": "test-wepencoder",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_WEPEncoder.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "725b23346c9236528ebd6903",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket.dot11,sys,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestDot11WPA2Data | imports:impacket.dot11, sys, unittest | security-score:55",
      "exports": "TestDot11WPA2Data",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e454058cf4fa9e00",
      "framework": "python",
      "imports": "impacket.dot11,sys,unittest",
      "lines": 98,
      "logic_relevance": "none",
      "name": "test_WPA2",
      "normalized_name": "test-wpa2",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_WPA2.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "9496fe503fa7cd9a81ec1884",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "impacket.dot11,sys,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestDot11WPAData | imports:impacket.dot11, sys, unittest | security-score:55",
      "exports": "TestDot11WPAData",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21f628912dcd8222",
      "framework": "python",
      "imports": "impacket.dot11,sys,unittest",
      "lines": 113,
      "logic_relevance": "none",
      "name": "test_WPA",
      "normalized_name": "test-wpa",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_WPA.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c22f0825ac7326a9a3d4d8c9",
      "component_kind": "auth",
      "confidence": 80,
      "dependency_roots": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestDot11ManagementBeaconFrames | imports:impacket.ImpactDecoder, impacket.dot11, six, sys, unittest | security-score:55",
      "exports": "TestDot11ManagementBeaconFrames",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c283dae2f67dbe56",
      "framework": "python",
      "imports": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "lines": 130,
      "logic_relevance": "none",
      "name": "test_FrameManagementDeauthentication",
      "normalized_name": "test-frame-management-deauthentication",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_FrameManagementDeauthentication.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability",
      "component_id": "42ceff152a2902cdbd92021c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TestDot11ManagementAssociationResponseFrames | imports:impacket.ImpactDecoder, impacket.dot11, six, sys, unittest | observability-score:55",
      "exports": "TestDot11ManagementAssociationResponseFrames",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3de58b6c456ff8a",
      "framework": "python",
      "imports": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "lines": 165,
      "logic_relevance": "none",
      "name": "test_FrameManagementAssociationResponse",
      "normalized_name": "test-frame-management-association-response",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_FrameManagementAssociationResponse.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability",
      "component_id": "b005737e69d6f277b7e9748c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TestDot11ManagementReassociationResponseFrames | imports:impacket.ImpactDecoder, impacket.dot11, six, sys, unittest | observability-score:55",
      "exports": "TestDot11ManagementReassociationResponseFrames",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7962f66eceaf9dd5",
      "framework": "python",
      "imports": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "lines": 165,
      "logic_relevance": "none",
      "name": "test_FrameManagementReassociationResponse",
      "normalized_name": "test-frame-management-reassociation-response",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_FrameManagementReassociationResponse.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "51d61f131eab232055321cad",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c26513054436532",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "runalltestcases",
      "normalized_name": "runalltestcases",
      "package_manager": "unknown",
      "path": "python/tests/dot11/runalltestcases.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "72460a7fe663d365e909f0ed",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TestDot11ManagementAuthenticationFrames | imports:impacket.ImpactDecoder, impacket.dot11, six, sys, unittest | observability-score:55 | security-score:55",
      "exports": "TestDot11ManagementAuthenticationFrames",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c2b8283408e62a9e",
      "framework": "python",
      "imports": "impacket.ImpactDecoder,impacket.dot11,six,sys,unittest",
      "lines": 153,
      "logic_relevance": "none",
      "name": "test_FrameManagementAuthentication",
      "normalized_name": "test-frame-management-authentication",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_FrameManagementAuthentication.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "87fed979084fa201b8ca31b0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "array,impacket,sys,unittest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TestTLVContainer | imports:array, impacket, sys, unittest | observability-score:55 | security-score:55",
      "exports": "TestTLVContainer",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "ed25baae992af7f5",
      "framework": "python",
      "imports": "array,impacket,sys,unittest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "test_wps",
      "normalized_name": "test-wps",
      "package_manager": "unknown",
      "path": "python/tests/dot11/test_wps.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "3cf0b98f4e2664a16e246266",
      "component_kind": "specification",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ae54d406c7769e86",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "python/wiki-table-scrape-master/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "af7eb5b5b904566d96fc1817",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1f1ad3ce60963530",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "python/wiki-table-scrape-master/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "c26078ca4db624556e1ea029",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "543a44de7ab4cb1a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "text",
      "normalized_name": "text",
      "package_manager": "unknown",
      "path": "python/wiki-table-scrape-master/text.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f956336573ed05c2164346b2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "bs4,csv,os,platform,requests",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:clean_data, scrape, write_html_table_to_csv | imports:bs4, csv, os, platform, requests | observability-score:55 | security-score:55",
      "exports": "clean_data,scrape,write_html_table_to_csv",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "98d07200ff458fa0",
      "framework": "python",
      "imports": "bs4,csv,os,platform,requests",
      "lines": 144,
      "logic_relevance": "none",
      "name": "wikitablescrape",
      "normalized_name": "wikitablescrape",
      "package_manager": "unknown",
      "path": "python/wiki-table-scrape-master/wikitablescrape.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic",
      "component_id": "de401ee99f0b6fb00f3bf585",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e3339e7a3563d93",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "exchange-rules",
      "normalized_name": "exchange-rules",
      "package_manager": "unknown",
      "path": "IR/exchange-rules.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3d6d29ee762ef3f1eab477e2",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "90f2a1c10b949e51",
      "framework": "unknown",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "logs",
      "normalized_name": "logs",
      "package_manager": "unknown",
      "path": "k8s/logs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "9f01757d3c4fb6c0bf4bf3e2",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "451708e038e20fb9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Windows Servers",
      "normalized_name": "windows-servers",
      "package_manager": "unknown",
      "path": "docs/Windows Servers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "process,backend,security",
      "component_id": "792efd990dc22e1e59439672",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for game; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "903d5e1a1d6f2718",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "NS8_server_notes",
      "normalized_name": "ns8-server-notes",
      "package_manager": "unknown",
      "path": "docs/NS8_server_notes.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7a560d1065a6d0a1177fc3cf",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "79beffffdae7c8d2",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "graph_audit",
      "normalized_name": "graph-audit",
      "package_manager": "unknown",
      "path": "o365/graph_audit.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "dcf50b5b4d4b5ef0f5820d85",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f57e9876589b8344",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "Install-GraphModules",
      "normalized_name": "install-graph-modules",
      "package_manager": "unknown",
      "path": "o365/Install-GraphModules.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "8dedea3db9c52c5a7cc706b9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "529d84163687c457",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "cap-policies-devices",
      "normalized_name": "cap-policies-devices",
      "package_manager": "unknown",
      "path": "o365/cap-policies-devices.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "42bb0eafb107993ffdbf550c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f11b780d28dce11e",
      "framework": "unknown",
      "imports": "",
      "lines": 435,
      "logic_relevance": "none",
      "name": "cap-audit-test4",
      "normalized_name": "cap-audit-test4",
      "package_manager": "unknown",
      "path": "o365/cap-audit-test4.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "8b62ac19a1bae237c88d91d6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f7c62ea8e01a7937",
      "framework": "unknown",
      "imports": "",
      "lines": 350,
      "logic_relevance": "none",
      "name": "cap-audit-v2",
      "normalized_name": "cap-audit-v2",
      "package_manager": "unknown",
      "path": "o365/cap-audit-v2.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "3e961310334add91cff26223",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "726fd27176d89b31",
      "framework": "unknown",
      "imports": "",
      "lines": 390,
      "logic_relevance": "none",
      "name": "cap-audit-test2",
      "normalized_name": "cap-audit-test2",
      "package_manager": "unknown",
      "path": "o365/cap-audit-test2.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "6e85b80a585adfe260fca62b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "81709e2519e31b99",
      "framework": "unknown",
      "imports": "",
      "lines": 327,
      "logic_relevance": "none",
      "name": "cap-audit-test3",
      "normalized_name": "cap-audit-test3",
      "package_manager": "unknown",
      "path": "o365/cap-audit-test3.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ded94b02a57ac7a9047ae996",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "81abc4ae72e8e809",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "o365-audit-final",
      "normalized_name": "o365-audit-final",
      "package_manager": "unknown",
      "path": "o365/o365-audit-final.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security",
      "component_id": "379a49342399be39e00600cd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af467251bc7de4bd",
      "framework": "unknown",
      "imports": "",
      "lines": 181,
      "logic_relevance": "none",
      "name": "Fix-GraphModuleIssues",
      "normalized_name": "fix-graph-module-issues",
      "package_manager": "unknown",
      "path": "o365/Fix-GraphModuleIssues.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "df5c289fe7504bbd84187a22",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "461062b88fc2b7e6",
      "framework": "unknown",
      "imports": "",
      "lines": 286,
      "logic_relevance": "none",
      "name": "FindUserAuditActivities",
      "normalized_name": "find-user-audit-activities",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindUserAuditActivities.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "52fe4b48cf0918eaf4b08d2d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8816483ad6815a53",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "FindOldGuestUsers",
      "normalized_name": "find-old-guest-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindOldGuestUsers.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,integration,observability,security",
      "component_id": "e65546681a656d0e5c9157e8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "666ebeba84141dcc",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "UpdateSensitivityLabelsForGroups",
      "normalized_name": "update-sensitivity-labels-for-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateSensitivityLabelsForGroups.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "653a3162e46581030476d6e7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7ac4311bb2b60a16",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "ReportAuditRecsGuestDocAccess",
      "normalized_name": "report-audit-recs-guest-doc-access",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAuditRecsGuestDocAccess.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability",
      "component_id": "36f84ddfb253d30b417ecde3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "26bcef6fd6105a44",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "Report-Microsoft365GroupsExpiration",
      "normalized_name": "report-microsoft365-groups-expiration",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-Microsoft365GroupsExpiration.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "835870ce4149cb15ef8959b4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a724b3220db67b6f",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "Report-MobileDevices",
      "normalized_name": "report-mobile-devices",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-MobileDevices.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "730cf502c1d5817917ed1c64",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a1615c4e7a8ba1d",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "ReportAuditRecsUserSignIns",
      "normalized_name": "report-audit-recs-user-sign-ins",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAuditRecsUserSignIns.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d894f0c9c9f3d97069be84d8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "397c5cce0283d6a1",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "UpdateGuestPhotos",
      "normalized_name": "update-guest-photos",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateGuestPhotos.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "e33208f91bf52c2ee12d1827",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80afe1f11587fa50",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "Find-TeamsChannelsWithWebSites",
      "normalized_name": "find-teams-channels-with-web-sites",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-TeamsChannelsWithWebSites.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security,ai",
      "component_id": "752bd483c508705250b07371",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e7b1b8b8ba084182",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "PurgeMessagesWithContentSearch",
      "normalized_name": "purge-messages-with-content-search",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/PurgeMessagesWithContentSearch.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "e00724f3a6395b578e92cb2d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e6ca4bc7b0803416",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "ReportTeamsChannels",
      "normalized_name": "report-teams-channels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsChannels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "37ac989d43d3d3dd95a03b14",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "553e52eb2c6b8d70",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "UpdateSPOSitesWithLabels",
      "normalized_name": "update-sposites-with-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateSPOSitesWithLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "0c2790aeec7e00e40bca68da",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "213b3fac1633977a",
      "framework": "unknown",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "ReportDLMembershipsCounts-MgGraph",
      "normalized_name": "report-dlmemberships-counts-mg-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDLMembershipsCounts-MgGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "93a2136bf4e2cbdbd43f569a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "09b1780aa626558c",
      "framework": "unknown",
      "imports": "",
      "lines": 190,
      "logic_relevance": "none",
      "name": "Convert-TeamsBackgroundFilesV2",
      "normalized_name": "convert-teams-background-files-v2",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Convert-TeamsBackgroundFilesV2.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "43897def86228f5f56ce37b8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ce95305d34ce4275",
      "framework": "unknown",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "Send-EmailExchangeHVE",
      "normalized_name": "send-email-exchange-hve",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-EmailExchangeHVE.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,integration,observability",
      "component_id": "1413c31219e8ca4bb3e6476b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d42b377c246d294",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "UpdateSubscribersInGroupsUsedByTeams",
      "normalized_name": "update-subscribers-in-groups-used-by-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateSubscribersInGroupsUsedByTeams.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "4631e7f243662862cc9d0518",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "122307a6259a5967",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "GetTeamsReactions",
      "normalized_name": "get-teams-reactions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetTeamsReactions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9fe20617fa5a90c21a12b6cf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "97241296a0c270e0",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Report-HardDeletedUserAccounts",
      "normalized_name": "report-hard-deleted-user-accounts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-HardDeletedUserAccounts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "947e83431944ee91aee6e49f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8eecf5032ead9a20",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "ReportTeamsPrivateChannels",
      "normalized_name": "report-teams-private-channels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsPrivateChannels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "6cb948760947a5ebed05a48f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ece8e60ed91dad4a",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "UpdateAzureAutomationGraphModules",
      "normalized_name": "update-azure-automation-graph-modules",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateAzureAutomationGraphModules.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "eb90734935b2231664c7127a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "198b2afc719b8a9f",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "Monitor-TeamsMemberAdditions",
      "normalized_name": "monitor-teams-member-additions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Monitor-TeamsMemberAdditions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "e815e7786dec28780fd348aa",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8baca954437e1451",
      "framework": "unknown",
      "imports": "",
      "lines": 425,
      "logic_relevance": "none",
      "name": "Report-ConditionalAccessPolicies",
      "normalized_name": "report-conditional-access-policies",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ConditionalAccessPolicies.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d17acdd3acee09a1360525f1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f0f8049709816f1d",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "Report-SharingAuditEvents",
      "normalized_name": "report-sharing-audit-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-SharingAuditEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "2122b9be3b03d3f1c5a7543e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "83ac3da5c21d6e80",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "ReportActiveTeams",
      "normalized_name": "report-active-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportActiveTeams.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation,observability",
      "component_id": "ce4ae6f31954feff96a36428",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28aca8a199435872",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "ComplianceSearchPartiallyIndexedItems",
      "normalized_name": "compliance-search-partially-indexed-items",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ComplianceSearchPartiallyIndexedItems.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "144708a20f563c414204af31",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bb1af1eb9ef1d462",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "ReportMailboxQuotaUsed",
      "normalized_name": "report-mailbox-quota-used",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMailboxQuotaUsed.Ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability,ai",
      "component_id": "efc9425360736475650ed589",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0b11f08cf755eab7",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "ReportPermissionsFolderLevel",
      "normalized_name": "report-permissions-folder-level",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportPermissionsFolderLevel.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "6088c7e026125b9a8b2f3a80",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "22a4e958295efc54",
      "framework": "unknown",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "Report-LoopWorkspaces",
      "normalized_name": "report-loop-workspaces",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-LoopWorkspaces.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "ed123bd720cc5ed6c0600e02",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "06f99166cffc49c3",
      "framework": "unknown",
      "imports": "",
      "lines": 198,
      "logic_relevance": "none",
      "name": "ReportRoomMailboxUsage-AzureAutomation",
      "normalized_name": "report-room-mailbox-usage-azure-automation",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportRoomMailboxUsage-AzureAutomation.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3824ccefbdd3d13de9955585",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d6ce247358fb07e",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "Find-LastAccessedDateDocuments",
      "normalized_name": "find-last-accessed-date-documents",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-LastAccessedDateDocuments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "26eb9f122cff8f77acd2176e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6b8bc9291b9567b4",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "SendWelcomeEmailGraph",
      "normalized_name": "send-welcome-email-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendWelcomeEmailGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "995a56ee3fc4663b4173ba86",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e5df2627296b8a51",
      "framework": "unknown",
      "imports": "",
      "lines": 197,
      "logic_relevance": "none",
      "name": "Report-ServicePlans",
      "normalized_name": "report-service-plans",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ServicePlans.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "c290e2a34d81d6ad00072d54",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ca5c3b86a46262b",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "MFAReportMailboxes",
      "normalized_name": "mfareport-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/MFAReportMailboxes.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "54c7debfd4e274c501a2076d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d4e6af9dd9c3c427",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "Analyze-MTHistoricalLogs",
      "normalized_name": "analyze-mthistorical-logs",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Analyze-MTHistoricalLogs.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "0e7e84c7840fda3039a90a88",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6d8a0127a1c8d695",
      "framework": "unknown",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "Send-TeamsChatMessage",
      "normalized_name": "send-teams-chat-message",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-TeamsChatMessage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process,ai",
      "component_id": "9bfd22f9a195be043d9f503c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "362d8497cbe37123",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "SendWelcomeEmail-Runbook",
      "normalized_name": "send-welcome-email-runbook",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendWelcomeEmail-Runbook.ps1",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "4c64fbb6172479e7a6403e0a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f45f5f5f5f456590",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "Find-GraphPermissions.",
      "normalized_name": "find-graph-permissions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-GraphPermissions..PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation,observability,security",
      "component_id": "ef8c4bd1fd66cd2d319502dc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e96c5c4eb091d0b4",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "ReportIndividualApplicationLicenses",
      "normalized_name": "report-individual-application-licenses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportIndividualApplicationLicenses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "8946e1af070d59d20c1024c7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f42599926633e9e1",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "ReportLastAccountSignIn-Mg",
      "normalized_name": "report-last-account-sign-in-mg",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportLastAccountSignIn-Mg.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "048b4256e19621112025745f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7b1043ac425cd60c",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "LastLoggedOnByExternalUsers",
      "normalized_name": "last-logged-on-by-external-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/LastLoggedOnByExternalUsers.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "baed895ecf2e72250904e6ed",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2672c5d5a79e29d1",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "ReportTeamsActivityGraph",
      "normalized_name": "report-teams-activity-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsActivityGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,discovery",
      "component_id": "cf8f34af2d92aea747ce7b25",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9b975c71a1cb385",
      "framework": "unknown",
      "imports": "",
      "lines": 196,
      "logic_relevance": "none",
      "name": "Create-NewsItemsFromRSSFeed",
      "normalized_name": "create-news-items-from-rssfeed",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Create-NewsItemsFromRSSFeed.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "fce31c9be479925ea571fdbc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c417e09eec10734c",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "ReportMFAStatusAdmins",
      "normalized_name": "report-mfastatus-admins",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMFAStatusAdmins.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c6db3cdf7f8068b3faaff996",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d1288736afe63c1",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Report-LabelChangesAuditRecords",
      "normalized_name": "report-label-changes-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-LabelChangesAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "78b3c7399a7e8eb9b876b33b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a54cc4792532031b",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "UpdateUserPhotos",
      "normalized_name": "update-user-photos",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateUserPhotos.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3a48fb1d365e5f1722a25a56",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c05f5f746d8feedf",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ReportRetentionLabelAuditEvents",
      "normalized_name": "report-retention-label-audit-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportRetentionLabelAuditEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,integration,security",
      "component_id": "5fe7cbf22bfa7f3648fba18c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4cf113e05bca4a8e",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "Create-EntraIDDynamicGroups",
      "normalized_name": "create-entra-iddynamic-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Create-EntraIDDynamicGroups.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "fd6b22c559a8369c86395121",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d7d69104816dea59",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "ReportMembershipM365Group",
      "normalized_name": "report-membership-m365-group",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMembershipM365Group.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "dd00ccc3014e96427a2b16ff",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eca16e04cdf5ac3a",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "GetPlansForUser-DeviceCode",
      "normalized_name": "get-plans-for-user-device-code",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetPlansForUser-DeviceCode.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "0a3e89982e8fe2da82ab345f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a2047ab9b0188ce",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "Get-UsersWithPhoneMFAMethod",
      "normalized_name": "get-users-with-phone-mfamethod",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-UsersWithPhoneMFAMethod.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "8c85e2af11b798cb469fb9f3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "78c962a681f0a9a1",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "Send-HVEEmailRunbook",
      "normalized_name": "send-hveemail-runbook",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-HVEEmailRunbook.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,integration,observability",
      "component_id": "12325fe49a2fcdc17b9d3aa1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d8211606133eb756",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "Get-LabelsAndCheckMicrosoft365Groups",
      "normalized_name": "get-labels-and-check-microsoft365-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-LabelsAndCheckMicrosoft365Groups.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "aa3c1adc21b36329a85de7ee",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "561115cf428f0aa8",
      "framework": "unknown",
      "imports": "",
      "lines": 161,
      "logic_relevance": "none",
      "name": "Get-ServiceHealthInformation",
      "normalized_name": "get-service-health-information",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-ServiceHealthInformation.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "4da33fe921ecccbbd30c4c34",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8517e89928ec0e68",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "Report-ServicePrincipalConnections",
      "normalized_name": "report-service-principal-connections",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ServicePrincipalConnections.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "e1616530cdb1524459f13cc3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b1b4d499c4e1a3e7",
      "framework": "unknown",
      "imports": "",
      "lines": 300,
      "logic_relevance": "none",
      "name": "Report-InactiveTeamsByEmail",
      "normalized_name": "report-inactive-teams-by-email",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-InactiveTeamsByEmail.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,ai",
      "component_id": "6033cf6e1885bf69ac01f6b4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1a3161265345effe",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "SendWelcomeMessage-UserMail",
      "normalized_name": "send-welcome-message-user-mail",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendWelcomeMessage-UserMail.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "e35fce7e1f65c8cbebadc099",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23469aee90324bb0",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "GenerateTeamsDirectory-Graph",
      "normalized_name": "generate-teams-directory-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GenerateTeamsDirectory-Graph.Ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "3f2ff05305c937a5ee0ef0f4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1fc230d40dfcf743",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "Test-ComplianceHolds",
      "normalized_name": "test-compliance-holds",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Test-ComplianceHolds.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "de6ea804b6b59604ef9feb96",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a3b3f24b04b4017",
      "framework": "unknown",
      "imports": "",
      "lines": 230,
      "logic_relevance": "none",
      "name": "Apply-SensitivityLabels",
      "normalized_name": "apply-sensitivity-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Apply-SensitivityLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "979f163d6a2651bd4a1cf901",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ebda8236e280a71a",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "Report-ServicePrincipalAssignments",
      "normalized_name": "report-service-principal-assignments",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ServicePrincipalAssignments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "0d4980995e47682f94914cc5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1919c335e66a40f7",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "SendWelcomeEmail-Mg",
      "normalized_name": "send-welcome-email-mg",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendWelcomeEmail-Mg.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "7813fd44b2470b276d32d5d9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b9d1004187f3772b",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "FindUpdatedOffice365Notifications",
      "normalized_name": "find-updated-office365-notifications",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindUpdatedOffice365Notifications.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability,security",
      "component_id": "7dd1fde10904ede7ef53289e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd1b7dab6e2e8a01",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "Provision-OneDriveAccounts",
      "normalized_name": "provision-one-drive-accounts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Provision-OneDriveAccounts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "83d08d6a76901f3370cb2655",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eba4630290896bd9",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "Enable-AllExchangeAuditEvents",
      "normalized_name": "enable-all-exchange-audit-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Enable-AllExchangeAuditEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "f16390c3b4c3566c5874ef1b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "795f2351c3c1fa2f",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "Report-TeamsApps",
      "normalized_name": "report-teams-apps",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-TeamsApps.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "7aad239dba9be29dd7369452",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ebf24a886b17c03e",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "Report-PrimaryArchiveFolderSizes",
      "normalized_name": "report-primary-archive-folder-sizes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-PrimaryArchiveFolderSizes.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "0fb3b2a520aa905e977bd835",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9395dfddc9b54b5b",
      "framework": "unknown",
      "imports": "",
      "lines": 227,
      "logic_relevance": "none",
      "name": "AzureAutomationGroupsExpirationReport",
      "normalized_name": "azure-automation-groups-expiration-report",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AzureAutomationGroupsExpirationReport.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7be80015f7b4c156090b6a42",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "29d4e75f4da98e6f",
      "framework": "unknown",
      "imports": "",
      "lines": 258,
      "logic_relevance": "none",
      "name": "Auto-ApplyRetentionLabels",
      "normalized_name": "auto-apply-retention-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Auto-ApplyRetentionLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "bed94cd83cdd36b5a3ea9599",
      "component_kind": "script",
      "confidence": 85,
      "dependency_roots": " + $FullLicenseName\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host (",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports: + $FullLicenseName\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host ( | automation-score:175 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "32f384083c5dcd6e",
      "framework": "unknown",
      "imports": " + $FullLicenseName\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host (",
      "lines": 112,
      "logic_relevance": "none",
      "name": "RemoveServicePlan2",
      "normalized_name": "remove-service-plan2",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RemoveServicePlan2.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "e11d9a6880b0124b9f21b970",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "abf337d9237a0dd9",
      "framework": "unknown",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "ReportDLMembershipsCountsGraph",
      "normalized_name": "report-dlmemberships-counts-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDLMembershipsCountsGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,ai",
      "component_id": "6c4e3cb4114c4166800c1695",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7731a0406d2fac9b",
      "framework": "unknown",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "RemoveServicePlan3",
      "normalized_name": "remove-service-plan3",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RemoveServicePlan3.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8c6b182d3f919c18741995ec",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cffd02dc62eadded",
      "framework": "unknown",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "ReportSensitivityLabelsAuditRecords",
      "normalized_name": "report-sensitivity-labels-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSensitivityLabelsAuditRecords.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "f8553bccf02139e098cfdca6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "633ee31c020204bd",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "Create-NewConditionalAccessPolicy",
      "normalized_name": "create-new-conditional-access-policy",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Create-NewConditionalAccessPolicy.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "2b7a9d131bfba4665b48b76e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "decb8e27836100e2",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "SPOSitesRetention",
      "normalized_name": "sposites-retention",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SPOSitesRetention.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "48baa62913830c32a5c656c8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7aa580f01b25f59d",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "Find-CandidateCopilotUsers",
      "normalized_name": "find-candidate-copilot-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-CandidateCopilotUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "911b420d05e3c10eae8cfc58",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "492e4fcdfc420e49",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "FindAppConsentGrants",
      "normalized_name": "find-app-consent-grants",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindAppConsentGrants.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "44eb85b0287539a71795487f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a9766da96d0c8d1",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "Populate-TeamsDirectorySPOList-Pnp",
      "normalized_name": "populate-teams-directory-spolist-pnp",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Populate-TeamsDirectorySPOList-Pnp.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "775b2fea8d1251688cde8cd5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd952be8d2da6082",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "FindWhoAddedGuestsToGroups",
      "normalized_name": "find-who-added-guests-to-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindWhoAddedGuestsToGroups.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "1d3bb6bfe6a0b4c2ad9ee240",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "64d2162c556b31ae",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "Disable-JunkEmailOptions",
      "normalized_name": "disable-junk-email-options",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Disable-JunkEmailOptions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3e0c561f5100836883b57cc0",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "586d8944f1c4147c",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "Report-RecoverableItemsPS",
      "normalized_name": "report-recoverable-items-ps",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-RecoverableItemsPS.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3aee25f91e01499edabf705d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "680f40058f9b9f3a",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "Report-UserSignIns",
      "normalized_name": "report-user-sign-ins",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-UserSignIns.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7a6b964e84c59991ecff8c79",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "533153ef6c8d98d5",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "Report-AuditEventsviaEmailRunbook",
      "normalized_name": "report-audit-eventsvia-email-runbook",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-AuditEventsviaEmailRunbook.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "4b7804494a790e9b2dd723e1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "33c27d134bf9c6fb",
      "framework": "unknown",
      "imports": "",
      "lines": 200,
      "logic_relevance": "none",
      "name": "Send-AzureCommunicationsEmail",
      "normalized_name": "send-azure-communications-email",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-AzureCommunicationsEmail.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a2e7907430610d000fac4c40",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c8bd9c2eeb0e659f",
      "framework": "unknown",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "Post-ItemsToHTTPWorkFlow",
      "normalized_name": "post-items-to-httpwork-flow",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Post-ItemsToHTTPWorkFlow.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "aed47e7574e673ec07b0b071",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a6d121f13909cefb",
      "framework": "unknown",
      "imports": "",
      "lines": 135,
      "logic_relevance": "none",
      "name": "Report-AllEmailProxyAddresses",
      "normalized_name": "report-all-email-proxy-addresses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-AllEmailProxyAddresses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,observability,security",
      "component_id": "9f7600cb8a4a8a65e9bb0894",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e411d7b96052fb42",
      "framework": "unknown",
      "imports": "",
      "lines": 278,
      "logic_relevance": "none",
      "name": "SketchPad",
      "normalized_name": "sketch-pad",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SketchPad.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0e381d06a18a36e70a460497",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8be41521f7c4522",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "CreateNewAzureADAccount",
      "normalized_name": "create-new-azure-adaccount",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/CreateNewAzureADAccount.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "2d8ffd656537c205f74c3c33",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab54b03f272d99d9",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "AuditRecordAuditLabel",
      "normalized_name": "audit-record-audit-label",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AuditRecordAuditLabel.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "6af7d4219178b3d7d3cc6578",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "679455c11cf4c1bf",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "Test-BatchProcessing",
      "normalized_name": "test-batch-processing",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Test-BatchProcessing.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "535fb9012cb2b11af68910bf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c0b92c810698aac2",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "ReportDocumentSensitivityLabelMismatches",
      "normalized_name": "report-document-sensitivity-label-mismatches",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDocumentSensitivityLabelMismatches.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "bde19e9aaf485f1d46793e96",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6ecc8be161b7967f",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Report-UserUpdateAuditRecords",
      "normalized_name": "report-user-update-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-UserUpdateAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8df33a827a0e02b8dbdca392",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f509804e3d909f0e",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "Find-LoopAppUsers",
      "normalized_name": "find-loop-app-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-LoopAppUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "bafe5ec4e0613e3ae930785c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80bc362555d45d91",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "ReportOneDriveStorageUsage",
      "normalized_name": "report-one-drive-storage-usage",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportOneDriveStorageUsage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "80036b2b46ddce94d37618ef",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c26c066205f33906",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "ReportExpiringLinkExtended",
      "normalized_name": "report-expiring-link-extended",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportExpiringLinkExtended.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "7a520af75cad4e6b56de278f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b19045680e911e2d",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "Create-DDLBasedOnSMTPAddresses",
      "normalized_name": "create-ddlbased-on-smtpaddresses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Create-DDLBasedOnSMTPAddresses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "9b2008743fe0043444efeb98",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c239db8f59a788ee",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "ReportManagersAndDirectReports",
      "normalized_name": "report-managers-and-direct-reports",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportManagersAndDirectReports.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "8a2ca7ea1836754c4feb9f9c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab0c51eec9d38682",
      "framework": "unknown",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "Find-CopilotInteractions-Graph",
      "normalized_name": "find-copilot-interactions-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-CopilotInteractions-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "d93850b5c627b96537525ccc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a910bb3fadf2c7d8",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "GenerateTeamsDirectory",
      "normalized_name": "generate-teams-directory",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GenerateTeamsDirectory.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "259065236022fc4887a29128",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "50797dc48568c386",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "SendMessageAboutDeletedStreamVideos",
      "normalized_name": "send-message-about-deleted-stream-videos",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendMessageAboutDeletedStreamVideos.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "09cd64db2c854f91eeb622fc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "683fd5ed1363a00c",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "FindOldGuestAccounts",
      "normalized_name": "find-old-guest-accounts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindOldGuestAccounts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,ai",
      "component_id": "27000fcd0101d53c7dc0f1a3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6bb3d6bfd09ac8cb",
      "framework": "unknown",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "Remove-UtilityMessagesFromMailboxes",
      "normalized_name": "remove-utility-messages-from-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Remove-UtilityMessagesFromMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "97a48a2c55680ac28e9a8ce5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1fdefefafc62f419",
      "framework": "unknown",
      "imports": "",
      "lines": 317,
      "logic_relevance": "none",
      "name": "Find-AuditEventsForUser",
      "normalized_name": "find-audit-events-for-user",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-AuditEventsForUser.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0bd0a39af103e5fff5f93db6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6d67903b67b84d6",
      "framework": "unknown",
      "imports": "",
      "lines": 237,
      "logic_relevance": "none",
      "name": "ReportPermissionsApps",
      "normalized_name": "report-permissions-apps",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportPermissionsApps.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "145bf1a4a03f7934792c64ff",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1c81bddfefc08975",
      "framework": "unknown",
      "imports": "",
      "lines": 356,
      "logic_relevance": "none",
      "name": "CleanUpMailbox-Graph",
      "normalized_name": "clean-up-mailbox-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/CleanUpMailbox-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "47f8c0e30e56f9f1e5292cec",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "52c6cb3ac1324718",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "Update-M365GroupOwners",
      "normalized_name": "update-m365-group-owners",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-M365GroupOwners.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "7a96da8297fd5bb185941542",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5849632671afec1c",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "ReportUnusedExoMailboxes",
      "normalized_name": "report-unused-exo-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportUnusedExoMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "9e2e556e5aff362201887bb7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a5685e491ca1fdfc",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "Report-MailUsageDomains",
      "normalized_name": "report-mail-usage-domains",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-MailUsageDomains.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "a2952a8d46af9aa36719af39",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4680de6f900d6390",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "Update-PlanWithTasks",
      "normalized_name": "update-plan-with-tasks",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-PlanWithTasks.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "b518462e187eb11ce59e55bf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b22bb15196996c41",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "Report-EntraRegisteredDevices",
      "normalized_name": "report-entra-registered-devices",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-EntraRegisteredDevices.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "16bf0605af81b35fe14bc611",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6edaa832fa20afa3",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "ReportSendAsAuditEvents",
      "normalized_name": "report-send-as-audit-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSendAsAuditEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "b9315d68fbbaf22e3bd29dd3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "398e78b4fd703e8e",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "New-AccountTrackingAzureAutomation",
      "normalized_name": "new-account-tracking-azure-automation",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/New-AccountTrackingAzureAutomation.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "2cd8a2729918e834eb5bc2cf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "51afee0184a529be",
      "framework": "unknown",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "ReportAuthenticationMethods",
      "normalized_name": "report-authentication-methods",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAuthenticationMethods.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "63922c10778176ae8f03ccaf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4b296e59908581f2",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "Report-MailboxAuditingConfiguration",
      "normalized_name": "report-mailbox-auditing-configuration",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-MailboxAuditingConfiguration.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "42ac1e6da4839734bc964244",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0949e34cf727430d",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Report-OneDriveUsage",
      "normalized_name": "report-one-drive-usage",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-OneDriveUsage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "4caaf9854e06796ed6b44110",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8faa18890f43dfaf",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "Remove-LicensesDisabledAccounts",
      "normalized_name": "remove-licenses-disabled-accounts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Remove-LicensesDisabledAccounts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,ai",
      "component_id": "e898245148c2eae964e42eb5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5e9fd5712032447d",
      "framework": "unknown",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "Assign-LicensesViaCSV",
      "normalized_name": "assign-licenses-via-csv",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Assign-LicensesViaCSV.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,integration,observability",
      "component_id": "198ba7373ae4c02920b9189b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d96cfb7c9012fb16",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "Check-SensitivityLabelsGroups",
      "normalized_name": "check-sensitivity-labels-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Check-SensitivityLabelsGroups.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "1fc746a06fa4be93e3d1f7d4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "89ea468f0942fa34",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ReportPermissionsOnMailboxes",
      "normalized_name": "report-permissions-on-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportPermissionsOnMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "63b1ca22c168ff1b4fa7628c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1d9d0f4ee39b1781",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "Update-OneDriveGroupMembers",
      "normalized_name": "update-one-drive-group-members",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-OneDriveGroupMembers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "f02ed3f7016e76159027b300",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd2e4f90e40d2807",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "Update-BreakGlassUsersCAPolicies",
      "normalized_name": "update-break-glass-users-capolicies",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-BreakGlassUsersCAPolicies.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "4cb260d26c729253cc4859f1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3a89820628b2ee1",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "Analyze-MailTraffic",
      "normalized_name": "analyze-mail-traffic",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Analyze-MailTraffic.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "bbf7e19c24c607b8eb2d4ec0",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1257a6475a925851",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "AnalyzeSendAsAuditData",
      "normalized_name": "analyze-send-as-audit-data",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AnalyzeSendAsAuditData.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7eaf10dc39d854408fa508b4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1bb97ffc1401799c",
      "framework": "unknown",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "ReportDelveInsightsDisabled",
      "normalized_name": "report-delve-insights-disabled",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDelveInsightsDisabled.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "0d06315abd85f6e1791a156f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e0606215cf47d37",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "ReportDLsAndManagers",
      "normalized_name": "report-dls-and-managers",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDLsAndManagers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7afcf7ccab2337df3f9ac06d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c4d3d32cee9ed83",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Check-AuditRecordsMFA",
      "normalized_name": "check-audit-records-mfa",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Check-AuditRecordsMFA.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a3d191ef2dd8787695c3c3e4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7be7aeaaef7e9722",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "Report-PermissionConsentRequests",
      "normalized_name": "report-permission-consent-requests",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-PermissionConsentRequests.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "e427b32738d562e0e9a024cf",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a938fd4cc02de497",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "GetPowerAutomateFlows",
      "normalized_name": "get-power-automate-flows",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetPowerAutomateFlows.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security,ai",
      "component_id": "2068af7954ca93212bd37172",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "336de5073e49a652",
      "framework": "unknown",
      "imports": "",
      "lines": 200,
      "logic_relevance": "none",
      "name": "Analyze-TeamsExternalChats",
      "normalized_name": "analyze-teams-external-chats",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Analyze-TeamsExternalChats.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "f7ab25677da78e7051d2c9b0",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3d4cf0f22e94e5ac",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "PopulateOrgContacts",
      "normalized_name": "populate-org-contacts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/PopulateOrgContacts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "74e65987284f0361f8e59886",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f3c7423199e5711",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "Report-RecoverableItems",
      "normalized_name": "report-recoverable-items",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-RecoverableItems.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "1d57c0546976509dbb621749",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cb69118da9daa0c9",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "Update-TenantCustomBranding",
      "normalized_name": "update-tenant-custom-branding",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-TenantCustomBranding.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "bd24c03535ee4e5fa9ea1a05",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b019f7ca369eff23",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "Report-MRMTagsOnFolders",
      "normalized_name": "report-mrmtags-on-folders",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-MRMTagsOnFolders.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "2cf8644af3926658d34a8126",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "27e657d4fe11f12a",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "UpdateMailboxAuditing",
      "normalized_name": "update-mailbox-auditing",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateMailboxAuditing.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "28196075d9296fa214b82d6d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ebc2c590975b72cb",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "ReportAuditRecsFileUpdates",
      "normalized_name": "report-audit-recs-file-updates",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAuditRecsFileUpdates.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "d1edfbec5c129a127341d82b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "516bf4f71c41430c",
      "framework": "unknown",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "FindPotentialDirectoryProblems",
      "normalized_name": "find-potential-directory-problems",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindPotentialDirectoryProblems.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "b63ccccb7166e42c44b460bb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "48211fb48161373a",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "Get-IPGeolocation",
      "normalized_name": "get-ipgeolocation",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-IPGeolocation.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9b6ba9344bc8e1eb6ef90e6c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca14dfe6ea7438a1",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "FindSendAsAuditRecords",
      "normalized_name": "find-send-as-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindSendAsAuditRecords.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "b855a2304d918faa9465129f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "29947d8786a86ed8",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "Report-AURolesAndMembers",
      "normalized_name": "report-auroles-and-members",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-AURolesAndMembers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "93e3fde16f8b878b3159a20e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a33f94aef0e801a",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "GetHoldsOnMailbox",
      "normalized_name": "get-holds-on-mailbox",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetHoldsOnMailbox.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "322ad557113ed56f4328de0f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cec08b5f5f3ba0a1",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "AzureAutomation-FindRemoveTeamsChats",
      "normalized_name": "azure-automation-find-remove-teams-chats",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AzureAutomation-FindRemoveTeamsChats.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "04349bd865c2b5f7d6543dd0",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c36c763ce1bf9f2a",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "FindObsoleteGuestsByActivity",
      "normalized_name": "find-obsolete-guests-by-activity",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindObsoleteGuestsByActivity.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "08444168a4afee47aae5ef09",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "80f988eb132bd4cd",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "FindNonSSPREnabledUsers",
      "normalized_name": "find-non-ssprenabled-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindNonSSPREnabledUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "a468f9e35f8917dcc1c1d7c6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e529fb8fa9051659",
      "framework": "unknown",
      "imports": "",
      "lines": 341,
      "logic_relevance": "none",
      "name": "ReportTeamsPolicyAssignments",
      "normalized_name": "report-teams-policy-assignments",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsPolicyAssignments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability,ai",
      "component_id": "7a63789c5bf5ebb70163ea3c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fbfab2a02376a510",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "PurgeMessagesWithSearchMailbox",
      "normalized_name": "purge-messages-with-search-mailbox",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/PurgeMessagesWithSearchMailbox.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4ac5c12be5275d6fa0316006",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0f1abaed2d29d98e",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "GetUserSignInDataGraph",
      "normalized_name": "get-user-sign-in-data-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetUserSignInDataGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,observability",
      "component_id": "747bf51638520b90d20c4351",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "79bfddd0bc10f4f6",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "RemoveKaizalaServicePlans",
      "normalized_name": "remove-kaizala-service-plans",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RemoveKaizalaServicePlans.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "b8b965791651b92e46cee2e7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0dce15ccc0ec34ac",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "ReportQuarantinedMessages",
      "normalized_name": "report-quarantined-messages",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportQuarantinedMessages.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "a661ca88c4b1b940e82981c8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f938a84e3b0aa3ec",
      "framework": "unknown",
      "imports": "",
      "lines": 515,
      "logic_relevance": "none",
      "name": "Find-UnderUsedCopilotLicenseswithAudit",
      "normalized_name": "find-under-used-copilot-licenseswith-audit",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-UnderUsedCopilotLicenseswithAudit.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "d9876db323c1367d9155dda1",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "047677b52c3e298c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "c71c67f37e7221e3537fd01d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f0146b93cd302913",
      "framework": "unknown",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "Remove-PermissionsSharedMailbox",
      "normalized_name": "remove-permissions-shared-mailbox",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Remove-PermissionsSharedMailbox.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "9a1542fe4d262d4a41cf21ed",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "25f5c49e666acb74",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ConvertDDLM365Group",
      "normalized_name": "convert-ddlm365-group",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ConvertDDLM365Group.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "21c04f1c61bad1875ace48c6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "13cf430c5d60e323",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "PopulateTeamsHolidays",
      "normalized_name": "populate-teams-holidays",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/PopulateTeamsHolidays.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "0aa11de321a461493a143b98",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c614377e697bc47",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "Find-FilesWithDownGradedLabels",
      "normalized_name": "find-files-with-down-graded-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-FilesWithDownGradedLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,integration,observability,security",
      "component_id": "fca2e7b7da1277e80e53402e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "606f1c1a401f369f",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "FindOffice365GroupsWithBadGuests",
      "normalized_name": "find-office365-groups-with-bad-guests",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindOffice365GroupsWithBadGuests.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "86af4c50bedaf714d29f79a1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f6ea853a6a0913fc",
      "framework": "unknown",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "AzureAutomationAddMembersTeamChannels",
      "normalized_name": "azure-automation-add-members-team-channels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AzureAutomationAddMembersTeamChannels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "8fd5c4db77200399c01fb837",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "785e297e8cfeea2f",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "Update-GroupPhotosSDK",
      "normalized_name": "update-group-photos-sdk",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-GroupPhotosSDK.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "cd17e5c22ec9802414d20f7e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "446bf614e2121962",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "ReportSPOSiteStorageUsage",
      "normalized_name": "report-sposite-storage-usage",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSPOSiteStorageUsage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "4eb7e80424f41c7297140ca5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a9d65e00f6b8bec6",
      "framework": "unknown",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "ReportMailboxItems-Graph",
      "normalized_name": "report-mailbox-items-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMailboxItems-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "dc3e7331786ae3f392f7e638",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66d2c939d78c1226",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "FindDeletedEmailAuditRecords",
      "normalized_name": "find-deleted-email-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindDeletedEmailAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c0184ddcfefd418bab94bd35",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "185a6a554dc9e66e",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "ReportAuditRecFailedSignIn",
      "normalized_name": "report-audit-rec-failed-sign-in",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAuditRecFailedSignIn.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "266ee3cec7de1fd4fb21e8b9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e1dc81751c7cfff2",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "FindReportGuestsAddedTeams",
      "normalized_name": "find-report-guests-added-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindReportGuestsAddedTeams.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "142ed5fb03334e6e7c546c82",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ed6e35806d1286b3",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "ReportYammerCommunityActivity",
      "normalized_name": "report-yammer-community-activity",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportYammerCommunityActivity.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "7546319d9743ad300c182e03",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "69be2c9e638fbdfe",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "PopulateTeamSharedChannel",
      "normalized_name": "populate-team-shared-channel",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/PopulateTeamSharedChannel.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "6f5e82309622fdc9f1e13151",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3391f1b40f002b3d",
      "framework": "unknown",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "Report-TeamsChatInfo",
      "normalized_name": "report-teams-chat-info",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-TeamsChatInfo.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "733c7e60a93c6b65bda3f3ce",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "02dcd5da4d6dda43",
      "framework": "unknown",
      "imports": "",
      "lines": 189,
      "logic_relevance": "none",
      "name": "ReportFilesSPOSite",
      "normalized_name": "report-files-sposite",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportFilesSPOSite.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a8ce21d7f438a562477f61fe",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fc5b6c195ed062e1",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "ReportDeletedODSPDocuments",
      "normalized_name": "report-deleted-odspdocuments",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDeletedODSPDocuments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,ai",
      "component_id": "02af4bc2d50b3388d3fcd47c",
      "component_kind": "script",
      "confidence": 85,
      "dependency_roots": " + $SelectedSku\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host (",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports: + $SelectedSku\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host ( | automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e6abf10a95a317a",
      "framework": "unknown",
      "imports": " + $SelectedSku\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host (",
      "lines": 120,
      "logic_relevance": "none",
      "name": "RemoveServicePlan-MgGraph",
      "normalized_name": "remove-service-plan-mg-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RemoveServicePlan-MgGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,integration,observability,security",
      "component_id": "6576dbae48afb57609364eb1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "12f996090bf7baee",
      "framework": "unknown",
      "imports": "",
      "lines": 134,
      "logic_relevance": "none",
      "name": "ArchiveMicrosoft365Groups",
      "normalized_name": "archive-microsoft365-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ArchiveMicrosoft365Groups.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9dbcda71c802b90531d68b5b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f1cc6ce9aad9b4b6",
      "framework": "unknown",
      "imports": "",
      "lines": 242,
      "logic_relevance": "none",
      "name": "Report-ExoMailboxFolderStats",
      "normalized_name": "report-exo-mailbox-folder-stats",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ExoMailboxFolderStats.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "285faf0a8222fc1b507ac9cb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "803a8978b761b447",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Assign-MultipleLicenses",
      "normalized_name": "assign-multiple-licenses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Assign-MultipleLicenses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "9bd7773f1fc69a91c2776bb4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8c90be5ddb0af22e",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "ReportAdminAzureADAccountsNoMFA",
      "normalized_name": "report-admin-azure-adaccounts-no-mfa",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAdminAzureADAccountsNoMFA.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "7bede522570163f99b7d9ee3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "292d7c6588192dc2",
      "framework": "unknown",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "Report-RoomMailboxUsage",
      "normalized_name": "report-room-mailbox-usage",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-RoomMailboxUsage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability",
      "component_id": "5e5c968d03385f6ca3438054",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d2b6373c736ad12",
      "framework": "unknown",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "Convert-AccountToInternal",
      "normalized_name": "convert-account-to-internal",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Convert-AccountToInternal.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "bcd2ee670dddf10a14b81d14",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1f2b479724b2ed81",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "Create-EntraIDDynamicAUs",
      "normalized_name": "create-entra-iddynamic-aus",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Create-EntraIDDynamicAUs.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d1d0ff00e1884aedbf8f35e0",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "daa8fedc96fde1da",
      "framework": "unknown",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "Report-DeletedEntraIDObjects",
      "normalized_name": "report-deleted-entra-idobjects",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-DeletedEntraIDObjects.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "4dbf43a858eb4c93fabeed32",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "43c3d8b08220e197",
      "framework": "unknown",
      "imports": "",
      "lines": 333,
      "logic_relevance": "none",
      "name": "Report-OneDriveFiles",
      "normalized_name": "report-one-drive-files",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-OneDriveFiles.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "b0ffc424726e6015b679447a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b3bbeb5331f9da1b",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "Update-AppLockInstance",
      "normalized_name": "update-app-lock-instance",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-AppLockInstance.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "41eb47e029d08281b2707be6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cb4cfe197caea020",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "UpdateOffice365PowerShellModules",
      "normalized_name": "update-office365-power-shell-modules",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateOffice365PowerShellModules.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "f6d8243ee2623ae53a1c45fc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c4f09dd0a6dc6160",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "FindTeamChannelsWithWiki",
      "normalized_name": "find-team-channels-with-wiki",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindTeamChannelsWithWiki.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "ca38d998a7d35a017484845d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8999c774166c28d2",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "Update-Managers",
      "normalized_name": "update-managers",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-Managers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "749d208cfa440a64a1a9056c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a6c4447deaea188d",
      "framework": "unknown",
      "imports": "",
      "lines": 235,
      "logic_relevance": "none",
      "name": "ConvertDLtoO365Group",
      "normalized_name": "convert-dlto-o365-group",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ConvertDLtoO365Group.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "213712a584a49fa9a99f893f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66bfacbe79fe96dc",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ReportUserMembershipOfTeams",
      "normalized_name": "report-user-membership-of-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportUserMembershipOfTeams.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,ai",
      "component_id": "6d41a70b6902abdf287cc5a7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f38b47e57953e455",
      "framework": "unknown",
      "imports": "",
      "lines": 222,
      "logic_relevance": "none",
      "name": "Update-DomainBlocks",
      "normalized_name": "update-domain-blocks",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-DomainBlocks.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ea4f189ff9f78d7d262ff79e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "da1674dc8ae832fd",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ReportAutoExpandingArchives",
      "normalized_name": "report-auto-expanding-archives",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAutoExpandingArchives.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "3becf0d68722ddfdd4e8a053",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3ebd0f4a1eeb9ba",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "SendMsgToGroupOwners",
      "normalized_name": "send-msg-to-group-owners",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendMsgToGroupOwners.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "6466979b099a0cd09b210bc7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5b8cd2eb6bf5c448",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "Find-CopilotAuditRecords",
      "normalized_name": "find-copilot-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-CopilotAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f766c70261f5137b87d1ce81",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f5fcad31a219ba2",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "Check-SharedMailboxes",
      "normalized_name": "check-shared-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Check-SharedMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "6b9a28940da0691c4637cb8e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "44c45faed9d73653",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "ReporteDiscoveryCases",
      "normalized_name": "reporte-discovery-cases",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReporteDiscoveryCases.Ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,ai",
      "component_id": "c7b3afa9ef9466341a212611",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6b42464efb2a8e3c",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "SearchAndRemoveItemsMailboxes",
      "normalized_name": "search-and-remove-items-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SearchAndRemoveItemsMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "c530389d739a56bc6db38904",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "73a4dea29d10b2c6",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "ReportMFAStatusUsers",
      "normalized_name": "report-mfastatus-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMFAStatusUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "23910975e289c7df9965b579",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcdef38464812933",
      "framework": "unknown",
      "imports": "",
      "lines": 282,
      "logic_relevance": "none",
      "name": "Report-WeeklyCalendarForRoomMailboxes",
      "normalized_name": "report-weekly-calendar-for-room-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-WeeklyCalendarForRoomMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e5d47945f252f704a543641b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2796f768ce5a35bd",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Find-UnusedServicePrincipals",
      "normalized_name": "find-unused-service-principals",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-UnusedServicePrincipals.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security,ai",
      "component_id": "5a1e2af6dca5e3610d70cb03",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "158744e3910a9e52",
      "framework": "unknown",
      "imports": "",
      "lines": 673,
      "logic_relevance": "none",
      "name": "TeamsGroupsActivityReportV5",
      "normalized_name": "teams-groups-activity-report-v5",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/TeamsGroupsActivityReportV5.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "3eac7ca3f3227b719cedebba",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9dcead327d4232fc",
      "framework": "unknown",
      "imports": "",
      "lines": 283,
      "logic_relevance": "none",
      "name": "Report-SPOFilesDocumentLibrary",
      "normalized_name": "report-spofiles-document-library",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-SPOFilesDocumentLibrary.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "2f30aa7dc2e3fe8757f4734c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f892c896af9d747",
      "framework": "unknown",
      "imports": "",
      "lines": 263,
      "logic_relevance": "none",
      "name": "Report-ExpiringAppSecrets",
      "normalized_name": "report-expiring-app-secrets",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ExpiringAppSecrets.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "3e4df9630aaca73ef37cf1a9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d9f5b773baeb390",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "FindObsoleteGuestsByActivityV3",
      "normalized_name": "find-obsolete-guests-by-activity-v3",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindObsoleteGuestsByActivityV3.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "71a0685625437829cfa3eff3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc9ea9795a63cce4",
      "framework": "unknown",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "Send-TeamsChatWithLotsofMentions",
      "normalized_name": "send-teams-chat-with-lotsof-mentions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-TeamsChatWithLotsofMentions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,integration",
      "component_id": "dbeeadd689dfd6dab7373064",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dc1de01467bb06f5",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "HideGroupsUsedByTeams",
      "normalized_name": "hide-groups-used-by-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/HideGroupsUsedByTeams.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "53a1db3319950553da95db79",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d2b33f56e839c49",
      "framework": "unknown",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "FindTabsAndAppsInTeams",
      "normalized_name": "find-tabs-and-apps-in-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindTabsAndAppsInTeams.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "f840cc7ee067cb82f2f8771f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c8cd16d8a669ed90",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "Report-DelegatedPermssions",
      "normalized_name": "report-delegated-permssions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-DelegatedPermssions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "1a4559787412b61e3386e989",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "13bb6c3f8a33e83a",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "Report-LastSuccessfulSignIn",
      "normalized_name": "report-last-successful-sign-in",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-LastSuccessfulSignIn.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "9452f9738501bfcf0da892e9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "00ba5a88dd782684",
      "framework": "unknown",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "ReportUsersAndManagers",
      "normalized_name": "report-users-and-managers",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportUsersAndManagers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "4b750829e1f5b7e9aea1da9b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6e73f797e3399270",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "Report-ActivityAlertAuditEvents",
      "normalized_name": "report-activity-alert-audit-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ActivityAlertAuditEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a621f69869c599ebdec9079b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a98a1bf4d802002c",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "FindObsoleteGuestsByActivityV2",
      "normalized_name": "find-obsolete-guests-by-activity-v2",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindObsoleteGuestsByActivityV2.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5a62abedc2340e80ab36c525",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dc6ff1a5f7f709d3",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "CheckRetentionPolicyUpdates",
      "normalized_name": "check-retention-policy-updates",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/CheckRetentionPolicyUpdates.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,discovery,ai",
      "component_id": "1b5de75697b8b8b86edff92c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19a56fd6d7ce66a2",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "AssignColorsSensitivityLabels",
      "normalized_name": "assign-colors-sensitivity-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AssignColorsSensitivityLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8ff0a883761959e5a4054590",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "58cdcb0248862575",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "ReportRestoreRecoverableItemsAudit",
      "normalized_name": "report-restore-recoverable-items-audit",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportRestoreRecoverableItemsAudit.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "eaeb2c5f6eba0846372cb436",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1659c5ef8312b8bc",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "FindWhoCreatedGuestsThroughSPOSharing",
      "normalized_name": "find-who-created-guests-through-sposharing",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindWhoCreatedGuestsThroughSPOSharing.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "365dbfe1bf566217e5933183",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cde6e5ed5c326c0b",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "Populate-TeamsDirectorySPOList-Graph",
      "normalized_name": "populate-teams-directory-spolist-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Populate-TeamsDirectorySPOList-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d01102eb5548e8e697521ae6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d1e5e1b8c4b4795b",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "Find-DevicesFromSignInLog",
      "normalized_name": "find-devices-from-sign-in-log",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-DevicesFromSignInLog.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "9849eecd1e716f140a8ca2de",
      "component_kind": "script",
      "confidence": 85,
      "dependency_roots": " + $FullLicenseName\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host (",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports: + $FullLicenseName\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host ( | automation-score:175 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d9baf4650c72da0",
      "framework": "unknown",
      "imports": " + $FullLicenseName\n            Set-Mailbox -Identity $M.Alias -ExtensionCustomAttribute2 $LicenseUpdateMsg\n            Write-Host (",
      "lines": 135,
      "logic_relevance": "none",
      "name": "RemoveServicePlan",
      "normalized_name": "remove-service-plan",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RemoveServicePlan.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "aa87e67bbd0f01fddd2fe483",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5fac26781753fe04",
      "framework": "unknown",
      "imports": "",
      "lines": 227,
      "logic_relevance": "none",
      "name": "ReportSensitivityLabelSettings",
      "normalized_name": "report-sensitivity-label-settings",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSensitivityLabelSettings.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4cfd0ca915b54c1288e7cfe4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "632a620231567ab5",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "FindCrucialSendAndSearchRecords",
      "normalized_name": "find-crucial-send-and-search-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindCrucialSendAndSearchRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "52ae53779a10cbdca52c58aa",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "69120d8143a5eefc",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "Report-MailboxSizes",
      "normalized_name": "report-mailbox-sizes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-MailboxSizes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "1799257d8d1c44cbc283b9c2",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3994b3f5b6862c74",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "GetPlansForUser",
      "normalized_name": "get-plans-for-user",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetPlansForUser.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "b9eb6b9dcea4390233a89ede",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9d75060f4b22344b",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "ReportWhiteBoardInfo",
      "normalized_name": "report-white-board-info",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportWhiteBoardInfo.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,observability",
      "component_id": "c277693f52d1290f4cc4dff2",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "96808fa84582436f",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "RemoveVivaEngageCoreServicePlan",
      "normalized_name": "remove-viva-engage-core-service-plan",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RemoveVivaEngageCoreServicePlan.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "928b185d68b5942f63a25838",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4def13e0ab8a422d",
      "framework": "unknown",
      "imports": "",
      "lines": 375,
      "logic_relevance": "none",
      "name": "Report-UserPasswordChanges",
      "normalized_name": "report-user-password-changes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-UserPasswordChanges.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "a1be4286d33405cd8e1e53be",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "053da645ecd112bd",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "FindInactiveDLs",
      "normalized_name": "find-inactive-dls",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindInactiveDLs.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "8cead63dd9c3601a10a62b44",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "57c7d1c1deb9c61c",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "AssignLocalLanguageStringsSensitivityLabels",
      "normalized_name": "assign-local-language-strings-sensitivity-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AssignLocalLanguageStringsSensitivityLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "d9df17247e076a81e91f4b60",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcadc37fa61eb345",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "Restore-EntraIDUserNewUPN",
      "normalized_name": "restore-entra-iduser-new-upn",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Restore-EntraIDUserNewUPN.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "79b6c1896ec05532b55fdd18",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8011ffd214465c9b",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "Find-AddMemberEvents",
      "normalized_name": "find-add-member-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-AddMemberEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4f867441ec546962e4e5858b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a2f2ff3e30dd1a88",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ReportAuditRecsGroupCreation",
      "normalized_name": "report-audit-recs-group-creation",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportAuditRecsGroupCreation.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "497264fa4a2c3e7c167e9cf6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a274c0994a331869",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "Find-ConnectionsM365AdminCenter",
      "normalized_name": "find-connections-m365-admin-center",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-ConnectionsM365AdminCenter.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "2281c8104d5661dfeab132c2",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6d17051e3dc796a4",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "Add-ContactsToMailboxes",
      "normalized_name": "add-contacts-to-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Add-ContactsToMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d2bac0f43bb2a4e206c81846",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0b17b01e8c8c2ad2",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "FindWhenAnonymousLinkUsed",
      "normalized_name": "find-when-anonymous-link-used",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindWhenAnonymousLinkUsed.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "9eb75880e1db68081a7dad15",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3ab62263e593b2e",
      "framework": "unknown",
      "imports": "",
      "lines": 199,
      "logic_relevance": "none",
      "name": "FetchServiceMessagesGraph",
      "normalized_name": "fetch-service-messages-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FetchServiceMessagesGraph.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9e18958a2943161d36ea26f6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e02e27b74c8ba3d",
      "framework": "unknown",
      "imports": "",
      "lines": 288,
      "logic_relevance": "none",
      "name": "Find-UnderusedCopilotLicenses",
      "normalized_name": "find-underused-copilot-licenses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-UnderusedCopilotLicenses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "bd5f5da4151133b6dcc07ef4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2cf4cd07de87e12b",
      "framework": "unknown",
      "imports": "",
      "lines": 167,
      "logic_relevance": "none",
      "name": "Process-ExpiryGuestAccounts",
      "normalized_name": "process-expiry-guest-accounts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Process-ExpiryGuestAccounts.PS1",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3ee9035f5b30c213ca31c952",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bd5af8d499dac5c9",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "GetUserSignInDataGraphSDK",
      "normalized_name": "get-user-sign-in-data-graph-sdk",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetUserSignInDataGraphSDK.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security,ai",
      "component_id": "80d23e15f7f8c2b075a7dcb8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d763c645915564a6",
      "framework": "unknown",
      "imports": "",
      "lines": 268,
      "logic_relevance": "none",
      "name": "TeamsGroupsActivityReport",
      "normalized_name": "teams-groups-activity-report",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/TeamsGroupsActivityReport.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "89e1cb76bdd05c53845b6819",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8cd847bebe46b372",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "CheckAuditEventsRunbook",
      "normalized_name": "check-audit-events-runbook",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/CheckAuditEventsRunbook.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "1653838acade3336f4442f33",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d6a0193b48d878a",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "UpdateOutlookSignature",
      "normalized_name": "update-outlook-signature",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateOutlookSignature.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "eadc7e2698e1dc103c4fac08",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5e70e64430f49274",
      "framework": "unknown",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "PostNewMicrosoft365RoadmapItems",
      "normalized_name": "post-new-microsoft365-roadmap-items",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/PostNewMicrosoft365RoadmapItems.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "3c32119e73a3e8b85b492b47",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9bda2a58e6034178",
      "framework": "unknown",
      "imports": "",
      "lines": 344,
      "logic_relevance": "none",
      "name": "Report-SharingOneDriveFiles",
      "normalized_name": "report-sharing-one-drive-files",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-SharingOneDriveFiles.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "74c445a892ac347813d26ad7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3a93d22c5c2584f",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "Update-MicrosoftIRMCAPolicies",
      "normalized_name": "update-microsoft-irmcapolicies",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-MicrosoftIRMCAPolicies.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "2b2dea309c5acfaba7a3c95e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4fcdcf0915759ca9",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "GetServicePrincipalSignIns-Graph",
      "normalized_name": "get-service-principal-sign-ins-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetServicePrincipalSignIns-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "2b05ba3d8b8c0de274719837",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "df916a0a50791c3a",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "ConvertMailContactsGuests",
      "normalized_name": "convert-mail-contacts-guests",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ConvertMailContactsGuests.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "58b30f97c12e4a548b956442",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "22a08fd6326cb9be",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "Report-TeamsTags",
      "normalized_name": "report-teams-tags",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-TeamsTags.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "3c133b38834fa307c085ad71",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "007ed99d0f2e0def",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "ReportExternalEmailSent",
      "normalized_name": "report-external-email-sent",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportExternalEmailSent.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "b77475770186fc0d7be45679",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "18643adefaa665bd",
      "framework": "unknown",
      "imports": "",
      "lines": 488,
      "logic_relevance": "none",
      "name": "GetGraphUserStatisticsReport",
      "normalized_name": "get-graph-user-statistics-report",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetGraphUserStatisticsReport.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "21fd3e679ecab7b8f1f6db44",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d3db3ace3d880dd",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "ReportArchivedTeams",
      "normalized_name": "report-archived-teams",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportArchivedTeams.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "ab44496d886a9c2e48f000ee",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "43b979b45776de06",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "Report-ServicePrincipalsWithHighPermissions",
      "normalized_name": "report-service-principals-with-high-permissions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ServicePrincipalsWithHighPermissions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability",
      "component_id": "cd860a3c9f56c1d533030bad",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d661ddfe12a65389",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "Set-IntelligentVersioningOneDriveSites",
      "normalized_name": "set-intelligent-versioning-one-drive-sites",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Set-IntelligentVersioningOneDriveSites.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "0c908fd6268de5e9f0a82c0b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3ce0375da24a6da0",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "ReportSharedMailboxLicenses",
      "normalized_name": "report-shared-mailbox-licenses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSharedMailboxLicenses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "116200ba7ef8f1f60c7badb7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c3bf0c870e9de795",
      "framework": "unknown",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "UpdateStaticRetentionPolicy-AzureAutomation",
      "normalized_name": "update-static-retention-policy-azure-automation",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateStaticRetentionPolicy-AzureAutomation.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security,ai",
      "component_id": "be14687fcc72c25e5f18acb2",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcf8553b81b97855",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "Send-WelcomeNewUserMessagesHVE",
      "normalized_name": "send-welcome-new-user-messages-hve",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-WelcomeNewUserMessagesHVE.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "6ef2ee7a44f5c32dc54e7a07",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f8f7ef736407c8f",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "SendWelcomeEmail",
      "normalized_name": "send-welcome-email",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SendWelcomeEmail.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c1cd4b8c20fd08f7a4f492f7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19ec8e1b15d3b443",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "GetLastActiveTimeMailboxes",
      "normalized_name": "get-last-active-time-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetLastActiveTimeMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "b69c0b8cc69ad89594027f29",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7f289263d7ab4298",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "ReportSPORetentionPolicies",
      "normalized_name": "report-sporetention-policies",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSPORetentionPolicies.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation,observability",
      "component_id": "883ad4bb87891affebb2d52b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91f8b479ed44edc6",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "ReportDLMembershipsCounts",
      "normalized_name": "report-dlmemberships-counts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportDLMembershipsCounts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability",
      "component_id": "c23b48202aa326e3f866b073",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bed38387e5e80e24",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Report-ComplianceCaseHolds",
      "normalized_name": "report-compliance-case-holds",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ComplianceCaseHolds.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5f1eeff4b7bed6ea4c3fba94",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9d97e83532a63d6",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "FindOrphanOneDriveSites",
      "normalized_name": "find-orphan-one-drive-sites",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindOrphanOneDriveSites.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "6cc443bf0b2c17219defa0ee",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "372a116da4b0fdd3",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "ReportUserInboxCount",
      "normalized_name": "report-user-inbox-count",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportUserInboxCount.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e5f17d5acf7f6593e47ac803",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2cc7e7519f61b7e8",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "FindBadGuestsFromBlockedDomains",
      "normalized_name": "find-bad-guests-from-blocked-domains",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindBadGuestsFromBlockedDomains.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "986bce55f639c037d399e593",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af3ea47cd7044d78",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Get-GraphPermission",
      "normalized_name": "get-graph-permission",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-GraphPermission.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "99ff1dd00d677ef22361a5b3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9232f9d6c00bb6c3",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "Report-ManagedIdentityPermissions",
      "normalized_name": "report-managed-identity-permissions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ManagedIdentityPermissions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "f6e7069783e9415add21499c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "641c205717402c8b",
      "framework": "unknown",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "Report-CopilotInteractions",
      "normalized_name": "report-copilot-interactions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-CopilotInteractions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "46d6ef5180bc270f5da35dd7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "48bc81303fed917f",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "UpdateOWASignatures",
      "normalized_name": "update-owasignatures",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/UpdateOWASignatures.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,integration,observability",
      "component_id": "3319f0078b463b2e8dd4d7de",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d67efde43d2c979",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "SetAutoReplyTeamsGroups",
      "normalized_name": "set-auto-reply-teams-groups",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/SetAutoReplyTeamsGroups.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "b0c5537e7c212c3170f780fc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1d4ff145512decef",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "Update-GroupPhotos",
      "normalized_name": "update-group-photos",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Update-GroupPhotos.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7abd3324af7d3d46bf0dacab",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2c04313debdea724",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "Remove-Microsoft365UserAccount",
      "normalized_name": "remove-microsoft365-user-account",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Remove-Microsoft365UserAccount.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "5ed9b47a407d19633d21c250",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5b2b76e38dcf9cd7",
      "framework": "unknown",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "Switch-Licenses",
      "normalized_name": "switch-licenses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Switch-Licenses.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,integration",
      "component_id": "d3892d9b5105018dff8f2157",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2ff85f1e03886522",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "AddTeamstoGroupsExpirationPolicy",
      "normalized_name": "add-teamsto-groups-expiration-policy",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AddTeamstoGroupsExpirationPolicy.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "b18cd0494d7c569e691237c7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a9c627368e344b72",
      "framework": "unknown",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "GetAzureADAccessReviewDetailsGraph",
      "normalized_name": "get-azure-adaccess-review-details-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetAzureADAccessReviewDetailsGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "32cd3c0ed6141db8cf057fc6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0a2dc8882f41135c",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "Search-AuditLogGraph",
      "normalized_name": "search-audit-log-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Search-AuditLogGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9566bc4c87b7fc142afc6408",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "afb738eb808372d1",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "AuditSPOOperationsByUser",
      "normalized_name": "audit-spooperations-by-user",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AuditSPOOperationsByUser.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8c8ec54e007bee209480e866",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "72ed47cd7808c14a",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "FindAzureADDirectConnectSignIns",
      "normalized_name": "find-azure-addirect-connect-sign-ins",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindAzureADDirectConnectSignIns.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a1ccc340ecabbfaff4680dc5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a903337ee83fbac",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "Report-StreamAuditEvents",
      "normalized_name": "report-stream-audit-events",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-StreamAuditEvents.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability",
      "component_id": "9f44ac259fbdf9632d65483f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab5fd3dccad3711b",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "Find-TargetedCollectionFolders",
      "normalized_name": "find-targeted-collection-folders",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-TargetedCollectionFolders.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "cb0adeaf33cba76a0c012f29",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cbe448e634536355",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "Analyze-MailTrafficUsers",
      "normalized_name": "analyze-mail-traffic-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Analyze-MailTrafficUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security",
      "component_id": "4e6cab6c414805024c6f1b34",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e72c69e0e324cbc6",
      "framework": "unknown",
      "imports": "",
      "lines": 307,
      "logic_relevance": "none",
      "name": "Purge-ComplianceSearchItems",
      "normalized_name": "purge-compliance-search-items",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Purge-ComplianceSearchItems.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "01cfc76e9b836dd03434b449",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f16a0efdc16a23cb",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "ReportTeamsChannelEmailAddresses",
      "normalized_name": "report-teams-channel-email-addresses",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsChannelEmailAddresses.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "708b003a471ae6c49d5411eb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d704bc80c6b69245",
      "framework": "unknown",
      "imports": "",
      "lines": 421,
      "logic_relevance": "none",
      "name": "Report-Plans",
      "normalized_name": "report-plans",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-Plans.PS1",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "bf323fbddbdac1ff00f3fa45",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b154719b1fc9ffb6",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "FindMailItemsAccessedAuditRecords",
      "normalized_name": "find-mail-items-accessed-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindMailItemsAccessedAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "e821ad49aceaa23d1b85f3fe",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "06fdd9e3b8f70a74",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "CreateCSVFilesForSKUsAndServicePlans",
      "normalized_name": "create-csvfiles-for-skus-and-service-plans",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/CreateCSVFilesForSKUsAndServicePlans.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security,ai",
      "component_id": "9188531bfaf8ce7790166283",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bb62a3cdada7be3c",
      "framework": "unknown",
      "imports": "",
      "lines": 595,
      "logic_relevance": "none",
      "name": "Report-GroupsTeamsActivity",
      "normalized_name": "report-groups-teams-activity",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-GroupsTeamsActivity.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "30b5d8a0df71354c9f5578b6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b2b26513f871f646",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "Report-DelegatedPermissions",
      "normalized_name": "report-delegated-permissions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-DelegatedPermissions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,ai",
      "component_id": "79bcb823ee01641731d064cd",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ff1f264f88d70815",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "MailTrafficStatistics",
      "normalized_name": "mail-traffic-statistics",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/MailTrafficStatistics.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "beb9b70b3b9d58e265f2f4ad",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7465eaffa21bbec3",
      "framework": "unknown",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "Report-GroupBasedLicenseCounts",
      "normalized_name": "report-group-based-license-counts",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-GroupBasedLicenseCounts.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "6f16a734d40c9ed90fc5f2ce",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3275b7477ed490bf",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "GetBingImagesTeamsBackgrounds",
      "normalized_name": "get-bing-images-teams-backgrounds",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetBingImagesTeamsBackgrounds.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security,ai",
      "component_id": "d7d3ea4baee2c1520672ef31",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dc5a16632bfa8644",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "Check-SharedMailboxQuotas",
      "normalized_name": "check-shared-mailbox-quotas",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Check-SharedMailboxQuotas.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "0c05bdce86dadd5c1ad520d0",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3b08771499323dd2",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "DecryptProtectedSPODocuments-Graph",
      "normalized_name": "decrypt-protected-spodocuments-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/DecryptProtectedSPODocuments-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d8a34a97cc51e83d2041b9ca",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6f6fa014b85f20d",
      "framework": "unknown",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "AnalyzeSensitivityLabelUsage",
      "normalized_name": "analyze-sensitivity-label-usage",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AnalyzeSensitivityLabelUsage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "f42be7dba67e0a0c20f1f4cf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d34ff9950f750fdd",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "Find-InactiveEmailUsers",
      "normalized_name": "find-inactive-email-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-InactiveEmailUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ba02ae8c28fd33ef4d159194",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eda94bcac9a02866",
      "framework": "unknown",
      "imports": "",
      "lines": 757,
      "logic_relevance": "none",
      "name": "ReportUserAssignedLicenses-MgGraph",
      "normalized_name": "report-user-assigned-licenses-mg-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportUserAssignedLicenses-MgGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "194a2ea3765484b0bda3534c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "087819bdce530572",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "ReportSPOSiteStorageUsedGraph",
      "normalized_name": "report-sposite-storage-used-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportSPOSiteStorageUsedGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,observability,security,ai",
      "component_id": "c2c85fad8002a2de73a9f1f3",
      "component_kind": "script",
      "confidence": 85,
      "dependency_roots": " + $Alert.UserStates.UserPrincipalName[1] + ",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports: + $Alert.UserStates.UserPrincipalName[1] +  | automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5128bb1db03638f0",
      "framework": "unknown",
      "imports": " + $Alert.UserStates.UserPrincipalName[1] + ",
      "lines": 83,
      "logic_relevance": "none",
      "name": "Get-ServiceAlertsGraph",
      "normalized_name": "get-service-alerts-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-ServiceAlertsGraph.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "e924c86f2f179f22be8b099c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9483dc5f20e29acf",
      "framework": "unknown",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "Report-RoleAssignments",
      "normalized_name": "report-role-assignments",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-RoleAssignments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "183277cd440bc17cb64dc9fb",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "51a89bc7e6059803",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "Upload-ManyAttachmentstoMessage",
      "normalized_name": "upload-many-attachmentsto-message",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Upload-ManyAttachmentstoMessage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "effe03beec76b6d6c7a1ca9b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a664b01ba18a94aa",
      "framework": "unknown",
      "imports": "",
      "lines": 255,
      "logic_relevance": "none",
      "name": "ReportM365GroupMemberships-Graph",
      "normalized_name": "report-m365-group-memberships-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportM365GroupMemberships-Graph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "a12248bdaeaa062959ae20e7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "85febc8d9eed6e9b",
      "framework": "unknown",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "Disable-PowerShellAdmins",
      "normalized_name": "disable-power-shell-admins",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Disable-PowerShellAdmins.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "60e77dbb29be42a83cdb0063",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6ccff1ecd510599f",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "Get-MgAuditRecords",
      "normalized_name": "get-mg-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-MgAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b470dc5cce9d2986d5fe8c4a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "79874df4e5f24a68",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "Upload-LargeAttachmentChunks",
      "normalized_name": "upload-large-attachment-chunks",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Upload-LargeAttachmentChunks.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "546393faaba9978c15a452d9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b5152fe091d9339",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "GetTenantFeatureUpdatesGraph",
      "normalized_name": "get-tenant-feature-updates-graph",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/GetTenantFeatureUpdatesGraph.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,ai",
      "component_id": "f5d8a25dc13749e45d546607",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "252e296693c36798",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "ReportTeamsActivityData",
      "normalized_name": "report-teams-activity-data",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsActivityData.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "0d0bceab865ce03f217b1f21",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b9db17c1fc6b9441",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "Populate-TeamsExternalAccess",
      "normalized_name": "populate-teams-external-access",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Populate-TeamsExternalAccess.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability,ai",
      "component_id": "772ad5b85f8764f55b949ceb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b9acadaf5c657bac",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "FindAccountsWithForwarding",
      "normalized_name": "find-accounts-with-forwarding",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/FindAccountsWithForwarding.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "bb03c871efd1440bfcd8447f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb58310983e7918a",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "DecryptProtectedSPODocuments",
      "normalized_name": "decrypt-protected-spodocuments",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/DecryptProtectedSPODocuments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "736828321d820d4137c4cf07",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3d21308d0198778d",
      "framework": "unknown",
      "imports": "",
      "lines": 151,
      "logic_relevance": "none",
      "name": "ReportMailboxRightsAssignments",
      "normalized_name": "report-mailbox-rights-assignments",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMailboxRightsAssignments.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "1927e6d6063716a95dc8b8cc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "461275023a5dd537",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "Find-InActiveDLs90",
      "normalized_name": "find-in-active-dls90",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-InActiveDLs90.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d71fa646a9dbb32dddebd4ed",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "41641436777d67c1",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "AuditRecordsTeamsMeetings",
      "normalized_name": "audit-records-teams-meetings",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AuditRecordsTeamsMeetings.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "330c40d5c825fbc424450dff",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ce4802742833af4d",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "ReportTeamsCreationbyEmail",
      "normalized_name": "report-teams-creationby-email",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportTeamsCreationbyEmail.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ddf5fecf2e93c630a9f6c0b5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd3b15f5115e6367",
      "framework": "unknown",
      "imports": "",
      "lines": 200,
      "logic_relevance": "none",
      "name": "Analyze-TeamsMeetings",
      "normalized_name": "analyze-teams-meetings",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Analyze-TeamsMeetings.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability,security",
      "component_id": "f267ecf5ce08353f26a201df",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d0af0cf71f2bdd01",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "EnableMicrosoft365GroupCreationControl",
      "normalized_name": "enable-microsoft365-group-creation-control",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/EnableMicrosoft365GroupCreationControl.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "d91c9de8a149a0efa5b983ac",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5ec62e65cbf1d339",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "Get-CopilotAuditRecords",
      "normalized_name": "get-copilot-audit-records",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-CopilotAuditRecords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "854ec38f2ab8c4f01e73d951",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "219b3899cd4d695d",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Report-TeamsOwners",
      "normalized_name": "report-teams-owners",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-TeamsOwners.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "98400cbda7370383dc30d7a7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19d1a6cdd9ac3524",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "TeamsCreationReportByEmail",
      "normalized_name": "teams-creation-report-by-email",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/TeamsCreationReportByEmail.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,observability",
      "component_id": "09583c1044aea8ec3192ad48",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7220a627d2bb4398",
      "framework": "unknown",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "ReportM365GroupMemberships",
      "normalized_name": "report-m365-group-memberships",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportM365GroupMemberships.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,ai",
      "component_id": "2fc03a11c342d90493d41520",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d2af98e27a8b6bc4",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "Remove-PostsTeamChannel",
      "normalized_name": "remove-posts-team-channel",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Remove-PostsTeamChannel.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5870967839c6ee171225c835",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5ac372c05fcfd77d",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "Get-AuditRecordsTaggedSPOFiles",
      "normalized_name": "get-audit-records-tagged-spofiles",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Get-AuditRecordsTaggedSPOFiles.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,integration,security",
      "component_id": "06516d2bf047d084fcea75dd",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c6e153bb75919074",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "Find-GroupsNoOwnersOrMembers",
      "normalized_name": "find-groups-no-owners-or-members",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Find-GroupsNoOwnersOrMembers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "dde80d9a8e6c1b405854f655",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5657a8b6e9b53daa",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "ReportLicenseAssignmentsToUsers",
      "normalized_name": "report-license-assignments-to-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportLicenseAssignmentsToUsers.Ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "39c09a0a1a756f864f69c181",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7099f7b6fd7d11da",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "ReportMailboxPermissionsMailboxes",
      "normalized_name": "report-mailbox-permissions-mailboxes",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportMailboxPermissionsMailboxes.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "f607ad8886555a59b43b016c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c61f40a087817e90",
      "framework": "unknown",
      "imports": "",
      "lines": 340,
      "logic_relevance": "none",
      "name": "ReportRoomMailboxUsage",
      "normalized_name": "report-room-mailbox-usage",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/ReportRoomMailboxUsage.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "b7813b2426f30894a93ae72f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "889a37042667f4fe",
      "framework": "unknown",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "Report-ExpiringPasswords",
      "normalized_name": "report-expiring-passwords",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ExpiringPasswords.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "ceda73da0c93423da655b606",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fba15c474fbd6d7d",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "Report-MailboxesEnabledForEWS",
      "normalized_name": "report-mailboxes-enabled-for-ews",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-MailboxesEnabledForEWS.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,ai",
      "component_id": "39e3ece82fad5a8e8f34f654",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2409a14581c47ab5",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "RenameMicrosoft365GroupsNamingPolicy",
      "normalized_name": "rename-microsoft365-groups-naming-policy",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/RenameMicrosoft365GroupsNamingPolicy.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5cd665841069e79052d46c29",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e8adb930ea72d2e2",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "Send-WelcomeMessageNewUsers",
      "normalized_name": "send-welcome-message-new-users",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Send-WelcomeMessageNewUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "a75bd44ebf32ea1425e69734",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e34f0e6e96cc2043",
      "framework": "unknown",
      "imports": "",
      "lines": 134,
      "logic_relevance": "none",
      "name": "Report-ContainerManagementLabels",
      "normalized_name": "report-container-management-labels",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-ContainerManagementLabels.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d5729863fbbffaf4aca9e32c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6d6ea075c151ef66",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "AuditRecordsTeamsRecordingsUploads",
      "normalized_name": "audit-records-teams-recordings-uploads",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/AuditRecordsTeamsRecordingsUploads.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1833fd79ba25b2938e2738df",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "11815bb4ee23d829",
      "framework": "unknown",
      "imports": "",
      "lines": 228,
      "logic_relevance": "none",
      "name": "Report-SPOFileVersions",
      "normalized_name": "report-spofile-versions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Report-SPOFileVersions.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "5b232f0924cf7f3b292ea35d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b8003da0833897a",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "teamsapp",
      "normalized_name": "teamsapp",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/teamsapp.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f8988cbdc0150764c254b0df",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8d4711d74453cf85",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "be0264ec81b62dd795677abe",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0c0ac5db192cf851",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "instruction",
      "normalized_name": "instruction",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/appPackage/instruction.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,discovery",
      "component_id": "737d022796d453b2fda10981",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "18613737ae30fb8e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/appPackage/manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3c7ce964eb48c81f4fec471f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "98a68fabe4911a66",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "declarativeAgent",
      "normalized_name": "declarative-agent",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/appPackage/declarativeAgent.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "2e7ff2b14757bbefcd5f413d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4cd102552778f559",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/.vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "d24d8fd4bd83890263eee2eb",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0c490512ee6f5d2c",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "extensions",
      "normalized_name": "extensions",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/.vscode/extensions.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "7dfe487d155ff985158037fc",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f4ee89ae29009e95",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "launch",
      "normalized_name": "launch",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/Office 365 for IT Pros/.vscode/launch.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "68bc7f3f6d032ef69bf85dab",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8baca954437e1451",
      "framework": "unknown",
      "imports": "",
      "lines": 425,
      "logic_relevance": "none",
      "name": "Report-ConditionalAccessPolicies",
      "normalized_name": "report-conditional-access-policies",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/frontier/Report-ConditionalAccessPolicies.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d49d1b5fb57fd2399d8bd438",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b22bb15196996c41",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "Report-EntraRegisteredDevices",
      "normalized_name": "report-entra-registered-devices",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/frontier/Report-EntraRegisteredDevices.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "860d082390a0137fae29ef98",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "51afee0184a529be",
      "framework": "unknown",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "ReportAuthenticationMethods",
      "normalized_name": "report-authentication-methods",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/frontier/ReportAuthenticationMethods.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "20afe80e5a0d55c8c1215ccc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8c90be5ddb0af22e",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "ReportAdminAzureADAccountsNoMFA",
      "normalized_name": "report-admin-azure-adaccounts-no-mfa",
      "package_manager": "unknown",
      "path": "o365/o365-Scripts/frontier/ReportAdminAzureADAccountsNoMFA.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "6932aa70716fdc0c8bc78eb6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8baca954437e1451",
      "framework": "unknown",
      "imports": "",
      "lines": 425,
      "logic_relevance": "none",
      "name": "Report-ConditionalAccessPolicies",
      "normalized_name": "report-conditional-access-policies",
      "package_manager": "unknown",
      "path": "o365/frontier/Report-ConditionalAccessPolicies.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "3d31dc36c914bd450895c787",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f11b780d28dce11e",
      "framework": "unknown",
      "imports": "",
      "lines": 435,
      "logic_relevance": "none",
      "name": "cap-audit",
      "normalized_name": "cap-audit",
      "package_manager": "unknown",
      "path": "o365/frontier/cap-audit.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "df302a6ed0d2a9fe8e91a702",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ca5c3b86a46262b",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "MFAReportMailboxes",
      "normalized_name": "mfareport-mailboxes",
      "package_manager": "unknown",
      "path": "o365/frontier/mfa/MFAReportMailboxes.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "a2e5ae3d200b9a2fa49363c1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c417e09eec10734c",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "ReportMFAStatusAdmins",
      "normalized_name": "report-mfastatus-admins",
      "package_manager": "unknown",
      "path": "o365/frontier/mfa/ReportMFAStatusAdmins.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "5bda0a03dc94050fd1d6e2e3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a2047ab9b0188ce",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "Get-UsersWithPhoneMFAMethod",
      "normalized_name": "get-users-with-phone-mfamethod",
      "package_manager": "unknown",
      "path": "o365/frontier/mfa/Get-UsersWithPhoneMFAMethod.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "fd70c95d9cc676250f65f0f2",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c4d3d32cee9ed83",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Check-AuditRecordsMFA",
      "normalized_name": "check-audit-records-mfa",
      "package_manager": "unknown",
      "path": "o365/frontier/mfa/Check-AuditRecordsMFA.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "abc8046677aabc221276e44d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8c90be5ddb0af22e",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "ReportAdminAzureADAccountsNoMFA",
      "normalized_name": "report-admin-azure-adaccounts-no-mfa",
      "package_manager": "unknown",
      "path": "o365/frontier/mfa/ReportAdminAzureADAccountsNoMFA.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "5c1703f4bffd345bc0ab9a5b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "73a4dea29d10b2c6",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "ReportMFAStatusUsers",
      "normalized_name": "report-mfastatus-users",
      "package_manager": "unknown",
      "path": "o365/frontier/mfa/ReportMFAStatusUsers.PS1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation,security",
      "component_id": "24c7c6ebbd7d69691d6713b3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9bdb582b94912db3",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "8e1f019d9e06aaac04214863",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1450888ac7c63b52",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "86a91c06ea68580bc13e6ff8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4a88e15a13ae35bd",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "test-jmeter-ami-instance",
      "normalized_name": "test-jmeter-ami-instance",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/jobs/scripts/test-jmeter-ami-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "142ddf7a797f37d5c2d918c5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d48428a41d04225",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "poll-jmeter-ami-version-control",
      "normalized_name": "poll-jmeter-ami-version-control",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/jobs/scripts/poll-jmeter-ami-version-control.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "29b6217ed82ce47e8a2e38f4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e853bbfdb141b73a",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "launch-jmeter-ami-instance",
      "normalized_name": "launch-jmeter-ami-instance",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/jobs/scripts/launch-jmeter-ami-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "dc3de65b98db1a69284af76a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c8e07a4cf16f3bc6",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "terminate-jmeter-ami-instance",
      "normalized_name": "terminate-jmeter-ami-instance",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/jobs/scripts/terminate-jmeter-ami-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,security",
      "component_id": "96a506ed9b5f49594834ba6c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e10dcf2b94f426c8",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "promote-jmeter-ami",
      "normalized_name": "promote-jmeter-ami",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/jobs/scripts/promote-jmeter-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "f910ff23720bb04579993dc5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d71e9cb71f83c7b",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "build-jmeter-ami",
      "normalized_name": "build-jmeter-ami",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/jobs/scripts/build-jmeter-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "c48d4d6633e707aaa5745e2b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc740500d4f4fbd1",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "jmeter_ami",
      "normalized_name": "jmeter-ami",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/jmeter_ami/packer/jmeter_ami.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "97285cd894bd3c9be7a11235",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a89e7ee12ff9263a",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "check-app-config-store",
      "normalized_name": "check-app-config-store",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/app-config-store/check-app-config-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "cd4b2de2f784491a2d7bd94a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6bd2a881f17f6f04",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "load-app-config-store",
      "normalized_name": "load-app-config-store",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/app-config-store/load-app-config-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "461537d850dd936aa81e49f0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f626d23a4e019191",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "check-inventory-store",
      "normalized_name": "check-inventory-store",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/inventory-store/check-inventory-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "b71d9b88141d2cf4d15344e4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e94d93afd5aeea1",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "load-inventory-store",
      "normalized_name": "load-inventory-store",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/inventory-store/load-inventory-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "63b7eae765248d0a704c8cb9",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "96d34b0dca942b42",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "install-common-utils-gem",
      "normalized_name": "install-common-utils-gem",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/bin/install-common-utils-gem.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "18d4e90e3c8a3add870f05e7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d327eb23afc71d4b",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "pipeline-packer-securitygroup-config",
      "normalized_name": "pipeline-packer-securitygroup-config",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/config/pipeline-packer-securitygroup-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "b31df60dcb2b3807ab0d0fc8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2e21559fee3755c3",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "download-failed-log-trigger",
      "normalized_name": "download-failed-log-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/download-failed-log-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "3bc5e17131e7a818beead138",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "efb87b8858d94851",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "deploy-svs-vis-mock",
      "normalized_name": "deploy-svs-vis-mock",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/deploy-svs-vis-mock.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "5207ab17acf516b302f7da21",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "166200a3ff3a7d99",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "download-log",
      "normalized_name": "download-log",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/download-log.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "b21eac0e8269c5f84e0f9e51",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37186def08e2dc48",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "simian-army-trigger",
      "normalized_name": "simian-army-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/simian-army-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "e6dec18dcb9126e94b9ea0c2",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d17b5d7ea25aff1a",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "deploy-elb-trigger",
      "normalized_name": "deploy-elb-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/deploy-elb-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,process",
      "component_id": "f00edae692755a47517f8146",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c7129284b6a6b4a",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "acceptance-tested-trigger",
      "normalized_name": "acceptance-tested-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/acceptance-tested-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "2a2fc16b0ddda6e1d3b037bf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3b83db7a1d0e6dd9",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "deploy-svs",
      "normalized_name": "deploy-svs",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/deploy-svs.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "4139977583d42353439b8b08",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "933bfc872e979869",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "download-log-trigger",
      "normalized_name": "download-log-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/download-log-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "20ab6c248f912c804e5167e7",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d17b5d7ea25aff1a",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "deploy-asgs-trigger",
      "normalized_name": "deploy-asgs-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/deploy-asgs-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "a9870085d310ad3d5a1ce6b8",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a27c16620383c73d",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "deploy-svs-elb",
      "normalized_name": "deploy-svs-elb",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/deploy-svs-elb.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,process",
      "component_id": "12cde96b52fbfcc6ec7bbf24",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d66f463a1a838fa4",
      "framework": "next-react",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "self-service-trigger",
      "normalized_name": "self-service-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/self-service-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "c59c7d275979b7b3431c5e4c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "60998839bfc9a9cf",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "delete-old-stacks-trigger",
      "normalized_name": "delete-old-stacks-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/delete-old-stacks-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "4f7e3e3e708544b97a79e9d6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a0eb92ea664a50c9",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "reverse-proxy-trigger",
      "normalized_name": "reverse-proxy-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/reverse-proxy-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "0e75971588760e9882029635",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "baf5f36e73272e23",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "deploy-svs-vis-mock-elb",
      "normalized_name": "deploy-svs-vis-mock-elb",
      "package_manager": "unknown",
      "path": "svs-automation/Auto-Pipeline/.pipeline/deploy-app/deploy-svs-vis-mock-elb.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "0063634b750f6c2b06afc91c",
      "component_kind": "process-document",
      "confidence": 75,
      "dependency_roots": "http:",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:http://didit-yumrepo.uscis.dhs.gov/geminabox/ | process-score:145 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d842241cfd1d7dc1",
      "framework": "next-react",
      "imports": "http://didit-yumrepo.uscis.dhs.gov/geminabox/",
      "lines": 104,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "4a4088153fe878aede1c53c5",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "955f165144a4cd4f",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": ".rubocop",
      "normalized_name": "rubocop",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.rubocop.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "42bf2f12743fa34a3acc41f0",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "19a187bec6cdb96d",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "unmapped_user",
      "normalized_name": "unmapped-user",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/javascripts/unmapped_user.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "1065cb0c7210b1bb9ea0d478",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e0b23fc864b59f31",
      "framework": "next-react",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "cases",
      "normalized_name": "cases",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/javascripts/cases.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "9f797a7c166bf949c93471a0",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "19a187bec6cdb96d",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "sessions",
      "normalized_name": "sessions",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/javascripts/sessions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "748bbb29ea9e1d4f3f48e3e4",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dc4da83062d586a4",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/javascripts/application.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "a67205f4358afe706a813f11",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e711e28a9af8a408",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/javascripts/search.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "deb12f15c281114dac763947",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0fec8821ad24023e",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "flash",
      "normalized_name": "flash",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/javascripts/flash.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "style,automation",
      "component_id": "c031a1993d0c9870d5970991",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "27e9cbbb681563ad",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/stylesheets/application.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "ca7269ebdcccebfb03f25468",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8bdcf70e4833fdf6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "unmapped_user",
      "normalized_name": "unmapped-user",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/stylesheets/unmapped_user.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "aec18f297b4b0a0f3f8b2798",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ac64a6fe7bc6db8b",
      "framework": "next-react",
      "imports": "",
      "lines": 526,
      "logic_relevance": "none",
      "name": "myuscis",
      "normalized_name": "myuscis",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/stylesheets/myuscis.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "style,automation",
      "component_id": "b970bb6472446f54e74309cb",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "57676a9e5efcce6d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "sessions",
      "normalized_name": "sessions",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/stylesheets/sessions.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "f565636e4ffcfb960cf95d1c",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "687549897802204e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "everify_search",
      "normalized_name": "everify-search",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/app/assets/stylesheets/everify_search.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "0e3da7784cf5b51b9c71abdc",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "de57b5c5efda7e49",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "cis_update_codes",
      "normalized_name": "cis-update-codes",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/cis_update_codes.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "4104b8a9bdbdde248dad6b4b",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "c2d4f077005e3ad6",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "case_resolution_tnc_types",
      "normalized_name": "case-resolution-tnc-types",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/case_resolution_tnc_types.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "e98a30a9b1c691fab9f44022",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "de57b5c5efda7e49",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "case_types",
      "normalized_name": "case-types",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/case_types.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "56142d0ec2db6749534b3c77",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63298983e6b8a4c7",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "search_options",
      "normalized_name": "search-options",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/search_options.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "758f54d779b0e7e7038e8337",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "de57b5c5efda7e49",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "case_statuses",
      "normalized_name": "case-statuses",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/case_statuses.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "0c27d5043fde89ff6bfc81cd",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "a46cc0bfd1805ee3",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "tnc_types",
      "normalized_name": "tnc-types",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/tnc_types.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "a8efb5e7ad155fe27c9c4d34",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4b8c34b1eacfe003",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "case_resolutions",
      "normalized_name": "case-resolutions",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/case_resolutions.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "4dfe7bf775a61714ed1863a8",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "de57b5c5efda7e49",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "reason_sents",
      "normalized_name": "reason-sents",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/reason_sents.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "2398c7aa4215f7682e21c7b3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66e254d11950e395",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "dhs_verification_resolutions",
      "normalized_name": "dhs-verification-resolutions",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/test/fixtures/reference_data/dhs_verification_resolutions.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "93d398bf4a090dedec5a6289",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "1d9894112d7f5a60",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "cucumber",
      "normalized_name": "cucumber",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/config/cucumber.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "d825228174ad780bb3e5fab8",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "98af476f9e1d2a48",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "secrets",
      "normalized_name": "secrets",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/config/secrets.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "7fcd9a0cfa19b8cff5c9aec5",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "15464054acbbd9b6",
      "framework": "next-react",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "icam",
      "normalized_name": "icam",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/config/icam.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "b1a7b40ab4dfb183a5d2b4b1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2fef52e173e254e",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "database",
      "normalized_name": "database",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/config/database.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "23a7ee8254684abd50dcf454",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "0f7916f89c498ed1",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "app_config",
      "normalized_name": "app-config",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/config/app_config.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "43bf56b898d81e6e92c546f0",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "44028606fa633414",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/config/locales/en.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "7c4bc6c15285d1999c99890a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8dfc1a02fed8a4e5",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "install-common-utils-gem",
      "normalized_name": "install-common-utils-gem",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/install-common-utils-gem.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "add9715b7024e8fe1db3488f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f83a7b71e4c2ceaf",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "poll-version-control",
      "normalized_name": "poll-version-control",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/poll-version-control.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "9f3397862337306b5bbe3eb9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "06e7556b664070d9",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "run-static-analysis",
      "normalized_name": "run-static-analysis",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/run-static-analysis.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend,observability,security",
      "component_id": "ff276220b5958a531b430ad5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7a45838101f08850",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "verify-or-create-database",
      "normalized_name": "verify-or-create-database",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/verify-or-create-database.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "f8080d48c0423b3fb550a754",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6f3d09ba621db62b",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "install-pipeline-gems",
      "normalized_name": "install-pipeline-gems",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/install-pipeline-gems.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "b3a9a09fcacf205c8303860c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9911852d78804bb",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "install-gems",
      "normalized_name": "install-gems",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/install-gems.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "eb97828fa377b6b9a80fdf3c",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6dde22ea982336ac",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "cf32da7463e06616f56dbf58",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6e2a9d2bee6fa58c",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "run-smoke-test",
      "normalized_name": "run-smoke-test",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/run-smoke-test.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "4aaad28fcc6da8413c6ff8ff",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f55de2760d0bdd3",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "run-infrastructure-tests",
      "normalized_name": "run-infrastructure-tests",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/run-infrastructure-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "e8eaff8fa97f6faf03c323ef",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a268174b41593e5",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "promote-ami",
      "normalized_name": "promote-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/promote-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "9dd5753504f3222dc13c7719",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a304a472695810f9",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "create-acceptance-environment",
      "normalized_name": "create-acceptance-environment",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/create-acceptance-environment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "4296c72f5236e463e5ca3714",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "26cda1d34a287e40",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "run-acceptance-tests",
      "normalized_name": "run-acceptance-tests",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/run-acceptance-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "7d3512b48188b63f1168e47e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "39707fee9aa23ab8",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "blue-green-deploy-dev-environment",
      "normalized_name": "blue-green-deploy-dev-environment",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/blue-green-deploy-dev-environment.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "2ad60ab313687ba113c588fa",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3706e0a24a5dbe04",
      "framework": "next-react",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "deploy-app",
      "normalized_name": "deploy-app",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/deploy-app.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "afd6b3504240cae15f78d501",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0a634a7765f28586",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "run-unit-tests",
      "normalized_name": "run-unit-tests",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/run-unit-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security,process",
      "component_id": "f4b96a8904d0cefb00b7828c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "04830c51667d10af",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "deploy-elb",
      "normalized_name": "deploy-elb",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/deploy-elb.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "2063f55215bb4b9348ac3c7a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8bcc45862e8c9ef1",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "create-system-image",
      "normalized_name": "create-system-image",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/create-system-image.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "55abad2c27ebdfd448926c6b",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "65a2e50a70fab738",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "migrate_db",
      "normalized_name": "migrate-db",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/migrate_db.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "26da4bcd29d9b0367d079c7e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e550fb8b11fe1f9",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "generate_dotenv_app_config",
      "normalized_name": "generate-dotenv-app-config",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/bin/generate_dotenv_app_config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "886a8fb82e45a03cbac8e239",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4a338e9cfe43dd3a",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "rails-userdata",
      "normalized_name": "rails-userdata",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/config/rails-userdata.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "3c11be981fa4d9151abd91d1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9fd47c4aea95e63b",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "svs_ami",
      "normalized_name": "svs-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/config/packer/svs_ami.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "a068102c67cf54e3cefb0f47",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fdbea4ce2776f9c",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": ".kitchen",
      "normalized_name": "kitchen",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/cookbooks/status-verification-system/.kitchen.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation,observability",
      "component_id": "9274c8ebe2ff27e8bb61ac45",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4c1d538bc20118cd",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-rails-app/.pipeline/cookbooks/status-verification-system/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "889ddb0f328cbac551ed2f2f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a851cf35555b5c56",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "6f8a22b80d26056cf7a2baa8",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d5ef967a409e2a8e",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": ".rubocop",
      "normalized_name": "rubocop",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.rubocop.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "51298a1af6c0286e105b6d09",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c314fdfbd260adeb",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/app/assets/javascripts/application.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "f75ed0e6614000b71bec3784",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e26487b4dccc3c5d",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "scaffolds",
      "normalized_name": "scaffolds",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/app/assets/stylesheets/scaffolds.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "style,automation",
      "component_id": "f8d5bb3d46721f51ddacc524",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d1b0c48d409cf1ce",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/app/assets/stylesheets/application.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "dde37494cb14bed54e019704",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7bb1bc95572e6fff",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "users",
      "normalized_name": "users",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/app/assets/stylesheets/users.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation",
      "component_id": "623741f47c0287f059b02454",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "298158fb22954a0d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ver_cases",
      "normalized_name": "ver-cases",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/app/assets/stylesheets/ver_cases.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "c439ac6eaaffc6e90e5f2f9b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "3b1a1eb624e1f07a",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "point_of_contacts",
      "normalized_name": "point-of-contacts",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/point_of_contacts.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "84e9c00d51f63fd2c553dbdf",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4c5b9f8661026d4d",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "employers",
      "normalized_name": "employers",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/employers.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "e09bfd599d4beceb3f85be44",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "71ef01f9e7675b86",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "addresses",
      "normalized_name": "addresses",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/addresses.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "28c13d71cd985851bf5294b2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "08de5033225ee3ab",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "list_bc_document_data",
      "normalized_name": "list-bc-document-data",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/list_bc_document_data.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8b18fa7fe48d081d65f5105d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "183b9b13523d325a",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "users",
      "normalized_name": "users",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/users.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "b7eb0a865d24c43c3edafffb",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1f0f667b450dc682",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "account_details",
      "normalized_name": "account-details",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/account_details.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a088c597f383890da5dc8006",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "adaaff1367be2ff0",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "verification_case_jsons",
      "normalized_name": "verification-case-jsons",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/verification_case_jsons.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "b8385e16f100bdbe4ff0d431",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "5ef46c907aa2b897",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "additional_verifications",
      "normalized_name": "additional-verifications",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/additional_verifications.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "55109d4a9290315efb3e11f2",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "7d1e1a1fa86d2a3f",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "system_data",
      "normalized_name": "system-data",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/system_data.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "9c4c752584127a9a6bef0b1a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "082ff60b162e1a18",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "verification_cases",
      "normalized_name": "verification-cases",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/verification_cases.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "1699ca2508a80f5b5fa2c395",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "72eba92893dcbf9f",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "case_responses",
      "normalized_name": "case-responses",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/case_responses.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "3b25170b3e50f87d36f2df31",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "292bdc2c30920f86",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "tnc_types",
      "normalized_name": "tnc-types",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/tnc_types.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "435905de8e82a3875768f21a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "3cf8ed2a1fe1f989",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "resolutions",
      "normalized_name": "resolutions",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/resolutions.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "f299cfea4fabca7e0d6a76e0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "75d2d52976bcdccc",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "employer_inputs",
      "normalized_name": "employer-inputs",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/employer_inputs.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "a3ebf167fab2c1b3a3422737",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f3b9e05994bc24cd",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "account_detail_point_of_contacts",
      "normalized_name": "account-detail-point-of-contacts",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/test/fixtures/account_detail_point_of_contacts.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "ffd41a299eccd12509aa730f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "c7b966219cac5b97",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "secrets",
      "normalized_name": "secrets",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/config/secrets.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "e4d25265ff56a537dd8c661a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30517feb46e3a927",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "database",
      "normalized_name": "database",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/config/database.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "0cfc6990137b667b59514b7a",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "44028606fa633414",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/config/locales/en.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "42544d206076c757536f2cf3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9488e6c198dc3774",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "install-common-utils-gem",
      "normalized_name": "install-common-utils-gem",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/install-common-utils-gem.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "1b8f759cc571cc25e1bf4dd8",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c897a8d0f90f260",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "poll-version-control",
      "normalized_name": "poll-version-control",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/poll-version-control.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "4ef9c2fa34e03ef2bf30fa2f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3792affc018c7730",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "run-static-analysis",
      "normalized_name": "run-static-analysis",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/run-static-analysis.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend,observability,security",
      "component_id": "52ef3f4fcaeb949443df2093",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7a45838101f08850",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "verify-or-create-database",
      "normalized_name": "verify-or-create-database",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/verify-or-create-database.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "1a0eb51506bbcc8f67673749",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0a3dab9c62819426",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "install-pipeline-gems",
      "normalized_name": "install-pipeline-gems",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/install-pipeline-gems.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "81d82d40343404a4f43d6bf6",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19f438cac71a3c0b",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "install-gems",
      "normalized_name": "install-gems",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/install-gems.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "759811dab0bfbc11c514312e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6dde22ea982336ac",
      "framework": "unknown",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "61f42bd79c2645c8cbc88c92",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "09d24e8c5157ed0e",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "run-smoke-test",
      "normalized_name": "run-smoke-test",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/run-smoke-test.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "0a0b6f346a3fb457bc4ec78b",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4d0318d6b4e2a40",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "run-infrastructure-tests",
      "normalized_name": "run-infrastructure-tests",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/run-infrastructure-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "74b23e5ee866123f500d5ade",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c27101e06ddbb42",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "promote-ami",
      "normalized_name": "promote-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/promote-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "c6d4a2dddd1df46eaa358ef3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3b2b46165255378",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "create-acceptance-environment",
      "normalized_name": "create-acceptance-environment",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/create-acceptance-environment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "e26961c7773ef4a23937fa95",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a1cf95557612636",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "run-acceptance-tests",
      "normalized_name": "run-acceptance-tests",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/run-acceptance-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "106db2826acccc639259c425",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3b3cb7a2ee64a273",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "blue-green-deploy-dev-environment",
      "normalized_name": "blue-green-deploy-dev-environment",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/blue-green-deploy-dev-environment.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "a547253a679316a81c47485f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91185aa00786ca55",
      "framework": "unknown",
      "imports": "",
      "lines": 119,
      "logic_relevance": "none",
      "name": "deploy-app",
      "normalized_name": "deploy-app",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/deploy-app.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "6cd7f324a6f8d41f7498c967",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28e3ce3527e420a2",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "run-unit-tests",
      "normalized_name": "run-unit-tests",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/run-unit-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security,process",
      "component_id": "6d848c4b48c8633870ed9806",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5973a34b17179377",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "deploy-elb",
      "normalized_name": "deploy-elb",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/deploy-elb.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "1c64fe50b3fbd02955106d5d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "402d9ce08ccad22d",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "create-system-image",
      "normalized_name": "create-system-image",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/create-system-image.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "19200250ebd686a66eda0f4a",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5ca1dca9f9df13e8",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "migrate_db",
      "normalized_name": "migrate-db",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/migrate_db.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "cefc476147608d24959ddcf1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b45c090d1552198f",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "generate_dotenv_app_config",
      "normalized_name": "generate-dotenv-app-config",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/bin/generate_dotenv_app_config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "2ff44aee1ca0fad049ef97a4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "64a8638c4259757c",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "rails-userdata",
      "normalized_name": "rails-userdata",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/config/rails-userdata.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "8235787ee5374e1bb63a174b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e1344e287f199e96",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "svs_vis_mock_ami",
      "normalized_name": "svs-vis-mock-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/config/packer/svs_vis_mock_ami.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "69026a38665fbfd97eb904de",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "70526adcf6d33bc4",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": ".kitchen",
      "normalized_name": "kitchen",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/cookbooks/svs-vis-mock/.kitchen.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation,observability",
      "component_id": "7eafec8b2811b8a8bd41bb56",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4c1d538bc20118cd",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/.pipeline/cookbooks/svs-vis-mock/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "12be4e16f2e2f5efb349f7a3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d74c71d943047ee3",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "caseWorkload",
      "normalized_name": "case-workload",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v1_json_examples/caseWorkload.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ef08f1e5960cb97110a1c56d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "abe64a6f3aeb1fd0",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "ev2CaseDetail",
      "normalized_name": "ev2-case-detail",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v1_json_examples/ev2CaseDetail.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8eeb119de833009b362334e2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8ae9a6b7d8b71e5a",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v1_json_examples/user.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4dc7bea333a235e97c8003d9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c3b86d0afdd51d99",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "ev3CaseDetail",
      "normalized_name": "ev3-case-detail",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v1_json_examples/ev3CaseDetail.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "82644e025da790fd1d725b46",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "821ffb2bd7ffb1cc",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "logonIdList",
      "normalized_name": "logon-id-list",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v1_json_examples/logonIdList.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "8fa2bdab86d02841022a8d4f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6aee4b8aeb1690cb",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "searchThirdStep",
      "normalized_name": "search-third-step",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/searchThirdStep.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "42aa3cbd493e9d755c2831fc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e75bf4c4cb9d5563",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "resolutionReasons",
      "normalized_name": "resolution-reasons",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/resolutionReasons.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "f8d5730b5e18a066293415c7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6516b1a01f7a7ce",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "additionalFields",
      "normalized_name": "additional-fields",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/additionalFields.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "4c3dfdd396ee0c8b8972333f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1777c7a575118f10",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "selfLockDetails",
      "normalized_name": "self-lock-details",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/selfLockDetails.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "14d0d375fc6ccc14c4d37f91",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8069beba4b9b13e9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "documentPhoto",
      "normalized_name": "document-photo",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/documentPhoto.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "2ac314092ab07166330f82a8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d74c71d943047ee3",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "caseWorkload",
      "normalized_name": "case-workload",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/caseWorkload.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0a9e05b86d7d4753c21a9d3c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "400fd8211fa1000d",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "ev2CaseDetail",
      "normalized_name": "ev2-case-detail",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/ev2CaseDetail.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "403dae59777df8d61f4254e4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8ae9a6b7d8b71e5a",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/user.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "1976300ae08da71dcb0f7863",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5923ebe8e3ca8ad8",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "caseResolutionCodes",
      "normalized_name": "case-resolution-codes",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/caseResolutionCodes.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "79067360f926b7ac0024f4a5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e95cb8d6182e28fb",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "scanCases",
      "normalized_name": "scan-cases",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/scanCases.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5443a58354be3315bd69a115",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "57be3ca3469b5e8d",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "ev3CaseDetail",
      "normalized_name": "ev3-case-detail",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/ev3CaseDetail.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "88e5ae6278b11a0f1d51d237",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "821ffb2bd7ffb1cc",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "logonIdList",
      "normalized_name": "logon-id-list",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/logonIdList.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "f7e4414655cce2e9398d37be",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c58a2c98ed79e03b",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "uploadedDocument",
      "normalized_name": "uploaded-document",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/uploadedDocument.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "edd58c1a223b690b6f284035",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9d912a182952de5e",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "s2CaseDetail",
      "normalized_name": "s2-case-detail",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/v2_json_examples/s2CaseDetail.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,automation",
      "component_id": "ee68020642b8ea77abe5b029",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1b26a6304053c13",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "successStatus",
      "normalized_name": "success-status",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/common_examples/successStatus.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8bbb03958996582a2e2f926a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "758a29965abbf8c3",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "accountDetail",
      "normalized_name": "account-detail",
      "package_manager": "unknown",
      "path": "svs-automation/svs-vis-mock/documents/common_examples/accountDetail.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "2e2ee9f99893874893356680",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "03aceea534ac7f67",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security,ai",
      "component_id": "37e6e350eec6e1619d1ca0f5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a145e93295948107",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "jenkins-userdata",
      "normalized_name": "jenkins-userdata",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/cfn/jenkins-userdata.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,security,automation",
      "component_id": "68f19023d3a77fb03060013f",
      "component_kind": "state-store",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a28f34bbcf8475a7",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "keystore",
      "normalized_name": "keystore",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/cfn/config-store/keystore.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "logic,security,automation",
      "component_id": "37db8207487af2c661ff53c7",
      "component_kind": "state-store",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1838e3fe5fb75dae",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "hamburger",
      "normalized_name": "hamburger",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/cfn/config-store/hamburger.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,security,automation,logic",
      "component_id": "ceeba4c9ae0d2d85922ec95f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "54647a261e25e1ec",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/cfn/config-store/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "f6bd29f8094492b4d6ff8fec",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7aedc53b914fccc",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "jenkins",
      "normalized_name": "jenkins",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/env/jenkins.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "ceac0ff4fd0a8cdb2bd7eab5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6d952b6369c70cee",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "create-jenkins-instance",
      "normalized_name": "create-jenkins-instance",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/jobs/scripts/create-jenkins-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "bbaea6a151d2d010b3d7cbca",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "49cdea3683756413",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "create-jenkins-elb",
      "normalized_name": "create-jenkins-elb",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/jobs/scripts/create-jenkins-elb.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "feeac5370ac8bce605be0240",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f41ccfd15db2f6af",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "create-jenkins-image",
      "normalized_name": "create-jenkins-image",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/jobs/scripts/create-jenkins-image.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "edcaa433bbb65c7f0964693e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e0bd435c0596de39",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "become-production-jenkins",
      "normalized_name": "become-production-jenkins",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/jobs/scripts/become-production-jenkins.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "ed8577c7a8bdc422a1b117c4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed3723ef05494bd0",
      "framework": "unknown",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "jenkins",
      "normalized_name": "jenkins",
      "package_manager": "unknown",
      "path": "svs-automation/uscis-jenkins/packer/jenkins.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation,logic",
      "component_id": "3692185a32986259648841cf",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "060dd22624a93f04",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-common-utils/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,logic",
      "component_id": "7bd3f34272f26b00283513cc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "601bfbae8904c47d",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "secondary",
      "name": "common-bash-functions",
      "normalized_name": "common-bash-functions",
      "package_manager": "unknown",
      "path": "svs-automation/svs-common-utils/bash/common-bash-functions.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation,security",
      "component_id": "ae11903127d4fc15c5de2547",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9bdb582b94912db3",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "e468f0cb112b85647da9ebd1",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1450888ac7c63b52",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "45e24e093ade20d90ce54f5b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4a88e15a13ae35bd",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "test-jmeter-ami-instance",
      "normalized_name": "test-jmeter-ami-instance",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/jobs/scripts/test-jmeter-ami-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "f605815c08300a80bf04e009",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d48428a41d04225",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "poll-jmeter-ami-version-control",
      "normalized_name": "poll-jmeter-ami-version-control",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/jobs/scripts/poll-jmeter-ami-version-control.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "d8b29b290cfdf582d78afc59",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e853bbfdb141b73a",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "launch-jmeter-ami-instance",
      "normalized_name": "launch-jmeter-ami-instance",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/jobs/scripts/launch-jmeter-ami-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "05e4d8b2da211e304a34595d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c8e07a4cf16f3bc6",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "terminate-jmeter-ami-instance",
      "normalized_name": "terminate-jmeter-ami-instance",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/jobs/scripts/terminate-jmeter-ami-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,security",
      "component_id": "bc9e80af8742504dbca4e2c3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e10dcf2b94f426c8",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "promote-jmeter-ami",
      "normalized_name": "promote-jmeter-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/jobs/scripts/promote-jmeter-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "0f6f1b7cb624dc42421304aa",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d71e9cb71f83c7b",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "build-jmeter-ami",
      "normalized_name": "build-jmeter-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/jobs/scripts/build-jmeter-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "6d788482993b337a3f82cdf0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc740500d4f4fbd1",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "jmeter_ami",
      "normalized_name": "jmeter-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/jmeter_ami/packer/jmeter_ami.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "e16d330ffc7f2d931dc51cde",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a89e7ee12ff9263a",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "check-app-config-store",
      "normalized_name": "check-app-config-store",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/app-config-store/check-app-config-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "ba52192e4aac001a0566e36d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6bd2a881f17f6f04",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "load-app-config-store",
      "normalized_name": "load-app-config-store",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/app-config-store/load-app-config-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "e4b7375d15bb62f5d9aadd58",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f626d23a4e019191",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "check-inventory-store",
      "normalized_name": "check-inventory-store",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/inventory-store/check-inventory-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "ffe16f1d02041677539225bd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e94d93afd5aeea1",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "load-inventory-store",
      "normalized_name": "load-inventory-store",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/inventory-store/load-inventory-store.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic",
      "component_id": "ef46ea6c66f977ccce9d8c5c",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "96d34b0dca942b42",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "install-common-utils-gem",
      "normalized_name": "install-common-utils-gem",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/bin/install-common-utils-gem.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "b2041a5e6d8357315a1d0284",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d327eb23afc71d4b",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "pipeline-packer-securitygroup-config",
      "normalized_name": "pipeline-packer-securitygroup-config",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/config/pipeline-packer-securitygroup-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "b5f55b8d1f80c71667867fa1",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2e21559fee3755c3",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "download-failed-log-trigger",
      "normalized_name": "download-failed-log-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/download-failed-log-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "3a8db929caf88a98b186fd7e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "efb87b8858d94851",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "deploy-svs-vis-mock",
      "normalized_name": "deploy-svs-vis-mock",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/deploy-svs-vis-mock.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "07bb2e71f74921fd7524972e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "166200a3ff3a7d99",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "download-log",
      "normalized_name": "download-log",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/download-log.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "ea153896dcab1a995fe062d0",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37186def08e2dc48",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "simian-army-trigger",
      "normalized_name": "simian-army-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/simian-army-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "dd9905ac89d2471efbcdb767",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d17b5d7ea25aff1a",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "deploy-elb-trigger",
      "normalized_name": "deploy-elb-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/deploy-elb-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,process",
      "component_id": "08e3fad00595fbba1b2aa798",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c7129284b6a6b4a",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "acceptance-tested-trigger",
      "normalized_name": "acceptance-tested-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/acceptance-tested-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "264531fde1de9a34003ab37d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3b83db7a1d0e6dd9",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "deploy-svs",
      "normalized_name": "deploy-svs",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/deploy-svs.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "846c879bb131015c4001399e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "933bfc872e979869",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "download-log-trigger",
      "normalized_name": "download-log-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/download-log-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "a99e0ab32c7c8cfa4863719d",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d17b5d7ea25aff1a",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "deploy-asgs-trigger",
      "normalized_name": "deploy-asgs-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/deploy-asgs-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "4012ab22778036e2e5ffc996",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a27c16620383c73d",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "deploy-svs-elb",
      "normalized_name": "deploy-svs-elb",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/deploy-svs-elb.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,process",
      "component_id": "58dc5b4ae6f1451c1e94e843",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d66f463a1a838fa4",
      "framework": "next-react",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "self-service-trigger",
      "normalized_name": "self-service-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/self-service-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "86df26cd6335cdc37d314142",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "60998839bfc9a9cf",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "delete-old-stacks-trigger",
      "normalized_name": "delete-old-stacks-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/delete-old-stacks-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "76e49ad2310ce3d590505f81",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a0eb92ea664a50c9",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "reverse-proxy-trigger",
      "normalized_name": "reverse-proxy-trigger",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/reverse-proxy-trigger.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,process",
      "component_id": "47402d544c8b908f8ab3afb2",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "baf5f36e73272e23",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "deploy-svs-vis-mock-elb",
      "normalized_name": "deploy-svs-vis-mock-elb",
      "package_manager": "unknown",
      "path": "svs-automation/svs-pipeline/.pipeline/deploy-app/deploy-svs-vis-mock-elb.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "50c085104764a1d8cab4a082",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "875b45cc43459d26",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "b4b3400f7182b8ac4346fbeb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "911e0a00900315f6",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "test-svs-base-instance",
      "normalized_name": "test-svs-base-instance",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/jobs/scripts/test-svs-base-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "5e7fb22662394532921b3418",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bb13ce1efea7269a",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "launch-svs-base-instance",
      "normalized_name": "launch-svs-base-instance",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/jobs/scripts/launch-svs-base-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "66292829b03543428e6e981f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d48428a41d04225",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "poll-svs-base-version-control",
      "normalized_name": "poll-svs-base-version-control",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/jobs/scripts/poll-svs-base-version-control.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,security",
      "component_id": "4b984a078f074549c73df353",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b4a5af575a80dd8e",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "promote-svs-base-ami",
      "normalized_name": "promote-svs-base-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/jobs/scripts/promote-svs-base-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "31123b6e3b134577fe3f760c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "81c8d69673bb7586",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "build-svs-base-ami",
      "normalized_name": "build-svs-base-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/jobs/scripts/build-svs-base-ami.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "0165aefc52023789c489fd87",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b36ca2cc655cbe33",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "terminate-svs-base-instance",
      "normalized_name": "terminate-svs-base-instance",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/jobs/scripts/terminate-svs-base-instance.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "e34fece45939d64e243828bf",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "29b369d06b8749d4",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/cookbooks/mcafee/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "b512aa4a28751b21162217e4",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cc3535c5b88d3fd3",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "instance_id",
      "normalized_name": "instance-id",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/cookbooks/hostname/files/instance_id.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "b9e1c9a7ecc8c5073900f51c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7d7d6af36660d53a",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "base_ami",
      "normalized_name": "base-ami",
      "package_manager": "unknown",
      "path": "svs-automation/svs-base-ami/packer/base_ami.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "process,automation,security",
      "component_id": "767209e5bb6166b8c84fc32c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7233f485c2f681c1",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,security,automation",
      "component_id": "b2ebf3ffe1994b91b42e8bb1",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Accordion | process-score:80 | security-score:55 | automation-score:50",
      "exports": "Accordion",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "906ae052dc5d16ca",
      "framework": "next-react",
      "imports": "",
      "lines": 390,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/javascripts/svs_style_guide/components.js",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,process",
      "component_id": "a6fcdd481707734c613b8ed9",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "429a182cfc0091a6",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/javascripts/svs_style_guide/application.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "d9493e6351b937d06e6ebfab",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bedd12cb830b1acd",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/application.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,observability,automation,process",
      "component_id": "cd32bcb19203f4ed586355b0",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1397a50016b7e67b",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/all.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "e68b2786345162a65f4c2e1e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f6faaefa870942f",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "google-fonts",
      "normalized_name": "google-fonts",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/google-fonts.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,automation,process",
      "component_id": "abfafefb1990ad52299066ea",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "560c452163a84c19",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "normalize.min",
      "normalized_name": "normalize-min",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/normalize.min.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "c7b8521da608528f1905ad7c",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a575b11dcb57da67",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_grid-settings",
      "normalized_name": "grid-settings",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_grid-settings.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "2c9635f191a809ca6762cacc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0805571d6d5e3cfc",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "secondary",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_variables.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "03bd5906758659cf073743f4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "581e9aa64d620f07",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "secondary",
      "name": "_utilities",
      "normalized_name": "utilities",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_utilities.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "5894daae0ffb701f7e9b0234",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "36a9f562623be3c6",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "secondary",
      "name": "_defaults",
      "normalized_name": "defaults",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_defaults.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "14740ec30fc2cb52623a0915",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c60f307439277e85",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "secondary",
      "name": "_grid",
      "normalized_name": "grid",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_grid.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process,ai",
      "component_id": "53bec160818c9ddd8f732a53",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9cbf9227521ae8f4",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "secondary",
      "name": "_base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_base.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "ea624b438cc49e3ab5c28139",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c22fbd53b5f900e4",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "_sidenav",
      "normalized_name": "sidenav",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_sidenav.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,process,automation",
      "component_id": "1681d291214b0bfed2547bf1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | process-score:80 | automation-score:50",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "41aed1b4662ff943",
      "framework": "next-react",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "_forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_forms.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "c9a9252b285286e235dafedf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5f18e90cfd5b4cc7",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "_search",
      "normalized_name": "search",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_search.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,process",
      "component_id": "59f2910e4cc10cb51354606f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1fce6fcb8b3bb517",
      "framework": "next-react",
      "imports": "",
      "lines": 292,
      "logic_relevance": "none",
      "name": "_footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_footer.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "b07ee4f1482c7d0751699e3f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ba56c809bd91ec0f",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "_accordions",
      "normalized_name": "accordions",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_accordions.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,automation,process",
      "component_id": "4b7b194ffd99f60703faa678",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f535033750b8a708",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "_skipnav",
      "normalized_name": "skipnav",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_skipnav.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "c0b8f814694552ef43a6f023",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f70f5765703b55f1",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_disclaimer",
      "normalized_name": "disclaimer",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_disclaimer.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "f98f54e1e9dc298df74232e9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8ae3b3632c389508",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "_alerts",
      "normalized_name": "alerts",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_alerts.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,process",
      "component_id": "b895a6d7093f52951188641b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "96b3fbbcfea81a41",
      "framework": "next-react",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "_typography",
      "normalized_name": "typography",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_typography.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "58f7943b2ecd96cfab26ea67",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0e518e4d81f75c6e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_figure",
      "normalized_name": "figure",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_figure.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,automation,process",
      "component_id": "f51d503ebcc50e7c4d10e2e9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6bbb83994c23ab21",
      "framework": "next-react",
      "imports": "",
      "lines": 320,
      "logic_relevance": "none",
      "name": "_inputs",
      "normalized_name": "inputs",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_inputs.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,ui,automation,process",
      "component_id": "37d12fd46067b2d3416a9cd7",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "31275095c0833982",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "_table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_table.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,automation,process",
      "component_id": "3d7c99c0fb8f2a8909175516",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "13758c62b558580c",
      "framework": "next-react",
      "imports": "",
      "lines": 190,
      "logic_relevance": "none",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_buttons.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "b18dc54de7501fc85496af02",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e36f939673658212",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "_list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_list.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "869895d640faf837cf1c1c10",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4af3388d488e5e1f",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "_labels",
      "normalized_name": "labels",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_labels.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,logic,automation,process",
      "component_id": "ab2b87b650062aeadd9d7764",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4d7e8250f8f124f",
      "framework": "next-react",
      "imports": "",
      "lines": 427,
      "logic_relevance": "secondary",
      "name": "_normalize",
      "normalized_name": "normalize",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/_normalize.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,security,automation,process",
      "component_id": "035b0d6ebb27d900b39633ca",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e5c8977f412b3ea4",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "secondary",
      "name": "_bourbon",
      "normalized_name": "bourbon",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/_bourbon.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "b102de18da614a625ecbc0ff",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d43a961800347b17",
      "framework": "next-react",
      "imports": "",
      "lines": 411,
      "logic_relevance": "secondary",
      "name": "_bourbon-deprecated-upcoming",
      "normalized_name": "bourbon-deprecated-upcoming",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/_bourbon-deprecated-upcoming.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "2026c96a175be5a91d4dc7a2",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4aff0c23575c27d",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "secondary",
      "name": "_prefixer",
      "normalized_name": "prefixer",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/settings/_prefixer.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "031a967ff77c10edd41f9196",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "79bec0e83c8de695",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "_asset-pipeline",
      "normalized_name": "asset-pipeline",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/settings/_asset-pipeline.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "26f2265808703b5ad3383b0b",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d6fa6d254babb982",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "_px-to-em",
      "normalized_name": "px-to-em",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/settings/_px-to-em.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "b46dc0d40ea78529907c7560",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "973b55a8ef9c4d74",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "_border-color",
      "normalized_name": "border-color",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_border-color.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "042901dc5cf20798182b4171",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "91794c6b7291e10e",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "_border-width",
      "normalized_name": "border-width",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_border-width.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "20fd8327855bfe04d3cefbf9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed1233d8678a54e9",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "_word-wrap",
      "normalized_name": "word-wrap",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_word-wrap.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "f6fe0c307c4ccd90bda568f7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "00480ad664624b36",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "_retina-image",
      "normalized_name": "retina-image",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_retina-image.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "c24358bd538a372117cea8cb",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "49d48a936e856fbf",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "secondary",
      "name": "_triangle",
      "normalized_name": "triangle",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_triangle.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "c0b1e2f4935bdb0be2fc4fe6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d9da6e0994d08a5d",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "_hide-text",
      "normalized_name": "hide-text",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_hide-text.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "ce9ff5bc57f8aa8d77d3da4a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a7c815ffb76011cc",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "_border-style",
      "normalized_name": "border-style",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_border-style.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "81fd4919b5c8ff29886e67c4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "35e69f77111b7fec",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "secondary",
      "name": "_text-inputs",
      "normalized_name": "text-inputs",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_text-inputs.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "a71a5b508f225c8304771e46",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b787408b987c2cd4",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "secondary",
      "name": "_ellipsis",
      "normalized_name": "ellipsis",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_ellipsis.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "f444875befcf351e9be3a426",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f812ad86130387d7",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "secondary",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_buttons.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "ce3e7f0ae05cd7f102774b91",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dc1a87f24e837478",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "secondary",
      "name": "_prefixer",
      "normalized_name": "prefixer",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_prefixer.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "639ef5e37122494c4aa81182",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ddb154993c32670f",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "_margin",
      "normalized_name": "margin",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_margin.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "45cb605a5137f5d6952c56c8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c5f3950a0287f465",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "_clearfix",
      "normalized_name": "clearfix",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_clearfix.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "334d7429022c431b5f490c51",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7fd6c314de1717d8",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "secondary",
      "name": "_timing-functions",
      "normalized_name": "timing-functions",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_timing-functions.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "8faa9af4809a539c851acca8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bf712e1774e7fa37",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "_border-radius",
      "normalized_name": "border-radius",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_border-radius.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "9e418e82ff59ddbf480f1567",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9c3dc160886a7b4e",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "secondary",
      "name": "_size",
      "normalized_name": "size",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_size.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "597e6714c48e63767593242b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d561223b38a84db3",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "secondary",
      "name": "_font-stacks",
      "normalized_name": "font-stacks",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_font-stacks.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "e707b2530ae4b28706a76f54",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8223197a434c5f61",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "_position",
      "normalized_name": "position",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_position.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "914b6eaa3cab627ecb5e765b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b4769bc50f555a4a",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "_padding",
      "normalized_name": "padding",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_padding.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "style,automation,logic,process",
      "component_id": "c7a2b44dbf3985579042f952",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "344ea342072beccc",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "_is-light",
      "normalized_name": "is-light",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_is-light.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "4f133f963515cca4af3381f3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e03ab479863a6615",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "_unpack",
      "normalized_name": "unpack",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_unpack.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "5a9fefb9eb228278893055ed",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6421f1bee32b4918",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "_is-length",
      "normalized_name": "is-length",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_is-length.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "c104c2a0b796c02c83f98e05",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "112f44c32736bc3b",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "_contains",
      "normalized_name": "contains",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_contains.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "daf36a8628649fecc0e954e5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e61c877bbba10a0f",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "_is-size",
      "normalized_name": "is-size",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_is-size.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "b0e5ef514e2afe2785964ff1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6fe447067d40c505",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "_shade",
      "normalized_name": "shade",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_shade.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "60394f0070a3f4c92ed493bf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aa54e5db85276f32",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "_tint",
      "normalized_name": "tint",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_tint.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "e912d93958c19b7888d66d4d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8bcb3ad9216db479",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "_px-to-rem",
      "normalized_name": "px-to-rem",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_px-to-rem.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "2b8c0140cc6750b76d3b80cd",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e067744c8de1b313",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "_assign-inputs",
      "normalized_name": "assign-inputs",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_assign-inputs.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "b66ad65a50cc258ab72a9ca6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4c32ac8909b4bcf5",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "_transition-property-name",
      "normalized_name": "transition-property-name",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_transition-property-name.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "bdd16c192290da1512caf79d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "897e3b6df979d4db",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "_is-number",
      "normalized_name": "is-number",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_is-number.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "style,automation,logic,process",
      "component_id": "bd4c6dc6515ddf805d98f3cf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7466c8fdd946bc33",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "secondary",
      "name": "_modular-scale",
      "normalized_name": "modular-scale",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_modular-scale.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "1c93aa37f99096a85ded1560",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5b8b325798a47ac5",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "_contains-falsy",
      "normalized_name": "contains-falsy",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_contains-falsy.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "42a563edcd8e2d057ba10ddc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c576b45208d47c19",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "_px-to-em",
      "normalized_name": "px-to-em",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_px-to-em.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "db97220be3fcf3e69abc88c5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "71a064707dc75beb",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "_strip-units",
      "normalized_name": "strip-units",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/functions/_strip-units.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "98b1e8968eb7ab170e9ff50a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "965a63afa429fe61",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "secondary",
      "name": "_radial-arg-parser",
      "normalized_name": "radial-arg-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_radial-arg-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,security,automation,process",
      "component_id": "7f63a48237ed6bff3d913b82",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2de144ac53057533",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "_font-source-declaration",
      "normalized_name": "font-source-declaration",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_font-source-declaration.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "44f80ebe89cef0bc07600cc0",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fd37d4cdcff0735d",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "_radial-positions-parser",
      "normalized_name": "radial-positions-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_radial-positions-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "720fabf8a155dd2c28cabaa4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7ce832631e0b20a9",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "secondary",
      "name": "_str-to-num",
      "normalized_name": "str-to-num",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_str-to-num.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "74bdfe7169e44974ea388d54",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d15ad3d334fbf122",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "_linear-gradient-parser",
      "normalized_name": "linear-gradient-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_linear-gradient-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "73bd07b64425133e82802878",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "668a8f461b46fc24",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "_linear-angle-parser",
      "normalized_name": "linear-angle-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_linear-angle-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "2e8a021052a64ab2e836e90f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2785be1a111c19a3",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "_gradient-positions-parser",
      "normalized_name": "gradient-positions-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_gradient-positions-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "d9a808fab7ea0fbd01812f65",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "93e0fc136ba58e9b",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_shape-size-stripper",
      "normalized_name": "shape-size-stripper",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_shape-size-stripper.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,security,automation,process",
      "component_id": "f15ac973fa9832d9f8fb9dad",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1a1044ca24585c67",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "secondary",
      "name": "_radial-gradient-parser",
      "normalized_name": "radial-gradient-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_radial-gradient-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "784920f415ee7c7c19cfdf77",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b13a76b446afb076",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "secondary",
      "name": "_linear-side-corner-parser",
      "normalized_name": "linear-side-corner-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_linear-side-corner-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "82496fc42d357f739afbade1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f08b8a5f11a0bd6a",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "_linear-positions-parser",
      "normalized_name": "linear-positions-parser",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_linear-positions-parser.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "7ade5c593593e9091a0479dc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "30547c863670a78c",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "_render-gradients",
      "normalized_name": "render-gradients",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_render-gradients.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "003b255aaa424784b30a3968",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "06a4f8f63e5727f5",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "secondary",
      "name": "_directional-values",
      "normalized_name": "directional-values",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_directional-values.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "86679fff7f8e02d0fe8b91ae",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4740dd5845424685",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "_convert-units",
      "normalized_name": "convert-units",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/helpers/_convert-units.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "61a2023d94b321210f41b8ad",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "519e509858aac661",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "_transform",
      "normalized_name": "transform",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_transform.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "77fed6b7085e97fdfd511f10",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2a86bd87d9195841",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "_font-face",
      "normalized_name": "font-face",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_font-face.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "04b4e3718d55c1b443f78a7b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8a89cbae07589529",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "secondary",
      "name": "_columns",
      "normalized_name": "columns",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_columns.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process,ai",
      "component_id": "f64deecb247dd581368bfe7b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8a1193a53709c5c0",
      "framework": "next-react",
      "imports": "",
      "lines": 287,
      "logic_relevance": "secondary",
      "name": "_flex-box",
      "normalized_name": "flex-box",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_flex-box.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "e5703f729e64b37fbad36e53",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "81a31fa69c5bac1c",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "_background-image",
      "normalized_name": "background-image",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_background-image.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "51a0dc751a0a1b5964a43f8f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "670084a7def7f4d4",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "_image-rendering",
      "normalized_name": "image-rendering",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_image-rendering.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "5426277f61789c1ad7dc3db0",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4058a88f9a8fa244",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "_perspective",
      "normalized_name": "perspective",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_perspective.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "76e20a78b67728bb99284262",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a61e2a90ed52b51b",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "_background",
      "normalized_name": "background",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_background.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "dceae00828c919acd758490b",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea46084b17612ab9",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "_backface-visibility",
      "normalized_name": "backface-visibility",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_backface-visibility.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "9d1575dd6ea7b325e2948746",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d93c60fdc234b0a",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "_font-feature-settings",
      "normalized_name": "font-feature-settings",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_font-feature-settings.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "2a913d6ff0eb919734eb6fd1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3cfd1d89f37c6c2f",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "_selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_selection.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "b032de9e3184147f92b286e6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "629fc64206419c50",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "secondary",
      "name": "_transition",
      "normalized_name": "transition",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_transition.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "cd634b570775ccb6ef182530",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "04641a795415212c",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "_placeholder",
      "normalized_name": "placeholder",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_placeholder.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "c7627ebbeb690c1cccf11f39",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "606eba11ec94b34a",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "_linear-gradient",
      "normalized_name": "linear-gradient",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_linear-gradient.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "e1a9f8425acb0d885eae5dcf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "911d96c7b91b4ec5",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "secondary",
      "name": "_radial-gradient",
      "normalized_name": "radial-gradient",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_radial-gradient.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "41851664853b932043741e39",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8552b8466513fc57",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "_appearance",
      "normalized_name": "appearance",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_appearance.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "0efcfd36a813c1024a0fe2ce",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6fde915467d4a8e8",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_hidpi-media-query",
      "normalized_name": "hidpi-media-query",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_hidpi-media-query.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "5cc5ba170b5e7468123f6912",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "203d70463479b13b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "_user-select",
      "normalized_name": "user-select",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_user-select.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "8f873dae9638f462c6e0a27d",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bec7bcae8ab44b59",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "_calc",
      "normalized_name": "calc",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_calc.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "6907e7e5ecc93f06491b1c01",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a3088ddd4463f91",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "_text-decoration",
      "normalized_name": "text-decoration",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_text-decoration.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "ba006dd33920108c7d630933",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "44f359541f9621b9",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "_animation",
      "normalized_name": "animation",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_animation.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,security,automation,logic,process",
      "component_id": "2847b0ac516a7f0e2a1b03b5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8fb9c34a9d5c4c72",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "_keyframes",
      "normalized_name": "keyframes",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_keyframes.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "c3a1c22e9ac1e62a253ede92",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "35d8cfec4cbf6d9e",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "_hyphens",
      "normalized_name": "hyphens",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_hyphens.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "70a79d2656bb8ac3aa68bfed",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bc8003fd76be0b05",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "secondary",
      "name": "_border-image",
      "normalized_name": "border-image",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_border-image.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "16ae11732be9404abd9e56aa",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e437bb994a8f1bf4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "_filter",
      "normalized_name": "filter",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/css3/_filter.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "a7090a01a1e4f508d81323c1",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "174d3fce89db7c94",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "_neat-helpers",
      "normalized_name": "neat-helpers",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/_neat-helpers.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "a41345ab55a7767ca87bd63f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "67d2f9388fbdb18b",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "_neat",
      "normalized_name": "neat",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/_neat.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "be2edc153041cc821cf9ee9a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d35e739d16d0af00",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "_disable-warnings",
      "normalized_name": "disable-warnings",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/settings/_disable-warnings.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "bb140595765b348b6c163bef",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9ec8234df679ba31",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "secondary",
      "name": "_grid",
      "normalized_name": "grid",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/settings/_grid.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "0a2c00becb200fde0ffddb45",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b0185bfada287eda",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "_visual-grid",
      "normalized_name": "visual-grid",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/settings/_visual-grid.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,automation,logic,process",
      "component_id": "39b9fc6c8930a18863b9832c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a5b54e8737dbb977",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "secondary",
      "name": "_new-breakpoint",
      "normalized_name": "new-breakpoint",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/functions/_new-breakpoint.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "da72687a3656184f5936c42c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ddb30067a9a5487c",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "secondary",
      "name": "_private",
      "normalized_name": "private",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/functions/_private.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "4e427ba10ad62ba9398d3958",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3d2613c78dd56137",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "_fill-parent",
      "normalized_name": "fill-parent",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_fill-parent.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "dfa072022f90f7d6ddb1cf7d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "68cb036c1c06ecea",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "secondary",
      "name": "_row",
      "normalized_name": "row",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_row.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "54ca85eb598f294e154dc4fa",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ef536b367f5c899d",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "secondary",
      "name": "_span-columns",
      "normalized_name": "span-columns",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_span-columns.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "5e5e1f156502e741ef1d511c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d13753ebe3f473b5",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "_outer-container",
      "normalized_name": "outer-container",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_outer-container.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "6c6b708eae0256ffe6f2c38e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ec5e77ef39feb3a",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "secondary",
      "name": "_media",
      "normalized_name": "media",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_media.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "9b88b06ccaeca194631d598a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e8ca82b0a0c4b56e",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "secondary",
      "name": "_direction-context",
      "normalized_name": "direction-context",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_direction-context.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "39c81cd1be6998475013c6d5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "465cd485999fdc63",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "secondary",
      "name": "_shift",
      "normalized_name": "shift",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_shift.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "07757482e51d379fc2f7a5ba",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9323bb33490d01a2",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "_pad",
      "normalized_name": "pad",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_pad.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "8e2aaf161ba2283e7c5f93d1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "665744978822b14f",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "_box-sizing",
      "normalized_name": "box-sizing",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_box-sizing.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,logic,automation,process",
      "component_id": "291a7eaf566d82e78d0d8d68",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "14963b1fb1df9617",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "secondary",
      "name": "_omega",
      "normalized_name": "omega",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_omega.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "c8586319e2a55e11c68bc9c7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7bfa1c2e893529ea",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "_display-context",
      "normalized_name": "display-context",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_display-context.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "style,automation,logic,process",
      "component_id": "ba20a29a63af6b04c4e8e297",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5ef805d3b9277f64",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "_visual-grid",
      "normalized_name": "visual-grid",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_visual-grid.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "3bbfccfe42c12ba00f66c0a1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "40b1dea187421c33",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "secondary",
      "name": "_to-deprecate",
      "normalized_name": "to-deprecate",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_to-deprecate.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "93cd0849e7dc95496f580009",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4aa04fec8f0097c4",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "_private",
      "normalized_name": "private",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_private.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,observability,automation,process",
      "component_id": "bc0dbfe51dd7c6e3d97579f6",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "22669d3e6c0baacc",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "_status",
      "normalized_name": "status",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_status.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "370e53c19d95f6d0549d3f42",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2ef075185ed1b5d3",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "_case-details",
      "normalized_name": "case-details",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_case-details.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "07fa7e2e5564937a4d6a378f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5e169456bbcf4b10",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "_datatables",
      "normalized_name": "datatables",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_datatables.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "cc2695658920ed241ad6a0e4",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1c2f70bb5c076bff",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_body-wrapper",
      "normalized_name": "body-wrapper",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_body-wrapper.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "2585d6a460cde6744bca6224",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "50f5d795fc99539e",
      "framework": "next-react",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "_layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_layout.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "1cd9a07eeec9ce01cb00cf98",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6761885164061696",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "_main-menu",
      "normalized_name": "main-menu",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_main-menu.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "46b9940c4d07fbebe0cf8dd7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d71c71e5e9a7080d",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "_flash",
      "normalized_name": "flash",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_flash.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "fb4b659b021985c53dfc30cd",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "51077ba4b5c452d1",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "_everify-search",
      "normalized_name": "everify-search",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_everify-search.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,ui,automation,process",
      "component_id": "5cbb14608d0a67cc2769d26d",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fe321f01ec599c90",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "_table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_table.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "eef22530e1f53fd2224300b6",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4838dc9a34e92d03",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "_forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_forms.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "08727a3729fa3e9f756cc5bc",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "205354168b53f8be",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_buttons.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "768c97d268293da00d2c8a73",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "339c99898c56e65b",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "_list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_list.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "b8031e207ca8b3c7452ea5f2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4547f5c0f6c334cb",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_self-lock",
      "normalized_name": "self-lock",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_self-lock.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "2aadfad5e0e8bcbfe2d93b9a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "eb10e4d2c8546388",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "_grid",
      "normalized_name": "grid",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_grid.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,process",
      "component_id": "3a2f6efd398b3291f9ff4c87",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3b9f5a1a69d2ccaf",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "_devise-override",
      "normalized_name": "devise-override",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_devise-override.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,process",
      "component_id": "33bac752128557a2de202ca8",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "94387ead6f924895",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "_main-wrapper",
      "normalized_name": "main-wrapper",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_main-wrapper.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "style,automation,logic,process",
      "component_id": "500eeb1070e1bf447fcf1524",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4dbf22259cf685a5",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "_validation",
      "normalized_name": "validation",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_validation.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,automation,process",
      "component_id": "5797955407aa157901661cf2",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1a6c8661286b9fe6",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "_focus-outline",
      "normalized_name": "focus-outline",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_focus-outline.scss",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,process",
      "component_id": "19b19d687885ab4e7db209c0",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb575cdf1b79686f",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/app/assets/javascripts/application.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "style,automation,process",
      "component_id": "620359d758d517b08ba6d009",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d1b0c48d409cf1ce",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "application",
      "normalized_name": "application",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/app/assets/stylesheets/application.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "67621b84b723b96e58a9e84a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "9281c0421a82bd9f",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "secrets",
      "normalized_name": "secrets",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/config/secrets.yml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation,process",
      "component_id": "5f0deeab021e9758cc10921b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79829997df51a580",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "database",
      "normalized_name": "database",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/config/database.yml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation,process",
      "component_id": "9def389d145db462526d91b2",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "44028606fa633414",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/config/locales/en.yml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,process",
      "component_id": "01145ed1d680b57d4afb8d46",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f06a73c35179188",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "application-8f06a73c35179188914ab50e057157639fce1401c1cdca640ac9cec33746fc5b",
      "normalized_name": "application-8f06a73c35179188914ab50e057157639fce1401c1cdca640ac9cec33746fc5b",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/public/assets/application-8f06a73c35179188914ab50e057157639fce1401c1cdca640ac9cec33746fc5b.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "style,automation,process",
      "component_id": "6f30194ef752f20b15dff8cd",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e80e8f2318043e8a",
      "framework": "css",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113",
      "normalized_name": "application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,discovery,automation,process",
      "component_id": "c225728364e3c7e65f145e85",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "591dff3d1f5ae52c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": ".sprockets-manifest-86e2c41b1b56bdd98762176876cf1e31",
      "normalized_name": "sprockets-manifest-86e2c41b1b56bdd98762176876cf1e31",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/public/assets/.sprockets-manifest-86e2c41b1b56bdd98762176876cf1e31.json",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,observability,automation,process,ai",
      "component_id": "672ee102fc0b58fde236a202",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "afb68c208a277b44",
      "framework": "css",
      "imports": "",
      "lines": 2309,
      "logic_relevance": "none",
      "name": "application-e3aee515d50be10231cca2520c1c9e17165097b6130f64c112f08ab55dc8cf8a",
      "normalized_name": "application-e3aee515d50be10231cca2520c1c9e17165097b6130f64c112f08ab55dc8cf8a",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/public/assets/svs_style_guide/application-e3aee515d50be10231cca2520c1c9e17165097b6130f64c112f08ab55dc8cf8a.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security,ai",
      "component_id": "e9665673dc6f368c51b45cc6",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": " + prev + ,+i+,invalid,jquery,ujs:enable-with",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, Aa, Accordion, Animation, Ba, D, Ea, Fa | imports: + prev + , +i+, invalid, jquery, ujs:enable-with | automation-score:95 | process-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "A,Aa,Accordion,Animation,Ba,D,Ea,Fa,G,H,I,J,La,Lb,Mb,Nb,O,Ob,P,Pb,Q,R,S,Sizzle,T,Tween,U,Ua,Va,Vb,W,Wa,Xa,Ya,Za,Zb",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "876b14e974f7e748",
      "framework": "unknown",
      "imports": " + prev + ,+i+,invalid,jquery,ujs:enable-with",
      "lines": 11853,
      "logic_relevance": "none",
      "name": "application-876b14e974f7e7480981610cb55e133cec0b151dad5d92ad73672b24fd8ebe7e",
      "normalized_name": "application-876b14e974f7e7480981610cb55e133cec0b151dad5d92ad73672b24fd8ebe7e",
      "package_manager": "unknown",
      "path": "svs-automation/style-guide/test/dummy/public/assets/svs_style_guide/application-876b14e974f7e7480981610cb55e133cec0b151dad5d92ad73672b24fd8ebe7e.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic,security",
      "component_id": "ee839bbb8f0c0c62ad219b2c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7b06102b35f1511c",
      "framework": "unknown",
      "imports": "",
      "lines": 346,
      "logic_relevance": "secondary",
      "name": "get-sg-rules",
      "normalized_name": "get-sg-rules",
      "package_manager": "unknown",
      "path": "bash/get-sg-rules.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f107b0db63eb9d002b0c9c3f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23e6f222508d1c5f",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "top_ip_address",
      "normalized_name": "top-ip-address",
      "package_manager": "unknown",
      "path": "bash/top_ip_address.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "710933a05304bfd6c646c4d7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8c221eb8511fad49",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "get-sagemaker-image",
      "normalized_name": "get-sagemaker-image",
      "package_manager": "unknown",
      "path": "bash/get-sagemaker-image.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "f0bc0d5d5cb465a345332c59",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aba8340e8bf78979",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "get-appmesh-vgw",
      "normalized_name": "get-appmesh-vgw",
      "package_manager": "unknown",
      "path": "bash/get-appmesh-vgw.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "e1761ec670d28e4a48ff0f9b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d3d662489bc53524",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "seed",
      "normalized_name": "seed",
      "package_manager": "unknown",
      "path": "bash/seed.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "ea74fa64601d3a09d0a8662d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "61a1668a63a0fcac",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "062-get-s3-aps",
      "normalized_name": "062-get-s3-aps",
      "package_manager": "unknown",
      "path": "bash/062-get-s3-aps.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "ad2d21c46d4886fb70725b88",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ccbfe289a8d11532",
      "framework": "unknown",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "612-get-dms-endp",
      "normalized_name": "612-get-dms-endp",
      "package_manager": "unknown",
      "path": "bash/612-get-dms-endp.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "eb20e5f0d9772b945e0e5174",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bfa06592b6e25c59",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "get-sagemaker-image-versions",
      "normalized_name": "get-sagemaker-image-versions",
      "package_manager": "unknown",
      "path": "bash/get-sagemaker-image-versions.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "a4e267a078b450d179eb87bc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9bb53fca7b61fa27",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "410-get-config-recorder",
      "normalized_name": "410-get-config-recorder",
      "package_manager": "unknown",
      "path": "bash/410-get-config-recorder.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "408529320e62db7c5c38797f",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "efb491bd75bb2382",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "awscc-vpc",
      "normalized_name": "awscc-vpc",
      "package_manager": "unknown",
      "path": "bash/awscc-vpc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "67bb0d97fa9c9cd39d1f7ae3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e0e83771465b3170",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "get-sagemaker-app-image-config",
      "normalized_name": "get-sagemaker-app-image-config",
      "package_manager": "unknown",
      "path": "bash/get-sagemaker-app-image-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d68015f396cc0fff04ea9e8c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ac2ae5b7c0c98b7e",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "recalbox-includes",
      "normalized_name": "recalbox-includes",
      "package_manager": "unknown",
      "path": "bash/recalbox-includes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "92bc9b18ad827f945bd8e697",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f673aef4fbaedcc5",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "712-get-eb-bus",
      "normalized_name": "712-get-eb-bus",
      "package_manager": "unknown",
      "path": "bash/712-get-eb-bus.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "30b881f519ce1158d6adb2cc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67d6f8720fd7f40a",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "get-apigw-resource",
      "normalized_name": "get-apigw-resource",
      "package_manager": "unknown",
      "path": "bash/get-apigw-resource.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "519866f6d994e207f769e564",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "138d4e7091ab6986",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "check_md",
      "normalized_name": "check-md",
      "package_manager": "unknown",
      "path": "bash/check_md.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "79cb9fbd187d1d435ee59342",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8baae8d7e83be697",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "210-get-vpcpeer",
      "normalized_name": "210-get-vpcpeer",
      "package_manager": "unknown",
      "path": "bash/210-get-vpcpeer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "01b7ad28551d710b1ffce259",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec5285ece9623c5c",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "ns8_base_amz_linux_ami_config",
      "normalized_name": "ns8-base-amz-linux-ami-config",
      "package_manager": "unknown",
      "path": "bash/ns8_base_amz_linux_ami_config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,observability,security",
      "component_id": "e425d07beba3a042c2e661ed",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c9e7a036f8e0be73",
      "framework": "unknown",
      "imports": "",
      "lines": 154,
      "logic_relevance": "none",
      "name": "601-get-rds-ins",
      "normalized_name": "601-get-rds-ins",
      "package_manager": "unknown",
      "path": "bash/601-get-rds-ins.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration,observability",
      "component_id": "66e25d69ea2ccbe06fd3db75",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e317472dade45978",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "get-iam-groups-for-user",
      "normalized_name": "get-iam-groups-for-user",
      "package_manager": "unknown",
      "path": "bash/get-iam-groups-for-user.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "2dd9a198e4eec51a3a423298",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "517020c952d6757f",
      "framework": "unknown",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "recalbox-support",
      "normalized_name": "recalbox-support",
      "package_manager": "unknown",
      "path": "bash/recalbox-support.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,observability",
      "component_id": "c9aa2fab6859b8ddaafbb4e4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0f103682e1717764",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "414-get-config-recorder-status",
      "normalized_name": "414-get-config-recorder-status",
      "package_manager": "unknown",
      "path": "bash/414-get-config-recorder-status.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "9c08655f32f525b3631c5108",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5e1a5bfb723f3804",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "create_lxc",
      "normalized_name": "create-lxc",
      "package_manager": "unknown",
      "path": "bash/create_lxc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "bb928d736832c5669b04e5e7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "239c87b0559da6e1",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "013-get-org-policies",
      "normalized_name": "013-get-org-policies",
      "package_manager": "unknown",
      "path": "bash/013-get-org-policies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "c5a81072b647461b6732562b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "22636c508919e28e",
      "framework": "unknown",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "613-get-dms-tasks",
      "normalized_name": "613-get-dms-tasks",
      "package_manager": "unknown",
      "path": "bash/613-get-dms-tasks.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "ce242264fcaa202ba8713fa2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d2bb0d991fd4e2a2",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "get-appmesh-vr",
      "normalized_name": "get-appmesh-vr",
      "package_manager": "unknown",
      "path": "bash/get-appmesh-vr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "security,automation",
      "component_id": "5c3eb130c15995ed96913c83",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "argparse,json,os,subprocess,sys",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:argparse, json, os, subprocess, sys | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "491d9930114b414d",
      "framework": "python",
      "imports": "argparse,json,os,subprocess,sys",
      "lines": 147,
      "logic_relevance": "none",
      "name": "100-get-vpc",
      "normalized_name": "100-get-vpc",
      "package_manager": "unknown",
      "path": "bash/100-get-vpc.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "c1850cd8803ca4ad64d67796",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4373d7d989c50e5",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "202-get-transit-gateway-route-tables",
      "normalized_name": "202-get-transit-gateway-route-tables",
      "package_manager": "unknown",
      "path": "bash/202-get-transit-gateway-route-tables.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "c18e21f81ef9155d9dd59acd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d96dfd1662115390",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "users_whitelist",
      "normalized_name": "users-whitelist",
      "package_manager": "unknown",
      "path": "bash/users_whitelist.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "5eaad30bca8cb6d2a0a6cef5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "139397c43675885a",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "parallel_import",
      "normalized_name": "parallel-import",
      "package_manager": "unknown",
      "path": "bash/parallel_import.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic",
      "component_id": "a9bd69f1520f161e084173db",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b25d9149ac3a940",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "JSONRequest_Parser",
      "normalized_name": "jsonrequest-parser",
      "package_manager": "unknown",
      "path": "bash/JSONRequest_Parser.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "de25f9fadbe24bdc1296ad5e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d21c68bcee96c232",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "postEC2ip2slack",
      "normalized_name": "post-ec2ip2slack",
      "package_manager": "unknown",
      "path": "bash/postEC2ip2slack.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "0b48da85e15c951bd6682021",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc4a692ac7fab0b4",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "fucking-coffee",
      "normalized_name": "fucking-coffee",
      "package_manager": "unknown",
      "path": "bash/fucking-coffee.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic",
      "component_id": "3375bc02541fa7c44dc537a9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:70",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19ee281f5f8acb58",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "secondary",
      "name": "iptables_rules",
      "normalized_name": "iptables-rules",
      "package_manager": "unknown",
      "path": "bash/iptables_rules.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "d60c67ed8aa15965d28dc6a8",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6912657fd72ae3e5",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "209-get-transit-gateway-route-table-associations",
      "normalized_name": "209-get-transit-gateway-route-table-associations",
      "package_manager": "unknown",
      "path": "bash/209-get-transit-gateway-route-table-associations.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "48ada6c120b0ea3900cf69d9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6e1bc238c7655b09",
      "framework": "unknown",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "141-get-route-table-associations",
      "normalized_name": "141-get-route-table-associations",
      "package_manager": "unknown",
      "path": "bash/141-get-route-table-associations.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "5a2907cd13c3b112180813f5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "90fcf56b9fd50141",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "745-get-kinesis-firehose-delivery-stream",
      "normalized_name": "745-get-kinesis-firehose-delivery-stream",
      "package_manager": "unknown",
      "path": "bash/745-get-kinesis-firehose-delivery-stream.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "b1e08b1321a2b68c2c7e11df",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "31f00dd63403ba21",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "get-sc-portfolio-product-associations",
      "normalized_name": "get-sc-portfolio-product-associations",
      "package_manager": "unknown",
      "path": "bash/get-sc-portfolio-product-associations.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "ee4edb8facbb90e8d401e72f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f132d6521e1d819c",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "get-appmesh-vgw-routes",
      "normalized_name": "get-appmesh-vgw-routes",
      "package_manager": "unknown",
      "path": "bash/get-appmesh-vgw-routes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "8f26dcfcbc49765419c0f33c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8136b276bec78aa",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "350-get-ecs-cluster",
      "normalized_name": "350-get-ecs-cluster",
      "package_manager": "unknown",
      "path": "bash/350-get-ecs-cluster.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "5163b1b275ad8793d2c68d8c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5c096757dc66234f",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "get-appmesh-vs",
      "normalized_name": "get-appmesh-vs",
      "package_manager": "unknown",
      "path": "bash/get-appmesh-vs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "d19d5cceb7cfd5b0bbbe6022",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "033301472713d474",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "recalbox-mount",
      "normalized_name": "recalbox-mount",
      "package_manager": "unknown",
      "path": "bash/recalbox-mount.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation,security",
      "component_id": "78f7bb8d9e2e7a52d0bc3788",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "29c7f03c11bcc2de",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "recalbox-hash",
      "normalized_name": "recalbox-hash",
      "package_manager": "unknown",
      "path": "bash/recalbox-hash.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "75d08878fb928b17e8a949f5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b0e8693d4cbb4702",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "asg2tf",
      "normalized_name": "asg2tf",
      "package_manager": "unknown",
      "path": "bash/asg2tf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "863b0443078f802b4691dc56",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5415f3db4d6fc3b6",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "256-get-ec2-spot-fleet-request",
      "normalized_name": "256-get-ec2-spot-fleet-request",
      "package_manager": "unknown",
      "path": "bash/256-get-ec2-spot-fleet-request.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "dd6b239ef5e94021b58a1a20",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5c7099883c60f5e0",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "check_snmp_disk",
      "normalized_name": "check-snmp-disk",
      "package_manager": "unknown",
      "path": "bash/check_snmp_disk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,observability,security",
      "component_id": "92617ff6ea29434ec12dd238",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3f6cd6342ac00897",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "800-get-cloudfront-dist",
      "normalized_name": "800-get-cloudfront-dist",
      "package_manager": "unknown",
      "path": "bash/800-get-cloudfront-dist.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "a4098316bb6792f1e596919b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5942bc4205931adc",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "750-get-apigw-restapi",
      "normalized_name": "750-get-apigw-restapi",
      "package_manager": "unknown",
      "path": "bash/750-get-apigw-restapi.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration,security",
      "component_id": "2767939492bfa00e2f1aa106",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "99f55751952783e2",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "auto-scaling-groups",
      "normalized_name": "auto-scaling-groups",
      "package_manager": "unknown",
      "path": "bash/auto-scaling-groups.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration",
      "component_id": "0a8bcd0c748efbae41facfea",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e524ca3a795fd642",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "258-get-autoscaling-groups",
      "normalized_name": "258-get-autoscaling-groups",
      "package_manager": "unknown",
      "path": "bash/258-get-autoscaling-groups.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security,ai",
      "component_id": "888c55805a28e01745e04f13",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "515549d10fd51020",
      "framework": "unknown",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "mongo_reclaim",
      "normalized_name": "mongo-reclaim",
      "package_manager": "unknown",
      "path": "bash/mongo_reclaim.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "bb75bb75bbea3485fbc628f8",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f2fffea6363c6aa",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "dagah_gui_installer",
      "normalized_name": "dagah-gui-installer",
      "package_manager": "unknown",
      "path": "bash/dagah_gui_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "105a8156dd9f932f87b448c5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9e8d2c049cd04bd5",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "101-get-vpc-cidr",
      "normalized_name": "101-get-vpc-cidr",
      "package_manager": "unknown",
      "path": "bash/101-get-vpc-cidr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1cf8240ef6a9b58c37a5bfa3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "optparse,re,signal,socket,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:debug, err, run, warn | imports:optparse, re, signal, socket, sys | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "debug,err,run,warn",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "12e5b39726bf385c",
      "framework": "python",
      "imports": "optparse,re,signal,socket,sys",
      "lines": 93,
      "logic_relevance": "none",
      "name": "template_python_script",
      "normalized_name": "template-python-script",
      "package_manager": "unknown",
      "path": "bash/template_python_script.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "f249bc9b6d2eb7722790ca83",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "666722d0b3df5150",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "051-get-iam-role-policies",
      "normalized_name": "051-get-iam-role-policies",
      "package_manager": "unknown",
      "path": "bash/051-get-iam-role-policies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "849b42617afcc4a41c3d96f0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7f64d208b853c69e",
      "framework": "unknown",
      "imports": "",
      "lines": 256,
      "logic_relevance": "none",
      "name": "ecs2tf",
      "normalized_name": "ecs2tf",
      "package_manager": "unknown",
      "path": "bash/ecs2tf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "399ab52b9637d3fc6afb9f0c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "584bd24f3a2486b7",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "vagrant_configure",
      "normalized_name": "vagrant-configure",
      "package_manager": "unknown",
      "path": "bash/vagrant_configure.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ad94e3c5c9749e1810084619",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b7381cbff1dc8448",
      "framework": "unknown",
      "imports": "",
      "lines": 432,
      "logic_relevance": "none",
      "name": "miniTFTSupport",
      "normalized_name": "mini-tftsupport",
      "package_manager": "unknown",
      "path": "bash/miniTFTSupport.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "3261c1774bfc6043036f159a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d827ec75150a48f9",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "412-get-config-delivery_channel",
      "normalized_name": "412-get-config-delivery-channel",
      "package_manager": "unknown",
      "path": "bash/412-get-config-delivery_channel.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "7f3c7bdee27d53271b550edb",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dffacf76efdc3544",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "geoupdate",
      "normalized_name": "geoupdate",
      "package_manager": "unknown",
      "path": "bash/geoupdate.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "9a12f4a9c66413fc757e052c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "58b6c6849150f5cb",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "776-get-cognito-user-pool-client",
      "normalized_name": "776-get-cognito-user-pool-client",
      "package_manager": "unknown",
      "path": "bash/776-get-cognito-user-pool-client.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration,observability,security",
      "component_id": "464f8466fcea16a00c3c816e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "031ab2def7a3836b",
      "framework": "unknown",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "get-eks-cluster-nodegroups",
      "normalized_name": "get-eks-cluster-nodegroups",
      "package_manager": "unknown",
      "path": "bash/get-eks-cluster-nodegroups.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "7954cb74bb6d03efd6138f04",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "36fe94fb2955f069",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "fix-def-route",
      "normalized_name": "fix-def-route",
      "package_manager": "unknown",
      "path": "bash/fix-def-route.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "49a215619b02143b878ed39c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "63b2e8c3bb78d444",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "prich_nginxconf",
      "normalized_name": "prich-nginxconf",
      "package_manager": "unknown",
      "path": "bash/prich_nginxconf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "44c4933e3bebbaf4d2a3d650",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ffc6fc3045bf566e",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "get-glue-partition",
      "normalized_name": "get-glue-partition",
      "package_manager": "unknown",
      "path": "bash/get-glue-partition.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e4c21376ada17b5ab55bbbff",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "479298b6a3251445",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "660-athena-queries",
      "normalized_name": "660-athena-queries",
      "package_manager": "unknown",
      "path": "bash/660-athena-queries.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d6fb3f91fd6c50d889e452e2",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fbec0650e83a9d83",
      "framework": "unknown",
      "imports": "",
      "lines": 666,
      "logic_relevance": "none",
      "name": "recalbox-config",
      "normalized_name": "recalbox-config",
      "package_manager": "unknown",
      "path": "bash/recalbox-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "88274f4acfb451047d18b97e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b4be49b198b6fc35",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "recalbox-encode",
      "normalized_name": "recalbox-encode",
      "package_manager": "unknown",
      "path": "bash/recalbox-encode.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,security",
      "component_id": "0907ce8da398320a56b33531",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e75c2d262a08ad6b",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "kodilauncher",
      "normalized_name": "kodilauncher",
      "package_manager": "unknown",
      "path": "bash/kodilauncher.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "e28c56d144fb0ae89fbfd209",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4efe064d37fda7da",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "get-security-group",
      "normalized_name": "get-security-group",
      "package_manager": "unknown",
      "path": "bash/get-security-group.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4079d4c6c7a97a51a1966826",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca65e7289a6f2960",
      "framework": "unknown",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "get-sc-portfolio-constraints",
      "normalized_name": "get-sc-portfolio-constraints",
      "package_manager": "unknown",
      "path": "bash/get-sc-portfolio-constraints.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,backend,security",
      "component_id": "9f8200ee256cb20c5cf524f6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8aeb4d7b2ffc68c",
      "framework": "unknown",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "get-ecs-service",
      "normalized_name": "get-ecs-service",
      "package_manager": "unknown",
      "path": "bash/get-ecs-service.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "9b8482ff7b3783c447c55427",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6472efe606128ff9",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "get-emr-scal-policy",
      "normalized_name": "get-emr-scal-policy",
      "package_manager": "unknown",
      "path": "bash/get-emr-scal-policy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "aa5dff7ead39101662310f14",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "089a5d1d83c6654b",
      "framework": "unknown",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "parallel_import2",
      "normalized_name": "parallel-import2",
      "package_manager": "unknown",
      "path": "bash/parallel_import2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e70456936be88c1f37234ba7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "15945f2c88b71a70",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "681-get-sagemaker-user-profile",
      "normalized_name": "681-get-sagemaker-user-profile",
      "package_manager": "unknown",
      "path": "bash/681-get-sagemaker-user-profile.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "62096c0780c277cacfab5ebb",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "61176325057246d2",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "scripts_draft",
      "normalized_name": "scripts-draft",
      "package_manager": "unknown",
      "path": "bash/scripts_draft.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "e91c06e0684aabbeaba40e55",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc1408db190a1cf6",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "650-get-glue-database",
      "normalized_name": "650-get-glue-database",
      "package_manager": "unknown",
      "path": "bash/650-get-glue-database.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "054ef1d63f83d9c92f55dc84",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8556c9f8b9b5f6cf",
      "framework": "unknown",
      "imports": "",
      "lines": 253,
      "logic_relevance": "none",
      "name": "060-get-s3",
      "normalized_name": "060-get-s3",
      "package_manager": "unknown",
      "path": "bash/060-get-s3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e3a3565b015aa27003d53be4",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a66f11438d55da0",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "130-get-natgw",
      "normalized_name": "130-get-natgw",
      "package_manager": "unknown",
      "path": "bash/130-get-natgw.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "56211b5d940d26e1b8e11bde",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cc238232733c91de",
      "framework": "unknown",
      "imports": "",
      "lines": 199,
      "logic_relevance": "none",
      "name": "442-get-ssm-association",
      "normalized_name": "442-get-ssm-association",
      "package_manager": "unknown",
      "path": "bash/442-get-ssm-association.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "b026ca6158373b85be91675b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec6883f4e3ce343f",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "360-get-appmesh-mesh",
      "normalized_name": "360-get-appmesh-mesh",
      "package_manager": "unknown",
      "path": "bash/360-get-appmesh-mesh.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "99b61c2a2a5c85489ed0bc0b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b70383bfad214ca4",
      "framework": "unknown",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "720-get-sqs-queue",
      "normalized_name": "720-get-sqs-queue",
      "package_manager": "unknown",
      "path": "bash/720-get-sqs-queue.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "079d95ffc5f965811523b7df",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "688e6242ed71dc6c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "doflow-eval3",
      "normalized_name": "doflow-eval3",
      "package_manager": "unknown",
      "path": "bash/doflow-eval3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "50c10bcc219dfa21351d8179",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3bfc4039206e8918",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "get-sd-service",
      "normalized_name": "get-sd-service",
      "package_manager": "unknown",
      "path": "bash/get-sd-service.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "d2e3afb5766a0ffd42e20460",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28fe2005f36d0ca2",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "011-get-orgaccounts",
      "normalized_name": "011-get-orgaccounts",
      "package_manager": "unknown",
      "path": "bash/011-get-orgaccounts.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "6197e9424be1fc909a85d7ab",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "87f10ca4f83f8be3",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "225-get-cvpn-endpoints",
      "normalized_name": "225-get-cvpn-endpoints",
      "package_manager": "unknown",
      "path": "bash/225-get-cvpn-endpoints.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "2afca5297dffa9839a001d51",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "38b378713480b2aa",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "get-secret-version",
      "normalized_name": "get-secret-version",
      "package_manager": "unknown",
      "path": "bash/get-secret-version.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "da216eaa594a1c88dd726ab1",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e32b1b39988b335f",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "eks-admin-service-account",
      "normalized_name": "eks-admin-service-account",
      "package_manager": "unknown",
      "path": "bash/eks-admin-service-account.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "4d42ecb0a1b2ce8ba45b3da5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c35cb6ea873fc7f",
      "framework": "unknown",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "714-get-eb-target",
      "normalized_name": "714-get-eb-target",
      "package_manager": "unknown",
      "path": "bash/714-get-eb-target.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e7410549bab9b195f2e692ff",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19b5dc9adbfd348d",
      "framework": "unknown",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "416-get-config-rule",
      "normalized_name": "416-get-config-rule",
      "package_manager": "unknown",
      "path": "bash/416-get-config-rule.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "8ef14db0423ccec60a8c31bc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "818182ee829e1f6c",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "081-get-kms-alias",
      "normalized_name": "081-get-kms-alias",
      "package_manager": "unknown",
      "path": "bash/081-get-kms-alias.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "1eac3c9521a4f477804e4acd",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fae57abf5d7ca9d3",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "bluetoothcontrollers",
      "normalized_name": "bluetoothcontrollers",
      "package_manager": "unknown",
      "path": "bash/bluetoothcontrollers.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "452375af10fcf4d0fb183d15",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "489b03a7151b5194",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "generate_key",
      "normalized_name": "generate-key",
      "package_manager": "unknown",
      "path": "bash/generate_key.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "3954325e1d2eb77c2081090c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6bd0f83f300ee18c",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "accesskey",
      "normalized_name": "accesskey",
      "package_manager": "unknown",
      "path": "bash/accesskey.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "f0fc21764a4bd8d4a6df6144",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1439d283d2d7cd23",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "111-get-dhcp-options",
      "normalized_name": "111-get-dhcp-options",
      "package_manager": "unknown",
      "path": "bash/111-get-dhcp-options.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "82ae792d0337606315896bef",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "529abebc6d988825",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "770-get-cognito-identity-pools",
      "normalized_name": "770-get-cognito-identity-pools",
      "package_manager": "unknown",
      "path": "bash/770-get-cognito-identity-pools.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "1d9012388e47da843101224c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d4dc2b015023653d",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "get-lambda-event-invoke-configs",
      "normalized_name": "get-lambda-event-invoke-configs",
      "package_manager": "unknown",
      "path": "bash/get-lambda-event-invoke-configs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "12197d8bb5ea3c6d321beefe",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8792175d3b701431",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "255-get-ec2-launch-templates",
      "normalized_name": "255-get-ec2-launch-templates",
      "package_manager": "unknown",
      "path": "bash/255-get-ec2-launch-templates.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "8ec5a506bf61c82de37524ea",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c37a982a73620e4",
      "framework": "unknown",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "get-sd-priv-dns-ns",
      "normalized_name": "get-sd-priv-dns-ns",
      "package_manager": "unknown",
      "path": "bash/get-sd-priv-dns-ns.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "038183f7a9ada1b35812da70",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "568a0bc2e48aaf01",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "doflow-eval2",
      "normalized_name": "doflow-eval2",
      "package_manager": "unknown",
      "path": "bash/doflow-eval2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e145a77dae3bf98e73bb940b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6fbd36e605069fe",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "mongodb_backup",
      "normalized_name": "mongodb-backup",
      "package_manager": "unknown",
      "path": "bash/mongodb_backup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "b788186d05edcccc753f6ee9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f035a0de103d3f22",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "371-get-emr-sec-config",
      "normalized_name": "371-get-emr-sec-config",
      "package_manager": "unknown",
      "path": "bash/371-get-emr-sec-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "912ce5a3143c75987ecb4d1f",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8807f526d0b561d9",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "autodoc",
      "normalized_name": "autodoc",
      "package_manager": "unknown",
      "path": "bash/autodoc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "a266460956b56e6b39793906",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "714114949f163771",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "627-get-code-artifact-repository",
      "normalized_name": "627-get-code-artifact-repository",
      "package_manager": "unknown",
      "path": "bash/627-get-code-artifact-repository.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "9bad7786af85723cdff22bc2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b0cb2ce1c70fb5b5",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "merger",
      "normalized_name": "merger",
      "package_manager": "unknown",
      "path": "bash/merger.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "75e7ce2b43965b22f51d7d0c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9bbaa119fd7f65a8",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "svnconfbackup",
      "normalized_name": "svnconfbackup",
      "package_manager": "unknown",
      "path": "bash/svnconfbackup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3d264ac26d12983d8e64f00a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "49312362b5d1e7cc",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "recalbox-themes",
      "normalized_name": "recalbox-themes",
      "package_manager": "unknown",
      "path": "bash/recalbox-themes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "a2617d4e7991df6769657cdc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e160e288c627dc4c",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "201-get-transit-gateway",
      "normalized_name": "201-get-transit-gateway",
      "package_manager": "unknown",
      "path": "bash/201-get-transit-gateway.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "04c65e7d8dcfe8f61a40c627",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c1cbf21a1b1f308f",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "629-get-code-pipeline",
      "normalized_name": "629-get-code-pipeline",
      "package_manager": "unknown",
      "path": "bash/629-get-code-pipeline.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "7518191f2ffc91a2af6cc6fb",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aa8a8e8d09608131",
      "framework": "unknown",
      "imports": "",
      "lines": 167,
      "logic_relevance": "none",
      "name": "recalbox-part",
      "normalized_name": "recalbox-part",
      "package_manager": "unknown",
      "path": "bash/recalbox-part.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "12dddce4b4caa72dcbe6cbd9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e30936a386bcf9f3",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "webdiff",
      "normalized_name": "webdiff",
      "package_manager": "unknown",
      "path": "bash/webdiff.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "6e613f96c771517318c5c484",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6c11a5ad6c8ff1f4",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "restore",
      "normalized_name": "restore",
      "package_manager": "unknown",
      "path": "bash/restore.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "7d1ff2d70ac987ca32301412",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e749a818b84ea21d",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "640-get-dynamodb-table",
      "normalized_name": "640-get-dynamodb-table",
      "package_manager": "unknown",
      "path": "bash/640-get-dynamodb-table.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "36b82e02177617a43ed06902",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c64e6ff22c3faf4e",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "get-appmesh-r",
      "normalized_name": "get-appmesh-r",
      "package_manager": "unknown",
      "path": "bash/get-appmesh-r.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "3e03317e4b01efbc00267483",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "674fcc7928d99ef9",
      "framework": "unknown",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "get-glue-table",
      "normalized_name": "get-glue-table",
      "package_manager": "unknown",
      "path": "bash/get-glue-table.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "9215a86ca814be5f1adc804b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e6b455c1edaff6a8",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "elbv2_listener",
      "normalized_name": "elbv2-listener",
      "package_manager": "unknown",
      "path": "bash/elbv2_listener.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "0561b6c73bb8797b60746c4d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "20186c2e8e79a39a",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "370-get-emr-cluster",
      "normalized_name": "370-get-emr-cluster",
      "package_manager": "unknown",
      "path": "bash/370-get-emr-cluster.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic",
      "component_id": "c83b5557a4b5e7eb284505b9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7033ceefe94612fd",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "recalbox-utils",
      "normalized_name": "recalbox-utils",
      "package_manager": "unknown",
      "path": "bash/recalbox-utils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "68d2c24ee4aad33049efe529",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37e2320fe7457587",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "recalbox-usbmount",
      "normalized_name": "recalbox-usbmount",
      "package_manager": "unknown",
      "path": "bash/recalbox-usbmount.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "2f10b9bf56b518c7e7723362",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cce1befc16e3c0da",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "hangover",
      "normalized_name": "hangover",
      "package_manager": "unknown",
      "path": "bash/hangover.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e03f1ce9581b0630def00a0f",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d7e3f09806504872",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "mysqlbackup_snapshot",
      "normalized_name": "mysqlbackup-snapshot",
      "package_manager": "unknown",
      "path": "bash/mysqlbackup_snapshot.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "bff29ad16c8c78cd89ced3c2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "98acffee34e3a56a",
      "framework": "unknown",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "chroot_ssh_freebsd",
      "normalized_name": "chroot-ssh-freebsd",
      "package_manager": "unknown",
      "path": "bash/chroot_ssh_freebsd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "dc00237a5d8cb56804e1ae69",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f55d61d04fe4984",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "userPerms",
      "normalized_name": "user-perms",
      "package_manager": "unknown",
      "path": "bash/userPerms.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "5836d2e570c1034fc582f0d2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b20de77225bd63f",
      "framework": "unknown",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "post-fixer",
      "normalized_name": "post-fixer",
      "package_manager": "unknown",
      "path": "bash/post-fixer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "d6960b3251c82f36bb23b2fa",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "62a344e8113c87b5",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "999-get-cloudformation",
      "normalized_name": "999-get-cloudformation",
      "package_manager": "unknown",
      "path": "bash/999-get-cloudformation.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "bbb907bfec711bb8adb15213",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d2bc015310b46bd8",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "227-get-vpn-connections",
      "normalized_name": "227-get-vpn-connections",
      "package_manager": "unknown",
      "path": "bash/227-get-vpn-connections.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "4fd330faf1936b04e834bfc1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f430f37f1e07535",
      "framework": "unknown",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "bash-web-server",
      "normalized_name": "bash-web-server",
      "package_manager": "unknown",
      "path": "bash/bash-web-server.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "345eb180a95ed6b30b31700c",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f923c62c2f8e6426",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "scp",
      "normalized_name": "scp",
      "package_manager": "unknown",
      "path": "bash/scp.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "bb5f306931ba54d75eefb94a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4b73e2ace6c0813",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "check_md5sums_script",
      "normalized_name": "check-md5sums-script",
      "package_manager": "unknown",
      "path": "bash/check_md5sums_script.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "5dc820fc28e40dce10d7245b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9fb14d99909da993",
      "framework": "unknown",
      "imports": "",
      "lines": 184,
      "logic_relevance": "none",
      "name": "get-stack",
      "normalized_name": "get-stack",
      "package_manager": "unknown",
      "path": "bash/get-stack.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "57a7297cfcd6e4f3a47c015e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c94bd37df7145db1",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "get-suborg-ou",
      "normalized_name": "get-suborg-ou",
      "package_manager": "unknown",
      "path": "bash/get-suborg-ou.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "47334e15ad992335fc565d67",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8fe5f55b2658defd",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "create-eks-admin",
      "normalized_name": "create-eks-admin",
      "package_manager": "unknown",
      "path": "bash/create-eks-admin.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "5580aad51bdbc17822468e7d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b285995b14f23e3",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "252-get-c9",
      "normalized_name": "252-get-c9",
      "package_manager": "unknown",
      "path": "bash/252-get-c9.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration,security",
      "component_id": "58a8cb199d483e09752ddf18",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9dc9e94444c6b5f1",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "eks-auto-scaling-groups",
      "normalized_name": "eks-auto-scaling-groups",
      "package_manager": "unknown",
      "path": "bash/eks-auto-scaling-groups.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,observability,security",
      "component_id": "81b833d9fa6bb4ab9024ae19",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe1aa2c76ecbcce2",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "fargate_profile",
      "normalized_name": "fargate-profile",
      "package_manager": "unknown",
      "path": "bash/fargate_profile.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "d8636aca07237e436793a994",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "48ffe51af1b182b4",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "get-vpce-services",
      "normalized_name": "get-vpce-services",
      "package_manager": "unknown",
      "path": "bash/get-vpce-services.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "e6565f71b44951ce3e1d23af",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "495a2cc51a0979ec",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "090-get-cloudtrail",
      "normalized_name": "090-get-cloudtrail",
      "package_manager": "unknown",
      "path": "bash/090-get-cloudtrail.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ba49abddaced8ad4b0c8ed5b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23890209be7a8056",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "get-sns-topic-policy",
      "normalized_name": "get-sns-topic-policy",
      "package_manager": "unknown",
      "path": "bash/get-sns-topic-policy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,security",
      "component_id": "9937d2016889f17477d55fdb",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c65c7f5267b8182",
      "framework": "unknown",
      "imports": "",
      "lines": 169,
      "logic_relevance": "none",
      "name": "700-get-lambda-function",
      "normalized_name": "700-get-lambda-function",
      "package_manager": "unknown",
      "path": "bash/700-get-lambda-function.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "b58168a6ae3d5772c7dae0bc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d77f1ff3afd615b1",
      "framework": "unknown",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "055-get-iam-policies",
      "normalized_name": "055-get-iam-policies",
      "package_manager": "unknown",
      "path": "bash/055-get-iam-policies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "637c9a4659fc8d043dc73afc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "46458580fb0e5bfd",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "100-get-vpc",
      "normalized_name": "100-get-vpc",
      "package_manager": "unknown",
      "path": "bash/100-get-vpc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e61aef1e7a3e8178406edf7c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7b167335808ebc2a",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "systemsetting",
      "normalized_name": "systemsetting",
      "package_manager": "unknown",
      "path": "bash/systemsetting.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "ea4ef872597041f4bfba6673",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b03b5edfa7feb948",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "120-get-igw",
      "normalized_name": "120-get-igw",
      "package_manager": "unknown",
      "path": "bash/120-get-igw.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "dadfd7cf7bf4f9627cf81ff7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0b4c0e3bed5d55fd",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "get-apigw-method",
      "normalized_name": "get-apigw-method",
      "package_manager": "unknown",
      "path": "bash/get-apigw-method.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "security",
      "component_id": "a927e1c2cdbabf251df9de18",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "RPi.GPIO,argparse,os",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:shutdown | imports:RPi.GPIO, argparse, os | security-score:55",
      "exports": "shutdown",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bafa90a30a17386d",
      "framework": "python",
      "imports": "RPi.GPIO,argparse,os",
      "lines": 32,
      "logic_relevance": "none",
      "name": "rpi-pin56-power",
      "normalized_name": "rpi-pin56-power",
      "package_manager": "unknown",
      "path": "bash/rpi-pin56-power.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security,logic",
      "component_id": "ffc5e2795e7b03c971dac435",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cbf9cce434e8e3a1",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "secondary",
      "name": "680-get-sagemaker-domain",
      "normalized_name": "680-get-sagemaker-domain",
      "package_manager": "unknown",
      "path": "bash/680-get-sagemaker-domain.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,security",
      "component_id": "5d4fcffb0b42cd1a5ab3c378",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f8c47eb952def4b3",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "057-get-iam-access-key",
      "normalized_name": "057-get-iam-access-key",
      "package_manager": "unknown",
      "path": "bash/057-get-iam-access-key.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e82d4e4edd11b1873291a5a2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5cb60d5001402fc8",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "702-get-lambda-layers",
      "normalized_name": "702-get-lambda-layers",
      "package_manager": "unknown",
      "path": "bash/702-get-lambda-layers.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "f7b455aeba80b9cdf52c42ac",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4bce3d4f3f444a93",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "625-get-code-build-project",
      "normalized_name": "625-get-code-build-project",
      "package_manager": "unknown",
      "path": "bash/625-get-code-build-project.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "d7773c062b73103b30cef48c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d1af9792afd531ad",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "107-get-network-acl",
      "normalized_name": "107-get-network-acl",
      "package_manager": "unknown",
      "path": "bash/107-get-network-acl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "cb2226c232b6a682020fcac0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fefaea92cf2142b2",
      "framework": "unknown",
      "imports": "",
      "lines": 158,
      "logic_relevance": "none",
      "name": "021-get-sso-permsets",
      "normalized_name": "021-get-sso-permsets",
      "package_manager": "unknown",
      "path": "bash/021-get-sso-permsets.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "2b04a8f428e524ecae60da98",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dec93a4a49d98644",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "usbmodem_watchdog",
      "normalized_name": "usbmodem-watchdog",
      "package_manager": "unknown",
      "path": "bash/usbmodem_watchdog.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "19dc655642225a98cb78a499",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f11211e0b773b66e",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "713-get-eb-rule",
      "normalized_name": "713-get-eb-rule",
      "package_manager": "unknown",
      "path": "bash/713-get-eb-rule.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "2b215b3cc0279897bc66239a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ee88a7bfbb38766b",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "template_bash_script",
      "normalized_name": "template-bash-script",
      "package_manager": "unknown",
      "path": "bash/template_bash_script.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "efef17906c77341e9e569a9e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "115bb7f6574a72ac",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "030-get-iam-users",
      "normalized_name": "030-get-iam-users",
      "package_manager": "unknown",
      "path": "bash/030-get-iam-users.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "df356861a2b51f3b9dff084b",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4bff9736fbb6b622",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "udev-sixpair",
      "normalized_name": "udev-sixpair",
      "package_manager": "unknown",
      "path": "bash/udev-sixpair.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability",
      "component_id": "c447e1a45957c6d959c37c6e",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a88ff140884a6b1",
      "framework": "unknown",
      "imports": "",
      "lines": 3137,
      "logic_relevance": "none",
      "name": "temp",
      "normalized_name": "temp",
      "package_manager": "unknown",
      "path": "bash/temp.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "8edfa7465fc7f722d362c375",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7e37b552c02b2cdd",
      "framework": "unknown",
      "imports": "",
      "lines": 119,
      "logic_relevance": "none",
      "name": "731-get-sns-subscriptions",
      "normalized_name": "731-get-sns-subscriptions",
      "package_manager": "unknown",
      "path": "bash/731-get-sns-subscriptions.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "a336d78a74d04d0ea8733fd1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9f22b3abe059e3d4",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "get-transit-gateway-vpn-attachments",
      "normalized_name": "get-transit-gateway-vpn-attachments",
      "package_manager": "unknown",
      "path": "bash/get-transit-gateway-vpn-attachments.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "93a2edebac53d7e42032798d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4405124038ab5466",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "get-sagemaker-app",
      "normalized_name": "get-sagemaker-app",
      "package_manager": "unknown",
      "path": "bash/get-sagemaker-app.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c594f539474ce6fdaf632133",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b7bf58dd8afda806",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "get-sc-portfolio-principal",
      "normalized_name": "get-sc-portfolio-principal",
      "package_manager": "unknown",
      "path": "bash/get-sc-portfolio-principal.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "67d3bdeeae9dd5b0de63e63b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "xmpp",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:xmpp | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f3577f6e496f5601",
      "framework": "python",
      "imports": "xmpp",
      "lines": 21,
      "logic_relevance": "none",
      "name": "send_xmpp_message",
      "normalized_name": "send-xmpp-message",
      "package_manager": "unknown",
      "path": "bash/send_xmpp_message.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration,observability",
      "component_id": "563c420eadc53e7ee75a2e9c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37dffdae391e2401",
      "framework": "unknown",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "034-get-iam-groups",
      "normalized_name": "034-get-iam-groups",
      "package_manager": "unknown",
      "path": "bash/034-get-iam-groups.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e3408d28caac55f18f628f59",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c50ce2452e4cf011",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "630-get-lf-settings",
      "normalized_name": "630-get-lf-settings",
      "package_manager": "unknown",
      "path": "bash/630-get-lf-settings.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "37e78d56e98cfa2045de066e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6c5343ebbd31723d",
      "framework": "unknown",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "get-eni",
      "normalized_name": "get-eni",
      "package_manager": "unknown",
      "path": "bash/get-eni.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "3a8a64075556aead4d5dd0d6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "69fe5abb7e4ef0dd",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "810-get-sc-portfolio",
      "normalized_name": "810-get-sc-portfolio",
      "package_manager": "unknown",
      "path": "bash/810-get-sc-portfolio.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4f1b7f6e8d4a7938e5f1939e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34240a55c0fed8d8",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "775-get-cognito-user-pools",
      "normalized_name": "775-get-cognito-user-pools",
      "package_manager": "unknown",
      "path": "bash/775-get-cognito-user-pools.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "944b0b3a98e600722bddf90a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2cc63d34c028201",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "type-get-transitgw",
      "normalized_name": "type-get-transitgw",
      "package_manager": "unknown",
      "path": "bash/type-get-transitgw.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,security",
      "component_id": "7436bf9c72434528dda0a327",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "16c4a21de75e030a",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "eks-launch_template",
      "normalized_name": "eks-launch-template",
      "package_manager": "unknown",
      "path": "bash/eks-launch_template.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,observability,security,process",
      "component_id": "804c2a9dd708353f9891a7a1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d21e1a7eb7c92e22",
      "framework": "unknown",
      "imports": "",
      "lines": 223,
      "logic_relevance": "none",
      "name": "440-get-ssm-doc",
      "normalized_name": "440-get-ssm-doc",
      "package_manager": "unknown",
      "path": "bash/440-get-ssm-doc.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "8fc0c04e9f2b659bee1ea8d5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8393cef4c4706828",
      "framework": "unknown",
      "imports": "",
      "lines": 277,
      "logic_relevance": "none",
      "name": "300-get-eks-cluster",
      "normalized_name": "300-get-eks-cluster",
      "package_manager": "unknown",
      "path": "bash/300-get-eks-cluster.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "ea95483445fcf0b1e8b5c12d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d34da645599d3669",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "check_areca",
      "normalized_name": "check-areca",
      "package_manager": "unknown",
      "path": "bash/check_areca.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "f3c9354f3b6566e61aa529c5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6435a8267a87161b",
      "framework": "unknown",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "recalbox-sync",
      "normalized_name": "recalbox-sync",
      "package_manager": "unknown",
      "path": "bash/recalbox-sync.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5fe5e1d74693a7ea89030487",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3ba770aa40ee7921",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "mp3",
      "normalized_name": "mp3",
      "package_manager": "unknown",
      "path": "bash/mp3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4e781bae63df702165ee9bba",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b618e8a18225b60",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "631-get-lf-resources",
      "normalized_name": "631-get-lf-resources",
      "package_manager": "unknown",
      "path": "bash/631-get-lf-resources.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,security",
      "component_id": "0078369475bd4ea3c16af462",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "58b1e70b770e2f45",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "080-get-kms-key",
      "normalized_name": "080-get-kms-key",
      "package_manager": "unknown",
      "path": "bash/080-get-kms-key.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4cd05ca77b388b9c8e984dbd",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23a73467da7300c6",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "730-get-sns-topic",
      "normalized_name": "730-get-sns-topic",
      "package_manager": "unknown",
      "path": "bash/730-get-sns-topic.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "dccf177c62c7ce67927b3c4a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e2df5b571670e0f4",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "get-sso-man-pol-attach",
      "normalized_name": "get-sso-man-pol-attach",
      "package_manager": "unknown",
      "path": "bash/get-sso-man-pol-attach.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "6164357ef19a2aeaf4399b34",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f09f7f596cb80f3",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "bash_exit_code_example",
      "normalized_name": "bash-exit-code-example",
      "package_manager": "unknown",
      "path": "bash/bash_exit_code_example.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,security",
      "component_id": "1fe0e9e0d265cc8f8bb52e08",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "74d8e4e011074ce5",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "get-ecr",
      "normalized_name": "get-ecr",
      "package_manager": "unknown",
      "path": "bash/get-ecr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "82eb0b8b6830dd02cdf7ded7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f66fb37ab77de483",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "fix-def-sgs",
      "normalized_name": "fix-def-sgs",
      "package_manager": "unknown",
      "path": "bash/fix-def-sgs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "84a991f39467603de3a1c6ac",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "727416eac2d779b5",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "get-eip",
      "normalized_name": "get-eip",
      "package_manager": "unknown",
      "path": "bash/get-eip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,security,logic",
      "component_id": "86ac8c189a487322589030bf",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e18ab1f442ceae1b",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "secondary",
      "name": "627-get-code-artifact-domain",
      "normalized_name": "627-get-code-artifact-domain",
      "package_manager": "unknown",
      "path": "bash/627-get-code-artifact-domain.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,integration,security",
      "component_id": "7f2769d34808955aab5fb470",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "177e1c8012a0976d",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "elbv2-target-groups",
      "normalized_name": "elbv2-target-groups",
      "package_manager": "unknown",
      "path": "bash/elbv2-target-groups.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "1af12af79dfb1ed2e94b771d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e8320ad441c35cdb",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "configure",
      "normalized_name": "configure",
      "package_manager": "unknown",
      "path": "bash/configure.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "b6eb628812f588c75c8dd778",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ed8ead4329193671",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "get-priv-hzn",
      "normalized_name": "get-priv-hzn",
      "package_manager": "unknown",
      "path": "bash/get-priv-hzn.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "6cd9e47ed91157b0c09fdc9c",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c21456e0b4f7162",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "vagrantcleanup",
      "normalized_name": "vagrantcleanup",
      "package_manager": "unknown",
      "path": "bash/vagrantcleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a607faf03331f36c2735d7fc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "97bf08543c37b503",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "java_prof",
      "normalized_name": "java-prof",
      "package_manager": "unknown",
      "path": "bash/java_prof.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic",
      "component_id": "5932d487bf3fa96d0ab07346",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:70",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a93f9ddfc331e481",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "secondary",
      "name": "ipfw_rules",
      "normalized_name": "ipfw-rules",
      "package_manager": "unknown",
      "path": "bash/ipfw_rules.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1229a8dc49ca1b1437e6991f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "collections,datetime,re,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:goodref, ispage, pythonized | imports:collections, datetime, re, sys | observability-score:55 | security-score:55",
      "exports": "goodref,ispage,pythonized",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "27d66d6d48641078",
      "framework": "python",
      "imports": "collections,datetime,re,sys",
      "lines": 128,
      "logic_relevance": "none",
      "name": "apache_top5log",
      "normalized_name": "apache-top5log",
      "package_manager": "unknown",
      "path": "bash/apache_top5log.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "observability",
      "component_id": "9ee3ffd63fdb301e6c775a14",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "ctypes,os,platform,sys,time",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:countCpu | imports:ctypes, os, platform, sys, time | observability-score:55",
      "exports": "countCpu",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20740b8e44981c63",
      "framework": "python",
      "imports": "ctypes,os,platform,sys,time",
      "lines": 87,
      "logic_relevance": "none",
      "name": "cpu_util_linux_bsd",
      "normalized_name": "cpu-util-linux-bsd",
      "package_manager": "unknown",
      "path": "bash/cpu_util_linux_bsd.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "c5ac34ae3cda407f09d261b0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "79628797fabc163b",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "post-fix-vpc",
      "normalized_name": "post-fix-vpc",
      "package_manager": "unknown",
      "path": "bash/post-fix-vpc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "7fe4bdc6622722c7a05bf4d0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca0d3215f853bb16",
      "framework": "unknown",
      "imports": "",
      "lines": 287,
      "logic_relevance": "none",
      "name": "powerswitch",
      "normalized_name": "powerswitch",
      "package_manager": "unknown",
      "path": "bash/powerswitch.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "f37a7340cd78f575a8bcd504",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c1e42dbe6fab5a75",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "get-transit-gateway-vpc-attachments",
      "normalized_name": "get-transit-gateway-vpc-attachments",
      "package_manager": "unknown",
      "path": "bash/get-transit-gateway-vpc-attachments.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4067b0e7814349a0fbd6cba3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "26188606b6031fa8",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "check_raid_etegro",
      "normalized_name": "check-raid-etegro",
      "package_manager": "unknown",
      "path": "bash/check_raid_etegro.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend",
      "component_id": "7a5c225623eedc27e093fecc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e7276498b4395aeb",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "602-get-rds-db-subnet-group",
      "normalized_name": "602-get-rds-db-subnet-group",
      "package_manager": "unknown",
      "path": "bash/602-get-rds-db-subnet-group.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "d53069fb4d2331497dd77478",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "675752dc4b599d74",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "056-get-instance-profile",
      "normalized_name": "056-get-instance-profile",
      "package_manager": "unknown",
      "path": "bash/056-get-instance-profile.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ae74608b23c3a1a571c00bba",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e8dc6dfc07de3687",
      "framework": "unknown",
      "imports": "",
      "lines": 134,
      "logic_relevance": "none",
      "name": "get-sc-portfolio-products",
      "normalized_name": "get-sc-portfolio-products",
      "package_manager": "unknown",
      "path": "bash/get-sc-portfolio-products.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "44f3036ee23b63991d3d4125",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "72df8361aec26ce9",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "get-iam-policies",
      "normalized_name": "get-iam-policies",
      "package_manager": "unknown",
      "path": "bash/get-iam-policies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "11986e7d72efc3e75ac707e6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2343eed7cac13a4",
      "framework": "unknown",
      "imports": "",
      "lines": 199,
      "logic_relevance": "none",
      "name": "get-eks-cluster-all",
      "normalized_name": "get-eks-cluster-all",
      "package_manager": "unknown",
      "path": "bash/get-eks-cluster-all.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "cfd12e6d33770ac398a9889e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "114430c05e3d6ef8",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "tail_with_thread",
      "normalized_name": "tail-with-thread",
      "package_manager": "unknown",
      "path": "bash/tail_with_thread.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "cb97c3c857f96c49dd9c0cf8",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "11437d40eeb539ba",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "get-lambda-alias",
      "normalized_name": "get-lambda-alias",
      "package_manager": "unknown",
      "path": "bash/get-lambda-alias.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "06b29d031da984be761579f4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "12bd93657793a5d5",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "get-sso-inline-pol-attach",
      "normalized_name": "get-sso-inline-pol-attach",
      "package_manager": "unknown",
      "path": "bash/get-sso-inline-pol-attach.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "b33609aa3f30712a8d39414e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c59202227ccee58",
      "framework": "unknown",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "052-get-iam-attached-role-policies",
      "normalized_name": "052-get-iam-attached-role-policies",
      "package_manager": "unknown",
      "path": "bash/052-get-iam-attached-role-policies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5de881e87340daebfce61513",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "202f42010c79fdcd",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "kumar-asshole",
      "normalized_name": "kumar-asshole",
      "package_manager": "unknown",
      "path": "bash/kumar-asshole.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "f45d808288f9adfe8fe3812a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c154508aa5b2d8db",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "get-appmesh-no",
      "normalized_name": "get-appmesh-no",
      "package_manager": "unknown",
      "path": "bash/get-appmesh-no.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "822cc9c67b6728c4d59ec088",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "be235c60645076d6",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "135-get-transit-gateway-vpc-attachments",
      "normalized_name": "135-get-transit-gateway-vpc-attachments",
      "package_manager": "unknown",
      "path": "bash/135-get-transit-gateway-vpc-attachments.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "729166ee3cc7235977a013d9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "647c661802afa620",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "svncreat",
      "normalized_name": "svncreat",
      "package_manager": "unknown",
      "path": "bash/svncreat.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ce27b81a5f81823a58da3c07",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d65aa1eb22ecb47f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "whatsapp_install",
      "normalized_name": "whatsapp-install",
      "package_manager": "unknown",
      "path": "bash/whatsapp_install.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "715d5b8d9f29df33655779ce",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2e3e252f07cc0462",
      "framework": "unknown",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "010-get-organization",
      "normalized_name": "010-get-organization",
      "package_manager": "unknown",
      "path": "bash/010-get-organization.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5c11dce289e45d23435e9671",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "59a0c561661ee3c2",
      "framework": "unknown",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "351-get-ecs-task",
      "normalized_name": "351-get-ecs-task",
      "package_manager": "unknown",
      "path": "bash/351-get-ecs-task.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation,observability",
      "component_id": "be6d0b94ebc079c3841ce81a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eaa09a8dd025d2eb",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "recalbox-create-share",
      "normalized_name": "recalbox-create-share",
      "package_manager": "unknown",
      "path": "bash/recalbox-create-share.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "7ef902c2759b43707577e9eb",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "08cc73e88fb1c207",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "Txt_To_CSV_FTP",
      "normalized_name": "txt-to-csv-ftp",
      "package_manager": "unknown",
      "path": "bash/Txt_To_CSV_FTP.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "24eb5ebed6ac634daed4edb7",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "618afaa9f7df79c6",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "vpc2tf",
      "normalized_name": "vpc2tf",
      "package_manager": "unknown",
      "path": "bash/vpc2tf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "d9b428fc6601c191e14490b0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1fa01a159e8d6e0f",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "240-get-directories",
      "normalized_name": "240-get-directories",
      "package_manager": "unknown",
      "path": "bash/240-get-directories.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "034bbb3cdbd1c54eb61e6cfb",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "726f6e1e6d21cda6",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "tar",
      "normalized_name": "tar",
      "package_manager": "unknown",
      "path": "bash/tar.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "542e1a21835d8d9f94e0de16",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "25b7bca2c0799bf8",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "445-get-ssm-params",
      "normalized_name": "445-get-ssm-params",
      "package_manager": "unknown",
      "path": "bash/445-get-ssm-params.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "fc822f0f2cb33ece5cf5bc78",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca8911abf92757b4",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "771-get-cognito-identity-pool-roles-attachment",
      "normalized_name": "771-get-cognito-identity-pool-roles-attachment",
      "package_manager": "unknown",
      "path": "bash/771-get-cognito-identity-pool-roles-attachment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "3ee9757d62d5c415bb43b4dc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d56648d280c9545",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "semversioner",
      "normalized_name": "semversioner",
      "package_manager": "unknown",
      "path": "bash/semversioner.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "47d69508f23daa763142ed9e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ddbfce5f75c9c363",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "pgsqlbackup",
      "normalized_name": "pgsqlbackup",
      "package_manager": "unknown",
      "path": "bash/pgsqlbackup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "893d6de65bb1120d0195b9fe",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cef824c8f54fb864",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "140-get-route-table",
      "normalized_name": "140-get-route-table",
      "package_manager": "unknown",
      "path": "bash/140-get-route-table.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "bf1448c88bc6f33467b47ca8",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eacf8c593bfe0e67",
      "framework": "unknown",
      "imports": "",
      "lines": 219,
      "logic_relevance": "none",
      "name": "250-get-ec2-instances",
      "normalized_name": "250-get-ec2-instances",
      "package_manager": "unknown",
      "path": "bash/250-get-ec2-instances.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "de7ab9e78c913e3b33f17827",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "69fa33c0f9278c0c",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "105-get-subnet",
      "normalized_name": "105-get-subnet",
      "package_manager": "unknown",
      "path": "bash/105-get-subnet.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "fb25675338b1e25bb5c88707",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6e75e160add1bdb",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "smack-my-bitch-up",
      "normalized_name": "smack-my-bitch-up",
      "package_manager": "unknown",
      "path": "bash/smack-my-bitch-up.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "3ddf035eab9d5241fe820f6b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6f8e5131d2a19449",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "get-subnet-parallel",
      "normalized_name": "get-subnet-parallel",
      "package_manager": "unknown",
      "path": "bash/get-subnet-parallel.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "d9cfe618ee3ac4e02933ba2f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "84d0c2f3aafa5334",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "220-get-custgw",
      "normalized_name": "220-get-custgw",
      "package_manager": "unknown",
      "path": "bash/220-get-custgw.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "626d60fba4b46faf840082c3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d95b4f003de8f91",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "parallel_statemv",
      "normalized_name": "parallel-statemv",
      "package_manager": "unknown",
      "path": "bash/parallel_statemv.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "546a883c98c7acfc9832586e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4909c93e5fdf2389",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "grafana",
      "normalized_name": "grafana",
      "package_manager": "unknown",
      "path": "bash/grafana.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "21094eba20f2d72ed935b0cd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "60e4932ba81533ba",
      "framework": "unknown",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "050-get-iam-roles",
      "normalized_name": "050-get-iam-roles",
      "package_manager": "unknown",
      "path": "bash/050-get-iam-roles.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e260df359f57148185eae459",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec785332a8b11cd7",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "070-get-cw-log-grp",
      "normalized_name": "070-get-cw-log-grp",
      "package_manager": "unknown",
      "path": "bash/070-get-cw-log-grp.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "4a14d5a729a995a88e2faffe",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67bbdc730ac431e5",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "get-transit-gateway-routes",
      "normalized_name": "get-transit-gateway-routes",
      "package_manager": "unknown",
      "path": "bash/get-transit-gateway-routes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "a758a7472a956ff1d0e38af0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f71526113f7cbe0b",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "get-org-policy_attachment",
      "normalized_name": "get-org-policy-attachment",
      "package_manager": "unknown",
      "path": "bash/get-org-policy_attachment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "observability",
      "component_id": "f3e98040eb85747963c5f1ca",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "os,socket",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:mysql_cmd | imports:os, socket | observability-score:55",
      "exports": "mysql_cmd",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d485bfa07b14332d",
      "framework": "python",
      "imports": "os,socket",
      "lines": 56,
      "logic_relevance": "none",
      "name": "mysql_replica_watcher",
      "normalized_name": "mysql-replica-watcher",
      "package_manager": "unknown",
      "path": "bash/mysql_replica_watcher.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "61a44f5ef4ca474e2d1ad532",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "516b40c04042182e",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "110-get-security-group",
      "normalized_name": "110-get-security-group",
      "package_manager": "unknown",
      "path": "bash/110-get-security-group.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "31fb42b023ce61e3c99a90f0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e0d331568c9e9d5",
      "framework": "unknown",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "get-lambda-permission",
      "normalized_name": "get-lambda-permission",
      "package_manager": "unknown",
      "path": "bash/get-lambda-permission.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "a04ba550ff0183a9374add2b",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf225124911c1737",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "shell_color",
      "normalized_name": "shell-color",
      "package_manager": "unknown",
      "path": "bash/shell_color.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "af36c368eb3e69c054c5191c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "52d232a49cdd5cdd",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "get-inprof",
      "normalized_name": "get-inprof",
      "package_manager": "unknown",
      "path": "bash/get-inprof.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation",
      "component_id": "b5621d671e0733ab133162ca",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "acb55e277efde198",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "install_krew",
      "normalized_name": "install-krew",
      "package_manager": "unknown",
      "path": "bash/install_krew.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "9d7e482448029c5fb711103d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91945e4df313dde3",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "get-s3-policy",
      "normalized_name": "get-s3-policy",
      "package_manager": "unknown",
      "path": "bash/get-s3-policy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "82a52af7d520fb66a278e7f2",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d9fde4f9e73de50f",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "dagah_installer",
      "normalized_name": "dagah-installer",
      "package_manager": "unknown",
      "path": "bash/dagah_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "b052855b749b595a178b696f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "74f098b7d5f04338",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "161-get-vpce",
      "normalized_name": "161-get-vpce",
      "package_manager": "unknown",
      "path": "bash/161-get-vpce.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "c62927480d315705c61abd54",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c2934416aac150a1",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "elbv2",
      "normalized_name": "elbv2",
      "package_manager": "unknown",
      "path": "bash/elbv2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "ee7cb4c7aeb8eb82570bd3b1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "41baf3ca1817d5d7",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "740-get-kinesis-stream",
      "normalized_name": "740-get-kinesis-stream",
      "package_manager": "unknown",
      "path": "bash/740-get-kinesis-stream.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security,logic",
      "component_id": "9db1b651ac4559ae543cc964",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc72c2f07050b2e4",
      "framework": "unknown",
      "imports": "",
      "lines": 130,
      "logic_relevance": "secondary",
      "name": "elbv2_listener-rules",
      "normalized_name": "elbv2-listener-rules",
      "package_manager": "unknown",
      "path": "bash/elbv2_listener-rules.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "cd5f5e498d81afd54e61eb10",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "36395a9db00850d4",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "012-get-org-ou",
      "normalized_name": "012-get-org-ou",
      "package_manager": "unknown",
      "path": "bash/012-get-org-ou.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "58e7562449f8dbe207fbdc0c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c0a91f6c3fe0fcc4",
      "framework": "unknown",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "611-get-dms-ins",
      "normalized_name": "611-get-dms-ins",
      "package_manager": "unknown",
      "path": "bash/611-get-dms-ins.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "436468513ca989c2b3c891fe",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "913977ef0a87d5c3",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "get-emr-inst-group",
      "normalized_name": "get-emr-inst-group",
      "package_manager": "unknown",
      "path": "bash/get-emr-inst-group.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "33675c03abde58c1892aa968",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "stat",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:stat | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "41765d2be5154c9f",
      "framework": "python",
      "imports": "stat",
      "lines": 19,
      "logic_relevance": "none",
      "name": "host_checker",
      "normalized_name": "host-checker",
      "package_manager": "unknown",
      "path": "bash/host_checker.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "f3e5f2d69b0c99186498d77f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "691db5015abdef3b",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "450-get-secrets",
      "normalized_name": "450-get-secrets",
      "package_manager": "unknown",
      "path": "bash/450-get-secrets.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "27e6c2b2ca3ac3ec1d91c123",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "087346e0eddb5530",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "logrotate",
      "normalized_name": "logrotate",
      "package_manager": "unknown",
      "path": "bash/logrotate.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "472d5e0037bc71cc12d3e88c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5a0d6280e1d309b3",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "mysqlhotbackup",
      "normalized_name": "mysqlhotbackup",
      "package_manager": "unknown",
      "path": "bash/mysql_pgsql_backup/mysqlhotbackup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d3e3611ab635ca6219d9c39b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "02c803fb4b1c1931",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "mysqlbackup",
      "normalized_name": "mysqlbackup",
      "package_manager": "unknown",
      "path": "bash/mysql_pgsql_backup/mysqlbackup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "da5aaf5e7becf8fcb67aea8b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ee36f52b3d475499",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "pgsqlbackup",
      "normalized_name": "pgsqlbackup",
      "package_manager": "unknown",
      "path": "bash/mysql_pgsql_backup/pgsqlbackup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "542f7accb99398fcf0bd744d",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bdbe4efbaed3501d",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "check_carp_wrapper",
      "normalized_name": "check-carp-wrapper",
      "package_manager": "unknown",
      "path": "bash/carp/check_carp_wrapper.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "542a4210872f18f05316a53d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "de9cffd503f0a333",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "check_carp",
      "normalized_name": "check-carp",
      "package_manager": "unknown",
      "path": "bash/carp/check_carp.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "65344f2ca8cfad5522edda31",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "8d740bf4e0aaec49",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "bash/jail_make/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "5e6debbaf1594571a9ae7535",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9f320611eb982fe1",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "get-instance-network-interface-attachment",
      "normalized_name": "get-instance-network-interface-attachment",
      "package_manager": "unknown",
      "path": "bash/notused/get-instance-network-interface-attachment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4320e8212de5ec00f2adaff4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7092d34ae892f220",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "block_ip_daemon",
      "normalized_name": "block-ip-daemon",
      "package_manager": "unknown",
      "path": "bash/block_daemon/block_ip_daemon.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "3eb6249012da9c85d0b337f1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "797af793e92eba04",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "block_daemon_wrapper",
      "normalized_name": "block-daemon-wrapper",
      "package_manager": "unknown",
      "path": "bash/block_daemon/block_daemon_wrapper.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5c8e28bcd9bc1654cdd3f39a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "efe0dc9620e03360",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "make_ks",
      "normalized_name": "make-ks",
      "package_manager": "unknown",
      "path": "bash/kickstart/make_ks.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,security",
      "component_id": "aaa3202eb12d575c31783ec4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dfc13e65a154b628",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "ae7bac382ee85ea5188d18e9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "72d4024684262f38",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "vagrantuser",
      "normalized_name": "vagrantuser",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/vagrantuser.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process",
      "component_id": "bf1253f8907f73c812253798",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "263cb29f00736cfc",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "deploy_sampledata",
      "normalized_name": "deploy-sampledata",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/deploy_sampledata.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,security",
      "component_id": "7f2c7147019f8f41bc544d2b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "52ef57a2922a2e89",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "ecec19e234b7aa0af6d7fe6e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "37a06760eefb2573",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "COPYING",
      "normalized_name": "copying",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/COPYING.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "286ce49058141a034c2356a7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "49d9aa4c0615ff95",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "LICENSE_AFL",
      "normalized_name": "license-afl",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/LICENSE_AFL.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b6d0f3fb23bf4de8567dbe50",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6169207e83ddbf63",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": ".user",
      "normalized_name": "user",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/.user.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "bc8a74dc91ad0284736ec1d7",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "Minimum Qty Allowed in Shopping Cart,Web",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:Minimum Qty Allowed in Shopping Cart, Web | process-score:100 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c031bcb015b80afa",
      "framework": "unknown",
      "imports": "Minimum Qty Allowed in Shopping Cart,Web",
      "lines": 6212,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "8978dd76df9186ae75c181d4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1d80e1ab77dc6651",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "ISSUE_TEMPLATE",
      "normalized_name": "issue-template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/ISSUE_TEMPLATE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,ai",
      "component_id": "94d8a164b81b621ac1f9e8b2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bccface1b8dec2de",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "f62ab65c1f5011e15e982927",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4c8537fd5431aafc",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "bf9e3c709558dcae28bc1867",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4b7160a29a32bef",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": ".travis",
      "normalized_name": "travis",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/.travis.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "144e726da319646e6b399bef",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b1c85f8ac23e52e7",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "4cb4dddccaa2079889655209",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1af512edcd70cffe",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/phpserver/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "5e9e5f532c139284db3fa580",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6ebb5cf7ea1382a",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4530eeb56e2f00e0d11f7ba9",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "60bd9c6a1b3b7cc5",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "366e0b12505dd489f2e49d53",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9a58eb2d7e12d8f1",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "update_queue_valid",
      "normalized_name": "update-queue-valid",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/app/code/Magento/Update/Test/Unit/_files/update_queue_valid.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "e484e7fc416d735375206fb9",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e81712e6aa162075",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_blacklist",
      "normalized_name": "backup-blacklist",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/app/code/Magento/Update/etc/backup_blacklist.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend",
      "component_id": "fe38fa7459590eac4562ed27",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | backend-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1cc8c2a2115a9bcb",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "cron",
      "normalized_name": "cron",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/dev/shell/cron.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "26f7c1c25d84cc07630cb0d4",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d64565274ba51679",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "update_queue_invalid",
      "normalized_name": "update-queue-invalid",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/dev/tests/integration/testsuite/Magento/Update/_files/update_queue_invalid.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "54981d43d8de183764cc1c6f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6e5babfd0e8de8ea",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "update_queue_valid",
      "normalized_name": "update-queue-valid",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/dev/tests/integration/testsuite/Magento/Update/_files/update_queue_valid.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a6b8f9c68e7e6c556119a04f",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "12a3f219f64be1e3",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/dev/tests/integration/testsuite/Magento/Update/_files/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,automation",
      "component_id": "16020aadee22d1535df8467c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8722726c09c0e7eb",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "update_status",
      "normalized_name": "update-status",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/dev/tests/integration/testsuite/Magento/Update/_files/update_status.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,automation,ai",
      "component_id": "9e6772b1cac4ac3e2e7b70cc",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c9fd0070c8bdd26d",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/css/setup.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation",
      "component_id": "7a0122409afc0bd0f5cdff93",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "716c44ae438c2601",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "status",
      "normalized_name": "status",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/js/status.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "ba7d992315098910b501c48f",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": " + prev + ,invalid,jquery",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Animation, Sizzle, Tween | imports: + prev + , invalid, jquery | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Animation,Sizzle,Tween",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ce0343e1d6f48976",
      "framework": "unknown",
      "imports": " + prev + ,invalid,jquery",
      "lines": 10337,
      "logic_relevance": "secondary",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/js/lib/jquery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "b71199e349dc97ff7e0228c3",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b680e461353bdee1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "angular-ng-storage.min",
      "normalized_name": "angular-ng-storage-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/js/lib/angular-ng-storage/angular-ng-storage.min.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "34df6e13e96b022e57f36c9c",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, Aa, Ab, Ac, Ae, Bb, Bc, Be | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "A,Aa,Ab,Ac,Ae,Bb,Bc,Be,C,Cc,Ce,D,Da,Db,Dc,De,E,Ea,Ec,F,Ga,Gb,H,Ha,Hb,Hc,Ib,J,Jc,Je,K,Kb,Kc,Kd,L,Lb,Lc,M,Ma,Mb,Mc,Md,N,Na,Nc,Nd,O,Ob,Od,P,Pa,Pb,Pc,Pd,Q,Qd,R,Ra,Rd,Sb,Sc,Sd,T,Ta,Tb,Tc,Td,Ub,Uc,Ud,Vb,Vc,Vd,Wa,Wb,Wc,Wd,X,Xb,Xd,Y,Yb,Yc,Yd,Za,Zb,Zc,Zd",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8fbbdf8a81c0888",
      "framework": "unknown",
      "imports": "",
      "lines": 212,
      "logic_relevance": "secondary",
      "name": "angular.min",
      "normalized_name": "angular-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/js/lib/angular/angular.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "3b955ea55a4e3a911bb868f2",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "639ae4a954be9fd5",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "angular",
      "normalized_name": "angular",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/js/lib/angular/angular.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "caca52ba80afbccf45a47a1f",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e18a946d9bd657b9",
      "framework": "unknown",
      "imports": "",
      "lines": 2326,
      "logic_relevance": "none",
      "name": "selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/update/pub/fonts/icons/selection.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "7748575179a2fd1645ef3973",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "86126b6245ac9a01",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/performance-toolkit/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "032583ee8622e9f6eebc7975",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6db76776bfb97949",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/view/styles/lib/variables/_buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "a7616374784ca5d8a2e168e9",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c8189054711956be",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "_typography",
      "normalized_name": "typography",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/view/styles/lib/variables/_typography.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "a0d9c1f04f405dfec706d616",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5d07464dd391460f",
      "framework": "css",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "_colors",
      "normalized_name": "colors",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/view/styles/lib/variables/_colors.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation",
      "component_id": "7769c6003c952e580b2ed789",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "56a32229ea3373c7",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "complete-backup",
      "normalized_name": "complete-backup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/complete-backup.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "fd45655c972a019d2f05ed7c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1f5b819d1450f701",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "auth-dialog",
      "normalized_name": "auth-dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/auth-dialog.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "05ec6354422fdb88819c7295",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "535e5ce9f3f231a0",
      "framework": "unknown",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "select-version",
      "normalized_name": "select-version",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/select-version.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "0f8d5f3d128ccee754e8f150",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b2816d54f3f2a8b",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "landing",
      "normalized_name": "landing",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/landing.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security",
      "component_id": "ea8270e4e7b3301863110c1b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a076d8e672aa8b14",
      "framework": "unknown",
      "imports": "",
      "lines": 363,
      "logic_relevance": "none",
      "name": "readiness-check",
      "normalized_name": "readiness-check",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/readiness-check.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6793bc2ff1cc5f8f71672ece",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3cd277758a3408ae",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "marketplace-credentials",
      "normalized_name": "marketplace-credentials",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/marketplace-credentials.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "ac17b771aee5e724f636f65f",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f04649c2eb95644d",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "home",
      "normalized_name": "home",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/home.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation,ai",
      "component_id": "6f51be909e85ef039152dd80",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0ddcde70d8141e8b",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "create-admin-account",
      "normalized_name": "create-admin-account",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/create-admin-account.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation",
      "component_id": "cb124a2783f02b1d134893ef",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "608f3506b2664986",
      "framework": "unknown",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/main.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "9348f9e8685b99d895b6981b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c22083b5699990c6",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/install.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation",
      "component_id": "ee9ccda40ddd840cbeab685d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "81b67656426f0150",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "create-backup",
      "normalized_name": "create-backup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/create-backup.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "42cd267dd5f349fab51fcf7f",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "25caf040242b5b69",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "updater-success",
      "normalized_name": "updater-success",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/updater-success.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "671613c513cedcf8794b4441",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4b42401200c350b0",
      "framework": "unknown",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "component-grid",
      "normalized_name": "component-grid",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/component-grid.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "ef339ab86127b9a18f595116",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "78f4354cda06978d",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "data-option",
      "normalized_name": "data-option",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/data-option.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "bc82f829d3285c50d12e18b9",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9646b9f20ce59c02",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "start-updater",
      "normalized_name": "start-updater",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/start-updater.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4b72b4155bf0725c20d65827",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3eca11a08e8e4d69",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "system-config",
      "normalized_name": "system-config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/system-config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "3ece9f858adb226d1f3cde31",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "564e82f18aa1d02a",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "success",
      "normalized_name": "success",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/success.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "a1239f2c9a637d1191f267f2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dfc1209be929fb30",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "add-database",
      "normalized_name": "add-database",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/add-database.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,automation",
      "component_id": "7ce09dae763af63f7de9b72f",
      "component_kind": "state-store",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3d5a7ad18818ce73",
      "framework": "unknown",
      "imports": "",
      "lines": 194,
      "logic_relevance": "primary",
      "name": "customize-your-store",
      "normalized_name": "customize-your-store",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/customize-your-store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3b1064eac8c945bae1e601bb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "071b92fe4c2a9f0c",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "173f7d2922d963c48d6a725a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cd12f4247ef43e7d",
      "framework": "unknown",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "install-extension-grid",
      "normalized_name": "install-extension-grid",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/install-extension-grid.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "a2925d27b8aaacaad8f52e3f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "11168a49c82e8dce",
      "framework": "unknown",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "web-configuration",
      "normalized_name": "web-configuration",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/web-configuration.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ff1461e35f3dc71effce35fa",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:B, E, F | automation-score:95 | observability-score:55 | cron-or-schedule",
      "exports": "B,E,F",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "32cc5a0f111c2e22",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "angular-sanitize.min",
      "normalized_name": "angular-sanitize-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular-sanitize/angular-sanitize.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ffe9dff7104262856b491d96",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ScrollSpy | observability-score:55 | automation-score:50",
      "exports": "ScrollSpy",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9d250db6b377dcc",
      "framework": "unknown",
      "imports": "",
      "lines": 1951,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/bootstrap/js/bootstrap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "c97dd51e4427fe7001db8686",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "898d05a17f2cfc51",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/bootstrap/js/bootstrap.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "d7f2f1ce4f9f98d675b22fc4",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, B | security-score:55 | automation-score:50",
      "exports": "A,B",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c1e9510079704b81",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "angular-ui-router.min",
      "normalized_name": "angular-ui-router-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular-ui-router/angular-ui-router.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "66d38cd6db4ae102b6862d12",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b680e461353bdee1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "angular-ng-storage.min",
      "normalized_name": "angular-ng-storage-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular-ng-storage/angular-ng-storage.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "26ffecab38cf5964d364dd09",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "497a4ba001af733a",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "angular-clickout.min",
      "normalized_name": "angular-clickout-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular-clickout/angular-clickout.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security,ai",
      "component_id": "7eb1fa7d2d429dbef65bd2e6",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, Aa, Ab, Ac, Ae, Bb, Bc, Be | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "A,Aa,Ab,Ac,Ae,Bb,Bc,Be,C,Cc,Ce,D,Da,Db,Dc,De,E,Ea,Ec,F,Ga,Gb,H,Ha,Hb,Hc,Ib,J,Jc,Je,K,Kb,Kc,Kd,L,Lb,Lc,M,Ma,Mb,Mc,Md,N,Na,Nc,Nd,O,Ob,Od,P,Pa,Pb,Pc,Pd,Q,Qd,R,Ra,Rd,Sb,Sc,Sd,T,Ta,Tb,Tc,Td,Ub,Uc,Ud,Vb,Vc,Vd,Wa,Wb,Wc,Wd,X,Xb,Xd,Y,Yb,Yc,Yd,Za,Zb,Zc,Zd",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8fbbdf8a81c0888",
      "framework": "unknown",
      "imports": "",
      "lines": 212,
      "logic_relevance": "none",
      "name": "angular.min",
      "normalized_name": "angular-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular/angular.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a5c91016b930571b17251112",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "622bea999d127e21",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "angular",
      "normalized_name": "angular",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular/angular.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,automation,ai",
      "component_id": "3d66f6433dd7d0454970c4cd",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "053be8d1396d2952",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/styles/setup.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "edf8090fa4f199d78bd1769c",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "90090afc47a98343",
      "framework": "unknown",
      "imports": "",
      "lines": 1785,
      "logic_relevance": "none",
      "name": "selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/fonts/icons/selection.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation,ai",
      "component_id": "a472ff478ddbdf2005025bfa",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "07fd40c55b17fc05",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "angular-ui-bootstrap.min",
      "normalized_name": "angular-ui-bootstrap-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular-ui-bootstrap/angular-ui-bootstrap.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9e869125e06ca00294b8272e",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "angular",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:angular | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3c17c43c74032d7b",
      "framework": "unknown",
      "imports": "angular",
      "lines": 2,
      "logic_relevance": "none",
      "name": "angular-ng-dialog.min",
      "normalized_name": "angular-ng-dialog-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/pub/angular-ng-dialog/angular-ng-dialog.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "c1312a9925905ebd22022a7b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2befab4c1bd138d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "objectsCode.php",
      "normalized_name": "objects-code-php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/Adapter/Php/_files/objectsCode.php.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "f45dcbf7446b199ef6c7dc9e",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "09d071f232c563aa",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/Adapter/_files/file.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "7226e092f7a5d6d61c989f79",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3adbdc14ca44ab97",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/src/Magento/Setup/Test/Unit/Module/I18n/_files/files_collector/file.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation,ai",
      "component_id": "a29dbb561433b1e70797023e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f671429a02f7348e",
      "framework": "unknown",
      "imports": "",
      "lines": 568,
      "logic_relevance": "none",
      "name": "orders_fixture_data",
      "normalized_name": "orders-fixture-data",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/setup/src/Magento/Setup/Fixtures/_files/orders_fixture_data.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "10ddb8d69b7ed32e87230765",
      "component_kind": "algorithm",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e670de01d5648d0e",
      "framework": "unknown",
      "imports": "",
      "lines": 1536,
      "logic_relevance": "primary",
      "name": "underscore",
      "normalized_name": "underscore",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/underscore.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,security",
      "component_id": "339b1254e6e817449fbbba2b",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JsMutationObserver, MutationRecord, Registration | automation-score:95 | logic-score:85 | security-score:55",
      "exports": "JsMutationObserver,MutationRecord,Registration",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "56d693166e10a3d4",
      "framework": "unknown",
      "imports": "",
      "lines": 568,
      "logic_relevance": "secondary",
      "name": "MutationObserver",
      "normalized_name": "mutation-observer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/MutationObserver.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "a832677bd6f2323993a16f97",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, Aa, Ab, Ac, B, Ba, Bb, Bc | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "A,Aa,Ab,Ac,B,Ba,Bb,Bc,C,Ca,Cb,Cc,D,Da,Db,Dc,E,Ea,Eb,Ec,F,Fa,Fb,Fc,G,Ga,Gb,Gc,H,Ha,Hb,Hc,I,Ia,Ib,Ic,J,Ja,Jb,Jc,K,Ka,Kb,Kc,L,La,Lb,Lc,M,Ma,Mb,Mc,N,Na,Nb,Nc,O,Oa,Ob,Oc,P,Pa,Pb,Pc,Q,Qa,Qb,Qc,R,Ra,Rb,Rc,S,Sa,Sb,Sc,T,Ta,Tb,Tc,U,Ua,Ub,Uc,V,Va,Vb,Vc,W,Wa,Wb,Wc,X,Xa,Xb,Xc,Y,Ya,Yb,Yc,Z,Za,Zb,Zc",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1a7ecc510a27a3c2",
      "framework": "unknown",
      "imports": "",
      "lines": 551,
      "logic_relevance": "primary",
      "name": "moment",
      "normalized_name": "moment",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/moment.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "bf05b6280fa9c6c0d0097c8c",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": ":,moment",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B, C | imports::, moment | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "A,B,C",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8ec12925bc9c24a8",
      "framework": "unknown",
      "imports": ":,moment",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "moment-timezone-with-data",
      "normalized_name": "moment-timezone-with-data",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/moment-timezone-with-data.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "7dae35288ce37a7184435633",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Collection | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "Collection",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1c7bed7690eb39a",
      "framework": "unknown",
      "imports": "",
      "lines": 227,
      "logic_relevance": "primary",
      "name": "es6-collections",
      "normalized_name": "es6-collections",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/es6-collections.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "835076f8264542f3adbc11fa",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "59475cd0a282fddd",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "primary",
      "name": "matchMedia",
      "normalized_name": "match-media",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/matchMedia.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "a60df33383be11a308d9dddb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B, C, D, F, G, H, I | logic-score:85 | security-score:55 | automation-score:50 | cron-or-schedule",
      "exports": "A,B,C,D,F,G,H,I,K,L,M,N",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8f0ece2055af154d",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "legacy-build.min",
      "normalized_name": "legacy-build-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/legacy-build.min.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,security",
      "component_id": "6d68cfd437e0c7c0b16fc866",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:FormData | automation-score:95 | logic-score:60 | security-score:55",
      "exports": "FormData",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a1e00f340bf135c",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "secondary",
      "name": "FormData",
      "normalized_name": "form-data",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/FormData.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "eb15dfc3928911ae5dfdedf4",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": " + prev + ,invalid,jquery",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Animation, Sizzle, Tween | imports: + prev + , invalid, jquery | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Animation,Sizzle,Tween",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "48a667d2873e87f3",
      "framework": "unknown",
      "imports": " + prev + ,invalid,jquery",
      "lines": 11008,
      "logic_relevance": "secondary",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "b18f1545b5b54d2587924432",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:KeyboardHandler | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "KeyboardHandler",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "16a42441ec983ff7",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "smart-keyboard-handler",
      "normalized_name": "smart-keyboard-handler",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/smart-keyboard-handler.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "e50df14af4f4303faae2c071",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b066a05970f63572",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/layout.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation",
      "component_id": "02c012fe5b101502c9290b48",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f9d2757e91c1467e",
      "framework": "unknown",
      "imports": "",
      "lines": 457,
      "logic_relevance": "primary",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/collapsible.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "f4b04e86a3afb90121842a6e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8c0a5fe699de8485",
      "framework": "unknown",
      "imports": "",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "mage",
      "normalized_name": "mage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/mage.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "05924a73eb8e2e037ce92ae6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "71173e905c7a42ff",
      "framework": "css",
      "imports": "",
      "lines": 205,
      "logic_relevance": "secondary",
      "name": "translate-inline-vde",
      "normalized_name": "translate-inline-vde",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/translate-inline-vde.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "8db5d54d025c8ffb3b513304",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a7e02d37a5d372df",
      "framework": "unknown",
      "imports": "",
      "lines": 119,
      "logic_relevance": "primary",
      "name": "decorate",
      "normalized_name": "decorate",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/decorate.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "548b6b5bbbbf59467240e906",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "71662cc0b8fd2b6e",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "sticky",
      "normalized_name": "sticky",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/sticky.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,logic,automation",
      "component_id": "d3cd682c116ca1e87bf8cdbc",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e98798a67986647",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "secondary",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/tooltip.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,automation",
      "component_id": "831359dd7ef2a4362fa52ae6",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e02c8fffc63789e0",
      "framework": "unknown",
      "imports": "",
      "lines": 199,
      "logic_relevance": "primary",
      "name": "webapi",
      "normalized_name": "webapi",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/webapi.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "82cc1b52147c79b80b69ac74",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "59c81d071a337810",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "translate",
      "normalized_name": "translate",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/translate.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "19721212c683ecbb7e79b715",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "117dcc8079654c6f",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "fieldset-controls",
      "normalized_name": "fieldset-controls",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/fieldset-controls.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "5cf7f83d80625a29d2529a2e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69976d3a9d12ff6b",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "primary",
      "name": "cookies",
      "normalized_name": "cookies",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/cookies.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "4de5502656f616736aadd779",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "855e8efbd2489b14",
      "framework": "unknown",
      "imports": "",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "terms",
      "normalized_name": "terms",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/terms.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "1772824a76f7ee0245e5c53a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f6854a6eb53de1dc",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "deletable-item",
      "normalized_name": "deletable-item",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/deletable-item.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "b2fc9cf877c33b669e92c331",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aade9044f27a51e6",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/bootstrap.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "0c96a24b96e3bc289faf5848",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0d7d58ded824b67a",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "redirect-url",
      "normalized_name": "redirect-url",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/redirect-url.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "bc0da4444197123ecf9552cf",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ca125e9d5b35b882",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "primary",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/toggle.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "19018f9b8a32ed3f3b4333e9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1f7958c09ad3dab0",
      "framework": "unknown",
      "imports": "",
      "lines": 190,
      "logic_relevance": "primary",
      "name": "translate-inline",
      "normalized_name": "translate-inline",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/translate-inline.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,logic,observability,automation",
      "component_id": "c23603aa144ab0a8b02d9c75",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:60 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef1378758f6bd415",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/dialog.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation",
      "component_id": "515906e9f516452e1d8f0083",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b31404cf1e804591",
      "framework": "unknown",
      "imports": "",
      "lines": 284,
      "logic_relevance": "primary",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/tabs.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "34ef011ca2426ef74bb9000a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5cf00e8d92bd66c1",
      "framework": "css",
      "imports": "",
      "lines": 57,
      "logic_relevance": "secondary",
      "name": "translate-inline",
      "normalized_name": "translate-inline",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/translate-inline.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "af9e7dd768440e9d0d89f37c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5d16f39a5ba61ce0",
      "framework": "unknown",
      "imports": "",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "loader_old",
      "normalized_name": "loader-old",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/loader_old.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "090e555e941b544cd312c03d",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5daba52f07fe0aa5",
      "framework": "unknown",
      "imports": "",
      "lines": 499,
      "logic_relevance": "primary",
      "name": "zoom",
      "normalized_name": "zoom",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/zoom.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "a762fe3c7f485199c8ca34b9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dfd8c162a6f2f571",
      "framework": "unknown",
      "imports": "",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/list.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,automation",
      "component_id": "f6626c0b0c5c2a8ef6ad8033",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4556f4affbb2bcb8",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "popup-window",
      "normalized_name": "popup-window",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/popup-window.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "f05b984aea08dd4ca5533614",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:60",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3223f5ba72427052",
      "framework": "unknown",
      "imports": "",
      "lines": 134,
      "logic_relevance": "secondary",
      "name": "item-table",
      "normalized_name": "item-table",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/item-table.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d0890d16392a590ea84357af",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e0f4b28aea02d6aa",
      "framework": "unknown",
      "imports": "",
      "lines": 221,
      "logic_relevance": "primary",
      "name": "dropdown",
      "normalized_name": "dropdown",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/dropdown.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "459df1159e3a58c7f86cf571",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "610ce4f163e07905",
      "framework": "unknown",
      "imports": "",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "edit-trigger",
      "normalized_name": "edit-trigger",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/edit-trigger.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "d9bf16b9d48db287b006e70a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e0261852730d18dd",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "dropdown_old",
      "normalized_name": "dropdown-old",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/dropdown_old.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,ai",
      "component_id": "24a1e9a7d9c1e572fc2faeae",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "056dfbdb5734befe",
      "framework": "unknown",
      "imports": "",
      "lines": 1564,
      "logic_relevance": "secondary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/validation.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "ca9903041f4e9f1de73706fe",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9a19ade61f14b710",
      "framework": "unknown",
      "imports": "",
      "lines": 125,
      "logic_relevance": "primary",
      "name": "dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/dropdowns.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "60975c7f04d6225672f29d9c",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dada11ac9381d8ee",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "common",
      "normalized_name": "common",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/common.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "1149fdcf475ccf0351bea623",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "083270b5b70ec0d7",
      "framework": "unknown",
      "imports": "",
      "lines": 534,
      "logic_relevance": "primary",
      "name": "menu",
      "normalized_name": "menu",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/menu.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "9cef705f1a6700888bbdfa72",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "66c351e7ec404012",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "ie-class-fixer",
      "normalized_name": "ie-class-fixer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/ie-class-fixer.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,integration,observability,security,automation",
      "component_id": "99e9edd880d9e1724c7b32ad",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f088934a50441c44",
      "framework": "unknown",
      "imports": "",
      "lines": 562,
      "logic_relevance": "primary",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/calendar.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "a11472c47602967840b6734e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "248e3fbe5d7ff30d",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "captcha",
      "normalized_name": "captcha",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/captcha.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "a84a403a6439224c60c5cf99",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a67692e4e7820a51",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "url",
      "normalized_name": "url",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/url.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "4a72038475c06b5c8450033e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "21e888b45de4db2a",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/template.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,integration,observability,automation",
      "component_id": "870b383f29ee83c999f97cd5",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "de7f66e9b4ef919a",
      "framework": "css",
      "imports": "",
      "lines": 269,
      "logic_relevance": "secondary",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/calendar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "aa734ca1254fd6011beef4fd",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c574c1c31421f420",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "dataPost",
      "normalized_name": "data-post",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/dataPost.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "21b7dbedc85b3b9cea87b850",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d6fadf9c06751e60",
      "framework": "unknown",
      "imports": "",
      "lines": 525,
      "logic_relevance": "primary",
      "name": "translate-inline-vde",
      "normalized_name": "translate-inline-vde",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/translate-inline-vde.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "fde0325264d33ddab57dedcc",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a1dbbaa0d1da81f",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/storage.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "675fa9190a5f463da611c35e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f18730b3b7af0c0e",
      "framework": "unknown",
      "imports": "",
      "lines": 212,
      "logic_relevance": "primary",
      "name": "loader",
      "normalized_name": "loader",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/loader.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "e959dc0286fd3212b62fd8bd",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2abbdb952e7c19c4",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/accordion.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "2394075f8b9e182455e601b0",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "79162a76abe7b3ad",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/apply/main.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "fbdfd72936dc9bf3329e14ee",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f97ec60576dae74c",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "scripts",
      "normalized_name": "scripts",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/apply/scripts.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "268c3c18bf47db0d5e45a858",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1e05fade43310b8",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/app/config.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "e3b5cbbfaf91c216496d0a7b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "98977cac4173db28",
      "framework": "unknown",
      "imports": "",
      "lines": 510,
      "logic_relevance": "primary",
      "name": "gallery",
      "normalized_name": "gallery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/gallery.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,security,automation",
      "component_id": "6febae4ed8e40d3b8486e1d7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff75d56f9b19b9ef",
      "framework": "css",
      "imports": "",
      "lines": 1022,
      "logic_relevance": "secondary",
      "name": "gallery",
      "normalized_name": "gallery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/gallery.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "ff1e444a8ffe55397f2e645c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "79b6253e74481e94",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "34b577d61df691898a7c63ff",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "32c1fcf9656d2c63",
      "framework": "css",
      "imports": "",
      "lines": 64,
      "logic_relevance": "secondary",
      "name": "_fullscreen",
      "normalized_name": "fullscreen",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_fullscreen.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "4013d63178437a1e8d16f268",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aa9ad25bc6a5d0e8",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "secondary",
      "name": "_focus",
      "normalized_name": "focus",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_focus.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "9a0e86c3c19cbdd9e84807a6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1befa86ab6196764",
      "framework": "css",
      "imports": "",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "8eda32edb0433090231e3eaa",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b59e3e4c3d602d5e",
      "framework": "css",
      "imports": "",
      "lines": 127,
      "logic_relevance": "secondary",
      "name": "_extends",
      "normalized_name": "extends",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_extends.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "79197160e081d3b76cef6132",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f98487ff69f1ead",
      "framework": "unknown",
      "imports": "",
      "lines": 273,
      "logic_relevance": "primary",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/requirejs/mixins.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "004f2b460a3b05c7c4f82fb2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "64144a4c9dbe0866",
      "framework": "unknown",
      "imports": "",
      "lines": 317,
      "logic_relevance": "primary",
      "name": "static",
      "normalized_name": "static",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/requirejs/static.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "13d0d9d2d69d7b9ca2682bab",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "caecb641fe026bb7",
      "framework": "unknown",
      "imports": "",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "text",
      "normalized_name": "text",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/requirejs/text.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "4fb827da02b533357c9b044b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a7bfd1471d4b3f08",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "primary",
      "name": "resolver",
      "normalized_name": "resolver",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/requirejs/resolver.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "19abdcb47ca9449d62a60798",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f275085ec1a6e9c",
      "framework": "unknown",
      "imports": "",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "wrapper",
      "normalized_name": "wrapper",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/wrapper.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "07b483ef5a24899d2722a5d7",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1540f205692bc28f",
      "framework": "unknown",
      "imports": "",
      "lines": 254,
      "logic_relevance": "primary",
      "name": "misc",
      "normalized_name": "misc",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/misc.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "72e48d344381bad657fec679",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "007294a5c63b7f4f",
      "framework": "unknown",
      "imports": "",
      "lines": 155,
      "logic_relevance": "primary",
      "name": "arrays",
      "normalized_name": "arrays",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/arrays.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "e59878ddca7aff516dbabb21",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "underscore",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./arrays, ./compare, ./misc, ./objects, ./strings, ./template, underscore | logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "15c11650ae3ea669",
      "framework": "unknown",
      "imports": "./arrays,./compare,./misc,./objects,./strings,./template,underscore",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/main.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "00dfc560617bc8608851c630",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6cc523935051c34f",
      "framework": "unknown",
      "imports": "",
      "lines": 438,
      "logic_relevance": "primary",
      "name": "objects",
      "normalized_name": "objects",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/objects.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "61dec2fa72d06d2ed09d1c21",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ec70383da4c95971",
      "framework": "unknown",
      "imports": "",
      "lines": 225,
      "logic_relevance": "primary",
      "name": "compare",
      "normalized_name": "compare",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/compare.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "15823a7ec22fd1b6d5ed2314",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "06ea65427adac35d",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "primary",
      "name": "strings",
      "normalized_name": "strings",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/strings.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "920470d932f6ec8e1c9a6373",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ef1cac64d3a1fece",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "primary",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/utils/template.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,automation,ai",
      "component_id": "034518e97a38666e429fa290",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "de655827c8d3f01e",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "notification",
      "normalized_name": "notification",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/notification.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,security,automation",
      "component_id": "37e0e8744e51cb69c6b2ca0b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aaf1c5bc5de6f1e9",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "primary",
      "name": "action-link",
      "normalized_name": "action-link",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/action-link.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,security,automation",
      "component_id": "5ca485003d75908d7a215f63",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "57b321b85e8511c3",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/bootstrap.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,backend,security,automation,ai",
      "component_id": "fe9fc91c6d21bfd84722c6de",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | backend-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2cd475b3de3fd4ee",
      "framework": "unknown",
      "imports": "",
      "lines": 393,
      "logic_relevance": "primary",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/tabs.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "3ff8754fecff8daa8263266e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9082745f76ac79fd",
      "framework": "unknown",
      "imports": "",
      "lines": 1093,
      "logic_relevance": "primary",
      "name": "suggest",
      "normalized_name": "suggest",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/suggest.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "c43c77360f6eca4712c23931",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7ba019d113daccec",
      "framework": "unknown",
      "imports": "",
      "lines": 250,
      "logic_relevance": "primary",
      "name": "tree-suggest",
      "normalized_name": "tree-suggest",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/tree-suggest.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,automation",
      "component_id": "9831b0e26778eebf05cc5871",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "470c75ad817f959d",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "primary",
      "name": "floating-header",
      "normalized_name": "floating-header",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/floating-header.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation",
      "component_id": "616af60237cf88ebe0836372",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31083742d4a33c80",
      "framework": "unknown",
      "imports": "",
      "lines": 284,
      "logic_relevance": "primary",
      "name": "editablemultiselect",
      "normalized_name": "editablemultiselect",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/editablemultiselect.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,automation,ai",
      "component_id": "60d2b6ef4e642f4d9187814b",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | backend-score:55 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d693c43126e9ed4b",
      "framework": "unknown",
      "imports": "",
      "lines": 278,
      "logic_relevance": "primary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/validation.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,automation",
      "component_id": "e127607fbf269e16f6386cda",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e406feb93d914c29",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "jstree-mixin",
      "normalized_name": "jstree-mixin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/jstree-mixin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,logic,backend,automation",
      "component_id": "0af835e1d54b54ed299c15f5",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:60 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9ad7e0f9bd9abdfa",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/button.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,ui,backend,observability,security",
      "component_id": "e26750910f38cc43d35ff60a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "445ef513d9911e1a",
      "framework": "unknown",
      "imports": "",
      "lines": 194,
      "logic_relevance": "secondary",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/form.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,backend,observability,security",
      "component_id": "848cd890064934d8d87cea87",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "feea5eae43f2cb77",
      "framework": "unknown",
      "imports": "",
      "lines": 622,
      "logic_relevance": "secondary",
      "name": "menu",
      "normalized_name": "menu",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/backend/menu.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "b1a1ff95c8579b24f972428e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d8ffa5d4f7dd2e3",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "composite",
      "normalized_name": "composite",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/view/composite.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "4a275361a73b0b3ea2de7659",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cbf62577edc4f5a8",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/globals.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "28f67763867b33bcbe240244",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3bfedaff9d05207e",
      "framework": "unknown",
      "imports": "",
      "lines": 488,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/tools.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "7f54bd67eebaa647d2b83ec1",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f5d1d55a4acd751",
      "framework": "unknown",
      "imports": "",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/events.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "77fd6efeff8b0585f95f4411",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6ad17b4979e0e38",
      "framework": "unknown",
      "imports": "",
      "lines": 221,
      "logic_relevance": "primary",
      "name": "backup",
      "normalized_name": "backup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/backup.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "0cac8619e29ae66c32516f25",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9a2b47a775a0a8e9",
      "framework": "unknown",
      "imports": "",
      "lines": 1004,
      "logic_relevance": "secondary",
      "name": "grid",
      "normalized_name": "grid",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/grid.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "31afeed8a4abb5b96c9ab885",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0af7c7165e774845",
      "framework": "unknown",
      "imports": "",
      "lines": 250,
      "logic_relevance": "primary",
      "name": "varienLoader",
      "normalized_name": "varien-loader",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/varienLoader.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation",
      "component_id": "ac638f73dc60596b52b94c6f",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "79c1ea9aa012152f",
      "framework": "unknown",
      "imports": "",
      "lines": 458,
      "logic_relevance": "primary",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/form.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "62228dcaef6c095395d662e9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "89e847b5153e5054",
      "framework": "unknown",
      "imports": "",
      "lines": 367,
      "logic_relevance": "primary",
      "name": "browser",
      "normalized_name": "browser",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/browser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "4cb688b4840682475db3dbf8",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ef99485aad61b5d6",
      "framework": "unknown",
      "imports": "",
      "lines": 125,
      "logic_relevance": "primary",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/accordion.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "3b615df9cd543fced4fac3a4",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2870f3e6a79bd4b0",
      "framework": "unknown",
      "imports": "",
      "lines": 413,
      "logic_relevance": "primary",
      "name": "widget",
      "normalized_name": "widget",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/widget.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "b502e811c02bc468a900f407",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "731e65c745d0dd09",
      "framework": "unknown",
      "imports": "",
      "lines": 426,
      "logic_relevance": "secondary",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,backend,observability,security,ai",
      "component_id": "75d5ed02a50f5d2595a3574c",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "710f6a858e732da5",
      "framework": "unknown",
      "imports": "",
      "lines": 204,
      "logic_relevance": "secondary",
      "name": "html5-schema",
      "normalized_name": "html5-schema",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/html5-schema.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "20ef47b88dac4e279e7de795",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d42b2d57833bb175",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentovariable/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "507cff9be14b444f30691687",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e9ad0c245f35f343",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentowidget/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "1168e908274d2d173abbef3e",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aea397555444ee51",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,observability,automation,ai",
      "component_id": "056a9a92cb7aafae81eecf5b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2211d86b130b13eb",
      "framework": "css",
      "imports": "",
      "lines": 67,
      "logic_relevance": "secondary",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "7559becbcc17b8744c1eda67",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "234dafe254a3a7c0",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "primary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/validation/validation.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "7cde24ccf8cbe6157851d363",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a7bd601103ba860e",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "url",
      "normalized_name": "url",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/mage/validation/url.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "08ba4816768114d753fb3494",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "600f884eb88906c7",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_widgets",
      "normalized_name": "widgets",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/_widgets.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "4b19aa9e2e34b0ced2bf0185",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6adaca4c081b3856",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/_variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "317646c58deb18e2aa71bd93",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "74b55f669337795e",
      "framework": "css",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "_email-variables",
      "normalized_name": "email-variables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/_email-variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "9f4b7d628dc76bba0abf08f7",
      "component_kind": "design-token",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "adef0312d1ba634a",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_theme",
      "normalized_name": "theme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/_theme.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "c0f11256e68f133d6fe1ffd9",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "625b9fddc063c886",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_extend",
      "normalized_name": "extend",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/_extend.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "038ab4ea098cd4b9edd2d774",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "932da499e013058f",
      "framework": "css",
      "imports": "",
      "lines": 256,
      "logic_relevance": "secondary",
      "name": "_modals",
      "normalized_name": "modals",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/components/_modals.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,observability,automation",
      "component_id": "e774c72e287aae18ebb1c0ac",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a0e388c2742d4ea9",
      "framework": "css",
      "imports": "",
      "lines": 540,
      "logic_relevance": "secondary",
      "name": "_utilities",
      "normalized_name": "utilities",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_utilities.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "2ae86a240ba7231fae36ca84",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "75d02faa5a8aaea8",
      "framework": "css",
      "imports": "",
      "lines": 247,
      "logic_relevance": "secondary",
      "name": "_grids",
      "normalized_name": "grids",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_grids.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "47c7c7c9655138c07887dcf2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c84609f715b10477",
      "framework": "css",
      "imports": "",
      "lines": 81,
      "logic_relevance": "secondary",
      "name": "_responsive",
      "normalized_name": "responsive",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_responsive.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "13af40f972b87151d11f0d9b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5909e84a349d6cb8",
      "framework": "css",
      "imports": "",
      "lines": 437,
      "logic_relevance": "secondary",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,security,automation",
      "component_id": "8e0c1856e253cc12478de5db",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d414bc1047dfa3cc",
      "framework": "css",
      "imports": "",
      "lines": 1109,
      "logic_relevance": "secondary",
      "name": "_forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_forms.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,ai",
      "component_id": "c5f657de636e77f1e048ea51",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e23b67a8674a9d95",
      "framework": "css",
      "imports": "",
      "lines": 30,
      "logic_relevance": "secondary",
      "name": "_lib",
      "normalized_name": "lib",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_lib.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "b1e8f6eec2a7b4622d4f6622",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e67afb16cc24722a",
      "framework": "css",
      "imports": "",
      "lines": 524,
      "logic_relevance": "secondary",
      "name": "_navigation",
      "normalized_name": "navigation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_navigation.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "49fc2deec1b8cd7069f9f392",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "938f31f9fff3147e",
      "framework": "css",
      "imports": "",
      "lines": 126,
      "logic_relevance": "secondary",
      "name": "_layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_layout.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "365d9a8710ae7ace5790a502",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "23f858b0a6b9ca70",
      "framework": "css",
      "imports": "",
      "lines": 152,
      "logic_relevance": "secondary",
      "name": "_actions-toolbar",
      "normalized_name": "actions-toolbar",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_actions-toolbar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "32b4824f69359b582306dcf5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "feb3db687434da4d",
      "framework": "css",
      "imports": "",
      "lines": 440,
      "logic_relevance": "secondary",
      "name": "_pages",
      "normalized_name": "pages",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_pages.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,automation,logic",
      "component_id": "5a8e1df57d68c614b8b8ab4c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "01b60bbbb6053442",
      "framework": "css",
      "imports": "",
      "lines": 288,
      "logic_relevance": "secondary",
      "name": "_sections",
      "normalized_name": "sections",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_sections.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,integration,automation",
      "component_id": "872438bf52f0e8019585d32f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8e43581b4283fee2",
      "framework": "css",
      "imports": "",
      "lines": 317,
      "logic_relevance": "secondary",
      "name": "_popups",
      "normalized_name": "popups",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_popups.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,ai",
      "component_id": "71180f955b4cdc7f3e9708e5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "364e26b56a30acfd",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "secondary",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,security,logic",
      "component_id": "afd6f5709e1397ce4d655d97",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | security-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e60c61f58ff67d53",
      "framework": "css",
      "imports": "",
      "lines": 477,
      "logic_relevance": "secondary",
      "name": "_typography",
      "normalized_name": "typography",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_typography.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "6ac41febaf8fc7e335ffd705",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "46fdeac9df0d73d8",
      "framework": "css",
      "imports": "",
      "lines": 96,
      "logic_relevance": "secondary",
      "name": "_loaders",
      "normalized_name": "loaders",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_loaders.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "69aae8abd9003896f225e223",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ad50ffdc6cc9685f",
      "framework": "css",
      "imports": "",
      "lines": 363,
      "logic_relevance": "secondary",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,ai",
      "component_id": "39b15cdba53356fca4fc4ce6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f356bbec63420444",
      "framework": "css",
      "imports": "",
      "lines": 281,
      "logic_relevance": "secondary",
      "name": "_messages",
      "normalized_name": "messages",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_messages.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "3c27531d9ab1b1abd049a099",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "190d9b5554da505a",
      "framework": "css",
      "imports": "",
      "lines": 627,
      "logic_relevance": "secondary",
      "name": "_dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_dropdowns.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "0e127754d9c14bd88acd0f46",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a657eddb2fac7459",
      "framework": "css",
      "imports": "",
      "lines": 228,
      "logic_relevance": "secondary",
      "name": "_rating",
      "normalized_name": "rating",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_rating.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "6428bf8328f854ecf0b3a498",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "53ccab7c5ccd2ebe",
      "framework": "css",
      "imports": "",
      "lines": 554,
      "logic_relevance": "secondary",
      "name": "_tables",
      "normalized_name": "tables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_tables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "9fb0132e60ba98d12e1dd38d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a9410e84f37a1356",
      "framework": "css",
      "imports": "",
      "lines": 230,
      "logic_relevance": "secondary",
      "name": "_tooltips",
      "normalized_name": "tooltips",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_tooltips.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "d62f0bf191393b1901ac23d0",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "592ea88109ac1f43",
      "framework": "css",
      "imports": "",
      "lines": 178,
      "logic_relevance": "secondary",
      "name": "_breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_breadcrumbs.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,logic,observability,security",
      "component_id": "8a99ad1f983ebdb794045c9e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "133202f05725cdde",
      "framework": "css",
      "imports": "",
      "lines": 521,
      "logic_relevance": "secondary",
      "name": "_resets",
      "normalized_name": "resets",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_resets.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "6c86422800c7fbd4e88f234c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6637cca9c717664d",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "_responsive",
      "normalized_name": "responsive",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_responsive.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "3c4b9e185710ee858f64f79f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed4fb6a28dfce2a2",
      "framework": "css",
      "imports": "",
      "lines": 102,
      "logic_relevance": "secondary",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,security,automation,logic",
      "component_id": "de53c39282497bdaa07e01b1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a98d236f81bd22d2",
      "framework": "css",
      "imports": "",
      "lines": 315,
      "logic_relevance": "secondary",
      "name": "_forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_forms.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "ee1f5e4219dd4a91d67aa844",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4698da0f07de89d2",
      "framework": "css",
      "imports": "",
      "lines": 115,
      "logic_relevance": "secondary",
      "name": "_navigation",
      "normalized_name": "navigation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_navigation.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "0333c75f9332898cd006fbd7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5bda7f1565ec35d2",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "_structure",
      "normalized_name": "structure",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_structure.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "fe69fc98af1f982afebe53fa",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8b06da1e571b32e1",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "secondary",
      "name": "_layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_layout.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "b223e1209de3587e8d83e9b7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3ec2892c4b3ba82c",
      "framework": "css",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "_actions-toolbar",
      "normalized_name": "actions-toolbar",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_actions-toolbar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "f0659be1ef21e0de2ccf993a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e330033f5b0e159d",
      "framework": "css",
      "imports": "",
      "lines": 111,
      "logic_relevance": "secondary",
      "name": "_pages",
      "normalized_name": "pages",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_pages.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,automation,logic",
      "component_id": "a3fe21ff4f3ce75773311960",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "03f6f1a99f68dddc",
      "framework": "css",
      "imports": "",
      "lines": 89,
      "logic_relevance": "secondary",
      "name": "_sections",
      "normalized_name": "sections",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_sections.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,integration,automation,logic",
      "component_id": "d238bd559d17cd4041a7b117",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "529787ddc8e04d85",
      "framework": "css",
      "imports": "",
      "lines": 80,
      "logic_relevance": "secondary",
      "name": "_popups",
      "normalized_name": "popups",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_popups.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "135291edbcfaa45eac0563d5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d4a36980ba4ac3fb",
      "framework": "css",
      "imports": "",
      "lines": 245,
      "logic_relevance": "secondary",
      "name": "_typography",
      "normalized_name": "typography",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_typography.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "0de5fe89275651b26c50a853",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5474e6a1067ea681",
      "framework": "css",
      "imports": "",
      "lines": 102,
      "logic_relevance": "secondary",
      "name": "_colors",
      "normalized_name": "colors",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_colors.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,ai",
      "component_id": "77b222de402f350333a76bde",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3555310775d3119f",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "secondary",
      "name": "_email",
      "normalized_name": "email",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_email.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "d264e431a07692fd31bf0cb2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "51cbf3c4cbb87054",
      "framework": "css",
      "imports": "",
      "lines": 30,
      "logic_relevance": "secondary",
      "name": "_loaders",
      "normalized_name": "loaders",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_loaders.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "2186add2148707c9c4308d16",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "90885f39f86594e2",
      "framework": "css",
      "imports": "",
      "lines": 85,
      "logic_relevance": "secondary",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation,ai",
      "component_id": "ff5586ee4209fd28f34eedf1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6abe2925c95e40cf",
      "framework": "css",
      "imports": "",
      "lines": 123,
      "logic_relevance": "secondary",
      "name": "_messages",
      "normalized_name": "messages",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_messages.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "597cd1acc3eb487683189c57",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "43d26a0cf237f305",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "_components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_components.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "089685bfa9e3d84a4e4120e6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "300162c397db3b4c",
      "framework": "css",
      "imports": "",
      "lines": 99,
      "logic_relevance": "secondary",
      "name": "_dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_dropdowns.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "01844a9b0bfcb2980ec0444e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d1b5c83eb77c8925",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "_rating",
      "normalized_name": "rating",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_rating.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "9f1bf8376465e3fc48fe0386",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bd4ff629b28ee258",
      "framework": "css",
      "imports": "",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "_tables",
      "normalized_name": "tables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_tables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "425e36df17902c664c45162c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "142f4408d18d88de",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "_tooltips",
      "normalized_name": "tooltips",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_tooltips.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "c47f9765b720fd52124af344",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "acaaa4014979711e",
      "framework": "css",
      "imports": "",
      "lines": 76,
      "logic_relevance": "secondary",
      "name": "_breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_breadcrumbs.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,observability,automation,process",
      "component_id": "f831ab4fcb0a044d0400be52",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f53ff02f540e9bc",
      "framework": "css",
      "imports": "",
      "lines": 8908,
      "logic_relevance": "secondary",
      "name": "docs",
      "normalized_name": "docs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/docs.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation,process",
      "component_id": "4fe2ff241eac64268166aeb3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8878a98693bcb086",
      "framework": "css",
      "imports": "",
      "lines": 432,
      "logic_relevance": "secondary",
      "name": "_utilities",
      "normalized_name": "utilities",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_utilities.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,process",
      "component_id": "d069fe2dbdf21f0aa987a75c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7dd9fb4568282fde",
      "framework": "css",
      "imports": "",
      "lines": 108,
      "logic_relevance": "secondary",
      "name": "_responsive",
      "normalized_name": "responsive",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_responsive.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "7b14217453a1443d7873b185",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bf509f3946b965c7",
      "framework": "css",
      "imports": "",
      "lines": 1004,
      "logic_relevance": "secondary",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_buttons.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "0f5a7592f2762e8ed8546762",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2b3cc50a09e2a6bf",
      "framework": "css",
      "imports": "",
      "lines": 1196,
      "logic_relevance": "secondary",
      "name": "_forms",
      "normalized_name": "forms",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_forms.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,process",
      "component_id": "e47252c66814f699211dc76e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2335a23ed6498617",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "_lib",
      "normalized_name": "lib",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_lib.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "6ac69275e6c2c25e25c6e251",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a624495684938794",
      "framework": "css",
      "imports": "",
      "lines": 395,
      "logic_relevance": "secondary",
      "name": "_layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_layout.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "190cb457be69ba90a6d75598",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7390ed33f1249bb9",
      "framework": "css",
      "imports": "",
      "lines": 388,
      "logic_relevance": "secondary",
      "name": "_actions-toolbar",
      "normalized_name": "actions-toolbar",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_actions-toolbar.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "53b713bf4bb813017fd8a0d7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1b0a9da5fc29cfa4",
      "framework": "css",
      "imports": "",
      "lines": 873,
      "logic_relevance": "secondary",
      "name": "_pages",
      "normalized_name": "pages",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_pages.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "34757f02d11671a0084e9e83",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "33810127af619813",
      "framework": "css",
      "imports": "",
      "lines": 691,
      "logic_relevance": "secondary",
      "name": "_sections",
      "normalized_name": "sections",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_sections.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,integration,observability,automation,logic,process",
      "component_id": "21e6475ed8211b717fe1aff1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "457780ec545544a8",
      "framework": "css",
      "imports": "",
      "lines": 824,
      "logic_relevance": "secondary",
      "name": "_popups",
      "normalized_name": "popups",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_popups.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "31f735363edac7a219acad12",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0be22b8e50af8313",
      "framework": "css",
      "imports": "",
      "lines": 6912,
      "logic_relevance": "secondary",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_variables.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,process,observability,security,automation,logic",
      "component_id": "587ce51eda442ecd1224c54f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | process-score:80 | observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "11f012cd878e2a9d",
      "framework": "css",
      "imports": "",
      "lines": 1384,
      "logic_relevance": "secondary",
      "name": "_typography",
      "normalized_name": "typography",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_typography.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,logic,automation,ai",
      "component_id": "c07868d35953e22b5a7a7337",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | logic-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "989be64e60bf4c57",
      "framework": "unknown",
      "imports": "",
      "lines": 936,
      "logic_relevance": "secondary",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "06320db6fc5e645337c591fc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f085daf17eb35cc5",
      "framework": "css",
      "imports": "",
      "lines": 199,
      "logic_relevance": "secondary",
      "name": "_loaders",
      "normalized_name": "loaders",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_loaders.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,process,ai",
      "component_id": "efad7b3b616ee2324d0b0c51",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "84959017ba86b285",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "docs",
      "normalized_name": "docs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/docs.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "dd3f1abbe214f8d4c6785358",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bd68cb42a0a3a9c8",
      "framework": "css",
      "imports": "",
      "lines": 912,
      "logic_relevance": "secondary",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_icons.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process,ai",
      "component_id": "27f0cc1405cedef5366b4b58",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "043ac413d334e4ac",
      "framework": "css",
      "imports": "",
      "lines": 781,
      "logic_relevance": "secondary",
      "name": "_messages",
      "normalized_name": "messages",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_messages.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "e06cddfcea0bd31446b68647",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "593cf272e12527d2",
      "framework": "css",
      "imports": "",
      "lines": 156,
      "logic_relevance": "secondary",
      "name": "_components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_components.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "7db9c0e5a50afcf067857873",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fd1f5c43a58fa662",
      "framework": "css",
      "imports": "",
      "lines": 954,
      "logic_relevance": "secondary",
      "name": "_dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_dropdowns.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "62e238d44fe8cac1a6c4a82e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "885c18db2fce4564",
      "framework": "css",
      "imports": "",
      "lines": 437,
      "logic_relevance": "secondary",
      "name": "_rating",
      "normalized_name": "rating",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_rating.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,automation,logic,process",
      "component_id": "8b88d8ef5ee305dd47d92c2b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9f861d9793c11783",
      "framework": "css",
      "imports": "",
      "lines": 1624,
      "logic_relevance": "secondary",
      "name": "_tables",
      "normalized_name": "tables",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_tables.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation,process",
      "component_id": "60f70eb519d5cef1c77c292b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5b54080c5edbd1e3",
      "framework": "css",
      "imports": "",
      "lines": 195,
      "logic_relevance": "secondary",
      "name": "_tooltips",
      "normalized_name": "tooltips",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_tooltips.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic,process",
      "component_id": "7a4b322f8faa8f0f7f2a6ace",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45 | process-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "813378b7c5b420fe",
      "framework": "css",
      "imports": "",
      "lines": 537,
      "logic_relevance": "secondary",
      "name": "_breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_breadcrumbs.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic,process",
      "component_id": "afc5fa85d82c7c5a9b5773a8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | process-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1a0a4d66aa00b532",
      "framework": "css",
      "imports": "",
      "lines": 64,
      "logic_relevance": "secondary",
      "name": "_resets",
      "normalized_name": "resets",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_resets.less",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,process",
      "component_id": "2663c9e19f4f85022bf6ce91",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "10398ead2a532e9f",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "dropdown",
      "normalized_name": "dropdown",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/js/dropdown.js",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "db51d2489bbd046f801b2e58",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a2079c0917b341e9",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "less.min",
      "normalized_name": "less-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/less/less.min.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "62d7903bdc73493fc42943e1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f37a1f13a7640b4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "config.less",
      "normalized_name": "config-less",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/less/config.less.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "a0b82b09d77e83dfac92dcd6",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5654a16b18e087c6",
      "framework": "unknown",
      "imports": "",
      "lines": 127,
      "logic_relevance": "secondary",
      "name": "jquery.details",
      "normalized_name": "jquery-details",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.details.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "87a57e1de1f4d71ba007c428",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "jquery",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:jquery | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9471f7d2613b17a6",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 2,
      "logic_relevance": "primary",
      "name": "jquery.storageapi.min",
      "normalized_name": "jquery-storageapi-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.storageapi.min.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "0cc9f40a02473fe6c24318f3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cf105f00f06d73b1",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "jquery.hoverIntent",
      "normalized_name": "jquery-hover-intent",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.hoverIntent.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "c663d16ac051283ba8924e94",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2d7422095d8c0d64",
      "framework": "unknown",
      "imports": "",
      "lines": 1277,
      "logic_relevance": "primary",
      "name": "jquery.validate",
      "normalized_name": "jquery-validate",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.validate.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "a506cc54f7c58ee7cf26e726",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9e1f32a73d46d7e",
      "framework": "unknown",
      "imports": "",
      "lines": 300,
      "logic_relevance": "primary",
      "name": "jquery.tabs",
      "normalized_name": "jquery-tabs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.tabs.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "76ed555e236eccab8ee2162b",
      "component_kind": "automation-config",
      "confidence": 95,
      "dependency_roots": "+i+",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ca, Cb, Da, Ea, F, Fa, Ga, H | imports:+i+ | automation-score:95 | logic-score:85",
      "exports": "Ca,Cb,Da,Ea,F,Fa,Ga,H,Ha,Ia,J,K,La,Ma,P,Q,R,S,Tb,Ua,Ub,Vb,Wb,X,Xb,Yb,Zb",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ad4761663a8f66e1",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "jquery.min",
      "normalized_name": "jquery-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability",
      "component_id": "05e6dd83bec2ef7020035c2f",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "58564bc237b683f4",
      "framework": "unknown",
      "imports": "",
      "lines": 521,
      "logic_relevance": "secondary",
      "name": "jquery-migrate",
      "normalized_name": "jquery-migrate",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery-migrate.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "aa9b813d728f69e69fd1c6f1",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Datepicker | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Datepicker",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ad16373edfe199f6",
      "framework": "unknown",
      "imports": "",
      "lines": 14933,
      "logic_relevance": "secondary",
      "name": "jquery-ui-1.9.2",
      "normalized_name": "jquery-ui-1-9-2",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery-ui-1.9.2.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "fd5b29e039c86a86fa9caaee",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9db31879ca8d48cd",
      "framework": "unknown",
      "imports": "",
      "lines": 864,
      "logic_relevance": "secondary",
      "name": "jquery.mobile.custom",
      "normalized_name": "jquery-mobile-custom",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.mobile.custom.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "ec379abfda977919274caace",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f83525f16ff835fe",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "jquery.ba-hashchange.min",
      "normalized_name": "jquery-ba-hashchange-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.ba-hashchange.min.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "eedca6c5d2dbb91f72a1be51",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a03847b9bf374341",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "jquery.parsequery",
      "normalized_name": "jquery-parsequery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.parsequery.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "1af14991297b4ca99e863777",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "444fed15b609b609",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "jquery.cookie",
      "normalized_name": "jquery-cookie",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.cookie.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "a9bbc700f28891067864bb7f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a019f950bdc766aa",
      "framework": "unknown",
      "imports": "",
      "lines": 2154,
      "logic_relevance": "primary",
      "name": "jquery-ui-timepicker-addon",
      "normalized_name": "jquery-ui-timepicker-addon",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery-ui-timepicker-addon.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "64fd2639b689c68a0b3867dc",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Datepicker | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Datepicker",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f836d93095919895",
      "framework": "unknown",
      "imports": "",
      "lines": 15041,
      "logic_relevance": "secondary",
      "name": "jquery-ui",
      "normalized_name": "jquery-ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery-ui.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,discovery,automation",
      "component_id": "45491a73c1ccf71613cb0c20",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d2806a6a3fd1d37b",
      "framework": "unknown",
      "imports": "",
      "lines": 164,
      "logic_relevance": "primary",
      "name": "jquery.metadata",
      "normalized_name": "jquery-metadata",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.metadata.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "087e2827bffe5849d00db05b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fcce8ec90e061395",
      "framework": "css",
      "imports": "",
      "lines": 219,
      "logic_relevance": "secondary",
      "name": "jquery.multiselect",
      "normalized_name": "jquery-multiselect",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/editableMultiselect/css/jquery.multiselect.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "22f9b5a3a935bdb64b8f3eea",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7a2737a99fbb2c6d",
      "framework": "unknown",
      "imports": "",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "jquery.multiselect",
      "normalized_name": "jquery-multiselect",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/editableMultiselect/js/jquery.multiselect.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "2efea3c9410d8c3d91b9e915",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3fc26f8535fcf7e6",
      "framework": "unknown",
      "imports": "",
      "lines": 538,
      "logic_relevance": "primary",
      "name": "jquery.editable",
      "normalized_name": "jquery-editable",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/editableMultiselect/js/jquery.editable.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "72b04369e014acdfb772c962",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f086cc5e10c3eafb",
      "framework": "unknown",
      "imports": "",
      "lines": 4833,
      "logic_relevance": "primary",
      "name": "jquery.jstree",
      "normalized_name": "jquery-jstree",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/jquery.jstree.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "8bd3ef2c49f7efaf6385c5d8",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b3f9d1bd6a4c4358",
      "framework": "unknown",
      "imports": "",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "jquery.hotkeys",
      "normalized_name": "jquery-hotkeys",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/jquery.hotkeys.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "c5439e0a75aad35053d4e311",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fe24856895059eea",
      "framework": "css",
      "imports": "",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "style",
      "normalized_name": "style",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/apple/style.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "40ee2e8205d59244768fa4d2",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "406fd8a5a798d9cf",
      "framework": "css",
      "imports": "",
      "lines": 77,
      "logic_relevance": "secondary",
      "name": "style",
      "normalized_name": "style",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/classic/style.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "12c5a14ad4ca606f16143a1a",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45780bd14c1d48b5",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "secondary",
      "name": "style",
      "normalized_name": "style",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/default/style.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "a81b0189e7e8fb4deec5f5ad",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0644411b87f8ad00",
      "framework": "css",
      "imports": "",
      "lines": 84,
      "logic_relevance": "secondary",
      "name": "style",
      "normalized_name": "style",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/default-rtl/style.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "9ca642562b55d776f6f5e5d7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1eff82ad310571c6",
      "framework": "css",
      "imports": "",
      "lines": 161,
      "logic_relevance": "secondary",
      "name": "colorpicker",
      "normalized_name": "colorpicker",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/colorpicker/css/colorpicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "91ffc0fafebc3aa6dad40b1b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5532cd1207a7162f",
      "framework": "unknown",
      "imports": "",
      "lines": 487,
      "logic_relevance": "primary",
      "name": "colorpicker",
      "normalized_name": "colorpicker",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/colorpicker/js/colorpicker.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "d10611da9909f0ee55542a61",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d6009ebeccc4ac14",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "canvas-to-blob",
      "normalized_name": "canvas-to-blob",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/canvas-to-blob.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "385ff34d54468e0c08870252",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "44a706a72018b545",
      "framework": "unknown",
      "imports": "",
      "lines": 1081,
      "logic_relevance": "primary",
      "name": "jquery.fileupload",
      "normalized_name": "jquery-fileupload",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/jquery.fileupload.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "dfa790cce051db2a3d98af84",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d80244293a1549d6",
      "framework": "unknown",
      "imports": "",
      "lines": 219,
      "logic_relevance": "primary",
      "name": "jquery.fileupload-fp",
      "normalized_name": "jquery-fileupload-fp",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/jquery.fileupload-fp.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "f11f95e3ad786a9c94b38de1",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4d241d50202f61ba",
      "framework": "unknown",
      "imports": "",
      "lines": 745,
      "logic_relevance": "primary",
      "name": "jquery.fileupload-ui",
      "normalized_name": "jquery-fileupload-ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/jquery.fileupload-ui.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,logic",
      "component_id": "1e0035f9b205958798c41b23",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "76aeef74b1a11cbe",
      "framework": "unknown",
      "imports": "",
      "lines": 78,
      "logic_relevance": "secondary",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/main.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "2c40f1cdc53cc554d1e449b9",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a41a3409fadd5080",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "load-image",
      "normalized_name": "load-image",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/load-image.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "ebfe157843c255c93cf9076e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cff9ed64c7000eb6",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "primary",
      "name": "jquery.iframe-transport",
      "normalized_name": "jquery-iframe-transport",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/jquery.iframe-transport.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "fd7c95bc27357b2ad439659d",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e6b0c0412ab97e7a",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "locale",
      "normalized_name": "locale",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/locale.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "1bc31e9df3067debc003355d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d18c77d59aecbca1",
      "framework": "css",
      "imports": "",
      "lines": 84,
      "logic_relevance": "secondary",
      "name": "jquery.fileupload-ui",
      "normalized_name": "jquery-fileupload-ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/css/jquery.fileupload-ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "47c162c1f3953c5df3ec308a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2b1497e3b989f897",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "jquery.xdr-transport",
      "normalized_name": "jquery-xdr-transport",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/cors/jquery.xdr-transport.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "d2726a7f9a7a7d43e0e3d1e9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b882b6b548401f10",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "jquery.postmessage-transport",
      "normalized_name": "jquery-postmessage-transport",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/cors/jquery.postmessage-transport.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "b9e6ced1a7c8e3fc51c0dd66",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "655b759b460728f5",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "primary",
      "name": "domReady",
      "normalized_name": "dom-ready",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/requirejs/domReady.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "d3714b3c799d5e0870a2c4f3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "65b3a0dc2f5830ee",
      "framework": "unknown",
      "imports": "",
      "lines": 2068,
      "logic_relevance": "primary",
      "name": "require",
      "normalized_name": "require",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/requirejs/require.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "ae1c0bd1166953c6ef369e1c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47c9585042ba5c3a",
      "framework": "unknown",
      "imports": "",
      "lines": 390,
      "logic_relevance": "primary",
      "name": "text",
      "normalized_name": "text",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/requirejs/text.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,logic",
      "component_id": "a2bd661da89e93e18e9300aa",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "18154c0436d5bacc",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "window_readme",
      "normalized_name": "window-readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/window_readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "18a8f3b4cfe5fb9fcff1caaf",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f0a873646543b21d",
      "framework": "unknown",
      "imports": "",
      "lines": 1876,
      "logic_relevance": "primary",
      "name": "window",
      "normalized_name": "window",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/window.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "5ffcf5436a899fb82f0a80ea",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Str, Type | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "Str,Type",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1a2c745ab683dba7",
      "framework": "unknown",
      "imports": "",
      "lines": 6064,
      "logic_relevance": "primary",
      "name": "prototype",
      "normalized_name": "prototype",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/prototype.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "a98edc7386c0c297de400204",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d906873b6e23f8b",
      "framework": "unknown",
      "imports": "",
      "lines": 923,
      "logic_relevance": "primary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/validation.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "ff4b1d9eebb4e94a8b42171b",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1325255b0f1b127f",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "prototype-amd",
      "normalized_name": "prototype-amd",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/prototype-amd.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,observability,automation",
      "component_id": "fb1c556eff1e4127401c10d4",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "53c037aeeebe92c0",
      "framework": "css",
      "imports": "",
      "lines": 119,
      "logic_relevance": "secondary",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/alert.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "e2c7ea7984b24fc39feac33d",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a3b7cffd2cb0172",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "debug",
      "normalized_name": "debug",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/debug.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "bf0872e27c5aa5094a013a7b",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6ae8b7b5606bb689",
      "framework": "css",
      "imports": "",
      "lines": 108,
      "logic_relevance": "secondary",
      "name": "spread",
      "normalized_name": "spread",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/spread.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "325b3fb908a61f9bf8b61737",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0b0d9e9fd5c8ea7a",
      "framework": "css",
      "imports": "",
      "lines": 164,
      "logic_relevance": "secondary",
      "name": "nuncio",
      "normalized_name": "nuncio",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/nuncio.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "21a0df573a44a944945f8b9c",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ead9815fa48842c5",
      "framework": "css",
      "imports": "",
      "lines": 121,
      "logic_relevance": "secondary",
      "name": "darkX",
      "normalized_name": "dark-x",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/darkX.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "8d9b31306d89297a856c715b",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8dc8432fcd20a29f",
      "framework": "css",
      "imports": "",
      "lines": 155,
      "logic_relevance": "secondary",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/default.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,observability,automation",
      "component_id": "c084b95bfb7ed491dc376a80",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d77d21378886bb9e",
      "framework": "css",
      "imports": "",
      "lines": 333,
      "logic_relevance": "secondary",
      "name": "mac_os_x",
      "normalized_name": "mac-os-x",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/mac_os_x.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "640c8f383b70782647f0eef6",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "03f882783e35c72b",
      "framework": "css",
      "imports": "",
      "lines": 88,
      "logic_relevance": "secondary",
      "name": "alert_lite",
      "normalized_name": "alert-lite",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/alert_lite.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "2b6969f0fb8919beb6e463de",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1640702295402010",
      "framework": "css",
      "imports": "",
      "lines": 160,
      "logic_relevance": "secondary",
      "name": "mac_os_x_dialog",
      "normalized_name": "mac-os-x-dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/mac_os_x_dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "4f8cb45aedff523bd4eac70d",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aa06294358662def",
      "framework": "css",
      "imports": "",
      "lines": 960,
      "logic_relevance": "secondary",
      "name": "lighting",
      "normalized_name": "lighting",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/lighting.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "9a78a640d0d9631d3c849380",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6948cc49adc5dba9",
      "framework": "css",
      "imports": "",
      "lines": 150,
      "logic_relevance": "secondary",
      "name": "alphacube",
      "normalized_name": "alphacube",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/alphacube.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "66f951906d6d25a7429c18c4",
      "component_kind": "design-token",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "84a9956d46d17cb3",
      "framework": "css",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "iepngfix",
      "normalized_name": "iepngfix",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/iefix/iepngfix.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,automation,ai",
      "component_id": "d9031b215fb2478ed6c4067b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0084bcf6da694522",
      "framework": "unknown",
      "imports": "",
      "lines": 631,
      "logic_relevance": "primary",
      "name": "js",
      "normalized_name": "js",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/varien/js.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,automation",
      "component_id": "5c584dbb7c779fc5b6168662",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "02d354dd3be0280c",
      "framework": "unknown",
      "imports": "",
      "lines": 378,
      "logic_relevance": "primary",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/varien/form.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "2196dd7fb586daff43359905",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ff6fd2ba316e100",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "modernizr.details",
      "normalized_name": "modernizr-details",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/modernizr/modernizr.details.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "f7db79ba0830a51186366074",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B, C | logic-score:85 | automation-score:50",
      "exports": "A,B,C",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "38a991e9a1094aa8",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "modernizr.2.0.6",
      "normalized_name": "modernizr-2-0-6",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/modernizr/modernizr.2.0.6.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "cba0fbd441512eb7b2146970",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b8b26377c20a71b7",
      "framework": "unknown",
      "imports": "",
      "lines": 1384,
      "logic_relevance": "secondary",
      "name": "modernizr",
      "normalized_name": "modernizr",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/modernizr/modernizr.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "2436e6b10d72c8cab8953471",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ee1664b2b983d3a1",
      "framework": "unknown",
      "imports": "",
      "lines": 3860,
      "logic_relevance": "primary",
      "name": "fotorama",
      "normalized_name": "fotorama",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/fotorama/fotorama.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "6cd16b8a2b3b428dfc9c0245",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, Ab, Ad, B, Ba, Bb, Bd, C | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "A,Ab,Ad,B,Ba,Bb,Bd,C,Cb,Cd,D,Db,Dd,E,Eb,Ed,Fb,Fd,Gb,Gd,Hb,Hd,Ib,Id,Jb,Jd,Kb,Kd,Lb,Ld,Mb,Md,Nb,Nd,Ob,Od,Pb,Pd,Qb,Qd,Rb,Rd,Sb,Sd,Tb,Td,Ub,Ud,Vb,Vd,Wb,Wd,Xb,Xd,Yb,Yc,Yd,Zb,Zc,Zd",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e715be3c89d93cd0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "fotorama.min",
      "normalized_name": "fotorama-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/fotorama/fotorama.min.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "c4b29b30f778e9010e49604f",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ext | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Ext",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "478ae9a23cebbb6a",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "secondary",
      "name": "ext-tree-checkbox",
      "normalized_name": "ext-tree-checkbox",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/extjs/ext-tree-checkbox.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,security",
      "component_id": "7d0b827e1f9be100205a45c2",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ef20dc8084c9f1b5",
      "framework": "unknown",
      "imports": "",
      "lines": 242,
      "logic_relevance": "secondary",
      "name": "ext-tree",
      "normalized_name": "ext-tree",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/extjs/ext-tree.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "b856417d0c98b92057542ddd",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1a637f6f6840ca77",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "defaults",
      "normalized_name": "defaults",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/extjs/defaults.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "8d4e716561141682760e0300",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "95bc32b98680246a",
      "framework": "css",
      "imports": "",
      "lines": 634,
      "logic_relevance": "secondary",
      "name": "ytheme-magento",
      "normalized_name": "ytheme-magento",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/extjs/resources/css/ytheme-magento.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "7d01dbe08f35ab0993b53e32",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e88764b2b27d304d",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/extjs/resources/css/README.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "116aaaa4c073457c5e1996ec",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8fe6f850a7254a4b",
      "framework": "css",
      "imports": "",
      "lines": 2151,
      "logic_relevance": "secondary",
      "name": "ext-all",
      "normalized_name": "ext-all",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/extjs/resources/css/ext-all.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "874cfd898978f1db27bfd87b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9f3fd781cd716bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 1027,
      "logic_relevance": "primary",
      "name": "magnify",
      "normalized_name": "magnify",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/magnifier/magnify.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "184517c2f695bd43e446f73e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Magnify | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "Magnify",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "be05468fbc20e347",
      "framework": "unknown",
      "imports": "",
      "lines": 587,
      "logic_relevance": "primary",
      "name": "magnifier",
      "normalized_name": "magnifier",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/magnifier/magnifier.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "d8f9a4bb99d4e43bda29338b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "71efc700b9091f14",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "ccard",
      "normalized_name": "ccard",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/lib/ccard.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "e580a6d8c816424d12c6b89f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5065b0a0161ea6fe",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/lib/storage.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "a80f02551b050b54e535d978",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "328cab78ebb3e3c4",
      "framework": "unknown",
      "imports": "",
      "lines": 1130,
      "logic_relevance": "primary",
      "name": "effects",
      "normalized_name": "effects",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/scriptaculous/effects.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability",
      "component_id": "06fb9476ce6f50490c112d84",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a2e4f92cba8509d",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "secondary",
      "name": "builder",
      "normalized_name": "builder",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/scriptaculous/builder.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "6041216b073f75346555d965",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d832ab2ea4b8441d",
      "framework": "unknown",
      "imports": "",
      "lines": 1102,
      "logic_relevance": "secondary",
      "name": "selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/fonts/Blank-Theme-Icons/selection.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0e1a9c24273d4eba41aabb0a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "koExports",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:koExports | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7f078ea5ab0e1792",
      "framework": "unknown",
      "imports": "koExports",
      "lines": 5475,
      "logic_relevance": "primary",
      "name": "knockout",
      "normalized_name": "knockout",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/knockoutjs/knockout.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability",
      "component_id": "3c9d91b952434001c422aed6",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "knockout",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:FastForEach | imports:knockout | automation-score:95 | logic-score:85 | observability-score:55",
      "exports": "FastForEach",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f15829a65a1dcfd",
      "framework": "unknown",
      "imports": "knockout",
      "lines": 331,
      "logic_relevance": "secondary",
      "name": "knockout-fast-foreach",
      "normalized_name": "knockout-fast-foreach",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/knockoutjs/knockout-fast-foreach.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "789a9594c22cd39207cbab91",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "knockout",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:knockout | logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b634831c5441e25",
      "framework": "unknown",
      "imports": "knockout",
      "lines": 216,
      "logic_relevance": "primary",
      "name": "knockout-repeat",
      "normalized_name": "knockout-repeat",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/knockoutjs/knockout-repeat.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "90d8852739e3a18e87ccf8ec",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "knockout",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../lib/weakmap, knockout | logic-score:85 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b6885b469c12938c",
      "framework": "unknown",
      "imports": "../lib/weakmap,knockout",
      "lines": 468,
      "logic_relevance": "primary",
      "name": "knockout-es5",
      "normalized_name": "knockout-es5",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/knockoutjs/knockout-es5.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability",
      "component_id": "d632f2b9a0295c05bfce4eb6",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Node, Range, Selection | automation-score:95 | logic-score:85 | observability-score:55 | cron-or-schedule",
      "exports": "Node,Range,Selection",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3d24db02c2ab3106",
      "framework": "unknown",
      "imports": "",
      "lines": 15902,
      "logic_relevance": "secondary",
      "name": "tiny_mce_jquery_src",
      "normalized_name": "tiny-mce-jquery-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_jquery_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "264be9e1de4251bb05f997ef",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "886a2aaf7684e596",
      "framework": "unknown",
      "imports": "",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "tiny_mce_dev",
      "normalized_name": "tiny-mce-dev",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_dev.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "881ba29124a6bf80dc72f916",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Node, Range, Selection | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "Node,Range,Selection",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a12c224fa385296d",
      "framework": "unknown",
      "imports": "",
      "lines": 16752,
      "logic_relevance": "secondary",
      "name": "tiny_mce_prototype_src",
      "normalized_name": "tiny-mce-prototype-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_prototype_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "68486f316fd68daa8a9f26fa",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Node, Range, Selection | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "Node,Range,Selection",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "36e42e421e7fa172",
      "framework": "unknown",
      "imports": "",
      "lines": 16726,
      "logic_relevance": "secondary",
      "name": "tiny_mce_src",
      "normalized_name": "tiny-mce-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "a15af454bba9d76476b361d6",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8564ae5983827c23",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "jquery.tinymce",
      "normalized_name": "jquery-tinymce",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/jquery.tinymce.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability,security",
      "component_id": "bc61899811495259d65b188b",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, B, C, D, F, G, H, I | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,S,T,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "723c4b64c61cf724",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "tiny_mce_prototype",
      "normalized_name": "tiny-mce-prototype",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_prototype.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "4d42ab59f14ff970dd78ec9c",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fdfd81ff21dbaa40",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "tiny_mce_popup",
      "normalized_name": "tiny-mce-popup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_popup.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic,security",
      "component_id": "4aa4bda8a625d49f056662eb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "5fda611b8191f001",
      "framework": "unknown",
      "imports": "",
      "lines": 504,
      "logic_relevance": "secondary",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability,security",
      "component_id": "377c4a014062a3718bf4300a",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, B, C, D, F, G, H, I | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,S,T,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9991c1317b9e7922",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "tiny_mce",
      "normalized_name": "tiny-mce",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "fa80038c7f2c4257f4fe2081",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, B, C, D, F, G, H, I | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,S,T,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e8eacdca4ff254dc",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "tiny_mce_jquery",
      "normalized_name": "tiny-mce-jquery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/tiny_mce_jquery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "da0e9e0238423a4d1c7b0447",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d32fb3477348ee7d",
      "framework": "unknown",
      "imports": "",
      "lines": 503,
      "logic_relevance": "primary",
      "name": "EditorManager",
      "normalized_name": "editor-manager",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/EditorManager.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d4d55e0c95487f7b36a49a2c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3663bd780ea7386e",
      "framework": "unknown",
      "imports": "",
      "lines": 456,
      "logic_relevance": "primary",
      "name": "Popup",
      "normalized_name": "popup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/Popup.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "6908fc250d6adb71126691dc",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1fc99f7b93526a2d",
      "framework": "unknown",
      "imports": "",
      "lines": 231,
      "logic_relevance": "primary",
      "name": "WindowManager",
      "normalized_name": "window-manager",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/WindowManager.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "f6b2126d9ff47135dfd6bd0c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1f8363b99d4ccb3f",
      "framework": "unknown",
      "imports": "",
      "lines": 524,
      "logic_relevance": "primary",
      "name": "ControlManager",
      "normalized_name": "control-manager",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ControlManager.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "dc673fbe44a5d0cf9ec8b4b4",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "afe52b563a6fc7ad",
      "framework": "unknown",
      "imports": "",
      "lines": 2018,
      "logic_relevance": "primary",
      "name": "Formatter",
      "normalized_name": "formatter",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/Formatter.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "b1cfba5f1f4ef6c0331cb900",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aaa366c7157eaea9",
      "framework": "unknown",
      "imports": "",
      "lines": 358,
      "logic_relevance": "primary",
      "name": "AddOnManager",
      "normalized_name": "add-on-manager",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/AddOnManager.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "91219934daee25c474f939b7",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "caf9d854655b88d0",
      "framework": "unknown",
      "imports": "",
      "lines": 200,
      "logic_relevance": "primary",
      "name": "UndoManager",
      "normalized_name": "undo-manager",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/UndoManager.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "38e7ef89d34bb9bef9584615",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "93434270b9524a7f",
      "framework": "unknown",
      "imports": "",
      "lines": 635,
      "logic_relevance": "primary",
      "name": "ForceBlocks",
      "normalized_name": "force-blocks",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ForceBlocks.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "b2f4dddfd4a706e5d5dc7f04",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "13afdd4485ee2d0d",
      "framework": "unknown",
      "imports": "",
      "lines": 869,
      "logic_relevance": "secondary",
      "name": "tinymce",
      "normalized_name": "tinymce",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/tinymce.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "536e480c29447b9664831690",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ee8ed9962485b34c",
      "framework": "unknown",
      "imports": "",
      "lines": 3287,
      "logic_relevance": "primary",
      "name": "Editor",
      "normalized_name": "editor",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/Editor.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "33ded2d1a264e22ef071dbbe",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6736581fb64da0b1",
      "framework": "unknown",
      "imports": "",
      "lines": 577,
      "logic_relevance": "primary",
      "name": "EditorCommands",
      "normalized_name": "editor-commands",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/EditorCommands.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "782fcd1a9506fbb326c369b2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0b4d6eed1787f7c6",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "LegacyInput",
      "normalized_name": "legacy-input",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/LegacyInput.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "d2d1b19e92fc0fe92723834b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c72037a76b288d45",
      "framework": "unknown",
      "imports": "",
      "lines": 198,
      "logic_relevance": "primary",
      "name": "Control",
      "normalized_name": "control",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/Control.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation,ai",
      "component_id": "457a83da8eb97ad0ab478835",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "809013376d8c5e94",
      "framework": "unknown",
      "imports": "",
      "lines": 154,
      "logic_relevance": "primary",
      "name": "SplitButton",
      "normalized_name": "split-button",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/SplitButton.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,observability,security,automation,ai",
      "component_id": "502a741fb37eb17f9dd93a84",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f86c2e68d16cc213",
      "framework": "unknown",
      "imports": "",
      "lines": 476,
      "logic_relevance": "primary",
      "name": "DropMenu",
      "normalized_name": "drop-menu",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/DropMenu.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,automation",
      "component_id": "74dd487028d853e5a81f23c9",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c00b9f2a53faa160",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "Separator",
      "normalized_name": "separator",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/Separator.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation",
      "component_id": "1d8e97146eea2c6c4e9c404a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd09f4a255d47bed",
      "framework": "unknown",
      "imports": "",
      "lines": 217,
      "logic_relevance": "primary",
      "name": "NativeListBox",
      "normalized_name": "native-list-box",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/NativeListBox.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation",
      "component_id": "5fa386b70f1b359bfd657bac",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1b16e1a4b509351",
      "framework": "unknown",
      "imports": "",
      "lines": 285,
      "logic_relevance": "primary",
      "name": "ColorSplitButton",
      "normalized_name": "color-split-button",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/ColorSplitButton.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,security,automation",
      "component_id": "e5c78be0e0aae06b13a5373b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09ca1501936d60e8",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "MenuButton",
      "normalized_name": "menu-button",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/MenuButton.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,ui,security",
      "component_id": "0ff2fd18321cc5564fccae1c",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a8a7442888290b4",
      "framework": "unknown",
      "imports": "",
      "lines": 183,
      "logic_relevance": "secondary",
      "name": "KeyboardNavigation",
      "normalized_name": "keyboard-navigation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/KeyboardNavigation.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation,ai",
      "component_id": "159c557354f9b1180364774a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bf821e7b11cfe202",
      "framework": "unknown",
      "imports": "",
      "lines": 428,
      "logic_relevance": "primary",
      "name": "ListBox",
      "normalized_name": "list-box",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/ListBox.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "12dab491aaa8e365edbc39a2",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f17d6d285ba26925",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "MenuItem",
      "normalized_name": "menu-item",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/MenuItem.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,automation",
      "component_id": "f7830507295699950c46d300",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e8c5a5c50c09d57d",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "Button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/Button.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,automation",
      "component_id": "c055a5330f3bb89317a8d4b6",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c349acca8caad1dd",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "Toolbar",
      "normalized_name": "toolbar",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/Toolbar.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "61eb088415b0d64a962ba892",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7a1dba658b4e00b",
      "framework": "unknown",
      "imports": "",
      "lines": 186,
      "logic_relevance": "primary",
      "name": "Menu",
      "normalized_name": "menu",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/Menu.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation",
      "component_id": "d6a80033802089279732cc27",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "542fcda6b5ee098e",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "Container",
      "normalized_name": "container",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/Container.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ui,observability,security,automation",
      "component_id": "b7f883774d29946be4ac6601",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "179761b210a82f80",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "ToolbarGroup",
      "normalized_name": "toolbar-group",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/ui/ToolbarGroup.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "b003002e070b8c2c37c5e360",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fc0d48857aee0afb",
      "framework": "unknown",
      "imports": "",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "Quirks",
      "normalized_name": "quirks",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/Quirks.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "c3c389d6ffb9fb1e41b3d79c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5cc9b3cfa736cd57",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "Dispatcher",
      "normalized_name": "dispatcher",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/Dispatcher.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "5494a1b28fbb411960bdfb25",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "10e79944c72ec429",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "JSONRequest",
      "normalized_name": "jsonrequest",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/JSONRequest.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "36d779fd3f8710e7181aaa06",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1ea462319fe70a67",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "JSON",
      "normalized_name": "json",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/JSON.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability",
      "component_id": "9dd9f7f008a502656ca78886",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eeb40e411c4d761d",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "secondary",
      "name": "XHR",
      "normalized_name": "xhr",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/XHR.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "eb6d73036abbb5f409e1954c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f014015daf1c565c",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "JSONP",
      "normalized_name": "jsonp",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/JSONP.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "53334990fea5a5f4bc71c00a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "098e9ce7a8a43ee3",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "Cookie",
      "normalized_name": "cookie",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/Cookie.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "1f02ee9fda1f70b3517a4b50",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d65181d70e5f1aac",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "VK",
      "normalized_name": "vk",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/VK.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ced891aaba718ffee324f246",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b474a7ff7972dff",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "primary",
      "name": "URI",
      "normalized_name": "uri",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/util/URI.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,logic",
      "component_id": "5426dc79fb9f6a049c205bae",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a556e95476beaf9",
      "framework": "unknown",
      "imports": "",
      "lines": 2518,
      "logic_relevance": "secondary",
      "name": "firebug-lite",
      "normalized_name": "firebug-lite",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/firebug/firebug-lite.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "395a73956d71c387117d88e1",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b61ec973dc6c3730",
      "framework": "unknown",
      "imports": "",
      "lines": 355,
      "logic_relevance": "primary",
      "name": "SaxParser",
      "normalized_name": "sax-parser",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/SaxParser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability",
      "component_id": "103ebeb3de9a2ac046809a32",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4df66666351b1332",
      "framework": "unknown",
      "imports": "",
      "lines": 577,
      "logic_relevance": "secondary",
      "name": "DomParser",
      "normalized_name": "dom-parser",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/DomParser.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "c6f4f4af0083287d7d5371c8",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e18d2da279d29d83",
      "framework": "unknown",
      "imports": "",
      "lines": 253,
      "logic_relevance": "secondary",
      "name": "Entities",
      "normalized_name": "entities",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/Entities.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "fee2f2ddb9c24adaf7388c29",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Node | logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "Node",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "270a200ac0d6b171",
      "framework": "unknown",
      "imports": "",
      "lines": 474,
      "logic_relevance": "primary",
      "name": "Node",
      "normalized_name": "node",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/Node.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,backend,observability,security,ai",
      "component_id": "d4ff7f81393e4e3a39860009",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d5a30397ebba3284",
      "framework": "unknown",
      "imports": "",
      "lines": 663,
      "logic_relevance": "secondary",
      "name": "Schema",
      "normalized_name": "schema",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/Schema.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "73668753f68ae060a01a802e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08a7f1c2db0c4013",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "primary",
      "name": "Serializer",
      "normalized_name": "serializer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/Serializer.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "98348cf9708a2af9608b899e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aaa6b54657f59f5d",
      "framework": "unknown",
      "imports": "",
      "lines": 186,
      "logic_relevance": "primary",
      "name": "Writer",
      "normalized_name": "writer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/Writer.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "dee06a743c1f0e7456c19cef",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "07999306167c0f03",
      "framework": "unknown",
      "imports": "",
      "lines": 279,
      "logic_relevance": "primary",
      "name": "Styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/html/Styles.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "132a2b8068d421c084db0a9f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "884d970602a83d35",
      "framework": "unknown",
      "imports": "",
      "lines": 337,
      "logic_relevance": "primary",
      "name": "adapter",
      "normalized_name": "adapter",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/adapter/jquery/adapter.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "9a56de014e6ba78c8081d86b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3e75bdaee4ac3ebb",
      "framework": "unknown",
      "imports": "",
      "lines": 336,
      "logic_relevance": "primary",
      "name": "jquery.tinymce",
      "normalized_name": "jquery-tinymce",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/adapter/jquery/jquery.tinymce.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "03a8ea09ef1bde3476b6139e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7ff2e92f65b46e78",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "adapter",
      "normalized_name": "adapter",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/adapter/prototype/adapter.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "1c6adc882521a71f243443e3",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7075d1d33c4b3084",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "primary",
      "name": "Parser",
      "normalized_name": "parser",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/xml/Parser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "4187a801e24bd0185d02b33f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Range | logic-score:85 | automation-score:50",
      "exports": "Range",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "274d0a37b0f7d666",
      "framework": "unknown",
      "imports": "",
      "lines": 687,
      "logic_relevance": "primary",
      "name": "Range",
      "normalized_name": "range",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/Range.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "3604a20813d643e67b4a0bb9",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "46d3368f94b59ff8",
      "framework": "unknown",
      "imports": "",
      "lines": 381,
      "logic_relevance": "primary",
      "name": "EventUtils",
      "normalized_name": "event-utils",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/EventUtils.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,security",
      "component_id": "6b3e0445d536ed9f70303ee9",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9870e8cc2193437",
      "framework": "unknown",
      "imports": "",
      "lines": 195,
      "logic_relevance": "secondary",
      "name": "Element",
      "normalized_name": "element",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/Element.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "e5eef86a15ed8caf8b8ce111",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c68182c4c9714ff7",
      "framework": "unknown",
      "imports": "",
      "lines": 1072,
      "logic_relevance": "primary",
      "name": "Sizzle",
      "normalized_name": "sizzle",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/Sizzle.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "1286d3bdd6755df34191b4ef",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9560c7ff5c123e3c",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "TreeWalker",
      "normalized_name": "tree-walker",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/TreeWalker.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "d8258b5aef509b10d39dac4e",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "92636a2c8c8ad4a1",
      "framework": "unknown",
      "imports": "",
      "lines": 251,
      "logic_relevance": "primary",
      "name": "RangeUtils",
      "normalized_name": "range-utils",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/RangeUtils.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "dd26526ffa262bfb18f0096e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2757eb505ef909f7",
      "framework": "unknown",
      "imports": "",
      "lines": 285,
      "logic_relevance": "primary",
      "name": "ScriptLoader",
      "normalized_name": "script-loader",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/ScriptLoader.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "47acc3501b44e0a87174755e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Selection | logic-score:85 | automation-score:50",
      "exports": "Selection",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b5b79c74241cbba1",
      "framework": "unknown",
      "imports": "",
      "lines": 445,
      "logic_relevance": "primary",
      "name": "TridentSelection",
      "normalized_name": "trident-selection",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/TridentSelection.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability,ai",
      "component_id": "75027d94512d6cc5840f3614",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e88728f5c14c4db5",
      "framework": "unknown",
      "imports": "",
      "lines": 1876,
      "logic_relevance": "secondary",
      "name": "DOMUtils",
      "normalized_name": "domutils",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/DOMUtils.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "2a69905cbc460fc8d27b2a73",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f2fa407884f2b2af",
      "framework": "unknown",
      "imports": "",
      "lines": 1103,
      "logic_relevance": "primary",
      "name": "Selection",
      "normalized_name": "selection",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/Selection.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "00ff22383969619a2b1b73bb",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "536cc0301bf555e4",
      "framework": "unknown",
      "imports": "",
      "lines": 379,
      "logic_relevance": "primary",
      "name": "Serializer",
      "normalized_name": "serializer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/dom/Serializer.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "4dd3cba12d3da94d600c9fcc",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5769cb7a9d38163e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/directionality/editor_plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "efd2630fba7a3a916d0f8e43",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cf7cf33dd7fe46e4",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/directionality/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "60e0941990f6485b5081b2d2",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c74284bfd4c79987",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/wordcount/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c87abd624a3e8f196214241a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "26b3f80b8f51a798",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/wordcount/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "9008f390390f9613f1d7ab24",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B, C, D, E, F, G, H | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "A,B,C,D,E,F,G,H,J,K,L,N,O,P,Q,R,S,T,V",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b0b227712d81d824",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/lists/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "0e29e3c5c8068c5f26019d1b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "29f6d286dbe21a4e",
      "framework": "unknown",
      "imports": "",
      "lines": 925,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/lists/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d4f5b100412339102327dec6",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ff53c8d5d81640b9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/legacyoutput/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "0096d61f530d0eb76cd2d598",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c6a0e6c2882ed12f",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "secondary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/legacyoutput/editor_plugin_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3c700af54fea494161e03f69",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fc74c01a7a8efc08",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "a989f787ec588bef11ebe5a2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e522b3636c30315e",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,observability,automation,logic",
      "component_id": "d5de8113c20384912b87e5c7",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d19fb8bb926625fd",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/js/dialog.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "145ce1f8bd27856a64f61b64",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9929be48918f1280",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "479af86e81b08d4776f3ad91",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a145086c197028a5",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/langs/en.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "3b86bab6a0007c4c62f2dfb0",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9f82bde8cbf2ac77",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/iespell/editor_plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "f03578dec2d263549471f02b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3deb830ccbdd9b2b",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/iespell/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "a6ae86aec155e092f79e90d4",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1c5c697cbb315db7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "2cfb8aa65605058205318bd5",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "613d5a6ca14534b0",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "b9c4826b20c0633e33053c6c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6096346196528d50",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "advimage",
      "normalized_name": "advimage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/css/advimage.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "090da5186e10f55c0f9a11ed",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a8eb9be74063c23d",
      "framework": "unknown",
      "imports": "",
      "lines": 463,
      "logic_relevance": "primary",
      "name": "image",
      "normalized_name": "image",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/js/image.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "ec75756c7a8d9f29d8b10bd3",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ec18725bc90d019",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/langs/en_dlg.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "083dcce1a1b8c835cf2faed0",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f588728b7df3fcfe",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "50efe9c8e86938d54b44c158",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "610caea47fa1930f",
      "framework": "unknown",
      "imports": "",
      "lines": 159,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "eca848a03f72788913e982ae",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9593c0fe92578c34",
      "framework": "css",
      "imports": "",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/css/template.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "3768330bde9327da4be2247c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2fe07112f1714b3b",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "primary",
      "name": "template",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/js/template.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "67712065f3eb62cab1a22d31",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d8546fec75de5d15",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "7c96ba5940cd632cccb43eb4",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6dcc8538fad0a843",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "874125ceeb4241a5e61e2319",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ece0245b91505727",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "c56b26812ecea656cd4717a2",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a1e824ef30a2a36a",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "searchreplace",
      "normalized_name": "searchreplace",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/css/searchreplace.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "482e9adaa9e4ae6902a73d4f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "42e6dab29c7fa3f4",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "secondary",
      "name": "searchreplace",
      "normalized_name": "searchreplace",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/js/searchreplace.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "ac6d0e9a79cd5605f60f7e24",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8ff853ecde3a698c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "b8f92f68271c8a2ce57d8eee",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be87d9cf5d3ade8b",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/contextmenu/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "b8a73d9bbc536b8886b287f3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a92e607af9594fd",
      "framework": "unknown",
      "imports": "",
      "lines": 160,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/contextmenu/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "f0d7bc12255b5bd9b23926f5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:D | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "D",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "416b0c5f9d267fcb",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/inlinepopups/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "31fa917e761ecd9ebe32069a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "685cf07b7f477278",
      "framework": "unknown",
      "imports": "",
      "lines": 712,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/inlinepopups/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,integration,observability,automation",
      "component_id": "beb86135fc93393635854334",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1c6ad1da5ee7ee22",
      "framework": "css",
      "imports": "",
      "lines": 90,
      "logic_relevance": "secondary",
      "name": "window",
      "normalized_name": "window",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "987f82d008cae02541ae77d0",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b22b03ec2276454f",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "733b48202d515947b2e83df3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5683bd45303985ef",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "a9c508d3dce453acc27895e5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7ef5bce89b2531a0",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "props",
      "normalized_name": "props",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/css/props.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "3176a2e330f84bb062f07a97",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6e36c4ec262f6005",
      "framework": "unknown",
      "imports": "",
      "lines": 635,
      "logic_relevance": "primary",
      "name": "props",
      "normalized_name": "props",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/js/props.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "bc12e1587bb6740fee0cd761",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b5effdf8ec9d8c66",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,security",
      "component_id": "3412a9ae241dc0e6c26717ff",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:70 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d97af2e103bd8000",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/editor_plugin.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,security",
      "component_id": "e3e3bc06aae38d4ef4e2b4ea",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "991762afc8a99882",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "secondary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,security,automation,logic",
      "component_id": "fc6206b392172268666f09ee",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "02ff3af5e41645b2",
      "framework": "css",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "attributes",
      "normalized_name": "attributes",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/css/attributes.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "ec67110eee089b66de586dc3",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ab3e6bd746c698b0",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "secondary",
      "name": "popup",
      "normalized_name": "popup",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/css/popup.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "31cde711a01293958e1881b5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ce06f28583b3f184",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "secondary",
      "name": "ins",
      "normalized_name": "ins",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/ins.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "1529f504feafa7e0238694d6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0fcbdd10368adf75",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "abbr",
      "normalized_name": "abbr",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/abbr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "e4b5f03de70dfbe1c519d46a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e5a9507fcea10cf3",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "cite",
      "normalized_name": "cite",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/cite.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "8349614f00dbc68efeadf9a1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "10a6a389abe34fca",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "secondary",
      "name": "del",
      "normalized_name": "del",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/del.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ab25bc0c6c6faf71d05d6a0f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8f6fdf155ebd33d5",
      "framework": "unknown",
      "imports": "",
      "lines": 229,
      "logic_relevance": "primary",
      "name": "element_common",
      "normalized_name": "element-common",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/element_common.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "f6bf9afcb19b64fb75fc9e4a",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "15e177d213dd728b",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "secondary",
      "name": "attributes",
      "normalized_name": "attributes",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/attributes.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,logic",
      "component_id": "630e7920760ce0411a4bcf85",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f60dbace41a1240e",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "acronym",
      "normalized_name": "acronym",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/js/acronym.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,logic",
      "component_id": "a11a9ad51dadce7a9e13e77c",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "328f2092746d07c1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,logic",
      "component_id": "cc95b59d2b7a11d2c92970a6",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2986ea9443c9663c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/nonbreaking/editor_plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "25be8a1eb632cda0623dc8df",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f7cb1baab0f7af35",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/nonbreaking/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "780afa1d99cca2517b456a27",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5a76c9d6c65468a7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/print/editor_plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "2cfae9b66b4e229e608089a2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8f4096e49183b131",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/print/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "36ad2f0fa98c6167407bedc2",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b08e7fc79e94fd75",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autoresize/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "59ade54731eb2a997713e73a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "29c854b2900b0cdc",
      "framework": "unknown",
      "imports": "",
      "lines": 137,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autoresize/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "9c28bead5b16e286a26f8037",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "190a41d49f0d99f1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example_dependency/editor_plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "9064418dab12845caead4516",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5985f8366a13db9e",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example_dependency/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "66221874b83400802e261295",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47d55971a11b9fa4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autosave/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "2fbc393c7df9e6c21db349b3",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "800b9006a0bd8c96",
      "framework": "unknown",
      "imports": "",
      "lines": 431,
      "logic_relevance": "secondary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autosave/editor_plugin_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "59c11395a227cfef629a1a5d",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "da441d2322437a9e",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autosave/langs/en.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "49dc1b849d08705713a39188",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "75e9508311dfa0c2",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/tabfocus/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "d51d51afdcc7e6b4ad08df62",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1795f69e37897d8c",
      "framework": "unknown",
      "imports": "",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/tabfocus/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "886b42bfad0115aeae636378",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "48fb10a80c664925",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/insertdatetime/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "68c6e2fe20d58037af6b13d9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "972c1c26d8c4c4cb",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/insertdatetime/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "9933e3e9be7f447808efcb0f",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a7738deeb430b55",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/layer/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "d3b381ed616fae3bf465a606",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "30a4ea8fb900ab76",
      "framework": "unknown",
      "imports": "",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/layer/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "eadf7179f19d93753042b34c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B, C, D, E, F, H, I | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "A,B,C,D,E,F,H,I,J,K,M,O,P",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d4b267ebd2f5d5ab",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "75abd7d5d781c3bc518b9e6e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TableGrid | logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "TableGrid",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c84bc91b3eda24af",
      "framework": "unknown",
      "imports": "",
      "lines": 1408,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,observability,automation",
      "component_id": "164702839b3c8aa5da99dbb2",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b1d4c50f65d2826b",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/css/table.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "0c419a14b128ca611a6f1dc8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6744dd15d98e7d19",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "row",
      "normalized_name": "row",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/css/row.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "296f031c7f8fe4e95abc5c27",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f797375d5fa87c52",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "cell",
      "normalized_name": "cell",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/css/cell.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "2a264200f3025c65aa0fe3af",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9aa1cb8c040138c9",
      "framework": "unknown",
      "imports": "",
      "lines": 319,
      "logic_relevance": "primary",
      "name": "cell",
      "normalized_name": "cell",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/js/cell.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "325cf674d6a0bd21ab0df0c3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "58cfdf22d4ed08c2",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "merge_cells",
      "normalized_name": "merge-cells",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/js/merge_cells.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation,ai",
      "component_id": "aa57696cc8219bf7242cd2e1",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "27c8c2c710dc0415",
      "framework": "unknown",
      "imports": "",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "row",
      "normalized_name": "row",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/js/row.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation,ai",
      "component_id": "df483239340edae6b512f15b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "722373824c826a2d",
      "framework": "unknown",
      "imports": "",
      "lines": 484,
      "logic_relevance": "primary",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/js/table.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "8bcd37eeb0a4ede0d414758e",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec2ab9007924a25b",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "37e71ce07f66b1c31e96d1ee",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "504d240d24e6d841",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "4c84d9bdff68935acf757295",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "02b74e303e2beace",
      "framework": "unknown",
      "imports": "",
      "lines": 405,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,automation,logic",
      "component_id": "3cfcd78232546877e0348c57",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1028860bb634dc25",
      "framework": "css",
      "imports": "",
      "lines": 143,
      "logic_relevance": "secondary",
      "name": "fullpage",
      "normalized_name": "fullpage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/css/fullpage.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "55c6b90a84742dbb820f1a11",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7cc594431da09df7",
      "framework": "unknown",
      "imports": "",
      "lines": 232,
      "logic_relevance": "primary",
      "name": "fullpage",
      "normalized_name": "fullpage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/js/fullpage.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "14880b9b557626cea933a1d1",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "759144ef7f8d035a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/langs/en_dlg.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "ff45c7e51ccbd122723c1bc9",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2f719cbc1b203df9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlist/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "a830aaaaad70eee7c21ed1b6",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2f5344e1078537fe",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlist/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "d45f73a4c4c3aaffe16ee324",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c22b1959fd68b50e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/preview/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "26060180bc10a774da7fcd5f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "57546914ec8f78bf",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/preview/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "8b0f7413b2d2b80ec53d63c7",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1eefbb61369d4b79",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "embed",
      "normalized_name": "embed",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/preview/jscripts/embed.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "8190847ee2a965e0287cd806",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cafdb040c27910e5",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autolink/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "9059e68ae16c08835f0e3393",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1eb03e3be7f5d49a",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autolink/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "174ae75559ee5f0886637217",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1dd02282d7564989",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/pagebreak/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "7e5b3ec60ad50518aa0a34f5",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "26768e1519461f9f",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/pagebreak/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "1403c2680a66791dd7337b12",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "804068b16a08a9dc",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/pagebreak/css/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "8e6788f499d1f8cabd7ad876",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c6b5ff4a6a138b24",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullscreen/editor_plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "4c0ef658d984de2b1cb03ded",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e523baf1fe2e8d24",
      "framework": "unknown",
      "imports": "",
      "lines": 159,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullscreen/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,logic",
      "component_id": "761f282471610e858aad2f85",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a244090371596c4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/visualchars/editor_plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "5c98d21f52cf5a20a8e3bd10",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b51d62a71d76cc83",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/visualchars/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "2bc9dc7faeffccc905513072",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "652a1d3ad24f49b1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/save/editor_plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "8c87094741038f87fe4fa48b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0ce17848cc692970",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/save/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "02b464cc61e78be6e76ddcd8",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "612b1c659bd4e8f9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/noneditable/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "581c8d6367efb1e91d79ae1b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0d2daf42cb5ad2ee",
      "framework": "unknown",
      "imports": "",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/noneditable/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "5122b25635d933d73794f753",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "abe109fba0f2d267",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "54407deadbdffa551034280c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83ec7f3615eb6805",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,security,automation,logic",
      "component_id": "33d1b519832aadd7c333f659",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "656c287ac9c3f20e",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "advlink",
      "normalized_name": "advlink",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/css/advlink.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "97774aec3ed6c70b26915649",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "55811a8ed0598357",
      "framework": "unknown",
      "imports": "",
      "lines": 532,
      "logic_relevance": "primary",
      "name": "advlink",
      "normalized_name": "advlink",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/js/advlink.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "8b88bd96a615b07952a31cf7",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "20d7c6d51c3c4c6e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/langs/en_dlg.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3caabe3b4d9e3decf5a7741f",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c47260a2e18063e9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/spellchecker/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c0dfeb7a865cb9efefe22cdc",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "72e729c3ea9f04cd",
      "framework": "unknown",
      "imports": "",
      "lines": 436,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/spellchecker/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "83a270b462379ac394e78b20",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d9fdcbcc53fa0860",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/spellchecker/css/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3c5187b8c009ffd80f2dcf48",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c7970e866c330323",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/bbcode/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "cc8a6a080b0a582bbfbe40fd",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "84b75c4d5e004bb9",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/bbcode/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "bbf311870b44a9cd7b7468cd",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "392b000282918d82",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "ac893610c7c3df5a9a20607b",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9c542b9c3b5621f",
      "framework": "unknown",
      "imports": "",
      "lines": 871,
      "logic_relevance": "secondary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/editor_plugin_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "1e77f1b9462fb30bf8328b30",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "02fd811eca808799",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "pastetext",
      "normalized_name": "pastetext",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/js/pastetext.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "056799dd3dc86ebdb699c824",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e6615d2e87c5f0ed",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "secondary",
      "name": "pasteword",
      "normalized_name": "pasteword",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/js/pasteword.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "335b441b3e3de11e36c24305",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ea272f751b07fc95",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/langs/en_dlg.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "debb7fb6609bdd0484df6324",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:J | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "J",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "754cf01681f3c491",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "8fe5920b5bc14883fb38fa93",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c178baab2740f630",
      "framework": "unknown",
      "imports": "",
      "lines": 890,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,logic,automation",
      "component_id": "6af56dbc424a6eff6deebcc6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "645ffc1c9d321582",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "media",
      "normalized_name": "media",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/css/media.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "56e7ee939322da40b1347a5a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9317f150a7f55544",
      "framework": "unknown",
      "imports": "",
      "lines": 464,
      "logic_relevance": "primary",
      "name": "media",
      "normalized_name": "media",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/js/media.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "24137799211f749a8fec6136",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1eefbb61369d4b79",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "embed",
      "normalized_name": "embed",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/js/embed.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation,logic",
      "component_id": "0e5051538140e5a4b1572097",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7b2bb26bfb93a892",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/langs/en_dlg.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "332e8d64b5b296fecdbd37ce",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2f82915ffc9ff104",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "7b50e10401e309720e48dd52",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d0af8eceda599d28",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,logic",
      "component_id": "f4be65e265cd8630d6bb3d5f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dbc6211b66986ac1",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "emotions",
      "normalized_name": "emotions",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/js/emotions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "b8c2a8cdbfe5d43ffbd5615b",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1de49dce2654a4f4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "6e3a3cb6d99dd056e5e7c178",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f008302f1de2321e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_plugin",
      "normalized_name": "editor-plugin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/editor_plugin.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "5f9a3312d06415083f200674",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b7e3071f218bb33f",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "editor_plugin_src",
      "normalized_name": "editor-plugin-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/editor_plugin_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "182e220a9df7e6fd05225bcd",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8345a5b49c91a873",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "advhr",
      "normalized_name": "advhr",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/css/advhr.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "917e8db1d7e89e12b20c4f6f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b37b50221c50cb57",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "rule",
      "normalized_name": "rule",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/js/rule.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "2dd01374843a3d1dd8bc838a",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "344a2125aced4684",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/langs/en_dlg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "dc3f4da6da75c33599c7746a",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a9f3d2ba2467850",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "editable_selects",
      "normalized_name": "editable-selects",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/utils/editable_selects.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "681d91002e74ee86b0c1d51d",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCTabs | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "MCTabs",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7cea557d254ff350",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "primary",
      "name": "mctabs",
      "normalized_name": "mctabs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/utils/mctabs.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "f253a5f3ecd208324e44d632",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b35f577d486ddad4",
      "framework": "unknown",
      "imports": "",
      "lines": 210,
      "logic_relevance": "primary",
      "name": "form_utils",
      "normalized_name": "form-utils",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/utils/form_utils.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation,ai",
      "component_id": "3b43a70e5b3eaac7b298a100",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "18d3235a0de63ee6",
      "framework": "unknown",
      "imports": "",
      "lines": 252,
      "logic_relevance": "primary",
      "name": "validate",
      "normalized_name": "validate",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/utils/validate.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,logic",
      "component_id": "1035e4960bb8488a08360d8c",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1c4cc974406bfe7a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/langs/en.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "0d1369bdb29579b2c184177a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B | logic-score:85 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "A,B",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fcf5d22d00a24a39",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "editor_template",
      "normalized_name": "editor-template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/editor_template.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "2f04964b862496c34252d3d6",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "43dcec14663478ce",
      "framework": "unknown",
      "imports": "",
      "lines": 1362,
      "logic_relevance": "secondary",
      "name": "editor_template_src",
      "normalized_name": "editor-template-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/editor_template_src.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "df71512fdaa1f341439be1a8",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2faf296879ac0ed1",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/about.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "26ab6408754c078d78ebbff6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a3ab2babeed146f1",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "secondary",
      "name": "link",
      "normalized_name": "link",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/link.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,logic",
      "component_id": "5c2e81438bd51761657b3979",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "84ba2474958c9a7b",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "anchor",
      "normalized_name": "anchor",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/anchor.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "b5d6a3d2adc4abfd938834e0",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e037b683b73902fc",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "secondary",
      "name": "source_editor",
      "normalized_name": "source-editor",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/source_editor.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "b32be98e1b500c1b5179776e",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a522da0745d388c9",
      "framework": "unknown",
      "imports": "",
      "lines": 363,
      "logic_relevance": "secondary",
      "name": "charmap",
      "normalized_name": "charmap",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/charmap.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "bbceae0f2c5e03fa80fbd836",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aaf78c05aab23d25",
      "framework": "unknown",
      "imports": "",
      "lines": 251,
      "logic_relevance": "primary",
      "name": "image",
      "normalized_name": "image",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/image.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "2424f60704f8cc859a48172f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f32e49f16dc3609a",
      "framework": "unknown",
      "imports": "",
      "lines": 329,
      "logic_relevance": "primary",
      "name": "color_picker",
      "normalized_name": "color-picker",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/color_picker.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,observability,logic",
      "component_id": "53badd1ee4d264449acea0b9",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | observability-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0c8e041ccbcb499c",
      "framework": "css",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/highcontrast/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,logic,observability,automation",
      "component_id": "ffbf3e8c6cdffcbe29eb3c38",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "11f89e153880f048",
      "framework": "css",
      "imports": "",
      "lines": 102,
      "logic_relevance": "secondary",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/highcontrast/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,observability,automation,ai",
      "component_id": "21159f38a3c860421fc8e188",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "40cdf01f0111e201",
      "framework": "css",
      "imports": "",
      "lines": 105,
      "logic_relevance": "secondary",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/highcontrast/dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,observability,logic",
      "component_id": "20f0778267b7773dd44c965f",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | observability-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "22486fef60d43fc1",
      "framework": "css",
      "imports": "",
      "lines": 50,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/default/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,logic,observability,ai",
      "component_id": "431742aa13bd09134efb8a2b",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | observability-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "286403d09c9588b8",
      "framework": "css",
      "imports": "",
      "lines": 218,
      "logic_relevance": "secondary",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/default/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,observability,automation,ai",
      "component_id": "183eb1314d7985907672bc5a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c694393c5f31c035",
      "framework": "css",
      "imports": "",
      "lines": 117,
      "logic_relevance": "secondary",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/default/dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "f1e86572e1c6be97d71ef036",
      "component_kind": "design-token",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "28a5c6fea487684f",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "ui_silver",
      "normalized_name": "ui-silver",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,observability,logic",
      "component_id": "f3be37d61c5497e8c148d92c",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | observability-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "47c69c20a5e789c3",
      "framework": "css",
      "imports": "",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,logic,observability,ai",
      "component_id": "7039404f42d9315e7a40581d",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | observability-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4fff866b3ac2acb5",
      "framework": "css",
      "imports": "",
      "lines": 217,
      "logic_relevance": "secondary",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation,logic",
      "component_id": "104ecc6348dab57b60034385",
      "component_kind": "design-token",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2bd4e665fb92bf2d",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "ui_black",
      "normalized_name": "ui-black",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/ui_black.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,ui,logic,observability,automation,ai",
      "component_id": "34964d944d9137d8cc5e3cdf",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f11beab5359cc142",
      "framework": "css",
      "imports": "",
      "lines": 117,
      "logic_relevance": "secondary",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "21f91fcbbcbb40e1ac96a0da",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c07a00e6bb6e7296",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "en_dlg",
      "normalized_name": "en-dlg",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/langs/en_dlg.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "6c1ba717d69e10e168b4a232",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "87fa99a1ecfaa4d4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/langs/en.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,logic",
      "component_id": "6721ae0f520dc28e2cf6ec22",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73f97fad40b7a44d",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "editor_template",
      "normalized_name": "editor-template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/editor_template.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "5dc606b92936e6f148f4407b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cab7d43f9547e46c",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "editor_template_src",
      "normalized_name": "editor-template-src",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/editor_template_src.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "fe750b4fd24f7fd65605fc52",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d843e16085cb3ef8",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/default/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,logic,observability",
      "component_id": "b3df0ae4c5f46482180f386c",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "669988153e6b04be",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "secondary",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/default/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "a05efb4b9971eaec51e15bca",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b29eef95ec7ae1f7",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/o2k7/content.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,automation,logic,observability",
      "component_id": "2824cc0bcd7152e72903fbf2",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:95 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ff5831a8328ae03",
      "framework": "css",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/o2k7/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "6873912796af1c0acddbd712",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "06f4c1c6c7567ae4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/langs/en.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "b1b373848fd41c7dd621f354",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b93317b61370c8ec",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "Readme-TEX",
      "normalized_name": "readme-tex",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/internal/LinLibertineFont/Readme-TEX.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "b4123e99fcecdcbb0b72c9c4",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73e4f0243fc4fd7a",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "LICENCE",
      "normalized_name": "licence",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/internal/LinLibertineFont/LICENCE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic,observability,security",
      "component_id": "4c230cd7c859f214cf03195b",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "de694db5ca6a8995",
      "framework": "unknown",
      "imports": "",
      "lines": 348,
      "logic_relevance": "secondary",
      "name": "GPL",
      "normalized_name": "gpl",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/internal/LinLibertineFont/GPL.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,process,security,automation",
      "component_id": "20a86112ac32338c328868ab",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f9279e36b60940c3",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "primary",
      "name": "OFL",
      "normalized_name": "ofl",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/internal/LinLibertineFont/OFL.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,logic,observability",
      "component_id": "cc86af0200a7f7dfb0250616",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | logic-score:70 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7191008bf691c955",
      "framework": "unknown",
      "imports": "",
      "lines": 1617,
      "logic_relevance": "secondary",
      "name": "ChangeLog",
      "normalized_name": "change-log",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/lib/internal/LinLibertineFont/ChangeLog.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "f26938eaf00edb16dd80df4e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b6d9ebacc0b7ea8",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "dynamicReturnTypeMeta",
      "normalized_name": "dynamic-return-type-meta",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/dynamicReturnTypeMeta.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "33fa89d01ff6c49e0db41113",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aaed9200dd831f6e",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "phpcs_precommit_hook",
      "normalized_name": "phpcs-precommit-hook",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/Magento/Tools/psr/phpcs_precommit_hook.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "33b217682f02246a95d33cc8",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "fs,glob,path",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../configs/path, ../tools/fs-tools.js, fs, glob, path | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "75439064e51ba91f",
      "framework": "unknown",
      "imports": "../configs/path,../tools/fs-tools.js,fs,glob,path",
      "lines": 26,
      "logic_relevance": "none",
      "name": "black-list-generator",
      "normalized_name": "black-list-generator",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tasks/black-list-generator.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "82dfbfbc5a1ee0b263aafac9",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "fs,glob,underscore",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../configs/path, ../tools/fs-tools, fs, glob, underscore | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "303fe67147a25e7e",
      "framework": "unknown",
      "imports": "../configs/path,../tools/fs-tools,fs,glob,underscore",
      "lines": 30,
      "logic_relevance": "none",
      "name": "clean-black-list",
      "normalized_name": "clean-black-list",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tasks/clean-black-list.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "efac673a6ff0be2bce56e40a",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "child_process",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:child_process | process-score:80 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9826efc0adabe69a",
      "framework": "unknown",
      "imports": "child_process",
      "lines": 35,
      "logic_relevance": "none",
      "name": "deploy",
      "normalized_name": "deploy",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tasks/deploy.js",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a01d4fac1a11c1f3e45733c3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "node-minify,underscore",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node-minify, underscore | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4c5615290053780a",
      "framework": "unknown",
      "imports": "node-minify,underscore",
      "lines": 49,
      "logic_relevance": "none",
      "name": "mage-minify",
      "normalized_name": "mage-minify",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tasks/mage-minify.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "acd60748e566a39fd6a5bd09",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "fs",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../configs/path, ../tools/collect-validation-files, fs | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "71ddc1bc56c21cd0",
      "framework": "unknown",
      "imports": "../configs/path,../tools/collect-validation-files,fs",
      "lines": 36,
      "logic_relevance": "none",
      "name": "static",
      "normalized_name": "static",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tasks/static.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "cd12624f5bbbe52c48a1a43c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": " + filePath + , + pathArr[i] + ,fs,glob",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports: + filePath + ,  + pathArr[i] + , fs, glob | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "eacf3e4d605bfbe5",
      "framework": "unknown",
      "imports": " + filePath + , + pathArr[i] + ,fs,glob",
      "lines": 57,
      "logic_relevance": "none",
      "name": "fs-tools",
      "normalized_name": "fs-tools",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tools/fs-tools.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "6bd8716b0d86c4c72581eb32",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "fs,glob,underscore",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../configs/path, ../tools/fs-tools, fs, glob, underscore | logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "76c6eca6ca29df98",
      "framework": "unknown",
      "imports": "../configs/path,../tools/fs-tools,fs,glob,underscore",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "collect-validation-files",
      "normalized_name": "collect-validation-files",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/tools/collect-validation-files.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a92b5e5bdafb758c750e23e1",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3829f775f7830f8f",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "mage-minify",
      "normalized_name": "mage-minify",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/mage-minify.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a2dd3bd56257cf915c46e399",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "underscore",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./combo, ./themes, underscore | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1c58e2c7d134ba95",
      "framework": "unknown",
      "imports": "./combo,./themes,underscore",
      "lines": 38,
      "logic_relevance": "none",
      "name": "exec",
      "normalized_name": "exec",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/exec.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "83a2c30cfa25065d4d0a2c31",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "866e8cefa4ae7c9b",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "eslint",
      "normalized_name": "eslint",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/eslint.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e9ac64434eeba7a0967b0e9f",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5e8cf140154c54fd",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "concat",
      "normalized_name": "concat",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/concat.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b7973a09e15f7fc9f5005246",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6ddbf1fec2242110",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "themes",
      "normalized_name": "themes",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/themes.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "bb99d2684e0ebe60c051d447",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b8ba698d0367d311",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "jscs",
      "normalized_name": "jscs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/jscs.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "09c61bc224d667c758dc60a1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "underscore",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./themes, underscore | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "473509a76993774b",
      "framework": "unknown",
      "imports": "./themes,underscore",
      "lines": 113,
      "logic_relevance": "none",
      "name": "clean",
      "normalized_name": "clean",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/clean.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "dc4b43b8f36d0ccbeb76cc0c",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "01abd7f4de89e644",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "usebanner",
      "normalized_name": "usebanner",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/usebanner.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "33deeddee461cfd53497264a",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "352a198f653db19d",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "autoprefixer",
      "normalized_name": "autoprefixer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/autoprefixer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d639407c1ee8520564fadaea",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "underscore",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./combo, ./themes, underscore | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4100f1fc4fd32d69",
      "framework": "unknown",
      "imports": "./combo,./themes,underscore",
      "lines": 48,
      "logic_relevance": "none",
      "name": "less",
      "normalized_name": "less",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/less.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b38e219e92c59bbfb9e36764",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fa26557e9af3add2",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "cssmin",
      "normalized_name": "cssmin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/cssmin.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "8acac9a04e372756e5369594",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./path, ./themes | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ce7a26a962e5ec08",
      "framework": "unknown",
      "imports": "./path,./themes",
      "lines": 60,
      "logic_relevance": "none",
      "name": "combo",
      "normalized_name": "combo",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/combo.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "606ef8f9e2d708ba0e3fa34a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "underscore",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./combo, ./themes, underscore | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "065269d3226447ef",
      "framework": "unknown",
      "imports": "./combo,./themes,underscore",
      "lines": 43,
      "logic_relevance": "none",
      "name": "watch",
      "normalized_name": "watch",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/watch.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "f6db547bea366f4fc0799553",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5de588ec96338641",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "replace",
      "normalized_name": "replace",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/replace.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d9f74efbaf3bc352eaf5c4d8",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c129ce9bb756457",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/path.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "c54e2332c7d103f4d1f6387f",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "imagemin-svgo",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:imagemin-svgo | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec4e3c5fc20f2719",
      "framework": "unknown",
      "imports": "imagemin-svgo",
      "lines": 51,
      "logic_relevance": "none",
      "name": "imagemin",
      "normalized_name": "imagemin",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/imagemin.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e2a9ef658496fdefe4171a71",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a0f0f73862f44ac4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "styledocco",
      "normalized_name": "styledocco",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/configs/styledocco.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "58589c405783aa663768181d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d372eb703c3e3581",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "shim",
      "normalized_name": "shim",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tools/grunt/assets/legacy-build/shim.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ee9be527fde7f6ef522dbd5d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "940a954c04d5ddfe",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "stub",
      "normalized_name": "stub",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/framework/stub.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "01f922f809eea2ff3a660d6e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d8a21e970b59283f",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "requirejs-util",
      "normalized_name": "requirejs-util",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/framework/requirejs-util.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "93c3a9c87e095e7b78e6caf6",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:F, Test | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "F,Test",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7276312b08147adc",
      "framework": "unknown",
      "imports": "",
      "lines": 2288,
      "logic_relevance": "none",
      "name": "qunit-1.14.0",
      "normalized_name": "qunit-1-14-0",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/framework/qunit/qunit-1.14.0.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation",
      "component_id": "1e6462aaf2d9e5b4e96a4495",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "af6ddbbc11314617",
      "framework": "css",
      "imports": "",
      "lines": 237,
      "logic_relevance": "none",
      "name": "qunit-1.14.0",
      "normalized_name": "qunit-1-14-0",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/framework/qunit/qunit-1.14.0.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "28d6d331849ec65736389e3f",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "760ecf9721135d7b",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "mage-test",
      "normalized_name": "mage-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/mage-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "eb584326201a11c94ae46f63",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c5981c535ecae1e",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "decorate-test",
      "normalized_name": "decorate-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/decorate-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation",
      "component_id": "2694c0d7dafd297a39e8558b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3fb93b68ae654ef1",
      "framework": "unknown",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "webapi-test",
      "normalized_name": "webapi-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/webapi-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "17e9e2b84b7e207ef9070cce",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a87b9013db2279cc",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "tree-suggest-test",
      "normalized_name": "tree-suggest-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/suggest/tree-suggest-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "9ec74c958740a8fdda06c3e2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2eae2bf9563b85c",
      "framework": "unknown",
      "imports": "",
      "lines": 952,
      "logic_relevance": "none",
      "name": "suggest-test",
      "normalized_name": "suggest-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/suggest/suggest-test.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,security,automation",
      "component_id": "e882256f8d2b5c35961417b7",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "eed4f0847db5f5fe",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "161083390f846370e266c78e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "13f71bb91c6a0e3e",
      "framework": "unknown",
      "imports": "",
      "lines": 203,
      "logic_relevance": "none",
      "name": "tabs-test",
      "normalized_name": "tabs-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "367ba7764a18ca1810ffad33",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ea641119f5563b38",
      "framework": "unknown",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "test-dropdown",
      "normalized_name": "test-dropdown",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/dropdown/test-dropdown.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "9150a5051a40fb6bbd5fda21",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7655806854ebb591",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/_demo/test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "08d3acf5b8c69070b40aff58",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "629a8dda5f30ef70",
      "framework": "unknown",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "form-test",
      "normalized_name": "form-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/form/form-test.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,automation",
      "component_id": "c1529ad7578e64c470017ec8",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6e53adb1d7683906",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "date-range-test",
      "normalized_name": "date-range-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/calendar/date-range-test.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,automation",
      "component_id": "9eebc99087820112b468d382",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "856a77c5c21d4c93",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "calendar-qunit",
      "normalized_name": "calendar-qunit",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar-qunit.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,automation",
      "component_id": "3dbdc2e98dc95aafa9bc9144",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "925ff1aa83c23852",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "calendar-test",
      "normalized_name": "calendar-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/calendar/calendar-test.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "22a5aad7cc740fa363d50bc2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "feeed56dbc9e0781",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "translate-test",
      "normalized_name": "translate-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/translate/translate-test.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "c2b863a89510eb507443108a",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad887d9bb078398a",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d6cc791c50c496869813ce9c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "89632099df34ab46",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "translate-inline-test",
      "normalized_name": "translate-inline-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/translate_inline/translate-inline-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ec61bb33e73c934cbf0c8d4a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "81678c7e4bc430c9",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "regular-search-test",
      "normalized_name": "regular-search-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/search/regular-search-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a863174b575d56d167f922a5",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "906effd9a4deb4fb",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "button-test",
      "normalized_name": "button-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/button/button-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "4afa921007ad3a913d7a3126",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "68f5ccd97c8a68cc",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "jquery-loader-test",
      "normalized_name": "jquery-loader-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "74943291e949f89051d4ec67",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "41a1cd12620ac8a3",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "loader-test",
      "normalized_name": "loader-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "72662b97f80f988a5935aa1c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c683a5ec2466a5a6",
      "framework": "unknown",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "test-collapsible",
      "normalized_name": "test-collapsible",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/collapsible/test-collapsible.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "4208636376d22b6995bf03c5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9416522e2149ebfa",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "jquery-list-test",
      "normalized_name": "jquery-list-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/list/jquery-list-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "11f1f8b8c0b409e10b7a0ea1",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:KeyLogger | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "KeyLogger",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "410f375ebfa0c3cc",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "test-menu",
      "normalized_name": "test-menu",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/menu/test-menu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "831fbfa45fa3ef8c7e473b9f",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1aa789b8be885a3f",
      "framework": "unknown",
      "imports": "",
      "lines": 337,
      "logic_relevance": "none",
      "name": "zoom-test",
      "normalized_name": "zoom-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/zoom/zoom-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b649210180b129c9794c9f7e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9894102b2a23b3d2",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "translate-inline-vde-test",
      "normalized_name": "translate-inline-vde-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "1c62dbbe109fa9856dee82f6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "63f0299303e93d43",
      "framework": "unknown",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "translate-inline-vde-dialog-test",
      "normalized_name": "translate-inline-vde-dialog-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/translate_inline_vde/translate-inline-vde-dialog-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "f8b9d16738e7c06ee7439c0b",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e343edd8c8e5335",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "edit-trigger-test",
      "normalized_name": "edit-trigger-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/edit_trigger/edit-trigger-test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "fd003f92575a7bc5d4148eb8",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "89b7b86a372c6834",
      "framework": "unknown",
      "imports": "",
      "lines": 611,
      "logic_relevance": "primary",
      "name": "test-validation",
      "normalized_name": "test-validation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/validation/test-validation.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation,logic",
      "component_id": "a209877d3e66cd6ecb4b3a20",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b373184310b6c08",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "test-storage",
      "normalized_name": "test-storage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/lib/storage/test-storage.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "408ee23bf8fb2b11cd36b0d7",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c691e73ca730eae7",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "secondary",
      "name": "datepicker",
      "normalized_name": "datepicker",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/lib/ko/datepicker/datepicker.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "47a1aaaff6f62217c5c2377c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "63b754acf559dacd",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "require.conf",
      "normalized_name": "require-conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/require.conf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,security,automation",
      "component_id": "820b511ea43c3330131cb50e",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ac8c30bdd0d39d46",
      "framework": "next-react",
      "imports": "",
      "lines": 567,
      "logic_relevance": "none",
      "name": "ui-select.test",
      "normalized_name": "ui-select",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/ui-select.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "1e27c86ae872ef3df3926daa",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1a27ffb23d6dfc03",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/client.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "28d5596074e94882e0d4153d",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6c754bed83fdb074",
      "framework": "next-react",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "provider.test",
      "normalized_name": "provider",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/provider.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "21c44601e62a551372b0b367",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bc58611b224707b7",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "adapter.test",
      "normalized_name": "adapter",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/adapter.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "926037161b2f4df9759ef027",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ac1d4f916d15108b",
      "framework": "next-react",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "form.test",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/form.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "48730681af87c1b5684ccca3",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5436f2300219162a",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "textarea.test",
      "normalized_name": "textarea",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/textarea.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "06696136e524a9865a1e3e12",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f51bcf7ae90a8210",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "date.test",
      "normalized_name": "date",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/date.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "f24223deeb63ac76083ad567",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cf6a6d80b3ce4e5a",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "boolean.test",
      "normalized_name": "boolean",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/boolean.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "37cc5a20bc62b0fab3143e67",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8ff684fa78152aa7",
      "framework": "next-react",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "file-uploader.test",
      "normalized_name": "file-uploader",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/file-uploader.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "37a79bf18d29ee323d4bc5d5",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a1e654b7e2ba4dbe",
      "framework": "next-react",
      "imports": "",
      "lines": 269,
      "logic_relevance": "none",
      "name": "select.test",
      "normalized_name": "select",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/select.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "13850c79c55966abdf816ec5",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1518dbb2b022774f",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "multiselect.test",
      "normalized_name": "multiselect",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/multiselect.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "620faab7cf13cb0015063afa",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c2c8cbbe60c25dc6",
      "framework": "next-react",
      "imports": "",
      "lines": 310,
      "logic_relevance": "none",
      "name": "abstract.test",
      "normalized_name": "abstract",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/abstract.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "f2ad43bd3d75f3a0afa3ed06",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e83fe8653964172c",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "region.test",
      "normalized_name": "region",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/region.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "1287f9b8821e075600b42eee",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "903886d24419fffe",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "post-code.test",
      "normalized_name": "post-code",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/post-code.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "8b298b8895b56787132492b5",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "669356a0b01f5962",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "area.test",
      "normalized_name": "area",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/area.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "318e08a67a98946d521b0e89",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f219a793f53546ea",
      "framework": "next-react",
      "imports": "",
      "lines": 173,
      "logic_relevance": "none",
      "name": "collection.test",
      "normalized_name": "collection",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/collection.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,security,automation",
      "component_id": "ea25cef70919002ce2978465",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ffe563d9a2996a74",
      "framework": "next-react",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "tab_group.test",
      "normalized_name": "tab-group",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/tab_group.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,security,automation",
      "component_id": "3c7898288ed4fce81814860f",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bd3c6c42ccacc546",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "tab.test",
      "normalized_name": "tab",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/tab.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "e29d4f86c2fbed2124de5fa0",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "313a18c5df20d558",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "group.test",
      "normalized_name": "group",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/group.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,security,automation",
      "component_id": "d4eda20129b49972cbb6abaa",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ff5fe934c6573c2b",
      "framework": "next-react",
      "imports": "",
      "lines": 238,
      "logic_relevance": "none",
      "name": "html.test",
      "normalized_name": "html",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/html.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "b4136f50c14804397b4cd11f",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b85d02cab278a078",
      "framework": "next-react",
      "imports": "",
      "lines": 256,
      "logic_relevance": "none",
      "name": "item.test",
      "normalized_name": "item",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/collection/item.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,logic,automation",
      "component_id": "5890cbec689d94cf57344751",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e3fbdbcfa9201ff7",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "layout.test",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/core/layout.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,logic",
      "component_id": "958b1144a6f581027ee8f21b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0c3e9952d8866b40",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "secondary",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/events.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,logic",
      "component_id": "965f95f20ee47c07ad76bbb8",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "04d03ab18e96ee2b",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "traversal.test",
      "normalized_name": "traversal",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/component/traversal.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,logic,automation",
      "component_id": "b4987da911e7fcd7e2b56757",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a847b5fe8acb31cc",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "links.test",
      "normalized_name": "links",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/component/links.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,logic",
      "component_id": "38605e55ecdf1932db7bb5eb",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7580ba66dff412fe",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "secondary",
      "name": "manip.test",
      "normalized_name": "manip",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/component/manip.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,logic",
      "component_id": "6d1b4be9609974f925362f64",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2f1f109c0e25748f",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "provider.test",
      "normalized_name": "provider",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/component/provider.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,logic",
      "component_id": "335870b0183278f04996b1d9",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fd874411297dec7e",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "secondary",
      "name": "core.test",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/component/core.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,logic,automation",
      "component_id": "4c9515c11a152aaba7b7cfb6",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "20d0a5c154a5de91",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "secondary",
      "name": "registry.test",
      "normalized_name": "registry",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/registry/registry.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,logic,automation",
      "component_id": "4776e5934b3bb9bf88acf1b1",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "395986ede0701230",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "secondary",
      "name": "storage.test",
      "normalized_name": "storage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/registry/storage.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,ui,automation,ai",
      "component_id": "58e740f944b28e6e819570fd",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d75994029a378cbb",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/registry/events.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,logic",
      "component_id": "586901d309633d0243f60cf0",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3157e83486da7c83",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "secondary",
      "name": "datepicker.test",
      "normalized_name": "datepicker",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/datepicker.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,logic,observability,automation",
      "component_id": "d6f49f609e0a70235565f1ce",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | logic-score:70 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cbd913322f0fffdc",
      "framework": "next-react",
      "imports": "",
      "lines": 117,
      "logic_relevance": "secondary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/lib/ko/bind/i18n.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "2b3cbd946b48a5208bf3a510",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "254d6c044cdac87e",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "confirm.test",
      "normalized_name": "confirm",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/modal/confirm.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "8d8b2440fd60ddce5abdde86",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a553eb0ba46fa1c9",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "alert.test",
      "normalized_name": "alert",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/modal/alert.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "f2f031a492273a7170ff54e8",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "41ada841c09fd4d3",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "modal.test",
      "normalized_name": "modal",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/modal/modal.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,ui,automation",
      "component_id": "d351102e9c2e3c2f66364a88",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "826ce91ad3d53ac2",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "prompt.test",
      "normalized_name": "prompt",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/modal/prompt.test.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "f2d11e47d1b08ba0b4d80c9d",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "38059b1da74c481b",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "data-storage.test",
      "normalized_name": "data-storage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/data-storage.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "52f900f5d6e14dfbff9472dc",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f62fbc4ee9b6fb3",
      "framework": "next-react",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "tree-massactions.test",
      "normalized_name": "tree-massactions",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/tree-massactions.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "c6e2cdb968457319e4756602",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "410aeaee58215c44",
      "framework": "next-react",
      "imports": "",
      "lines": 385,
      "logic_relevance": "none",
      "name": "resize.test",
      "normalized_name": "resize",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/resize.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "54d03da25c19efab141becf8",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b8f65ce866fc2590",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "range.test",
      "normalized_name": "range",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/filters/range.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "2a4736852d497d94c0364279",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e373c5eae9c0630",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "filters.test",
      "normalized_name": "filters",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/filters/filters.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "0941254e754bc677df495897",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0cfbc5f984691f06",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "sticky.test",
      "normalized_name": "sticky",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/sticky/sticky.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "0a27442f02a06ffe7004fca9",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d479d457589c546f",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "search.test",
      "normalized_name": "search",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/search/search.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "58350b33f1760891b04f1a0c",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3c0253a46c43ffd",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "columns.test",
      "normalized_name": "columns",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/controls/columns.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "266980fb2b8ec539ff201c03",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b20818e1a7483dcc",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "view.test",
      "normalized_name": "view",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/controls/bookmarks/view.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "07d7bdd33aa1964b11e552ae",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f2fd6915b4662d21",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "storage.test",
      "normalized_name": "storage",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/controls/bookmarks/storage.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "71d131fd83a50822ddfdfb9a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "778de7b5a2b32162",
      "framework": "next-react",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "bookmarks.test",
      "normalized_name": "bookmarks",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/controls/bookmarks/bookmarks.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "7d87b1e4af8fa95a2e3e123a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "51ad1177776a8999",
      "framework": "next-react",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "paging.test",
      "normalized_name": "paging",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/paging/paging.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "cc52d701b7a9c79b75f3b2fa",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e8008252f449ed3e",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "bulk.test",
      "normalized_name": "bulk",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/editing/bulk.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation,ai",
      "component_id": "6186b4ffcc2fec52c2b48c63",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "06912d293d48dfa9",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "actions.test",
      "normalized_name": "actions",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/actions.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "6d2b30c9a4aaa70b8d2e20c8",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "323c994d90ca13c7",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "date.test",
      "normalized_name": "date",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/date.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "2a3ac2c37ea8c1c079d13259",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0c94878fdec02f31",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "select.test",
      "normalized_name": "select",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/select.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "03bff074979944bcf017253d",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef431b430dec8328",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "multiselect.test",
      "normalized_name": "multiselect",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/multiselect.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,automation",
      "component_id": "dadf4a7088a7c4cb16bdb37b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a1a7dd33923f204d",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "column.test",
      "normalized_name": "column",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/column.test.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "90778076d636ac5c2b6085ef",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c97dd05207ab1fc7",
      "framework": "next-react",
      "imports": "",
      "lines": 231,
      "logic_relevance": "none",
      "name": "page-cache.test",
      "normalized_name": "page-cache",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/PageCache/frontend/js/page-cache.test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "dbe9d44aa1c56541cbf10f8c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d8b3637ca193d7ac",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "msrp.test",
      "normalized_name": "msrp",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Msrp/frontend/js/msrp.test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "dc703b6327cc0a559d4c7571",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5307f58af5f6aa48",
      "framework": "unknown",
      "imports": "",
      "lines": 154,
      "logic_relevance": "primary",
      "name": "gallery.test",
      "normalized_name": "gallery",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/gallery.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "2721f475d01911bc273cede0",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eba9dfce17573929",
      "framework": "unknown",
      "imports": "",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "validation.test",
      "normalized_name": "validation",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/validation.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "9f2688a514cfefabd372940c",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1568f413238dd1dc",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "secondary",
      "name": "template.test",
      "normalized_name": "template",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/template.test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "681019c23269a8b501dfb6e5",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a571f49f4c17b52e",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "primary",
      "name": "apply.test",
      "normalized_name": "apply",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/apply.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "e702526ec080b9b3c27eb57d",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d574475fdb9cf9d9",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "scripts.test",
      "normalized_name": "scripts",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/scripts.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "1f0050cd591f1630475f28ba",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c17f66ced8ebb1b",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "secondary",
      "name": "static-jsbuild.test",
      "normalized_name": "static-jsbuild",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/requirejs/static-jsbuild.test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "13466a70a91332ee13b704d8",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5124d06b3d526182",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "primary",
      "name": "statistician.test",
      "normalized_name": "statistician",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/requirejs/statistician.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "13beff48d9694912f3216f50",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd794d16f8db7048",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "secondary",
      "name": "static-text.test",
      "normalized_name": "static-text",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/requirejs/static-text.test.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,process",
      "component_id": "726f7439c98b41a1d52809d9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "733ee3c40565b385",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/spec_runner/settings.json",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "9a6abcc4671140aead3645be",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "path,strip-json-comments,underscore",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:./tasks/connect, ./tasks/jasmine, path, strip-json-comments, underscore | process-score:80 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-process-candidate",
      "file_hash": "06dc44fc59d7bd26",
      "framework": "unknown",
      "imports": "./tasks/connect,./tasks/jasmine,path,strip-json-comments,underscore",
      "lines": 87,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/spec_runner/index.js",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "63203e31df30a1bbe1702969",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "grunt,path,serve-static,underscore",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:grunt, path, serve-static, underscore | process-score:80 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e2eebe1c8bf6d21b",
      "framework": "unknown",
      "imports": "grunt,path,serve-static,underscore",
      "lines": 64,
      "logic_relevance": "none",
      "name": "connect",
      "normalized_name": "connect",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/spec_runner/tasks/connect.js",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process",
      "component_id": "b86beaff8190ba9ceaf95fc5",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "grunt,underscore",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:grunt, underscore | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "194b4123cba81ccc",
      "framework": "unknown",
      "imports": "grunt,underscore",
      "lines": 65,
      "logic_relevance": "none",
      "name": "jasmine",
      "normalized_name": "jasmine",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/spec_runner/tasks/jasmine.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "3e4124b3146d1463887333ee",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5bf6fbecec417347",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/tools.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e6450c574cf971c4819ea214",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "897e8a7a4c0f9efa",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/apply/config.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "2674948c80a49b05b0d75e90",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0825b64d14ba08c5",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/apply/index.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "34800fdfeaf6cd03d99b1923",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "73f44c384deff8c6",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "fn",
      "normalized_name": "fn",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/apply/components/fn.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "737d6d684d3fc7f681f0e9e9",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1e67b049c0eaef5e",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/gallery/config.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "12cb8ba6af0b57f5c4a4569c",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e26f2410562139cc",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "local",
      "normalized_name": "local",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/jsbuild/local.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "73af370b15a0a1d86e0965df",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eacc3130c8418eda",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/jsbuild/config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "75fc24d283276460da4e854d",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec0e66694353c9df",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "external",
      "normalized_name": "external",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/jsbuild/external.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "91c49d1850b7581da1dd33f2",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a1d7c058d4b6438b",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/script/config.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "ba6e2615b955371a7c02df66",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ff862aec5b05a0df",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/script/index.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3c8193a768de286a32394f66",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c04a215d4eead6d1",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/text/config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "21b0266259d2d65329ba5016",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ca975f3c82a0ba56",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Widget/_files/design/adminhtml/magento_basic/composer.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,process,automation,logic",
      "component_id": "54a639364de79e7f0dd44288",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6a96df63699b6fdc",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "some_file",
      "normalized_name": "some-file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Translation/Model/_files/media/some_file.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "bd02420415f119817154d74a",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "091a6cee00de95b0",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "secondary",
      "name": "paths_one",
      "normalized_name": "paths-one",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/patterns/paths_one.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "4b351b220588906b9c7608a0",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ce4a30dc4bad0387",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "secondary",
      "name": "paths_two",
      "normalized_name": "paths-two",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/patterns/paths_two.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation",
      "component_id": "b851645dd991036667f49e5b",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4e80155d160da05e",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "3",
      "normalized_name": "3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/design/frontend/Test/default/MagentoFrameworkCssTest_Third/web/3.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation",
      "component_id": "7dd0dc6db4f565a1f5970b8e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4e80155d160da05e",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "3",
      "normalized_name": "3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/code/Magento/Third/view/frontend/web/3.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation",
      "component_id": "e91b09b5d80735aea722fcf7",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4e80155d160da05e",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "3",
      "normalized_name": "3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/code/Magento/Other/view/frontend/web/3.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "2ddddc89cf89afbb3528a2c5",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5470f324032e17b4",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "3",
      "normalized_name": "3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/lib/web/3.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "ba26aa7ecd7af9b97adb0340",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "18147dc4f8992847",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "magento_import",
      "normalized_name": "magento-import",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/lib/web/some_dir/magento_import.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation,logic",
      "component_id": "d253f02642f6fb0eb17458c7",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5400d47e39917ed7",
      "framework": "css",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "import_in_magento_import",
      "normalized_name": "import-in-magento-import",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/lib/web/some_dir/import_dir/import_in_magento_import.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "0ce85731b11816df316acdfd",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ea2d2bb1a40a87ec",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "75ea4ec32038bdc206827237",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d78b82a15b39cbef",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "5bb1dfe2e14584a0d6a193df",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f78669e19fce3c4e",
      "framework": "unknown",
      "imports": "",
      "lines": 211,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "6717a1e1283455abb126e5f1",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "733f4d953ae582c0",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "file_three",
      "normalized_name": "file-three",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Filesystem/_files/foo/file_three.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "2a41cdd022b6bc7eb776e1c3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "45f443a26217154d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "file_two",
      "normalized_name": "file-two",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Filesystem/_files/foo/bar/file_two.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "f56345242da43ae77992e0ec",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "79c9b5d6072121d0",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "file_one",
      "normalized_name": "file-one",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Filesystem/_files/foo/bar/baz/file_one.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation",
      "component_id": "4a18b1ff7e579af3ca6c511c",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "126bd8cba045ee63",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "wrong",
      "normalized_name": "wrong",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/Element/_files/frontend/Magento/plushe/css/wrong.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "fb6d546db079b06daf4e6483",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "33212def3e5a6027",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/Magento/ModuleC/view/adminhtml/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "3148a8db628de7452c88ee46",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f51945e47cfd3329",
      "framework": "css",
      "imports": "",
      "lines": 858,
      "logic_relevance": "none",
      "name": "product",
      "normalized_name": "product",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/Magento/ModuleA/view/adminhtml/product/product.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d30fa098fe6863452be0ea13",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d76077ff0cad0f0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fixture_script",
      "normalized_name": "fixture-script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/web/fixture_script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "05638565174a8828d07e1806",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4a43324070814ccc",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fixture_script",
      "normalized_name": "fixture-script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/web/i18n/ru_RU/fixture_script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "ddaa19c4f74f43555fbfcd4f",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f65c5b5e6b6399df",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fixture_script",
      "normalized_name": "fixture-script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/ViewTest_Module/web/fixture_script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "3134b338c9a8d959b60ac79d",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f5049b7bfbb0c3c0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fixture_script",
      "normalized_name": "fixture-script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/ViewTest_Module/web/i18n/ru_RU/fixture_script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b848bb5d85bfc4c46d407d77",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aa42caa01e1bfb1c",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fixture_script_two",
      "normalized_name": "fixture-script-two",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/custom_theme/web/fixture_script_two.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "3978d4e561007dcf927a70fa",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "306ea38fbb8c1468",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "script",
      "normalized_name": "script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/custom_theme/web/mage/script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "91b4f766a14ae266e5cdaa11",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "94625e4cb4b48046",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fixture_script_two",
      "normalized_name": "fixture-script-two",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/custom_theme/ViewTest_Module/web/fixture_script_two.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "5a491133d2d752c7b46fe938",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "40f10f327add18ff",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "script",
      "normalized_name": "script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/lib/web/mage/script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "915698ce0915dc12bf594b63",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3d262ef5804d6d2b",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "test.min",
      "normalized_name": "test-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/static/expected/test.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,automation",
      "component_id": "0870d6de8f593649753c0ed0",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "42bd73ae9a629e61",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "styles.magento.min",
      "normalized_name": "styles-magento-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/static/expected/styles.magento.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,automation",
      "component_id": "3ae090fe04e3af816e7eb342",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "57cb7dbcd262be9f",
      "framework": "css",
      "imports": "",
      "lines": 6118,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/static/theme/web/css/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,automation",
      "component_id": "f2c660caee90cd822e105903",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f3d17411d0d1730f",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "preminified-styles.min",
      "normalized_name": "preminified-styles-min",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/static/theme/web/css/preminified-styles.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "ffca96b86e73fb1db34f6b67",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "083270b5b70ec0d7",
      "framework": "unknown",
      "imports": "",
      "lines": 534,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/static/theme/web/js/test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,process,discovery,automation",
      "component_id": "8667a7d9bcb991ef452e49dd",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | process-score:65 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a4b74f427724ec02",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Config/Model/_files/robots.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "73428d81680246bc6377842a",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2618c82a42f7610d",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "composer4",
      "normalized_name": "composer4",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/Dependency/_files/composer4.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "c709f00f712c6c1c82ade74e",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc0e9e815cb826b5",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "composer5",
      "normalized_name": "composer5",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/Dependency/_files/composer5.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "cae5a39729fcb808d398acf6",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b30d46a2311e4a2",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "composer2",
      "normalized_name": "composer2",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/Dependency/_files/composer2.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a820ed7e67367a9fdae7b831",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "777e3247fd012f52",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "composer3",
      "normalized_name": "composer3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/Dependency/_files/composer3.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "477f3134ac5b5b94a2488553",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d0d7906403d91924",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "composer1",
      "normalized_name": "composer1",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/Dependency/_files/composer1.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "02997355051dcf2eb06408f7",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2befab4c1bd138d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "objectsCode.php",
      "normalized_name": "objects-code-php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Parser/Adapter/Php/Tokenizer/_files/objectsCode.php.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,logic",
      "component_id": "95f775de81ce4f918cbcd3da",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0901c58a4331667d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "methodsCode.php",
      "normalized_name": "methods-code-php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Parser/Adapter/Php/Tokenizer/_files/methodsCode.php.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "98df0d9b8f26889705c74157",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2d1c5e973a5b1dbf",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "jsPhrasesForTest",
      "normalized_name": "js-phrases-for-test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Parser/Adapter/_files/jsPhrasesForTest.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d2a2579cd6cfc920afc9daec",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e7e64fc5d5848086",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/app/code/Magento/FirstModule/view/frontend/file.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "2cda3899bc48c7989f47ed01",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec1a055c5feb4910",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/not_magento_dir/file.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "03b3f2845ff96374e3ea09c8",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "977d97945b0160d2",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/lib/web/mage/file.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic",
      "component_id": "406c4b90f66dfd313abf07fb",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "977d97945b0160d2",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/lib/web/varien/file.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,automation,logic",
      "component_id": "cf6e2d70dd739b5cd7bda99b",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d78b82a15b39cbef",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Model/_files/testSkeleton/composer.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,process,backend,automation,logic",
      "component_id": "a0848b2c947cbed2b3ab9c44",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | backend-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f0a116ad85f83db8",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "b",
      "normalized_name": "b",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Model/Cron/_files/b.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,process,backend,automation,logic",
      "component_id": "e8cb312b7299a4ec92d71e49",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | backend-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0c810f0141d49e63",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "a",
      "normalized_name": "a",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Model/Cron/_files/a.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "959a541d9b211a57c35628b7",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ad4193899b7bf11b",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Console/Command/_files/root/app/code/Magento/A/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a329bbdf6942798a45fbf5b7",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7befd6ff0a77f5e9",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Console/Command/_files/root/app/code/Magento/B/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,backend,automation",
      "component_id": "4ddafa2d497a7075bd8eefc1",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "496d5b8a1fe27618",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/_files/test.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,backend,automation",
      "component_id": "52c4b89dcfb0c940a3029ae3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0d8c6ed2a341dd4a",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "sample",
      "normalized_name": "sample",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/_files/sample.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "9818f9c0cae4b67477b597ae",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "84f8c8040f8bb22c",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "simple-js-file",
      "normalized_name": "simple-js-file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/_files/simple-js-file.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "c80ea214d5822e0be8515a93",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a249ce2c699bd793",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "result_source",
      "normalized_name": "result-source",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/web/result_source.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "e1e7596d562b0c3586d20024",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3bf94bc3dd7d4373",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "secondary",
      "name": "source",
      "normalized_name": "source",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/web/source.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "d39f4a156c34521c9e774b7b",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ccf2ad4a037bc9d6",
      "framework": "css",
      "imports": "",
      "lines": 47,
      "logic_relevance": "secondary",
      "name": "result_source_dev",
      "normalized_name": "result-source-dev",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/web/result_source_dev.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "5762dbd62dedfe8bad388c2c",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6e540d803e244405",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/web/css/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,ui,automation,logic",
      "component_id": "b37dbcfa4c036db37603db44",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | ui-score:70 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6e540d803e244405",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/web/js/tabs.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,process,automation,logic",
      "component_id": "fc16c3c652a8ee7bb8a84c23",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a44ae12254769008",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "theme_file_with_2_dots.",
      "normalized_name": "theme-file-with-2-dots",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/Magento_Catalog/theme_file_with_2_dots..txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,process,automation,logic",
      "component_id": "1071a781e8c4ef02fa686ed4",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f0a6ce12fd70728d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "theme_file",
      "normalized_name": "theme-file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Test/default/Magento_Catalog/theme_file.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "f962f2e3bdf0298725ddd3be",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "37366d1d8e8d641f",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "recursive",
      "normalized_name": "recursive",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/default/web/recursive.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,automation,logic",
      "component_id": "2fb059b52386fa7df4dc8429",
      "component_kind": "agent",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2bfaadf66953909c",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "scripts",
      "normalized_name": "scripts",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/default/web/scripts.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "016eec11bf34a3e89bd72d10",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5cd521100c860bc0",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "file",
      "normalized_name": "file",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/default/web/css/file.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "f93b1382f3f7d080766a85f2",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fa835440b6ba82fd",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "exception",
      "normalized_name": "exception",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/default/web/css/exception.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "712da1f447fa9cb1228110de",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "00392dc8dd0fd366",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "base64",
      "normalized_name": "base64",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/default/web/css/base64.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "26f7e57ad63f608b85915582",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6af55b3ad4bc946f",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "recursive",
      "normalized_name": "recursive",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/default/web/css/deep/recursive.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,automation,logic",
      "component_id": "980bfdd835fcd93d1c1b4a32",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3fc8f94ad4aec240",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "fixture_script",
      "normalized_name": "fixture-script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Theme/Model/_files/design/frontend/Vendor/custom_theme/Fixture_Module/web/fixture_script.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "4f7a59e3d0d70569ce31bb15",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5dab9a1d7c85b59f",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "email-inline-3",
      "normalized_name": "email-inline-3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Magento/default/web/css/email-inline-3.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "46e2620866500e57a0bf18c7",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b2dc63ed2739df08",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "email-3",
      "normalized_name": "email-3",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Magento/default/web/css/email-3.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "cf1defec31e3485fab83ba46",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "717757f7e8531ac9",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "file-with-error",
      "normalized_name": "file-with-error",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Magento/default/web/css/file-with-error.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "74ca553d57aaf1cc4d27c525",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f73a216e9a47839a",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "email-2",
      "normalized_name": "email-2",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Vendor/default/web/css/email-2.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "3113db64ecd267e5ca24e817",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d8bbc90bb905d3c8",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "email-inline-2",
      "normalized_name": "email-inline-2",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Vendor/default/web/css/email-inline-2.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "a6f0a922c17b3b5eb1f2cfdd",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "203be3b526311dc3",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "email-inline-1",
      "normalized_name": "email-inline-1",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Vendor/custom_theme/web/css/email-inline-1.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,ai,automation,logic",
      "component_id": "63af4aa1827165b21f76fcc6",
      "component_kind": "design-token",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:75 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b566cadc9dc920a8",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "email-1",
      "normalized_name": "email-1",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/Vendor/custom_theme/web/css/email-1.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "0782777c0d461444e3012f36",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1bb67d0b670af475",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "common",
      "normalized_name": "common",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Less/_files/whitelist/common.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "cd308a004eb67d8cf08a58bf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "80f8a38a4a8eac90",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "old",
      "normalized_name": "old",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Less/_files/blacklist/old.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "fdede8b2680231b2d6090406",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "64918f9603107f28",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "magento",
      "normalized_name": "magento",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Js/_files/whitelist/magento.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,logic",
      "component_id": "ac304ae0f26d426dd69ca367",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ed66b61ec99da677",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Js/_files/jshint/whitelist/core.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,logic",
      "component_id": "7e4d399b1f2e9d5ea8ce312b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:50 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "852468ce1ada4181",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Js/_files/jshint/blacklist/core.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "edd251082a930f663eca00c3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4f65b716f8522d9f",
      "framework": "unknown",
      "imports": "",
      "lines": 1035,
      "logic_relevance": "none",
      "name": "magento",
      "normalized_name": "magento",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Js/_files/blacklist/magento.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security,ai",
      "component_id": "82449dec372bf4e73d2cbe9e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "72754a1ebdececcb",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "common",
      "normalized_name": "common",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "d8bf65b6cc9d626b87769053",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "517fb1e800de3b34",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "common",
      "normalized_name": "common",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,backend,automation,ai",
      "component_id": "75a6b0e08085f4dae88d2c08",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "81640088ffc8edf6",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "blacklist_ce",
      "normalized_name": "blacklist-ce",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Integrity/Magento/Framework/Api/_files/ExtensibleInterfacesTest/blacklist_ce.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "49f3a733e462062e672f15e0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb042f047dae7cbc",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "blacklist",
      "normalized_name": "blacklist",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Integrity/Library/_files/blacklist.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "170f37ad230d92aba20bb6bd",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bbf186a81e99d4bf",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "scan_list",
      "normalized_name": "scan-list",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Integrity/Readme/_files/scan_list.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0ebdd27a8eeea6b299ea2972",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4021ac98b24b80de",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "ce",
      "normalized_name": "ce",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Integrity/Readme/_files/blacklist/ce.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "3e531f1d4eb4cfba924f873b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5a74af3333395429",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "reference",
      "normalized_name": "reference",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "65b55087f3640f1083a4b025",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90484329b9cc75b0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "exception_hierarchy",
      "normalized_name": "exception-hierarchy",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/exception_hierarchy.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "ec119546894a68b59c0aee98",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7619349a58b25766",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/api-functional/_files/Magento/TestModuleIntegrationFromConfig/composer.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "a7965d560c808b8db5d22ade",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2c4df914a49b83a4",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/api-functional/_files/Magento/TestModuleJoinDirectives/composer.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "386cfa11f7c2d50c51f3b54e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "16784d1f2509fd95",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/tests/functional/composer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "a7bf9f491ae4840d2a597163",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4ea2263c7bfc17af",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "before_install",
      "normalized_name": "before-install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/travis/before_install.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "33efb9cf4b6aecc0e49c2d37",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2a140854403b5ab",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "before_script",
      "normalized_name": "before-script",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/dev/travis/before_script.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "4bfcb0c8c31ba0b66aec8a5b",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6169207e83ddbf63",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": ".user",
      "normalized_name": "user",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/pub/.user.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "350b95b55859590d92ba0222",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6ede90c787535866",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "resource_config",
      "normalized_name": "resource-config",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/pub/opt/magento/var/resource_config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "675cd9964b88d3b6821f8beb",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2185076774c28d94",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/repos/magento2/pub/errors/default/css/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "ae083207992a73292efe3601",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f24c6de25ee97a3a",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dev",
      "normalized_name": "dev",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/dev.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process",
      "component_id": "41c0b9939268b93182f1daec",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d27940dccc3c9b0",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "playbook",
      "normalized_name": "playbook",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/playbook.yml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "aa0f01a66e9913749f41df77",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "8400e70aa91dac19",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dev_sample",
      "normalized_name": "dev-sample",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/group_vars/dev_sample.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "eae31a5572e8772fa7d904c6",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "089c61ce050794c8",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "c7d729be022bdd1a94304367",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "168699f7717ffb44",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "vendor",
      "normalized_name": "vendor",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/tasks/vendor.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e688d63887e6a544622d9159",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cc539c4ce472dc9f",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "create",
      "normalized_name": "create",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/tasks/create.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "5d6cf0a451d6ff1d6daae42b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "945d165f887bb71b",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/tasks/install.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "2b7fc8fb4b670e9a6cac796f",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "76b6239f66823c9e",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "keys",
      "normalized_name": "keys",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/tasks/keys.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "9279f4e656b44c9af4af09fb",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "9f8fd21859684a76",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/tasks/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "360654bea0db86dcc5457453",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "a2619a239af2adac",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/magento2/defaults/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "c0dd63b5f8439a5626ac575d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1e311deccbcfa92e",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/mariadb/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d116b6e5414e87da533d8d15",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a12fc18e6dc6730",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/redis/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "c20f0af8254444ab5dbf852a",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b74573e46ade64a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/tasks/composer.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "f4090c8e2617c26f75c6ac47",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67ea3f1c5ee5cb11",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "xdebug",
      "normalized_name": "xdebug",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/tasks/xdebug.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "7757b5feaf57918324f2cab7",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b24cc48055813131",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "dabbbe20630e6f0a7ce04fab",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f76a86b89b1daee4",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/tasks/install.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "339d7f24e8182295e6334ac0",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcab46f422b76b8b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "2fedb7aa6cb67b528542fdaf",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "catalog-only",
      "file_hash": "b0bcb69f4bfc862a",
      "framework": "unknown",
      "imports": "",
      "lines": 1872,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/files/php.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "a31496fa4dd4d57f0863e3e0",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "86fb7227ebd20f57",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/php/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "6c0e2dfa5ca015b02c14d1ee",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4ab232c62830de9b",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/common/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "36562610be144a342647a10a",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e4cbe1e4dd53d4cb",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/cleanup/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "fa8752c9797ad59eb96a857f",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d9f7556de059cb6a",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/nginx/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "06f04cd21df93b6a866bb70b",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "992cb2c265c9c1a7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/nginx/tasks/install.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e800563ed6e5ef50fe002a71",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "71a3a5ef12bf90f1",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/nginx/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "4c928c4325c5cfc344dc29cd",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "19ef99d17fe13cfc",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2/ansible/roles/nginx/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "a3484d53caa7fa5416b33693",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "0aadaffe98728da6",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dev",
      "normalized_name": "dev",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/dev.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process",
      "component_id": "eb497b05320fac4cf5f9d92a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9da3d6e5fe0be8bd",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "playbook",
      "normalized_name": "playbook",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/playbook.yml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "16d3bb66477315c41873f997",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "089c61ce050794c8",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "c4e269121994423f1ae6b86f",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "168699f7717ffb44",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "vendor",
      "normalized_name": "vendor",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/tasks/vendor.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "b12a5c6f334fb07516a09460",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cc539c4ce472dc9f",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "create",
      "normalized_name": "create",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/tasks/create.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "6539422056f4ee6fb8523dec",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "945d165f887bb71b",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/tasks/install.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "edecbe6292983b763b871bd6",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "76b6239f66823c9e",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "keys",
      "normalized_name": "keys",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/tasks/keys.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "d4d5c36f09df6af58c7a8c9e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "9f8fd21859684a76",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/tasks/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "9f9b3daf99d99d59be4ff552",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "651b5238dbcc1752",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2/defaults/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "098478dcee077d255b8485cf",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1e311deccbcfa92e",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/mariadb/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "261391644aa572f325e45345",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "db1678e91ce754c0",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "4eb10ee076c8ba68cd473728",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d0fd26833723167",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "vendor",
      "normalized_name": "vendor",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/vendor.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e6b3c6d07233cd29998e8ae5",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "409de62f8b3e3b5f",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "create",
      "normalized_name": "create",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/create.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "43b510be0708f1240f163abf",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "673e05dcaad6fa29",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/install.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "b778f5cbcac47e5ec549f525",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "246b4e6663aa7e3a",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "keys",
      "normalized_name": "keys",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/keys.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "c8c0c4fb4c207d60ee02be90",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "9bdf87d551f683f9",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "74b463ca17589a3b69f64e95",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "9eff506e2cd82a88",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/defaults/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "fcdc19d9f8f5775fc5cb40e6",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a12fc18e6dc6730",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/redis/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "59bf351dd9b5a4fd94352297",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b74573e46ade64a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/tasks/composer.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "1c3c97ab3da7f0714555fef5",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1544e7b5168aac49",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "xdebug",
      "normalized_name": "xdebug",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/tasks/xdebug.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "0c039615385308216bbe4e95",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd3b52ab35a7b448",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "742dc8452ca3bcb70528405d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b7759859c618753e",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/tasks/install.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "4c0927c3fb25742ae87ec0ca",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcab46f422b76b8b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d5e15cf32fb2ccc641188d8b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "catalog-only",
      "file_hash": "05dace6198ba01e8",
      "framework": "unknown",
      "imports": "",
      "lines": 1875,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/files/php.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "a3a4628002f9103ca0e2d03d",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "93b279335bef6417",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php56/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "7f48df7993809942e30488f2",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b74573e46ade64a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/tasks/composer.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "6101b0d94a920a0017e24133",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67ea3f1c5ee5cb11",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "xdebug",
      "normalized_name": "xdebug",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/tasks/xdebug.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "a2c82d05b32e6be1bcd32adf",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b24cc48055813131",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "7ada7985ad13a2e93ad9dab5",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f76a86b89b1daee4",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/tasks/install.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "e60cea4bd886af4ca95bb910",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcab46f422b76b8b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "dca67e4a79dd8ac32de5c624",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "catalog-only",
      "file_hash": "b0bcb69f4bfc862a",
      "framework": "unknown",
      "imports": "",
      "lines": 1872,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/files/php.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "27ec24bc6fa281ac779e3e8c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "86fb7227ebd20f57",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php7/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "1b54aa18b6077b0ec726fe0d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b74573e46ade64a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/tasks/composer.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "aec0f379a68e9692564227c9",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67ea3f1c5ee5cb11",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "xdebug",
      "normalized_name": "xdebug",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/tasks/xdebug.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "3073249cef20f9ed29bf2d5c",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b24cc48055813131",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "8660483b0a0513f7ca19d2e1",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f76a86b89b1daee4",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/tasks/install.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "82a86d08f6c360f119ff9c84",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcab46f422b76b8b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "8c632e7adeb91e6bcf75d0cf",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "catalog-only",
      "file_hash": "b0bcb69f4bfc862a",
      "framework": "unknown",
      "imports": "",
      "lines": 1872,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/files/php.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "309c3c03617b6a3c51745d19",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "86fb7227ebd20f57",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/php/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "44f968d4809d14fe3ca61395",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "68d45735f8cacc31",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/common/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "41bc9b4b53798cd673f87c11",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "83ecf5844917111b",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/apache2/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "fec151c6bc9912a2fd8f3304",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c0834bb00d70ce55",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/cleanup/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "f4e3dd40d7a7a0a44b24813f",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d9f7556de059cb6a",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "conf",
      "normalized_name": "conf",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/nginx/tasks/conf.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "2c385f17441c4495080ab7b9",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "992cb2c265c9c1a7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/nginx/tasks/install.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "23967e31fa2720c9ff638ab1",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "71a3a5ef12bf90f1",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/nginx/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation",
      "component_id": "a507f9abeed417e18893f155",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "19ef99d17fe13cfc",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "ansible/magento/magento2-2.0.15/roles/nginx/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "3b45a8b32cf1e6f81be962d5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3ba2a64142829ce9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/magento/magento1/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "e731e59613887f21b85ed5cb",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "67472f3277bfb420",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "ansible/prestashop/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7332824ce1ed9351f8c83071",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "64f7544c6c27fa61",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "evil-ports1",
      "normalized_name": "evil-ports1",
      "package_manager": "unknown",
      "path": "powershell/evil-ports1.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation,logic,backend",
      "component_id": "2fc21dfeb014a98f7606b5f7",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2047400fadf44d03",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "secondary",
      "name": "get-ad-schema-ver",
      "normalized_name": "get-ad-schema-ver",
      "package_manager": "unknown",
      "path": "powershell/get-ad-schema-ver.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0a839f1e0b70fff494486ef6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "07a9c1875ec8d699",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "provision_log_buckets",
      "normalized_name": "provision-log-buckets",
      "package_manager": "unknown",
      "path": "powershell/provision_log_buckets.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "83d659ec5facae07d1467b6f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "43c3567a44dd8649",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "reverse-ssh-tunnel",
      "normalized_name": "reverse-ssh-tunnel",
      "package_manager": "unknown",
      "path": "powershell/reverse-ssh-tunnel.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "71a84a549610517d3ab89c3a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5b22ebe1f635dc61",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "smack_my_bitch_up",
      "normalized_name": "smack-my-bitch-up",
      "package_manager": "unknown",
      "path": "powershell/smack_my_bitch_up.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "70b18c537153fed976d39423",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "04fcaa5a4a9768bb",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "deploy_lambda_role",
      "normalized_name": "deploy-lambda-role",
      "package_manager": "unknown",
      "path": "powershell/deploy_lambda_role.ps1",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "070b83c9633afbe545b087b0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b55861752a8d9125",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "create_lambda_code_s3_bucket",
      "normalized_name": "create-lambda-code-s3-bucket",
      "package_manager": "unknown",
      "path": "powershell/create_lambda_code_s3_bucket.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "c8ea8221b306a88f34ede538",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "15742a0ae327b39a",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "multisheet-excel-to-multi-csv",
      "normalized_name": "multisheet-excel-to-multi-csv",
      "package_manager": "unknown",
      "path": "powershell/multisheet-excel-to-multi-csv.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "14ac2d7976e6d2d9ca587725",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e0b4e9ecb19f9090",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "create_event_source",
      "normalized_name": "create-event-source",
      "package_manager": "unknown",
      "path": "powershell/create_event_source.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "e2756a0e85913276a6ea493c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30f965d97e967e8f",
      "framework": "unknown",
      "imports": "",
      "lines": 578,
      "logic_relevance": "none",
      "name": "Powershell-Backup",
      "normalized_name": "powershell-backup",
      "package_manager": "unknown",
      "path": "powershell/Powershell-Backup.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "7f5e2e2a125b96ffcb0f18bd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d5590fda6930ffa6",
      "framework": "unknown",
      "imports": "",
      "lines": 944,
      "logic_relevance": "none",
      "name": "Monitor-ADGroupMemberShip",
      "normalized_name": "monitor-adgroup-member-ship",
      "package_manager": "unknown",
      "path": "powershell/Monitor-ADGroupMemberShip.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "1eb8f0f35241dde8a2c4bb3e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c91ac1aef5778b2",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "ad-new-user",
      "normalized_name": "ad-new-user",
      "package_manager": "unknown",
      "path": "powershell/ad-new-user.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "511bbdf2bfc52a33020166ed",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "577cfc804608c366",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "evil-port2",
      "normalized_name": "evil-port2",
      "package_manager": "unknown",
      "path": "powershell/evil-port2.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "9c28355f535cd505e93d1a61",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67ca803801ca87bd",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "VM-Resource-Interrogator",
      "normalized_name": "vm-resource-interrogator",
      "package_manager": "unknown",
      "path": "powershell/VM-Resource-Interrogator.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "19e9c1e0aebc1d2923085e96",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "689c77b99bffb675",
      "framework": "unknown",
      "imports": "",
      "lines": 1010,
      "logic_relevance": "none",
      "name": "export-ntune-data",
      "normalized_name": "export-ntune-data",
      "package_manager": "unknown",
      "path": "powershell/export-ntune-data.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "88da67d5b2142239b7ccdd60",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c91ad0eb63af0d0e",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "windows-admin",
      "normalized_name": "windows-admin",
      "package_manager": "unknown",
      "path": "powershell/windows-admin.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,process",
      "component_id": "b856c63173637d7ea3abe376",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c7e1752edc0f2a4",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "deploy_lambda_function",
      "normalized_name": "deploy-lambda-function",
      "package_manager": "unknown",
      "path": "powershell/deploy_lambda_function.ps1",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "f69e8b75d8ac8ed9221de272",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0042a3c385f28422",
      "framework": "unknown",
      "imports": "",
      "lines": 154,
      "logic_relevance": "none",
      "name": "ad-bulk-add-new",
      "normalized_name": "ad-bulk-add-new",
      "package_manager": "unknown",
      "path": "powershell/temp/ad-bulk-add-new.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "fc690fd43eb83fc57b28c4af",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e072374576af300",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "ad-bulk-add",
      "normalized_name": "ad-bulk-add",
      "package_manager": "unknown",
      "path": "powershell/temp/ad-bulk-add.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "bc21f464f1a9e71b81daf38b",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b27980379dfc7cf8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "fileCompare",
      "normalized_name": "file-compare",
      "package_manager": "unknown",
      "path": "powershell/facebook/fileCompare.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "5bb15f8442addf9b5f656316",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7ebd21177e433cbc",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "powershell/facebook/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "b1d8b99fbeb84693ee98b4fc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9c2076d3acaeb363",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "newCompare",
      "normalized_name": "new-compare",
      "package_manager": "unknown",
      "path": "powershell/facebook/newCompare.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "07bee91a177c03b20f644422",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e4f3927597b0d17c",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "AD-Module",
      "normalized_name": "ad-module",
      "package_manager": "unknown",
      "path": "powershell/scripts/AD-Module.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "0fd3d4989c882e916fed7221",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d73d52410d56095",
      "framework": "unknown",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "ad-bulk-add",
      "normalized_name": "ad-bulk-add",
      "package_manager": "unknown",
      "path": "powershell/scripts/import-users/ad-bulk-add.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8625380c89271fa0990f8e2a",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "770f403d492ca141",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "test-ou-add",
      "normalized_name": "test-ou-add",
      "package_manager": "unknown",
      "path": "powershell/scripts/import-ou/test-ou-add.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "95dfd66379003db30ab760e3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a968d6ef42e35fc5",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "ad-add-delim",
      "normalized_name": "ad-add-delim",
      "package_manager": "unknown",
      "path": "powershell/Functional/ad-add-delim.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "bca77d655886818967794e78",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "30ccdeed9f9818ea",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "bcd35758508c742b6bda2a6b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "89c95ee78de7736f",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/unit/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "de5233b28a90fd730c51cd10",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "aae059dacb3320fc",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/security/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "f688dc5da9f79000ff1de279",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "52ca9ab6d1357fbf",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/acceptance/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "0e27b58f3d82152b75b65fda",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "67db1f827ac71553",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/static/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "e5d58c35866ac00ef5602c7e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2a7e96dfca4c4179",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/regression/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "d39f5e573e64b1e143da9c67",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9a6f1d359082b461",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/performance/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "7adbf2654d0ab84a388a2d0b",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3333b2e82fd0ce10",
      "framework": "unknown",
      "imports": "",
      "lines": 351,
      "logic_relevance": "none",
      "name": "effective",
      "normalized_name": "effective",
      "package_manager": "unknown",
      "path": "testing/performance/2017-06-07_23-44-49.824000/effective.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "d0ff81fa12400087c359b1b4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "6bdf90f4b646e087",
      "framework": "unknown",
      "imports": "",
      "lines": 258,
      "logic_relevance": "none",
      "name": "effective",
      "normalized_name": "effective",
      "package_manager": "unknown",
      "path": "testing/performance/2017-06-07_23-44-49.824000/effective.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "42f148e3665990c11db9ac6c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "56e065286c05e699",
      "framework": "unknown",
      "imports": "",
      "lines": 351,
      "logic_relevance": "none",
      "name": "effective",
      "normalized_name": "effective",
      "package_manager": "unknown",
      "path": "testing/performance/2017-06-07_23-43-58.688000/effective.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "9f805e074fa229a025a39232",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "cf35b56cecea88d5",
      "framework": "unknown",
      "imports": "",
      "lines": 258,
      "logic_relevance": "none",
      "name": "effective",
      "normalized_name": "effective",
      "package_manager": "unknown",
      "path": "testing/performance/2017-06-07_23-43-58.688000/effective.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "87a86ce0338fb20caa352ea6",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "3f2dff22f0db7f23",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "testing/infrastructure/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "security,automation",
      "component_id": "849b6e56963900d175852335",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a9cd0d3913ed8650",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "packer_clone_provision_ami",
      "normalized_name": "packer-clone-provision-ami",
      "package_manager": "unknown",
      "path": "aws_automation/packer_clone_provision_ami.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "40f1ba40ba7b2a1701ce4345",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "29141db74af669f3",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "grep_ami_id",
      "normalized_name": "grep-ami-id",
      "package_manager": "unknown",
      "path": "aws_automation/grep_ami_id.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "bf6f1f7bad9161814cb6c9e4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "27e589ae43baea72",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "aws_post",
      "normalized_name": "aws-post",
      "package_manager": "unknown",
      "path": "aws_automation/aws_post.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "bff2216c7cd49c9e3df93bdd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "372ad28f98e9d623",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "test2",
      "normalized_name": "test2",
      "package_manager": "unknown",
      "path": "graphql/test2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "88b7ef61d9718c22fc3fd2f3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "32a1848974625784",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "test3",
      "normalized_name": "test3",
      "package_manager": "unknown",
      "path": "graphql/test3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,observability,security,ai",
      "component_id": "ac9ce807cc55b1b910e8f995",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "61a464cd7a633914",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "testql",
      "normalized_name": "testql",
      "package_manager": "unknown",
      "path": "graphql/testql.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "677dada49a49ade147a9178e",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "888ce4fdc2efbfce",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "backup_db_all",
      "normalized_name": "backup-db-all",
      "package_manager": "unknown",
      "path": "graphql/backup_db_all.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "b0fd18d76f73314d4edb843b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d4026f2d74548c1b",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "test4",
      "normalized_name": "test4",
      "package_manager": "unknown",
      "path": "graphql/test4.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d428e507c1bdb7703bf7bc68",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37d96d0180690abc",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "test5",
      "normalized_name": "test5",
      "package_manager": "unknown",
      "path": "graphql/test5.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "1459fa1deca2a1dc513bd6e4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "117413f6a5124c08",
      "framework": "unknown",
      "imports": "",
      "lines": 239,
      "logic_relevance": "none",
      "name": "cleanup",
      "normalized_name": "cleanup",
      "package_manager": "unknown",
      "path": "graphql/cleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "3e94565ea36076cd294d9f2f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf829b6f5cef1ab5",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "test1",
      "normalized_name": "test1",
      "package_manager": "unknown",
      "path": "graphql/test1.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "9052eeb380a644ce898ceaa8",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "69d26d324cbb8c7c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "InstallChoco",
      "normalized_name": "install-choco",
      "package_manager": "unknown",
      "path": "PSexec Scripts/InstallChoco.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "0c1c808e1dd2fb84c456a3fc",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9306a39a886e04ad",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "install_puppet_win",
      "normalized_name": "install-puppet-win",
      "package_manager": "unknown",
      "path": "PSexec Scripts/install_puppet_win.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "8f9eb240cc6d4e07f66f3132",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "848e1aaffe19185b",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ConvertEvalToStandard",
      "normalized_name": "convert-eval-to-standard",
      "package_manager": "unknown",
      "path": "PSexec Scripts/ConvertEvalToStandard.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "8110d55c903e733e8e64f1c5",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d7438b742df2cf0",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "EnableWinRM",
      "normalized_name": "enable-win-rm",
      "package_manager": "unknown",
      "path": "PSexec Scripts/EnableWinRM.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "2d6000c1bb38beb665e18620",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19237498cf5d5794",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "EnablePSRemoting",
      "normalized_name": "enable-psremoting",
      "package_manager": "unknown",
      "path": "PSexec Scripts/EnablePSRemoting.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "ab91fae11ffc9e3badc2b73e",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e6fec4927bce13f7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "CreateVagrantUser",
      "normalized_name": "create-vagrant-user",
      "package_manager": "unknown",
      "path": "PSexec Scripts/CreateVagrantUser.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "a1e923225150604cf4893441",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af5156358df286c2",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "DisableUAC",
      "normalized_name": "disable-uac",
      "package_manager": "unknown",
      "path": "PSexec Scripts/DisableUAC.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "deployment",
      "categories": "process",
      "component_id": "8e16df0ee9a20a5a179a2b1c",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2253d3b6fa6c609",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "aws/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "b29e5c4417638ed701bbdd53",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cafcec3e12a2607b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "infrastructure",
      "normalized_name": "infrastructure",
      "package_manager": "unknown",
      "path": "aws/multi/devel/infrastructure.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "c7d9d8ffcc132d139398303f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7da06cea453c027c",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "unknown",
      "path": "aws/multi/devel/instances.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "f25598c2fb1b826305d39a28",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cafcec3e12a2607b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "infrastructure",
      "normalized_name": "infrastructure",
      "package_manager": "unknown",
      "path": "aws/multi/prod/infrastructure.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "e70dbbd664c39066c672d15f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe1b9d5d1e79f72f",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "unknown",
      "path": "aws/multi/prod/instances.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "f3541d5ba23d69eeb2cf9452",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cafcec3e12a2607b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "infrastructure",
      "normalized_name": "infrastructure",
      "package_manager": "unknown",
      "path": "aws/multi/stage/infrastructure.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "7f486ac21107eb81722e5bf9",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d818862ed1c83053",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "unknown",
      "path": "aws/multi/stage/instances.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "be236fc7cff344983fd75c1a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4ec66f3a29e38e3c",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "push2cd",
      "normalized_name": "push2cd",
      "package_manager": "unknown",
      "path": "aws/codeDeploy/push2cd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "fb8495b6214c656666f16efc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "753e746fd26c81b2",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "validateSite",
      "normalized_name": "validate-site",
      "package_manager": "unknown",
      "path": "aws/codeDeploy/validateSite.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "cd83eb844abef24fbf835d9f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "32537d0be0370a2c",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "example-config",
      "normalized_name": "example-config",
      "package_manager": "unknown",
      "path": "aws/codeDeploy/example-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "933007ba3d16b91b557cf62e",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b1a5f5457a2c2aca",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "aws/codeDeploy/install.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "b87ac8636d389a480fa876e5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "598624f9b37bfe52",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "stopSite",
      "normalized_name": "stop-site",
      "package_manager": "unknown",
      "path": "aws/codeDeploy/stopSite.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "b0b6e0411184f03172d85983",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "97c6e11690b47e58",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "startSite",
      "normalized_name": "start-site",
      "package_manager": "unknown",
      "path": "aws/codeDeploy/startSite.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c437e0066ad46072a8ee1776",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "38937bc0a4a784eb",
      "framework": "python",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "ami_backup_config",
      "normalized_name": "ami-backup-config",
      "package_manager": "unknown",
      "path": "aws/scripts/ami_backup_config.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "72202bf1c11f5e659e74c65e",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "argparse,boto.ec2,boto.ec2.blockdevicemapping,boto.exception,logging,sys,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:build_block_device_map, copy_snapshot, create_image, main | imports:argparse, boto.ec2, boto.ec2.blockdevicemapping, boto.exception, logging, sys, time | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "build_block_device_map,copy_snapshot,create_image,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b7da18b3ddd0ac6f",
      "framework": "python",
      "imports": "argparse,boto.ec2,boto.ec2.blockdevicemapping,boto.exception,logging,sys,time",
      "lines": 172,
      "logic_relevance": "none",
      "name": "copy_ami",
      "normalized_name": "copy-ami",
      "package_manager": "unknown",
      "path": "aws/scripts/copy_ami.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f393e34601c84e2d3c8a963b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d3b64761be5913cb",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "grep_ami_id",
      "normalized_name": "grep-ami-id",
      "package_manager": "unknown",
      "path": "aws/scripts/grep_ami_id.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "0427ebf6379a89eb98f98e9c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fcbc9d74d7ebbfc0",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "update_elb_ssl_neg_policies",
      "normalized_name": "update-elb-ssl-neg-policies",
      "package_manager": "unknown",
      "path": "aws/scripts/update_elb_ssl_neg_policies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "c43733cba135ffcb218328d5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8edd3ba8b2220dc0",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "vagrant_setup",
      "normalized_name": "vagrant-setup",
      "package_manager": "unknown",
      "path": "aws/scripts/vagrant_setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "b3ab39ad2933b6eac971784d",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "ami_backup_config,boto.ec2,datetime,logging,sys,time",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:ami_backup_config, boto.ec2, datetime, logging, sys, time | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ef9bb48182d08fdf",
      "framework": "python",
      "imports": "ami_backup_config,boto.ec2,datetime,logging,sys,time",
      "lines": 85,
      "logic_relevance": "none",
      "name": "backup_ami",
      "normalized_name": "backup-ami",
      "package_manager": "unknown",
      "path": "aws/scripts/backup_ami.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "90e5f9df765215e893182088",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1c3ca7d74fc5ceaf",
      "framework": "unknown",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "aws_security_group_details",
      "normalized_name": "aws-security-group-details",
      "package_manager": "unknown",
      "path": "aws/scripts/aws_security_group_details.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "fb91b48b6e037bcfdce86953",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5a84dcd177c40c16",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "start_httpd",
      "normalized_name": "start-httpd",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/start_httpd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "dc54ad84e05f9f4677a53ef7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "436f40784abef340",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "appspec",
      "normalized_name": "appspec",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/appspec.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "4ea83639ba154b21aa260b9d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9e69cce3ff49116",
      "framework": "unknown",
      "imports": "",
      "lines": 600,
      "logic_relevance": "none",
      "name": "common_functions",
      "normalized_name": "common-functions",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/common_functions.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a2ee43ac9428c844aca9759f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "43d99ff14f560b0b",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "deregister_from_elb",
      "normalized_name": "deregister-from-elb",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/deregister_from_elb.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "4568d90d64087bb4d2539f3e",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e567349196f0d91f",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "bdc4cfd7289f9a702aa66611",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "655b0c55650953e2",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "stop_httpd",
      "normalized_name": "stop-httpd",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/stop_httpd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "408de5cb7c8c0202915aba5a",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "774cf4343832f57f",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "register_with_elb",
      "normalized_name": "register-with-elb",
      "package_manager": "unknown",
      "path": "aws/scripts/elb-v2/register_with_elb.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "50ba57274b632576d9e6df2e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "473b13d33800064e",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "aws/cloudformation/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "8f985a8bb7e9f561b985d091",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "859a517ab388255d",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "infrastructure",
      "normalized_name": "infrastructure",
      "package_manager": "unknown",
      "path": "jenkins/deployScripts/slave/infrastructure.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "e2e09a34c56114eb78d44968",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "859a517ab388255d",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "unknown",
      "path": "jenkins/deployScripts/slave/instances.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "3eef6faf1c15c5af587e9462",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a17b1db9238068a9",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "jenkins-ec2-up",
      "normalized_name": "jenkins-ec2-up",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins-ec2-up.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "process",
      "categories": "automation,security",
      "component_id": "b8d47676c59cff4ae833b2aa",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for process; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "335a26350eda22b3",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "jenkins-provision",
      "normalized_name": "jenkins-provision",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins-provision.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,automation,security",
      "component_id": "1503299238923073db2d9e99",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f34e8a13967bd6b1",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "d20d8128054b59ea04b344e1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4f428c5626b3d90",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "gradlew",
      "normalized_name": "gradlew",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/gradlew.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "196a03fc373119ba2c45b373",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "8a3c4f8ffc36232b",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "c2d4a0ea7981874258a9581f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53285b17c105dccb",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/instances.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "process",
      "categories": "automation,process",
      "component_id": "7cbfa7681b33afac5e1cabfb",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for process; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4ff99ffb2f98a318",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "playbook",
      "normalized_name": "playbook",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/playbook.yml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "79ea35ed39835965c7c9fdb9",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c53289dd9d9d52ea",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/vars/all.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "ef7b00cdf3c60664995d6bcf",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bed6246589b19562",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/vars/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "1c77a0489aef675d9b5c1f1d",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "1d7b433a9103d77e",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/app/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "0c7635e7be1393b87b6546ea",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "2b3b2eaeeb2715a7",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/java/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "875b6a3dd0d74ecce6d917b2",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f52d711103d50a43",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/java/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "62f522f255d4de8959bbf4c0",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "8bbf186909615a2c",
      "framework": "unknown",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/server/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "ca92566f92e9c43f388512ae",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d177b484a1f3ae6e",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "copyConfigs",
      "normalized_name": "copy-configs",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/server/files/copyConfigs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process,backend,security",
      "component_id": "6731000d13cb2762cd65fce4",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "16685df7a19bb3e5",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/server/files/jobs.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "6152d26ab5a1292ca528dcb4",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "8799a7dba2957616",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/nginx/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "3e8973e0c3be1186feafc9ee",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a830fe187b5d6b5",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/nginx/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "b36cc8b715d057f82c87b682",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "5f3f4a49d76b110d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/vagrant_local/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "01cdb4362f46fead9ea7c36a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "473eb97ab9633a59",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/jenkins/tasks/main.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "cce8fa565d61c4231f0b0e3b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f52d711103d50a43",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/jenkins/handlers/main.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "b8c4ec0426d3bbc9269a5fb4",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "ConfigParser,argparse,boto,collections,json,os,re,simplejson,sys,time",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ec2Inventory | imports:ConfigParser, argparse, boto, collections, json, os, re, simplejson | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "Ec2Inventory",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "33d905e0390af802",
      "framework": "python",
      "imports": "ConfigParser,argparse,boto,collections,json,os,re,simplejson,sys,time",
      "lines": 719,
      "logic_relevance": "none",
      "name": "ec2",
      "normalized_name": "ec2",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/inventory/ec2.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "049134f35e30f8fa4cee832b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "catalog-only",
      "file_hash": "a0f89ce6a7027221",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "ec2",
      "normalized_name": "ec2",
      "package_manager": "unknown",
      "path": "jenkins/ansible/jenkins-auto/jenkins/provisioning/inventory/ec2.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "2bcb512cdea257e1db60edef",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0b970e8c7e680db9",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": ".vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "30c50dfdf8dd91a381d12707",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9b32f13eb9000a9",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "InstallChoco",
      "normalized_name": "install-choco",
      "package_manager": "unknown",
      "path": "Batch Scripts/InstallChoco.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ddc760d636a0b4525b6729d3",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9306a39a886e04ad",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "install_puppet_win",
      "normalized_name": "install-puppet-win",
      "package_manager": "unknown",
      "path": "Batch Scripts/install_puppet_win.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "be44677e863cbcde6011b170",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c1dd069e72952702",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "Enable Advanced Firewall",
      "normalized_name": "enable-advanced-firewall",
      "package_manager": "unknown",
      "path": "Batch Scripts/Enable Advanced Firewall.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c846f86c7e8c5f94d908ae67",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5d4d30414cde6d6c",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "centos_7",
      "normalized_name": "centos-7",
      "package_manager": "unknown",
      "path": "Batch Scripts/centos_7.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "8a75a1c39770716e02f3a8fa",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3d4f6dd1a4261a94",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "Disable Advanced Firewall",
      "normalized_name": "disable-advanced-firewall",
      "package_manager": "unknown",
      "path": "Batch Scripts/Disable Advanced Firewall.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "b0c715d1a5c2ff5d40af492e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b42a8251570b6857",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "Configure_SecureAuth_Packet_Firewall",
      "normalized_name": "configure-secure-auth-packet-firewall",
      "package_manager": "unknown",
      "path": "Batch Scripts/Configure_SecureAuth_Packet_Firewall.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "5d765496f3171ad0b4c7bd1d",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "848e1aaffe19185b",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ConvertEvalToStandard",
      "normalized_name": "convert-eval-to-standard",
      "package_manager": "unknown",
      "path": "Batch Scripts/ConvertEvalToStandard.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "e5f284ff155f9119200b0426",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e528a9f1e913bd3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "EnableWinRM",
      "normalized_name": "enable-win-rm",
      "package_manager": "unknown",
      "path": "Batch Scripts/EnableWinRM.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "6b22f759b0608e3beb95baaa",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e8052144c7ddf5e7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Disable DHCP Traffic",
      "normalized_name": "disable-dhcp-traffic",
      "package_manager": "unknown",
      "path": "Batch Scripts/Disable DHCP Traffic.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "6c8e462e8b6d7d4db5898465",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab3756d9290f5618",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "Enable SecureAuth FTP",
      "normalized_name": "enable-secure-auth-ftp",
      "package_manager": "unknown",
      "path": "Batch Scripts/Enable SecureAuth FTP.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "738847c29f660fb848b775c3",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "51ff6f211d081f71",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "EnablePSRemoting",
      "normalized_name": "enable-psremoting",
      "package_manager": "unknown",
      "path": "Batch Scripts/EnablePSRemoting.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "a87ff70c866845bed63d5e55",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c6953134c8da6c42",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "Disable SecureAuth FTP",
      "normalized_name": "disable-secure-auth-ftp",
      "package_manager": "unknown",
      "path": "Batch Scripts/Disable SecureAuth FTP.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ffcc61180d24fd23e52cf72f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4b106cdc851f290b",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "buildmodsecnginx",
      "normalized_name": "buildmodsecnginx",
      "package_manager": "unknown",
      "path": "Batch Scripts/buildmodsecnginx.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "cc7bf23df444356198d3315b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "53a512a6d888a883",
      "framework": "unknown",
      "imports": "",
      "lines": 346,
      "logic_relevance": "none",
      "name": "SecureAuth_Packet_Firewall",
      "normalized_name": "secure-auth-packet-firewall",
      "package_manager": "unknown",
      "path": "Batch Scripts/SecureAuth_Packet_Firewall.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,logic",
      "component_id": "e485cc6a46410e28aaa593f4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e1c80bb23ffd4fb",
      "framework": "unknown",
      "imports": "",
      "lines": 193,
      "logic_relevance": "secondary",
      "name": "Prepare_SecureAuth_Default_rules",
      "normalized_name": "prepare-secure-auth-default-rules",
      "package_manager": "unknown",
      "path": "Batch Scripts/Prepare_SecureAuth_Default_rules.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "f447fa77c6f66881cf990173",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ad0b1c2eebd5a223",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Enable DHCP Traffic",
      "normalized_name": "enable-dhcp-traffic",
      "package_manager": "unknown",
      "path": "Batch Scripts/Enable DHCP Traffic.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "5e0d2e27971ef051450e55f9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "33a20a7357b2810a",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "msiexec",
      "normalized_name": "msiexec",
      "package_manager": "unknown",
      "path": "Batch Scripts/msiexec.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "bf0d715a2adf5a9bf5cda461",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b9d2d28d7c0e21c8",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "CreateWinService",
      "normalized_name": "create-win-service",
      "package_manager": "unknown",
      "path": "Batch Scripts/CreateWinService.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "0c6b4b2acc0869807ef977cb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7079f3d1c26ff31d",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "Commands",
      "normalized_name": "commands",
      "package_manager": "unknown",
      "path": "Batch Scripts/Commands.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "a2814067d1161bcb24e8db34",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c78835e33dced106",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "CreateVagrantUser",
      "normalized_name": "create-vagrant-user",
      "package_manager": "unknown",
      "path": "Batch Scripts/CreateVagrantUser.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "bd0f2288f75a9286eaceccf5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "53be178f92e43ebf",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "ssh_auth",
      "normalized_name": "ssh-auth",
      "package_manager": "unknown",
      "path": "Batch Scripts/ssh_auth.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "9a9667e72527da6b1dccb366",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5a7a0d408960d5e5",
      "framework": "unknown",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "installopenssh",
      "normalized_name": "installopenssh",
      "package_manager": "unknown",
      "path": "Batch Scripts/installopenssh.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,security",
      "component_id": "a00df833518ee7815faf8e50",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1ec1207e8e6246a8",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "DisableUAC",
      "normalized_name": "disable-uac",
      "package_manager": "unknown",
      "path": "Batch Scripts/DisableUAC.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "b49a0f2dfa5a4a82b00ebe5e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "639ea686f3017b87",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "Chrome",
      "normalized_name": "chrome",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/Chrome.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "8ecd138289e6cab7cc8a03be",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "899d604b4342ff37",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "uninstall",
      "normalized_name": "uninstall",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/uninstall.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "14f13a7c03ccdf50c9999100",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f378ca436cc384b4",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "FirefoxV2",
      "normalized_name": "firefox-v2",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/FirefoxV2.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0ee8b5dfed2088902fa1ba08",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bac90e164d9ab138",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "Firefox",
      "normalized_name": "firefox",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/Firefox.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "bd668ac31eac8bfe9577a926",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "77b3c9d7c9848d6f",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "FlashPlayer",
      "normalized_name": "flash-player",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/FlashPlayer.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "bfff432683059cfe751c8f8f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "15daa9f313dfa5f0",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "AdobeV2",
      "normalized_name": "adobe-v2",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/AdobeV2.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "c22da901df23ffc741e2ecfc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1dbbecb62b421e9d",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "FlashPlayerV2",
      "normalized_name": "flash-player-v2",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/FlashPlayerV2.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "21cde59e53b4afb3d5136cae",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30c0c3e72a559f4e",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "InternetExplorerVersion",
      "normalized_name": "internet-explorer-version",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/InternetExplorerVersion.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0093b32a1cd329dc751b4234",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d1aae0e060364eeb",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "ScriptVBS",
      "normalized_name": "script-vbs",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/ScriptVBS.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ed2128ccd53a7470c4624c94",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9d7ac684d86f808a",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "CheckingHF",
      "normalized_name": "checking-hf",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/CheckingHF.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "c5dfda145ce38999f7917a63",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b8de94b26d11a49f",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "ComputersOnline",
      "normalized_name": "computers-online",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/ComputersOnline.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "cfd140550c7310067b573d80",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f01a9d9a8ad9ee7",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "InstallingWannacryHotfix",
      "normalized_name": "installing-wannacry-hotfix",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/InstallingWannacryHotfix.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ca34ca946633343704e40c1e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "87fe8fb08f5f23d5",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "JavaV2",
      "normalized_name": "java-v2",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/JavaV2.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "771f721a50abd3eb7c94df00",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37e0a4b00eaf7ecc",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "architecture-x64",
      "normalized_name": "architecture-x64",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/architecture-x64.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "242e1ffc51e865d9f8b5dbc6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9817113458db6294",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "Adobe",
      "normalized_name": "adobe",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/Adobe.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d149153e47384718f0cb3aee",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e788e940f9bd9edd",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "Java",
      "normalized_name": "java",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/Java.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "31aa72262190fb31627977b3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9ee70e4a6cd6851",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "ChromeV2",
      "normalized_name": "chrome-v2",
      "package_manager": "unknown",
      "path": "Batch Scripts/psexec/ChromeV2.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "9fb6dc589fb0e68a02d087bf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30a624fbdb7e5147",
      "framework": "unknown",
      "imports": "",
      "lines": 288,
      "logic_relevance": "none",
      "name": "system_recovery_script (1)",
      "normalized_name": "system-recovery-script-1",
      "package_manager": "unknown",
      "path": "Batch Scripts/windows-recovery/system_recovery_script (1).bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "5868c08797f1f3048de94c60",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9b80cff44b57f333",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "Batch Scripts/batch-scraper/setup.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "f90b774dd0e8a3b047ec0051",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "60f660f769b87126",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "thread",
      "normalized_name": "thread",
      "package_manager": "unknown",
      "path": "Batch Scripts/batch-scraper/thread.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "2b8c7e3a3fd65a35c9807ab6",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cd46a4efd4a6e0cc",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "Batch Scripts/batch-scraper/README.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4cc2bc57ff93e19613a30abc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05d188c0eb3b2fbf",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "download-1window",
      "normalized_name": "download-1window",
      "package_manager": "unknown",
      "path": "Batch Scripts/batch-scraper/download-1window.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "64db651f7cec1775b587d7f1",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "78774e8ed370db44",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "extract",
      "normalized_name": "extract",
      "package_manager": "unknown",
      "path": "Batch Scripts/batch-scraper/extract.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "25372667feae15600c5ac28b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c72341741d45c9ed",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "download",
      "normalized_name": "download",
      "package_manager": "unknown",
      "path": "Batch Scripts/batch-scraper/download.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "4089c130fbce70e87eee48f3",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5c736bd1adcba031",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "ecr",
      "normalized_name": "ecr",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/ecr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "d562bf339172b34d9c11fe96",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a86d984d07d14d2",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "docker-stack-deploy",
      "normalized_name": "docker-stack-deploy",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/docker-stack-deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "3982cdfe8fe3babfc73bb3fd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d535c88a811a20cc",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/terraform/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1613bc76ef63ba3e4e42cbdd",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d82166d1f7e5eee8",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "stack-backoffice",
      "normalized_name": "stack-backoffice",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-backoffice.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "43636761ece34abfaa80e9fc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f78fce6f0624b511",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stack-ms",
      "normalized_name": "stack-ms",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-ms.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3c0ed82366e0cd49f7c6ab90",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "770f8e5c83e125f6",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "stack-traefik",
      "normalized_name": "stack-traefik",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-traefik.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "ee74343788bd6ecfb1ad7c4e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ac38def643197a85",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "patents",
      "normalized_name": "patents",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/patents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b008b7bdb215ecd00d2ce9e2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "3a5d9d5ad4c0f2f2",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "stack-pair",
      "normalized_name": "stack-pair",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-pair.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "84aab4bd1677018b9664842f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "b9885f636b63ae02",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stack-search",
      "normalized_name": "stack-search",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-search.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "705acb7219c18547f635cf33",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "df89d723f6e9167c",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "azure-pipelines",
      "normalized_name": "azure-pipelines",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/azure-pipelines.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "de3aa58cc2da7aac5c912916",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a437d5280e143bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "b8ae3855d1e928bd836bee45",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "6fdeaf2fe6df438b",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stack-proxy",
      "normalized_name": "stack-proxy",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-proxy.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e4151eaa48cc4ab53857c869",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "e3e98620375e8237",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "stack-essentials",
      "normalized_name": "stack-essentials",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-essentials.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "7f73e17e1bc1d04ad479a8be",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2834cb3a66201a4",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "stack-docs",
      "normalized_name": "stack-docs",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-docs.yml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "85f4506849403054a093bbdf",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "bae9f009fb679722",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "stack-wt",
      "normalized_name": "stack-wt",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-wt.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "2b95d3f676c6e2b75e098bc5",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f244384060c7c824",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "stack-infrastructure",
      "normalized_name": "stack-infrastructure",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/devOps/stack-infrastructure.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "7e103bf616108f8b42e54541",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2d2c6142d442141d",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "nexus",
      "normalized_name": "nexus",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nexus.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "e534eb011c6d7de3925ccc11",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "040a1b039d511177",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "rollout",
      "normalized_name": "rollout",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/rollout.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "4e9b9950db9212a9ba9931cd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3f67fa1a593bb98d",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "infra",
      "normalized_name": "infra",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/infra.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "e8a2c6b7cd6d67ae5b3e3bce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "820b6097515495ea",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "600221b990f02caf64035e60",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "56829387bea04b61",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "destroy",
      "normalized_name": "destroy",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/destroy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "7df775412f77767016346f60",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1e8b26b530851bdd",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "helmInit",
      "normalized_name": "helm-init",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/helmInit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "7a97515f934f37b72982d1ed",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "65a6d783a35565d1",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/document-uploader/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9352d02cfa59ef2c341da5f4",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "107db539cbc0614f",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/document-uploader/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "aedadaa0f993c8c6b631191d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ea6c298b1cb31ca7",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "c55599c129a32b5383dd674b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1777f28499e9054",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0561490fbe27df84ed8d52c5",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d709907de8dea8ed",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "1f3fbdb103502c73f449b652",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c1fd1f67e8c65252",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "574b341d92f09f7df3af3138",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4989235d654b719",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3372e61b43da7f35ce6ba8c1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6a673b0445707163",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "33d9462ef3a612e2fed0125a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6c801b0723668acb",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "bedeaff1577db53bcebb39ad",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "59ec7cbac44c0d13",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "4f781e52c6815b71856e7e02",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d62d1947b0740bf6",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "2cdefb01b36084fa0c085b90",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0371bade89022abf",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "8ec6f22e061c5fd27a4f8479",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef6fbe72bff53c44",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/template-storage/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "963e632744347801a0a4c108",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f8dd662df77b1c8e",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/template-storage/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "a84bf9aa376f7741db6cd096",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7bcda66242cd3a2f",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "d1d3e825b4232a55d872a0b7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "032808b1d486bbb8",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f5cb6f95c50b001808b860ad",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "098eebb88a63be6e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "db5f938eee78e1de16a2a05c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "40e01a7472a5db7b",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "4a3897e28bd08324d3578f98",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aa9c5e5b069a9e1",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/config/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "452e2914ded1c31bd0b1da8e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "80fba9237d71c765",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/config/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "2e2897e350315f3b561af6d7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a2dcee42d953a74",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/config/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "c2ad718daa66a916ca7cd126",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2cce5eff228b91c1",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/config/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "57a29495b721d01096ae0336",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "125ef28c89e41a9e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/config/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "76ee4f156775ce0ed4dcafd5",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3149d32a5565a3eb",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/config/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5b5f132b10e828b408fdcfe0",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c7fca9de9ae8b61",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,security",
      "component_id": "882ea237c33c9a32aa354cbe",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "379578c6dfa3c4a5",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1f0fc7c9e1d061bc5b4d434b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "29d61e5319ba85e2",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "40e20b4eae14a52575488ce3",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bcaaa88c6680af59",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "e22480d64cdfecfdcaa4587f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "feac09f672f512af",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a80b78f02d2c7389b31a6df2",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5efe71a332538509",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ebfe3ed3b67cc0a848e7f6a1",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ca7f7a7dcdc66e08",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "post-install",
      "normalized_name": "post-install",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/templates/post-install.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "6dd5fd50f90627f9cf2cff45",
      "component_kind": "auth-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "23bac68e2ca22b13",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6c10a3b485925fe50b3ae2f8",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a00fb5d3f30d68cc",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/auth/templates/tests/test-connection.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "b5083367cf06b499fe431837",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "87c61a648c0340cc",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/processing/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2231419b5463692395331791",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bc15335a6804fb9e",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/processing/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,automation",
      "component_id": "e52a0da668911cf0e5897e0b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "50266041025ec1ad",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/processing/templates/deployment.yaml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "d02ae84100d1ac1badd3ac7e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "89ca486960b83f99",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/processing/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "598e3cbd1c59d776fdf307d0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "404e4e326e63065c",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/processing/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "e2f25bd653d8b8060c159454",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "93bcefad248fffa8",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/processing/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend,security",
      "component_id": "efa276a3d77266ba7263d0b3",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0200b767c5ce370d",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1151d2c96726926674c32d9d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "943b5bb244836358",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,process",
      "component_id": "df9550eb1a271c91e23a4f1c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "20fd580630ca8e41",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "e267625f323568052663e23b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e59ae92e494ddf0c",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "5193aeaeb1bfd9193c134cd8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5ef801578ad88c34",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "2cb4d46ffbcd609c8376f0fe",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5ae1bc37ed5d19a9",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "89d43a9e8db6abd48d43fbd3",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b40b9a24263fd7d6",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "fe03bbb47241690be547e26b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f284a0648674bff0",
      "framework": "unknown",
      "imports": "",
      "lines": 1994,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/prometheus-operator/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "f9ab0e3e97764ca2d0984cd0",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5287af39cfcfd064",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/dispatcher/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c7c29dd3d6e49a2c799a8d9f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5f14c7c37896d5fd",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/dispatcher/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "2a7c4cb16cd1d07360cb87f0",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "45a233b2ac64538e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "b0689769233b16feabc0ba9e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ed6438090334f2fb",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dedea5ed95d0e052e0ad9dac",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bf6ce0f50a17a616",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "8284c0e0e90a1cf5cb02b92b",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "897cd2ad932e7621",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "1fd3cd06cd24d38ff12af1a1",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7df057a4db226204",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "bf9924734d9994333335fab9",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6b3ae288d4996cad",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "30e3799126c6f525ab351452",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c704f0a7d5c1b6e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "b222ed496876e627bb8d3d57",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "133ff553e7d501ae",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "27fae2a4da0642fa790347c6",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "31a775f71d4a5888",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "e7c8ebeabb438491a7f3510b",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d74b418f014bb6d8",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "849f6af411fcaa0fc42349b7",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b07a9ee90da3c989",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8d44b3e2fcf10acfc8fabdd3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "62e8c69277d4da59",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "d7025d62b6fa5c333826d83e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "751c5385896b951f",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "cce1e8dff32941da3af2decf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1fa825b66b9e37f2",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "4434ba82565b0eeadc4b8fd7",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1044cd76a3008d35",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "1045646c008fc0472e1ce7ad",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "502585a3282582f0",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "504996b06b8bcb28594e6dbd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c316cdee5c6fe649",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "nginx-configmap",
      "normalized_name": "nginx-configmap",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/nginx-configmap.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b63befcf204112721534da2d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b632248d7386b63b",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/minio/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9b365f592772f8d9a077977b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "23abde1102174a00",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/elk/kibana/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a80c316747ddda7a0c00dfb7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5e22658cb473122d",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/elk/filebeat/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "cc88f9687e5cd9482edb320f",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "90d9099a31f3546a",
      "framework": "unknown",
      "imports": "",
      "lines": 300,
      "logic_relevance": "none",
      "name": "helmenv",
      "normalized_name": "helmenv",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/elk/elasticsearch/helmenv.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3756cb20e451ce995a4950b7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "dab3c644931a9ba5",
      "framework": "unknown",
      "imports": "",
      "lines": 283,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/elk/elasticsearch/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "4b604dccff5dde9665ce06c8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bc1c64e659c2dd8c",
      "framework": "unknown",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/sonatype-nexus/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "e61068b377142ea24546382c",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d36e91baf265a890",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8936ffd6e981d683dbc7ef99",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e732a2a329bffc74",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "fa35c582890104cd95eb804e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a68603c6e841aaca",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "289b490c371429ce41f500a9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcd0d00c81d8f423",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "7e559c3628135def66b2816e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "29333cb102e388b7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1daa23ba505a1a53e6872573",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b84ff4e7f007f377",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "post-install",
      "normalized_name": "post-install",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/post-install.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "699036d52d0b1bf6557bd2ca",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6dda3574a3351dd5",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1074d9f3f20fb3b3e6ff37ac",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "99cbb4c8ac7f121e",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/mongodb/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ui,security,discovery",
      "component_id": "d920daa52a88e6343555e978",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for discovery; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c6d15ea03bebc15b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "2a2632207211e7bd0ab99161",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "00e401e8f40766a6",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "discovery,automation,process",
      "component_id": "5a2dd5bead5b3130e55560ac",
      "component_kind": "feed",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "302a41088f711f38",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/templates/deployment.yaml",
      "primary_category": "discovery",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,observability,discovery,automation",
      "component_id": "f9c119fd897a6c16e469eb2c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "853f77d48cb24ca4",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "267bc6a0f4e02c60463487d3",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6997382a561c31ac",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "16ecc686bfbffa8accbaf874",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "97aa147d6d1f75fe",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "2f13e51a3c3be12cfbe3bed8",
      "component_kind": "feed",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "68cecb23fbe7e9eb",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/feedback/templates/tests/test-connection.yaml",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "5d02ccffe89725ea17209ae5",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a97bc2342f435947",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms-generation/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "7527d5e620b1c56f22c38969",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2eda01d35de11ffa",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms-generation/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "ad645d7467b308758b99910c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "57d8dad08157e719",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "ae33af3390e1e7d43be62934",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e13e3f59dbcb5768",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1948fd01ddcc787cae9e32a4",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3a8da41e3b559285",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "bcfee8a30edc2f407a139dfc",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e7d0c075870489d6",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "929f7f4f5013e2af5a4af771",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3a81098f675b1322",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/tiller/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f1ed79d06f4a1e77f217c93a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "273777523348d1cd",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/tiller/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "ca5d7aeb8413e5126191fafc",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "20b0b1310fb26df0",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/tiller/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "33374ae55a76102a9e7a62cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d1933df3acb0ee0c",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/tiller/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f1c1bd2399095d4ad918f1a0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b4695b6e5794b4f8",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/tiller/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "8ead4cd819ce5c5f378fecba",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5b5f27d3b5e2281b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/tiller/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend,security",
      "component_id": "36627f37b622ac081c90d033",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "75ae39cffce5ebf5",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b7554041dd7b759541715b2a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c88e0cd703b86e0b",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,process",
      "component_id": "39f1974a29f1b28d1274ceb6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c6cd73611916c2e7",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "90908525837838ecf7a600f0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "836e843573fb0c29",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a4b81bc04bdaf57895c65516",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3986c3c133fca5a7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "fd03a99dd5c3f888d324afed",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a167e61b957e1f5e",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "20689ee17133be1044d2d51e",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2756c2ceebaa8ce4",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "63989467c36738e4ff31565a",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "567f69ffd987723b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nlp/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "537ba1dca5b8f8483d598487",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "8e2858b930e1b7c3",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nlp/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "1c2749b807de064c5934e10c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "08a1e2e75a03610b",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nlp/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "7124d2c43748d77a879e820f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e72e61135a5ef962",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nlp/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "974d64521c9ef9c33575732e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "60a3827885c375dd",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nlp/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "6f242f1e2343a5e742f87df0",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "31405d67f0973bfb",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/nlp/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "76a11e61c4848ec504367672",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dcef263fe9abdc6e",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-web/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "a7360441661a3073d71a892c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "383fc68efad1c4e1",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-web/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "c0ecb1404d807cec36f7b874",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3db08ecbb22650d9",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "d5503f15f84b0e6ac9394edc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "63b51981e0a4057d",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "00f3007bef14f1e78657ba49",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "dff026cc19a89f23",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "a226ce34b5fbace1de13ce4d",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "9d449a08de64bbe4",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "5fa400d576d6eddd47d86135",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bafaac3750367f1f",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/portfolio/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "47d0ce5c1efc8da6bcabd278",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c2932ba05f33ed93",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/portfolio/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "a52027064aaba7c3a2e136c8",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d71a35f58818b5ba",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "df1e5627f0eb1a68817865ce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c695c3a31dd6dc20",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "83816b1bab0178119a00fdaa",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e558c36b7a153f34",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "9bebc78e9ad81786c93fb790",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e703e7642da69088",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "9a48de1479c0605788311252",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7e64b3ab0f4db8b3",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patenthub/requirements.yaml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "8b4185fd2f4e6289217a7837",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "93ddf6c4d5c3b4d9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patenthub/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bc68120ec193a68ac2992d84",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10abb34029cc9977",
      "framework": "unknown",
      "imports": "",
      "lines": 717,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patenthub/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "f7ce122f203463d518babda8",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "01ba4719c80b6fe9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/patenthub/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend,security",
      "component_id": "98bcec582e0650db51e7921c",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "522b8bd1f730c50d",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bdb55e44759c77783bcdf625",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a7522b110e7f6d33",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,process",
      "component_id": "21f7d171e1a50f4e27deb123",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "50c09acf202407ed",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "6ff282b466e2136f5765f825",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "be758a0e32588d08",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "69f30627cbdeb014a842c552",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7c6faca255ac99ec",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "f8c12082ff0a96087a0754d6",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bd70300249c56ccf",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "a6a21bf35ffa5b00ed121d73",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "54df576a3625d60a",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "27cea926d9a12a1530da9844",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0fd808d405c58b3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis-ui/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "28e60e9baffdc4cb6dd212c1",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d96c6e0f77313006",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis-ui/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "b94f07737d36eef7133dbb77",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf08ef16790271f8",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "741cd0e17e90747e035e4d03",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec3afb41adbe39cd",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1fc8b9e04d8b9975ded86d97",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ceab7780d02bf6ae",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "e6b676e53944a913cf28c09c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "94b0c0604fcfc303",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "3fbbcc996390a83ad9d06a7e",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "25014f899853a5e3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6515059a9e396e2bf50c165e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0e3280eca517a2c1",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "be34d2c5304abb6071eccbc1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dd4e55449aebefe3",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "patents",
      "normalized_name": "patents",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/files/patents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "dd7b62b4d649fa753be528e4",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "20014273d1c28ea9",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "985bdbdab60e10cc0014dd17",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "20571ec5492527a1",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "305ccd8278be243218e78a0a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e04963d09cf97d1e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "34f611427e0c765e75a0a1dc",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "fd7568a01ef832f9",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "7fd15f5987aa047c09939d10",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "907ad3a3f5779d1d",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/fs/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "eeac48fcb961493287d8da14",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "fdeed047bac0d65e",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/fs/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "c57d9ee3231b029ed905f92d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "765fca89fd58a60b",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/fs/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "5ab81f42c4ef008ad7f8fa87",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "39167d54038549b7",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/fs/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "68f699126105171a423d4532",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "efb555f676e91d26",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/fs/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "df814487e745e8513a6bf889",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ecd779bf5b7e4483",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/fs/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,ui,security",
      "component_id": "bbc9b79e65726d2fc3d8bc88",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eccf3f362f383486",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/Chart.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "21cf8bf057f47c052a286b52",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe9d651f9c654461",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security,process",
      "component_id": "4c2b2566fb6cad6fb5737138",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ee449d2aeca20a5b",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process,observability",
      "component_id": "2f97acd0d7e5ab1989404603",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "01cf888cdd236285",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/NOTES.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "8534d34e8ed2c4e6f9339a3e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6f7bed287d969491",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/ingress.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,backend",
      "component_id": "7b27f2055ae928986f10d33d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c82b67d4482ce545",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/service.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "32ebf9a977c97d508c3cdcbc",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d656a4397d3ebde0",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "serviceaccount",
      "normalized_name": "serviceaccount",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/serviceaccount.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "bc7512a4fe32007df2d68f98",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "42563e603e1b9b3e",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/tests/test-connection.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability,security",
      "component_id": "e03e1db32adb46adff8b85f1",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bde2054b04fb564e",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "24818ed08ec36b79c06b004b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9bff824a4887e3da",
      "framework": "unknown",
      "imports": "",
      "lines": 443,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5460b793bf7ce3950c41ba3b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "589252f2c0c327c6",
      "framework": "unknown",
      "imports": "",
      "lines": 525,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "08325f8359ea4b658f57b832",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "abd1fa973067a3c0",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ci-values",
      "normalized_name": "ci-values",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/ci/ci-values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4987cd881389423f3481e09b",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "711ea37eafa543aa",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "servicemonitor",
      "normalized_name": "servicemonitor",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/servicemonitor.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,process",
      "component_id": "d75188d6e6768ced2bf24174",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f7663594e2e1c676",
      "framework": "unknown",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,observability,automation",
      "component_id": "4d75c28945292f0a5acab889",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "24f6fe0e000e55f0",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "4e77757ccf8b209eb3008e64",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1733b0cd09b9906c",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b39a8e5822a2aeea58ff6935",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ea707ad02bdbddba",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "hpa",
      "normalized_name": "hpa",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/hpa.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "3aed4ac630a5f81a96e228ac",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4c8f59fcc67c7d58",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "rbac",
      "normalized_name": "rbac",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/rbac.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5725e1ccd6ffd6e168e3590b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7ed249add8cef82b",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "default-cert-secret",
      "normalized_name": "default-cert-secret",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/default-cert-secret.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c273daf8366755f7cdb5b95d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "252f219da7fa2088",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "dns-provider-secret",
      "normalized_name": "dns-provider-secret",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/dns-provider-secret.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "f9713b2ee16ff4abdee722a2",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7a75f13d93d3c12d",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "storeconfig-job",
      "normalized_name": "storeconfig-job",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/storeconfig-job.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e5893c3be18fa4d77ed63310",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ee162aee719dfea8",
      "framework": "unknown",
      "imports": "",
      "lines": 440,
      "logic_relevance": "none",
      "name": "configmap",
      "normalized_name": "configmap",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/configmap.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "aabe59071e038770d2f56f65",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "44ffed867579f8c6",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "prometheus-service",
      "normalized_name": "prometheus-service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/prometheus-service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "859bb8e8fafad76c426bcb26",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c15552d29ba8a41",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "secret-files",
      "normalized_name": "secret-files",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/secret-files.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "b5ef0d661e18804f98369631",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "302a66bbca150baf",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "dashboard-service",
      "normalized_name": "dashboard-service",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/dashboard-service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "4591e342e55466246077e538",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "70c2ca3903b9894c",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "dashboard-ingress",
      "normalized_name": "dashboard-ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP-DEV/HelmCharts/helm/traefik/templates/dashboard-ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "d1f037756812f4247f8da98d",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5c736bd1adcba031",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "ecr",
      "normalized_name": "ecr",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/ecr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "2c0d3107072e050f8de3aa23",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a86d984d07d14d2",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "docker-stack-deploy",
      "normalized_name": "docker-stack-deploy",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/docker-stack-deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "26c1d6c28198802df9f9093d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d535c88a811a20cc",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "3a9616ebe87e8fdb1a0f1f3e",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "09da6608f511c784",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "lock",
      "normalized_name": "lock",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/plugins/darwin_amd64/lock.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "ae1e3f1de8de2a01cf59bdc6",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f9d68eae4a5688a1",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "modules",
      "normalized_name": "modules",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/modules.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,security,automation",
      "component_id": "45639e8fd2a72e81fd713cba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5251d108db56966e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "3846347d3db60e5917d0312e",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4d0c325d93aba450",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": ".kitchen",
      "normalized_name": "kitchen",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.kitchen.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "cee230cd6987b1d910792f8a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "28a0bba530d85a44",
      "framework": "unknown",
      "imports": "",
      "lines": 391,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "43ac66546d31af3eb698e488",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e8679c34a769f09",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": ".pre-commit-config",
      "normalized_name": "pre-commit-config",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.pre-commit-config.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "1254fdf1874ff9dd87823645",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d88cc50491217933",
      "framework": "unknown",
      "imports": "",
      "lines": 249,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "d38405dc4dea422f676b80b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0a68262ec07d9c2a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability",
      "component_id": "16142cc104353f28dffd2500",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "918616e1c504dee7",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "spot-instances",
      "normalized_name": "spot-instances",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/spot-instances.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "bd351beab09d87328cb039bf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "17078433d3c6861e",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "autoscaling",
      "normalized_name": "autoscaling",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/autoscaling.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,automation,security",
      "component_id": "f426de5a4bf5f90829c2a888",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aa949609b822ff3b",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/faq.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "98f93ff7019de5ce88e6a384",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3180f38ebd6fd752",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "iam-permissions",
      "normalized_name": "iam-permissions",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/iam-permissions.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "552afca819b6f46520726960",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c643588ae983d539",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "enable-docker-bridge-network",
      "normalized_name": "enable-docker-bridge-network",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/enable-docker-bridge-network.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "bf5eeee0ea91d734c91ef011",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "714b430928c5ef53",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "3c7b35bcf820e7efbf9c1d67",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "dd893fc2bf0cd9fb",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "cluster-autoscaler-chart-values",
      "normalized_name": "cluster-autoscaler-chart-values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/irsa/cluster-autoscaler-chart-values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "e59c3e98b768df7a4535a04a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "503213aa07144eae",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/irsa/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "eb9be2385c3bc635e2883b11",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "858e50558b21398c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "pre_userdata",
      "normalized_name": "pre-userdata",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/launch_templates/pre_userdata.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,automation,integration,security",
      "component_id": "e4a944aa91d39fe7be1fd2e9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5255c16dd796105a",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/modules/node_groups/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "6c29e24282564c8862fe616c",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "7d33c1b3db63f8b6",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": ".kitchen",
      "normalized_name": "kitchen",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.kitchen.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "c2d5280169a0fb4e4c4cca53",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "3e81e240061d0766",
      "framework": "unknown",
      "imports": "",
      "lines": 1036,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/CHANGELOG.md",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "4924ea6fe67367ed2698795e",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2129301db0338650",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": ".pre-commit-config",
      "normalized_name": "pre-commit-config",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.pre-commit-config.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d422bd000e71b88e0d0c52ad",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:135 | observability-score:55",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "518713367552ae0b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security,ai",
      "component_id": "deb550cc79cc3e9a42394142",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fce2f8ab8978d9b8",
      "framework": "unknown",
      "imports": "",
      "lines": 740,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation",
      "component_id": "597710fb1e92af018a35e4b8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "00316813e22b17b6",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "CHANGELOG.tpl",
      "normalized_name": "changelog-tpl",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.chglog/CHANGELOG.tpl.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d2004007d77be6d112621763",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34cbd6708353b282",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.chglog/config.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "39f94cbda0313dbb50d84a5a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ca4b109640eaa7f9",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/test_fixture/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "3056686950c90eb36723e3d2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b58a2ec129d8cc53",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/issue-46-no-private-subnets/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "498a3f76248c2da1213eb2ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "263766ea9df058d3",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/manage-default-vpc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,automation",
      "component_id": "b3578cf5319f500700fe884b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "be284f1ae1b309ff",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/complete-vpc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "511a46b9126e97db6802e30d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f83dc6d11b432b9b",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/network-acls/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,automation,backend",
      "component_id": "26f9cadac0ffc82a830fd61d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ddb6308376832df9",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/vpc-separate-private-route-tables/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "24b6d2e5029bbf8b578a5340",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5942922ae3294a60",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/issue-44-asymmetric-private-subnets/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "fda95e19f03573094de18e4f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a43cd0d711958dba",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/simple-vpc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "7d76583f201591cb83051f00",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ac6e6b792e27410d",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/secondary-cidr-blocks/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "bfeb1b52f9f1687559b807a9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "854e3d3716b046c7",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/ipv6/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation,backend",
      "component_id": "2f41f95cf56261da2c2eb8d5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7ac3cdc3e10a10c2",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/issue-108-route-already-exists/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "f30afec5334ea3419eda7300",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4f1fb496110ecd8e",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.circleci/config.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "ce2229a2bcea7a6d39ba42c6",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d82166d1f7e5eee8",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "stack-backoffice",
      "normalized_name": "stack-backoffice",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-backoffice.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d44c40480cc99066f12a9d5d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f78fce6f0624b511",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stack-ms",
      "normalized_name": "stack-ms",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-ms.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "637ad8daa7e933e2347082c4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "770f8e5c83e125f6",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "stack-traefik",
      "normalized_name": "stack-traefik",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-traefik.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "522fcc5070229c27a21e895e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ac38def643197a85",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "patents",
      "normalized_name": "patents",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/patents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "786c7ae44b3e8cc8f75aec8f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "3a5d9d5ad4c0f2f2",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "stack-pair",
      "normalized_name": "stack-pair",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-pair.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "fee6a9512d82228fae4bf713",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "b9885f636b63ae02",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stack-search",
      "normalized_name": "stack-search",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-search.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "86ee90ec7f6c9b6f49ff56f6",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "df89d723f6e9167c",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "azure-pipelines",
      "normalized_name": "azure-pipelines",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/azure-pipelines.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "b6e9fde364c660020d479af5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a437d5280e143bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3dfbc4f0716c5cfe66ab1f57",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "6fdeaf2fe6df438b",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stack-proxy",
      "normalized_name": "stack-proxy",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-proxy.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a35d8c1e6f6892538ebdbf3d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "e3e98620375e8237",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "stack-essentials",
      "normalized_name": "stack-essentials",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-essentials.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "e9a3811b8e84abcfc74b4e7e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2834cb3a66201a4",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "stack-docs",
      "normalized_name": "stack-docs",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-docs.yml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c0a7ee979b92be228f5cace0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "bae9f009fb679722",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "stack-wt",
      "normalized_name": "stack-wt",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-wt.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "f2228d985d2fe6bed333339e",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f244384060c7c824",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "stack-infrastructure",
      "normalized_name": "stack-infrastructure",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/devOps/stack-infrastructure.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "8c7d2f198883a4ca3439784c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2d2c6142d442141d",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "nexus",
      "normalized_name": "nexus",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nexus.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "bcd09c2c9506a0c2bf3f63be",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "040a1b039d511177",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "rollout",
      "normalized_name": "rollout",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/rollout.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "6498e70461a579bcea3dd93b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "87e42734e9fdda25",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "infra",
      "normalized_name": "infra",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/infra.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "d1af8d2e6f02d07c43ab37c3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "820b6097515495ea",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "18a4f9bbdfb6dc3e6fe20f3b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "56829387bea04b61",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "destroy",
      "normalized_name": "destroy",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/destroy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "532fb008269cb6a9ad3508e3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e337978411e156ed",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "helmInit",
      "normalized_name": "helm-init",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/helmInit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "6b6f0a3419bbf48e8e40a2d8",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "65a6d783a35565d1",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "4d6bc3920ce663e02f122c4a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "107db539cbc0614f",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "d927f810b6a2236b38d37652",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ea6c298b1cb31ca7",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "297001f6935b62a85dfea307",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1777f28499e9054",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ee4f0590f6bc5cca26faa4c5",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d709907de8dea8ed",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "07525117c0b1bbf38f517922",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c1fd1f67e8c65252",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "1b4077ad555ed2271baae621",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4989235d654b719",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f06ef9f42e354eb0cf841b55",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6a673b0445707163",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "2b49c479960cfb5a3b601edc",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6c801b0723668acb",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "aab72a4b0ab9dc74cb6a9653",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "59ec7cbac44c0d13",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "47e7791e433652278cfd5538",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d62d1947b0740bf6",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "ada1d97e41b669a46e197621",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0371bade89022abf",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "c0e2f963c349c635127bf72a",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef6fbe72bff53c44",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/template-storage/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2cf3305e6d91c9b7b17fb32c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f8dd662df77b1c8e",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/template-storage/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "a4426c203d2b3796b459539d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7bcda66242cd3a2f",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "08aa956109c2452e53dbbbda",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "032808b1d486bbb8",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f88c01e5b5286ae4d373f3d8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "098eebb88a63be6e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "cb941b848d6c54e87a7b19ab",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "40e01a7472a5db7b",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "2433da9ae314e9377fe8bbcf",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aa9c5e5b069a9e1",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/config/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d37cd9f9e28f9afb33bc41eb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "263257cb1f2c3482",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/config/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "7f183c3a9baba2275d50989c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a2dcee42d953a74",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/config/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "cb293577c3b8a46dbe78d76f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2cce5eff228b91c1",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/config/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8b88dbe051f23d0a8add8839",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "125ef28c89e41a9e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/config/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "05fde2edbfbd76cc2b81e576",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3149d32a5565a3eb",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/config/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f69e9f9b7ff97664f49804f7",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c7fca9de9ae8b61",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,security",
      "component_id": "05279c5e28b8a524690b2ceb",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "379578c6dfa3c4a5",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4c9d81050f68d8edf2bede9b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "29d61e5319ba85e2",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "4844f798c6364cd14acddd32",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bcaaa88c6680af59",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "1cbe0ab4792c116d0ee32192",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "feac09f672f512af",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6d4b25f0d3fc452d5767fc2c",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5efe71a332538509",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a8fb705c2ff003c86acf5087",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ca7f7a7dcdc66e08",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "post-install",
      "normalized_name": "post-install",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/post-install.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1998d5f97c36019a747213e3",
      "component_kind": "auth-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "23bac68e2ca22b13",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "000cabfd84ee60cab8951bf9",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a00fb5d3f30d68cc",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/tests/test-connection.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "d8e6956c5bc14e7a66a391c4",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "87c61a648c0340cc",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/processing/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7d31dad9765af4d280086d4b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bc15335a6804fb9e",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/processing/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,automation",
      "component_id": "553799a16b39c64fcf06dd23",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "50266041025ec1ad",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/deployment.yaml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "9a6907dab20b3cc67960ca05",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "89ca486960b83f99",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "18a3a48f5f70857516c7affa",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "404e4e326e63065c",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "8e03dfd09aa6eb0438ae8a52",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "93bcefad248fffa8",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend,security",
      "component_id": "a4825e8d84cc80f8eeab8279",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0200b767c5ce370d",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6f26229cc25ca13db26df548",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "943b5bb244836358",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,process",
      "component_id": "26eb6862d6251459cc02c97d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "20fd580630ca8e41",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "0c764ff9586511d239878f81",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e59ae92e494ddf0c",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ebfeb9ce539974e6a1ab90c2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5ef801578ad88c34",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "201a01a14e5c54771194e407",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5ae1bc37ed5d19a9",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "eae987dfe36bfb278df95895",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b40b9a24263fd7d6",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d62206d9cf9ed5e7fdf8c417",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f284a0648674bff0",
      "framework": "unknown",
      "imports": "",
      "lines": 1994,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/prometheus-operator/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "8fd2c9dbf4b576201d5a279e",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5287af39cfcfd064",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "565df3d4dcda635d3d4034ff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5f14c7c37896d5fd",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "8e348508dfa0162ead315f1d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "45a233b2ac64538e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "349c5cdf7b909bb1872df5ea",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ed6438090334f2fb",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5f2aed704629a2c97799d2be",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bf6ce0f50a17a616",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "0c6c2b40e0a1cc6488c1f0d1",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "897cd2ad932e7621",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "371740f1f153afcd4f3f4928",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7df057a4db226204",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "352f795eda33549981872c50",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6b3ae288d4996cad",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "690f71d4cd16751765c3a568",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c704f0a7d5c1b6e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "bf36626a3bca4c42bf42edce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "133ff553e7d501ae",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3965edd6f109edf9f19439f5",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "31a775f71d4a5888",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "042d36f3e9d229debe6cbd6b",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d74b418f014bb6d8",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "2fc0db52e94f000fe4b2dc04",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b07a9ee90da3c989",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f18a814654524cbae1c28729",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "62e8c69277d4da59",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "e61e3d76f9f8290a27cdf73e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "751c5385896b951f",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "8bc4c027d0f8a15df764a21f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1fa825b66b9e37f2",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "fb63a45dd7c252e8f660350f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1044cd76a3008d35",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "f2440130c79e283a31e9f3cb",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "502585a3282582f0",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "26c3021de2d2df348851bf93",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c316cdee5c6fe649",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "nginx-configmap",
      "normalized_name": "nginx-configmap",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/nginx-configmap.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "85648686d84ba0a216b0372b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b632248d7386b63b",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/minio/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2e3ef2e2a12072a7e5558794",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a27a206c4dc2ebb4",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/elk/kibana/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0a85dc4456f788a80c32a34f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5e22658cb473122d",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/elk/filebeat/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e6bc603c24d3ecbab61c2cd3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "14c6db34cbef6d50",
      "framework": "unknown",
      "imports": "",
      "lines": 283,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/elk/elasticsearch/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "96491196b45f7eddc2135f9a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bc1c64e659c2dd8c",
      "framework": "unknown",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/sonatype-nexus/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "f7307d13351a996ec64697b6",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d36e91baf265a890",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0291dd5267f7d83f0643a227",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e732a2a329bffc74",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "d6dcfbe17e10b8bac1d385d0",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a68603c6e841aaca",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "eda5fa964c478ed678141164",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcd0d00c81d8f423",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a5acf826ec68ceedf89ff90c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "29333cb102e388b7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5d2ef00f2250ea1a816f30ac",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b84ff4e7f007f377",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "post-install",
      "normalized_name": "post-install",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/post-install.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "054583f473d8aef5bc684028",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6dda3574a3351dd5",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b76a0714b53ab2c187d444a8",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "99cbb4c8ac7f121e",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/mongodb/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ui,security,discovery",
      "component_id": "1f0039f0c8e99397ebe3a99b",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for discovery; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c6d15ea03bebc15b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "bcd0bf05165ec459ac609b62",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "00e401e8f40766a6",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "discovery,automation,process",
      "component_id": "99766ffdafbaeee247024ec5",
      "component_kind": "feed",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "302a41088f711f38",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/deployment.yaml",
      "primary_category": "discovery",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,observability,discovery,automation",
      "component_id": "19667ac8552e531e79a3bc2a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "853f77d48cb24ca4",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "393f1d506e89889783d0585b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6997382a561c31ac",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8e8511d006c05156014acf2e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "97aa147d6d1f75fe",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "9b84eeb0de9aac0eb41ea460",
      "component_kind": "feed",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "68cecb23fbe7e9eb",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/tests/test-connection.yaml",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "c427021946491a893ae7a6de",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a97bc2342f435947",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "709767233508a6d26b187632",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2eda01d35de11ffa",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "704551069e2c902ade6a2ba6",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "57d8dad08157e719",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "9de30195f5bd34c11bae6391",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e13e3f59dbcb5768",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1fd29418a31b3676c2785f26",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3a8da41e3b559285",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "da97ccbf04a26deed1fc1025",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e7d0c075870489d6",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend,security",
      "component_id": "a32afce277723691ae299b10",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "75ae39cffce5ebf5",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "021951c0e4377b8c8a8b599f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c88e0cd703b86e0b",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,process",
      "component_id": "0e20e49d9a545cd5a27de0f4",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c6cd73611916c2e7",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "f9f63b7dd59ef807c517c34b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "836e843573fb0c29",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "36a850965036e4ee16fd5556",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3986c3c133fca5a7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "3d1d806b0382b62b27109666",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a167e61b957e1f5e",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "214408039d20b96728b8a258",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2756c2ceebaa8ce4",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "d416e6364cca3ab185335940",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "567f69ffd987723b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nlp/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f6a773d347796246bdf6a664",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "8e2858b930e1b7c3",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nlp/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "7c9168de0d98ea075d8d53c8",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "08a1e2e75a03610b",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "469090e46b08e7d3e2b77428",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e72e61135a5ef962",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "07ca8fe4580e7f274c92d1b0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "60a3827885c375dd",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "8cf7942442879abf504b76cf",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "31405d67f0973bfb",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "142ff40263f71fddfdd6d2b7",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dcef263fe9abdc6e",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "dd7587e85f789bf90e725a8b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "383fc68efad1c4e1",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "5af1612d1fc7943c1beab64e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3db08ecbb22650d9",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "ea83b816c2661a27dd9f3bf8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "63b51981e0a4057d",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d0cca94f5a0ab31dc496a34b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "dff026cc19a89f23",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "03fb160fc35f57497367e146",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "9d449a08de64bbe4",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "d78bc105312a92584784f4c5",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bafaac3750367f1f",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/portfolio/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "53639b8aaf8d117e4e8f6dd8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c2932ba05f33ed93",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/portfolio/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "3e0d05c19d647b61e9bfa768",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d71a35f58818b5ba",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "b72f61da80284f66437c91ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c695c3a31dd6dc20",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "67dd9b254743fa2df7a72bac",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e558c36b7a153f34",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "a5719a197d44892b4532fa6f",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e703e7642da69088",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "34a1944156b55184d2438b02",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7e64b3ab0f4db8b3",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patenthub/requirements.yaml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "1fb64cd9b7bd763674147760",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "93ddf6c4d5c3b4d9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patenthub/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6ba6273c9c3c1aa8c1dfece2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10abb34029cc9977",
      "framework": "unknown",
      "imports": "",
      "lines": 717,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patenthub/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "07566fea7c4e2cc195c57f71",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "01ba4719c80b6fe9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/patenthub/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend,security",
      "component_id": "917f8720b443920bc0c23c1d",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "522b8bd1f730c50d",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "94a4a8b13d0b5818421982e5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a7522b110e7f6d33",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,process",
      "component_id": "d03375c10c4c1f37e00370ad",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "50c09acf202407ed",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "b358532e8d1f1486edf4abc6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "be758a0e32588d08",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "af5991c789794a6466cc1c72",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7c6faca255ac99ec",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "7f98fa8a1713072e82748641",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bd70300249c56ccf",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "83bc693c32bd8e1bdb799fcd",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "54df576a3625d60a",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "d8ffd4af32e13e885276197d",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0fd808d405c58b3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2f00db3c660e35a05872cad2",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "78ce69aa9d3a6984",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "24a08c7de084134c99532496",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf08ef16790271f8",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "c48728dd6c38e036292ea307",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec3afb41adbe39cd",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "85e7839728d9cffb2dcd3808",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ceab7780d02bf6ae",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "bc01b1eb5755c8d20a5a1a6f",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "94b0c0604fcfc303",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "a589b9430901736e8046a70d",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "25014f899853a5e3",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6481b594c7544755632c3984",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0e3280eca517a2c1",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "bbf1f89a6c2c152dc0759ad7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dd4e55449aebefe3",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "patents",
      "normalized_name": "patents",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/files/patents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "17262d32802d32354ab2f232",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "20014273d1c28ea9",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "8093fc50f31c90625ccfd375",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "20571ec5492527a1",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "78a0187717314495e81232d8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e04963d09cf97d1e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "c6a586afa71f716a24a13482",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "fd7568a01ef832f9",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "7b91ac8ad3b752cf9069d17e",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "907ad3a3f5779d1d",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/fs/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f80989a1c3511a7c85b1848a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "fdeed047bac0d65e",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/fs/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "25f5de47d5b4a0bfdd0bf2ac",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "765fca89fd58a60b",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "02dba8b2d8c601c753ec800e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "39167d54038549b7",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5a078250bf24456be4af61e6",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "efb555f676e91d26",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "677c7aa44176d5353565ceac",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ecd779bf5b7e4483",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,ui,security",
      "component_id": "47bbe74cb970fb9124de0f2b",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eccf3f362f383486",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/Chart.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "46ed440c304f574694df8fd7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe9d651f9c654461",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security,process",
      "component_id": "64513f0859e537009fa70419",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ee449d2aeca20a5b",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process,observability",
      "component_id": "4c1a4c441ef14bb1bf50db9a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "01cf888cdd236285",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/NOTES.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "5625b1f927d9d4b0e9b0c207",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6f7bed287d969491",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/ingress.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,backend",
      "component_id": "0ed452dab12dce32961e9c92",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c82b67d4482ce545",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/service.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "77519242ff807946ef7a31d2",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d656a4397d3ebde0",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "serviceaccount",
      "normalized_name": "serviceaccount",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/serviceaccount.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "47cb87e66ab1c10f7580aadc",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "42563e603e1b9b3e",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/tests/test-connection.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability,security",
      "component_id": "822003e5a70f4c34a9e61861",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bde2054b04fb564e",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2e74c152dc7efa697cb394d0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9bff824a4887e3da",
      "framework": "unknown",
      "imports": "",
      "lines": 443,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2f9f13a5969fd2049b4632ff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39a5f4139f4e1373",
      "framework": "unknown",
      "imports": "",
      "lines": 525,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "7dc7629d207d8c1cdc0e0f97",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "abd1fa973067a3c0",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ci-values",
      "normalized_name": "ci-values",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/ci/ci-values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3c325e5ed3a5df9d1c3ae135",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "711ea37eafa543aa",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "servicemonitor",
      "normalized_name": "servicemonitor",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/servicemonitor.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,process",
      "component_id": "f5c88032cd5356940559b79a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f7663594e2e1c676",
      "framework": "unknown",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,observability,automation",
      "component_id": "9e30ea3bcfedeafb7d6d0435",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "24f6fe0e000e55f0",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "055ea682e48c733d1c0d5859",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1733b0cd09b9906c",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2d0d95a696531a879bf3e920",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ea707ad02bdbddba",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "hpa",
      "normalized_name": "hpa",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/hpa.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "2aa60fa865009f5816729295",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4c8f59fcc67c7d58",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "rbac",
      "normalized_name": "rbac",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/rbac.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b83931ed1e7c5acaaea24e9f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7ed249add8cef82b",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "default-cert-secret",
      "normalized_name": "default-cert-secret",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/default-cert-secret.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5f09656427e9790ab0ea4803",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "252f219da7fa2088",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "dns-provider-secret",
      "normalized_name": "dns-provider-secret",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/dns-provider-secret.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "01cd37ae66e3a6fd1fbe0e1d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7a75f13d93d3c12d",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "storeconfig-job",
      "normalized_name": "storeconfig-job",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/storeconfig-job.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f295c0326efb29041a0d0a0d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ee162aee719dfea8",
      "framework": "unknown",
      "imports": "",
      "lines": 440,
      "logic_relevance": "none",
      "name": "configmap",
      "normalized_name": "configmap",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/configmap.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4fd5038517a9000ce392f5c3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "44ffed867579f8c6",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "prometheus-service",
      "normalized_name": "prometheus-service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/prometheus-service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "479f0f7090ba3cb4db28e463",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c15552d29ba8a41",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "secret-files",
      "normalized_name": "secret-files",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/secret-files.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "6ecd3e967c2ca3b3af7068c1",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "302a66bbca150baf",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "dashboard-service",
      "normalized_name": "dashboard-service",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/dashboard-service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "71def7a2052d9cc37c9d517c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "70c2ca3903b9894c",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "dashboard-ingress",
      "normalized_name": "dashboard-ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/dashboard-ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "security,automation",
      "component_id": "a56ca75f7317b4bd245b2666",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81027a98f071455e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "modules",
      "normalized_name": "modules",
      "package_manager": "unknown",
      "path": "helm/HHLP/.terraform/modules/modules.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "2b3bafa92fee4fab84030714",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5c736bd1adcba031",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "ecr",
      "normalized_name": "ecr",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/ecr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "35dd2ec2d93530a2177ede89",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af8b34a415926b4d",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "docker-stack-deploy",
      "normalized_name": "docker-stack-deploy",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/docker-stack-deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "8ae205e2b8abce6036066322",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d535c88a811a20cc",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "66aec83459ea25ffd5403c88",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "09da6608f511c784",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "lock",
      "normalized_name": "lock",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/plugins/darwin_amd64/lock.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "19a532b017a8038e0ad6c84f",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "020c1b0cdac4a350",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "modules",
      "normalized_name": "modules",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/modules.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,security,automation",
      "component_id": "ca1427e530fd4af432ff2a55",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5251d108db56966e",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "bf22ccc5ec048dcc442f0f68",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4d0c325d93aba450",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": ".kitchen",
      "normalized_name": "kitchen",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.kitchen.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "1aa3b3b62648b8c82e35af4e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "28a0bba530d85a44",
      "framework": "unknown",
      "imports": "",
      "lines": 391,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "1b560363e942787702c3b8a6",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e8679c34a769f09",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": ".pre-commit-config",
      "normalized_name": "pre-commit-config",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.pre-commit-config.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "ee783c4c377c662b4f412aee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d88cc50491217933",
      "framework": "unknown",
      "imports": "",
      "lines": 249,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "c9bc906be9d584cf2450b8f0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0a68262ec07d9c2a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability",
      "component_id": "9cdb02526f22e854c7958662",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "918616e1c504dee7",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "spot-instances",
      "normalized_name": "spot-instances",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/spot-instances.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "a325a25538b3693212b2820b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "17078433d3c6861e",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "autoscaling",
      "normalized_name": "autoscaling",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/autoscaling.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,automation,security",
      "component_id": "d96303044708f93cb8dae3be",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aa949609b822ff3b",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/faq.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "730d6408de24fad2cc6f4bb1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3180f38ebd6fd752",
      "framework": "unknown",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "iam-permissions",
      "normalized_name": "iam-permissions",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/iam-permissions.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "5e2af4a2a51e3c1d253cb456",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c643588ae983d539",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "enable-docker-bridge-network",
      "normalized_name": "enable-docker-bridge-network",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/enable-docker-bridge-network.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "17a250ebfe63859643f5a8a2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "714b430928c5ef53",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "bb4cbd7c4d920180d4c89299",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "dd893fc2bf0cd9fb",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "cluster-autoscaler-chart-values",
      "normalized_name": "cluster-autoscaler-chart-values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/irsa/cluster-autoscaler-chart-values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "fe95ca80569932e5f1f03fbd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "503213aa07144eae",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/irsa/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "a83c4ee3f0d02c9f327f3651",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "858e50558b21398c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "pre_userdata",
      "normalized_name": "pre-userdata",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/examples/launch_templates/pre_userdata.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,automation,integration,security",
      "component_id": "f99edb65812653525215d7d3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5255c16dd796105a",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/modules/node_groups/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "7f79c3ff39aaf53c23117447",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "7d33c1b3db63f8b6",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": ".kitchen",
      "normalized_name": "kitchen",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.kitchen.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "3cd5d63a72310bc182937337",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "3e81e240061d0766",
      "framework": "unknown",
      "imports": "",
      "lines": 1036,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/CHANGELOG.md",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "a6fc1281d23453276783595b",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2129301db0338650",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": ".pre-commit-config",
      "normalized_name": "pre-commit-config",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.pre-commit-config.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "bf30835868faa4c8f956e590",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:135 | observability-score:55",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "518713367552ae0b",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security,ai",
      "component_id": "4e0747383c280bd099efdb4a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fce2f8ab8978d9b8",
      "framework": "unknown",
      "imports": "",
      "lines": 740,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation",
      "component_id": "ad8b48500d28f08753c6a0ff",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "00316813e22b17b6",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "CHANGELOG.tpl",
      "normalized_name": "changelog-tpl",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.chglog/CHANGELOG.tpl.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d0a90d883e1bb0a3de4d5576",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34cbd6708353b282",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.chglog/config.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "edef61d2497075e5c81acd2a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ca4b109640eaa7f9",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/test_fixture/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "63ef9c1bbbbe2959aa5da5f2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b58a2ec129d8cc53",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/issue-46-no-private-subnets/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "4afa27797ebda9effb82a121",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "263766ea9df058d3",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/manage-default-vpc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,automation",
      "component_id": "96a325be1caa29b6c24da8b6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "be284f1ae1b309ff",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/complete-vpc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "5e28637ba726642226e66538",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f83dc6d11b432b9b",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/network-acls/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,automation,backend",
      "component_id": "bfbddbdac432a016a0d3d99b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ddb6308376832df9",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/vpc-separate-private-route-tables/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "0095b447db53fcd40fae929f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5942922ae3294a60",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/issue-44-asymmetric-private-subnets/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "320059fcfb1f8e0d16584d7a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a43cd0d711958dba",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/simple-vpc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "d8b21f86836c28063a6abe66",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ac6e6b792e27410d",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/secondary-cidr-blocks/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "5da3635be7da7dcad45ff56f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "854e3d3716b046c7",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/ipv6/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation,backend",
      "component_id": "f45d873fa81542c69c4ec710",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7ac3cdc3e10a10c2",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/examples/issue-108-route-already-exists/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,security",
      "component_id": "01b53cb28e926f87a748adb5",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4f1fb496110ecd8e",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.circleci/config.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "a65ea614606096d937b14281",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "69c24fe29ce5d3b6",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "stack-backoffice",
      "normalized_name": "stack-backoffice",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-backoffice.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "13095aa40b3ce587f2446b37",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "f78fce6f0624b511",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stack-ms",
      "normalized_name": "stack-ms",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-ms.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "50d0a96168150f1772200cfe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "770f8e5c83e125f6",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "stack-traefik",
      "normalized_name": "stack-traefik",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-traefik.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "29cf8b4afd151b2ff45ef04f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ac38def643197a85",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "patents",
      "normalized_name": "patents",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/patents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9e4a1e9781d24b11301b7f82",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "3a5d9d5ad4c0f2f2",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "stack-pair",
      "normalized_name": "stack-pair",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-pair.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c2262c7d8bec2e8f1dd56a71",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "b9885f636b63ae02",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stack-search",
      "normalized_name": "stack-search",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-search.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "7c42f330efc6a19796867141",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "df89d723f6e9167c",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "azure-pipelines",
      "normalized_name": "azure-pipelines",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/azure-pipelines.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "e711fc7257478c379af2bc0d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a437d5280e143bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "20320e99dc10773aec0f5cbf",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "6fdeaf2fe6df438b",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stack-proxy",
      "normalized_name": "stack-proxy",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-proxy.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b27bbe85143dadf179e26e97",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "e3e98620375e8237",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "stack-essentials",
      "normalized_name": "stack-essentials",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-essentials.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "73bd1f61969c8acc0ae215d3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2834cb3a66201a4",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "stack-docs",
      "normalized_name": "stack-docs",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-docs.yml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8f4063c0956e361a29199ff2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "bae9f009fb679722",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "stack-wt",
      "normalized_name": "stack-wt",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-wt.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "87a43958e46ba6441f3af05c",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f244384060c7c824",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "stack-infrastructure",
      "normalized_name": "stack-infrastructure",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/devOps/stack-infrastructure.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "4a0ef37f7aacd6f1da9aac0e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "348b3f447c2fbbd7",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "nexus",
      "normalized_name": "nexus",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nexus.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "8db38e546a4946ab049deec6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9d20bb60b5f1cb2d",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "rollout",
      "normalized_name": "rollout",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/rollout.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "a412a2d4dcd9dd6783f3c0bf",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5879b8b3b333575b",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "infra",
      "normalized_name": "infra",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/infra.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "b4a2804581340b7e774d2f22",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9b1df8754314e577",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "3f5721e992c0721863598313",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "559e231060736ba8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "k8s-dashboard",
      "normalized_name": "k8s-dashboard",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/k8s-dashboard.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "3d0dd4cf8275fa63a2d52bab",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2978c1a37da1e067",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "destroy",
      "normalized_name": "destroy",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/destroy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,observability",
      "component_id": "7d3180147691eb92df49334d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e337978411e156ed",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "helmInit",
      "normalized_name": "helm-init",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/helmInit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "892205499df26e6b48519692",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ffa600ba5eec10b7",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "k8s-dashboard",
      "normalized_name": "k8s-dashboard",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/k8s-dashboard.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "d7398ee41e14ec62e4cd338e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "309f553626038d09",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "set_secrets",
      "normalized_name": "set-secrets",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/set_secrets.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "c805b95870e77e1dd05f3f01",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7b99eccdf417727c",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/document-uploader/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "884fa6cc783f4c724af1fea5",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "df08382ecf54cfef",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/document-uploader/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "4f9033e80c03ae16812e3515",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7e2cb22ae8b4422d",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/document-uploader/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "0ef49810ae5b74010bc94f6c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1777f28499e9054",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/document-uploader/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8a186f7fbb5ff9327fdbae02",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "99cd8fd66768c57c",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/document-uploader/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "603eafd431c010806de1ec8e",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c03ebaa7d797d232",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/document-uploader/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "387a3d81847e9d532a5993f2",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d49b79e978a0ce07",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "52a6615be01e15a6ee4d7bea",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b4888b6d161738f7",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "895042f0c7e918f78ca260e1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ba45721c32eca74e",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "6ddfd3aefabcdaba80e70012",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "59ec7cbac44c0d13",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "76a233f8ac2ef3bb54f50c37",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "da7a139c3e387667",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "6a82cc936496ac77b6e2e3de",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5523bd0610eadd79",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "5a14e6be66c4a31c92c2247a",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e546481e6099bf13",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/template-storage/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6f7ffa272fa90517be7fe9bc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "94ba1baebbf61416",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/template-storage/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "b5f765ef3478c442d084be3a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5e675ab765f37b30",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/template-storage/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "4d00b45db3a24fd8232d0fb9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "032808b1d486bbb8",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/template-storage/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b240a99711cb15ea14c08e26",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "8161631368efd7c7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/template-storage/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "f9e2dce40fc1810dde6ef01b",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "340ee83302ae9745",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/template-storage/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "cc36b373153c426d496c0992",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07f1d3e7656b6e0c",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/config/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fd3f14e0f770801f35c968c3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b18e29960cb9a082",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/config/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "0e68218829bc736b27cb1af4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1ae74e39775337ef",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/config/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "48591471401febb7a3174daa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2cce5eff228b91c1",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/config/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "13df23e68b99fb7bee90bf7c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4e6dcd24b31b7ede",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/config/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "b84b4740f8491eea79f91960",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "31ebfd591f7113b2",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/config/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d22caa6d50dd53ec77c0c99c",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c7fca9de9ae8b61",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,security",
      "component_id": "9f3a4493246582349616c046",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "616aac8b83a6efcc",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b2b1f6e74e53b934597ce56d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d687bfeadd75b813",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "13034acf92b008b37f498af4",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d0d9a7ac029c74c5",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "fec033492d723d78adb6847d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "feac09f672f512af",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "953d33b081e7c09aaaa48ef6",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c6013c05bc9d7453",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a5e71039a89de0fa92d5d1fe",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "26f23c3e6c4a31e0",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "post-install",
      "normalized_name": "post-install",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/templates/post-install.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "c2307bbd7141fa269db10156",
      "component_kind": "auth-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1e280898d8423297",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "acd8f19799e26def2cf8dd22",
      "component_kind": "auth",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a00fb5d3f30d68cc",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/auth/templates/tests/test-connection.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "d579742d9853aa46a067aefb",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d94cb0055f818728",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/processing/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b7756649686415140b774a35",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1fc3d042d6c0c8c0",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/processing/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "03f954dca989b1bf8e80e2b9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21c4c4ff98d80941",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/processing/templates/deployment.yaml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "aae7c2efc8bac1502ce9ea4d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "89ca486960b83f99",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/processing/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1446036e6321931fa3db9ba8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e70d374f554f3ee3",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/processing/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "b4af9c49eda26fba0315dc90",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5372e36f514d059a",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/processing/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend,security",
      "component_id": "774ca2d8e6d47ba4cce0c020",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f7fcc2caa46e65ff",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8e224e808f6362641922c8f6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "cf1491d1432f2de6",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation,process",
      "component_id": "c7ed3d3d93e03b8dc7ecf60a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b20f948a7c3e2ac7",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "aa1c0f81ba3b09b9997e0a60",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e59ae92e494ddf0c",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "773c1b9c64d18951bbf11347",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ea3ad2cb9ec808db",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "8a4b74d3f10d3e31e3c43077",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "06c03b3c069f9d6e",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "495eac07d872d7d887eea4df",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b40b9a24263fd7d6",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-api/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "92a6a3e213f1df9587771b4e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7853141fca80e272",
      "framework": "unknown",
      "imports": "",
      "lines": 2009,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/prometheus-operator/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "33fb813ee24df85c8f3add6d",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "887657e4d2f9b6b2",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/dispatcher/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6303b21c597776eaecf2f134",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a8a3f762c3384a0c",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/dispatcher/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "0d3511c8c9cb88902caf46be",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "31488753a5dd8d6a",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/dispatcher/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "7de8a867caee0b9a73907d5b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ed6438090334f2fb",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/dispatcher/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "059010f2fc879d8600b63cdd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "183a8e2c82f14eab",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/dispatcher/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "2657405a10d8cc256c4248ad",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "09cb252ffd3559e7",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/dispatcher/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "865cd76b5e045b10c2db27fc",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9693cdf23b9c78cb",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/pdf-image-generation/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c7d01083e4e2b7fb9077ebbb",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "372a3186f42dfab3",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/pdf-image-generation/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "ff782373014e1c4607af2904",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7c96194f5102888c",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/pdf-image-generation/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "9e03c52394b446cea8e9dc4d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "133ff553e7d501ae",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/pdf-image-generation/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "e8eff199701c11a9925ef159",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a6cd63afa274d8f5",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/pdf-image-generation/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "7e220b3db0de1453f3a09618",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "9fec7301c3a508cc",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/pdf-image-generation/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "835230a50429035ed812db1a",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b5edd44e0d2549c8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "973b5cb5f08c45a37105953a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ddf5e633c0408808",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "a1d3a04a1130762d673247ab",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f422fecd457fc9bf",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "68ed26914791aa0fa465e3ab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3874023063830139",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5e028e9402bd2a40e1ec6cab",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e70fa389af566a0f",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "6061bced3416268a5c27ef89",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "606b398e83a120ff",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "d06b314e532d995d3c86d3f4",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "9429335c99165835",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "nginx-configmap",
      "normalized_name": "nginx-configmap",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/backoffice/templates/nginx-configmap.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d36a5ce645bbcd66760d372d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b632248d7386b63b",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/minio/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "854b9f6c7a45fee056f0156a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7ca559ced602c28a",
      "framework": "unknown",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/elk/kibana/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "41a21e8087c9abff003d0897",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5e22658cb473122d",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/elk/filebeat/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3ae21913ace2b768462aadb5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "14c6db34cbef6d50",
      "framework": "unknown",
      "imports": "",
      "lines": 283,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/elk/elasticsearch/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "661d8fd3c572ecae99eb747c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "bc1c64e659c2dd8c",
      "framework": "unknown",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/sonatype-nexus/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "c0c3f4ac2c6d75438369d246",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6fdcabb1acfe42b6",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "242f1894a52410a0c6d11d78",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "9f86d2314dd8c3a8",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "a3f35b102b98afb8a91de8ac",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a914963ab11c3678",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "6391aa00ab0642ff0f8ab33e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcd0d00c81d8f423",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "bb6551a9aeda0d4c1ff07aca",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f657ca58425f536b",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ee64fe64db561b67df6c8afd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4a3dda52bcac3d9b",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "post-install",
      "normalized_name": "post-install",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/templates/post-install.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "6cc22dc7b7f4f93a5dfd5819",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6993e7d46898ec02",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/application-storage/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "02f1961cffe67f8f1b3494d1",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "99cbb4c8ac7f121e",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/mongodb/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ui,security,discovery",
      "component_id": "30231309a0ca2ae6c913589f",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for discovery; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a0e2609cd3b0456e",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "3b6b35746da9c8b5d0d5fabd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "10b5e5c2b7488950",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "security,discovery,automation,process",
      "component_id": "1a4cf6ad546a4f3154eb9d4f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "dbecca8f530cffd7",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,observability,discovery,automation",
      "component_id": "38f85ee516d2cc41dc124d79",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "853f77d48cb24ca4",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "f18ff4d3fb8542cf64e382f0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e77597f6cd85dd14",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "7e1cfabbae15725204648c5d",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0ef2f4138afa8681",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "178b39c9b481675491c9a710",
      "component_kind": "feed",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "68cecb23fbe7e9eb",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/feedback/templates/tests/test-connection.yaml",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "773dbe25f0ca52413a93a08f",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6f9a11a13374fc50",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms-generation/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c69699559f7015fc57678529",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b000d8cc8235c627",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms-generation/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "b4e7be2d50d7ed75a28010b6",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4a335de1fe677586",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms-generation/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "75fba8ddd29a5a7e17baf017",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e13e3f59dbcb5768",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms-generation/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2430ff9df1550455cef4bfdd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "8f531c8d94a048a6",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms-generation/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "07da86d0e087d85c9d8f7b29",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c9ef2b2b3f767e4e",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/forms-generation/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "security,automation",
      "component_id": "b88897c8cc9f16317a9c24ee",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "879dc5b71ee94ddb",
      "framework": "unknown",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "values-demo",
      "normalized_name": "values-demo",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patenthub-values/values-demo.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,backend,security",
      "component_id": "8325b2ac56ee08eb08f047bc",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "406409b0777786cd",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "89656ecfd0f56648f010b942",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a1be9d3d6e3b1421",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation,process",
      "component_id": "52b1d9d4b89644b226612dea",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d1767725ec553845",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "a40bed27bde08cc42b472925",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "836e843573fb0c29",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f93187e95bb77ffcb3185c06",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "82dcd86f064926f7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "d3e53f1ea8e0c4a35b09a214",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c5e9ac72256dff7b",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "9c5c977ecdc99ed5415c3f11",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2756c2ceebaa8ce4",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/claims-server/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "b4435a84039b6a3e413a3266",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "27d3f73cc9027634",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nlp/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "febf9691254298bcc7183214",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ce66a5d92f2e2d3a",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nlp/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "81d6452f3a4320209d493f10",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d1628ae2648e2525",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nlp/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "722c3da3c6a967a68cab4412",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e72e61135a5ef962",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nlp/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "704c8dbde69bb905a498a42c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "e5481a50d8c96b0e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nlp/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "2bac94398357b664064b531a",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "617a2f2b4d122423",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/nlp/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "f2234efb55a7fd99ab4a9205",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6fc31ea1e95cc2fe",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-web/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "1b64c81ec2b05061aaaeb563",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "3344b5448b63c9f5",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-web/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "51d6a08d27548eb5f4c4aa15",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4d919f7de95e5228",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-web/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "ad5cfd976ab8a040f42593ef",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "63b51981e0a4057d",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-web/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a890afbb07db472ed83647fa",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "5ff301b5e0660678",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-web/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "11b2b603dba2ec1d1bfcec91",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7a015095dd77c409",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patent-search-web/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "d9f0c9f5159a9e2d09674b55",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ceea7a44a31ae1b8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/portfolio/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d53d126d3d6fd643a227c317",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c7ac2a7f8ca63a93",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/portfolio/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "428f5148b6931425b6e03ead",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7f16b69265b25142",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/portfolio/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "a637a140cdf91e3557884eff",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c695c3a31dd6dc20",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/portfolio/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "65d06dbc111ce06a98646f0d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1334fd793ecca32e",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/portfolio/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "dd18cda7960c8a0b61756095",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ede3d69c1f19a0de",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/portfolio/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "78a3eaf29e46a1f798a90790",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-process-candidate",
      "file_hash": "58c9185796289481",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patenthub/requirements.yaml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "457f1ded218f13a3efeed8f2",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df18d7050aadd2be",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patenthub/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "dabd357b8fffa86a2619382a",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "01ba4719c80b6fe9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/patenthub/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,backend,security",
      "component_id": "cea9407fcfcdd965fde52a73",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dcb85b05f3bb26ac",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "45ffce48c2e5257af23fca8f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "cf8c608318ea6746",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/values.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation,process",
      "component_id": "2afd5e525031d8eb4e304472",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "aaee2ce089291125",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/templates/deployment.yaml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,backend,observability,automation",
      "component_id": "1a4da883fa4d26bdc94be731",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "be758a0e32588d08",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f234ba2f847cd517580ef51c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c454a91fcff00956",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/templates/ingress.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "de0955ea7f2a2abf6099762c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4cbc445bb9e65d47",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "3758eb9e89aa3bb2bcfed3f6",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "54df576a3625d60a",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/time-tracking-service/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "499e17fea78ff7ecd90f65a6",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0fd808d405c58b3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis-ui/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9898d27a39b288007d76693b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "647d2f106bff6500",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis-ui/values.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "b127ac9973c807c8a0f83a08",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf08ef16790271f8",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis-ui/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "50d5567fcd92a65c83659c9a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec3afb41adbe39cd",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis-ui/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0866d21c9b2a2396a05f623e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ceab7780d02bf6ae",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis-ui/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "3b9c0ad42d008dcb1eb8a57e",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "94b0c0604fcfc303",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/redis-ui/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "f3cb3ec3b574bca3847ae94c",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b28fff780272ca41",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "28a77cf30b61e62c533cfcfc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0565af85f1ecd134",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "574a38e7ff894ebc83a3a297",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dd4e55449aebefe3",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "patents",
      "normalized_name": "patents",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/files/patents.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "2d4861a7422bee3b47bdd2ac",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4356698302526933",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "5a5a9c805c770d9446f16b5e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "20571ec5492527a1",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b696c910fd38bbea3367d134",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "75a53080b17328d0",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "99cad39210a3f486ebe42af8",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "a0e4e1a24118c87e",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/devops-supplement/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,security",
      "component_id": "36b785b3c3b4238653d9c61e",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "455c44135ad55fd0",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/fs/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a97b2327f59d03254c08c0a9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "8748b2d6b799d1d4",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/fs/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,process",
      "component_id": "86e93057b308476dd05c3dac",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "b9677a004206b8d0",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/fs/templates/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,automation",
      "component_id": "07f745e8be935e63e35bc1d7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "39167d54038549b7",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/fs/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2867c88c25c8e183d659c0bd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f6428492e75eee05",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/fs/templates/ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "66602b117ddd5e7c39505887",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "0e60931ec94b7ded",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/fs/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,ui,security",
      "component_id": "96c0633e185f133002a6d9f5",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "abb4c754da4fafee",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/Chart.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "6dbe566a3583c3b6abb5681a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dbbfd07d82e586e7",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security,process",
      "component_id": "574f9a45baef35580c6b891e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "29b7b227d2d45177",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process,observability",
      "component_id": "05ba71841b4f358df7ebab45",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "01cf888cdd236285",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/templates/NOTES.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "3115fb3edead1cd60d9708a1",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf2084d92b094e49",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "ingress",
      "normalized_name": "ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/templates/ingress.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,backend",
      "component_id": "7cb6dec4959a65f6393d8750",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28ec9c299db9e71b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/templates/service.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "174dfb1ad6093f8a0566951f",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d656a4397d3ebde0",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "serviceaccount",
      "normalized_name": "serviceaccount",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/templates/serviceaccount.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "7845604a233e883bed2c4e49",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "42563e603e1b9b3e",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "test-connection",
      "normalized_name": "test-connection",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/outlook-compose/templates/tests/test-connection.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability,security",
      "component_id": "7867d91f3a731563886811de",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bde2054b04fb564e",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/Chart.yaml",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "23b9d7a16e6f1024fffc8e8b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9bff824a4887e3da",
      "framework": "unknown",
      "imports": "",
      "lines": 443,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9865393d99851ace369e6c0f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94745b1023bc96e4",
      "framework": "unknown",
      "imports": "",
      "lines": 525,
      "logic_relevance": "none",
      "name": "values",
      "normalized_name": "values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/values.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "78002f9cba4fdc8db606462d",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "abd1fa973067a3c0",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ci-values",
      "normalized_name": "ci-values",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/ci/ci-values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5977bece8893b48f248b8ca0",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "711ea37eafa543aa",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "servicemonitor",
      "normalized_name": "servicemonitor",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/servicemonitor.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,process",
      "component_id": "a218c3cac308938f17df1ef3",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f7663594e2e1c676",
      "framework": "unknown",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,observability,automation",
      "component_id": "d658ea20a37c3c26b4c37b59",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "24f6fe0e000e55f0",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "NOTES",
      "normalized_name": "notes",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/NOTES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "0a8671a577003ec0a4d826c6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1733b0cd09b9906c",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "96e0126ad7ebcefef6ad4e1c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ea707ad02bdbddba",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "hpa",
      "normalized_name": "hpa",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/hpa.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "d3e452dd9337aaa65a310d55",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "4c8f59fcc67c7d58",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "rbac",
      "normalized_name": "rbac",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/rbac.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "76dea3ab75901c01f9ffa711",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "7ed249add8cef82b",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "default-cert-secret",
      "normalized_name": "default-cert-secret",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/default-cert-secret.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "4cebb5a4dcfe97017ad17d5f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "252f219da7fa2088",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "dns-provider-secret",
      "normalized_name": "dns-provider-secret",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/dns-provider-secret.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "f8513450f152ca870ef677cc",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7a75f13d93d3c12d",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "storeconfig-job",
      "normalized_name": "storeconfig-job",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/storeconfig-job.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "865cef896699a70a57838f4d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "ee162aee719dfea8",
      "framework": "unknown",
      "imports": "",
      "lines": 440,
      "logic_relevance": "none",
      "name": "configmap",
      "normalized_name": "configmap",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/configmap.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "18805604435fd5ceb6070dba",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "44ffed867579f8c6",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "prometheus-service",
      "normalized_name": "prometheus-service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/prometheus-service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f88a62d528b6b36e15ad460b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c15552d29ba8a41",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "secret-files",
      "normalized_name": "secret-files",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/secret-files.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,security",
      "component_id": "defeb8a6ad0c560dd8ed1b5f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "302a66bbca150baf",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "dashboard-service",
      "normalized_name": "dashboard-service",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/dashboard-service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "1f94bcea4990168911aeec0e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "70c2ca3903b9894c",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "dashboard-ingress",
      "normalized_name": "dashboard-ingress",
      "package_manager": "unknown",
      "path": "helm/HHLP/HelmCharts/helm/traefik/templates/dashboard-ingress.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Scripts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "eee95b800846448813a5f170",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c694877e3be0bdb4",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__Starphone-CMS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "489f8c315adf6de0c3abbd32",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1ddf03af6b56a611",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__Starphone-CMS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4027f58703b63d5472b04d32",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f95021f1b8384a7",
      "framework": "next-react",
      "imports": "",
      "lines": 5064,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "24db3edd4d65aed5e1bf4217",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "0ddba4100e2a3cdd",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "dc0316bb21cd40b3231b791a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21c6044f8d8ccac1",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 97,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "73c0854e6e41bfe9a31a0179",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8ca89f6d46f847d3",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "f37d31cd721dd97c2e95fd2c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bfaee6e6bb8bee75",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 84,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "31fb82d317f1b353009ed669",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/app-shell, @/components/chat-interface | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39bc563773cb9950",
      "framework": "next-react",
      "imports": "@/components/app-shell,@/components/chat-interface",
      "lines": 10,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "7bb4050571b658ce0998b1fe",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a907a4837bf02600",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,process,ui,security",
      "component_id": "f2e8e9cf95b86e17ac020096",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/app-shell | frontend-score:85 | process-score:80 | ui-score:55 | security-score:55",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82f4ffdbea913abc",
      "framework": "next-react",
      "imports": "@/components/app-shell",
      "lines": 84,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "e204ed6f149a0499b7a2df5b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/app-shell, @/components/ui/accordion | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "710b8c0647e72672",
      "framework": "next-react",
      "imports": "@/components/app-shell,@/components/ui/accordion",
      "lines": 56,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "053e782dc3bd3d35c51339e6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/app-shell, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45f67f2cdbe448ff",
      "framework": "next-react",
      "imports": "@/components/app-shell,lucide-react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "cdad8cf19efd04e16b78d7b5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9d1165f292dc491",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "8378bcff54877ad46a756249",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c06bdb6b1afb70ad",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "2bbb27ffb5f5482236c31f84",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "790603cab5d0f9bb",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process,automation",
      "component_id": "bf3a5c17371fb55b471a8945",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "622aceee0623d575",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "db939816b2c32c2a7e256566",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a467e9e4b224b393",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/claws/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation,frontend,observability",
      "component_id": "76e883bf3cc540cf5d322158",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a1da19fe7fbedac",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "47a30fc825671366a708931f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:@/components/app-shell, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79b26b6652a01553",
      "framework": "next-react",
      "imports": "@/components/app-shell,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,react,sonner",
      "lines": 153,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "73336299cb2ef87d6e7f1eba",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "1a276bc8692a4a01c494cf28",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatInterface | imports:@/components/ui/button, @/components/ui/textarea, @/lib/utils, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChatInterface",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "acd64f634b80f928",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/textarea,@/lib/utils,lucide-react,react",
      "lines": 172,
      "logic_relevance": "none",
      "name": "chat-interface",
      "normalized_name": "chat-interface",
      "package_manager": "pnpm",
      "path": "components/chat-interface.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "692c6f1dc232d491a4c77292",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8feebf3d19de2aad",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 50,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a1f35e26c38161348f3f30f6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppShell | imports:./breadcrumbs, @/components/ui/button, @/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AppShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86f62a004602cc7f",
      "framework": "next-react",
      "imports": "./breadcrumbs,@/components/ui/button,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "app-shell",
      "normalized_name": "app-shell",
      "package_manager": "pnpm",
      "path": "components/app-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "42274eda0fd10244774254f6",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "41879f635cc297ef0b68602b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8fe50af06a07b372cb42efcd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "65abb14b76fa5c678e10a0b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "94eb330df821137f88527efe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f31f5ae00d22c7b99df836f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "aefe23c0f1cbb1c0789ec793",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa051768afd969444ad7fe9a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "30324c612d113d3204f5e39c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "797a213214b1be8d1b97eb48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "7c5003f221c16a2a38455603",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "329272c6dc9a55af51437812",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "95a9d62d0f2006c8db3f1166",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a6eeb186a709323036e8d10f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6a27cd36414f15b8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2c41e7dd4ab916f35b6ffe70",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e12ed823b29848ca8e017558",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f6d2df646851a1d0121106e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5d4510c056bd7bd26de1def",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2a689ac41a8e155930822adf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "88f325023dbf045002e7ab21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cd82f54a6d3042abbd2dd2a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3eb9397117c7f5a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "840cc773d365cf04d242a6ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4f710d29c38bfab0d7eed128",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d9228af197f25124a6acadd4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6b5f23d59a83e03f13ec1c92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9b60871b1da01bb80f76dc9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "09b2937f7dbbbb26709f1923",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4b17975dd73eb79957ab4d26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "611aa60bb5199e9f21106348",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "91cb47d8f17e896e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2273a4348dac72ad40214858",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5a8f5d9a67fcf3e898f8de1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dfe783451526f3abef09b647",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ac56a1461bf2636c627a6516",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2af83081478f2a02e232cad0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5fe444bd20de55bd242f9dcb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dce7f2fd580ce4df7c1fbfab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9e57ea58cb6c71e196d631ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bd5b9b821863e6b0eb8dc6cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e9ce5e6025d5f017b4037e88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d1cab2854ff282d9b8059c07",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d89c5e4d07655f01adc9afc2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e4dbab861473781a1f7c98e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "04297126a4c4c7365134fa5a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5ef98926de8eb0a00b24a08a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "46cacc95854938a9c625bc4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "24066c4841c7c1e801bfdff7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "32a9c28c9f5e92a75149852c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5c212eba66b285a62ef7c36a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1da4de27e30ee7d61df671a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "66e77aac6fe5691859aad00e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0651e8a7467bb11bb35a1b51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c7946f044447153732217a8b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "da96b7ff19923d3429676d76",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e15d4ce652b81d0521d101d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "f7240d3206dcc090510e25cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "33a0a2c85025282496c25a38",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "2a3a4b42b906a635678f656e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/app-shell, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7917da9dc3c010cb",
      "framework": "next-react",
      "imports": "@/components/app-shell,@testing-library/react,vitest",
      "lines": 35,
      "logic_relevance": "none",
      "name": "app-shell.test",
      "normalized_name": "app-shell",
      "package_manager": "pnpm",
      "path": "__tests__/components/app-shell.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2286d80867c662f38715c2df",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "84885e441d03ab4b",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "994e0c242f6231d122e95f34",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/faq/page, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65eeb3f91db2e73a",
      "framework": "next-react",
      "imports": "@/app/faq/page,@testing-library/react,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "faq.test",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "__tests__/pages/faq.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security",
      "component_id": "8e75cdba5ab74b0a3504c3b6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f884e8f58961bb82",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,ai",
      "component_id": "d48e39cb3d8d4de4f5c0a734",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8e160bdd0022b9e8",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8af4ac403d68c4f7c920656f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "045178ee6f4a7d3e",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ai-chat-interface-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0942545cc848ed6571fcbe6a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ef2d92bbc3a7536",
      "framework": "next-react",
      "imports": "",
      "lines": 5408,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "e0c4aa4a076fae619d4dfb34",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next,next-intl",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:./i18n/settings, next-intl/middleware, next/server | backend-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d742bdb2d98f068e",
      "framework": "next-react",
      "imports": "./i18n/settings,next-intl/middleware,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,security",
      "component_id": "6ba0f883d1073d2150edcca3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "11716e681b1a9644",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "BLOG_POST",
      "normalized_name": "blog-post",
      "package_manager": "pnpm",
      "path": "BLOG_POST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "75ebd1f1b9ca1d9885c21119",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "764932222f2f3bc8",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "20eeb7af60112201e5d5d81b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1700272d26f50d6f",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6b317c36342aa3e893e5d3ef",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "messages/zh.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b4551e0ad32c2a5f6b8fc18c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "bn",
      "normalized_name": "bn",
      "package_manager": "pnpm",
      "path": "messages/bn.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "936c7d7965ff7b4fae1193de",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "ru",
      "normalized_name": "ru",
      "package_manager": "pnpm",
      "path": "messages/ru.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "10af8232c68f77d4fe789486",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "ur",
      "normalized_name": "ur",
      "package_manager": "pnpm",
      "path": "messages/ur.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d19c9a205a2c9ce5992865bf",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "pnpm",
      "path": "messages/pt.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3b77ad40d64494feeb15aee8",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5d4e365e6105878776659a73",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "messages/fr.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e836039ae63999fe8f47f880",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "hi",
      "normalized_name": "hi",
      "package_manager": "pnpm",
      "path": "messages/hi.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0f0a48d15454bdb1f6983463",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8e87cb7fc1d9727f",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "141229c4bf6f4af8c364c252",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5bacd1abebac15f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "pnpm",
      "path": "messages/ar.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "11772a2235ddae449eb360c0",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f47a19b9ff5ab828",
      "framework": "next-react",
      "imports": "next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "5cd728f2c26083d78a7da588",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppleIcon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "AppleIcon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39e986d8779670e9",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 27,
      "logic_relevance": "none",
      "name": "apple-icon",
      "normalized_name": "apple-icon",
      "package_manager": "pnpm",
      "path": "app/apple-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "09be259c3ca75f446c7e42e0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Icon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a10ab1ab4aa84cb",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 26,
      "logic_relevance": "none",
      "name": "icon",
      "normalized_name": "icon",
      "package_manager": "pnpm",
      "path": "app/icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "2d07cb3a4c73596107d29406",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "226786bd4e1a863d",
      "framework": "next-react",
      "imports": "next",
      "lines": 23,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "d8ad94e4daf213e71b6d17e7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c74fd225d563dc2d",
      "framework": "next-react",
      "imports": "",
      "lines": 395,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "e86bc46c2e5c0e579f0613ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "782c13b4dc196da2",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "225e5151d3bc4cc121f72ab6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,next-intl",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next-intl/server, next/og | frontend-score:115 | ui-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ac6dde92404ed52",
      "framework": "next-react",
      "imports": "next-intl/server,next/og",
      "lines": 40,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/[locale]/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "73885d630c1d2e784774dc4d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleLayout | imports:../../i18n/settings, @/components/footer, @/components/header, @/components/local-storage-manager, @/components/sidebar, @vercel/analytics/next, next-intl, next-intl/server | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | metadata",
      "exports": "LocaleLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1b3c308619f428e",
      "framework": "next-react",
      "imports": "../../i18n/settings,@/components/footer,@/components/header,@/components/local-storage-manager,@/components/sidebar,@vercel/analytics/next,next-intl,next-intl/server,next/font/google,next/navigation,react",
      "lines": 144,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "fbaab0ee9331b56ba58c0afc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,next-intl",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next-intl/server, next/og | frontend-score:115 | ui-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ac6dde92404ed52",
      "framework": "next-react",
      "imports": "next-intl/server,next/og",
      "lines": 40,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/[locale]/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "d3fa3beb75f05d140f6b44dc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/concept-video, @/components/features-section, @/components/hero-section, @/components/how-it-works, @/components/safety-section, @/components/tech-specs-section, @/components/timeline-section, @/components/waitlist-section | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e29547aba384d66f",
      "framework": "next-react",
      "imports": "@/components/concept-video,@/components/features-section,@/components/hero-section,@/components/how-it-works,@/components/safety-section,@/components/tech-specs-section,@/components/timeline-section,@/components/waitlist-section",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "6c556ee2a151b2f3158cb3e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9afb2a4ee7043173",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "5cd5a5e01bd57fe2f4641b1b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "164de81d722fd041",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp-stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,discovery,process",
      "component_id": "6b9ba578e9e33d1e368334f3",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocs | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "ApiDocs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2a9a018fe9c6dec6",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,ui",
      "component_id": "b28dba62dd11dd5cd570df99",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og | backend-score:125 | frontend-score:115 | ui-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f743527d498926a0",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "8ee25b72d7e2413ca262e1dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:crypto, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "06971c6d11d2d3db",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "2e5447844d021d87a2161a5d",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/concept-video, ../components/header, ../components/waitlist-section, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cc5fc37a81a505a1",
      "framework": "next-react",
      "imports": "../components/concept-video,../components/header,../components/waitlist-section,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ui-ux.test",
      "normalized_name": "ui-ux",
      "package_manager": "pnpm",
      "path": "tests/ui-ux.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "eb6a84d464c95e889faf18fe",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "211804e500a7a80b",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "tests/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "11d85b526061134f54191aad",
      "component_kind": "sitemap",
      "confidence": 65,
      "dependency_roots": "fs,path,vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:fs, path, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "94164a7e53a163e0",
      "framework": "next-react",
      "imports": "fs,path,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "sitemap-check.test",
      "normalized_name": "sitemap-check",
      "package_manager": "pnpm",
      "path": "tests/sitemap-check.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e4f209e953e321e7ef689b68",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "52adc53be5938750ac00858c",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "c5873fec43f7fef797ec8166",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TechSpecsSection | imports:react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TechSpecsSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c1fb12bbe3a4542f",
      "framework": "next-react",
      "imports": "react",
      "lines": 293,
      "logic_relevance": "none",
      "name": "tech-specs-section",
      "normalized_name": "tech-specs-section",
      "package_manager": "pnpm",
      "path": "components/tech-specs-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9b15a3a35e88eb63db5e133c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConceptVideo | imports:lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ConceptVideo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ab26feae4244a896",
      "framework": "next-react",
      "imports": "lucide-react,next/image,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "concept-video",
      "normalized_name": "concept-video",
      "package_manager": "pnpm",
      "path": "components/concept-video.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7a46980edb15bfadf879c0ae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4cd6e3eb407ee480",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 76,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "f7780c739555e482b7001b68",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-intl,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocalStorageManager | imports:next-intl, react | frontend-score:115 | ui-score:70",
      "exports": "LocalStorageManager",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2ec0fcc56d942869",
      "framework": "next-react",
      "imports": "next-intl,react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "local-storage-manager",
      "normalized_name": "local-storage-manager",
      "package_manager": "pnpm",
      "path": "components/local-storage-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "91d4958223e2c71d7ed493d6",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TimelineSection | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TimelineSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8653c6ba444e9dc7",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "timeline-section",
      "normalized_name": "timeline-section",
      "package_manager": "pnpm",
      "path": "components/timeline-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "81d21ae8c91aec911cc4062d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:next-intl, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "27e9191f93c9cd0e",
      "framework": "next-react",
      "imports": "next-intl,next/link,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "73b85e383aefc26835b148a3",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorks | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HowItWorks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4efb5f417c808a7b",
      "framework": "next-react",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "how-it-works",
      "normalized_name": "how-it-works",
      "package_manager": "pnpm",
      "path": "components/how-it-works.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d74fe6a15787c45bcc43ec53",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SafetySection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SafetySection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4aed2a0520593ae5",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 199,
      "logic_relevance": "none",
      "name": "safety-section",
      "normalized_name": "safety-section",
      "package_manager": "pnpm",
      "path": "components/safety-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5dec68d88e8a93b3a170e2a6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:next-intl, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4392b29526277c5b",
      "framework": "next-react",
      "imports": "next-intl,next/link,next/navigation,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e2aec8a461dd16089f495e4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:next/link | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "708cb467727e91ef",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 39,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "19ab26052b594a9c49189ea7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesSection | imports:next-intl | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FeaturesSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "506f3fde6a05b977",
      "framework": "next-react",
      "imports": "next-intl",
      "lines": 48,
      "logic_relevance": "none",
      "name": "features-section",
      "normalized_name": "features-section",
      "package_manager": "pnpm",
      "path": "components/features-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0f594cb50126dc50bd208447",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WaitlistSection | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WaitlistSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5c06c278ff5640c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,lucide-react,react",
      "lines": 222,
      "logic_relevance": "none",
      "name": "waitlist-section",
      "normalized_name": "waitlist-section",
      "package_manager": "pnpm",
      "path": "components/waitlist-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c50818dcb30cd7149431a9a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "52ceef4ad4d482b2e310efb8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f30f05fa4eb1c1ee0a61c7db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "99c98c7fd0fb798168bf5e92",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "429aa78151432e8c",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,discovery",
      "component_id": "3f789952f4dc513d2d9af8a5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0224afb2b072b65a",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "38ae98bfed449d81dd6c6d30",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b7b16a001046bead",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "38a4953cc107c327f5d394ae",
      "component_kind": "llms-discovery",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "40268d72e84360e3",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "b053628ac1612b94c7fd3bac",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "9d0a9ba747d92ef7",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "adfbdf205ecf24d88689212d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "765a6b72d6b39eb8",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "339919dc8e659fe9910a8f79",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b097f97cfa6f38b1",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "4313db1fb57e356194c92417",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5d714e908bbef76a",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a0102980f1d7a806feec6f85",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "node-fetch",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node-fetch | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7ed0b5d82b9f4392",
      "framework": "next-react",
      "imports": "node-fetch",
      "lines": 23,
      "logic_relevance": "none",
      "name": "indexnow",
      "normalized_name": "indexnow",
      "package_manager": "pnpm",
      "path": "scripts/indexnow.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8844b087b4f1819d9fe61219",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ai",
      "component_id": "1dd0aa3a885d8028a1194fb5",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "next-intl",
      "description": "AI component for i18n; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./settings, next-intl/server | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "90007ded04a46b2f",
      "framework": "next-react",
      "imports": "./settings,next-intl/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "request",
      "normalized_name": "request",
      "package_manager": "pnpm",
      "path": "i18n/request.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__airrow-commuter-balloon",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6c7a4088e540d10600b727f6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca48a6ec2cbe62ef",
      "framework": "next-react",
      "imports": "",
      "lines": 4685,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security,automation",
      "component_id": "f8ef927962e5d2ca103fe10a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "538900df1aed3113",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "API_DOCUMENTATION",
      "normalized_name": "api-documentation",
      "package_manager": "pnpm",
      "path": "API_DOCUMENTATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "5ef625645aef91816fb2820c",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5f20708abbe96969",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "f03c1fa5b7312a756fa2064a",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0ffac39858797f1",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 31,
      "logic_relevance": "none",
      "name": "vitest.setup",
      "normalized_name": "vitest-setup",
      "package_manager": "pnpm",
      "path": "vitest.setup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "8f9654d213b2e7a3598c3ad4",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "561a5c2d36b82cd8",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3ec9bc3d1005836dbfb24032",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b75178ed201959e9",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f71a6b523ebc438100b4eb1d",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:config, proxy | imports:next/server | security-score:55",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e952b459b3bdc133",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "5e570fa5263cb7726fd4dcd9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "67625a63ad9bef55",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "e40c1f4c46f578f845723f96",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, contentType, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Icon,contentType,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3ce28e760b9b2de",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 34,
      "logic_relevance": "none",
      "name": "apple-icon",
      "normalized_name": "apple-icon",
      "package_manager": "pnpm",
      "path": "app/apple-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "8f2894fd00ff766b4dd6b20f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, contentType, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Icon,contentType,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4e8d460c8a36444",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 34,
      "logic_relevance": "none",
      "name": "icon",
      "normalized_name": "icon",
      "package_manager": "pnpm",
      "path": "app/icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "a7b2784eefc0128fea09a720",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a302e84a9e8bd476",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 87,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,security,discovery",
      "component_id": "110c07204f0bc22ed08a05e9",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@supabase/supabase-js, next | frontend-score:55 | security-score:55 | discovery-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ffebc7f93c55277e",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,next",
      "lines": 59,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "13f4a9d997d96fad748106e6",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:../components/Breadcrumbs, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "49fa1fa4345a4b61",
      "framework": "next-react",
      "imports": "../components/Breadcrumbs,next,next/font/google,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "c60750b147ca4520c6ea080b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5506883304c54441",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 87,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "69b1d561910e8b31b94b27b0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/app/actions/bibles, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f302a594beb5f7f",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 423,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "23ea9f688258a867a56057cc",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c8b258c37cf33813",
      "framework": "next-react",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,discovery,ai",
      "component_id": "41b910cbcba2cab3bfb10b92",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6caca06265fc2be0",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "1da997975396a70c01c07e6e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3ecbf7c16e24d45a",
      "framework": "next-react",
      "imports": "@/lib/supabase/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "e2f770d136c22ac488b5e95b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/app/actions/stripe, @/components/ui/button, @/components/ui/card, lucide-react, next, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d7054079d36b4d1",
      "framework": "next-react",
      "imports": "@/app/actions/stripe,@/components/ui/button,@/components/ui/card,lucide-react,next,next/image,next/link,react",
      "lines": 175,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "6262a588da38311ccea3aba5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0bf540ecfcd8b17d",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "bdbc07b0f045540040b84362",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "01e7752838c07c38",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cf0ddcfd5741f46429264f46",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminLayout | imports:@/lib/auth, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdminLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ba1382e1c03e41e",
      "framework": "next-react",
      "imports": "@/lib/auth,next/navigation,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/admin/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "e9cadec07b8f66901b0fb202",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminDashboard, Icon | imports:@/app/actions/bibles, @/app/actions/orders, @/components/admin-nav, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminDashboard,Icon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c63caa006f1bba48",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/app/actions/orders,@/components/admin-nav,@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "947ee25b9056afff78fcfc9f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/app/actions/settings, @/components/admin-nav, @/components/signature-upload, @/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29525618ff176a6c",
      "framework": "next-react",
      "imports": "@/app/actions/settings,@/components/admin-nav,@/components/signature-upload,@/components/ui/card",
      "lines": 56,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2b862f212da8484fb576d75d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:EditBiblePage | imports:@/app/actions/bibles, @/components/bible-form, @/components/ui/button, @/components/ui/card, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "EditBiblePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34f4f6aee904f4c2",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/components/bible-form,@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation",
      "lines": 39,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/edit/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b81acc2f8e72273a96ec9f17",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddBiblePage | imports:@/components/bible-form, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "AddBiblePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07a1637379bc1516",
      "framework": "next-react",
      "imports": "@/components/bible-form,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/add/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d214b4134171dce244c4cce8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InventoryPage | imports:@/app/actions/bibles, @/components/admin-nav, @/components/bible-actions, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "InventoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "549ea1f49f7b6baa",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/components/admin-nav,@/components/bible-actions,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/inventory/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "705b66d3b8b9410111729ad9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:OrdersPage | imports:@/app/actions/orders, @/components/admin-nav, @/components/ui/badge, @/components/ui/card, @/components/ui/table | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "OrdersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "864b8b9c0f7812a3",
      "framework": "next-react",
      "imports": "@/app/actions/orders,@/components/admin-nav,@/components/ui/badge,@/components/ui/card,@/components/ui/table",
      "lines": 75,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/orders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "35b2465071f213a3bbd06a4e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutPage | imports:@/app/actions/bibles, @/components/checkout, @/components/ui/button, @/components/ui/card, @/lib/products, lucide-react, next, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | metadata",
      "exports": "CheckoutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5afafbf94318008",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/components/checkout,@/components/ui/button,@/components/ui/card,@/lib/products,lucide-react,next,next/image,next/link,next/navigation",
      "lines": 187,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/checkout/[productId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "f3e3c3258d5ee60b21eea017",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cc73795386835dce",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6d4eca641371b641c66b5cf6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/auth, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "813b3ae787e3c6d2",
      "framework": "next-react",
      "imports": "@/lib/auth,next/navigation",
      "lines": 28,
      "logic_relevance": "none",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "app/actions/auth.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,ai",
      "component_id": "93649d77abfcf86f9ac0b1a4",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/actions/bibles, @/lib/products, @/lib/stripe | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31aaac4d768c317c",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/lib/products,@/lib/stripe",
      "lines": 75,
      "logic_relevance": "none",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "app/actions/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,security",
      "component_id": "9cfbf8fd05bbf57a22707b91",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next/cache | frontend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "702d8fe42e5edb10",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 32,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "app/actions/settings.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "frontend,observability,automation",
      "component_id": "e1b74d1d541ba255817548e5",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Bible | imports:@/lib/supabase/server, next/cache | frontend-score:55 | observability-score:55 | automation-score:45",
      "exports": "Bible",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7185f82c23a489f",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 178,
      "logic_relevance": "none",
      "name": "bibles",
      "normalized_name": "bibles",
      "package_manager": "pnpm",
      "path": "app/actions/bibles.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability",
      "component_id": "571594476e541a58b7273389",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Order | imports:@/lib/supabase/server | observability-score:55",
      "exports": "Order",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8d5819d408f0f1b",
      "framework": "next-react",
      "imports": "@/lib/supabase/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "orders",
      "normalized_name": "orders",
      "package_manager": "pnpm",
      "path": "app/actions/orders.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "0ac3b9a1a8e0399b036a9319",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5605c6c49b6a06e3",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 144,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/bibles/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e2191d93beab584e2da0399c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, OPTIONS, PUT | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,OPTIONS,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "73329c3c434b490e",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 182,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/bibles/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "899781d1441e752983f82863",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "37169cce54448314",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bibles/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "7496e055dfa9eb61327e492e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1da5771e8ad16a55",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bibles/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "dbd3d12970ad24af0ea2721d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c3dbc62a1de3a623",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "d385634fc1380a0cf71aa2ec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "090c97b62b4292a4",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b1ddcf89e1c82901225f9210",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f4d2dab01999aee0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "6b9d688e5f81af7e10c537c4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7601a5643ec31127",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 467,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery,process",
      "component_id": "f5cf3ef8a1107c76b30f480e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "98d11ba8592d58d0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "7703338cce63d4927fdab6cf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c16583f450e972e5",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/orders/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "24eae1f8d57ec8489da419db",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/stripe, @/lib/supabase/server, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6894d55d8ea19cff",
      "framework": "next-react",
      "imports": "@/lib/stripe,@/lib/supabase/server,next/server,stripe",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/stripe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,discovery",
      "component_id": "7ba12e2516484be72629fa1e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c60841f4fe58c15",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "47209272c63600ae211a6630",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c8b607825ceb5b69",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "e51842e8fa2ceadf359430f0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReservePage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/button, @/components/ui/card, @/lib/products, lucide-react, next, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "ReservePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b3a0eec5dd1060a",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/button,@/components/ui/card,@/lib/products,lucide-react,next,next/image,next/link",
      "lines": 194,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/reserve/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "aa1aeaab4858476bb83f4dec",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "211290bbb30712a5",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "d0e2862e1cdc81009272d4da",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:../../lib/jobs, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7060a5a2a5217d55",
      "framework": "next-react",
      "imports": "../../lib/jobs,next",
      "lines": 46,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e36a74935f619c14dafb1baa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/app/actions/auth, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd3eb8f9b7794bf7",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "1fe79a8b7faee2ae11d77eec",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3f8665c8da959fc5d0288f8e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BibleActions | imports:@/app/actions/bibles, @/components/ui/alert-dialog, @/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BibleActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff45cb9814514ca4",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/components/ui/alert-dialog,@/components/ui/button,lucide-react,next/link,react",
      "lines": 80,
      "logic_relevance": "none",
      "name": "bible-actions",
      "normalized_name": "bible-actions",
      "package_manager": "pnpm",
      "path": "components/bible-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2ca29e2ade9db3963eea3c00",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d3ad36e4b8d214cbbce88731",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminNav | imports:@/app/actions/auth, @/components/ui/button, @/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e771b684812a533",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/ui/button,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 68,
      "logic_relevance": "none",
      "name": "admin-nav",
      "normalized_name": "admin-nav",
      "package_manager": "pnpm",
      "path": "components/admin-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b12ec5281a953a46156d274f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@stripe/react-stripe-js,@stripe/stripe-js,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Checkout | imports:@/app/actions/stripe, @stripe/react-stripe-js, @stripe/stripe-js, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "Checkout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb1ed571a548f8e2",
      "framework": "next-react",
      "imports": "@/app/actions/stripe,@stripe/react-stripe-js,@stripe/stripe-js,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "checkout",
      "normalized_name": "checkout",
      "package_manager": "pnpm",
      "path": "components/checkout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8efe0e26fdca806ee70466fb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/ui/button, @/components/ui/sheet, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8ded397d676d3a3",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/sheet,lucide-react,next/link,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5865e985355e4a8fa6c6c645",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c8eeae94aba7d2ef",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 88,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "151b6c79c167e08bfb5779e6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "151e6e59983ccc57",
      "framework": "next-react",
      "imports": "next/link,next/navigation,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "Breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/Breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c9eb5494ddbfd9ebf916c136",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignatureUpload | imports:@/app/actions/settings, @/components/ui/button, @/components/ui/input, @/components/ui/label, lucide-react, next/image, react | frontend-score:115 | ui-score:70",
      "exports": "SignatureUpload",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1d7194c2b7c1fcc",
      "framework": "next-react",
      "imports": "@/app/actions/settings,@/components/ui/button,@/components/ui/input,@/components/ui/label,lucide-react,next/image,react",
      "lines": 67,
      "logic_relevance": "none",
      "name": "signature-upload",
      "normalized_name": "signature-upload",
      "package_manager": "pnpm",
      "path": "components/signature-upload.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "256c20330c4cb4686a5c253b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BibleForm | imports:@/app/actions/bibles, @/app/actions/upload, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/tabs, @/components/ui/textarea, lucide-react | frontend-score:115 | ui-score:70",
      "exports": "BibleForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "495b4375e4e73cec",
      "framework": "next-react",
      "imports": "@/app/actions/bibles,@/app/actions/upload,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/tabs,@/components/ui/textarea,lucide-react,next/image,next/navigation,react",
      "lines": 203,
      "logic_relevance": "none",
      "name": "bible-form",
      "normalized_name": "bible-form",
      "package_manager": "pnpm",
      "path": "components/bible-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "039189f02cbc4163d74b768d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8434fabbc72b047a68f32dad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4a49cc63f0973e5f61d69398",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d22148c0d1ed2d743410320f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c132f2087b414a93a9d791cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5d2c9fc85223bf116751390a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3838bd1292bb663f4b7a1fa8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "8972c6c47cfbc6ae56e1e930",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6c99096bf086a3e58f9f6478",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e88641215d4751aa37e2cebd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6de8126a69473dbbb51cba12",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "c7bf72d638473a924803e65b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fd7fe0e1e3d3a47da232d298",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9c635e3c5213586f44b66e1e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5464684da6cbdb5877ad4d7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a173b8f8cb4e8f859943fe6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1631166a2d0a3c65b9a5d01d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7ed6937b683d35b1bde23a88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "61a964645a8a73022746646f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b9f0e10ae91d4a4b8eb58cfb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5042861dd4dbcdf711d2cc0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "062f27508f21fcfdbb12f605",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7944154e7c48842ff1f61a95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4cc0bcc415adb4c7ab47b2d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ac0470ffb9af28554dc2efb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "203c834e0b27a9444b9b0db6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2ada3fa2495a4fb42a4f9fef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "64d4f73a01bbce71d9a7deed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a68ffb41dc0260fc3d00b582",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "f24153b1301d3aa6f674ea3a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fd72468489e0e5a2b62c95f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b87e32fb5a406628f0f97123",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cb75a474a6b3e61c18037b49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "40600d091c1fba3b02a5fd2e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "28df7b473c8627fc22ac994c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "01780ddf3414297735b64d2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1cb0cc1081281e8d6a1e1d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "183abcae9fd2fed9a730e157",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "da64c5555a16ddd7166ff694",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a7bb51211b1e6b73171d72bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f183d54fdb1de31a94922d41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "80619ea682faffaee5b439a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "42368f2fa38e678f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "fc572b9e18e676cfa699810c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "95e3334f4135719d7993055e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5fb820275e282921c3bea09d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "28cdb8d0f98b92834c4bd514",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4697c3c53fa53f7740055b13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "31cb585c92ec32606bfa5e9d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "019d7000ccac5d785f353038",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5e4fc9ddd5adc072f58c5222",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "62f06f46494682adbb05d862",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e786f7614255507a6dfd8fa5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dffdaa40713ebd7fb98fe902",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "f824ccd3b255b9199785031b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e9fd60af92fa093bb407d9b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "d4801e35027e2013a6c2d569",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c7d59c319827c223e7d15aab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "2df6f15b3ccc6f44bd164511",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "eff491961e2572a6",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability,security",
      "component_id": "cbad3f79cff8500059542ada",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:MockStripe | imports:@/app/actions/stripe, @/lib/stripe, vitest | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MockStripe",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "889db6b48a31f861",
      "framework": "next-react",
      "imports": "@/app/actions/stripe,@/lib/stripe,vitest",
      "lines": 85,
      "logic_relevance": "none",
      "name": "stripe.test",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "__tests__/stripe.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6126b4700bedc56f96213397",
      "component_kind": "health-check",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/health/route, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "16d90534c06acbb0",
      "framework": "next-react",
      "imports": "../app/api/health/route,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,security",
      "component_id": "96bb40d73c727b1446abc298",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "34610fea318c5bba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "1354a5373b1fa145f0384d3a",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:API_KEY, BASE_URL | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "API_KEY,BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "485bd966e494ead9",
      "framework": "next-react",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "seed-bibles",
      "normalized_name": "seed-bibles",
      "package_manager": "pnpm",
      "path": "scripts/seed-bibles.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "fe768358db88934105d8441b",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:API_KEY, BASE_URL | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "API_KEY,BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8036217196879d3c",
      "framework": "next-react",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "test-mcp",
      "normalized_name": "test-mcp",
      "package_manager": "pnpm",
      "path": "scripts/test-mcp.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,logic",
      "component_id": "fab0d2a8ed19995ecd20fcaf",
      "component_kind": "integration-module",
      "confidence": 95,
      "dependency_roots": "stripe",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:stripe | imports:stripe | integration-score:55 | security-score:55 | logic-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7275bf3d7426afc5",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "02ba8d3d6dfd9d2a85b9bc7b",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "99eaa3c9f6526656ce41cfa0",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "857688179e1b45ef",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "lib/jobs.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "logic,automation",
      "component_id": "10623d291f1d6c52b3836403",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BIBLE_PRICE_CENTS, PRODUCTS, Product, formatPrice, getBiblePrice, getProductById | logic-score:85 | automation-score:45",
      "exports": "BIBLE_PRICE_CENTS,PRODUCTS,Product,formatPrice,getBiblePrice,getProductById",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6b258d119a1a09c6",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "cf545c8128b438623f0cd6c6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SESSION_COOKIE | imports:next/headers | logic-score:60 | security-score:55 | uses-env",
      "exports": "SESSION_COOKIE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "906d4b0bca070ac1",
      "framework": "next-react",
      "imports": "next/headers",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "7dc9e794f307217715f5881a",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9812f816e5e5bebe",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "472999518bf5b046c8510eff",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "50f04528fef7f73f",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "3730457b8886d8211d71a531",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Dictionary, getDictionary | imports:./config, ./dictionaries/en.json, ./dictionaries/es.json | logic-score:85",
      "exports": "Dictionary,getDictionary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f23022a27a31db48",
      "framework": "next-react",
      "imports": "./config,./dictionaries/en.json,./dictionaries/es.json",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "get-dictionary",
      "normalized_name": "get-dictionary",
      "package_manager": "pnpm",
      "path": "lib/i18n/get-dictionary.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "f5869ae3d21b367cbd6f066f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, isValidLocale, localeNames, locales | logic-score:85 | observability-score:55",
      "exports": "Locale,defaultLocale,isValidLocale,localeNames,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2b6e076d49aeede8",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "2a0db3404bbba34cd9402c3c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "59ae44d641b648ba",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "lib/i18n/dictionaries/en.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "d5350b1f169b27ee59b6e4e4",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b8a7d28c639d6b8a",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "lib/i18n/dictionaries/es.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__autographed-bibles-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f9c20f85d3528b7e7f54c910",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d92e8df5ecba3768",
      "framework": "next-react",
      "imports": "",
      "lines": 4734,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "ef6effcb5324fa600a15b113",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c331450ce212380fc03182b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "8efd1c6930955fadfbd3d6e1",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f44b3626fae056ca",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "08a14a52d3a550c5f05462b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "828a813c34b253e2",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "891a91ffefd42ca62ef77b93",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d65c2f636c4bd2b",
      "framework": "next-react",
      "imports": "",
      "lines": 4679,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6322c40dd3a5fb6ad216435f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "673488c7d53b7551",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "84f29382c109914622d100f4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "6a9c96a1480650acc4aca4df",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cc6e6de051369a94",
      "framework": "next-react",
      "imports": "next",
      "lines": 46,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7103f5dde21a35029f7a5fb3",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/Sidebar, @/components/TopBar, @/components/footer, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b31ef01ced98fe22",
      "framework": "next-react",
      "imports": "@/components/Sidebar,@/components/TopBar,@/components/footer,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "132edcc24db9b2a6ca24f115",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/breadcrumbs, @/components/early-bird-signup, @/components/faq, @/components/features, @/components/header, @/components/hero, @/components/how-it-works, @/components/origin-story | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7bc1dfd419125537",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/early-bird-signup,@/components/faq,@/components/features,@/components/header,@/components/hero,@/components/how-it-works,@/components/origin-story",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "26fc7eb3e942db548af4ee21",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "46604c6c795ce0de",
      "framework": "next-react",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "4bab762cd12f72e50d025c31",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ea42584b07e15d7b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "5d358b3047168bc359bb0fcb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f1119b9339bd11f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "2668bf8391ddd21a76ec5d14",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "911ad2997a7126a2",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "2a3d2ef2dbb058a1cbf3af74",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "749745f4e15deac2",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "66aedb04c5f7424ff4e0efcb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0c968cda0ad0fc8e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,discovery,process,ai",
      "component_id": "2d6e3b1cf2347a29d35b709e",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocs | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "ApiDocs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cbd77b1c92bc0da0",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,frontend,ui,observability,ai",
      "component_id": "45bb0c3189f82a88cd38583e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JobsPage | imports:@/components/breadcrumbs | automation-score:95 | frontend-score:85 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f3a7d443b2507e69",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs",
      "lines": 58,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "e70b78e77e4385b429d3166e",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/faq, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a3d6b74e7b7a226",
      "framework": "next-react",
      "imports": "../components/faq,@testing-library/react,vitest",
      "lines": 12,
      "logic_relevance": "none",
      "name": "faq.test",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "tests/faq.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "18361ccf056fd2c29815b596",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/health/route, ../app/api/network/graph/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f0ff9ef6d9ba863e",
      "framework": "next-react",
      "imports": "../app/api/health/route,../app/api/network/graph/route,next/server,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "tests/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "103019f7862fd6c86d8d9d99",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "97315908d8ea386fea10c310",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2017065f602d901a82ceba07",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1adfbec059fc148",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 59,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "a336c28fcc8808741fb4c2af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Features | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Features",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07afa97324378157",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "components/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "90e050277caa6e0d396b1adb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e1f16ffaba9096b7",
      "framework": "next-react",
      "imports": "lucide-react,next/link,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "TopBar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/TopBar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "5254bd1fbabddb0f512d1400",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs, BreadcrumbsProps | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Breadcrumbs,BreadcrumbsProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24ea6eb0df0064a6",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 34,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5c055a75456265f30fcd4d16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d7e777505e4c0399",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 105,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "473fb68d4ddea215b5f95a2e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorks | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HowItWorks",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afc5f28eb829efb1",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "how-it-works",
      "normalized_name": "how-it-works",
      "package_manager": "pnpm",
      "path": "components/how-it-works.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c8d1a85133291bdbec467eb2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:OriginStory | imports:next/image | frontend-score:115 | ui-score:55",
      "exports": "OriginStory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef969dea02a8cbc8",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 51,
      "logic_relevance": "none",
      "name": "origin-story",
      "normalized_name": "origin-story",
      "package_manager": "pnpm",
      "path": "components/origin-story.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8f0e2363b7aa8f2e86e005bf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "99762566fd1e48b3",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 42,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1f3914fcad6eae0b3139e4c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:next/link, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "44d9c33783724d88",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "Sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/Sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security,ai",
      "component_id": "02cdeaf57cc0fb96ec5fb264",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ | imports:@/components/ui/accordion | frontend-score:85 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQ",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82cb11ed90cb1ed2",
      "framework": "next-react",
      "imports": "@/components/ui/accordion",
      "lines": 46,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/faq.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f240cc9b621d249c1c909763",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EarlyBirdSignup | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "EarlyBirdSignup",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88c9bf03abaccfad",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 101,
      "logic_relevance": "none",
      "name": "early-bird-signup",
      "normalized_name": "early-bird-signup",
      "package_manager": "pnpm",
      "path": "components/early-bird-signup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "29cfef56b13391112cca44f4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "833e7a2f4b0dad4c460a8fb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7bdb575e0edded6153b2f260",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "11ba7b1b43e940f256d76d77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a9a0d68250eb80036d3b9b90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "06cbc694779161d74350745f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ba92d030a13021ced7b6362e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "624a11a4435f62c22ab9be97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e6c0201a154b41639c155c5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b63d2d7c86d1a4905c6d38f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3257fbac20658e359b73a5a8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "1c8410523a3589c68511e3dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "447ffddd0b6d4929e44da082",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "caff084caf5dff3ca74115ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a109afa64680de27331df8b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bf3463c67e7e9606e7867614",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4d5e825d505d2782414c4d44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3ddab9e177a114e76fd99c44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "834af9e0cab9d232053e43bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "269e652a060e7872c255e90f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "98763c51570b12aace93156c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5c94997d5c84e33e879592d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c0fd25b3f9e11afba8fb7310",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "38e65375b9f36cd28f0eca9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e4fcdb17c9cd96f1e528292b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c68626a5c2b5e5198657af80",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ed6176b82bede462690b6e76",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "fba3d57d1fd8523fef0eb0d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0ad7dd1a5ec155334aa190ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "27cf08fd532acb5a6fa48c41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8c28cd93614ad588b539766a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9a22d6e15dd4673bd339191a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5414ad9c77e623c44d0d6f87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7bfb25a6fb2d6c929486b4a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e0a6e48fbec4d5f6cea92dcd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f6b6fa6cf0cdd97d7a8e9899",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "23ea37367c34393140119eb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8baa855ca358c9021dd0ef6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bb0edcc630e0c15e91712311",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "85f6e819353bb973049a73fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "059d95d423b39146c6d340ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "107e9faf535e4e53817fb277",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5a4a067cc3637553f8567f5b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e145e19bc25ada9f227b9003",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "304d9cc817ea9eb07122844f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "25629c4b2d21f4c6eface833",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "301408d7679d1ab1929cb142",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "c8e46813e7ca7ffe3d8f8f9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "30838909ca71ac81eb12a201",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "550ec4dad1a2fa8035566377",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c0e652bc82db2bb3e87997e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5251151dc37a71a7f64ea4ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e64de2da98459c672a1afccd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "80fadc299874de8511831a7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "208bead0648dd8456d6f7b8b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "5a5e5286f893cf1e57f17239",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a8ae7e07eadb92d6905b6361",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "b5565803af4388b1e4a4896d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "33616c81b234496e",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "9a271482696d3cfb5add6771",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d672e061bb8f5fcf",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "ada3425187735f2edf4f7eba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "76a81827381f3e56",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "d45f40f220e4f0a8a3720f9b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb8493156f0fdf5b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "1ab9829a859aaef27ad945d6",
      "component_kind": "llms-discovery",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "80a9a9640e25e708",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "c1082d66124d43f9d37cde21",
      "component_kind": "mcp",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "20d3f685ad475a48",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "public/.well-known/mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "1342af9deb6f80631e53ef8a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0c8b9693a87a5bf6",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ec0733bb4c8083454c669526",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cb34c7ac6184909c",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,process",
      "component_id": "88c457957badd8997b8eb352",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:70 | process-score:65 | next-route-handler",
      "exports": "dynamic",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "406a920c945d5726",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d25cef0febb8f5211924540b",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__automotive-flamethrower-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "ddec1dc084634d699bddaa0d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "2eb7c63481e3d980",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "traefik-compose",
      "normalized_name": "traefik-compose",
      "package_manager": "unknown",
      "path": "traefik-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "a96fc855cc0fc63b9d70e1f6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "36baa92eca7c8339",
      "framework": "unknown",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "run_all",
      "normalized_name": "run-all",
      "package_manager": "unknown",
      "path": "run_all.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1073f0ebcaaa3425f56f0f4e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "afed5953b4354be1",
      "framework": "unknown",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "81612cd9af482e53fab269e7",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "24ceab75ee850a85",
      "framework": "unknown",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "370dd5a3e3221843a0110574",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ba9643955bfcb045",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "unknown",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "33aa1aa3b233b5f80eb58a7e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b70d399bcb6847d",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "provision/bootstrap.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "81e495d5e9039613932b001e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "8684404fabdc9f14",
      "framework": "unknown",
      "imports": "",
      "lines": 314,
      "logic_relevance": "none",
      "name": "deepstack",
      "normalized_name": "deepstack",
      "package_manager": "unknown",
      "path": "provision/k8s/deepstack.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5928fa19d22728485b81be7c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "1ac722c9bb7a3e8a",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "privatebin",
      "normalized_name": "privatebin",
      "package_manager": "unknown",
      "path": "provision/k8s/privatebin.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "2a9753ff600c7f33d80157db",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91ccd68ec1eaabd0",
      "framework": "unknown",
      "imports": "",
      "lines": 271,
      "logic_relevance": "none",
      "name": "k8s-provision",
      "normalized_name": "k8s-provision",
      "package_manager": "unknown",
      "path": "provision/k8s/k8s-provision.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "64e50f309f8c3e9827b90edc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "cac5a64e207e9017",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "portainer",
      "normalized_name": "portainer",
      "package_manager": "unknown",
      "path": "provision/k8s/portainer.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f6a775645dd53a082f38231f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "593b17687355184c",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "uptime-kuma",
      "normalized_name": "uptime-kuma",
      "package_manager": "unknown",
      "path": "provision/k8s/uptime-kuma.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "03881570b507b109eb2e12f9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5365664e13958a5e",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "k3s-provision",
      "normalized_name": "k3s-provision",
      "package_manager": "unknown",
      "path": "provision/k3s/k3s-provision.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ea3f9bfe0ad7a60cc11b63a2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "aws-sdk",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AWS | imports:aws-sdk | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "AWS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b6c8adda4402696d",
      "framework": "unknown",
      "imports": "aws-sdk",
      "lines": 48,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "terraform/lambda/index.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "719e3062ba6ed7f3a71c7b50",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66cf7c97d85559ca",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "terraform/lambda/package.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "automation",
      "component_id": "b6a0505def0b8f96ad1a78db",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ae0857677d62ad2d",
      "framework": "unknown",
      "imports": "",
      "lines": 583,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "unknown",
      "path": "terraform/lambda/package-lock.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "f1cba282d0fd10596aa45740",
      "component_kind": "infrastructure-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "072e06d1565e1fc9",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "terraform/lambda/package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "044711dbb51a8830b35d5ca3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ef0249f6720b7039",
      "framework": "unknown",
      "imports": "",
      "lines": 231,
      "logic_relevance": "none",
      "name": "build",
      "normalized_name": "build",
      "package_manager": "unknown",
      "path": "docker/build.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a8434cf5b39f16bb22dbd292",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e985451d932a710b",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/uptime-kuma/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f6b42bf424c763449cbd9a5a",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b5fa3ad5391b5c27",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/portainer/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "fda8a29b89debb4f14401bf4",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ec4bd028e5fc0536",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/deepstack/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "1c52914558e4470deceabf54",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6d95f8808e49953d",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "runtime-config",
      "normalized_name": "runtime-config",
      "package_manager": "unknown",
      "path": "docker/deepstack/config/runtime-config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "16ef089cc48f66e02f006c66",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91b0ca2f7a0d4f76",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/privatebin/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "2726fd2b281c21615231d4e8",
      "component_kind": "container-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ca2d73f74dd63282",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "docker/privatebin/conf/php.ini",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "47c95f550c4f11f357cb51e6",
      "component_kind": "container-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:180",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9ef23d605261c2c8",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "docker/haproxy/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "b623ddf24922652ac521339d",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4cfdda6d53eac909",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "tests/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,process",
      "component_id": "fb7c722a9ba852b8d084ee8f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a540423cc469701b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "run_once_post_deploy",
      "normalized_name": "run-once-post-deploy",
      "package_manager": "unknown",
      "path": "scripts/run_once_post_deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4e2881dad1333b0b0164d27a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9e1ad9ca4357feb2",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "s3_backup",
      "normalized_name": "s3-backup",
      "package_manager": "unknown",
      "path": "backup/s3_backup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "758426fbdad65a89f3342415",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "1b0584b50aa3342b",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "traefik",
      "normalized_name": "traefik",
      "package_manager": "unknown",
      "path": "traefik/traefik.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "d9003a06850c5ac2d787c930",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "d5a8d0e8470921d5",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "middlewares",
      "normalized_name": "middlewares",
      "package_manager": "unknown",
      "path": "traefik/config/middlewares.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__aws-lab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d08fe099ab86501497736eb3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7bdfe16e10ca92d5",
      "framework": "unknown",
      "imports": "",
      "lines": 239,
      "logic_relevance": "none",
      "name": "populate-vars",
      "normalized_name": "populate-vars",
      "package_manager": "unknown",
      "path": "populate-vars.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "0ff5971d35aa3ad3a7d8a868",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd595a076830c3bd",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9b6ae6633d72848ad569c91f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b8fd5a55c6846d69",
      "framework": "unknown",
      "imports": "",
      "lines": 193,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "d92183597f88627e9ef0addb",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc0934381c6c5bd9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "exec",
      "normalized_name": "exec",
      "package_manager": "unknown",
      "path": "exec.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,security,automation",
      "component_id": "1d91fa48ea46af05bc52b944",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f8feab41f3002728",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "unknown",
      "path": "tree.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,observability,security",
      "component_id": "caafb3efab15d7b69d793d6b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d787d9ae6aa602bc",
      "framework": "unknown",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "create-tree",
      "normalized_name": "create-tree",
      "package_manager": "unknown",
      "path": "create-tree.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "0bca133558f919cbcb83e72e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e304217461e79699",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "terraform/us-west-2/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "fe40ed3dc0dfe555de7b51c2",
      "component_kind": "infrastructure-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "48709f11e715cd70",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "modules",
      "normalized_name": "modules",
      "package_manager": "unknown",
      "path": "terraform/us-east-2/.terraform/modules/modules.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d6ea465d486c9af7a289b6ae",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b828874fd52dac7",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "fluent-bit-configmap",
      "normalized_name": "fluent-bit-configmap",
      "package_manager": "unknown",
      "path": "terraform/us-east-2/modules/logging/fluent-bit-configmap.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8079a7991aa6ecf859c36bad",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "db461b8b55ec5a93",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "fluent-bit-daemonset",
      "normalized_name": "fluent-bit-daemonset",
      "package_manager": "unknown",
      "path": "terraform/us-east-2/modules/logging/fluent-bit-daemonset.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "789ed8354b044dbda19f5d72",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c4125b445d7df4b2",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "jenkins-casc",
      "normalized_name": "jenkins-casc",
      "package_manager": "unknown",
      "path": "terraform/us-east-2/modules/ec2/jenkins/jenkins-casc.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "97a4300330e5d8d6bd326547",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "dd351cd44dad66b4",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "infra/us-west-2/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process",
      "component_id": "5286d1171ae315b3479f1797",
      "component_kind": "infrastructure-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a59ef1e2c59d2008",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "nextjs-deployment",
      "normalized_name": "nextjs-deployment",
      "package_manager": "unknown",
      "path": "infra/us-east-2/eks/nextjs-deployment.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "91d59816d09d10c3893f7c9f",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a71c439531dda88a",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "cluster-autoscaler",
      "normalized_name": "cluster-autoscaler",
      "package_manager": "unknown",
      "path": "infra/us-east-2/eks/cluster-autoscaler.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "30dcac22793b794774066409",
      "component_kind": "infrastructure-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "d5d990e81294a165",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "nextjs-values",
      "normalized_name": "nextjs-values",
      "package_manager": "unknown",
      "path": "infra/us-east-2/eks/nextjs-values.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "726766054af119ed12708632",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "03ef5a350adfc250",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "setup-dns",
      "normalized_name": "setup-dns",
      "package_manager": "unknown",
      "path": "scripts/setup-dns.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,backend,process",
      "component_id": "3d70c0d316fa00d7285b1dd9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb63b894f8e3a3aa",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "deploy-alb-ingress-controller",
      "normalized_name": "deploy-alb-ingress-controller",
      "package_manager": "unknown",
      "path": "scripts/deploy-alb-ingress-controller.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "061daed4b049208be47e8d35",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1fdf5d3ef4663bf5",
      "framework": "unknown",
      "imports": "",
      "lines": 222,
      "logic_relevance": "none",
      "name": "validate-eks-cluster",
      "normalized_name": "validate-eks-cluster",
      "package_manager": "unknown",
      "path": "scripts/validate-eks-cluster.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process",
      "component_id": "9bf1d05758fb3bb867480045",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5611161580faf195",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "deploy-nextjs",
      "normalized_name": "deploy-nextjs",
      "package_manager": "unknown",
      "path": "scripts/deploy-nextjs.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d237404ac2d202558da781be",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7437b5857d5c2685",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "configure-acm",
      "normalized_name": "configure-acm",
      "package_manager": "unknown",
      "path": "scripts/configure-acm.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "99040e15153369d260312c56",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37e9eb2f5afc71fc",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "install-cli-brew",
      "normalized_name": "install-cli-brew",
      "package_manager": "unknown",
      "path": "scripts/install-cli-brew.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "4c834a36009fbf1f994751fd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "50af671c49750b31",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "aws-eks",
      "normalized_name": "aws-eks",
      "package_manager": "unknown",
      "path": "scripts/aws-eks.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0fd3c015a249a77fe64786e6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8e612a1dfd19940",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "jenkins-restore",
      "normalized_name": "jenkins-restore",
      "package_manager": "unknown",
      "path": "scripts/jenkins-restore.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security,ai",
      "component_id": "a6893b0f605ec383552fcaa9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7e5a6f960b3e4390",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "configure-jenkins",
      "normalized_name": "configure-jenkins",
      "package_manager": "unknown",
      "path": "scripts/configure-jenkins.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,ai,observability",
      "component_id": "6d917943c143e0ad2565cfe9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | ai-score:75 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "20f3227bcc88252d",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "install-cloudwatch-agent",
      "normalized_name": "install-cloudwatch-agent",
      "package_manager": "unknown",
      "path": "scripts/install-cloudwatch-agent.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "b228ffcbc98236a70b6b892c",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cb32ce7aaaca5990",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "README_deploy",
      "normalized_name": "readme-deploy",
      "package_manager": "unknown",
      "path": "scripts/README_deploy.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "6cbb7edd999b286265d15075",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ee42c89257b9ca6d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "backup_etcd",
      "normalized_name": "backup-etcd",
      "package_manager": "unknown",
      "path": "scripts/backup_etcd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5c9f7705c3e8435e454359ce",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b6562f8bb2fb15fb",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "create-eks",
      "normalized_name": "create-eks",
      "package_manager": "unknown",
      "path": "scripts/create-eks.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d7df032a8361b5eccc8c9cc5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | cron-or-schedule",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d0f2410c7f498ef",
      "framework": "unknown",
      "imports": "",
      "lines": 240,
      "logic_relevance": "none",
      "name": "populate-vars_DEV",
      "normalized_name": "populate-vars-dev",
      "package_manager": "unknown",
      "path": "scripts/populate-vars_DEV.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,security",
      "component_id": "c547f1a98ff16a8b1de219b3",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f36fe32732a44e8",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "rotate-keys",
      "normalized_name": "rotate-keys",
      "package_manager": "unknown",
      "path": "scripts/rotate-keys.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,process,observability",
      "component_id": "6d207f4df5bffb6b2c807706",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab78126726100c92",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "deploy",
      "normalized_name": "deploy",
      "package_manager": "unknown",
      "path": "scripts/deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "31174051adb517fcba453e58",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9d4f6bc6e0c68e7",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "jenkins-backup",
      "normalized_name": "jenkins-backup",
      "package_manager": "unknown",
      "path": "scripts/jenkins-backup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "00a12240f2c1233c7b228da2",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "65e6c6659cdb02cb",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "start-jenkins",
      "normalized_name": "start-jenkins",
      "package_manager": "unknown",
      "path": "scripts/start-jenkins.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "b1ab726698e21a25c3b08f4b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a1bd96b6fef87f77",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "validate-vars",
      "normalized_name": "validate-vars",
      "package_manager": "unknown",
      "path": "scripts/validate-vars.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "df1c3b02c6f1c9ac0002847f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "70bc77614ea1a802",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "deploy-eks-monitoring",
      "normalized_name": "deploy-eks-monitoring",
      "package_manager": "unknown",
      "path": "scripts/deploy-eks-monitoring.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__aws-next-k8-cluster-deploy",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "082fb9ff77055e5f68d5354d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f91bdfd684646ca2",
      "framework": "svelte",
      "imports": "",
      "lines": 4987,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "d0c6ab4024a77af58f4904d4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "722f497c7721fe55",
      "framework": "svelte",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "14b36a65032725e2506e27f0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58c78ffd25a3691a",
      "framework": "svelte",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 96,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a46a665bade6138da7801b8b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6322a1d2ede3e403",
      "framework": "svelte",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "60b7529fa62be985a10909f8",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/error-analytics, @/components/mobile-enhancements, @vercel/analytics/react, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96e718645c9efdbb",
      "framework": "svelte",
      "imports": "@/components/error-analytics,@/components/mobile-enhancements,@vercel/analytics/react,next,next/font/google,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "df544a1d253f457225fb014e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/chess-easter-egg, @/components/floating-news-button, @/components/konami-code, @/components/loading-spinner, @/components/matrix-rain, @/components/mobile-optimized-section, @/components/particle-system, @/components/resume-modal | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4cfad9f1a20fccab",
      "framework": "svelte",
      "imports": "@/components/chess-easter-egg,@/components/floating-news-button,@/components/konami-code,@/components/loading-spinner,@/components/matrix-rain,@/components/mobile-optimized-section,@/components/particle-system,@/components/resume-modal,@/components/secret-mode,@/components/sound-button,@/components/sound-control,@/components/ui/card,@/components/ui/tooltip,@/hooks/use-sound,lucide-react,react",
      "lines": 1240,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "c0a2f97bc6c312c02d3e2839",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "svelte",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "43691d0101a2225912c0001d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "svelte",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "bcb37dd93d2a58a480918260",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "svelte",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "20de7eab519e39724318945a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChessEasterEgg | imports:@/components/chess/chess-game, @/hooks/use-sound, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ChessEasterEgg",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1cf840c06d22a90",
      "framework": "svelte",
      "imports": "@/components/chess/chess-game,@/hooks/use-sound,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "chess-easter-egg",
      "normalized_name": "chess-easter-egg",
      "package_manager": "pnpm",
      "path": "components/chess-easter-egg.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "5219c88f640695807dbe5c45",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileOptimizedSection | imports:@/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "MobileOptimizedSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76d4218ccff96ce1",
      "framework": "svelte",
      "imports": "@/lib/utils,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "mobile-optimized-section",
      "normalized_name": "mobile-optimized-section",
      "package_manager": "pnpm",
      "path": "components/mobile-optimized-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3c8b8f15a2dbf37e2e8f2113",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JitsiMeetEmbed | imports:@/components/sound-button, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "JitsiMeetEmbed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4e95df7538f0da8",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/hooks/use-sound,lucide-react,react",
      "lines": 389,
      "logic_relevance": "none",
      "name": "jitsi-meet-embed",
      "normalized_name": "jitsi-meet-embed",
      "package_manager": "pnpm",
      "path": "components/jitsi-meet-embed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "35733a06483cab744dfae5eb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AchievementSystem | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AchievementSystem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae62a23f6906f703",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 361,
      "logic_relevance": "none",
      "name": "achievement-system",
      "normalized_name": "achievement-system",
      "package_manager": "pnpm",
      "path": "components/achievement-system.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "b2a8fb48b304508e6ac84d9a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SoundControl | imports:@/components/ui/button, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "SoundControl",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e9146e9b00237ad",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/hooks/use-sound,lucide-react,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "sound-control",
      "normalized_name": "sound-control",
      "package_manager": "pnpm",
      "path": "components/sound-control.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "896e5482b1c868e3fb59485b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileEnhancedButton, MobileEnhancements, useMobileGestures | imports:@/hooks/use-sound, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "MobileEnhancedButton,MobileEnhancements,useMobileGestures",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee84f5cfd2f5ef34",
      "framework": "svelte",
      "imports": "@/hooks/use-sound,react",
      "lines": 285,
      "logic_relevance": "none",
      "name": "mobile-enhancements",
      "normalized_name": "mobile-enhancements",
      "package_manager": "pnpm",
      "path": "components/mobile-enhancements.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "b80cddddba1c9b4f0bf2f7dd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:KonamiCode | imports:@/hooks/use-sound, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "KonamiCode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "948fbcdf611a727c",
      "framework": "svelte",
      "imports": "@/hooks/use-sound,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "konami-code",
      "normalized_name": "konami-code",
      "package_manager": "pnpm",
      "path": "components/konami-code.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2d4014f56a644db8784e9e46",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResumeModal, ResumeModalProps | imports:@/components/ui/badge, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ResumeModal,ResumeModalProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d7edc61e6945f62",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 417,
      "logic_relevance": "none",
      "name": "resume-modal",
      "normalized_name": "resume-modal",
      "package_manager": "pnpm",
      "path": "components/resume-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,ai",
      "component_id": "9eefad2e4f5643dae1aa6c1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuakeJSEmbed | imports:@/components/sound-button, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | ai-score:45",
      "exports": "QuakeJSEmbed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58637742896385e5",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/hooks/use-sound,lucide-react,react",
      "lines": 133,
      "logic_relevance": "none",
      "name": "quake-js-embed",
      "normalized_name": "quake-js-embed",
      "package_manager": "pnpm",
      "path": "components/quake-js-embed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "4a9739cf1c45457b3057b011",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoadingSpinner | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "LoadingSpinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "341bde20d73a2a18",
      "framework": "svelte",
      "imports": "lucide-react,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "loading-spinner",
      "normalized_name": "loading-spinner",
      "package_manager": "pnpm",
      "path": "components/loading-spinner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fbd0b6ab74c5caa5a151ea7a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FloatingNewsButton | imports:@/components/news-preview-modal, @/components/sound-button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "FloatingNewsButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c68025691a8d48a8",
      "framework": "svelte",
      "imports": "@/components/news-preview-modal,@/components/sound-button,@/components/ui/tooltip,lucide-react,react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "floating-news-button",
      "normalized_name": "floating-news-button",
      "package_manager": "pnpm",
      "path": "components/floating-news-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "b09154124b7bdb66cad97f09",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnhancedGatherSDK | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "EnhancedGatherSDK",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c54b46b94e176db0",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 546,
      "logic_relevance": "none",
      "name": "enhanced-gather-sdk",
      "normalized_name": "enhanced-gather-sdk",
      "package_manager": "pnpm",
      "path": "components/enhanced-gather-sdk.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4209a955766aab06d7d406ea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecretMode | imports:@/components/achievement-system, @/components/games-menu, @/components/gather-town-integration, @/components/gather-town-max-integration, @/components/jitsi-meet-embed, @/components/mobile-enhancements, @/components/sound-button, @/components/ui/card | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SecretMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1329d466612d597",
      "framework": "svelte",
      "imports": "@/components/achievement-system,@/components/games-menu,@/components/gather-town-integration,@/components/gather-town-max-integration,@/components/jitsi-meet-embed,@/components/mobile-enhancements,@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 207,
      "logic_relevance": "none",
      "name": "secret-mode",
      "normalized_name": "secret-mode",
      "package_manager": "pnpm",
      "path": "components/secret-mode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "093e172202b173ac0db9339c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ParticleSystem | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ParticleSystem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5be67058ed2517c",
      "framework": "svelte",
      "imports": "react",
      "lines": 96,
      "logic_relevance": "none",
      "name": "particle-system",
      "normalized_name": "particle-system",
      "package_manager": "pnpm",
      "path": "components/particle-system.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,security",
      "component_id": "f4a2b1c1b713a39f6a32c7a2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "imports:./chess/chess-game, ./pacman-js-embed, ./quake-js-embed, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86e6a120d9cb1897",
      "framework": "svelte",
      "imports": "./chess/chess-game,./pacman-js-embed,./quake-js-embed,lucide-react,react",
      "lines": 337,
      "logic_relevance": "none",
      "name": "games-menu",
      "normalized_name": "games-menu",
      "package_manager": "pnpm",
      "path": "components/games-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "ddaaca5601ed0527a21c3dbd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GatherTownMaxIntegrationCard | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "GatherTownMaxIntegrationCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f793f5a92e4fc32a",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react,recharts",
      "lines": 243,
      "logic_relevance": "none",
      "name": "gather-town-max-integration",
      "normalized_name": "gather-town-max-integration",
      "package_manager": "pnpm",
      "path": "components/gather-town-max-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4127185f54d7c11dd2ea0346",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MatrixRain | imports:react | frontend-score:115 | ui-score:70",
      "exports": "MatrixRain",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "639367c05a141b08",
      "framework": "svelte",
      "imports": "react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "matrix-rain",
      "normalized_name": "matrix-rain",
      "package_manager": "pnpm",
      "path": "components/matrix-rain.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "cfed01c364b4fe6c43583a51",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsPreviewModal | imports:@/components/sound-button, @/components/ui/card, @/components/ui/tooltip, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NewsPreviewModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e6acd3bbb71318e",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/components/ui/tooltip,@/hooks/use-sound,lucide-react,react",
      "lines": 225,
      "logic_relevance": "none",
      "name": "news-preview-modal",
      "normalized_name": "news-preview-modal",
      "package_manager": "pnpm",
      "path": "components/news-preview-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "42638b3aef891286484af338",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SoundButton | imports:@/components/ui/button, @/hooks/use-sound, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SoundButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44456813fdb5a09e",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/hooks/use-sound,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "sound-button",
      "normalized_name": "sound-button",
      "package_manager": "pnpm",
      "path": "components/sound-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7293e2fe1a9121bd62eb645f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StarphoneModal | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StarphoneModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "526b57d6991e184d",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 254,
      "logic_relevance": "none",
      "name": "starphone-modal",
      "normalized_name": "starphone-modal",
      "package_manager": "pnpm",
      "path": "components/starphone-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c9498fc3c23c933e0c693e76",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatphormNewsAskHN | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PlatphormNewsAskHN",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "756e479c11445459",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 259,
      "logic_relevance": "none",
      "name": "platphorm-news-ask-hn",
      "normalized_name": "platphorm-news-ask-hn",
      "package_manager": "pnpm",
      "path": "components/platphorm-news-ask-hn.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "37dc1d6248169d235ec18175",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogModal | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BlogModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e4b8dd44f49d7d2",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 266,
      "logic_relevance": "none",
      "name": "blog-modal",
      "normalized_name": "blog-modal",
      "package_manager": "pnpm",
      "path": "components/blog-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "32bc742e34093df9e4575f92",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GitHubCommitGraph | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "GitHubCommitGraph",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1804b3c4af38754d",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 291,
      "logic_relevance": "none",
      "name": "github-commit-graph",
      "normalized_name": "github-commit-graph",
      "package_manager": "pnpm",
      "path": "components/github-commit-graph.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "4fbc775a9757f34b6380badd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorAnalytics, ErrorAnalyticsProvider | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "ErrorAnalytics,ErrorAnalyticsProvider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f6b963f9413c1868",
      "framework": "svelte",
      "imports": "react",
      "lines": 133,
      "logic_relevance": "none",
      "name": "error-analytics",
      "normalized_name": "error-analytics",
      "package_manager": "pnpm",
      "path": "components/error-analytics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "498a9bace6a6c2a508fcc700",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:GatherTownIntegration | imports:@/components/sound-button, @/components/ui/card, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GatherTownIntegration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d5b647fc756c3e1",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/hooks/use-sound,lucide-react,react",
      "lines": 466,
      "logic_relevance": "none",
      "name": "gather-town-integration",
      "normalized_name": "gather-town-integration",
      "package_manager": "pnpm",
      "path": "components/gather-town-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "0e13916699f16918b1169893",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PacmanJSEmbed | imports:@/components/sound-button, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "PacmanJSEmbed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92b08974f3c18071",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/hooks/use-sound,lucide-react,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "pacman-js-embed",
      "normalized_name": "pacman-js-embed",
      "package_manager": "pnpm",
      "path": "components/pacman-js-embed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "478626dc00b1db992fdb1299",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "svelte",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ac2567a7d6f325def5385b54",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f26180306dfd186a96fa8828",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "svelte",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9dcb0c19e0a62f20463ab0d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "91ab7abf19cc671ac17c071c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChessGame | imports:@/components/sound-button, @/components/ui/card, @/components/ui/tooltip, @/hooks/use-sound, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChessGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99520bd142a80778",
      "framework": "svelte",
      "imports": "@/components/sound-button,@/components/ui/card,@/components/ui/tooltip,@/hooks/use-sound,lucide-react,react",
      "lines": 634,
      "logic_relevance": "none",
      "name": "chess-game",
      "normalized_name": "chess-game",
      "package_manager": "pnpm",
      "path": "components/chess/chess-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "be675d24e9c9c488db4ebf73",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useSound | imports:react | security-score:55",
      "exports": "useSound",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d99e0e5d3ff03e13",
      "framework": "svelte",
      "imports": "react",
      "lines": 213,
      "logic_relevance": "none",
      "name": "use-sound",
      "normalized_name": "use-sound",
      "package_manager": "pnpm",
      "path": "hooks/use-sound.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "4954c3cb86ff4a39214a2bc2",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "svelte",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbine-worldwide-2025-wwww",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d42910855d49399a8d450e0a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82d15731c7adf1ba",
      "framework": "next-react",
      "imports": "",
      "lines": 4617,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "14647fd23d2a14ddbee12cdb",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "36a3e16071d4a19a",
      "framework": "next-react",
      "imports": "next",
      "lines": 55,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "f7701a9b01326dfed1b8b03e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46dfd2b871bf8241",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8d47e6339c2d82f13b86e138",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf0aad469dab6997",
      "framework": "next-react",
      "imports": "",
      "lines": 6554,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "579ca1b30856e2f940796a30",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b135fce2df87764f",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "a10ea86e31ac3562d79049b1",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/i18n, next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e6b6c8f600e925e",
      "framework": "next-react",
      "imports": "@/lib/i18n,next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "5a696dcdead8fc5600145517",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/case-studies, @/lib/i18n, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99ccc4d81a4e80bc",
      "framework": "next-react",
      "imports": "@/lib/case-studies,@/lib/i18n,next",
      "lines": 121,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6e3e85c8bc9949e5b61ee129",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/common/json-ld, @/components/theme-provider, @/lib/i18n, @/lib/schema, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c81394649705974",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@/components/theme-provider,@/lib/i18n,@/lib/schema,@vercel/analytics/next,next,next/font/google",
      "lines": 135,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "6429ca21d397f7b4ea41afaf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc0195d6e451aec7",
      "framework": "next-react",
      "imports": "",
      "lines": 318,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b7b2fd5de48a5442c5cfd383",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5431e7d055c69353",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 38,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "dfc1640231913162cf88ae26",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4845a690e3cf11e1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,automation,ai",
      "component_id": "355d578008ef13e4bae4b88e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/i18n, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "792d66ed15751ac0",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "061d3d9660c6a6531e395050",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b45c2f216b025526",
      "framework": "next-react",
      "imports": "../rss.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "7fa49645bbb5e61e262f74da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e1124782826a070",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 227,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "b62fea9b4e99b3fdca009eb4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketingLayout | imports:@/components/command-palette, @/components/common/breadcrumbs, @/components/common/scroll-progress, @/components/common/skip-link, @/components/effects/boot-sequence, @/components/layout/footer, @/components/layout/top-bar, @/components/ui/sonner | frontend-score:85 | ui-score:55",
      "exports": "MarketingLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e53d23c26e1b9160",
      "framework": "next-react",
      "imports": "@/components/command-palette,@/components/common/breadcrumbs,@/components/common/scroll-progress,@/components/common/skip-link,@/components/effects/boot-sequence,@/components/layout/footer,@/components/layout/top-bar,@/components/ui/sonner",
      "lines": 36,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(marketing)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "c27ef5fe607ad28097a8ae0f",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/common/terminal-skeleton | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "324bdec1909b7eca",
      "framework": "next-react",
      "imports": "@/components/common/terminal-skeleton",
      "lines": 5,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/(marketing)/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "c788bd169f96a80ea8c0c94f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/common/json-ld, @/components/sections/approach, @/components/sections/case-studies, @/components/sections/cta-section, @/components/sections/hero-terminal, @/components/sections/services-grid, @/components/sections/stats-counter, @/components/sections/testimonials | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fdc769f046513bb2",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@/components/sections/approach,@/components/sections/case-studies,@/components/sections/cta-section,@/components/sections/hero-terminal,@/components/sections/services-grid,@/components/sections/stats-counter,@/components/sections/testimonials,@/lib/i18n,@/lib/schema",
      "lines": 49,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "a34369d9a7753ab6616c7360",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InsightsPage, metadata | imports:@/components/common/json-ld, @/components/effects/scroll-reveal, @/lib/i18n, @/lib/schema, @/lib/utils, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "InsightsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "adb01e58366a1b36",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@/components/effects/scroll-reveal,@/lib/i18n,@/lib/schema,@/lib/utils,lucide-react,next,next/link",
      "lines": 263,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/insights/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "51e85ac48d9714b34a58ba9e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactLayout, metadata | imports:@/components/common/json-ld, @/lib/i18n, @/lib/schema, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ContactLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f1690bc04010dd2",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@/lib/i18n,@/lib/schema,next",
      "lines": 57,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(marketing)/contact/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8262ed92b826630590917d45",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:@/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7eb2146d597d834",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/ui/button,lucide-react,next/link,react",
      "lines": 425,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c6c7d96af5367379a2fd51ab",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyLayout, metadata | imports:@/lib/i18n, next | frontend-score:115 | ui-score:55",
      "exports": "PrivacyLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ce89513253d535b",
      "framework": "next-react",
      "imports": "@/lib/i18n,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(marketing)/privacy/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b01f53b3ab39a9e61109b44e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,motion",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPolicyPage | imports:@/components/common/terminal-window, motion/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PrivacyPolicyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83628e35bf768bce",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,motion/react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e07a74db7356c084c79ac2a2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsLayout, metadata | imports:@/lib/i18n, next | frontend-score:115 | ui-score:55",
      "exports": "TermsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a988acab4d902b80",
      "framework": "next-react",
      "imports": "@/lib/i18n,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(marketing)/terms/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "33b89ce6e14e922117691609",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,motion",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsOfServicePage | imports:@/components/common/terminal-window, motion/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TermsOfServicePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ee04d0f23ae703d",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,motion/react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c275d2d74931bc99d1c823ee",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/common/animated-counter, @/components/common/json-ld, @/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/sections/platphorm-showcase, @/lib/i18n, @/lib/schema, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "80b81bc27c34a0f9",
      "framework": "next-react",
      "imports": "@/components/common/animated-counter,@/components/common/json-ld,@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/sections/platphorm-showcase,@/lib/i18n,@/lib/schema,lucide-react,next",
      "lines": 232,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "612fd6328e6653e889b66cc7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkPage, metadata | imports:@/components/common/json-ld, @/components/effects/scroll-reveal, @/lib/i18n, @/lib/schema, @/lib/utils, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6104ac2ead0253d2",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@/components/effects/scroll-reveal,@/lib/i18n,@/lib/schema,@/lib/utils,lucide-react,next,next/link",
      "lines": 237,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/work/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9397f5bc54dfe7785826a146",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,motion,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CaseStudyDetail | imports:@/components/common/animated-counter, @/components/common/share-buttons, @/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/case-studies | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CaseStudyDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22d1605b319c36c4",
      "framework": "next-react",
      "imports": "@/components/common/animated-counter,@/components/common/share-buttons,@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/case-studies,lucide-react,motion/react,next/link",
      "lines": 272,
      "logic_relevance": "none",
      "name": "case-study-detail",
      "normalized_name": "case-study-detail",
      "package_manager": "pnpm",
      "path": "app/(marketing)/work/[slug]/case-study-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "795c9841266d2f5517c4298b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CaseStudyPage | imports:./case-study-detail, @/components/common/json-ld, @/lib/case-studies, @/lib/i18n, @/lib/schema, next, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "CaseStudyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae845ed0e792c563",
      "framework": "next-react",
      "imports": "./case-study-detail,@/components/common/json-ld,@/lib/case-studies,@/lib/i18n,@/lib/schema,next,next/navigation",
      "lines": 86,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/work/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ac67290528da0e1707480d99",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvisoryPage, metadata | imports:@/components/advisory/advisory-page-content, @/components/common/json-ld, @/lib/advisory, @/lib/i18n, @/lib/schema, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdvisoryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "237127a8f800206b",
      "framework": "next-react",
      "imports": "@/components/advisory/advisory-page-content,@/components/common/json-ld,@/lib/advisory,@/lib/i18n,@/lib/schema,next",
      "lines": 102,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/advisory/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "282a6f81a9ecbf6e03e1660c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CookiesLayout, metadata | imports:@/lib/i18n, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CookiesLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfa8f364a795d231",
      "framework": "next-react",
      "imports": "@/lib/i18n,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(marketing)/cookies/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d0106f65857c18c72171278e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,motion",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CookiePolicyPage | imports:@/components/common/terminal-window, motion/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CookiePolicyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3891e7f0798c8f83",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,motion/react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/cookies/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation,ai",
      "component_id": "820d445fc157914873039a6d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesPage, metadata | imports:@/components/common/json-ld, @/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/ui/button, @/lib/i18n, @/lib/schema, lucide-react, next | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ServicesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c469c88232e07fd9",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/ui/button,@/lib/i18n,@/lib/schema,lucide-react,next,next/link",
      "lines": 293,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(marketing)/services/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "01756ee3a4e4ba815f07ed78",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5b57cd11f36e8122",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "90cba23996679e3f561945b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/sendgrid, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1dd8eee929a99c52",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/sendgrid,next/server,zod",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contact/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "41f3694fd96f8d8ca6146f39",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, START_TIME, VERSION | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET,START_TIME,VERSION",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a6c38a3d4015b14c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "dabd921753a158d220bc4d4c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/sendgrid, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b52cf8a0a84c8143",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/sendgrid,next/server,zod",
      "lines": 141,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/subscribe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery,automation",
      "component_id": "adab71612219facab58565ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "955e8b435871a6af",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 216,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "37155ba6384b57f0582d2fd9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,PATCH,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3a34a0fa46f949cf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "b1c56327744348cb93c8f05e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:crypto, next/server, zod | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1c272d56711a99d9",
      "framework": "next-react",
      "imports": "crypto,next/server,zod",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "bbeb1ebd9dfb558ca25254ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4f9902bfdf316b1b",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "advisory-launch-checklist",
      "normalized_name": "advisory-launch-checklist",
      "package_manager": "pnpm",
      "path": "docs/advisory-launch-checklist.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ebff51c83b4ab24398831d98",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "7d89f6c7d74e119967701ab8",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "134ceb7912b6305b38487995",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,next-themes,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommandPalette, CommandPaletteHint | imports:@/components/ui/command, lucide-react, next-themes, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommandPalette,CommandPaletteHint",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4d31340b4a97590",
      "framework": "next-react",
      "imports": "@/components/ui/command,lucide-react,next-themes,next/navigation,react,sonner",
      "lines": 315,
      "logic_relevance": "none",
      "name": "command-palette",
      "normalized_name": "command-palette",
      "package_manager": "pnpm",
      "path": "components/command-palette.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "415b4a2df40f3c47fe692d11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "afdf36925e84bf925317102c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5fa2069a3bbc548f08c7151e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a119540b109744a825841f55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c7af00aec4cf7aa4f6cdfb99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bca96f3400706775b1a5e219",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b0e458868265ebbb44d1082e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "e7a091c8cec2646ef8cee031",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b14bd778e7ac3d78ebd58eea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dd623ccd67f2c8da4394e42b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "43bdd1117846875bb4857855",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "417f8546e8c21579b35bd8fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2bf3c89e1349f02cfe4e5052",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "37ab3811f9dcacc62dbf78a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "efb992608f7b90a9cc27ccb9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "12cc48f7e11069c6ad3092ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6ce408a2e650699b99f66dbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "450132961277c3e0a39c8d22",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1219395331b128c68a5c2f6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "85a21fb40252ade389debbfe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "686be0ab5f6a3165beb6d515",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f932bc9ae2923e5d430c70ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1994d0072a6fd669f4b33775",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "69fde68d87a3a861c6de5d80",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3bdd1779bc20ffa1d66daa5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "092b732063977691faefc6db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "420ec56fd4cb9d7c5a4c3efe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "2d5ab6aec30bd1556990be45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cc5fd9f5c4684f031bdf8bb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "e740d8c8c4b94914c3f6065f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a3b75ce730f996073ee175c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fc9608b31eea94b5e6abdb7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aeaa4c075909fcb8ded409a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cdf1fea8c805229f5dcbad0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f181800ff424e5e4eb097797",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "e9257c13f79a64de19cc80a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "710298ef39ef654bb3ac2ad0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2017e7a75ab6a892a153e6ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "564381a0a2d0e3b57914025a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9d4919b862a6a3703f68ec75",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "45f09bb5d0990eda9c06ddc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "86cb4fe25a1620601f57d59f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "84b93cf1a7b74d191d0687c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e05c0500f0a2c5e6826969b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2a8d90bb2ba52d0f85b87457",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c0132743415f6a4c3f7de2ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a6bd3fa981b935d648cda192",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "09a2a6956936a3c49d79e496",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ca16a115b14741172084e57d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e01379e07fef6c3f353fa90d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a3458bef1ea4cc93786a4f50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8215f63d1dd82f6340e104ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "05254ad7eb73450eace0e3a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "7e4eadc6d39f0fe8fbf24e59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "60eb876423a5dcc7f96aa554",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "868611d6a8da21a6ebac4f44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "66fd845a1158bdd53b846155",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f2cd9c65aba619e05cb01d94",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsSection | imports:@/components/common/animated-counter, @/components/effects/scroll-reveal | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "StatsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e340043e845610cb",
      "framework": "next-react",
      "imports": "@/components/common/animated-counter,@/components/effects/scroll-reveal",
      "lines": 50,
      "logic_relevance": "none",
      "name": "stats-counter",
      "normalized_name": "stats-counter",
      "package_manager": "pnpm",
      "path": "components/sections/stats-counter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "af388354749f80081deadc5c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesGrid | imports:@/components/effects/scroll-reveal, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ServicesGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbcf9c08df2f9dc3",
      "framework": "next-react",
      "imports": "@/components/effects/scroll-reveal,@/lib/utils,lucide-react,next/link",
      "lines": 132,
      "logic_relevance": "none",
      "name": "services-grid",
      "normalized_name": "services-grid",
      "package_manager": "pnpm",
      "path": "components/sections/services-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "44e8dec2efd696cc03f4dc4d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApproachSection | imports:@/components/effects/glitch-text, @/components/effects/scroll-reveal, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ApproachSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c968427bf900c0c",
      "framework": "next-react",
      "imports": "@/components/effects/glitch-text,@/components/effects/scroll-reveal,lucide-react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "approach",
      "normalized_name": "approach",
      "package_manager": "pnpm",
      "path": "components/sections/approach.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4d3b2ec63bbb686ae2ea8296",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroTerminal | imports:@/components/common/terminal-window, @/components/effects/typing-effect, @/components/ui/button, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroTerminal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b232e3bc3be8b9e",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,@/components/effects/typing-effect,@/components/ui/button,@/lib/utils,lucide-react,next/link,react",
      "lines": 188,
      "logic_relevance": "none",
      "name": "hero-terminal",
      "normalized_name": "hero-terminal",
      "package_manager": "pnpm",
      "path": "components/sections/hero-terminal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e9c748f53aee009778108207",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialsSection | imports:@/components/effects/scroll-reveal, @/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TestimonialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8acccba89611f15",
      "framework": "next-react",
      "imports": "@/components/effects/scroll-reveal,@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "testimonials",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "components/sections/testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "d78da40e1645f850cbea92a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatphormShowcase | imports:@/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/ui/badge, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PlatphormShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0b558be9c560a83",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/ui/badge,lucide-react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "platphorm-showcase",
      "normalized_name": "platphorm-showcase",
      "package_manager": "pnpm",
      "path": "components/sections/platphorm-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "a2ed833bcf799146e03333ae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "731e0271cc8fe181",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/ui/button,lucide-react,next/link",
      "lines": 102,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/sections/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d074266ac9876057178e8167",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CaseStudiesSection | imports:@/components/effects/scroll-reveal, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CaseStudiesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "473f385184604f70",
      "framework": "next-react",
      "imports": "@/components/effects/scroll-reveal,@/lib/utils,lucide-react,next/link",
      "lines": 132,
      "logic_relevance": "none",
      "name": "case-studies",
      "normalized_name": "case-studies",
      "package_manager": "pnpm",
      "path": "components/sections/case-studies.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3ae9de943c3948b0b9428ed2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6612a019b1c2003d",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 204,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c835c8e40bdf809af599243a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/command-palette, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/utils, lucide-react, next-themes, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1087f6e13f95bdd5",
      "framework": "next-react",
      "imports": "@/components/command-palette,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 164,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "317b139e7d7319a0008a500e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CopyLinkButton, ShareButtons | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/dropdown-menu, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CopyLinkButton,ShareButtons",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ba705eb78fe6829",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/dropdown-menu,@/lib/utils,lucide-react,react",
      "lines": 326,
      "logic_relevance": "none",
      "name": "share-buttons",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "components/common/share-buttons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "92118938e952b95bfacbafa2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BackToTop, ScrollProgressBar, SectionIndicator | imports:@/lib/utils, lucide-react, motion/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BackToTop,ScrollProgressBar,SectionIndicator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85ebfa1f16657469",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,motion/react,react",
      "lines": 156,
      "logic_relevance": "none",
      "name": "scroll-progress",
      "normalized_name": "scroll-progress",
      "package_manager": "pnpm",
      "path": "components/common/scroll-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1290913fc1a72448168580c0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnimatedCounter, StatsGrid | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AnimatedCounter,StatsGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c3c282e29a6b393",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "animated-counter",
      "normalized_name": "animated-counter",
      "package_manager": "pnpm",
      "path": "components/common/animated-counter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "124ccfe7cc64f68de5b5d0d6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ViewTransitionLink | imports:next/link, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "ViewTransitionLink",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57d993d75111b03c",
      "framework": "next-react",
      "imports": "next/link,next/navigation,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "view-transition-link",
      "normalized_name": "view-transition-link",
      "package_manager": "pnpm",
      "path": "components/common/view-transition-link.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "c66a082f0dd2135d2d8b2f20",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SkipLink | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SkipLink",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c2e1c23ec16b61a",
      "framework": "next-react",
      "imports": "react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "skip-link",
      "normalized_name": "skip-link",
      "package_manager": "pnpm",
      "path": "components/common/skip-link.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ae7b839792fe6121821fa87c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/components/ui/breadcrumb, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a4fae1bd3106769",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,lucide-react,next/link,next/navigation",
      "lines": 74,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/common/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "944abcd55dd280c6f2424088",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bad0eec09c2680ce",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/common/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "5fef659c268718709926ec80",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,motion,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:MagneticButton, MagneticWrapper | imports:@/lib/utils, motion/react, react | frontend-score:115 | ui-score:70",
      "exports": "MagneticButton,MagneticWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "251d93f5016ec4d2",
      "framework": "next-react",
      "imports": "@/lib/utils,motion/react,react",
      "lines": 134,
      "logic_relevance": "none",
      "name": "magnetic-button",
      "normalized_name": "magnetic-button",
      "package_manager": "pnpm",
      "path": "components/common/magnetic-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "5601f3a9e622138fe4de5d25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TerminalLine, TerminalWindow | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "TerminalLine,TerminalWindow",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88b03054c9294a72",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "terminal-window",
      "normalized_name": "terminal-window",
      "package_manager": "pnpm",
      "path": "components/common/terminal-window.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "134f574714c16edafec8b07d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CardSkeleton, PageSkeleton, TerminalSkeleton | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CardSkeleton,PageSkeleton,TerminalSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0fafea7e8ae99e9e",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 85,
      "logic_relevance": "none",
      "name": "terminal-skeleton",
      "normalized_name": "terminal-skeleton",
      "package_manager": "pnpm",
      "path": "components/common/terminal-skeleton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "49d2cd8c82bccbfab1063157",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FocusTrap | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FocusTrap",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c5ef3cc3115137bd",
      "framework": "next-react",
      "imports": "react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "focus-trap",
      "normalized_name": "focus-trap",
      "package_manager": "pnpm",
      "path": "components/common/focus-trap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "eef6755fd5a8dcc09fcc2e51",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlitchText | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlitchText",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c63910f0642c458",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "glitch-text",
      "normalized_name": "glitch-text",
      "package_manager": "pnpm",
      "path": "components/effects/glitch-text.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4ca054283c32cc14390baa8b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MultiLineTyping, TypingEffect | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MultiLineTyping,TypingEffect",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb8e2a5309d08b4c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "typing-effect",
      "normalized_name": "typing-effect",
      "package_manager": "pnpm",
      "path": "components/effects/typing-effect.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "frontend,ui",
      "component_id": "0e39641363b4861c7a96161c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for logic; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollReveal, StaggerChildren | imports:@/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "ScrollReveal,StaggerChildren",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ce55af70891fffd",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "scroll-reveal",
      "normalized_name": "scroll-reveal",
      "package_manager": "pnpm",
      "path": "components/effects/scroll-reveal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "1b42c4e8a298d54cc2b86ac3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BootSequence | imports:motion/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BootSequence",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fb1f660c2c9d558a",
      "framework": "next-react",
      "imports": "motion/react,react",
      "lines": 209,
      "logic_relevance": "none",
      "name": "boot-sequence",
      "normalized_name": "boot-sequence",
      "package_manager": "pnpm",
      "path": "components/effects/boot-sequence.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "8ebbbba43a2416531bfaa8a3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MatrixRain | imports:@/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "MatrixRain",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea42da08136dd9c5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "matrix-rain",
      "normalized_name": "matrix-rain",
      "package_manager": "pnpm",
      "path": "components/effects/matrix-rain.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "eaa2943f2f604922fc50ef32",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvisoryPageContent | imports:@/components/advisory/calendly-embed, @/components/common/terminal-window, @/components/effects/scroll-reveal, @/components/ui/badge, @/components/ui/button, @/components/ui/separator, @/hooks/use-advisory-analytics, @/lib/advisory | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdvisoryPageContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9734f8ae933f1745",
      "framework": "next-react",
      "imports": "@/components/advisory/calendly-embed,@/components/common/terminal-window,@/components/effects/scroll-reveal,@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/hooks/use-advisory-analytics,@/lib/advisory,lucide-react,next/link,react",
      "lines": 254,
      "logic_relevance": "none",
      "name": "advisory-page-content",
      "normalized_name": "advisory-page-content",
      "package_manager": "pnpm",
      "path": "components/advisory/advisory-page-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,automation",
      "component_id": "02d6b6784bbfdc0d8b47c1b8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CalendlyEmbed | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "CalendlyEmbed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85e7423143b76059",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "calendly-embed",
      "normalized_name": "calendly-embed",
      "package_manager": "pnpm",
      "path": "components/advisory/calendly-embed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "b577fb417308f80a6731ade3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c23b1c557babfcd2",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "4f5991b83c5c3a2cea657aaa",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/sitemap, vitest | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9ba488f10bb1dab",
      "framework": "next-react",
      "imports": "@/app/sitemap,vitest",
      "lines": 76,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/app/sitemap.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "8e9122aaaa2c50009af7babf",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/not-found, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8365e204bd362942",
      "framework": "next-react",
      "imports": "@/app/not-found,@testing-library/react,vitest",
      "lines": 44,
      "logic_relevance": "none",
      "name": "not-found.test",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "__tests__/app/not-found.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "b2d7b290da3ed416a69e4f8a",
      "component_kind": "discovery-artifact",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/app/robots, vitest | discovery-score:55 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1aee42213f1eb0f7",
      "framework": "next-react",
      "imports": "@/app/robots,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "robots.test",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "__tests__/app/robots.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "116b842fa5039ee687b71e59",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/llms-full.txt/route, @/app/llms-index.txt/route, @/app/llms.txt/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac7b923a48df69ad",
      "framework": "next-react",
      "imports": "@/app/llms-full.txt/route,@/app/llms-index.txt/route,@/app/llms.txt/route,vitest",
      "lines": 235,
      "logic_relevance": "none",
      "name": "llms-routes.test",
      "normalized_name": "llms-routes",
      "package_manager": "pnpm",
      "path": "__tests__/app/llms-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "9eaea856fa5a0808c64c2b7a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockIntersectionObserver | imports:@/components/sections/testimonials, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "MockIntersectionObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71832b5ddbe419dc",
      "framework": "next-react",
      "imports": "@/components/sections/testimonials,@testing-library/react,vitest",
      "lines": 122,
      "logic_relevance": "none",
      "name": "testimonials.test",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "__tests__/components/sections/testimonials.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "f266f241ced65b81bc4d80c3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockIntersectionObserver | imports:@/components/sections/approach, @/components/sections/case-studies, @/components/sections/cta-section, @/components/sections/platphorm-showcase, @/components/sections/services-grid, @/components/sections/stats-counter, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "MockIntersectionObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de5b2bfaf00aeb8d",
      "framework": "next-react",
      "imports": "@/components/sections/approach,@/components/sections/case-studies,@/components/sections/cta-section,@/components/sections/platphorm-showcase,@/components/sections/services-grid,@/components/sections/stats-counter,@testing-library/react,vitest",
      "lines": 303,
      "logic_relevance": "none",
      "name": "sections.test",
      "normalized_name": "sections",
      "package_manager": "pnpm",
      "path": "__tests__/components/sections/sections.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a58f61faf838404910e02211",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/footer, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a02a991e5677173",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@testing-library/react,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "footer.test",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "__tests__/components/layout/footer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b0cbd71a33ca9a811c44ce5a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/top-bar, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "099a19dbbdbc8af9",
      "framework": "next-react",
      "imports": "@/components/layout/top-bar,@testing-library/react,vitest",
      "lines": 126,
      "logic_relevance": "none",
      "name": "top-bar.test",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "__tests__/components/layout/top-bar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "6835992fca7d14835ea4559d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/common/terminal-skeleton, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83f277ac48c416e3",
      "framework": "next-react",
      "imports": "@/components/common/terminal-skeleton,@testing-library/react,vitest",
      "lines": 108,
      "logic_relevance": "none",
      "name": "terminal-skeleton.test",
      "normalized_name": "terminal-skeleton",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/terminal-skeleton.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c1f2878f8233aa0159a1930e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/common/breadcrumbs, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c5d66ea28d9aac3",
      "framework": "next-react",
      "imports": "@/components/common/breadcrumbs,@testing-library/react,vitest",
      "lines": 110,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "626abc3829fef210c2577af6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/common/json-ld, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db0f931414640328",
      "framework": "next-react",
      "imports": "@/components/common/json-ld,@testing-library/react,vitest",
      "lines": 74,
      "logic_relevance": "none",
      "name": "json-ld.test",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/json-ld.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "fca10803cc20411427c8a3e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockIntersectionObserver | imports:@/components/common/scroll-progress, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "MockIntersectionObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "227d89084e771f8e",
      "framework": "next-react",
      "imports": "@/components/common/scroll-progress,@testing-library/react,vitest",
      "lines": 156,
      "logic_relevance": "none",
      "name": "scroll-progress.test",
      "normalized_name": "scroll-progress",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/scroll-progress.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "a4aa890cec144972033e6f81",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockIntersectionObserver | imports:@/components/common/animated-counter, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "MockIntersectionObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6aabce969ceb8ff8",
      "framework": "next-react",
      "imports": "@/components/common/animated-counter,@testing-library/react,vitest",
      "lines": 139,
      "logic_relevance": "none",
      "name": "animated-counter.test",
      "normalized_name": "animated-counter",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/animated-counter.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "c15efe5be674b09a50fae9e2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/common/skip-link, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "762b8ed344eb46da",
      "framework": "next-react",
      "imports": "@/components/common/skip-link,@testing-library/react,vitest",
      "lines": 87,
      "logic_relevance": "none",
      "name": "skip-link.test",
      "normalized_name": "skip-link",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/skip-link.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,ai",
      "component_id": "9bde5911bb8c2bd8d1e61ab9",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/common/terminal-window, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1883039f7dee890",
      "framework": "next-react",
      "imports": "@/components/common/terminal-window,@testing-library/react,vitest",
      "lines": 105,
      "logic_relevance": "none",
      "name": "terminal-window.test",
      "normalized_name": "terminal-window",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/terminal-window.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "37a4feee4ed6bd3b2f543370",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/common/focus-trap, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4b82db1961dbf56",
      "framework": "next-react",
      "imports": "@/components/common/focus-trap,@testing-library/react,vitest",
      "lines": 98,
      "logic_relevance": "none",
      "name": "focus-trap.test",
      "normalized_name": "focus-trap",
      "package_manager": "pnpm",
      "path": "__tests__/components/common/focus-trap.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "c55c4623facbf934aae37c5b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/effects/typing-effect, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa143cae00947ea6",
      "framework": "next-react",
      "imports": "@/components/effects/typing-effect,@testing-library/react,vitest",
      "lines": 155,
      "logic_relevance": "none",
      "name": "typing-effect.test",
      "normalized_name": "typing-effect",
      "package_manager": "pnpm",
      "path": "__tests__/components/effects/typing-effect.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "a4daecbbdc3bee14f7e36278",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/effects/boot-sequence, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbac59f556eea7c0",
      "framework": "next-react",
      "imports": "@/components/effects/boot-sequence,@testing-library/react,vitest",
      "lines": 187,
      "logic_relevance": "none",
      "name": "boot-sequence.test",
      "normalized_name": "boot-sequence",
      "package_manager": "pnpm",
      "path": "__tests__/components/effects/boot-sequence.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "88560414244d3b1744d669c0",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/effects/glitch-text, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10e7fbeb45452d75",
      "framework": "next-react",
      "imports": "@/components/effects/glitch-text,@testing-library/react,vitest",
      "lines": 116,
      "logic_relevance": "none",
      "name": "glitch-text.test",
      "normalized_name": "glitch-text",
      "package_manager": "pnpm",
      "path": "__tests__/components/effects/glitch-text.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f775c0a1e803cbc0900d8661",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockIntersectionObserver | imports:@/components/effects/scroll-reveal, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "MockIntersectionObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16ac74a3d1129292",
      "framework": "next-react",
      "imports": "@/components/effects/scroll-reveal,@testing-library/react,vitest",
      "lines": 166,
      "logic_relevance": "none",
      "name": "scroll-reveal.test",
      "normalized_name": "scroll-reveal",
      "package_manager": "pnpm",
      "path": "__tests__/components/effects/scroll-reveal.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "a3dbc9fb34b0c33e6dd8c92b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntersectionObserverMock | imports:@/components/advisory/advisory-page-content, @/lib/advisory, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "IntersectionObserverMock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d3f92a306c50297",
      "framework": "next-react",
      "imports": "@/components/advisory/advisory-page-content,@/lib/advisory,@testing-library/react,vitest",
      "lines": 193,
      "logic_relevance": "none",
      "name": "advisory-page-content.test",
      "normalized_name": "advisory-page-content",
      "package_manager": "pnpm",
      "path": "__tests__/components/advisory/advisory-page-content.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability",
      "component_id": "b4faacfa86f07a8ea6251d95",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockIntersectionObserver, TEST_URL | imports:@/components/advisory/calendly-embed, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "MockIntersectionObserver,TEST_URL",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b7a27f9907e7863",
      "framework": "next-react",
      "imports": "@/components/advisory/calendly-embed,@testing-library/react,vitest",
      "lines": 351,
      "logic_relevance": "none",
      "name": "calendly-embed.test",
      "normalized_name": "calendly-embed",
      "package_manager": "pnpm",
      "path": "__tests__/components/advisory/calendly-embed.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "045a7e7d4444e8d5ca6b3cbc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/hooks,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/hooks/use-toast, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51fe3fc75fe62311",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,vitest",
      "lines": 149,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "__tests__/hooks/use-toast.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "7bde9e620585acd632e36606",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "578b7fd9933e7728",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "80f091ec65455b2edadfe40e",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/schema, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "919e98107c2baaf2",
      "framework": "next-react",
      "imports": "@/lib/schema,vitest",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "schema.test",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "__tests__/lib/schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "a63067a9a330e916271043a4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/sendgrid, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "441751ef82a9ce7a",
      "framework": "next-react",
      "imports": "@/lib/sendgrid,vitest",
      "lines": 410,
      "logic_relevance": "primary",
      "name": "sendgrid.test",
      "normalized_name": "sendgrid",
      "package_manager": "pnpm",
      "path": "__tests__/lib/sendgrid.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "b47f85ce5923e761fc3b1545",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/case-studies, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cc14a29386799d8d",
      "framework": "next-react",
      "imports": "@/lib/case-studies,vitest",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "case-studies.test",
      "normalized_name": "case-studies",
      "package_manager": "pnpm",
      "path": "__tests__/lib/case-studies.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic",
      "component_id": "4d269d72436d531d6b2386fe",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/advisory, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f78e9130f436e6b",
      "framework": "next-react",
      "imports": "@/lib/advisory,vitest",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "advisory.test",
      "normalized_name": "advisory",
      "package_manager": "pnpm",
      "path": "__tests__/lib/advisory.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "9ac7aaf3d37621a6428213c3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/i18n, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "520b5132d445e6fd",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "__tests__/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "5f04ce22ee59f5b2ea7b9d44",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,crypto,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/webhooks/route, crypto, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b26eaef49969901",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route,crypto,next/server,vitest",
      "lines": 209,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/api/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8cb7c44246b8e43746b19d5b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/subscribe/route, @/lib/db, @/lib/sendgrid, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "11f4703155a27ebc",
      "framework": "next-react",
      "imports": "@/app/api/v1/subscribe/route,@/lib/db,@/lib/sendgrid,next/server,vitest",
      "lines": 211,
      "logic_relevance": "none",
      "name": "subscribe.test",
      "normalized_name": "subscribe",
      "package_manager": "pnpm",
      "path": "__tests__/api/subscribe.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "9636ff30544801640ca321bb",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/events/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b86f2a69e39a80b9",
      "framework": "next-react",
      "imports": "@/app/api/events/route,next/server,vitest",
      "lines": 224,
      "logic_relevance": "none",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "__tests__/api/events.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,process,automation",
      "component_id": "be67436d48336ce27fb100db",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "31eca056e210e9c5",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 93,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "308fe4666fa1434847315ad0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/contact/route, @/lib/db, @/lib/sendgrid, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d28b4716ea6386c",
      "framework": "next-react",
      "imports": "@/app/api/v1/contact/route,@/lib/db,@/lib/sendgrid,next/server,vitest",
      "lines": 283,
      "logic_relevance": "none",
      "name": "contact.test",
      "normalized_name": "contact",
      "package_manager": "pnpm",
      "path": "__tests__/api/contact.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1147886ab50a3cb861f3ef78",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e47bd191e22c7019",
      "framework": "next-react",
      "imports": "@/app/api/v1/health/route,vitest",
      "lines": 49,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "dee1d703f99c0755e678fd91",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:useAdvisoryAnalytics | imports:react | automation-score:45",
      "exports": "useAdvisoryAnalytics",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "485db9af11001874",
      "framework": "next-react",
      "imports": "react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "use-advisory-analytics",
      "normalized_name": "use-advisory-analytics",
      "package_manager": "pnpm",
      "path": "hooks/use-advisory-analytics.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "acbb3810db0c7f8378a4bf3a",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateArticleSchema, generateBreadcrumbSchema, generateFAQSchema, generateServiceSchema, generateSpeakableSchema, localBusinessSchema, organizationSchema, personSchema | imports:@/lib/i18n | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "generateArticleSchema,generateBreadcrumbSchema,generateFAQSchema,generateServiceSchema,generateSpeakableSchema,localBusinessSchema,organizationSchema,personSchema,websiteSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "43eff0b0e3679d1e",
      "framework": "next-react",
      "imports": "@/lib/i18n",
      "lines": 211,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "7a4add820dcbb5e8054abbb0",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL, Locale, buildAlternates, defaultLocale, locales, ogLocaleMap | logic-score:85",
      "exports": "BASE_URL,Locale,buildAlternates,defaultLocale,locales,ogLocaleMap",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5709c2e6015e7bd1",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "cd712a154264482b8efe51f0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sendgrid/mail",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ContactEmailData, SubscriptionEmailData, escapeHtml, getFromEmail, getNotifyEmail, isSendGridConfigured | imports:@sendgrid/mail | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ContactEmailData,SubscriptionEmailData,escapeHtml,getFromEmail,getNotifyEmail,isSendGridConfigured",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6bd07825dd050e85",
      "framework": "next-react",
      "imports": "@sendgrid/mail",
      "lines": 379,
      "logic_relevance": "primary",
      "name": "sendgrid",
      "normalized_name": "sendgrid",
      "package_manager": "pnpm",
      "path": "lib/sendgrid.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ac1cfd8d17cfd2ec64e90ba4",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "ba3793c87fc56ba2585c04ad",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CaseStudy, caseStudies, getAllCaseStudySlugs, getCaseStudyBySlug, getFeaturedCaseStudies | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CaseStudy,caseStudies,getAllCaseStudySlugs,getCaseStudyBySlug,getFeaturedCaseStudies",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31757a30ec76a4af",
      "framework": "next-react",
      "imports": "",
      "lines": 163,
      "logic_relevance": "primary",
      "name": "case-studies",
      "normalized_name": "case-studies",
      "package_manager": "pnpm",
      "path": "lib/case-studies.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "31511f170bbe1f6408a18b7c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AdvisoryOffering, DEFAULT_CALENDLY_URL, advisoryOffering, getCalendlyUrl | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AdvisoryOffering,DEFAULT_CALENDLY_URL,advisoryOffering,getCalendlyUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e984b6069055719a",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "advisory",
      "normalized_name": "advisory",
      "package_manager": "pnpm",
      "path": "lib/advisory.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation",
      "component_id": "7a60853999af0adafd8c3418",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,fs,path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuditLogRecord, ContactRecord, SubscriberRecord | imports:crypto, fs, path | logic-score:85 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "AuditLogRecord,ContactRecord,SubscriberRecord",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0b23c9aee8092eb4",
      "framework": "next-react",
      "imports": "crypto,fs,path",
      "lines": 144,
      "logic_relevance": "primary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__barbineworldwide-2026-metahack",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "67fb804f3d11b9f9379d24b5",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e840acdab8c3043b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beepboopprocess",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,discovery",
      "component_id": "9b8974f199b2561647ae8edd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b7b6882d15269129",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "process.manifest",
      "normalized_name": "process-manifest",
      "package_manager": "unknown",
      "path": "processes/default/process.manifest.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beepboopprocess",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "b85370d77a19cf7f0801ee49",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:NodejsAction, NodejsActionInstance, NodejsResponse | process-score:80 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NodejsAction,NodejsActionInstance,NodejsResponse",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "213bd5d72dd28a36",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "___ae2c0b5c-707b-49dd-aefd-f3fd1a06dc6c",
      "normalized_name": "ae2c0b5c-707b-49dd-aefd-f3fd1a06dc6c",
      "package_manager": "unknown",
      "path": "processes/default/resources/customElementDefinition/___ae2c0b5c-707b-49dd-aefd-f3fd1a06dc6c.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beepboopprocess",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "c07cbccb46a5b3aca9221eaf",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:NodejsAction, NodejsActionInstance, NodejsResponse | process-score:80 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NodejsAction,NodejsActionInstance,NodejsResponse",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "901c803ffae40e09",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "___1cc504bb-5d02-4915-947b-ea96b24a5090",
      "normalized_name": "1cc504bb-5d02-4915-947b-ea96b24a5090",
      "package_manager": "unknown",
      "path": "processes/default/resources/customElementDefinition/___1cc504bb-5d02-4915-947b-ea96b24a5090.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beepboopprocess",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "dccaf6c3425ceeb3162a5b65",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7bc0ff06d0bdc046",
      "framework": "unknown",
      "imports": "",
      "lines": 167,
      "logic_relevance": "none",
      "name": "2271ef92-4e20-4a70-ae0a-ca4ffdef6671__cmgvi582y02hg7x17wrox6wbu",
      "normalized_name": "2271ef92-4e20-4a70-ae0a-ca4ffdef6671-cmgvi582y02hg7x17wrox6wbu",
      "package_manager": "unknown",
      "path": "processes/default/resources/flow/2271ef92-4e20-4a70-ae0a-ca4ffdef6671__cmgvi582y02hg7x17wrox6wbu.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beepboopprocess",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "932af0979e6ba56743796490",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1f9f5eb69036a0f",
      "framework": "next-react",
      "imports": "",
      "lines": 6635,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "40095963b3c56fd1f0da09d2",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92145c1ba585f282",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "57bf037837b3543a1df26f75",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "db25634cda2b12f6",
      "framework": "next-react",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "54e1ef5f6ef878bb20575095",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "19d6270209cb4854",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "470a18c087dea3c89290604b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "725ba96de5edc73e",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "TECHNICAL_README",
      "normalized_name": "technical-readme",
      "package_manager": "pnpm",
      "path": "TECHNICAL_README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "9dfb42171953c9887e51d7b0",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfileProvider, useProfile | imports:@/lib/supabase/client, next/navigation, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "ProfileProvider,useProfile",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "157905cfe57b0b51",
      "framework": "next-react",
      "imports": "@/lib/supabase/client,next/navigation,react",
      "lines": 260,
      "logic_relevance": "none",
      "name": "profile-context",
      "normalized_name": "profile-context",
      "package_manager": "pnpm",
      "path": "contexts/profile-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,discovery,automation",
      "component_id": "4d67889c7ae16784bccd1e0d",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next | frontend-score:55 | discovery-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "212739ff81d04782",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next",
      "lines": 116,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8351a4babee70809dda6ca18",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@vercel/analytics,geist,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata, viewport | imports:@/components/error-boundary, @/components/global-error-handler, @/components/toast-provider, @/contexts/profile-context, @vercel/analytics/next, geist/font/mono, geist/font/sans, next | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86e437ae2d26d55e",
      "framework": "next-react",
      "imports": "@/components/error-boundary,@/components/global-error-handler,@/components/toast-provider,@/contexts/profile-context,@vercel/analytics/next,geist/font/mono,geist/font/sans,next,react",
      "lines": 210,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "11a9342f8942681067b6dd2d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d84d4a8cab8c472f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "b0723f79ab80f5911d472d3b",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d36e6efec40a5303",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9067560d3fcdc13e10d762d9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/get-museum-data, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c126ade15931ea2",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/get-museum-data,@/lib/supabase/server,lucide-react,next,next/link",
      "lines": 393,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "f9e4d5ee56dcc4c5cf01c529",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c7644d1fa9896776",
      "framework": "next-react",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "87c46d80403d5a1992e26c08",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b8935391a2c15058",
      "framework": "next-react",
      "imports": "react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "global-error",
      "normalized_name": "global-error",
      "package_manager": "pnpm",
      "path": "app/global-error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "6cbdcac405cff28f462bf848",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13c7370037ba943b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 67,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "664df50d8e479eb34a1a249e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TicketsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TicketsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d9613a6ed7a5ec2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,lucide-react,next/link",
      "lines": 431,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tickets/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "695edcf10a1a6fce1ca7ea83",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GroupBookingPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GroupBookingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0fbe589c510b74ff",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,lucide-react,next/link",
      "lines": 401,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/group-booking/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c7a7fd7634983dc71b881320",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb8ba61e22a2892a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,next/link",
      "lines": 372,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "301ab92b9e77c471ffb8e687",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac73153b68de008d",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/collection/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7a734dcc6a78138c71d5a326",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollectionPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CollectionPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "859a5aaa4f5093ab",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/lib/supabase/server,lucide-react,next/link",
      "lines": 246,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/collection/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4137fd6491a847b5a73ebaa8",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf6d252384830229",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/auth/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1e1d9614ad1b620380af3bed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69c641db78323038",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 215,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f99671136423271a354e0fd9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2f6832e44e04370",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 63,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "94e13a18a3b5890b83634182",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegisterPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RegisterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab962efd6e4a22d8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 175,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,ai",
      "component_id": "f29a4fdad62c6ffac36d54c3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupporterRegisterPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @supabase/ssr, lucide-react | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45 | uses-env",
      "exports": "SupporterRegisterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a49aa25dc3aa5b2e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@supabase/ssr,lucide-react,next/link,next/navigation,react",
      "lines": 505,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/register/supporter/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "83d05b559abc20877f40bd73",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/auth/register/success/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1a9cceba5a0d0ca4b1c612e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegisterSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RegisterSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40505910da780612",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation",
      "lines": 123,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/register/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b93435818acfefd5ef4077c9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:MemberRegisterPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @supabase/ssr | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "MemberRegisterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99c38de603d794d5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@supabase/ssr,lucide-react,next/link,next/navigation,react",
      "lines": 484,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/register/member/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "de285b2a9355282f9e3ad1a5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumRegisterPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "MuseumRegisterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48936d171c039e18",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 527,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/register/museum/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "36223be5421653e66a5bc19c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ForgotPasswordPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ForgotPasswordPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ddff02bbc5c7f79",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/forgot-password/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "824c8ca06dc5a319b7847a97",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResendConfirmationPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ResendConfirmationPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "beaabfab89cbf7d4",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/resend-confirmation/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3f3e39d9760ed9f83dfb2104",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthErrorPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthErrorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "483575324e0dfbf4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 79,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/error/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "02c0c3e72354fc1a0c927134",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8633b536c7f269b",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "799745c3c000bcc0f3998571",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupporterOnboardingPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "SupporterOnboardingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8cae290fae7ec4b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 710,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/onboarding/supporter/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,process",
      "component_id": "0593424ca2646a7939f7c6b8",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/auth/onboarding/member/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "990f5846dae22cd550064597",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MemberOnboardingPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MemberOnboardingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dee54e4aeb51f895",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/auth-utils,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 713,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/onboarding/member/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "5874e43f4889fc82124f0e1b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumOnboardingPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/tabs | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "MuseumOnboardingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0069ee8203166844",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/components/ui/textarea,@/lib/auth-utils,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 1052,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/onboarding/museum/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7a5eafa0d1c1bac00dced852",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryPage | imports:@/components/image-gallery, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GalleryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "021846c0d4890405",
      "framework": "next-react",
      "imports": "@/components/image-gallery,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 222,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "2dee377237fe22fe881f34ce",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumAdminLayout | imports:@/components/admin/sidebar, @/components/error-boundary, @/components/ui/button, @/hooks/use-error-handler, @supabase/ssr, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "MuseumAdminLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d0bd822e2b2d16b",
      "framework": "next-react",
      "imports": "@/components/admin/sidebar,@/components/error-boundary,@/components/ui/button,@/hooks/use-error-handler,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 156,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/museum-admin/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a4fea005313fe5481d11b6e1",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa551d20cfe027c8",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/museum-admin/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "21763686c7e9c6ecc626127e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumAdminPage | imports:@/components/museum-placeholder, @/components/ui/button, @/components/ui/card, @/hooks/use-toast, @supabase/ssr, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MuseumAdminPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d35dd3151cea4180",
      "framework": "next-react",
      "imports": "@/components/museum-placeholder,@/components/ui/button,@/components/ui/card,@/hooks/use-toast,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 274,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/museum-admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "1ee7954a2909fdb92eb85fa5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DNSSetupPage | imports:@/components/dns-simulation, @/components/ui/button, @/components/ui/card, @/hooks/use-toast, @supabase/ssr, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DNSSetupPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2aa0368d1a59c209",
      "framework": "next-react",
      "imports": "@/components/dns-simulation,@/components/ui/button,@/components/ui/card,@/hooks/use-toast,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/museum-admin/dns-setup/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "995af8f4902c8004881f511f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/museum-admin/exhibits/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "67bf168aca0a01eeaf0191c3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumExhibitsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/hooks/use-error-handler, @supabase/ssr, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "MuseumExhibitsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f96934846b257b41",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/hooks/use-error-handler,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 287,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/museum-admin/exhibits/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "e75b3eccb204490eabf07e50",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/museum-admin/events/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6c8518ec4e2da34ba044f4c9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumEventsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/hooks/use-error-handler, @supabase/ssr, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MuseumEventsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39a8b6ae45c37422",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/hooks/use-error-handler,@supabase/ssr,lucide-react,next/navigation,react",
      "lines": 307,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/museum-admin/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f31efd7e0dee2c1de8363522",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminLayout | imports:@/components/admin/header, @/components/admin/sidebar, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdminLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1674d35e81b9bed1",
      "framework": "next-react",
      "imports": "@/components/admin/header,@/components/admin/sidebar,@/lib/supabase/client,next/navigation,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/admin/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "370b9ecb5edc63c65f6805f0",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "007a5c1f25e1c5ab",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b095a943a5533c636337df62",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@supabase/ssr,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminDashboard | imports:@/components/museum-selector, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/contexts/profile-context, @supabase/ssr, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AdminDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf5ea0fbbdbe80e8",
      "framework": "next-react",
      "imports": "@/components/museum-selector,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/contexts/profile-context,@supabase/ssr,lucide-react,next/link,next/navigation,react",
      "lines": 353,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2c91d371833aff968a48f583",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/integration-config-forms, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/separator, @/components/ui/switch, @/components/ui/textarea | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0f3c6ede415d69a",
      "framework": "next-react",
      "imports": "@/components/integration-config-forms,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/separator,@/components/ui/switch,@/components/ui/textarea,@/lib/auth-utils-server,@/lib/supabase/server,lucide-react,next/navigation",
      "lines": 372,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "6d33c2c78871231cfefa1f07",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ee95d50a82fca96",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/visitors/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "152972f53c130e2c177838d7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VisitorsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/components/ui/table, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "VisitorsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce5d737153e42364",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/table,@/lib/supabase/server,lucide-react,next/link",
      "lines": 254,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/visitors/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "0cba9768f8acef3b327a5965",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac73153b68de008d",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/collection/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2135d8eb7018d6a58bcdd1e4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollectionManagementPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CollectionManagementPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a18e95372c57f5b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/collection/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "61876ea42289c55fdd3a05be",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98cab32bf2b9f87d",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/education/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bcb98b4dfc695e0d5341c8bf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EducationManagementPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/components/ui/table, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EducationManagementPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f044b420663f83c9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/table,@/lib/supabase/server,lucide-react,next/link",
      "lines": 320,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/education/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "59e33360b571314e41c901dc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminDashboard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/auth-utils-server, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdminDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b527c1b0356d42f8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/auth-utils-server,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 272,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "47e6ce3870b5f26e3f6650fe",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/exhibits/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "5c546a25db51ebc73a1b3f8a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExhibitsPage | imports:@/components/admin/exhibit-grid, @/components/ui/button, @/components/ui/card, @/lib/auth-utils-server, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ExhibitsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de8e62d2670a952f",
      "framework": "next-react",
      "imports": "@/components/admin/exhibit-grid,@/components/ui/button,@/components/ui/card,@/lib/auth-utils-server,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/exhibits/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2e476a92b311b2a3d432120f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewExhibitPage | imports:@/components/admin/exhibit-form, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewExhibitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9189b7dc735d21ad",
      "framework": "next-react",
      "imports": "@/components/admin/exhibit-form,@/lib/supabase/server,next/navigation",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/exhibits/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "53c7df8aae1f134277c31d2a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExhibitDetailPage, Label | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ExhibitDetailPage,Label",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c14e7df4e50c225a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation,react",
      "lines": 161,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/exhibits/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "9d5220757d1349b92f82c771",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57c947577f0b30e7",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/users/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fe01131de72195e61945b0d4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UsersManagementPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UsersManagementPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d1c441cf3fee661",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 225,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/users/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "89bcd0cf794672d4f10bc3e2",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecd3e5b174efdc4b",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/events/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "ee9e33512300a6d1696b60ba",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminEventsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/auth-utils-server, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminEventsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed598a019cfe1ef9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/auth-utils-server,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 309,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "118e8070dfafb6199a60ac32",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APISettingsPage, Icon | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/tabs, @/components/ui/textarea | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APISettingsPage,Icon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4670f3462800d18c",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/tabs,@/components/ui/textarea,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 358,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/api-settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "38381f8d14952b41ff8c8949",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminLoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AdminLoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69323e8822e02c01",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a5562d4c9851d39490aa32ec",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/beers/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "2c6ebd94774997ebf414de4e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:BeersPage | imports:@/components/admin/beer-filters, @/components/admin/beer-grid, @/components/ui/button, @/components/ui/card, @/lib/auth-utils-server, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "BeersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb7ddd9e03a0f185",
      "framework": "next-react",
      "imports": "@/components/admin/beer-filters,@/components/admin/beer-grid,@/components/ui/button,@/components/ui/card,@/lib/auth-utils-server,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 167,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/beers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1ce9569bfd043d543fcf3508",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewBeerPage | imports:@/components/admin/beer-form, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewBeerPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89fa52c202310c26",
      "framework": "next-react",
      "imports": "@/components/admin/beer-form,@/lib/supabase/server,next/navigation",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/beers/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9d201f7dcdbdb340c58f1e11",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2df7e3ef85ee16aa",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/lib/supabase/server,lucide-react,next/link",
      "lines": 533,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a61a1734b1cc2785a4506153",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BrewingAcademyPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BrewingAcademyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6814d234147ac52",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 382,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/brewing-academy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d2c34a8a8e59630cd487064e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AboutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53ecba3ad60cef26",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 313,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "17531e02ab999ef7c5bcef36",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExploreBeerCulturePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ExploreBeerCulturePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ab01dd2b1b26e2a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 561,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/explore-beer-culture/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "380b73544966eb3b1cf7db8f",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/loading-spinner | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8470a9a8e137be1f",
      "framework": "next-react",
      "imports": "@/components/loading-spinner",
      "lines": 9,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/dashboard/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "576d2f1ed7a8fce7464f3ef4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/museum-selector, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d4ba11e99bcb774",
      "framework": "next-react",
      "imports": "@/components/museum-selector,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 248,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "dc09c1bf8be952f648eca3f8",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/learning-center/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "56985608c9d6b0e5655c1c91",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LearningCenterPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/progress, @/components/ui/select, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LearningCenterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30dedacb4e06dd02",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/progress,@/components/ui/select,@/lib/supabase/server,lucide-react,next/link",
      "lines": 423,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/learning-center/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5bd827c298eaa5179a7bbc12",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/exhibits/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "83459a45b43e08f9652f4086",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExhibitsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ExhibitsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2876c8e080ac41e3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/supabase/server,lucide-react,next/link",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/exhibits/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fb6844e4892557e8fe8893e4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExhibitPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ExhibitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22c9083ad9deccec",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 206,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/exhibits/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad503389e0369be2dfbddec6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/supabase/server | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c11164b68156e72",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 303,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a5c7b7e9208bb9b3af6bb7f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b981ce12540298f",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/logout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "c1673841662fd1c956f5330e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65fe2004f8e402c2",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/login/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e460854bb10282f7a83201b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth-utils-server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "475670f96da38fd7",
      "framework": "next-react",
      "imports": "@/lib/auth-utils-server,@/lib/supabase/server,next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/exhibits/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "fc56566fd82fe582a50a8f20",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth-utils-server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f997ed336ef4fc41",
      "framework": "next-react",
      "imports": "@/lib/auth-utils-server,@/lib/supabase/server,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/users/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,observability,security",
      "component_id": "343e6f5f5dce43baaee7c6a3",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, POST | imports:@/lib/auth-utils-server, @/lib/security-middleware, @/lib/supabase/server, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe71f5135a985d27",
      "framework": "next-react",
      "imports": "@/lib/auth-utils-server,@/lib/security-middleware,@/lib/supabase/server,next/server",
      "lines": 160,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/beers/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "95614a0f404dccf9ef1e48aa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/auth-utils-server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0578f066d8a9f707",
      "framework": "next-react",
      "imports": "@/lib/auth-utils-server,@/lib/supabase/server,next/server",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/beers/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "27b55614d30fe13aaee33563",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth-utils-server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "193e162038b853de",
      "framework": "next-react",
      "imports": "@/lib/auth-utils-server,@/lib/supabase/server,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "81d092818e30230121c2783e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth-utils-server, @/lib/data-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b89c787990a5987f",
      "framework": "next-react",
      "imports": "@/lib/auth-utils-server,@/lib/data-service,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/dashboard/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "f81ea1b74dc0128077acc371",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/integrations/toast-pos, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "be1f43901c2efc62",
      "framework": "next-react",
      "imports": "@/lib/integrations/toast-pos,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/integrations/toast/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "fd25f16b4854c99643380916",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8caad9f8d23c0348",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/integrations/toast/config/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,backend,observability,security",
      "component_id": "2f7fbf45b3036719058f03b0",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/security-middleware, @/lib/supabase/server, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93eff96f9d452b25",
      "framework": "next-react",
      "imports": "@/lib/security-middleware,@/lib/supabase/server,next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "1c94f0029e2880d0eafbbf39",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "10813b63b8c23d60",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "7411fddb5c100a40457e36c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/integrations/n8n, @/lib/supabase/server, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "076e6dccaf2f3733",
      "framework": "next-react",
      "imports": "@/lib/integrations/n8n,@/lib/supabase/server,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "14113e45f203df9fb44705f1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/data-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a30c1c2eafab08f6",
      "framework": "next-react",
      "imports": "@/lib/data-service,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/beers/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c113c83968b11f3573482502",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HoursPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HoursPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bad88ae3340bab3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 468,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/hours/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c29a2adc5413932196fd4bb9",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/events/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "dcf1034016fd227fc20899f1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EventsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c42f1143bbb2157",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/supabase/server,lucide-react,next/link",
      "lines": 254,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "92cc3fd6cb4f2745c61a4d4b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VirginiaBeerWeekPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "VirginiaBeerWeekPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f307e24325c4fca2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 202,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/events/virginia-beer-week/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6260f2c592694467696e4b24",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventDetailPage | imports:@/components/event-registration-form, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EventDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8834269042ec770",
      "framework": "next-react",
      "imports": "@/components/event-registration-form,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 297,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/events/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d4b0deed3fa7de3c69e576da",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorldMuseumsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/world-map, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "WorldMuseumsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63d4c05e760398c9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/world-map,@/lib/supabase/server,lucide-react,next/link",
      "lines": 319,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/world-museums/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9dbf9d34d740ac8c3eb7ca82",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BeerHistoryPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BeerHistoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dbca4caf6dd64134",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 537,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/beer-history/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5e25e7eeeef4566dd79a56ae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GiftShopPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GiftShopPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a356d69b695db059",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 434,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/gift-shop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "9470ea9407ed35bbfccca1ba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1b7ec8ca834d8658",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "docs/DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "152e1878143ac98cde8b2f00",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:CSP_HEADER, PERMISSIONS, POST, RATE_LIMITS | process-score:145 | backend-score:70 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CSP_HEADER,PERMISSIONS,POST,RATE_LIMITS",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "12505bba645baedf",
      "framework": "next-react",
      "imports": "",
      "lines": 224,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "docs/SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e130a5f8dbf9bd248f9ac098",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2e670a4877775a27774206c8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/contexts,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthGuard | imports:@/contexts/profile-context, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AuthGuard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f6bd64482cfb6ec",
      "framework": "next-react",
      "imports": "@/contexts/profile-context,next/navigation,react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "auth-guard",
      "normalized_name": "auth-guard",
      "package_manager": "pnpm",
      "path": "components/auth-guard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6f63cd4cfc85a83ff42ee02a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1b1aeb9c9093e363a04f2738",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumSelector | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/supabase/client, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MuseumSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9562b99c9327e100",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/supabase/client,lucide-react,next/link,react",
      "lines": 190,
      "logic_relevance": "none",
      "name": "museum-selector",
      "normalized_name": "museum-selector",
      "package_manager": "pnpm",
      "path": "components/museum-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3b41ccd93d26f2de76839c0d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorldMap | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WorldMap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2188f8da731813e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 361,
      "logic_relevance": "none",
      "name": "world-map",
      "normalized_name": "world-map",
      "package_manager": "pnpm",
      "path": "components/world-map.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "46eb8daad846c2cc98328ac5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary, withErrorBoundary | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "ErrorBoundary,withErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "058ddc2664887d54",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "6e7e50bf0464c19e917e248a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:VirginiaBeerStats | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "VirginiaBeerStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d21fc004f2aca3c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "virginia-beer-stats",
      "normalized_name": "virginia-beer-stats",
      "package_manager": "pnpm",
      "path": "components/virginia-beer-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "6eaea22e02108611663a3ab4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoleBadge | imports:@/components/ui/badge, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "RoleBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8767d4baa601a86f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,lucide-react",
      "lines": 70,
      "logic_relevance": "none",
      "name": "role-badge",
      "normalized_name": "role-badge",
      "package_manager": "pnpm",
      "path": "components/role-badge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b16d5b317db4bd047baed62e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationConfigForms | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "IntegrationConfigForms",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0eb43b8d79f8cfec",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,lucide-react,react",
      "lines": 421,
      "logic_relevance": "none",
      "name": "integration-config-forms",
      "normalized_name": "integration-config-forms",
      "package_manager": "pnpm",
      "path": "components/integration-config-forms.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "44e98d2e66e0ac440a9e496c",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-dom",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToastProvider | imports:@/components/ui/alert, @/components/ui/button, @/lib/integrations/toast-notifications, @/lib/utils, lucide-react, react, react-dom | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ToastProvider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3bb1fe05568ad0ba",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/lib/integrations/toast-notifications,@/lib/utils,lucide-react,react,react-dom",
      "lines": 93,
      "logic_relevance": "none",
      "name": "toast-provider",
      "normalized_name": "toast-provider",
      "package_manager": "pnpm",
      "path": "components/toast-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2c2d40aaf0958b827863ecd6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/supabase-js,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/mobile-navigation, @/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/supabase/client, @supabase/supabase-js, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17170c9ebdc42e97",
      "framework": "next-react",
      "imports": "@/components/mobile-navigation,@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/supabase/client,@supabase/supabase-js,lucide-react,next/link,next/navigation,react",
      "lines": 334,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ac54b5d0a78c86209f82f68d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:@/lib/supabase/client, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f61730a20b64853",
      "framework": "next-react",
      "imports": "@/lib/supabase/client,next/link,react",
      "lines": 287,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "f9577bcf8fd2bdec76b03239",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfileAvatar | imports:@/components/ui/avatar, @/contexts/profile-context | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ProfileAvatar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2502ef1297ac8e64",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/contexts/profile-context",
      "lines": 55,
      "logic_relevance": "none",
      "name": "profile-avatar",
      "normalized_name": "profile-avatar",
      "package_manager": "pnpm",
      "path": "components/profile-avatar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c55b74012da8f3fe901e31b8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventRegistrationForm | imports:@/components/ui/alert, @/components/ui/button, @/lib/integrations/n8n, @/lib/integrations/toast-notifications, @/lib/supabase/client, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EventRegistrationForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "210f0bddc188b14d",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/lib/integrations/n8n,@/lib/integrations/toast-notifications,@/lib/supabase/client,lucide-react,next/navigation,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "event-registration-form",
      "normalized_name": "event-registration-form",
      "package_manager": "pnpm",
      "path": "components/event-registration-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c7f88c2cdb01e8fc4ff16449",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MuseumPlaceholder | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MuseumPlaceholder",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0e14a649d22dbd1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "museum-placeholder",
      "normalized_name": "museum-placeholder",
      "package_manager": "pnpm",
      "path": "components/museum-placeholder.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "eb335b8e357480b6a36b8346",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoadingSpinner | imports:lucide-react | frontend-score:115 | ui-score:55",
      "exports": "LoadingSpinner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cee1b9c45c44973e",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "loading-spinner",
      "normalized_name": "loading-spinner",
      "package_manager": "pnpm",
      "path": "components/loading-spinner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5aaa8cbbf15aa3c565882d36",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileNavigation | imports:@/components/ui/button, @/components/ui/sheet, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MobileNavigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ea11ba4a739be57",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/sheet,lucide-react,next/link,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "mobile-navigation",
      "normalized_name": "mobile-navigation",
      "package_manager": "pnpm",
      "path": "components/mobile-navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui,security",
      "component_id": "80c99d7c8112f1b29740700e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageGallery | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ImageGallery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0a3974b8b4d7c08",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "image-gallery",
      "normalized_name": "image-gallery",
      "package_manager": "pnpm",
      "path": "components/image-gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "30edabad66a10c2ee294bc6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalErrorHandler | imports:@/hooks/use-toast, @/lib/error-handler, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "GlobalErrorHandler",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18442ec1025c52ed",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,@/lib/error-handler,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "global-error-handler",
      "normalized_name": "global-error-handler",
      "package_manager": "pnpm",
      "path": "components/global-error-handler.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "2ac38b09ed129ba4082c00a3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DNSSimulation | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/hooks/use-toast, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "DNSSimulation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "129f5284f7a8e447",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/hooks/use-toast,lucide-react,react",
      "lines": 173,
      "logic_relevance": "none",
      "name": "dns-simulation",
      "normalized_name": "dns-simulation",
      "package_manager": "pnpm",
      "path": "components/dns-simulation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b34137382c57da3fd4439404",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6b49c67269d8fd0ff94b078c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cda75ec5c1585d4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "678ccdfaaa347d586373f31b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "15bb4a5f69cfe976e8b70546",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e4c60dd3adbb6f9a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2a59c65502f9959b19d5b9c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1fe8efe577b21986ca31a7d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0101164d384f1a851bdf1e40",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f85ecb1ac222ad9fa8591124",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d66f01281263867c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "e6f895a3e66a072ca1de32da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "cb4d892a99a62aaae99ae936",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a675808e2eb1a8d7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "00bac01f3af5c6a15079236f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6608b07b2a9f0686383cac3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b057c5ab25f15fd309dd3e67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ebe67d4ab9ef72fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1b2d559884fb14213622e823",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "37b3dade87f0da92ce9d37d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a3e3f8f1a3e87f0af1784c49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9662646a0e4c5980",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0cd18b117ea9b1a58bad4a3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7e40e1166700bfc8ddfcb643",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3c6beef86635e287129339bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9469aa9381b196e4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8af227bb1629a21e74a7bbdd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminDashboard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdminDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d2b8791b1804a39",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "pnpm",
      "path": "components/admin/dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "af494975ad182f35672c3b65",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BeerForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BeerForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9fa5bf1bc73c3ee6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/textarea,@/lib/supabase/client,lucide-react,next/navigation,react",
      "lines": 355,
      "logic_relevance": "none",
      "name": "beer-form",
      "normalized_name": "beer-form",
      "package_manager": "pnpm",
      "path": "components/admin/beer-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "519599ab03c602fbac1e12f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExhibitForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/switch, @/components/ui/textarea, @/lib/supabase/client, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ExhibitForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "590fe7d0f6cec907",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/switch,@/components/ui/textarea,@/lib/supabase/client,lucide-react,next/navigation,react",
      "lines": 235,
      "logic_relevance": "none",
      "name": "exhibit-form",
      "normalized_name": "exhibit-form",
      "package_manager": "pnpm",
      "path": "components/admin/exhibit-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "24e98bc75132fa3f5e5e3d91",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminHeader | imports:@/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/supabase/client, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdminHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "598121ab7ac78323",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/supabase/client,lucide-react,next/navigation,react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/admin/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8edad3329cacbeeb9a0f8b15",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AdminSidebar | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/lib/utils, lucide-react, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "AdminSidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "93c67231c11503d8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 233,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/admin/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "7a64c23326d95b45bfd09500",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExhibitGrid | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/label, @/components/ui/select, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ExhibitGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9fdf2ce58a446f1e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/label,@/components/ui/select,lucide-react,next/link,next/navigation,react",
      "lines": 295,
      "logic_relevance": "none",
      "name": "exhibit-grid",
      "normalized_name": "exhibit-grid",
      "package_manager": "pnpm",
      "path": "components/admin/exhibit-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b3135578d3285ee975776467",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BeerGrid | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BeerGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "222989df2724fe2a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,lucide-react,next/link,next/navigation,react",
      "lines": 214,
      "logic_relevance": "none",
      "name": "beer-grid",
      "normalized_name": "beer-grid",
      "package_manager": "pnpm",
      "path": "components/admin/beer-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "2bcb11289499aa419ef75532",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BeerFilters | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "BeerFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ccbacb1b926035b1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,lucide-react,next/navigation,react",
      "lines": 168,
      "logic_relevance": "none",
      "name": "beer-filters",
      "normalized_name": "beer-filters",
      "package_manager": "pnpm",
      "path": "components/admin/beer-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b50d37f7b91c4c98bc9ba54c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataTable | imports:@/components/loading-spinner, @/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/table, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DataTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2dac284f08a5f303",
      "framework": "next-react",
      "imports": "@/components/loading-spinner,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/table,lucide-react,react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "data-table",
      "normalized_name": "data-table",
      "package_manager": "pnpm",
      "path": "components/shared/data-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e24936f02f3a8f7276e254f5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsGrid | imports:@/components/loading-spinner, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StatsGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4e7b792646ac7e8",
      "framework": "next-react",
      "imports": "@/components/loading-spinner,@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "stats-grid",
      "normalized_name": "stats-grid",
      "package_manager": "pnpm",
      "path": "components/shared/stats-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "604d295fc3e8c3d5f8d27ac8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FormWrapper | imports:@/components/loading-spinner, @/components/ui/alert, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "FormWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3924ea24de00b762",
      "framework": "next-react",
      "imports": "@/components/loading-spinner,@/components/ui/alert,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "form-wrapper",
      "normalized_name": "form-wrapper",
      "package_manager": "pnpm",
      "path": "components/shared/form-wrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "f468b82ffa697061365beffd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PageHeader | imports:@/components/ui/badge, @/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70",
      "exports": "PageHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "891cbb29d5be83a6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,lucide-react,next/link,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "page-header",
      "normalized_name": "page-header",
      "package_manager": "pnpm",
      "path": "components/shared/page-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "dd68923b711057b55d9946cc",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "adb0d2cbc93dab29",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "1a6a7786228c2064fb0c9370",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "36c567c7022f3177",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "cae411ce49621c13834843b5",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@/hooks,@/lib,next,react",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:useErrorHandler | imports:@/hooks/use-toast, @/lib/error-handler, next/navigation, react | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "useErrorHandler",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22014303ac2f5b4a",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,@/lib/error-handler,next/navigation,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "use-error-handler",
      "normalized_name": "use-error-handler",
      "package_manager": "pnpm",
      "path": "hooks/use-error-handler.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "bf6f10e6f3c4badd5a6b2408",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthState, UserProfile, hasAnyRole, hasRole, isAdmin, isStaff, updateOnboardingProgress | imports:@/lib/supabase/client | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AuthState,UserProfile,hasAnyRole,hasRole,isAdmin,isStaff,updateOnboardingProgress",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bb359fa95926f87c",
      "framework": "next-react",
      "imports": "@/lib/supabase/client",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "auth-utils",
      "normalized_name": "auth-utils",
      "package_manager": "pnpm",
      "path": "lib/auth-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "c423db92ac7abbf8de1db33c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/supabase/server | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "907ee7cad95933af",
      "framework": "next-react",
      "imports": "@/lib/supabase/server",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "get-museum-data",
      "normalized_name": "get-museum-data",
      "package_manager": "pnpm",
      "path": "lib/get-museum-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "ae9ef87ce76c88b4e5105b48",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ErrorHandler, ErrorReport, errorHandler, handleApiError, isAuthError, isNetworkError | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ErrorHandler,ErrorReport,errorHandler,handleApiError,isAuthError,isNetworkError",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9408ad4ec1e9b947",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "primary",
      "name": "error-handler",
      "normalized_name": "error-handler",
      "package_manager": "pnpm",
      "path": "lib/error-handler.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d559cd6225043556c230b5ac",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CACHE_DURATIONS, CACHE_TAGS, calculateVirtualItems, debounce, dynamicImports, getCachedBeers, getCachedDashboardStats, getCachedEvents | imports:@/components/admin/dashboard, @/components/event-registration-form, @/components/image-gallery, @/components/world-map, @/lib/data-service, next/cache, react | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CACHE_DURATIONS,CACHE_TAGS,calculateVirtualItems,debounce,dynamicImports,getCachedBeers,getCachedDashboardStats,getCachedEvents,getCachedExhibits,getOptimizedImageUrl,measurePerformance,memoize,throttle,useIntersectionObserver",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "823e86809cafffeb",
      "framework": "next-react",
      "imports": "@/components/admin/dashboard,@/components/event-registration-form,@/components/image-gallery,@/components/world-map,@/lib/data-service,next/cache,react",
      "lines": 203,
      "logic_relevance": "primary",
      "name": "performance-utils",
      "normalized_name": "performance-utils",
      "package_manager": "pnpm",
      "path": "lib/performance-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,automation",
      "component_id": "f9c16e40cea5580276c1eff1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuditLog, CSP_HEADER, Permission, ROLE_PERMISSIONS, escapeHtml, escapeSQL, hasPermission, hashSensitiveData | imports:@/lib/rate-limit, @/lib/supabase/server, next/headers | frontend-score:90 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AuditLog,CSP_HEADER,Permission,ROLE_PERMISSIONS,escapeHtml,escapeSQL,hasPermission,hashSensitiveData,sanitizeInput,validateEmail,validatePassword,validateUrl",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a00bdcde5699dd0d",
      "framework": "next-react",
      "imports": "@/lib/rate-limit,@/lib/supabase/server,next/headers",
      "lines": 184,
      "logic_relevance": "secondary",
      "name": "security-utils",
      "normalized_name": "security-utils",
      "package_manager": "pnpm",
      "path": "lib/security-utils.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "d876fd14729f4d157be43be4",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PermissionConfig, UserRole, canView, canWrite, filterByPermissions, getDefaultPermissions | logic-score:85",
      "exports": "PermissionConfig,UserRole,canView,canWrite,filterByPermissions,getDefaultPermissions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2598960cbf424222",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "permissions",
      "normalized_name": "permissions",
      "package_manager": "pnpm",
      "path": "lib/permissions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "aede59ec36ae51b21dfe7b8c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next,perf_hooks",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SecurityOptions, validateRequestBody, withSecurity | imports:@/lib/rate-limit, @/lib/security-utils, @/lib/supabase/server, crypto, next/server, perf_hooks | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SecurityOptions,validateRequestBody,withSecurity",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a8a738362fd596e1",
      "framework": "next-react",
      "imports": "@/lib/rate-limit,@/lib/security-utils,@/lib/supabase/server,crypto,next/server,perf_hooks",
      "lines": 251,
      "logic_relevance": "primary",
      "name": "security-middleware",
      "normalized_name": "security-middleware",
      "package_manager": "pnpm",
      "path": "lib/security-middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "37836917793b28733663803e",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "dbaa4a826bc0eb035063a246",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthState, UserProfile | imports:@/lib/supabase/server, next/navigation | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AuthState,UserProfile",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7aa73ea3cbcf977",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/navigation",
      "lines": 162,
      "logic_relevance": "primary",
      "name": "auth-utils-server",
      "normalized_name": "auth-utils-server",
      "package_manager": "pnpm",
      "path": "lib/auth-utils-server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "d3146833fbd9db1e2ec473d5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CacheOptions, FilterOptions, PaginationOptions, getBeersWithPagination, getDashboardStats, getEventsWithPagination, getExhibitsWithPagination, getWorldMuseumsWithPagination | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CacheOptions,FilterOptions,PaginationOptions,getBeersWithPagination,getDashboardStats,getEventsWithPagination,getExhibitsWithPagination,getWorldMuseumsWithPagination",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe7627cbfe16aa77",
      "framework": "next-react",
      "imports": "",
      "lines": 313,
      "logic_relevance": "primary",
      "name": "data-service",
      "normalized_name": "data-service",
      "package_manager": "pnpm",
      "path": "lib/data-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "03785fe3a0d034be6caf1d1f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:rateLimit | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "rateLimit",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a1de176fca6fe8a",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "b79a234928022676af42462c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1c8741bfb181004",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "532136b5cd60a8cb034b8972",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "dc475ed70cbf0b03a39a4d08",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0de52e069ee93ea0",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "129af5b3b7586a8bd017bd4b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:toast, toastSystem | logic-score:85 | security-score:55",
      "exports": "toast,toastSystem",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "18f6368348480b1b",
      "framework": "next-react",
      "imports": "",
      "lines": 234,
      "logic_relevance": "primary",
      "name": "toast-notifications",
      "normalized_name": "toast-notifications",
      "package_manager": "pnpm",
      "path": "lib/integrations/toast-notifications.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,observability,security",
      "component_id": "76768002a2d593c50f1054f0",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:n8nIntegration | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "n8nIntegration",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d453a55bb4fb72d",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "secondary",
      "name": "n8n",
      "normalized_name": "n8n",
      "package_manager": "pnpm",
      "path": "lib/integrations/n8n.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "eace5e8a79424073bb172545",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:toastPOS | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "toastPOS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "624eae87bf89a154",
      "framework": "next-react",
      "imports": "",
      "lines": 321,
      "logic_relevance": "primary",
      "name": "toast-pos",
      "normalized_name": "toast-pos",
      "package_manager": "pnpm",
      "path": "lib/integrations/toast-pos.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "961eb27ac8cd93b55d6cae07",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:googleServices | logic-score:85 | backend-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "googleServices",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7949e473e848d58e",
      "framework": "next-react",
      "imports": "",
      "lines": 217,
      "logic_relevance": "primary",
      "name": "google-services",
      "normalized_name": "google-services",
      "package_manager": "pnpm",
      "path": "lib/integrations/google-services.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__beer-museum-manager-www",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "102602c758beda87ce3c6796",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97ae8edc162975df",
      "framework": "next-react",
      "imports": "",
      "lines": 3225,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "security,automation",
      "component_id": "34fad4c551dcfa5533704ff2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f3d422960a3d239",
      "framework": "next-react",
      "imports": "next",
      "lines": 52,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "273870bd4fdefa1d1efc9d51",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "49f44c51b2472c05",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cdb87e7c853af2da080af024",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "da3a5e4a89628eae",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "8d4f6f53ea8ea0af5b454e00",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fa2bc033dabdc5e8",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1c0d90250aad9044d34fb87b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5b3dd4669c50770",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 567,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "9a9986813217f677552d96db",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c730fe286e11f5ca",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "560957b45911ec061c2d3cf9",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "dff19e01a42b2e8d23cff415",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "36d934d314cfe2944ec56b25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1681d90d72bf0d5cfa5745cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "179a708a51a4d12a3344a01f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "896ba0e5592a1d91",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process,security",
      "component_id": "4d49f83caf1fbdcf67993896",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dba6e0038b056a17",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "824a07b48b179b5c625e49b1",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "413b917555c14c42ae3b434b",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9662769f2604c791",
      "framework": "next-react",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "enhanced-debug",
      "normalized_name": "enhanced-debug",
      "package_manager": "pnpm",
      "path": "enhanced-debug.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,observability,security",
      "component_id": "3804a461959220f23e21603f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c4f53f024010a46a",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "LAUNCH_SUMMARY",
      "normalized_name": "launch-summary",
      "package_manager": "pnpm",
      "path": "LAUNCH_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ed682a6c8b8171d640f5ed3f",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "20a4ff9f5e602e9c",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "detailed-dealer-test",
      "normalized_name": "detailed-dealer-test",
      "package_manager": "pnpm",
      "path": "detailed-dealer-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d2b388a89be3493869b505d8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1269b0c3a4c29f3d",
      "framework": "next-react",
      "imports": "",
      "lines": 5506,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "b85e146f0ae1d4dc05ee19b0",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92145c1ba585f282",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "3b9ade30691032995b0db4df",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e052da6e4fe0a075",
      "framework": "next-react",
      "imports": "",
      "lines": 208,
      "logic_relevance": "none",
      "name": "FINAL_TESTING_REPORT",
      "normalized_name": "final-testing-report",
      "package_manager": "pnpm",
      "path": "FINAL_TESTING_REPORT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "43967eaf0b994911a7124d34",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js, dotenv | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3b66f3ea3b899593",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 138,
      "logic_relevance": "none",
      "name": "check-database",
      "normalized_name": "check-database",
      "package_manager": "pnpm",
      "path": "check-database.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "43cecb56becf6112f3ea8ef2",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6ebe335007494089",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 152,
      "logic_relevance": "none",
      "name": "comprehensive-fix-test",
      "normalized_name": "comprehensive-fix-test",
      "package_manager": "pnpm",
      "path": "comprehensive-fix-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9d98c4400e6435bcae4d8455",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dc3279749c4d0c61",
      "framework": "next-react",
      "imports": "",
      "lines": 213,
      "logic_relevance": "none",
      "name": "TESTING_REPORT",
      "normalized_name": "testing-report",
      "package_manager": "pnpm",
      "path": "TESTING_REPORT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b355eb277212ca69b014ae3e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:fs, path | observability-score:55 | security-score:55",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "66d896a1a8561236",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 127,
      "logic_relevance": "none",
      "name": "profile-debug",
      "normalized_name": "profile-debug",
      "package_manager": "pnpm",
      "path": "profile-debug.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "a2ebe1bdb3d73f0dedbca909",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f416a47366d76e31",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "setup-database",
      "normalized_name": "setup-database",
      "package_manager": "pnpm",
      "path": "setup-database.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "6c8cb09af4dce28391f1fc21",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "174ea10c9aaa0e26",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "bc4752ff94723f079d6a0268",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "521fe85443e06f8a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 98,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6543181ee69cf229212d1bf1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d51afba591110cb9",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "DEALER_FIX_REPORT",
      "normalized_name": "dealer-fix-report",
      "package_manager": "pnpm",
      "path": "DEALER_FIX_REPORT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4e513a2cfa77df2aab83e8a2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0050fedb308400b1",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "aefac0fff22295205c202c24",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1fa18ff7c8a82499",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "final-verification",
      "normalized_name": "final-verification",
      "package_manager": "pnpm",
      "path": "final-verification.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e9d94c0f40b261c955b00b00",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL, TEST_ACCOUNTS | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BASE_URL,TEST_ACCOUNTS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "15f8ceb6425ccf85",
      "framework": "next-react",
      "imports": "",
      "lines": 331,
      "logic_relevance": "none",
      "name": "comprehensive-dealer-test",
      "normalized_name": "comprehensive-dealer-test",
      "package_manager": "pnpm",
      "path": "comprehensive-dealer-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0727ca58b2007c88fbe64c0e",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55 | security-score:55",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d3e46b830a1c5b4c",
      "framework": "next-react",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "dealer-subscriber-integration-test",
      "normalized_name": "dealer-subscriber-integration-test",
      "package_manager": "pnpm",
      "path": "dealer-subscriber-integration-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "78e2aed928269b7b6aeffb80",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a1ac7305f367fdf6",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 85,
      "logic_relevance": "none",
      "name": "fix-rls-policies",
      "normalized_name": "fix-rls-policies",
      "package_manager": "pnpm",
      "path": "fix-rls-policies.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "3fc5e4e8bb1993c03722f31c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "741df8f59016d84d",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "ENHANCEMENT_SUMMARY",
      "normalized_name": "enhancement-summary",
      "package_manager": "pnpm",
      "path": "ENHANCEMENT_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "57335ac1d993b52de8e0e523",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "540b7531ace73d73",
      "framework": "next-react",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "integration-test",
      "normalized_name": "integration-test",
      "package_manager": "pnpm",
      "path": "integration-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "484dde077ed9e9df59519606",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d22f0e168f3f85de",
      "framework": "next-react",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "debug-issues",
      "normalized_name": "debug-issues",
      "package_manager": "pnpm",
      "path": "debug-issues.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f0b307063f1a339b608fdcca",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55 | security-score:55",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "31873af442f26220",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "test-dealer-functionality",
      "normalized_name": "test-dealer-functionality",
      "package_manager": "pnpm",
      "path": "test-dealer-functionality.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9b02e8ae439ab4f81deffd92",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ecee7646544c20e3",
      "framework": "next-react",
      "imports": "next,next/font/google,react,sonner",
      "lines": 92,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "173055391be43e0a4061fe98",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cf0abc3f57e1a36",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 332,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "83e53d5f8d007fa616f29cf9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed613320de910032",
      "framework": "next-react",
      "imports": "",
      "lines": 134,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "28fe0516804025569f0b2aed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/plan-selector, @/components/ui/card, @/lib/supabase/server, next, next/navigation | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4938acaa79001a0d",
      "framework": "next-react",
      "imports": "@/components/plan-selector,@/components/ui/card,@/lib/supabase/server,next,next/navigation",
      "lines": 86,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/plans/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5b35c8f9feeb1c30ddcb6b14",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckEmailPage | imports:@/components/ui/card, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CheckEmailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4698883dc8daba6f",
      "framework": "next-react",
      "imports": "@/components/ui/card,next/link",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/check-email/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a8c54e1375fecdc470002175",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca13522c836e7232",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/signup/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "43f4a84a37f39c07750af89e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "027118f8050e7788",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "494778a90abac0d5ce554749",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminDashboard | imports:@/components/launch-readiness-checker, @/components/logout-button, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f7058b257735a9b",
      "framework": "next-react",
      "imports": "@/components/launch-readiness-checker,@/components/logout-button,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 415,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "4a9667bc8beace7b6cec2161",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminPlansPage | imports:@/components/add-plan-form, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "AdminPlansPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46d0361c6ec1f2c7",
      "framework": "next-react",
      "imports": "@/components/add-plan-form,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 215,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/plans/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8e1a8c72b21ce4315b410b30",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminBurritosPage | imports:@/components/add-burrito-form, @/components/burrito-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminBurritosPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08e51196531a4ee7",
      "framework": "next-react",
      "imports": "@/components/add-burrito-form,@/components/burrito-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 153,
      "logic_relevance": "none",
      "name": "page-new",
      "normalized_name": "page-new",
      "package_manager": "pnpm",
      "path": "app/admin/burritos/page-new.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0dafc76c76d49104e8a6a687",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminBurritosPage | imports:@/components/burrito-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminBurritosPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58baecc2fbe2384b",
      "framework": "next-react",
      "imports": "@/components/burrito-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page-old",
      "normalized_name": "page-old",
      "package_manager": "pnpm",
      "path": "app/admin/burritos/page-old.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f791f87d184c93f50dedd2b5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminBurritosPage | imports:@/components/add-burrito-form, @/components/burrito-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminBurritosPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08e51196531a4ee7",
      "framework": "next-react",
      "imports": "@/components/add-burrito-form,@/components/burrito-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 153,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/burritos/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3d8b595541aefd412a9103aa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminUsersPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminUsersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2a11af8df5d24a5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 225,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/users/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f25058282e1fbd83fc7f307a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminOrdersPage | imports:@/components/order-status-updater, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminOrdersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93666bf3061e3875",
      "framework": "next-react",
      "imports": "@/components/order-status-updater,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 255,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/orders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "023f30ef126f40c3b25c6147",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminAnalyticsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminAnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d2936d8a406edae",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 254,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5faef240405f2e8979bbf5fa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/logout-button, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e06472b5b13ce9ab",
      "framework": "next-react",
      "imports": "@/components/logout-button,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 445,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation",
      "component_id": "7fa1e9f9e62be5bd0830f2be",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlansPage | imports:@/components/subscribe-button, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "PlansPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "889907852ebb1f42",
      "framework": "next-react",
      "imports": "@/components/subscribe-button,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/plans/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8349a9a63771a29a00f256d5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubscriptionPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SubscriptionPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "368b86ddfa3e5fdc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 186,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/subscription/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c14d8fefda9eef38ae0160b9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/edit-profile-form, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2197fe8f8098fe2",
      "framework": "next-react",
      "imports": "@/components/edit-profile-form,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 124,
      "logic_relevance": "none",
      "name": "page-new",
      "normalized_name": "page-new",
      "package_manager": "pnpm",
      "path": "app/dashboard/profile/page-new.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "27eac25197b65531356b0d9b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/edit-profile-form, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1037ba10793f0e56",
      "framework": "next-react",
      "imports": "@/components/edit-profile-form,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 235,
      "logic_relevance": "none",
      "name": "page-old",
      "normalized_name": "page-old",
      "package_manager": "pnpm",
      "path": "app/dashboard/profile/page-old.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "539959daf785d862d8460fa2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/edit-profile-form, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f900c47d66335759",
      "framework": "next-react",
      "imports": "@/components/edit-profile-form,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 108,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "235154d5689e8906009b07a9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomizeOrderPage | imports:@/components/customize-order-form, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CustomizeOrderPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6458602185a4f9e9",
      "framework": "next-react",
      "imports": "@/components/customize-order-form,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 72,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/customize-order/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b3a47e269447a7a234e1d221",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OrdersPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "OrdersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "764094691f60c890",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next/link,next/navigation",
      "lines": 210,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/orders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3776f5144a03d8b6196ccfd3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e4fe3b3e099ddafb",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 189,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mock-data/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "476981fda83a54ea4012a9f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@supabase/supabase-js,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, @supabase/supabase-js, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8dac03ab7a4e6e42",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,@supabase/supabase-js,next/server",
      "lines": 118,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/dealers/onboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "29fecb0be25a9af1c62be0a0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a20f968bd749f1bb",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,next,next/image,next/link",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dealers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,automation",
      "component_id": "b39fa7cec09e6423e5320e4d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealerOnboardingPage, metadata | imports:@/components/dealer-onboarding-form, @/components/ui/button, @/components/ui/card, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "DealerOnboardingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9273db2b80f21172",
      "framework": "next-react",
      "imports": "@/components/dealer-onboarding-form,@/components/ui/button,@/components/ui/card,next,next/link",
      "lines": 142,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dealers/onboarding/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,process,ui",
      "component_id": "6cf957712ed229b6af48c6ec",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealerOnboardingSuccessPage, metadata | imports:@/components/ui/button, @/components/ui/card, next, next/link | frontend-score:115 | process-score:80 | ui-score:55",
      "exports": "DealerOnboardingSuccessPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b410b687c7a69149",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,next,next/link",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dealers/onboarding/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "82dd1ad12564acbb5f9d03ed",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,process,ui",
      "component_id": "da6a028c703a1b30ae94328c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealerOnboardingForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, next/navigation, react, sonner | frontend-score:115 | process-score:80 | ui-score:70",
      "exports": "DealerOnboardingForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34371782209ec0b3",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,next/navigation,react,sonner",
      "lines": 224,
      "logic_relevance": "none",
      "name": "dealer-onboarding-form",
      "normalized_name": "dealer-onboarding-form",
      "package_manager": "pnpm",
      "path": "components/dealer-onboarding-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "427af69ece7c6cb1c8d54b8b",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "15cd0fb76ed06da28da97a6e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlanSelector | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/lib/supabase/client, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "PlanSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24465614905e89f9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/lib/supabase/client,react,sonner",
      "lines": 379,
      "logic_relevance": "none",
      "name": "plan-selector",
      "normalized_name": "plan-selector",
      "package_manager": "pnpm",
      "path": "components/plan-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "abae4bff0a4bdc669cb6fe4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BurritoToggle | imports:@/components/ui/button, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BurritoToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a6b6695175f9d1a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/client,next/navigation,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "burrito-toggle",
      "normalized_name": "burrito-toggle",
      "package_manager": "pnpm",
      "path": "components/burrito-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "066e7fd7040b9973e75151e4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OrderStatusUpdater | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OrderStatusUpdater",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cb4b24bd11371d1",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/supabase/client,next/navigation,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "order-status-updater",
      "normalized_name": "order-status-updater",
      "package_manager": "pnpm",
      "path": "components/order-status-updater.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "b55e4337a8307d61db28da72",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddBurritoForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "AddBurritoForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24c8c60850ec4e6b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react,sonner",
      "lines": 221,
      "logic_relevance": "none",
      "name": "add-burrito-form",
      "normalized_name": "add-burrito-form",
      "package_manager": "pnpm",
      "path": "components/add-burrito-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "55d856a946a2920c127f802d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomizeOrderForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/textarea, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CustomizeOrderForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f91ecd7df6f39ad7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 161,
      "logic_relevance": "none",
      "name": "customize-order-form",
      "normalized_name": "customize-order-form",
      "package_manager": "pnpm",
      "path": "components/customize-order-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a8afe2bb240385356d72efae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LogoutButton | imports:@/components/ui/button, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LogoutButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32b972ffed6830af",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/client,next/navigation,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "logout-button",
      "normalized_name": "logout-button",
      "package_manager": "pnpm",
      "path": "components/logout-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d36612f0f3d5850c1c874a4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LaunchReadinessChecker | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/client, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LaunchReadinessChecker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e69649f1a716d8c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/client,lucide-react,react",
      "lines": 277,
      "logic_relevance": "none",
      "name": "launch-readiness-checker",
      "normalized_name": "launch-readiness-checker",
      "package_manager": "pnpm",
      "path": "components/launch-readiness-checker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability",
      "component_id": "7b3cc13295f063186f6e014b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddPlanForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/supabase/client, next/navigation, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55",
      "exports": "AddPlanForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f782e62af443136",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react,sonner",
      "lines": 239,
      "logic_relevance": "none",
      "name": "add-plan-form",
      "normalized_name": "add-plan-form",
      "package_manager": "pnpm",
      "path": "components/add-plan-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,observability",
      "component_id": "cb45a7c726793fc8e6a3452e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubscribeButton | imports:@/components/ui/button, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SubscribeButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24366021024f4563",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/client,next/navigation,react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "subscribe-button",
      "normalized_name": "subscribe-button",
      "package_manager": "pnpm",
      "path": "components/subscribe-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "432e0f86f3f658868a35e3e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/supabase-js,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navigation | imports:@/components/ui/button, @/lib/supabase/browser, @supabase/supabase-js, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Navigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9f31616a8245ab0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/browser,@supabase/supabase-js,next/link,next/navigation,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "components/navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b40845fde3158b80da7cd01a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EditProfileForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EditProfileForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60c5cdd2dae493e5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/navigation,react,sonner",
      "lines": 114,
      "logic_relevance": "none",
      "name": "edit-profile-form",
      "normalized_name": "edit-profile-form",
      "package_manager": "pnpm",
      "path": "components/edit-profile-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c4525a4aaad21b6df84103b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4d329544e4a17da53e590119",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9ec42c8a57e82311",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3a2b0cd0ed927ccb39dd036a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f41c11fc13e9a1f1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8f4c68114bab87138a022102",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5bbbba0b902864242119a6c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9b346378821ba06f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "79c1ec63c872e58a1fca38bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "de4e9fb0fd8e8ed1",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d02e202d1fc6a3f389de7e29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6628e8fde207857b",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "88e1984d4e28376666d63f45",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MetaTags | imports:next/head | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MetaTags",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1ffeeff917608ad0",
      "framework": "next-react",
      "imports": "next/head",
      "lines": 80,
      "logic_relevance": "none",
      "name": "meta-tags",
      "normalized_name": "meta-tags",
      "package_manager": "pnpm",
      "path": "components/seo/meta-tags.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "312a53219a5f67af1aea5a30",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/supabase-js, dotenv | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "02c1577c4c69de67",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "full-schema-explore",
      "normalized_name": "full-schema-explore",
      "package_manager": "pnpm",
      "path": "scripts/full-schema-explore.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "579de60add3addc25a87efdf",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5db9db75d343cfb0",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 315,
      "logic_relevance": "none",
      "name": "seed-corrected",
      "normalized_name": "seed-corrected",
      "package_manager": "pnpm",
      "path": "scripts/seed-corrected.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "79fdbabec24af58545b72129",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@supabase/supabase-js, dotenv | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8aecea0f7907c791",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 178,
      "logic_relevance": "none",
      "name": "seed-basic-data",
      "normalized_name": "seed-basic-data",
      "package_manager": "pnpm",
      "path": "scripts/seed-basic-data.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a38b8f21a9290ec0224c8990",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d1493b625fdd970b",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 149,
      "logic_relevance": "none",
      "name": "test-and-seed",
      "normalized_name": "test-and-seed",
      "package_manager": "pnpm",
      "path": "scripts/test-and-seed.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "505b15034cdd436aef27fdd7",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/supabase-js, dotenv | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "43b4cf77e72940ae",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "explore-orders-schema",
      "normalized_name": "explore-orders-schema",
      "package_manager": "pnpm",
      "path": "scripts/explore-orders-schema.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "934554e16839062d6b5c341b",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js, dotenv | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b911be7ec577cd1d",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 122,
      "logic_relevance": "none",
      "name": "database-summary",
      "normalized_name": "database-summary",
      "package_manager": "pnpm",
      "path": "scripts/database-summary.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a24d164e62dac715584a64a5",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a1882e3a8e4b29b6",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 71,
      "logic_relevance": "none",
      "name": "inspect-tables",
      "normalized_name": "inspect-tables",
      "package_manager": "pnpm",
      "path": "scripts/inspect-tables.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "0e2ddb3cfb433b835b8c3d34",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/supabase-js, dotenv | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2adffde2d0df5795",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "explore-schema",
      "normalized_name": "explore-schema",
      "package_manager": "pnpm",
      "path": "scripts/explore-schema.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "67f5c670506d95f0dde27727",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d843056d15cd9b12",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 61,
      "logic_relevance": "none",
      "name": "seed-dealers",
      "normalized_name": "seed-dealers",
      "package_manager": "pnpm",
      "path": "scripts/seed-dealers.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "555d86dcfc23909a87912820",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dff05b48deaf23c",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 221,
      "logic_relevance": "none",
      "name": "enhanced-seed",
      "normalized_name": "enhanced-seed",
      "package_manager": "pnpm",
      "path": "scripts/enhanced-seed.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1319337670ca15c7c7a72d55",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca982b8d5f8a45af",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 371,
      "logic_relevance": "none",
      "name": "seed-final",
      "normalized_name": "seed-final",
      "package_manager": "pnpm",
      "path": "scripts/seed-final.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "359a250a97829bc8216d900e",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d2fd29782095ff13",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 443,
      "logic_relevance": "none",
      "name": "seed-complete",
      "normalized_name": "seed-complete",
      "package_manager": "pnpm",
      "path": "scripts/seed-complete.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "178be3715c0d8020b2cdc795",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2722315f5472fb5d",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 95,
      "logic_relevance": "none",
      "name": "test-user-experience",
      "normalized_name": "test-user-experience",
      "package_manager": "pnpm",
      "path": "scripts/test-user-experience.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cf3bec3af64206eafd967c8d",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6336c86e5182e169",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 140,
      "logic_relevance": "none",
      "name": "create-sample-orders",
      "normalized_name": "create-sample-orders",
      "package_manager": "pnpm",
      "path": "scripts/create-sample-orders.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8ff81e0a5e6f2b63c7e12476",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "048f8f936124bdcf",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 126,
      "logic_relevance": "none",
      "name": "test-order-creation",
      "normalized_name": "test-order-creation",
      "package_manager": "pnpm",
      "path": "scripts/test-order-creation.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "4727a484abdcbead1d2f5926",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@supabase/supabase-js | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c9cb674b1504d89f",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 90,
      "logic_relevance": "none",
      "name": "setup-dealers",
      "normalized_name": "setup-dealers",
      "package_manager": "pnpm",
      "path": "scripts/setup-dealers.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "f48a760551d93ebc7fbc90c8",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/supabase-js, dotenv | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a8075a09506fc074",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "check-schema",
      "normalized_name": "check-schema",
      "package_manager": "pnpm",
      "path": "scripts/check-schema.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "f5cf52e61373308fe7d08597",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@supabase/supabase-js | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ecca75b134447f01",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 99,
      "logic_relevance": "none",
      "name": "create-test-users",
      "normalized_name": "create-test-users",
      "package_manager": "pnpm",
      "path": "scripts/create-test-users.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "decd6ddcb73b79aea3ce83cd",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@supabase/supabase-js | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "32fc659d50cdc247",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 129,
      "logic_relevance": "none",
      "name": "check-and-seed",
      "normalized_name": "check-and-seed",
      "package_manager": "pnpm",
      "path": "scripts/check-and-seed.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "3d29fdbc32641d7a370fdd75",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@supabase/supabase-js | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f716abf8ff20cb1b",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 463,
      "logic_relevance": "none",
      "name": "seed-complete-database",
      "normalized_name": "seed-complete-database",
      "package_manager": "pnpm",
      "path": "scripts/seed-complete-database.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "25b09d2f26f9b2ef88f74e17",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "9b885ab8bd8cb034794bfafd",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "98f90008a23515f7",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 77,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "6f0459f49daace1e4d622a7f",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createBrowserSupabaseClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createBrowserSupabaseClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84b60b5b44e149e9",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "browser",
      "normalized_name": "browser",
      "package_manager": "pnpm",
      "path": "lib/supabase/browser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "52e681811d9c36e47d4054de",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,security",
      "component_id": "95b08752afb04ce2d4b83c41",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr, next/headers | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e5eb4248381226a5",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__burrito-dealer-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0e9d015275f4aa20e432cf5b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89c5a93130301535",
      "framework": "next-react",
      "imports": "",
      "lines": 8660,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,observability,security,automation",
      "component_id": "2d05933839638cece57f0089",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6758670f1a17a9f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 174,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "a28737c9c5cbc06a54b9c4d0",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6318b09c330c3959",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "pre-commit-check",
      "normalized_name": "pre-commit-check",
      "package_manager": "pnpm",
      "path": "pre-commit-check.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "5b325f24b7443ca2a77814fd",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d11b8f70e4baa50",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 103,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "91b5f77d9d5141b9848230b1",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "54fb5c94f5fbcc19",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "404df3b37d62aeb1f926396b",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90275c13e0e3011b",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "API_SPEC",
      "normalized_name": "api-spec",
      "package_manager": "pnpm",
      "path": "API_SPEC.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f390a5b89f41f71460f5dcd0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51c1859324fcdeae",
      "framework": "next-react",
      "imports": "",
      "lines": 11969,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b0c0cc28749d85842af3a243",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c5b1dc5903cb2daf",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,process,observability,security,automation",
      "component_id": "755ac128f077ee318ace72b9",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c8eb5fce8371f332",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "AGENTS",
      "normalized_name": "agents",
      "package_manager": "pnpm",
      "path": "AGENTS.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "e067d4f6361088d046c97ab1",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "eslint-config-next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:eslint-config-next | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bd93642100cb2901",
      "framework": "next-react",
      "imports": "eslint-config-next",
      "lines": 10,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "pnpm",
      "path": "eslint.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery,automation",
      "component_id": "fc9ea6df9d33bb4e5fc17b0d",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/constants, next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e93ad1510c43f80b",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 63,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "733091a1c213a0fbbca741ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppleIcon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "AppleIcon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90a3ff6a857b3415",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 30,
      "logic_relevance": "none",
      "name": "apple-icon",
      "normalized_name": "apple-icon",
      "package_manager": "pnpm",
      "path": "app/apple-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "7dc68f0b20c63f4094e9f680",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Icon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7e391abd73da0df",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 30,
      "logic_relevance": "none",
      "name": "icon",
      "normalized_name": "icon",
      "package_manager": "pnpm",
      "path": "app/icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "534beeb4377e744ec6592f0d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:@/lib/constants, next/og | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e49aea5620d6a8c5",
      "framework": "next-react",
      "imports": "@/lib/constants,next/og",
      "lines": 87,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,security,discovery",
      "component_id": "d3c3622797c4b6db684a5832",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/constants, next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8417fc4eb54ad91a",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 87,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "2cd3b9bfa2b2f5c362a1a1ea",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @/lib/constants, @/lib/seo, @vercel/analytics/react, next, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca15516de9d85da1",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/lib/constants,@/lib/seo,@vercel/analytics/react,next,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "34910ff113b283e6abb4115a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:@/lib/constants, next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c88c3d13b0e3c97",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0bb2cd791573a7fe67d2743c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72832eacdbbaf1f3",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "147458838588e19bc29612f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "418131db8bdd3a31",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "551ceee9384d85ef21848f30",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/constants, @/lib/store | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1af4d32aa68ee97f",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/store",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "eb211fc0a24f5987889f86ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/constants, @/lib/store | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7438c574d986624b",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/store",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,automation",
      "component_id": "68686e36f78ccdf5f49e04db",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants | backend-score:125 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b091545c521f82dc",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "6b9e9a4e2750d14253f32618",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c861d338cac3172f",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/store,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-events.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,automation",
      "component_id": "c3a1b477e27048c85e118df1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/constants | backend-score:125 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7b04704b23c7af90",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/platphorm-network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "b6489b2b0230c0f4308cbde0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "48ba1747ba9059ba",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "ccb074fd11c95bcc4ba8f2a7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc0e7b5600683789",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "55277d3a4c1e1954f12aa350",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0e6444c19eceaf1",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend",
      "component_id": "105ec18db65187e1bcde18f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/constants, @/lib/seo, @/lib/store, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae8dbd8bad61c1e7",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/seo,@/lib/store,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/events.jsonld/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "af0522b29c94fa508102114f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "060fa9a1c6f9234e",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "0f1be32047916a70332fd231",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PUT | imports:@/lib/auth, @/lib/logger, @/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e4a423b77bbb6e0b",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/logger,@/lib/store,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,security",
      "component_id": "7a5ab4e7bba13503585b4e41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/hooks/local-calendar-storage, @/lib/api-helpers, @/lib/auth, @/lib/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "871d29cf8c3b2c34",
      "framework": "next-react",
      "imports": "@/hooks/local-calendar-storage,@/lib/api-helpers,@/lib/auth,@/lib/store,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendars/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,security",
      "component_id": "b3df8ec4fe4dd1ce25d25919",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77e9af19b3454c1a",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/store,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendars/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "d1b981d16f4a1fb7d97cfd6e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/v1/calendars/[id]/ics/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "502ae42de301c924",
      "framework": "next-react",
      "imports": "@/app/api/v1/calendars/[id]/ics/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendars/[id]/feed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,security",
      "component_id": "62815a5af834679c965211ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/ics, @/lib/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c49b648061862342",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/ics,@/lib/store,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendars/[id]/ics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a26b3efcce5a3b784d94ee22",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/capabilities/route | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7584ab083113d110",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f13c7c41462bfd75a96701f9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21bf630d80008942",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "1c3b4535fb8ee164077959ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "786d9937e7f04481",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/network-discovery,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "5bcd918de2b11c593e835270",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/network/graph/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7a8bb8408120621d",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/graph/route,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9079b4c0a0e2f147de67dcef",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/network-discovery | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f627e65a6358c4e8",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/network-discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "54b66119669dede89c8dab3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6c517961ef6e4b1",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,observability",
      "component_id": "6fd627235c2f18f2ed995495",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/network-discovery | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1deae4c8a32cf950",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/network-discovery",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "1ab51a9126295279032230ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c175b071fbaa1301",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "6dc45992d57c232c642831a7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b7f34ebd9337bfc",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/api-keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "84baa00b3999214221d4114e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/integrations/docs, @/lib/integrations/jobs, @/lib/integrations/json-store, @/lib/integrations/kanban, @/lib/mcp-client | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "11c351bc5035f0eb",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/integrations/docs,@/lib/integrations/jobs,@/lib/integrations/json-store,@/lib/integrations/kanban,@/lib/mcp-client,@/lib/store,next/server",
      "lines": 766,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "5ff03f38e9391ec382dbcbf9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b1d84a334155d501",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,observability,security,automation,ai",
      "component_id": "e2d9118d19b19a86ae55f7fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, GET | imports:@/lib/api-helpers, @/lib/constants, fs/promises, path | backend-score:125 | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "DOCS_DIR,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e4306c27c0a57010",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/constants,fs/promises,path",
      "lines": 147,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "eb1e345324e771c346e7adc2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/integrations/ics-sync, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3f80a56243f4c00",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/integrations/ics-sync,next/server",
      "lines": 70,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/google/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "f27226da50debde9d06541f9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api-helpers | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7ff72f734b61e7d9",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/producthunt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,observability,automation",
      "component_id": "5d828c2044a0ec746956a43f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d197316917a80bee",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/jules/sessions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b00cc73f96be40b01c67d617",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c7b6e992e0d7731",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,@/lib/trace,next/server",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/jules/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "8603968de4b11e094a3ed52b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/constants | backend-score:125 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "246832e87719d234",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/constants",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "98028f96696120d00a277103",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/integrations/docs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6bde7bf422630ede",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/integrations/docs,next/server",
      "lines": 140,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "6682b7d83ba8ffbc1bc4de75",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5e6e5033409018e5",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,next/server",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/onboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,process",
      "component_id": "351565174c2db023b6a16ff8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/integrations/onboard/route, next/server | backend-score:125 | frontend-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4285e80771355974",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/onboard/route,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/onboard/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,process",
      "component_id": "f00e4f4dc657ca6eb36a8110",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/integrations/onboard/route | backend-score:125 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cabb87599676cef3",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/onboard/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/onboard/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "a71291be8003dce7654b9dce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/integrations/json-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d38f82825ac456c1",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/integrations/json-store,next/server",
      "lines": 145,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ae18775f327fe4667f9eb219",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "37ede027d85bc21a",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,next/server",
      "lines": 209,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/kanban/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "5d63a9f0085c8aad96864a2f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/integrations/kanban/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dddc28ebc8b505db",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/kanban/route,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/kanban/tasks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend",
      "component_id": "2337b938962cd5ba04d75f0f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/integrations/kanban/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f7e9d80c84fe2f66",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/kanban/route,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/kanban/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "476492af06cbb67f4e007679",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82562f4749f64898",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/claws/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e8a0886bbe7732f7b40defc8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62e7cec91a2993ad",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,next/server",
      "lines": 191,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b321bfbd3fbf0a2fea7efdf4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/integrations/ics-sync, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6540af054bd2ef44",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/integrations/ics-sync,next/server",
      "lines": 70,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/outlook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "795903c521e9412693722c2a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae79e4e241576069",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,next/server",
      "lines": 91,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/public/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "983ee52e5ffbfb486e940ab5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/store, @/lib/trace, @/lib/webhooks, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "be0dc88355a4931f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/store,@/lib/trace,@/lib/webhooks,next/server",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "28a7e0418fd7ff37d89cdb48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/store, @/lib/trace, @/lib/webhooks, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aade3afe55fd84b3",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/store,@/lib/trace,@/lib/webhooks,next/server",
      "lines": 76,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "31b6dc555b2f4756358a5a9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/store, @/lib/trace, @/lib/webhooks, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "30fe6607233ee1b3",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/store,@/lib/trace,@/lib/webhooks,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "17ab03fbedb2ce993058ccef",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/constants, @/lib/store | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5ca72ce42211d6df",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/constants,@/lib/store",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "c88d264c21790cfc9f62ca22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/ics, @/lib/store, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7897926ef11923df",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/ics,@/lib/store,@/lib/trace,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/outlook-link/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "abf3222d7c9d183142165799",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "177f51084d00f4ed",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/revisions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "01b8e6db7955724835dcfadf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/ics, @/lib/store, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5991a4dc2c833ebe",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/ics,@/lib/store,@/lib/trace,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/ics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "72b98e3a86c5fc6df189a2ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/ics, @/lib/store, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ab4121561eb7c8e",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/ics,@/lib/store,@/lib/trace,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/google-link/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "abe5ef94ed8ebd57e52ac937",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/auth, @/lib/constants, @/lib/ics, @/lib/store, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4545862e098b91a",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/constants,@/lib/ics,@/lib/store,@/lib/trace,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/ics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "fdf5e2acbb9b04b5a3796e19",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/constants, @/lib/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28353b0a8a199945",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/constants,@/lib/store,next/server",
      "lines": 160,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6aa96156cbd93cc10efd09d7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/store, @/lib/trace, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0461ea03014fc0ee",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/store,@/lib/trace,@/lib/types,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reminders/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "24ee0ce5ea54c43e0b502234",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/store, @/lib/types, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6fb845963b2b58a0",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/store,@/lib/types,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reminders/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend",
      "component_id": "08fb13ea549b85bdafedb367",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/mcp/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "22ab2954c3ed3155",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "944982b90f2b17b7e1e47d54",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api-helpers, @/lib/constants, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9a49f5d75c39e8b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/constants,@neondatabase/serverless,next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "ce20de52b1e7180f110f2b28",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auth, @/lib/constants, @/lib/ics, @/lib/mcp-client, @/lib/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2d0a3e9ac68f7094",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auth,@/lib/constants,@/lib/ics,@/lib/mcp-client,@/lib/store,next/server",
      "lines": 453,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery,automation,ai",
      "component_id": "fda6eb3f02412cf15a5c63fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "64e8705ee113f888",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 549,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "09582089fe4aec61c73223ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "76dbad2e44c5566d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability",
      "component_id": "8c8a1f17ea60bc1416c1d38d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/constants, next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d68731417e95e66",
      "framework": "next-react",
      "imports": "@/lib/constants,next/og,next/server",
      "lines": 164,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery",
      "component_id": "6743094e135d46193d29feb9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/constants | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "66365925015159e8",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,security,discovery",
      "component_id": "ca4544a378625785e7e1459a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "27fa923084ee2419",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-network.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "f7cb4df20dfca0acd4a4b7cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3db328f7700e882c",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "fd89d7f85d83627177cc0744",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/layout/app-sidebar, @/components/layout/footer, @/components/layout/top-bar, @/components/ui/sidebar, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f7c0cfcf93a1675",
      "framework": "next-react",
      "imports": "@/components/layout/app-sidebar,@/components/layout/footer,@/components/layout/top-bar,@/components/ui/sidebar,@/components/ui/skeleton,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2a888b396ad51584600900ca",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/calendar/calendar-view, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba7286c305ecfd58",
      "framework": "next-react",
      "imports": "@/components/calendar/calendar-view,@/components/ui/skeleton,react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "a4af03495139cf6bf6052503",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage, metadata | imports:@/components/ui/card, @/lib/constants, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SettingsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "674d19291250e2d5",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/constants,next,next/link",
      "lines": 228,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation,ai",
      "component_id": "4ef58dcb778a7d9e0425f9c9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsApiPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/separator, @/components/ui/spinner, @/components/ui/tabs, @/hooks/use-fingerprint | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SettingsApiPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08ee415dd23de388",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/separator,@/components/ui/spinner,@/components/ui/tabs,@/hooks/use-fingerprint,@/lib/constants,react",
      "lines": 581,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend",
      "component_id": "d15d991f773d89bf926b07c2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/events/ics/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b284cf053f2a9d39",
      "framework": "next-react",
      "imports": "@/app/api/v1/events/ics/route,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/events.ics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "255363972fabdfce24d5164a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "61d4cd2f9be67232",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "platphorm-news",
      "normalized_name": "platphorm-news",
      "package_manager": "pnpm",
      "path": "docs/platphorm-news.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "df2122db5405570c38d63864",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "10ec4a34a4879e6d",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "principles",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "docs/principles.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "47ea6456e9bf8121205d871f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c7220557c2bc4d27",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "architecture",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/architecture.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "f3f47485a1d684e940f17238",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2e591004612bd821",
      "framework": "next-react",
      "imports": "",
      "lines": 197,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/api.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6d1e0b271b2b8ad595629598",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1b04906e7dae42d",
      "framework": "next-react",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "integration",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "docs/integration.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,integration,ai",
      "component_id": "564d9f2b4af98257b1dbfe82",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "102dd0d1641aa296",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "docs/mcp.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "60385677ca71a2eb0100d158",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3b4382159891a5c2",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "docs/faq.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b64087a8f1c0d0b021dfacb1",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ee049723341443b8",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "roadmap",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/roadmap.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ef1c7a4586f255278e759d4d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a907a4837bf02600",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "739daebfccbd465dad92a655",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "1464eb18ef72b4a3e4d3993d",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e457c40e3cebd03a3d86ed77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "48a4d7c3fbbd5a874a73494b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6b91ba70fc34a137",
      "framework": "next-react",
      "imports": "react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "12bfbca5ceacfe562c4a1845",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3157f0e0bdb61302fc19553a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "283c8c3933988b51f6cd7aa1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9d237a9560eeda01ec7732cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e291399615def81ed8c4abd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "531909c87dfe577d40cc8ef6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b1dce5d596c4163424fa7a4a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "0394988920048c94a9aeb8d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "9427547c8fb804f8f81c8326",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "321490dce208bb5c0484a0cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "654e04ee63a7ad04c488fde6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6a27cd36414f15b8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b209ff3d5e5321bb57621cff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "748437b8cdd98fbad2dbfcf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c7bed8e1a82ba1f49473df21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9d58bc59899838588e8bedf1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c2785ff1ea4974748f4ee6c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6d2d42f5641ce862e050dac1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1802d6ad622223fb77edeeb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cebe8e9775e0f8fde30347fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3eb9397117c7f5a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "438e962c92557df387194cdb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "edcc0c9c8b671dc47f6dd1dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "453f495e4d4460eb10d9bd58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "be0d759c69af8b47d2088ca7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "17013587e86832c255bb5201",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "0a5523f4d899f66d48b93644",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4bde3e3a367a3518dfd66a28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "613bd5876c9548c7f18d9a94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "91cb47d8f17e896e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7d5633565ccd50708be87d55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f69f1d455b734b0d8680a0f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "775aff184b4c633e0218f6b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b03bdba13add777b0a50ef64",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6a9e43ac405a4e0ab60de0e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "dddeebaf9d4f87b35e25ac99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ac1a016d2fbb632bc4d759a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9f5d075e2d3b2da09625e7f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "13c03ba80e91c9033633ac08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fe9f4f5e32591fe3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8d4128224034d9672917e0aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "043288fe54af9055be53788b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "21d9714657a00671",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 769,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d46330ef8c3a4381d34c7384",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0cc5ca24aaf51e1a3f3f42ce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4fcfb2472e7c46813b0b7abd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f94aa77c9fcc3a8990863047",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ba4aef8a633790c29a7ec5d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1fcd895869c895e4d9151931",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "2e35b0590b085daf8598ee4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "cafc0a44df29e3cfdd4797bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7435796fca929771f6cf7f8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e9b3ef16236578861441bf6e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cb3de784749e594bc6c0d827",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bba9368aa35335d51b01e18b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "3b14efb30b0b93ed222c4364",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d65afb7c38d3a7114da2cbd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "6d86581d1f484d5e6664d4d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "36da2ed4094e3d999cccc20e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a53a64eea80e7930",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "204b01f366f29ff0fb37e232",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DayView | imports:./event-card, @/components/ui/scroll-area, @/lib/constants, @/lib/types, @/lib/utils, date-fns, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "DayView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd8ebfc9e5aa6dd8",
      "framework": "next-react",
      "imports": "./event-card,@/components/ui/scroll-area,@/lib/constants,@/lib/types,@/lib/utils,date-fns,react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "day-view",
      "normalized_name": "day-view",
      "package_manager": "pnpm",
      "path": "components/calendar/day-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "0163407c038c9c1e3463f222",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WeekView | imports:./event-card, @/components/ui/scroll-area, @/lib/constants, @/lib/types, @/lib/utils, date-fns, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WeekView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d43e4a183237e033",
      "framework": "next-react",
      "imports": "./event-card,@/components/ui/scroll-area,@/lib/constants,@/lib/types,@/lib/utils,date-fns,react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "week-view",
      "normalized_name": "week-view",
      "package_manager": "pnpm",
      "path": "components/calendar/week-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "765d4f845736611df16e4e28",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,date-fns,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreateEventDialog | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/spinner, @/components/ui/textarea, @/hooks/use-events | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "CreateEventDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ddb12c923e85a567",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/spinner,@/components/ui/textarea,@/hooks/use-events,@/lib/types,date-fns,react",
      "lines": 214,
      "logic_relevance": "none",
      "name": "create-event-dialog",
      "normalized_name": "create-event-dialog",
      "package_manager": "pnpm",
      "path": "components/calendar/create-event-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,integration",
      "component_id": "21ab3821e574c494ae4380ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventCard | imports:@/lib/types, @/lib/utils | frontend-score:85 | ui-score:55 | integration-score:55",
      "exports": "EventCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b18dc66681c8347d",
      "framework": "next-react",
      "imports": "@/lib/types,@/lib/utils",
      "lines": 57,
      "logic_relevance": "none",
      "name": "event-card",
      "normalized_name": "event-card",
      "package_manager": "pnpm",
      "path": "components/calendar/event-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "8a4e6b47c02111ad2d344af9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MiniCalendar | imports:@/components/ui/button, @/lib/constants, @/lib/utils, next/navigation, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "MiniCalendar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a17b10f3002c312b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/constants,@/lib/utils,next/navigation,react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "mini-calendar",
      "normalized_name": "mini-calendar",
      "package_manager": "pnpm",
      "path": "components/calendar/mini-calendar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "39887feb40c53460afb28dfe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MonthView | imports:./event-card, @/components/ui/scroll-area, @/lib/constants, @/lib/types, @/lib/utils, date-fns, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "MonthView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9d2c238ad1ff2a3",
      "framework": "next-react",
      "imports": "./event-card,@/components/ui/scroll-area,@/lib/constants,@/lib/types,@/lib/utils,date-fns,react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "month-view",
      "normalized_name": "month-view",
      "package_manager": "pnpm",
      "path": "components/calendar/month-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "35d7fbbe1c85a6cf75ac3607",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AgendaView | imports:@/components/ui/badge, @/components/ui/button, @/lib/types, date-fns | frontend-score:85 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "AgendaView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1190d79988d118e6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/lib/types,date-fns",
      "lines": 62,
      "logic_relevance": "none",
      "name": "agenda-view",
      "normalized_name": "agenda-view",
      "package_manager": "pnpm",
      "path": "components/calendar/agenda-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability",
      "component_id": "d100948d140d79351ec882f6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,date-fns,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CalendarView | imports:./agenda-view, ./create-event-dialog, ./day-view, ./event-detail, ./month-view, ./week-view, @/components/ui/badge, @/components/ui/button | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55",
      "exports": "CalendarView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ada7264b8457880c",
      "framework": "next-react",
      "imports": "./agenda-view,./create-event-dialog,./day-view,./event-detail,./month-view,./week-view,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/select,@/hooks/use-events,@/lib/types,date-fns,next/navigation,react",
      "lines": 272,
      "logic_relevance": "none",
      "name": "calendar-view",
      "normalized_name": "calendar-view",
      "package_manager": "pnpm",
      "path": "components/calendar/calendar-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability",
      "component_id": "18cd3051875f0a31e7e5591e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,date-fns,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventDetail | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/spinner, @/components/ui/textarea, @/hooks/use-events | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55",
      "exports": "EventDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "239512e19587530a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/spinner,@/components/ui/textarea,@/hooks/use-events,@/lib/ics,@/lib/trace,@/lib/types,date-fns,react",
      "lines": 305,
      "logic_relevance": "none",
      "name": "event-detail",
      "normalized_name": "event-detail",
      "package_manager": "pnpm",
      "path": "components/calendar/event-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "052399fc7df0bcdf45390eae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:@/components/calendar/mini-calendar, @/components/ui/button, @/components/ui/sidebar, @/hooks/use-events, @/lib/constants, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1472a20b33e9a55c",
      "framework": "next-react",
      "imports": "@/components/calendar/mini-calendar,@/components/ui/button,@/components/ui/sidebar,@/hooks/use-events,@/lib/constants,next/link,next/navigation",
      "lines": 179,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f9ba3e195488b2c2974c9346",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/constants, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c935d23e48511bfc",
      "framework": "next-react",
      "imports": "@/lib/constants,next/link",
      "lines": 63,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "aa324e2bc5a5234c4e9b71b2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/separator, @/components/ui/sidebar, @/lib/constants, next-themes, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "040562e8e90b94ad",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/separator,@/components/ui/sidebar,@/lib/constants,next-themes,next/link",
      "lines": 93,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "6e0b1b3e5a31066e3d627321",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "6f779de22b09faef24f1d788",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/middleware,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/middleware, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71d57b0572a172c8",
      "framework": "next-react",
      "imports": "@/middleware,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "83b1c4d758da2df3f067e056",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/constants | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35bf051e88494ac0",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ecosystem.test",
      "normalized_name": "ecosystem",
      "package_manager": "pnpm",
      "path": "__tests__/integration/ecosystem.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "8f11e1656542134102344cc2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/app",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/app/sitemap | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b2e6087f20cd432",
      "framework": "next-react",
      "imports": "@/app/sitemap",
      "lines": 66,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/feeds/sitemap.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "a2010f65aa8d7a9354573cf5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/humans.txt/route | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "903160e5df9f4d93",
      "framework": "next-react",
      "imports": "@/app/humans.txt/route",
      "lines": 54,
      "logic_relevance": "none",
      "name": "humans.test",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "__tests__/feeds/humans.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,discovery",
      "component_id": "fb4e9fcd9da655859fdf8129",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/feed.xml/route, @/lib/constants, @/lib/store | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fbfa243148b3b15",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route,@/lib/constants,@/lib/store",
      "lines": 123,
      "logic_relevance": "none",
      "name": "atom.test",
      "normalized_name": "atom",
      "package_manager": "pnpm",
      "path": "__tests__/feeds/atom.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,discovery",
      "component_id": "af39d061ba3096c6443c12c9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/sitemap-index.xml/route, @/app/sitemap-network.xml/route | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab47dbcb4f6ccce3",
      "framework": "next-react",
      "imports": "@/app/sitemap-index.xml/route,@/app/sitemap-network.xml/route",
      "lines": 21,
      "logic_relevance": "none",
      "name": "network-sitemap.test",
      "normalized_name": "network-sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/feeds/network-sitemap.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "603388fdab5607cc8cea4767",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/llms-full.txt/route, @/app/llms.txt/route | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "033562d47bfa02b6",
      "framework": "next-react",
      "imports": "@/app/llms-full.txt/route,@/app/llms.txt/route",
      "lines": 106,
      "logic_relevance": "none",
      "name": "llms.test",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "__tests__/feeds/llms.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,discovery",
      "component_id": "246c2d6ae558c1a6ceea086c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/rss.xml/route, @/lib/constants, @/lib/store | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a038513a82a4c668",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route,@/lib/constants,@/lib/store",
      "lines": 155,
      "logic_relevance": "none",
      "name": "rss.test",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "__tests__/feeds/rss.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "2c6336e009d61d130ae7231f",
      "component_kind": "fingerprinting",
      "confidence": 80,
      "dependency_roots": "@/hooks,@testing-library/react",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:STORAGE_KEY | imports:@/hooks/use-fingerprint, @testing-library/react | security-score:55",
      "exports": "STORAGE_KEY",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad9ca9a31ec77658",
      "framework": "next-react",
      "imports": "@/hooks/use-fingerprint,@testing-library/react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "use-fingerprint.test",
      "normalized_name": "use-fingerprint",
      "package_manager": "pnpm",
      "path": "__tests__/hooks/use-fingerprint.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation",
      "component_id": "b8d049201107760690c9294a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/constants, @/lib/seo, @/lib/types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dddb642ad60562ea",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/seo,@/lib/types",
      "lines": 177,
      "logic_relevance": "primary",
      "name": "seo.test",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "__tests__/lib/seo.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "509b14b27742bde8fe046ea3",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/store, @neondatabase/serverless | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9868a6c8ccea9f7c",
      "framework": "next-react",
      "imports": "@/lib/store,@neondatabase/serverless",
      "lines": 255,
      "logic_relevance": "primary",
      "name": "store.test",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "1fba165be5e4f65c7ee238d0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/store, @/lib/webhooks | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "593340ab7e4a4af9",
      "framework": "next-react",
      "imports": "@/lib/store,@/lib/webhooks",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/lib/webhooks.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "399c4def84af00af731e8736",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ed5fb6c714939b0a",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "1533a9f15d26916be8c17b16",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auth, next/server | logic-score:85 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a3c34ae2a0702a95",
      "framework": "next-react",
      "imports": "@/lib/auth,next/server",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "__tests__/lib/auth.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability",
      "component_id": "51ef9095d2f34a3250aaf48a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp-client | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aad5a6b86c42ce5f",
      "framework": "next-react",
      "imports": "@/lib/mcp-client",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,observability,security",
      "component_id": "870db05c7dbf78d7f27ddd5b",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-helpers | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c6c3a0697e8bec13",
      "framework": "next-react",
      "imports": "@/lib/api-helpers",
      "lines": 235,
      "logic_relevance": "primary",
      "name": "api-helpers.test",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "__tests__/lib/api-helpers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "dec316b1fe79ebada6a55367",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/constants | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4257da40aef30ee4",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 188,
      "logic_relevance": "primary",
      "name": "constants.test",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "__tests__/lib/constants.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "f9bd4d8e53ef2c5e7b00de41",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/constants, @/lib/seo, @/lib/types | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d1439f637667550",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/seo,@/lib/types",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "seo-share.test",
      "normalized_name": "seo-share",
      "package_manager": "pnpm",
      "path": "__tests__/lib/seo-share.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "0f748c30129606b045c371c6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "afcbfccc0fda4292",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "7b4e54816269bd95465a92cc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/integrations/kanban, @/lib/store | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3fe1b6e95a4f07ae",
      "framework": "next-react",
      "imports": "@/lib/integrations/kanban,@/lib/store",
      "lines": 152,
      "logic_relevance": "primary",
      "name": "kanban-logging.test",
      "normalized_name": "kanban-logging",
      "package_manager": "pnpm",
      "path": "__tests__/lib/integrations/kanban-logging.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "2067e55b10bf7dfadaa8a5d9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/integrations/jobs, @/lib/store | logic-score:60 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "065578d733bee4a9",
      "framework": "next-react",
      "imports": "@/lib/integrations/jobs,@/lib/store",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "jobs-logging.test",
      "normalized_name": "jobs-logging",
      "package_manager": "pnpm",
      "path": "__tests__/lib/integrations/jobs-logging.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,automation",
      "component_id": "49762677545bba8d835c3978",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/integrations/jobs, @/lib/store | logic-score:85 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b457be0ccd2fe1e",
      "framework": "next-react",
      "imports": "@/lib/integrations/jobs,@/lib/store",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "jobs.test",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "__tests__/lib/integrations/jobs.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "42a07c9026858e61f0275225",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/integrations/json-store, @/lib/store | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab37a6a4ea69ff71",
      "framework": "next-react",
      "imports": "@/lib/integrations/json-store,@/lib/store",
      "lines": 360,
      "logic_relevance": "primary",
      "name": "json-store.test",
      "normalized_name": "json-store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/integrations/json-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security,process",
      "component_id": "7d026136a7aa665f053f1576",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/integrations/docs, @/lib/store | logic-score:85 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ee73fb643ffbf064",
      "framework": "next-react",
      "imports": "@/lib/integrations/docs,@/lib/store",
      "lines": 305,
      "logic_relevance": "primary",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/lib/integrations/docs.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "a10a6c1588a08e6c2b744b73",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/integrations/kanban, @/lib/store | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aa5ca39a58d9c7fb",
      "framework": "next-react",
      "imports": "@/lib/integrations/kanban,@/lib/store",
      "lines": 153,
      "logic_relevance": "primary",
      "name": "kanban.test",
      "normalized_name": "kanban",
      "package_manager": "pnpm",
      "path": "__tests__/lib/integrations/kanban.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "38fe9ea02a41bbd41e5b633c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, next/server | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f27c2d8864ea0cd0",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server",
      "lines": 76,
      "logic_relevance": "none",
      "name": "mcp-json-rpc.test",
      "normalized_name": "mcp-json-rpc",
      "package_manager": "pnpm",
      "path": "__tests__/api/mcp-json-rpc.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security",
      "component_id": "c066adc6d064e4bfeb8dd7d6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/mcp-client, next/server | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "68c19b8139469d93",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/mcp-client,next/server",
      "lines": 228,
      "logic_relevance": "none",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "__tests__/api/mcp-client.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "bcfa4c0b4408e389ffa8c7ac",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "fs,path",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ROUTE_METHODS | imports:fs, path | backend-score:55",
      "exports": "ROUTE_METHODS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "492c6bd9d407c0ed",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 41,
      "logic_relevance": "none",
      "name": "routes-smoke.test",
      "normalized_name": "routes-smoke",
      "package_manager": "pnpm",
      "path": "__tests__/api/routes-smoke.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "cf063070958ce106ed5ba813",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/platphorm-network/route, @/app/.well-known/security.txt/route | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c2c721c0dc10b65a",
      "framework": "next-react",
      "imports": "@/app/.well-known/platphorm-network/route,@/app/.well-known/security.txt/route",
      "lines": 21,
      "logic_relevance": "none",
      "name": "well-known-network.test",
      "normalized_name": "well-known-network",
      "package_manager": "pnpm",
      "path": "__tests__/api/well-known-network.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,process,automation",
      "component_id": "62cd25c6ed2c575bc3714d3a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, @/lib/constants | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "edd8b7d2cf27acd3",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/lib/constants",
      "lines": 132,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "226b22b5373b3b89a7733ec1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/webhooks/route, @/lib/store, next/server | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1aa57fd6d8f78e1d",
      "framework": "next-react",
      "imports": "@/app/api/v1/webhooks/route,@/lib/store,next/server",
      "lines": 328,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability",
      "component_id": "840339e19c98b64f217ff03f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/calendars/route, @/lib/store, next/server | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "01b0959113a3e9b4",
      "framework": "next-react",
      "imports": "@/app/api/v1/calendars/route,@/lib/store,next/server",
      "lines": 93,
      "logic_relevance": "none",
      "name": "calendars.test",
      "normalized_name": "calendars",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/calendars.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "8efaea8cffb0a435c1e0daef",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/mcp/route, @/lib/integrations/docs, @/lib/integrations/jobs, @/lib/integrations/json-store, @/lib/integrations/kanban, @/lib/mcp-client, @/lib/store, next/server | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ea764cb90ecfdd37",
      "framework": "next-react",
      "imports": "@/app/api/v1/mcp/route,@/lib/integrations/docs,@/lib/integrations/jobs,@/lib/integrations/json-store,@/lib/integrations/kanban,@/lib/mcp-client,@/lib/store,next/server",
      "lines": 688,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "ed86ebc2cab66b91195020ce",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/events/route, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e3e8759b26e10ad",
      "framework": "next-react",
      "imports": "@/app/api/v1/events/route,@/lib/store,next/server",
      "lines": 258,
      "logic_relevance": "none",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/events.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "f4fab17d9baf8e5d1b9f99fa",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/events/[id]/route, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "55d455542071e759",
      "framework": "next-react",
      "imports": "@/app/api/v1/events/[id]/route,@/lib/store,next/server",
      "lines": 153,
      "logic_relevance": "none",
      "name": "events-id.test",
      "normalized_name": "events-id",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/events-id.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "57a8ded097a032dede89f89c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/events/[id]/route, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "51974bcc7612ad21",
      "framework": "next-react",
      "imports": "@/app/api/v1/events/[id]/route,@/lib/store,next/server",
      "lines": 151,
      "logic_relevance": "none",
      "name": "events-move.test",
      "normalized_name": "events-move",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/events-move.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "c2dcf6e81c03d16f22c10a1d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/settings/route, @/lib/auth, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf942baee45530bf",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,@/lib/auth,@/lib/store,next/server",
      "lines": 198,
      "logic_relevance": "none",
      "name": "settings.test",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/settings.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,process",
      "component_id": "a91dd05207b322f044bcfd80",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/docs/route, @/lib/constants | backend-score:55 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a63b4f35f6acac32",
      "framework": "next-react",
      "imports": "@/app/api/v1/docs/route,@/lib/constants",
      "lines": 118,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a35e6e45a453e092ff2d2716",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/api-keys/route | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "acf9e0e089f5ce7e",
      "framework": "next-react",
      "imports": "@/app/api/v1/api-keys/route",
      "lines": 30,
      "logic_relevance": "none",
      "name": "api-keys.test",
      "normalized_name": "api-keys",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/api-keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "6c847d9c3a7b37fa38c0ad9d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/public/events/route, @/lib/auth, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "abfa15edce2ea413",
      "framework": "next-react",
      "imports": "@/app/api/v1/public/events/route,@/lib/auth,@/lib/store,next/server",
      "lines": 101,
      "logic_relevance": "none",
      "name": "public-events.test",
      "normalized_name": "public-events",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/public-events.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "399b8dc78e4151919324e091",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/events/ics/route, @/lib/auth, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65763f9d68a24938",
      "framework": "next-react",
      "imports": "@/app/api/v1/events/ics/route,@/lib/auth,@/lib/store,next/server",
      "lines": 85,
      "logic_relevance": "none",
      "name": "events-ics.test",
      "normalized_name": "events-ics",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/events-ics.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "38a3b62d9a250ab15c164d8c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/constants | backend-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d486d36f39bc24c4",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/constants",
      "lines": 69,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability",
      "component_id": "d789ce97b5de2ea1ac1e158f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/mcp/register/route, next/server | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "97dddde270f7c5ad",
      "framework": "next-react",
      "imports": "@/app/api/v1/mcp/register/route,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "register.test",
      "normalized_name": "register",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/mcp/register.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "7e09f546d87db298baec1201",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/google/route, @/lib/auth, @/lib/integrations/ics-sync, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bef1280529b17f08",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/google/route,@/lib/auth,@/lib/integrations/ics-sync,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "google.test",
      "normalized_name": "google",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/google.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "26799a0fd47033768516910d",
      "component_kind": "onboarding",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/integrations/onboard/route, @/lib/auth, @/lib/store, next/server | process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4e18687bfa2ea605",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/onboard/route,@/lib/auth,@/lib/store,next/server",
      "lines": 70,
      "logic_relevance": "none",
      "name": "onboard.test",
      "normalized_name": "onboard",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/onboard.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "f88e8a0d212aa36ea7d0edd1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/jobs/route, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7b6246bbd724ce34",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/jobs/route,@/lib/store,next/server",
      "lines": 331,
      "logic_relevance": "none",
      "name": "jobs.test",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/jobs.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "4e1fac7326247a3d070f86f2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/json/route, @/lib/integrations/json-store, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6a7409af221ecc17",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/json/route,@/lib/integrations/json-store,next/server",
      "lines": 171,
      "logic_relevance": "none",
      "name": "json.test",
      "normalized_name": "json",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/json.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,process",
      "component_id": "61abe2328157e55bc9e3767a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/docs/route, @/lib/integrations/docs, next/server | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2a760958c42cd821",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/docs/route,@/lib/integrations/docs,next/server",
      "lines": 141,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "0aec8f1b25721301f788baba",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/outlook/route, @/lib/auth, @/lib/integrations/ics-sync, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f97f8eec1a7d8c24",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/outlook/route,@/lib/auth,@/lib/integrations/ics-sync,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "outlook.test",
      "normalized_name": "outlook",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/outlook.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "1f55fd71ee8f0ac1bc64b00e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/producthunt/route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e8e70af5e63a4ade",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/producthunt/route",
      "lines": 37,
      "logic_relevance": "none",
      "name": "producthunt.test",
      "normalized_name": "producthunt",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/producthunt.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "29d05a3946f09dcd8c5d09cb",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/kanban/route, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c34cbcc5c5b4e9da",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/kanban/route,@/lib/store,next/server",
      "lines": 310,
      "logic_relevance": "none",
      "name": "kanban.test",
      "normalized_name": "kanban",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/kanban.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "662e89878d2c42622327dd42",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/claws/route, @/lib/auth, @/lib/store, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fd625194d273d005",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/claws/route,@/lib/auth,@/lib/store,next/server",
      "lines": 78,
      "logic_relevance": "none",
      "name": "claws.test",
      "normalized_name": "claws",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/claws.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "dcbc31b1a1d263e065c6db1c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f096eb6ca53962bd",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "3eb02061e1b13fe2431c633c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "06333e28f242c0a9",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "9349f91a5f2f299e022d70f7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "df4ffacd2e8d1b89",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "e0bb10b10e71b0f38865cd71",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,react,swr",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:cancelEventApi, createEventApi, deleteEventApi, updateEventApi, useCalendars, useEvents | imports:./local-calendar-storage, ./use-fingerprint, @/lib/types, react, swr | observability-score:55 | security-score:55",
      "exports": "cancelEventApi,createEventApi,deleteEventApi,updateEventApi,useCalendars,useEvents",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69ff3f0faee7da96",
      "framework": "next-react",
      "imports": "./local-calendar-storage,./use-fingerprint,@/lib/types,react,swr",
      "lines": 233,
      "logic_relevance": "none",
      "name": "use-events",
      "normalized_name": "use-events",
      "package_manager": "pnpm",
      "path": "hooks/use-events.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d1d18a76422c8a3a4404d91d",
      "component_kind": "fingerprinting",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:clearVolatilePlatformApiKey, getAuthHeaders, saveApiKey, setVolatilePlatformApiKey, useFingerprint | imports:react | security-score:55",
      "exports": "clearVolatilePlatformApiKey,getAuthHeaders,saveApiKey,setVolatilePlatformApiKey,useFingerprint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5f96bee6a2fcdafb",
      "framework": "next-react",
      "imports": "react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "use-fingerprint",
      "normalized_name": "use-fingerprint",
      "package_manager": "pnpm",
      "path": "hooks/use-fingerprint.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "bb9d7f85443499f73c509a07",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:LOCAL_CALENDAR, LOCAL_CALENDAR_ID, isIndexedDbAvailable | imports:@/lib/constants, @/lib/types | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "LOCAL_CALENDAR,LOCAL_CALENDAR_ID,isIndexedDbAvailable",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd856a4cdf90d81a",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/types",
      "lines": 211,
      "logic_relevance": "none",
      "name": "local-calendar-storage",
      "normalized_name": "local-calendar-storage",
      "package_manager": "pnpm",
      "path": "hooks/local-calendar-storage.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability",
      "component_id": "3497a9f0e218d26a769c514f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:trustedPlatphormOrigin | logic-score:85 | observability-score:55",
      "exports": "trustedPlatphormOrigin",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b901844e2db7ff75",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "network-discovery",
      "normalized_name": "network-discovery",
      "package_manager": "pnpm",
      "path": "lib/network-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,backend,observability,security",
      "component_id": "9d4119d03df85562424c7b3f",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiResponse, generateRequestId, paginateArray, paginatedResponse, parsePagination | imports:./constants, ./types, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "apiError,apiResponse,generateRequestId,paginateArray,paginatedResponse,parsePagination",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d3c2763af88faa06",
      "framework": "next-react",
      "imports": "./constants,./types,next/server",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "api-helpers",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "lib/api-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability,security",
      "component_id": "80455ac05ea04ff99488e7b0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParsedIcsEvent, buildGoogleCalendarUrl, buildIcsCalendar, buildIcsEvent, buildIcsFileName, buildOutlookIcsUrl, parseIcsEvents | imports:@/lib/constants, @/lib/types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ParsedIcsEvent,buildGoogleCalendarUrl,buildIcsCalendar,buildIcsEvent,buildIcsFileName,buildOutlookIcsUrl,parseIcsEvents",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d235d43c389a040c",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/types",
      "lines": 271,
      "logic_relevance": "primary",
      "name": "ics",
      "normalized_name": "ics",
      "package_manager": "pnpm",
      "path": "lib/ics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,integration,observability,automation",
      "component_id": "045cac7c8f441d365326c8a3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/store, @/lib/types | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e99c34d1c955c7e6",
      "framework": "next-react",
      "imports": "@/lib/store,@/lib/types",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "webhooks",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "lib/webhooks.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "07be1162fca52152d7095a3b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPDiscoveryResult, MCPResource, MCPServerInfo, MCPTool, MCPToolCallResult, getClientManifest | imports:@/lib/constants | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "MCPDiscoveryResult,MCPResource,MCPServerInfo,MCPTool,MCPToolCallResult,getClientManifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ea9406cb996c8d2e",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 341,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "1eadcc4398444820b1130ab6",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d3285554929faf63e9dff33b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, ApiKey, ApiMeta, ApiResponse, Attendee, AuditLogEntry, BaseEntity, Calendar | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiError,ApiKey,ApiMeta,ApiResponse,Attendee,AuditLogEntry,BaseEntity,Calendar,CalendarEvent,CalendarViewType,EventSource,EventStatus,EventVisibility,FaqItem,Job,KanbanImportResult,KanbanSyncResult,NavItem,PaginatedResponse,PaginationInfo,RecurrenceRule,Reminder,StorageMode,SyncStatus,Tenant,TenantSettings,User,UserPreferences,UserRole,WebhookDelivery,WebhookEndpoint,WebhookEventType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9a1ef845f3effe7",
      "framework": "next-react",
      "imports": "",
      "lines": 273,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "728c96cf5dbd45fe74bf21e3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, extractRequestContext, logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "LogContext,LogLevel,extractRequestContext,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7e39141762a945b6",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "6cb92799f57e7f557be1ecb7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API, APP, CALENDAR_COLORS, CREATOR, DAYS_OF_WEEK, DAYS_SHORT, DOC_SLUGS, ECOSYSTEM_APIS | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "API,APP,CALENDAR_COLORS,CREATOR,DAYS_OF_WEEK,DAYS_SHORT,DOC_SLUGS,ECOSYSTEM_APIS,FOOTER_LINKS,INTEGRATIONS,MONTHS,NAV_ITEMS,TIME_SLOTS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "53d47914f5854264",
      "framework": "next-react",
      "imports": "",
      "lines": 205,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c9b3f641814f8a8c434d1b80",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SitemapEntry, apiJsonLd, breadcrumbJsonLd, calendarJsonLd, canonicalUrl, eventJsonLd, eventShareMetadata, eventToSitemapEntry | imports:./constants, ./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SitemapEntry,apiJsonLd,breadcrumbJsonLd,calendarJsonLd,canonicalUrl,eventJsonLd,eventShareMetadata,eventToSitemapEntry,faqPageJsonLd,hreflangLinks,networkGraphJsonLd,organizationJsonLd,shareMetadata,webApplicationJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cabf3e8c7a951885",
      "framework": "next-react",
      "imports": "./constants,./types",
      "lines": 359,
      "logic_relevance": "primary",
      "name": "seo",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "lib/seo.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "078ef9972c4f42b0bc7dc404",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PersistedData, loadPersistedData, persistData | imports:./types | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "PersistedData,loadPersistedData,persistData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "64a3c466d577e604",
      "framework": "next-react",
      "imports": "./types",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "persistence",
      "normalized_name": "persistence",
      "package_manager": "pnpm",
      "path": "lib/persistence.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "backend,logic",
      "component_id": "67cae77957a29898850ba834",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for finance; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c44aa90c40f257a7",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 44,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "edd6fc259d963e088ae39d3a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CalendarSpan, TraceContext, buildPlatphormTraceHeaders, createTraceContext, emitCalendarSpan, traceUrl | imports:@/lib/constants | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CalendarSpan,TraceContext,buildPlatphormTraceHeaders,createTraceContext,emitCalendarSpan,traceUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ec52625348174a57",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f0a1c9f3c8a14d18f5f4a709",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getPlatformAuthHeaders | imports:next/server | logic-score:85 | security-score:55 | uses-env",
      "exports": "getPlatformAuthHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aca6c566b082944f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0e747d6a3daeb8b485d689eb",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkIntegration, UserSettings | imports:./types, @neondatabase/serverless, crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "NetworkIntegration,UserSettings",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42e3d7a2d186121c",
      "framework": "next-react",
      "imports": "./types,@neondatabase/serverless,crypto",
      "lines": 791,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,observability,security",
      "component_id": "bc69a695e064f68b5cf52505",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonStoreResult | imports:@/lib/constants, @/lib/store | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "JsonStoreResult",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad301c42c1eba72d",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/store",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "json-store",
      "normalized_name": "json-store",
      "package_manager": "pnpm",
      "path": "lib/integrations/json-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "429ff396a4db796099ff9873",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:KANBAN_BASE_URL | imports:@/lib/auth, @/lib/constants, @/lib/store | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "KANBAN_BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "77cd67d078935361",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/constants,@/lib/store",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "kanban",
      "normalized_name": "kanban",
      "package_manager": "pnpm",
      "path": "lib/integrations/kanban.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "95166caa40bb85afa82208d1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IcsSyncResult | imports:@/lib/constants, @/lib/ics, @/lib/store | logic-score:85 | observability-score:55",
      "exports": "IcsSyncResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6717905fa5958891",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/ics,@/lib/store",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "ics-sync",
      "normalized_name": "ics-sync",
      "package_manager": "pnpm",
      "path": "lib/integrations/ics-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ed44ee0d588869f3f436935c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JOBS_BASE_URL | imports:@/lib/auth, @/lib/constants, @/lib/store | logic-score:60 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JOBS_BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0f21fb4c2d553ece",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/constants,@/lib/store",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "lib/integrations/jobs.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability,process",
      "component_id": "d3a8ad683bffe0d4f593783a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocsSyncResult | imports:@/lib/constants, @/lib/store | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "DocsSyncResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69965461c11ac20a",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/store",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "docs",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "lib/integrations/docs.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__calendar-app-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d01bb3abb622e7dcf801cf67",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd31c2264cce53c7",
      "framework": "next-react",
      "imports": "",
      "lines": 5059,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "5db85793a87307c33e75b5c4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a7b37e30f8c38323",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "60d74c320fcc26f71d966af7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "818133dd7d24529f",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "bf372c84f022573b1e6fc405",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "363fa2dc129ecb98",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "30073657cad7fa69be6a9f0d",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9c0378066f940e65",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "74ceb6bff53b41440bc27a93",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @/components/ui/sonner, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "054a8a54260a37bc",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/components/ui/sonner,@vercel/analytics/next,next,next/font/google",
      "lines": 95,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "643d13cf39575075d40ed655",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2daf4dd5768e5f09",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "9f2ccd1c41696cd994a31827",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72edab17d7d1dd67",
      "framework": "next-react",
      "imports": "",
      "lines": 221,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,automation",
      "component_id": "f7d197829d93e9d59b901945",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/gateway,ai,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@ai-sdk/gateway, ai, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3a3739679e5cef5b",
      "framework": "next-react",
      "imports": "@ai-sdk/gateway,ai,next/server",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze-vehicle/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,ai",
      "component_id": "081cdfe0a1c0fa265b0e9ceb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb436e8740a2b626",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/activity/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "6a342a816d8637fb3aa767ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b5c1dea2ea1971fd",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/types,next/server",
      "lines": 202,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "8401c688f5d611d492cca9bc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8b10e031c697c0e",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/notes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "a7de0022bee58d34c298b35b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77bb31dcc6c0610e",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/notes/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "c0cbadbee1e72bd45d822a5f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/db, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13d5e133dd498e81",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/types,next/server",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/vehicles/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "9102e24bae5890f3fe5ff878",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@/lib/auth, @/lib/db, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4d4ef7c7a96843bd",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/types,next/server",
      "lines": 129,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/vehicles/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "3b5ba7a99c27ff4dbfd32c6c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/db, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f9d6a49733a61bd",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/types,next/server",
      "lines": 190,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/vehicles/[id]/documents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "92cceba8e574e29ab785ab3c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "69a867e9c2daa066",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/vehicles/[id]/photos/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "8b28e0db32eac38bd1b172b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/db, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f3da454d207fe325",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/types,next/server",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/vehicles/[id]/shares/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "c4497e43cd5a7088261c6719",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/db, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e483ff7468becdef",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/types,next/server",
      "lines": 149,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/vehicles/[id]/services/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,ai",
      "component_id": "68b85cb3c9c12659f47eb585",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dba6d824f1d058b6",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,ai",
      "component_id": "c1ea349bae4e32af40b87fb1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d8ffa8e95f3935f",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/photos/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,ai",
      "component_id": "8603108615093a89c7fc01fd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b755b0b109ebbd5b",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shares/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "f8b40a23fdd840ecf9cf90f6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "DELETE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5cd1973ad279aa74",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shares/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation,ai",
      "component_id": "5fba861c360c5695ae2cf3b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a6358f692e8abe23",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reminders/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "d255d2dda0e7b931a917fc4b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6f8a97124eb47baf",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d81de640e67321ed1568f625",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42f98aeb1ff3fbf5",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "d4be41142331da95847b07f3",
      "component_kind": "layout",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GarageLayout | imports:@/components/app-shell | frontend-score:85 | ui-score:55",
      "exports": "GarageLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b00caf0fe768455a",
      "framework": "next-react",
      "imports": "@/components/app-shell",
      "lines": 9,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/garage/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "caa00388fa48452857a51661",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GarageDashboard | imports:@/components/recent-activity-client, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, @/components/upcoming-reminders-client, @/components/vehicle-card, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GarageDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbb17e0d890d14c6",
      "framework": "next-react",
      "imports": "@/components/recent-activity-client,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,@/components/upcoming-reminders-client,@/components/vehicle-card,lucide-react,next/link,react,swr",
      "lines": 298,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "77747a38079565f2c969be25",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/alert-dialog, @/components/ui/avatar, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17658f833deb21d5",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/avatar,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,lucide-react,next-themes,react,sonner",
      "lines": 319,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "80d4d8d3bc6a42f6e5a502ce",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,swr",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPageContent | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/skeleton, @/components/ui/tabs, @/lib/types, @/lib/utils | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SearchPageContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0db2cff4e9bee7af",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/skeleton,@/components/ui/tabs,@/lib/types,@/lib/utils,lucide-react,next/link,next/navigation,react,swr",
      "lines": 234,
      "logic_relevance": "none",
      "name": "search-content",
      "normalized_name": "search-content",
      "package_manager": "pnpm",
      "path": "app/garage/search/search-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "3278b1db4af0bf08784b1fca",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage | imports:./search-content, @/components/ui/card, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SearchPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d821a44c5368ac1b",
      "framework": "next-react",
      "imports": "./search-content,@/components/ui/card,@/components/ui/skeleton,react",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "dd293dbe7e27939b753e0c3d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotesPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/label, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NotesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "705d5401b5b27dbe",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/skeleton,@/components/ui/textarea,@/lib/utils,date-fns,lucide-react,next/link,react,swr",
      "lines": 357,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/notes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "54db1f3ce63c66cb6ae6013f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:VehiclesPage | imports:@/components/ui/button, @/components/ui/skeleton, @/components/ui/tabs, @/components/vehicle-card, @/lib/auth, @/lib/db, @/lib/types, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "VehiclesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3caa55c6672352f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/skeleton,@/components/ui/tabs,@/components/vehicle-card,@/lib/auth,@/lib/db,@/lib/types,lucide-react,next/link,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/vehicles/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "32407b54245b73ed29de67a8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewVehiclePage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/skeleton, @/components/vehicle-form, @/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70",
      "exports": "NewVehiclePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1bac3942888ee41",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,@/components/vehicle-form,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/vehicles/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "f257c1ced6f32f87956426b7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VehicleDetailPage, VehicleHeader, VehicleHeaderSkeleton | imports:@/components/service-records-list, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/components/ui/skeleton, @/components/ui/tabs, @/lib/auth | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "VehicleDetailPage,VehicleHeader,VehicleHeaderSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3a827a5f72d5580",
      "framework": "next-react",
      "imports": "@/components/service-records-list,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/components/ui/skeleton,@/components/ui/tabs,@/lib/auth,@/lib/db,@/lib/types,lucide-react,next/image,next/link,next/navigation,react",
      "lines": 319,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/vehicles/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "1400c5c77ec8febc48c5f088",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewServiceRecordPage | imports:@/components/service-record-form, @/lib/auth, @/lib/db, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NewServiceRecordPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a05f7bd5dbb86c6",
      "framework": "next-react",
      "imports": "@/components/service-record-form,@/lib/auth,@/lib/db,lucide-react,next/link,next/navigation",
      "lines": 58,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/vehicles/[id]/services/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bf469932d2bb4c13f0b5930f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,date-fns,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/select, @/components/ui/skeleton, date-fns | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DocumentsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec52b138c1ae525a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/select,@/components/ui/skeleton,date-fns,lucide-react,next/link,react,swr",
      "lines": 236,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/documents/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security,ai",
      "component_id": "c3604712ac9171bd1d4b6916",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,sonner,swr",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentUploadPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "DocumentUploadPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "347faccdc01336be",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/utils,lucide-react,next/link,next/navigation,react,sonner,swr",
      "lines": 344,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/documents/upload/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "212874e50823051c6e21e766",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotosPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/components/ui/select, @/components/ui/skeleton, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PhotosPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f30109dfd5790de9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/select,@/components/ui/skeleton,@/lib/utils,lucide-react,next/link,react,swr",
      "lines": 267,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/photos/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security,ai",
      "component_id": "907d375814996a4a3d4a9f29",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,sonner,swr",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotosUploadPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "PhotosUploadPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "858f5bf5672dc034",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/lib/utils,lucide-react,next/link,next/navigation,react,sonner,swr",
      "lines": 320,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/photos/upload/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "468fba6ae5aa2c2ce7abcb1d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SharesPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/label, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SharesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ef07b02d4454d7c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/skeleton,@/components/ui/switch,@/lib/utils,date-fns,lucide-react,next/link,react,sonner,swr",
      "lines": 407,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/shares/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "64dfbc7db56fd85ededcd8fa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RemindersPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, @/lib/auth, @/lib/db, @/lib/types, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RemindersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecb212bed2317a7a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,@/lib/auth,@/lib/db,@/lib/types,@/lib/utils,date-fns,lucide-react,next/link,react",
      "lines": 285,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/reminders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "e1f54157447693da4c9acb9d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/ui/skeleton, @/lib/auth, @/lib/db, @/lib/utils | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ServicesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17a0d84b7353b9b7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/skeleton,@/lib/auth,@/lib/db,@/lib/utils,date-fns,lucide-react,next/link,react",
      "lines": 284,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/services/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "ab1038845bdbc1710069e187",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewServiceSelectVehiclePage | imports:@/components/ui/card, @/components/ui/skeleton, lucide-react, next/link, next/navigation, react, swr | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NewServiceSelectVehiclePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26a9a4bcb3aebc2e",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton,lucide-react,next/link,next/navigation,react,swr",
      "lines": 112,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/garage/services/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "208b7973c38691a34d1100cb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareViewPage | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/separator, @/lib/db, date-fns, lucide-react, next/image, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ShareViewPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7afb2553db9ee668",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/separator,@/lib/db,date-fns,lucide-react,next/image,next/navigation",
      "lines": 352,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/share/[token]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "0f542d7237d29f9a49d67946",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "978af5c4d1210b9c",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 66,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "adc1a5c7effe9918375fce6d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7a2008826e374e11",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 160,
      "logic_relevance": "none",
      "name": "flow.test",
      "normalized_name": "flow",
      "package_manager": "pnpm",
      "path": "tests/integration/flow.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,ai",
      "component_id": "19ff3f51a9ccc1f84a336206",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/vehicle-form, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b30ec036d61b0551",
      "framework": "next-react",
      "imports": "@/components/vehicle-form,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 130,
      "logic_relevance": "none",
      "name": "vehicle-form.test",
      "normalized_name": "vehicle-form",
      "package_manager": "pnpm",
      "path": "tests/components/vehicle-form.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "9cee079284567f7401659c8f",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a39797de624bba2f",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "b6db87fb7d4ed50687158378",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auth, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9d543a3e77ec8e9b",
      "framework": "next-react",
      "imports": "@/lib/auth,vitest",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "tests/lib/auth.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend",
      "component_id": "3fbc1092d4a9d587665a07b0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b98283bb02bfcad3",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "tests/lib/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "3bfcb3bd5cc51db894c938aa",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1266fb5acdf95f15",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 173,
      "logic_relevance": "none",
      "name": "services.test",
      "normalized_name": "services",
      "package_manager": "pnpm",
      "path": "tests/api/services.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation,ai",
      "component_id": "332b911aef0250429dd6d83e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "89ef99e7e9f3df2e",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 146,
      "logic_relevance": "none",
      "name": "analyze-vehicle.test",
      "normalized_name": "analyze-vehicle",
      "package_manager": "pnpm",
      "path": "tests/api/analyze-vehicle.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "16248cb57703f44b1a2c79a8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, vitest | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b1e8e4b5f02a3412",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 105,
      "logic_relevance": "none",
      "name": "vehicles.test",
      "normalized_name": "vehicles",
      "package_manager": "pnpm",
      "path": "tests/api/vehicles.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "d27f17d4439d1298d216fb13",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d2cec8cf9e96e41",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 148,
      "logic_relevance": "none",
      "name": "shares.test",
      "normalized_name": "shares",
      "package_manager": "pnpm",
      "path": "tests/api/shares.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a4d73bfcbddd095b1717cef8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "66b113cc05e3f2a4",
      "framework": "next-react",
      "imports": "next/server,vitest",
      "lines": 70,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "ad39cde7eeba9830938dc871",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "39ea55d90c45a410",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 116,
      "logic_relevance": "none",
      "name": "notes.test",
      "normalized_name": "notes",
      "package_manager": "pnpm",
      "path": "tests/api/notes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "339aa004411d6b75a8d7fc7b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "4855ec56954024bbd62e4939",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "52be0ad46bf085eeec475784",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, ServiceRecordCard, ServiceRecordsList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/auth, @/lib/db, @/lib/types, @/lib/utils, date-fns | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Icon,ServiceRecordCard,ServiceRecordsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef8acd759e5b8e68",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/auth,@/lib/db,@/lib/types,@/lib/utils,date-fns,lucide-react,next/link",
      "lines": 182,
      "logic_relevance": "none",
      "name": "service-records-list",
      "normalized_name": "service-records-list",
      "package_manager": "pnpm",
      "path": "components/service-records-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7f8fe42bd829d3c5338f575c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentActivityClient | imports:@/components/ui/card, @/components/ui/skeleton, @/lib/utils, date-fns, lucide-react, next/link, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RecentActivityClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0d9963c73c39f9e",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton,@/lib/utils,date-fns,lucide-react,next/link,swr",
      "lines": 105,
      "logic_relevance": "none",
      "name": "recent-activity-client",
      "normalized_name": "recent-activity-client",
      "package_manager": "pnpm",
      "path": "components/recent-activity-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,ui,observability,security",
      "component_id": "bace522c918153d3337b3077",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@hookform/resolvers,lucide-react,next,react,react-hook-form,sonner,zod",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceRecordForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/form, @/components/ui/input, @/components/ui/select, @/components/ui/textarea, @/lib/types | frontend-score:115 | backend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ServiceRecordForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9cfc0af68b868c05",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/form,@/components/ui/input,@/components/ui/select,@/components/ui/textarea,@/lib/types,@hookform/resolvers/zod,lucide-react,next/navigation,react,react-hook-form,sonner,zod",
      "lines": 523,
      "logic_relevance": "none",
      "name": "service-record-form",
      "normalized_name": "service-record-form",
      "package_manager": "pnpm",
      "path": "components/service-record-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "898e6e5b20da1a9cd5834e75",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActivityItemComponent, Icon, RecentActivity | imports:@/components/ui/card, @/lib/auth, @/lib/db, @/lib/utils, date-fns, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ActivityItemComponent,Icon,RecentActivity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "727b9a16fea939fd",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/auth,@/lib/db,@/lib/utils,date-fns,lucide-react,next/link",
      "lines": 147,
      "logic_relevance": "none",
      "name": "recent-activity",
      "normalized_name": "recent-activity",
      "package_manager": "pnpm",
      "path": "components/recent-activity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "68151dbe8c0503fce1617485",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UpcomingRemindersClient | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/skeleton, @/lib/utils, lucide-react, next/link, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UpcomingRemindersClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b0218bc76420e5a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/skeleton,@/lib/utils,lucide-react,next/link,swr",
      "lines": 136,
      "logic_relevance": "none",
      "name": "upcoming-reminders-client",
      "normalized_name": "upcoming-reminders-client",
      "package_manager": "pnpm",
      "path": "components/upcoming-reminders-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "b83a9aa34835a403792e007c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VehicleCardCompact, VehicleCardFull | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, @/lib/utils, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "VehicleCardCompact,VehicleCardFull",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aeda109891fc2630",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,@/lib/utils,lucide-react,next/image,next/link",
      "lines": 168,
      "logic_relevance": "none",
      "name": "vehicle-card",
      "normalized_name": "vehicle-card",
      "package_manager": "pnpm",
      "path": "components/vehicle-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ff30a4816edf88311fd6e8d1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommandPalette | imports:@/components/ui/command, @/lib/storage, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommandPalette",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a59d5cc4db0d0dd8",
      "framework": "next-react",
      "imports": "@/components/ui/command,@/lib/storage,lucide-react,next/navigation,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "command-palette",
      "normalized_name": "command-palette",
      "package_manager": "pnpm",
      "path": "components/command-palette.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "a33d226e781c4e52a6ddd521",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReminderItem, UpcomingReminders | imports:@/components/ui/badge, @/components/ui/card, @/lib/auth, @/lib/db, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ReminderItem,UpcomingReminders",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ab64a7e1900d553",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/auth,@/lib/db,@/lib/utils,lucide-react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "upcoming-reminders",
      "normalized_name": "upcoming-reminders",
      "package_manager": "pnpm",
      "path": "components/upcoming-reminders.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7635276f67b2025a5cda9a27",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@hookform/resolvers,lucide-react,next,react,react-hook-form,sonner,zod",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:VehicleForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/form, @/components/ui/input, @/components/ui/select, @/components/ui/textarea, @/lib/types, @hookform/resolvers/zod | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "VehicleForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f497e0ed97ea12b8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/form,@/components/ui/input,@/components/ui/select,@/components/ui/textarea,@/lib/types,@hookform/resolvers/zod,lucide-react,next/navigation,react,react-hook-form,sonner,zod",
      "lines": 560,
      "logic_relevance": "none",
      "name": "vehicle-form",
      "normalized_name": "vehicle-form",
      "package_manager": "pnpm",
      "path": "components/vehicle-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "44fdef9612a79e81aec57b06",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppShell | imports:@/components/command-palette, @/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/separator, @/components/ui/sidebar, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AppShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d1052b144e601ce",
      "framework": "next-react",
      "imports": "@/components/command-palette,@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/separator,@/components/ui/sidebar,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 338,
      "logic_relevance": "none",
      "name": "app-shell",
      "normalized_name": "app-shell",
      "package_manager": "pnpm",
      "path": "components/app-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "7d6f11fe3f7be2869f18bb45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b4473e5f1eefe21f6644762e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8f69b67758165adaf1032149",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9efee57d028156ff04f90b1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "35f12ccc1ba002dd4894a8f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ee4f2c6a7191a8a7d3be009f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dfc3fb791a930cb1d26b0a7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "0f4c4c5f5d84c538518f3818",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ab2f0cf3c7425e3b418c86e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c6a3814ef1e4ea4e56f02e01",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6f03c68393f6692bbe50a080",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "8f8469bc795fb8d04d672721",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "725b0925924d98b4dffb13d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9a686e1e3d67cd0dad68041b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1a063319a215ea18819a7387",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fd389656d71b7f21076ccc0c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2d284ea54c5fada026f8e0dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ff413250fb8a6486336b5c85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7e5bf7e3b971b36c64ce881f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "bc28acfae8f429c08ea0fd69",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ad46035ab461d0f368c01677",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ade3f6932ac9cde2fda3df04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5186d81608dc95d2f86f6bd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3deb7382f0d259be03c4511e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "747c96a495a8e00fdda8f803",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "968e706fece67aaef16d4b82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fd30b18c162407bf8f47f58d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "3aea7728751ae01fbc9817c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "51d39ba44535f1524cb17fa9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "dd064a7cfe0fdfb88e545617",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d6544afeb48e51da288a6a6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8f11dc5e7cb5be62c2f53c63",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "246a3c361c0bda0ad69df4ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "248c960471a3975d2e6b22f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9b0867d805ea64ef7d779174",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a154317916d76f522a619b5a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "06d99b4af6e6cf35f6d831f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "39a0a929edb714aef39a9613",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e53b46d4e3357e0cfbee55f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "cda387b91e85d492247862fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9a15e8026149afe7807a102c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2e7d9cb0c7068c577ab27f93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "79a01f8769876ee39c16c6d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d46dc0189663301dee0da387",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8fd3701b8ece3447d737b6a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "01592aa238c46f65ef462823",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "692b313f0d286ef4ee76c4bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "ef2680e3481e7f462d445014",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9812dde0f8485882af17b945",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "58363e21e123509e39e9c9c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a47e70baf769f3f3f2092290",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "69f2678186bf3fa43dc5f551",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2e8b38d2bf9ddac4be966f26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9b95eb38860a23414c3092e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d4bae8ba86140a739ef1bb52",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "b3ee556700352683927955fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6011602e7ae046ec4f88d738",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "9756b9d59788bb9b4692fba4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f47eb0a340354cca",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "eb687e5af7458d5f51e9ed06",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3e41369db4fb8863",
      "framework": "next-react",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "e98758fc0e27cec539065780",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d1cc9141bd6755ba",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,discovery,ai",
      "component_id": "2e69239dd8112b5d09b2ce0a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6f10496f9e15646b",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic,security",
      "component_id": "aec24d81055de910b7b7ab70",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DraftServiceRecord, StorageKeys, ViewPreferences, addRecentVehicle, addSearchHistory, clearDraft, getDraft, getStorage | logic-score:85 | security-score:55",
      "exports": "DraftServiceRecord,StorageKeys,ViewPreferences,addRecentVehicle,addSearchHistory,clearDraft,getDraft,getStorage,getViewPreferences,removeStorage,saveDraft,setStorage,updateViewPreferences",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "df83732f754cb5dd",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "pnpm",
      "path": "lib/storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "67a6404451dd3ee3eface7c6",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "0970dd698f3d06e7372d7358",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, AuditLog, DEFAULT_INTERVALS, Document, MaintenanceSchedule, Part, SERVICE_TYPES, SearchResult | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ApiResponse,AuditLog,DEFAULT_INTERVALS,Document,MaintenanceSchedule,Part,SERVICE_TYPES,SearchResult,ServiceRecord,ShareLink,SharePermissions,Tenant,User,Vehicle,VehicleNote,VehiclePhoto",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "217dbe8cc46800d2",
      "framework": "next-react",
      "imports": "",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "aa2894bfbe1b31aa42c2a841",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dbConfig, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:60 | uses-env",
      "exports": "dbConfig,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d37db188a7ac984e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 39,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "530c0cac7083c360e86db5e9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthContext, authConfig, getAuthContext, useAuth | imports:./types | logic-score:85 | security-score:55",
      "exports": "AuthContext,authConfig,getAuthContext,useAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "968104d3ec78dbd3",
      "framework": "next-react",
      "imports": "./types",
      "lines": 77,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__car-service-records",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "3887a221c2bd1db2cceb07ec",
      "component_kind": "specification",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a0e1a7774f87b736",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "python",
      "path": "requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "5df65c1bf40d4388e3a01547",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | ai-score:45",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "20e15376b99449eb",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "python",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "810dd535b7192130940ffefd",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "a4afef200990fc09",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "python",
      "path": "Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0864e6aa35c93ac3a74701f1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "94857fbdd660f226",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f66b34f429fe3ad9cfd1c342",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aea18ff4f7bdcbc9",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "python",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security,ai",
      "component_id": "95da11d0367902227bf0bcaf",
      "component_kind": "security-module",
      "confidence": 100,
      "dependency_roots": "pytest,spacy",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DummyNLP, disable_spacy | imports:pytest, spacy | security-score:55 | ai-score:45",
      "exports": "DummyNLP,disable_spacy",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a17e3ac5612e456e",
      "framework": "next-react",
      "imports": "pytest,spacy",
      "lines": 26,
      "logic_relevance": "none",
      "name": "conftest",
      "normalized_name": "conftest",
      "package_manager": "python",
      "path": "app/tests/conftest.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bf8017dd56749fa3d64103d8",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "app.cdf_redactor,app.generators.cdf_gen,app.generators.cdf_real_gen,cdflib,hashlib,json,logging,pytest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DummyCDF, mock_cdflib, test_analyze, test_cdf_gen_and_detection, test_detect_and_redact, test_hashing, test_load_config_default, test_masking | imports:app.cdf_redactor, app.generators.cdf_gen, app.generators.cdf_real_gen, cdflib, hashlib, json, logging, pytest | observability-score:55 | security-score:55",
      "exports": "DummyCDF,mock_cdflib,test_analyze,test_cdf_gen_and_detection,test_detect_and_redact,test_hashing,test_load_config_default,test_masking,test_medical_pattern_recognizer,test_process_integration,test_real_cdf_gen_and_detection,test_redact_text,test_redact_text_methods,test_redact_with_no_pii,test_setup_logging",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3c69276c82ec0093",
      "framework": "next-react",
      "imports": "app.cdf_redactor,app.generators.cdf_gen,app.generators.cdf_real_gen,cdflib,hashlib,json,logging,pytest",
      "lines": 169,
      "logic_relevance": "none",
      "name": "test_cdf_redactor",
      "normalized_name": "test-cdf-redactor",
      "package_manager": "python",
      "path": "app/tests/test_cdf_redactor.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "961f16bbc8c6f87445271b75",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "argparse,cdflib,datetime,hashlib,json,logging,os,presidio_analyzer,presidio_analyzer.nlp_engine,presidio_anonymizer,re,shutil,spacy,sys,tempfile,transformers.pipelines,typing,zipfile",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CDFRedactionEngine, extract_zip, main, make_zip, parse_args, setup_logging | imports:argparse, cdflib, datetime, hashlib, json, logging, os, presidio_analyzer | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CDFRedactionEngine,extract_zip,main,make_zip,parse_args,setup_logging",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5592da5a96da64f3",
      "framework": "next-react",
      "imports": "argparse,cdflib,datetime,hashlib,json,logging,os,presidio_analyzer,presidio_analyzer.nlp_engine,presidio_anonymizer,re,shutil,spacy,sys,tempfile,transformers.pipelines,typing,zipfile",
      "lines": 335,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "python",
      "path": "app/cdf_redactor/__init__.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "120aacbf8404a959b80c4ad7",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "argparse,datetime,json,pathlib,random",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:create_cardiology_cdf, create_neurology_cdf, create_radiology_cdf, main | imports:argparse, datetime, json, pathlib, random | observability-score:55 | security-score:55",
      "exports": "create_cardiology_cdf,create_neurology_cdf,create_radiology_cdf,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "af65215390f649ee",
      "framework": "next-react",
      "imports": "argparse,datetime,json,pathlib,random",
      "lines": 94,
      "logic_relevance": "none",
      "name": "cdf_gen",
      "normalized_name": "cdf-gen",
      "package_manager": "python",
      "path": "app/generators/cdf_gen.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "7024898cf3ed5202b35220a2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "argparse,cdflib,datetime,numpy,pathlib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:create_real_cdf, main | imports:argparse, cdflib, datetime, numpy, pathlib | observability-score:55",
      "exports": "create_real_cdf,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "dc49b1f7bb3227f7",
      "framework": "next-react",
      "imports": "argparse,cdflib,datetime,numpy,pathlib",
      "lines": 55,
      "logic_relevance": "none",
      "name": "cdf_real_gen",
      "normalized_name": "cdf-real-gen",
      "package_manager": "python",
      "path": "app/generators/cdf_real_gen.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__cdf-sanitize",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "cf9813e50d93e1b9ddc92390",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CONFIG | observability-score:55",
      "exports": "CONFIG",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb44e7f172512ea8",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "auto-approve-pr",
      "normalized_name": "auto-approve-pr",
      "package_manager": "unknown",
      "path": "auto-approve-pr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__chrome-shortcuts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b1162050e1a49637021155c7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b77c907d39b63f8e",
      "framework": "next-react",
      "imports": "",
      "lines": 3469,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "f40e98465100e33c3ab227bc",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "621558241f4b2263",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "53686ee34d95b44fa5b1f960",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e75c87bc3f41ff9",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8a8fb17363e411c02056f4b1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a05306ed7f40e469",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "13c4b53eb45bed2be14028b5",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5036bad4e0cd3ca1",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "fa24fca7b7b99248e07e5507",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "8192a704c96eb68b0f320289",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/header-nav, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46e31ee7cf5e3e45",
      "framework": "next-react",
      "imports": "@/components/header-nav,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 161,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b13d758ae649f079ab837924",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f826462b35df765e",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "943d6e902c90a2e2a536108b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MunicipalitiesPage | imports:@/components/municipality-card, @/components/municipality-search, @/lib/supabase/server | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "MunicipalitiesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2bc7fa96c11be462",
      "framework": "next-react",
      "imports": "@/components/municipality-card,@/components/municipality-search,@/lib/supabase/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/municipalities/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2611d5626f24c6b53d706159",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7a19719d1a79753",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3f8ab510506b439ff7098430",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1af04ce72979ad7d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d75fdb7aa7444a5c1a141257",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthErrorPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthErrorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e59951659dcfd4f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 38,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/error/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad5655596cdeec2570317998",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d52e5bd5c7f67d30",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "53a5903a694cbe572d4cc4f4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminPage | imports:@/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63622d9bba1f903b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 171,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b9dc4462e1fa08528184211b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TasksPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TasksPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0838e8fa2d692b16",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react,next/link,next/navigation",
      "lines": 137,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/tasks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "924db4ad15eb4f9b5dbb8a76",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VerifyLawsPage | imports:@/components/admin/verification-list, @/components/ui/button, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "VerifyLawsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efd2990d4382ec03",
      "framework": "next-react",
      "imports": "@/components/admin/verification-list,@/components/ui/button,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/verify/laws/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f75dd83d087cc817b624e160",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VerifyMeetingMinutesPage | imports:@/components/admin/verification-list, @/components/ui/button, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "VerifyMeetingMinutesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c047d74ae9514e0",
      "framework": "next-react",
      "imports": "@/components/admin/verification-list,@/components/ui/button,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/verify/meeting-minutes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "83c534ab20de806688c83990",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VerifyExpendituresPage | imports:@/components/admin/verification-list, @/components/ui/button, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "VerifyExpendituresPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2d1c1c52d8b7cb4",
      "framework": "next-react",
      "imports": "@/components/admin/verification-list,@/components/ui/button,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 58,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/verify/expenditures/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "13d6cfc0e397be6169a64e98",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/profile/profile-edit-form, @/components/profile/sign-out-button, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ef76db9f70be5b1",
      "framework": "next-react",
      "imports": "@/components/profile/profile-edit-form,@/components/profile/sign-out-button,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react,next/navigation",
      "lines": 119,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "a86847964f690ec0a9eb2e25",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/supabase/server, ai | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc651d3c5602fbbe",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,ai",
      "lines": 92,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "b5194ca641865ef84d1fc19f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/supabase/server, ai, zod | backend-score:160 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a0370ee4376c43b",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,ai,zod",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/summarize-document/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "138b19d4fa37cfe8ac795da0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/supabase/server, ai, zod | backend-score:160 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a175d9940ece4609",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,ai,zod",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/analyze-municipality/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,ai",
      "component_id": "b06db03cd00283cc2bfbcb20",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:MunicipalityPage | imports:@/components/municipality/expenditures-tab, @/components/municipality/laws-tab, @/components/municipality/meeting-minutes-tab, @/components/municipality/overview-tab, @/components/ui/button, @/components/ui/tabs, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "MunicipalityPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38d961856d52ab04",
      "framework": "next-react",
      "imports": "@/components/municipality/expenditures-tab,@/components/municipality/laws-tab,@/components/municipality/meeting-minutes-tab,@/components/municipality/overview-tab,@/components/ui/button,@/components/ui/tabs,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 110,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/municipality/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "c5ec93e26340bd1065b1173e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbd5c3bcccbc4a4f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,next/link",
      "lines": 21,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/municipality/[id]/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "66349fa844bdb2806a0e2aa1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiscussionsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DiscussionsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b94198c4f5fa5147",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react,next/link,next/navigation",
      "lines": 158,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/municipality/[id]/discussions/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b854df299d8df87d0d9e59f3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiscussionDetailPage | imports:@/components/discussions/comment-section, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DiscussionDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14cf7a9e5c6cd967",
      "framework": "next-react",
      "imports": "@/components/discussions/comment-section,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react,next/link,next/navigation",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/municipality/[id]/discussions/[discussionId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "319c7b1b9e7891f5c03de439",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewDiscussionPage | imports:@/components/discussions/new-discussion-form, @/components/ui/button, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewDiscussionPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9dab2e3722b4ada3",
      "framework": "next-react",
      "imports": "@/components/discussions/new-discussion-form,@/components/ui/button,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/municipality/[id]/discussions/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui",
      "component_id": "95dc9b10e2b806e72d9496e6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MunicipalityAIPage | imports:@/components/municipality/ai-chat, @/components/municipality/ai-insights, @/components/ui/button, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ai-score:75 | ui-score:55",
      "exports": "MunicipalityAIPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67b430bd78da478d",
      "framework": "next-react",
      "imports": "@/components/municipality/ai-chat,@/components/municipality/ai-insights,@/components/ui/button,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/municipality/[id]/ai/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "06d49cfee078c992a63066c2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "75e0c101ddc8ebbda7c1d008",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0e1718dd07c2d1b8cdb1c248",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeaderNav | imports:@/components/ui/button, @/lib/supabase/client, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeaderNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee215df3c561ddbf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/client,lucide-react,next/link,react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "header-nav",
      "normalized_name": "header-nav",
      "package_manager": "pnpm",
      "path": "components/header-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "11ba17832eb0ba0127d1bd32",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MunicipalitySearch | imports:@/components/municipality-card, @/components/ui/input, @/components/ui/label, @/components/ui/select, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MunicipalitySearch",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "094ac57ded7abdc9",
      "framework": "next-react",
      "imports": "@/components/municipality-card,@/components/ui/input,@/components/ui/label,@/components/ui/select,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "municipality-search",
      "normalized_name": "municipality-search",
      "package_manager": "pnpm",
      "path": "components/municipality-search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ca2d25dfdf557340e209b39f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MunicipalityCard | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "MunicipalityCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25f65ce6514d0654",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "municipality-card",
      "normalized_name": "municipality-card",
      "package_manager": "pnpm",
      "path": "components/municipality-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "ab4cb0dae55b4352cbdd7b14",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2cb31a34d4199dfb43c36e61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fe03dd180c661accdc714d71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9bf611f67a29748a8278c1f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dc19ce35ed272f11515bf0e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8c62edd5d2563c64f033cd95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3433deea374bc57501af5b18",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "157453d02a8a2cc7ffaadb05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d99beb75767db0f2a89c97da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c8c06e98ef0683ca24ed970",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "5a8eb664d14168e937640f41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "f0d5f076882f77adf62edd93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ab5fa8dfcf2b28468bfeb0f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "47f7528c9dd34bb21b990310",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c1800d30089d7175ef68b5a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3dc9d5f369c8c3d2e8010542",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "695f572b6781150580831b48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c84601947972b3f4bfd475a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9370610570e3996263d5923f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "72f336f0d774cc97b8ecc07e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "00c4ac47e428c285134b429f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f0b6653c146ee35a0bf32711",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2439beb0ce0ba488b6c17522",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2ffda6f3e8524fcec344be1e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c5bb6858ec7203be21c2965f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c38f0ba3361f6f9e28eb6142",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a9f03bf8f493682c2ccfc014",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "164d6053aa01ee82b7397a19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a7b80323207fb7e8b6d8ab77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "44539b18bec67a004ccd9c34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "800c95830509451c90bfac45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cf4c64152efb06b59cbaca99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2580e9fccaeb42e8e8fd6049",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "88bc8e7ebac06a970f304018",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "967c7870cc716c835e6c3778",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "8f125d87795f6dc3d440f81a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1b1b576f20a63ef1d52bc424",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "086a0c3336ccbb960c570673",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "60675d3ffe786c765c4d7a85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3752384d5a1775473f00169c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "837111fe5bcf0500565b8dcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6cd79688171ad473344239f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "eb4c7d95b45ac8e7a1040fd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6c6254c5874e817fba0ccb7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7ebb29ebc5ff88517a6c240a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d83cd364c9af4da4f64087af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4654d83a139e8266d32bde53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "cfbb3f09d59dd41e9366d845",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d305582cf83bd70279eecddc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "16e2b3214fe757fa0e2bddcc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "35ad0f76a2a7a668165c7073",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "09f8d98b98b1bcde2c4bbeb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9d5f3936d66ff6c7f23c4c4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "039c1b0e4bdcd6806395f122",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "674ade9189d7beb77c493d0c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "4d323794911e0d5cacdc4671",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "eb8390bc536183b704665eae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6757dbbd7397659eee8f1c2e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, @/lib/supabase/client, date-fns, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommentSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4150c71cd86a6c4d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,@/lib/supabase/client,date-fns,lucide-react,next/link,next/navigation,react",
      "lines": 210,
      "logic_relevance": "none",
      "name": "comment-section",
      "normalized_name": "comment-section",
      "package_manager": "pnpm",
      "path": "components/discussions/comment-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "bf3331165ad21b22b8a93e47",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewDiscussionForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NewDiscussionForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd5598288c2d8915",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "new-discussion-form",
      "normalized_name": "new-discussion-form",
      "package_manager": "pnpm",
      "path": "components/discussions/new-discussion-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "46fd6db7f86db9e5f87b4fc6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VerificationList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/textarea, @/lib/supabase/client, date-fns, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "VerificationList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fc710298cee45e6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/textarea,@/lib/supabase/client,date-fns,lucide-react,next/navigation,react",
      "lines": 201,
      "logic_relevance": "none",
      "name": "verification-list",
      "normalized_name": "verification-list",
      "package_manager": "pnpm",
      "path": "components/admin/verification-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "ec523bd53c5c4d405ae81531",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfileEditForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "ProfileEditForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4046d7d560781d1e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "profile-edit-form",
      "normalized_name": "profile-edit-form",
      "package_manager": "pnpm",
      "path": "components/profile/profile-edit-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9cf47fb1138fb19681d34d0c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignOutButton | imports:@/components/ui/button, @/lib/supabase/client, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignOutButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d33d5177a34dc36",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/client,lucide-react,next/navigation",
      "lines": 24,
      "logic_relevance": "none",
      "name": "sign-out-button",
      "normalized_name": "sign-out-button",
      "package_manager": "pnpm",
      "path": "components/profile/sign-out-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "71c3012a9a257bbd6dd51963",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,recharts",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExpenditureChart | imports:@/components/ui/card, @/components/ui/chart, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ExpenditureChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b1d45461d2ac59d",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/chart,recharts",
      "lines": 80,
      "logic_relevance": "none",
      "name": "expenditure-chart",
      "normalized_name": "expenditure-chart",
      "package_manager": "pnpm",
      "path": "components/municipality/expenditure-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "66f7700fc336ef43e2da5c36",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LawsTab | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LawsTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "529eb99dbff9fa86",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "laws-tab",
      "normalized_name": "laws-tab",
      "package_manager": "pnpm",
      "path": "components/municipality/laws-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "1ceb1342fc366fdca0f3c096",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentActivity | imports:@/components/ui/badge, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RecentActivity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "251d9719d2990cd9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "recent-activity",
      "normalized_name": "recent-activity",
      "package_manager": "pnpm",
      "path": "components/municipality/recent-activity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ai,ui,security",
      "component_id": "af10c37beacb428111f6a6a3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIInsights | imports:@/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ai-score:75 | ui-score:70 | security-score:55",
      "exports": "AIInsights",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9032951188845be5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "ai-insights",
      "normalized_name": "ai-insights",
      "package_manager": "pnpm",
      "path": "components/municipality/ai-insights.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "d89d506a40a684d47fa5ab48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:OverviewTab | imports:@/components/municipality/expenditure-chart, @/components/municipality/recent-activity, @/components/ui/card, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "OverviewTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "080d6398c062503e",
      "framework": "next-react",
      "imports": "@/components/municipality/expenditure-chart,@/components/municipality/recent-activity,@/components/ui/card,@/lib/supabase/server,lucide-react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "overview-tab",
      "normalized_name": "overview-tab",
      "package_manager": "pnpm",
      "path": "components/municipality/overview-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cfb115a4630edbb3bcef7ee9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExpendituresTab | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/table, @/lib/supabase/server, date-fns | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ExpendituresTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0876a4aa020a888",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/table,@/lib/supabase/server,date-fns",
      "lines": 117,
      "logic_relevance": "none",
      "name": "expenditures-tab",
      "normalized_name": "expenditures-tab",
      "package_manager": "pnpm",
      "path": "components/municipality/expenditures-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "1a7d9469adb4723568f92200",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@ai-sdk/react,ai,lucide-react,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIChat | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @ai-sdk/react, ai, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "AIChat",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "fc7e3808274dc437",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@ai-sdk/react,ai,lucide-react,react",
      "lines": 94,
      "logic_relevance": "none",
      "name": "ai-chat",
      "normalized_name": "ai-chat",
      "package_manager": "pnpm",
      "path": "components/municipality/ai-chat.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "897e51077ae4a3782902277a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MeetingMinutesTab | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, date-fns, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MeetingMinutesTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8dbbe2427eb9b59",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,date-fns,lucide-react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "meeting-minutes-tab",
      "normalized_name": "meeting-minutes-tab",
      "package_manager": "pnpm",
      "path": "components/municipality/meeting-minutes-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,ai",
      "component_id": "540c37ca061bdf72c49b45ac",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "54bcfa248a9e2ca3",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "9257689b634952f70fdc9ec7",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b3d690d8d9366d39",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "a733f2309e1947fcc628de19",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "5151292382a2a614bd2d7ea1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "287c158e7361c48a",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "8752b67ca8cac7751bdc0ed1",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "63b28a1d4abbc2e7d3e649d0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d2209c03d0eabc1e",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__civic-engagement-platform-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "99a8afceda0b9d47762f2959",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04dd0c703fde9870",
      "framework": "next-react",
      "imports": "",
      "lines": 3227,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "c819afc3061b4253dcfd2782",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "36597d8b05e71550",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3b2f49da6f3d719f02b85a87",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a7ffd8290d942d5e",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "59e15acd8ff1f934ee81beb7",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3db3d0285f41430c",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "1b2e01502cb2e11c1b3c36c9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/footer, @/components/glass-experiences, @/components/header, @/components/hero-section, @/components/location-info, @/components/main-offerings, @/components/winter-gifts | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ee976b4b60e58b1",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/glass-experiences,@/components/header,@/components/hero-section,@/components/location-info,@/components/main-offerings,@/components/winter-gifts",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a02e6e68377c4edd1189dcc0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fccc4343f8993880",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "64ddbbd44b3097403ddf9973",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "6d0c11c682768ea2a898e6d5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Newsletter | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "Newsletter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55948edb8b0da2ac",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "newsletter",
      "normalized_name": "newsletter",
      "package_manager": "pnpm",
      "path": "components/newsletter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "f0496ca8f7c47b300b5b2ed4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocationInfo | imports:lucide-react | frontend-score:115 | ui-score:55",
      "exports": "LocationInfo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22252e33d2d3d5d0",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "location-info",
      "normalized_name": "location-info",
      "package_manager": "pnpm",
      "path": "components/location-info.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "401176c407d51bfaa8237d31",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "636356a4ef860e9f16ac9a86",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlassExperiences | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "GlassExperiences",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b120559fd7a65c8",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "glass-experiences",
      "normalized_name": "glass-experiences",
      "package_manager": "pnpm",
      "path": "components/glass-experiences.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d49678773ca8660cd3d5cab0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtisanStories | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ArtisanStories",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e70ece4ee740da65",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "artisan-stories",
      "normalized_name": "artisan-stories",
      "package_manager": "pnpm",
      "path": "components/artisan-stories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "2e9f910458f0dc286ed61596",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturedCollections | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FeaturedCollections",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6649748eaaf3d4f6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "featured-collections",
      "normalized_name": "featured-collections",
      "package_manager": "pnpm",
      "path": "components/featured-collections.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "12609af182cad87665ee5625",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MainOfferings | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MainOfferings",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "eb89c3f8c6ace2e9",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 72,
      "logic_relevance": "none",
      "name": "main-offerings",
      "normalized_name": "main-offerings",
      "package_manager": "pnpm",
      "path": "components/main-offerings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "5916509cbc9bd378bd4e72a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WinterGifts | imports:@/components/ui/button | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "WinterGifts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efa719b2460e6285",
      "framework": "next-react",
      "imports": "@/components/ui/button",
      "lines": 77,
      "logic_relevance": "none",
      "name": "winter-gifts",
      "normalized_name": "winter-gifts",
      "package_manager": "pnpm",
      "path": "components/winter-gifts.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "5320e9e368e2c531e3cbcc0b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c9723474d02e5b3",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 78,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "ff2a2ca9841ddd1874974aa5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Testimonials | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Testimonials",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75c574c795cc21b2",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "testimonials",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "components/testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "80b8dbd65eb843a74a52970e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "989a5c7c2dfdc5ab",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/image",
      "lines": 70,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e1cdc8f9933fd3cef163932b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VirginiaMap | imports:@/components/ui/badge, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "VirginiaMap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d14ad90d79a94bc9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,react",
      "lines": 176,
      "logic_relevance": "none",
      "name": "virginia-map",
      "normalized_name": "virginia-map",
      "package_manager": "pnpm",
      "path": "components/virginia-map.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2e66df7b285680c1a17003ed",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc22cd84e1c9cfa4",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "ac3835d2dd2c791de4bd0b11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "faac54061f0119df0f990f3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ef1cb260abcd69127969fc25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cf4ae9d42bcc7beb1e932899",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "acea5a2f27ba06dd7491d0f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fb7d18af5bf53d9abc317657",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f8555131b5e9d30c7229c303",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "dcd64216e702450d3cfd074c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "40c587f8faebdaba404f7c63",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fdacdfd879e53e44eb5f63f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c71384f5c99d2d24f4d6d0e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "b7c9d00794a20e4a52e00964",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "854dceb73ff96ce7a9e0cb3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "811d2f370afc4d96d647702c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0f5f1e25c0c4756fa208f8f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9785d79c463cf667c8b5969d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9b28d977b96f1e3387ddb692",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8a12b8989801f43271b6101f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e6786216ef96f89fb76063e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "f87aebffa1c7fe45384428b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9c2e1d11d79ea494986dfcbd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ca930a626211999accfdc000",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1a9676f6d1d2e05870bd3f53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d4c121c39a8ca755549af4c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3db9e19a76aae478e3b8dd02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3c696d27e85383ec7f854c96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b9a11c0ea059a8c2a7eaf7c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "6c93f3745ee0478ee5dca650",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c6ffc297809cde7826a77e8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "2c38972572105354ea04f40e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "24ea62bdff5cad0d31f260b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d0e2e27f8ee01f45141dca79",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aeda01612dab3510f6d8fbd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fe74e92240e04e73cbd4709d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "28d76af8636beb86df87bd9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f2fa8d234d24961b571f9b34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3c9fbd5df4371c22c01ee7f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1211ab0352a7e85422c2a991",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "07690e2e870c67c0710a8364",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "93b0d8e17086db88d6ec0a51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "934d250d82a7773bf29d75f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1018124bfc2801a5dd7ab8b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6afd4638fe06e2d08c02e4d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4cbf4131fb70faa635e61447",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f73da7725a11e3acf3d13df1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9730cf9713487a4db32dbeb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "657ec77edaf52d0eb6e0700c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "fb095da2e565622c717f5c6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "af9088351accd087185d8cfc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6749bff923de9289511d7270",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2b6220e74e9f69d0ae87be45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3465de7e6bc30f4f21ffdf92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a2dd470dc469b063858245da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "fba106ad2d3f5999bf97c667",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "912dd64ae21dbdb19d3dc365",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "16fd1f0193217f34324ae7c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "82e0810bf8c5f36e31d09f3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "a44bab14d1cdaebf8f5f5b87",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92e0de524234e1d5",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "5161212502b05e3d3f3ccad7",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "47b838314215d1e7",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "60ca42875673f395dc6fb59c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__crafted-virginia-website",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "dac7b457cce6abc6cabf01b4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1df658d22040e35b",
      "framework": "next-react",
      "imports": "",
      "lines": 7355,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3dfd65a8c1dc1758eb8e1d03",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e2a1219a2ce798d2",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "test_audio",
      "normalized_name": "test-audio",
      "package_manager": "pnpm",
      "path": "test_audio.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "bf419d12b21f7916c94ab651",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1cf656407044f44e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "pr-description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr-description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "103a8ae6957aa21bf86098d4",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a93cc47b6fc42512",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "05a1173731eb27a4230a2787",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2566aa6c220be74",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "876abd36a54d373a1417e62a",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fa3f1a9f018212b5",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "test_perf",
      "normalized_name": "test-perf",
      "package_manager": "pnpm",
      "path": "test_perf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "96ae538c8f68b01b93f357ef",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5ed52052cc2088d9",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "measure_perf",
      "normalized_name": "measure-perf",
      "package_manager": "pnpm",
      "path": "measure_perf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "199e52fd4cda1fd83051a649",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "faf482ca7a6e549d",
      "framework": "next-react",
      "imports": "",
      "lines": 242,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5e3b0423623df306c4e2dc9e",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "423936b19694513c",
      "framework": "next-react",
      "imports": "",
      "lines": 318,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c8f7791daa438880852394e1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b4a09a424ca01604",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "818166e47ec5cbf85daf8a78",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@sentry/nextjs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@sentry/nextjs/withSentryConfig | process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dedf141553f7ec17",
      "framework": "next-react",
      "imports": "@sentry/nextjs/withSentryConfig",
      "lines": 352,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6bac8ee7dad006591946a790",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GameCanvas, MAX_SPEED | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "GameCanvas,MAX_SPEED",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dc5b86f87e80bcb9",
      "framework": "next-react",
      "imports": "",
      "lines": 319,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "96974c2d85d794907ee9b620",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0d5ff3657c1d137d",
      "framework": "next-react",
      "imports": "",
      "lines": 326,
      "logic_relevance": "none",
      "name": "DELIVERY",
      "normalized_name": "delivery",
      "package_manager": "pnpm",
      "path": "DELIVERY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a948867887a17efff46a231d",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ea82bc0e800790a2",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "finish",
      "normalized_name": "finish",
      "package_manager": "pnpm",
      "path": "finish.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "dda8ddc9995d72f9225408d4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "066b164e97726e0b",
      "framework": "next-react",
      "imports": "",
      "lines": 260,
      "logic_relevance": "none",
      "name": "FINAL_SUMMARY",
      "normalized_name": "final-summary",
      "package_manager": "pnpm",
      "path": "FINAL_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c0457d29e244e59f93a5b4ed",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "373c23b024017128",
      "framework": "next-react",
      "imports": "",
      "lines": 267,
      "logic_relevance": "none",
      "name": "DESIGN",
      "normalized_name": "design",
      "package_manager": "pnpm",
      "path": "DESIGN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "d8bea612426f3b3665620e83",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3a1c06ab365559a4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4ca4d5c757338ebeba8efc82",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/service-worker-registration, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, sonner | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1556acd1babb09b1",
      "framework": "next-react",
      "imports": "@/components/service-worker-registration,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,sonner",
      "lines": 108,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7a2e53e189cb023b966a3555",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, @/lib/logger, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28b5081916171f74",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/logger,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "68b8bad2933a28f91e94eff1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home, metadata | imports:@/components/home/about-section, @/components/home/charity-cta, @/components/home/dateland-highlight, @/components/home/game-section, @/components/home/hero-section, @/components/home/site-footer, @/components/home/site-header, @/components/json-ld | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "Home,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40c45fbaecf90c52",
      "framework": "next-react",
      "imports": "@/components/home/about-section,@/components/home/charity-cta,@/components/home/dateland-highlight,@/components/home/game-section,@/components/home/hero-section,@/components/home/site-footer,@/components/home/site-header,@/components/json-ld,@/components/memories-polaroids,@/lib/jsonld,next",
      "lines": 49,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "fad235300db520af52aae713",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1eb6addf38a57c01",
      "framework": "next-react",
      "imports": "",
      "lines": 282,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "491ad3c530a03294faabffc8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09ac5ed6f6c3c93e",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "d7d73c754714aec82e9b1839",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "210f527ddbb12947",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f2e525c24d1817463ea7dc50",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a528e9120d09371f",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "639bebc3ea9b27bacd469b42",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3370030398299201",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a76d7801db8a8c4147b3d151",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2e222072a6a4e29",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "dbb7e2070aa8d8c444455f5b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/content/info-page, @/components/json-ld, @/lib/jsonld, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45202e7791a55cf6",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/components/json-ld,@/lib/jsonld,@/lib/page-content,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "1c07b73f3f0d8699d641bd93",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9d4f56a7510d5ea",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "ecf4c03c9750d87a99e240c0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b07d5b8f3759945e",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3d00ca56f66db57723f60e60",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d7e302e5be76f10",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "7848f91d1053d4a12d747055",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa564577b3c2b016",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "cb44dbc3d14c903e23a89d3f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "697f6b9cb8a9a41e",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "dbd7f7f07bffbd5fb01190f3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2bfe5b22af0ca8cf",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "ee3d001b7bbdb30c504ddf8b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:LeaderboardPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "LeaderboardPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea48d144f8a332f6",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/leaderboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "625010c5744b656d15ff904d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0ea221306531779",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "b52c095b81534e63737bd81b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PolaroidsPage, metadata | imports:@/components/content/info-page, @/components/json-ld, @/lib/jsonld, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "PolaroidsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48a46d221d211fd3",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/components/json-ld,@/lib/jsonld,@/lib/page-content,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/polaroids/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "933f7a80283dc0b92bc54562",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5eda5fbc5b683016",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "4885b60643bb9276066ad255",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "HistoryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7305336e1f36d845",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/history/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "b5d8c6e7e3abc4023d5de763",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c7d0f1930fc9b523",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "75f86b877336876078217c8e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "268b07d80b3b0c03",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/route/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1c62411e77c93eaf07bf53f9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42f59a51f0ce2325",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ffd0368ca3b4c7bf8f76612a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea9851b948a11250",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/leaderboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "67825a883f0b9ce0b3e7134c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "00458d57fb2a1795",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/game/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "65cc8946cc776684701025a6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | logic-score:85 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24f33ba8ec0e59e8",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/game/state-schema/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "4da6950dcf91ef60dc0c9782",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | logic-score:60 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2403d8c6dcf1fe15",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/game/rules/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "415b2c2516acc294066c3fb6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad5f9301b2802447",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/polaroids/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2f169be5b429e2a7d50de070",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a334ac8ff5a689f0",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2070110067e7b5b19020f9c5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "312d0e8ccf346e29",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/games/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "17195bdd8436cdbf3438b8c0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "034f63ed4598ddfd",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/charity-links/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6618ff62c84619492bb3a598",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "202af4bb2c338bc2",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/milestones/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "39b91d688c4fda534d956b54",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/events, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "113f01ab45f67031",
      "framework": "next-react",
      "imports": "@/lib/events,@/lib/platform-response,@/lib/trace",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "34c58a574574b6652febdf5c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/events, @/lib/platform-response, @/lib/trace | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c0bc7f769fad9e1",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/events,@/lib/platform-response,@/lib/trace",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,automation",
      "component_id": "ccab1963a54fcd99e1514332",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/events, @/lib/platform-response, @/lib/trace | backend-score:125 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "04a5da688ad8c682",
      "framework": "next-react",
      "imports": "@/lib/events,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "176d358c77e2c7ef4655fd05",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | logic-score:85 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a90756389877ba3f",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/local-schema/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "36e35e550b8c6a5931e51647",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36ccef35839dfd54",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/story/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "06dd24ff67189718e3718d03",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56e1764ae1d5f6e5",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "97dc162b07a6d4b25360dfa9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/discovery, @/lib/leaderboard-store, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3ab2fa3908a600ac",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/discovery,@/lib/leaderboard-store,@/lib/platform-response,@/lib/trace",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rss/leaderboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "a6f4321bd8fb5a662bd489bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/desertbus-data, @/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4fad16768d3bf4aa",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rss/charity/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "8c8b6bf56372578617378e5c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "888249fba5db9f08",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rss/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "e23689e211c51ded9cfab05b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/discovery, @/lib/mcp, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "311cb3a4f4838d76",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/mcp,@/lib/trace,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "935d2b3ef1c157f60483492c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/discovery, @/lib/leaderboard, @/lib/leaderboard-store, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5937ac8402b91811",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/leaderboard,@/lib/leaderboard-store,@/lib/platform-response,@/lib/trace",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/leaderboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "5c6d315e433b18ae24ea89ca",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2619f3fdb323acbc",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a6c653af5c2ad83ab9619d93",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/events, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6919dcf921a7c2e",
      "framework": "next-react",
      "imports": "@/lib/events,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "e24ec49545b7f898038da430",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/webhooks/route | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "636321cb336369af",
      "framework": "next-react",
      "imports": "@/app/api/v1/webhooks/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,observability,security",
      "component_id": "7cf27fc999248e84b1011171",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | automation-score:95 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f68831eb1e3b3c7a",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a8d1ba3901bda0c5c8d66367",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/sitemap.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c8c912e597ae4768",
      "framework": "next-react",
      "imports": "@/app/sitemap.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "e7bfb114caec1a177d368c55",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "269e5ee67ec99d11",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "9f4ec4814120e4e5f9997bf5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DatelandPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "DatelandPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8872e5b1c0a303fd",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dateland/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,discovery",
      "component_id": "3cdba372685725a30d7d1f60",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi, @/lib/platform-response, @/lib/trace | backend-score:125 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "efc7d3b7471bcdc5",
      "framework": "next-react",
      "imports": "@/lib/openapi,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "af6cf67d9df688cd77dfe8e6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform-response, @/lib/trace | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d9fba4bb79f78f3e",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform-response,@/lib/trace",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "1c9ed02f199e8b0f45c8d8a3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5eecd7c74cd06de9",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "31831f3ee6b02a280f91a962",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "071364eaf52961dc",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "93e972ea1b47cf9ae9989fc8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlayPage, metadata | imports:@/components/home/game-section, @/components/home/site-footer, @/components/home/site-header, @/components/json-ld, @/lib/jsonld, next | frontend-score:115 | ui-score:55",
      "exports": "PlayPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63ccc748f788d664",
      "framework": "next-react",
      "imports": "@/components/home/game-section,@/components/home/site-footer,@/components/home/site-header,@/components/json-ld,@/lib/jsonld,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/play/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "8b9604fb769761c8437969a6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowToPlayPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "HowToPlayPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7c70c3851307125",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/how-to-play/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "b58faa734b56b3fe03850212",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CharityPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "CharityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b006cb218cf42015",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/charity/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,discovery",
      "component_id": "99ca29c3202a958abae5ad56",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5f6c02ca1cb00c23",
      "framework": "next-react",
      "imports": "@/lib/openapi,@/lib/trace,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3182cff88852fad93815af8b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsPage | imports:@/components/desert-bus/stats-card, @/components/ui/container, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StatsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8af6fc095591882e",
      "framework": "next-react",
      "imports": "@/components/desert-bus/stats-card,@/components/ui/container,next/link,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/stats/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "2fa194891771502742b84b6a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoryPage, metadata | imports:@/components/content/info-page, @/lib/page-content, next | frontend-score:115 | ui-score:55",
      "exports": "StoryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4cde9b51a93ea277",
      "framework": "next-react",
      "imports": "@/components/content/info-page,@/lib/page-content,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/story/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "80b6caf47032ba69f266252d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "efc6e785c3db52e0c7d289b7",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "4d9d4cec9c30c52570eb533d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceWorkerRegistration | imports:@/lib/logger, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "ServiceWorkerRegistration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6f881efb981afc1",
      "framework": "next-react",
      "imports": "@/lib/logger,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "service-worker-registration",
      "normalized_name": "service-worker-registration",
      "package_manager": "pnpm",
      "path": "components/service-worker-registration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "75e477a57bcceb3ae5475d2e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d996397068c38668",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "07987a35aa6d002c5966f4fb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "isomorphic-dompurify,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MemoriesPolaroids | imports:isomorphic-dompurify, next/image | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "MemoriesPolaroids",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa66d4ad4bee6d6e",
      "framework": "next-react",
      "imports": "isomorphic-dompurify,next/image",
      "lines": 139,
      "logic_relevance": "none",
      "name": "memories-polaroids",
      "normalized_name": "memories-polaroids",
      "package_manager": "pnpm",
      "path": "components/memories-polaroids.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6efa2fa3ac9492ed732166f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "be9bda8cb1615175e7f6bd96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "e6d1c082ccbfbb0c3a240af8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "64eae5b8271f2bec9a1bb67e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cd1741213832524bf1e05d07",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1a2a80f4d6d6435c36503011",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a69e5a08943a9f237a69a190",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "efa5ee37e8596a97f92d4e0f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b52fad9d075eef4b449822cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6ad21ed4bfc3d7e214ce2f7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "f7d1e12eb84d75942389223d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "916c6a4faeb96afedc027be1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8730c9c143d9f12fb35ff83a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Container | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Container",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2ff4117288dd7a37",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 14,
      "logic_relevance": "none",
      "name": "container",
      "normalized_name": "container",
      "package_manager": "pnpm",
      "path": "components/ui/container.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a013d27ccc7cb30647937c37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9e73bdf12f646e9c253948ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2263e59737160e5c",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 362,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3becb7ec9db20665ea808634",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "25d812482c7495c616c6c0aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "46fe2c2ef954f983c7639940",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bb43b0b121579ba4f9ca5b3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f1a1d16b960a275dd89e325c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "cd9cdb496943c81cc9550a8f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "91c0f55a52f06a6eb2d13250",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7a0f56ddac71213e98039026",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f4b17d0ad36ec8ff15211164",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4061a8646519aab8b6e86367",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "94317e722ed6e0f3c32df7b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "59b144b276a36f08c7cb4e41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "90a7518528494c07ef02deab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "5a3ca0a3a31b129378c5f4f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "96efcc83314ae87444cf73ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "8fb7eec8ded1663581001163",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3194563abafdf0cb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 227,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0764501a7e59fa3f59956ce2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1ff7959dafdff17342c7223d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "32ae81d359009718b575b517",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "aa5f18f638b65c7f6acaa8ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "11ebfd4dfe8ce1620d6c6209",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "42305128ade234ea0354d5aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cad966eb6eb71690d6449cbc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7dfc92bf62a9183ab5d3c53b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "61e68ab0aeb7320ade70d253",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "cd40164c278773c12697ebd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "52f094cb0d23b379b237cfa3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "944225e85d3eb91ead808283",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "210c546eededecf51e9d089f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "17a8672ff1b64fd0592b0c4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ee34eebb7fe58fbfc2e1353e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "983f36fab3507e5f86462ab0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dc5c269af320c86596ae6a56",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "1a3fba8e8d83796b12a4165f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8496d4eeefcb95ced0746970",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f576bebf0e6a6785ded9fe16",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fd603e87103f34f64952d5db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "051e3350e94c71f96979ff1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c14eed13b4db7842e404b7c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4ed634fde6927763f1dffe33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c8aed83e6f374f616a39d91c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "ac9f38854b9b6897dd0a501f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "eb13a28172e9e9c7cf0d41c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4a333a37319c05174ed05de5",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutSection | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "AboutSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d32e4924cf8aa97b",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "about-section",
      "normalized_name": "about-section",
      "package_manager": "pnpm",
      "path": "components/home/about-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "6c10558c6da1fcf331e6b592",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DatelandHighlight | imports:lucide-react, next/image | frontend-score:115 | ui-score:55",
      "exports": "DatelandHighlight",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f4249e8ed4873f6",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 42,
      "logic_relevance": "none",
      "name": "dateland-highlight",
      "normalized_name": "dateland-highlight",
      "package_manager": "pnpm",
      "path": "components/home/dateland-highlight.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ba4fcdfd11c9bccce4e2985f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6e800ed7606c2a9",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 56,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/home/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "96e70ee5e2118fa860607269",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | frontend-score:85 | ui-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4f020aa5cff5895a",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/home/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "6ff038c6e9020938d32a11ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CharityCTA | imports:lucide-react | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "CharityCTA",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "706d08795f024274",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "charity-cta",
      "normalized_name": "charity-cta",
      "package_manager": "pnpm",
      "path": "components/home/charity-cta.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "fb55413e35ec209090b798f0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b568bee9fb1b4663",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 86,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/home/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "b9f9d82e272680f995bd2e85",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:GameSection | imports:@/components/desert-bus/game | frontend-score:85 | ui-score:55",
      "exports": "GameSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0187a19b93aa135a",
      "framework": "next-react",
      "imports": "@/components/desert-bus/game",
      "lines": 11,
      "logic_relevance": "none",
      "name": "game-section",
      "normalized_name": "game-section",
      "package_manager": "pnpm",
      "path": "components/home/game-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad157d60ac7cb55ac3102293",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InfoPage | imports:@/components/home/site-footer, @/components/home/site-header, @/components/json-ld, @/components/ui/badge, @/components/ui/card, @/lib/jsonld, @/lib/page-content, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "InfoPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dffea50408f0d7fe",
      "framework": "next-react",
      "imports": "@/components/home/site-footer,@/components/home/site-header,@/components/json-ld,@/components/ui/badge,@/components/ui/card,@/lib/jsonld,@/lib/page-content,next/link",
      "lines": 68,
      "logic_relevance": "none",
      "name": "info-page",
      "normalized_name": "info-page",
      "package_manager": "pnpm",
      "path": "components/content/info-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "f1a41dd8cdc896df171490ff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DesertBusGame | imports:./coach-marks, ./controls, ./dashboard, ./game-canvas, ./game-error-boundary, ./install-banner, ./leaderboard-panel, ./rotate-prompt | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DesertBusGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3412398711c85b77",
      "framework": "next-react",
      "imports": "./coach-marks,./controls,./dashboard,./game-canvas,./game-error-boundary,./install-banner,./leaderboard-panel,./rotate-prompt,./settings-panel,./share-run-button,@/components/ui/button,@/components/ui/card,@/hooks/use-desert-bus,@/hooks/use-orientation,@/hooks/use-tilt-steering,@/hooks/use-wake-lock,@/lib/game-engine,@/lib/haptics,@/lib/leaderboard,@/lib/logger,lucide-react,react,sonner",
      "lines": 1158,
      "logic_relevance": "none",
      "name": "game",
      "normalized_name": "game",
      "package_manager": "pnpm",
      "path": "components/desert-bus/game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bae90c7146ae4b2135f3e487",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DriverMeta, GameCanvas | imports:@/lib/game-engine, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DriverMeta,GameCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d9ccf212a29333a",
      "framework": "next-react",
      "imports": "@/lib/game-engine,react",
      "lines": 4903,
      "logic_relevance": "none",
      "name": "game-canvas",
      "normalized_name": "game-canvas",
      "package_manager": "pnpm",
      "path": "components/desert-bus/game-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "84055c7a4703cef132d07c9a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LeaderboardPanel | imports:@/components/ui/button, @/components/ui/card, @/lib/leaderboard, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LeaderboardPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8a6a20a3ca96351",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/leaderboard,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "leaderboard-panel",
      "normalized_name": "leaderboard-panel",
      "package_manager": "pnpm",
      "path": "components/desert-bus/leaderboard-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "79abd09548df34be8bc133ca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThrottleStick | imports:@/hooks/use-pointer-drag, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "ThrottleStick",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b1fb20b7483079d",
      "framework": "next-react",
      "imports": "@/hooks/use-pointer-drag,@/lib/utils,react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "throttle-stick",
      "normalized_name": "throttle-stick",
      "package_manager": "pnpm",
      "path": "components/desert-bus/throttle-stick.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5a2add73c3964c54a960e2d3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Dashboard | imports:@/lib/game-engine | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Dashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4440149e49c83be",
      "framework": "next-react",
      "imports": "@/lib/game-engine",
      "lines": 210,
      "logic_relevance": "none",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "pnpm",
      "path": "components/desert-bus/dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b032209c1d9e287523e32a87",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlayerStats, StatsCard | imports:@/components/ui/card, @/components/ui/progress, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PlayerStats,StatsCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1103bca0b460b634",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/progress,react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "stats-card",
      "normalized_name": "stats-card",
      "package_manager": "pnpm",
      "path": "components/desert-bus/stats-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "be431583d09d1ff7403712fd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VirtualWheel | imports:@/hooks/use-pointer-drag, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "VirtualWheel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d2b82db028c1b12",
      "framework": "next-react",
      "imports": "@/hooks/use-pointer-drag,@/lib/utils,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "virtual-wheel",
      "normalized_name": "virtual-wheel",
      "package_manager": "pnpm",
      "path": "components/desert-bus/virtual-wheel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "c5e94edb36d57bbd18fd4271",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DEFAULT_SETTINGS, GameSettings, SettingsPanel, SteeringMode, UpdateSetting | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/drawer, @/components/ui/label, @/components/ui/slider, @/components/ui/switch, @/hooks/use-mobile, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DEFAULT_SETTINGS,GameSettings,SettingsPanel,SteeringMode,UpdateSetting",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "009f8152f6004d30",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/drawer,@/components/ui/label,@/components/ui/slider,@/components/ui/switch,@/hooks/use-mobile,lucide-react,react",
      "lines": 386,
      "logic_relevance": "none",
      "name": "settings-panel",
      "normalized_name": "settings-panel",
      "package_manager": "pnpm",
      "path": "components/desert-bus/settings-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "6ccd03a85d107c9595da4825",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:RotatePrompt | imports:lucide-react | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RotatePrompt",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d57a19560ecca53c",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 67,
      "logic_relevance": "none",
      "name": "rotate-prompt",
      "normalized_name": "rotate-prompt",
      "package_manager": "pnpm",
      "path": "components/desert-bus/rotate-prompt.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "7e88a521e4e18f708c2f98b8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareRunButton | imports:@/lib/game-engine, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "ShareRunButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "763b81fa0a2a1450",
      "framework": "next-react",
      "imports": "@/lib/game-engine,lucide-react,react,sonner",
      "lines": 99,
      "logic_relevance": "none",
      "name": "share-run-button",
      "normalized_name": "share-run-button",
      "package_manager": "pnpm",
      "path": "components/desert-bus/share-run-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f98941d7b52617e6ae003b05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GameErrorBoundary | imports:@/components/ui/button, @/lib/logger, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GameErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "255f5b0372599cd8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/logger,lucide-react,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "game-error-boundary",
      "normalized_name": "game-error-boundary",
      "package_manager": "pnpm",
      "path": "components/desert-bus/game-error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "a535ceed8a3446fc34c5dcc5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DragSteering | imports:@/hooks/use-pointer-drag, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DragSteering",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f58c948280009063",
      "framework": "next-react",
      "imports": "@/hooks/use-pointer-drag,@/lib/utils,react",
      "lines": 176,
      "logic_relevance": "none",
      "name": "drag-steering",
      "normalized_name": "drag-steering",
      "package_manager": "pnpm",
      "path": "components/desert-bus/drag-steering.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5d896c8493af1303c679dd25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CoachMarks, hasSeenCoachMarks | imports:./settings-panel, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CoachMarks,hasSeenCoachMarks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "53d9f63afd783985",
      "framework": "next-react",
      "imports": "./settings-panel,lucide-react,react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "coach-marks",
      "normalized_name": "coach-marks",
      "package_manager": "pnpm",
      "path": "components/desert-bus/coach-marks.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "182f8736a2d14cf5a558e670",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ControlsHelp, SteeringSlider, TiltIndicator, TouchControls, useGameControls | imports:./drag-steering, ./settings-panel, ./throttle-stick, ./virtual-wheel, @/hooks/use-tilt-steering, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ControlsHelp,SteeringSlider,TiltIndicator,TouchControls,useGameControls",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f33e3ce91ab83c7e",
      "framework": "next-react",
      "imports": "./drag-steering,./settings-panel,./throttle-stick,./virtual-wheel,@/hooks/use-tilt-steering,lucide-react,react",
      "lines": 661,
      "logic_relevance": "none",
      "name": "controls",
      "normalized_name": "controls",
      "package_manager": "pnpm",
      "path": "components/desert-bus/controls.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "2e86b78fcaed50011ce0ab76",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InstallBanner | imports:@/hooks/use-pwa-install, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "InstallBanner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a3b8ca7ff009548",
      "framework": "next-react",
      "imports": "@/hooks/use-pwa-install,lucide-react,react",
      "lines": 144,
      "logic_relevance": "none",
      "name": "install-banner",
      "normalized_name": "install-banner",
      "package_manager": "pnpm",
      "path": "components/desert-bus/install-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "91749eb00904bbc87a7d0e56",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d682a3e2443a2127",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "06f5babe2869bf94400e677e",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:APP_SHELL, CACHE_VERSION, PRECACHE, RUNTIME | observability-score:55 | security-score:55",
      "exports": "APP_SHELL,CACHE_VERSION,PRECACHE,RUNTIME",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "30af4b81c9469a14",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "sw",
      "normalized_name": "sw",
      "package_manager": "pnpm",
      "path": "public/sw.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "5cfa778d90a740c8e42a0950",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,react,vitest",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/desert-bus/dashboard, @/lib/game-engine, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "569971c4bec37de4",
      "framework": "next-react",
      "imports": "@/components/desert-bus/dashboard,@/lib/game-engine,@testing-library/react,react,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dashboard.test",
      "normalized_name": "dashboard",
      "package_manager": "pnpm",
      "path": "__tests__/components/desert-bus/dashboard.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "636a364ceb162fe11263a9b8",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f8621ffe7d12140b",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,security",
      "component_id": "73f0f84ac33b5886944e9b0d",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/schema, vitest | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "89a34bc5e9572a9f",
      "framework": "next-react",
      "imports": "@/lib/schema,vitest",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "schema.test",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "__tests__/lib/schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "266e489a50b08285a1b0d199",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/app/api/docs/route, @/app/api/health/route, @/app/llms-index.json/route, @/app/rss.xml/route, @/app/sitemap.xml/route, vitest | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0f71ddf7543f40dc",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/app/api/health/route,@/app/llms-index.json/route,@/app/rss.xml/route,@/app/sitemap.xml/route,vitest",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "route-handlers.test",
      "normalized_name": "route-handlers",
      "package_manager": "pnpm",
      "path": "__tests__/lib/route-handlers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "ebd7c8c3468ea58840162cba",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/leaderboard, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "244ba1dc3fba6cd1",
      "framework": "next-react",
      "imports": "@/lib/leaderboard,vitest",
      "lines": 88,
      "logic_relevance": "primary",
      "name": "leaderboard-enhanced.test",
      "normalized_name": "leaderboard-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/lib/leaderboard-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "b170ec6aeeb5592f0e24a768",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/haptics, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6028d3384d15d0fb",
      "framework": "next-react",
      "imports": "@/lib/haptics,vitest",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "haptics.test",
      "normalized_name": "haptics",
      "package_manager": "pnpm",
      "path": "__tests__/lib/haptics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic,observability",
      "component_id": "144c2fdf4864b397ef021716",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/leaderboard, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac68be14e4cfbd3d",
      "framework": "next-react",
      "imports": "@/lib/leaderboard,vitest",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "leaderboard.test",
      "normalized_name": "leaderboard",
      "package_manager": "pnpm",
      "path": "__tests__/lib/leaderboard.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "2040b11754c72dc710e29e38",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/achievements, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6cd7c2fbe637cc1e",
      "framework": "next-react",
      "imports": "@/lib/achievements,vitest",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "achievements-enhanced.test",
      "normalized_name": "achievements-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/lib/achievements-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,observability,automation,ai",
      "component_id": "ca5aa381ba320f641218edfc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game-engine, vitest | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e060e33bcf56cc0",
      "framework": "next-react",
      "imports": "@/lib/game-engine,vitest",
      "lines": 931,
      "logic_relevance": "primary",
      "name": "game-engine.test",
      "normalized_name": "game-engine",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic",
      "component_id": "3a66748db3978cc161a9edbd",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/audio-engine, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce475e51ff84c688",
      "framework": "next-react",
      "imports": "@/lib/audio-engine,vitest",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "audio-engine.test",
      "normalized_name": "audio-engine",
      "package_manager": "pnpm",
      "path": "__tests__/lib/audio-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,observability",
      "component_id": "a2cabd24cce0c24b35733768",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/leaderboard, @/lib/leaderboard-store, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8a611bbb78eca06",
      "framework": "next-react",
      "imports": "@/lib/leaderboard,@/lib/leaderboard-store,vitest",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "leaderboard-store.test",
      "normalized_name": "leaderboard-store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/leaderboard-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "148ba9d01eafeeec734dfed3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game-engine, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9425b92e7c4d3d8b",
      "framework": "next-react",
      "imports": "@/lib/game-engine,vitest",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "game-engine.extended.test",
      "normalized_name": "game-engine-extended",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game-engine.extended.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,observability",
      "component_id": "82cb88c89fdf27dee9979f08",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/leaderboard, @/lib/leaderboard-store, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9c101613656eb90",
      "framework": "next-react",
      "imports": "@/lib/leaderboard,@/lib/leaderboard-store,vitest",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "leaderboard-store-enhanced.test",
      "normalized_name": "leaderboard-store-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/lib/leaderboard-store-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "0fb361728a69db192fb4dece",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/schema, vitest | logic-score:85 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f575d54782ef04cb",
      "framework": "next-react",
      "imports": "@/lib/schema,vitest",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "schema-enhanced.test",
      "normalized_name": "schema-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/lib/schema-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e096ca114286539b9fb25955",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/desertbus-data, @/lib/discovery, @/lib/mcp, @/lib/openapi, @/lib/trace, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "540e1bd3bdaa98c7",
      "framework": "next-react",
      "imports": "@/lib/desertbus-data,@/lib/discovery,@/lib/mcp,@/lib/openapi,@/lib/trace,vitest",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "platform-contract.test",
      "normalized_name": "platform-contract",
      "package_manager": "pnpm",
      "path": "__tests__/lib/platform-contract.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,security,ai",
      "component_id": "a14316a642fd7d5d58ab2149",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/achievements, vitest | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1330f76f7f8a4c13",
      "framework": "next-react",
      "imports": "@/lib/achievements,vitest",
      "lines": 200,
      "logic_relevance": "primary",
      "name": "achievements.test",
      "normalized_name": "achievements",
      "package_manager": "pnpm",
      "path": "__tests__/lib/achievements.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "de88805804cc3a31fddcf68e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "38aa6831354b83c0",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "2542973d9087042d52b59515",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a7ad90c042b34c43",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "d51a0731842ea789e694c347",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e15eca4ade6dae70",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "2ce1f8c94d0a4c9ef785b22b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "628a7fae0e043697",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "11d6b1b3d5042be85d1110b2",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BatteryState, useBattery | imports:react | observability-score:55",
      "exports": "BatteryState,useBattery",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "846a275de413d644",
      "framework": "next-react",
      "imports": "react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "use-battery",
      "normalized_name": "use-battery",
      "package_manager": "pnpm",
      "path": "hooks/use-battery.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "e53b6e9b585df53e3f056b6b",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:PwaInstallState, usePwaInstall | imports:react | security-score:55 | ai-score:45",
      "exports": "PwaInstallState,usePwaInstall",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "18eef8ea3a78d347",
      "framework": "next-react",
      "imports": "react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "use-pwa-install",
      "normalized_name": "use-pwa-install",
      "package_manager": "pnpm",
      "path": "hooks/use-pwa-install.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "97d5691b5aa360c34443244c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useDesertBus | imports:@/lib/audio-engine, @/lib/game-engine, @/lib/haptics, @/lib/logger, react | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "useDesertBus",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d58347923b9193f1",
      "framework": "next-react",
      "imports": "@/lib/audio-engine,@/lib/game-engine,@/lib/haptics,@/lib/logger,react",
      "lines": 401,
      "logic_relevance": "none",
      "name": "use-desert-bus",
      "normalized_name": "use-desert-bus",
      "package_manager": "pnpm",
      "path": "hooks/use-desert-bus.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "61f53d8f64dcd7735e7cb992",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:UseWakeLockResult, useWakeLock | imports:@/lib/logger, react | observability-score:55",
      "exports": "UseWakeLockResult,useWakeLock",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "132f3ad0a7f708d5",
      "framework": "next-react",
      "imports": "@/lib/logger,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "use-wake-lock",
      "normalized_name": "use-wake-lock",
      "package_manager": "pnpm",
      "path": "hooks/use-wake-lock.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "20edaef67de4bedf178fbfe2",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:OrientationState, tryUnlockOrientation, useOrientation | imports:react | ai-score:45",
      "exports": "OrientationState,tryUnlockOrientation,useOrientation",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e160a29cf9826f08",
      "framework": "next-react",
      "imports": "react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "use-orientation",
      "normalized_name": "use-orientation",
      "package_manager": "pnpm",
      "path": "hooks/use-orientation.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "2c5ad378e193339986945419",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addRun, getStoredRuns, getTopStoredRuns | imports:./leaderboard | logic-score:85",
      "exports": "addRun,getStoredRuns,getTopStoredRuns",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b6a88a9e85a65eb",
      "framework": "next-react",
      "imports": "./leaderboard",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "leaderboard-store",
      "normalized_name": "leaderboard-store",
      "package_manager": "pnpm",
      "path": "lib/leaderboard-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "5943893c2dd9eec441f9dba2",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SchemaBreadcrumb, SchemaCharityEvent, SchemaGame, SchemaOrganization, generateJsonLdScript, getBreadcrumbSchema, getCharityEventSchema, getGameSchema | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SchemaBreadcrumb,SchemaCharityEvent,SchemaGame,SchemaOrganization,generateJsonLdScript,getBreadcrumbSchema,getCharityEventSchema,getGameSchema,getOrganizationSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fc36162da234a3b8",
      "framework": "next-react",
      "imports": "",
      "lines": 175,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "295e346baa735fa0c49cd96c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:INFO_PAGES, InfoPageContent | imports:./desertbus-data | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "INFO_PAGES,InfoPageContent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "039f4acf562f74f9",
      "framework": "next-react",
      "imports": "./desertbus-data",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "page-content",
      "normalized_name": "page-content",
      "package_manager": "pnpm",
      "path": "lib/page-content.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "3837e0633a217874d408756e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, AUTH_POLICY, CHARITY_LINKS, CONTROL_GUIDE, CROSS_SITE_INTEGRATIONS, DISCOVERY_ROUTES, FAQ_ITEMS, GAME_RULES | imports:./game-engine | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "API_ENDPOINTS,AUTH_POLICY,CHARITY_LINKS,CONTROL_GUIDE,CROSS_SITE_INTEGRATIONS,DISCOVERY_ROUTES,FAQ_ITEMS,GAME_RULES,MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,MILESTONES,POLAROIDS,PUBLIC_CONTENT_ROUTES,ROUTE,SITE,STORY_SECTIONS,TRUST_POLICY_LINE,publicUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5d98681dfc072897",
      "framework": "next-react",
      "imports": "./game-engine",
      "lines": 324,
      "logic_relevance": "primary",
      "name": "desertbus-data",
      "normalized_name": "desertbus-data",
      "package_manager": "pnpm",
      "path": "lib/desertbus-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "6c1d0214d39fc1346d928f5a",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelRequest, ModelResult, ModelTask | imports:./desertbus-data, ./trace | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ModelRequest,ModelResult,ModelTask",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "8afff7d48866ebd6",
      "framework": "next-react",
      "imports": "./desertbus-data,./trace",
      "lines": 91,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "logic,automation,ai",
      "component_id": "8430d6560af7f78932c9da11",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ACHIEVEMENTS, Achievement, AchievementId, calculateAchievementProgress, checkAchievementUnlock, getTotalAchievementPoints | logic-score:85 | automation-score:45 | ai-score:45",
      "exports": "ACHIEVEMENTS,Achievement,AchievementId,calculateAchievementProgress,checkAchievementUnlock,getTotalAchievementPoints",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "34c04d3de92d167e",
      "framework": "next-react",
      "imports": "",
      "lines": 216,
      "logic_relevance": "primary",
      "name": "achievements",
      "normalized_name": "achievements",
      "package_manager": "pnpm",
      "path": "lib/achievements.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation,ai",
      "component_id": "b85d36ccb673a2b7532bc4b5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./charity-validation, ./desertbus-data, ./discovery, ./model-adapter, ./openapi, ./trace | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1abc7edd02f6fd5a",
      "framework": "next-react",
      "imports": "./charity-validation,./desertbus-data,./discovery,./model-adapter,./openapi,./trace",
      "lines": 310,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3c45daaea0f3bc29bae01bb2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:errorJson, okJson, textResponse | imports:./trace, next/server | logic-score:85 | observability-score:55",
      "exports": "errorJson,okJson,textResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "209cc08a36df2683",
      "framework": "next-react",
      "imports": "./trace,next/server",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "platform-response",
      "normalized_name": "platform-response",
      "package_manager": "pnpm",
      "path": "lib/platform-response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ffacc6171dfb7dfc8f0f69bd",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "d51d8279c4a495685e75f077",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CharityValidationResult | imports:./desertbus-data, ./trace | logic-score:85 | observability-score:55",
      "exports": "CharityValidationResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5e0c23d724ff56da",
      "framework": "next-react",
      "imports": "./desertbus-data,./trace",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "charity-validation",
      "normalized_name": "charity-validation",
      "package_manager": "pnpm",
      "path": "lib/charity-validation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "64eea78695557aca709dbb3f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AudioEngine, getAudioEngine | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "AudioEngine,getAudioEngine",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9d3c90874ee90f57",
      "framework": "next-react",
      "imports": "",
      "lines": 907,
      "logic_relevance": "primary",
      "name": "audio-engine",
      "normalized_name": "audio-engine",
      "package_manager": "pnpm",
      "path": "lib/audio-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "1189794ee54a218d7ff88a4c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:log | imports:@/lib/logger | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "log",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "07c7961d5e801024",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 77,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "76bffe0b0b638cded0d380ec",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AlexCar, DEFAULT_TUNING, GAME_CONSTANTS, GameState, GameTuning, LANDMARKS, Landmark, LandmarkPointer | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AlexCar,DEFAULT_TUNING,GAME_CONSTANTS,GameState,GameTuning,LANDMARKS,Landmark,LandmarkPointer,RoadObject,TrafficVehicle,Weather,WeatherType,createInitialState,findUpcomingLandmark,formatTime,getCurrentLocation,getEstimatedTimeRemaining,getTimeOfDay,updateGameState",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6cf551bf0dca2861",
      "framework": "next-react",
      "imports": "",
      "lines": 986,
      "logic_relevance": "primary",
      "name": "game-engine",
      "normalized_name": "game-engine",
      "package_manager": "pnpm",
      "path": "lib/game-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "9db5a3660652e297fc791130",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:breadcrumbJsonLd, faqJsonLd, gameJsonLd, polaroidJsonLd, softwareApplicationJsonLd, webPageJsonLd, websiteJsonLd | imports:./desertbus-data | logic-score:85",
      "exports": "breadcrumbJsonLd,faqJsonLd,gameJsonLd,polaroidJsonLd,softwareApplicationJsonLd,webPageJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "41ea9977f4d3df7f",
      "framework": "next-react",
      "imports": "./desertbus-data",
      "lines": 98,
      "logic_relevance": "primary",
      "name": "jsonld",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "lib/jsonld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ed6e0f2d56464d1c56a9cbe2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildEventCapabilities, buildWebhookStatus, desertBusEventSchema, validateGameEvent | imports:./desertbus-data, ./trace, zod | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "buildEventCapabilities,buildWebhookStatus,desertBusEventSchema,validateGameEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "92d78729e307365e",
      "framework": "next-react",
      "imports": "./desertbus-data,./trace,zod",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "lib/events.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1e68f17cad1b0c89b3683cf9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fireHaptic, hapticsSupported, setHapticsEnabled, startVibeLoop, stopVibeLoop | imports:./logger | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "fireHaptic,hapticsSupported,setHapticsEnabled,startVibeLoop,stopVibeLoop",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "724ee7157bb29d44",
      "framework": "next-react",
      "imports": "./logger",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "haptics",
      "normalized_name": "haptics",
      "package_manager": "pnpm",
      "path": "lib/haptics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery",
      "component_id": "3dd57ae40cdd2174130e22e8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiDocument, buildOpenApiYaml | imports:./desertbus-data | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "buildOpenApiDocument,buildOpenApiYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd6bf41e438b807a",
      "framework": "next-react",
      "imports": "./desertbus-data",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "c8b79d54d5d34f0a42118390",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildAgentsMetadata, buildAiPluginMetadata, buildApiDocsHtml, buildDiscoveryCompliance, buildFeedXml, buildGameStateSchema, buildHealth, buildIntegrationsStatus | imports:./auth, ./desertbus-data, ./leaderboard-store, ./trace | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "buildAgentsMetadata,buildAiPluginMetadata,buildApiDocsHtml,buildDiscoveryCompliance,buildFeedXml,buildGameStateSchema,buildHealth,buildIntegrationsStatus,buildLeaderboardSummary,buildLlmsIndex,buildLlmsText,buildLocalRunSchema,buildManifest,buildMcpMetadata,buildRobotsTxt,buildRouteCompliance,buildSecurityTxt,buildSitemapIndexXml,buildSitemapXml,buildTrustPolicy,xmlEscape",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2e064263743b4b90",
      "framework": "next-react",
      "imports": "./auth,./desertbus-data,./leaderboard-store,./trace",
      "lines": 584,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "d32d2fe48e229dbb8d33c01f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RunEntry, clearRuns, formatRunTime, getPlayerBest, getRuns, getSavedDriverName, getTopRun, getTopRuns | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "RunEntry,clearRuns,formatRunTime,getPlayerBest,getRuns,getSavedDriverName,getTopRun,getTopRuns,sanitizeName,saveDriverName,saveRun",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a499fe619f6d5523",
      "framework": "next-react",
      "imports": "",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "leaderboard",
      "normalized_name": "leaderboard",
      "package_manager": "pnpm",
      "path": "lib/leaderboard.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "8e9e2614aa04eb9aec951be0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createTraceContext, responseTraceHeaders, sanitizeVercelRequestMetadata, traceHeaders, traceSummary | imports:./desertbus-data, node:crypto | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "TraceContext,createTraceContext,responseTraceHeaders,sanitizeVercelRequestMetadata,traceHeaders,traceSummary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "24e63493955d04b8",
      "framework": "next-react",
      "imports": "./desertbus-data,node:crypto",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "b4418e9764faef46ffbd7937",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthRouteMetadata, getAuthPolicy, isApiKeyEnforcementEnabled, isAuthorizedRequest, requirePlatphormApiKey | imports:./desertbus-data, next/server | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AuthRouteMetadata,getAuthPolicy,isApiKeyEnforcementEnabled,isAuthorizedRequest,requirePlatphormApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45955ee6fd95eea6",
      "framework": "next-react",
      "imports": "./desertbus-data,next/server",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__desert-bus",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4697f3fa268d23dda7037901",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5438276b63dad77",
      "framework": "next-react",
      "imports": "",
      "lines": 3238,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "6b82b7b1f1e97030ce168e2b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a7335661e77c396f",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b982ae4636942c87deaf8215",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e4eefb9b67188f44",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "923cc870963f7ec61ee3ee8c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "geist,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:geist/font/mono, geist/font/sans, next | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e2fd8b0aee2859ac",
      "framework": "next-react",
      "imports": "geist/font/mono,geist/font/sans,next",
      "lines": 31,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "7be63a7c3e2216b1e9efe304",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "39c2258e4ddf0be29a35971c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1eda0eccf20cd502",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react",
      "lines": 285,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "2d59b4eddb358a00ff8daa12",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc3acc734d23feda",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a1e421b8f8ae9404de683f46",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "679ee4df07597d57",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6911b114ad385e5f9b393690",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8354a5242a1c83a5d0d95d9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dcd928e982dd5d224e8cacaa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f41c11fc13e9a1f1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cec6148f2b41628af40c89c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "aa959f1db0e415296491813c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6628e8fde207857b",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "b4b10f5dfbc270eddb06795f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__dinoblocks-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "b3591f7104908dca8cd5b40f",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c591cf82d882b79",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__docker-terraform-aws-demo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "process",
      "categories": "automation",
      "component_id": "8b2c1e61c1163faf4f9ce9fa",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for process; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "099a31213ee9e233",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "installAnsibleUbuntu",
      "normalized_name": "install-ansible-ubuntu",
      "package_manager": "unknown",
      "path": "installAnsibleUbuntu.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__docker-terraform-aws-demo",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "5d50238e92353f3bca65df6d",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9ac1f34bafb33b9e",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__docker-terraform-aws-demo",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation,ai",
      "component_id": "de017e25fde8050120564787",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5773b89a3df97c31",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__docker-terraform-aws-demo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,automation",
      "component_id": "f8169ca73ccc26ff7731e8f3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "326d050ee08ed76c",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "readme1",
      "normalized_name": "readme1",
      "package_manager": "unknown",
      "path": "readme1.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__docker-terraform-aws-demo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "3247bac0177065a38fb797cb",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "66aadbb234b646d6",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "lamp-setup",
      "normalized_name": "lamp-setup",
      "package_manager": "unknown",
      "path": "ansible/lamp-setup.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__docker-terraform-aws-demo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d795633b5fb4def701095377",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "213783889cd04b39",
      "framework": "next-react",
      "imports": "",
      "lines": 4049,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "6baa8f31f268a80ba4d64e3b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "438534e19c0ed413",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "4740b9dfc0a3ad83278367f1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cfa1ea3b7cccb5f",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 75,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3f333a5b205b0192022e76f5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fe2fae615cdb55a5",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1c3979bc8e74aa345544fc0a",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BoardElement, CollaboratorCursor, Comment, Connection, ConnectionPoint, ExecutionLog, Template, Tool | observability-score:55 | security-score:55",
      "exports": "BoardElement,CollaboratorCursor,Comment,Connection,ConnectionPoint,ExecutionLog,Template,Tool,UserMode,ValidationError,ValidationWarning,WorkflowExecution,WorkflowNode,WorkflowValidation",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "74fc609ff690635d",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "board",
      "normalized_name": "board",
      "package_manager": "pnpm",
      "path": "types/board.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "d2b990fbdfea19ef6fc1606a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, next/font/google | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "305573a604c39591",
      "framework": "next-react",
      "imports": "@/components/theme-provider,next/font/google",
      "lines": 27,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "5eef5032a92790f81235cce8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/cookie-consent, @/components/feature-section, @/components/integration-logos, @/components/ui/button, @/components/workflow-input, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91362b4ba6b30528",
      "framework": "next-react",
      "imports": "@/components/cookie-consent,@/components/feature-section,@/components/integration-logos,@/components/ui/button,@/components/workflow-input,next/image,next/link",
      "lines": 156,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "7445045d82f83e2ef9749c99",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "487c3758930baaec",
      "framework": "next-react",
      "imports": "",
      "lines": 192,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "65beffee3d3250b4bf912048",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardPage | imports:@/components/collaborative-board | frontend-score:85 | ui-score:55",
      "exports": "BoardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfd9b488b45651df",
      "framework": "next-react",
      "imports": "@/components/collaborative-board",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/board/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a92afd10f107be0f9f8b9d4f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a05571dd7997413d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/tracking/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,automation",
      "component_id": "c5b421a4a4f6585c2e868970",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/wildduck-api, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "396562f6e60e39a7",
      "framework": "next-react",
      "imports": "@/lib/wildduck-api,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/email/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "da645538008c2d21df8fbd97",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "af7d5ea33d927522",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2185cf5d0761e36d90d1081d",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,process,ui",
      "component_id": "3333efc1a489d8581b552661",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowConnector | frontend-score:85 | process-score:80 | ui-score:55",
      "exports": "WorkflowConnector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73da3553f0416d76",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "workflow-connector",
      "normalized_name": "workflow-connector",
      "package_manager": "pnpm",
      "path": "components/workflow-connector.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "03d700b694d0a78fbc763dbd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserModeSelector | imports:@/components/ui/button, @/types/board, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UserModeSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6115cbddd06813f2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/types/board,lucide-react,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "user-mode-selector",
      "normalized_name": "user-mode-selector",
      "package_manager": "pnpm",
      "path": "components/user-mode-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "78c7eb5d962458e1b39861b6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardCanvas | imports:@/components/board-element, @/components/comment-indicator, @/types/board, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BoardCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b5e4677e2eac99f",
      "framework": "next-react",
      "imports": "@/components/board-element,@/components/comment-indicator,@/types/board,react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "board-canvas",
      "normalized_name": "board-canvas",
      "package_manager": "pnpm",
      "path": "components/board-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "111e3357b836b6d970a58aca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/types,lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentIndicator | imports:@/types/board, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "CommentIndicator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02f0d26c4af7e6ff",
      "framework": "next-react",
      "imports": "@/types/board,lucide-react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "comment-indicator",
      "normalized_name": "comment-indicator",
      "package_manager": "pnpm",
      "path": "components/comment-indicator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "69085ff2a9aa0502835c0f6b",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca2fc2d95ba4e3a0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,lucide-react,react",
      "lines": 365,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "ba6e9085b47c47ab2a49fc0a",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowNodeEditor | imports:@/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/types/board, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WorkflowNodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e89a671a050c2127",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/types/board,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "workflow-node-editor",
      "normalized_name": "workflow-node-editor",
      "package_manager": "pnpm",
      "path": "components/workflow-node-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "234891967a054529cebe70a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollaboratorsList | imports:@/components/ui/avatar | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CollaboratorsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5e05538d54e96dc",
      "framework": "next-react",
      "imports": "@/components/ui/avatar",
      "lines": 25,
      "logic_relevance": "none",
      "name": "collaborators-list",
      "normalized_name": "collaborators-list",
      "package_manager": "pnpm",
      "path": "components/collaborators-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,process,ui,automation",
      "component_id": "3dd57e0b5b1b065ad80517fe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:workflowTemplates | imports:@/types/board | frontend-score:85 | process-score:80 | ui-score:55 | automation-score:45",
      "exports": "workflowTemplates",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "731b45c1e9ffdfe6",
      "framework": "next-react",
      "imports": "@/types/board",
      "lines": 146,
      "logic_relevance": "none",
      "name": "workflow-template",
      "normalized_name": "workflow-template",
      "package_manager": "pnpm",
      "path": "components/workflow-template.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f107223bc5ae618669ca2a38",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RealTimeCollaboration | imports:@/components/ui/avatar, @/types/board, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RealTimeCollaboration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e34044f7a19267a",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/types/board,react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "real-time-collaboration",
      "normalized_name": "real-time-collaboration",
      "package_manager": "pnpm",
      "path": "components/real-time-collaboration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "b04a75c57d5280ddf6a8f438",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowExecutor | imports:@/components/ui/badge, @/components/ui/button, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WorkflowExecutor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc075369cf568661",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/types/board,lucide-react,react",
      "lines": 232,
      "logic_relevance": "none",
      "name": "workflow-executor",
      "normalized_name": "workflow-executor",
      "package_manager": "pnpm",
      "path": "components/workflow-executor.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability",
      "component_id": "d70c942292f8f93c7f4d9fed",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowInput | imports:@/components/ui/button, @/components/ui/textarea, next/navigation, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55",
      "exports": "WorkflowInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "caaebfcbf75eff2c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/textarea,next/navigation,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "workflow-input",
      "normalized_name": "workflow-input",
      "package_manager": "pnpm",
      "path": "components/workflow-input.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "ab599cdd3f55bc9251b4c785",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/types,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowNodeComponent | imports:@/types/board, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "WorkflowNodeComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "439e75ec02bec484",
      "framework": "next-react",
      "imports": "@/types/board,lucide-react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "workflow-node",
      "normalized_name": "workflow-node",
      "package_manager": "pnpm",
      "path": "components/workflow-node.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,process,ui,security",
      "component_id": "3e51244e12fa19a8274c8ad9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowValidator | imports:@/components/ui/badge, @/components/ui/button, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | security-score:55",
      "exports": "WorkflowValidator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d0d2a77f7bf3a24",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/types/board,lucide-react,react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "workflow-validator",
      "normalized_name": "workflow-validator",
      "package_manager": "pnpm",
      "path": "components/workflow-validator.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "2b778fe8cabe3d08d4974d49",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProcessCoIntegration | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/process-co-api, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ProcessCoIntegration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c1c24237d679c3f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/process-co-api,@/types/board,lucide-react,react",
      "lines": 320,
      "logic_relevance": "none",
      "name": "process-co-integration",
      "normalized_name": "process-co-integration",
      "package_manager": "pnpm",
      "path": "components/process-co-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "25c5d1a6da61dc28323c0209",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationLogos | imports:next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "IntegrationLogos",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bf4f36e8881ecbe7",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 31,
      "logic_relevance": "none",
      "name": "integration-logos",
      "normalized_name": "integration-logos",
      "package_manager": "pnpm",
      "path": "components/integration-logos.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "089cbf8e20eafd4696b100f7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowLibrary | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkflowLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c43810d0dd207e1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/types/board,lucide-react,react",
      "lines": 316,
      "logic_relevance": "none",
      "name": "workflow-library",
      "normalized_name": "workflow-library",
      "package_manager": "pnpm",
      "path": "components/workflow-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f5d131e5601951df99247d8f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MiroFeatures | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/types/board, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MiroFeatures",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8936465c21bc6b56",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/types/board,lucide-react,react",
      "lines": 287,
      "logic_relevance": "none",
      "name": "miro-features",
      "normalized_name": "miro-features",
      "package_manager": "pnpm",
      "path": "components/miro-features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4f07f538bffa5c906f289626",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardElementComponent | imports:@/components/comment-indicator, @/components/workflow-connector, @/components/workflow-node, @/types/board, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BoardElementComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e99e7797891191be",
      "framework": "next-react",
      "imports": "@/components/comment-indicator,@/components/workflow-connector,@/components/workflow-node,@/types/board,react",
      "lines": 240,
      "logic_relevance": "none",
      "name": "board-element",
      "normalized_name": "board-element",
      "package_manager": "pnpm",
      "path": "components/board-element.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fd2d4b4b5d57b983f6778359",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentPanel | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/textarea, @/types/board, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommentPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "935a043255fec5ac",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/textarea,@/types/board,lucide-react,react",
      "lines": 264,
      "logic_relevance": "none",
      "name": "comment-panel",
      "normalized_name": "comment-panel",
      "package_manager": "pnpm",
      "path": "components/comment-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "578320fad29be16a9798565a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TemplateSelector | imports:@/components/ui/button, @/components/workflow-template, @/types/board, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TemplateSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a59285869fd4f56",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/workflow-template,@/types/board,lucide-react",
      "lines": 203,
      "logic_relevance": "none",
      "name": "template-selector",
      "normalized_name": "template-selector",
      "package_manager": "pnpm",
      "path": "components/template-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,security",
      "component_id": "d75f7bb56b59c02cae10c1d1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardToolbar | imports:@/components/ui/button, @/types/board, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "BoardToolbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3db90fc0764d317f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/types/board,lucide-react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "board-toolbar",
      "normalized_name": "board-toolbar",
      "package_manager": "pnpm",
      "path": "components/board-toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ec90d3978b297674efaef9ab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeatureSection | imports:next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "FeatureSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b746691f7c45ca6f",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 68,
      "logic_relevance": "none",
      "name": "feature-section",
      "normalized_name": "feature-section",
      "package_manager": "pnpm",
      "path": "components/feature-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "afb8aaca54bcc2966b5c8635",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CookieConsent | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70",
      "exports": "CookieConsent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48c2fadf140f1069",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "cookie-consent",
      "normalized_name": "cookie-consent",
      "package_manager": "pnpm",
      "path": "components/cookie-consent.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "3ce6c057beccea7ce2106ee5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/types,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConnectionManager | imports:@/types/board, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ConnectionManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07c0cc44d23d6c4f",
      "framework": "next-react",
      "imports": "@/types/board,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "connection-manager",
      "normalized_name": "connection-manager",
      "package_manager": "pnpm",
      "path": "components/connection-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "30da46010dbda1d35ee52d1e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollaborativeBoard | imports:@/components/board-canvas, @/components/board-toolbar, @/components/code-editor, @/components/collaborators-list, @/components/comment-panel, @/components/connection-manager, @/components/miro-features, @/components/process-co-integration | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CollaborativeBoard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0433366f4aa78278",
      "framework": "next-react",
      "imports": "@/components/board-canvas,@/components/board-toolbar,@/components/code-editor,@/components/collaborators-list,@/components/comment-panel,@/components/connection-manager,@/components/miro-features,@/components/process-co-integration,@/components/real-time-collaboration,@/components/template-selector,@/components/ui/button,@/components/ui/input,@/components/user-mode-selector,@/components/workflow-executor,@/components/workflow-library,@/components/workflow-validator,@/lib/tracking,@/lib/wildduck-api,@/types/board,react",
      "lines": 404,
      "logic_relevance": "none",
      "name": "collaborative-board",
      "normalized_name": "collaborative-board",
      "package_manager": "pnpm",
      "path": "components/collaborative-board.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "31e35a427b925556840dfe6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "78bc0a5bd23779d4f559a995",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "48e018e7a593837e48ce2fb8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2d4fdffc8ccb29ade4272ac3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2beebd67bcf154806a6c4772",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d016b118ee67d933",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ec9d53cafd86f48b667b16d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "21662aa423e5f6a4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4f617f37888a23685afb4a78",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea, TextareaProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea,TextareaProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e988ed61d99caee4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "feec820db35bcf2a190ad74b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "965a51465d83481f3db8d389",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WildDuckAPI, WildDuckConfig, WildDuckMailbox, WildDuckMessage, WildDuckUser, createWildDuckAPI, createWorkflowEmailTrigger, setupWorkflowInbox | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "WildDuckAPI,WildDuckConfig,WildDuckMailbox,WildDuckMessage,WildDuckUser,createWildDuckAPI,createWorkflowEmailTrigger,setupWorkflowInbox",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a335afe2df4f8d9",
      "framework": "next-react",
      "imports": "",
      "lines": 288,
      "logic_relevance": "primary",
      "name": "wildduck-api",
      "normalized_name": "wildduck-api",
      "package_manager": "pnpm",
      "path": "lib/wildduck-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9e951771ca7da9110509b688",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TrackingConfig, TrackingManager, createTrackingManager | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "TrackingConfig,TrackingManager,createTrackingManager",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f0c256635bc4318a",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "tracking",
      "normalized_name": "tracking",
      "package_manager": "pnpm",
      "path": "lib/tracking.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,backend,observability,security,automation",
      "component_id": "a03ab39353466b4e82a6b6a0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ProcessCoAPI, ProcessCoConfig, ProcessCoExecution, ProcessCoLog, ProcessCoStep, ProcessCoTrigger, ProcessCoVariable, ProcessCoWorkflow | logic-score:85 | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ProcessCoAPI,ProcessCoConfig,ProcessCoExecution,ProcessCoLog,ProcessCoStep,ProcessCoTrigger,ProcessCoVariable,ProcessCoWorkflow,convertBoardToProcessCoWorkflow,createProcessCoAPI",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "23387723f2ce916a",
      "framework": "next-react",
      "imports": "",
      "lines": 363,
      "logic_relevance": "primary",
      "name": "process-co-api",
      "normalized_name": "process-co-api",
      "package_manager": "pnpm",
      "path": "lib/process-co-api.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "b2bf0573b4d83331ffad846c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__doflo-clone",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "59bae89871ecc2f2ed5c7240",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39f5f70252bca739",
      "framework": "next-react",
      "imports": "",
      "lines": 3691,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "be100772fab93fb1673f9e42",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31383d44836c10a2",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b7b014d878c2c1f68db45499",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "39f769b5cf0999e4",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "273d317ba0a7daf5669af87b",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/error-boundary, @/components/layout/footer, @/components/layout/header, @/components/layout/urgent-banner, @/components/structured-data, @vercel/analytics/next, @vercel/speed-insights/next, next | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1907b9e343d94c79",
      "framework": "next-react",
      "imports": "@/components/error-boundary,@/components/layout/footer,@/components/layout/header,@/components/layout/urgent-banner,@/components/structured-data,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 132,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "e3e76f2ec7e0618efa2559bb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/sections/about, @/components/sections/cta, @/components/sections/hero, @/components/sections/partners, @/components/sections/process, @/components/sections/services, @/components/sections/testimonials | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc0acadc04cff65c",
      "framework": "next-react",
      "imports": "@/components/sections/about,@/components/sections/cta,@/components/sections/hero,@/components/sections/partners,@/components/sections/process,@/components/sections/services,@/components/sections/testimonials",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "57fa3cb10341c4c34a8d14a9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "551bcdd9d1b24f70",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "e1cdd4ed2b083ee85f1c9178",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:@/components/contact-form, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afbf6520f93ae1d2",
      "framework": "next-react",
      "imports": "@/components/contact-form,lucide-react,next",
      "lines": 114,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8d3e5a697c46931aec1b18a2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "983995a2f759400e",
      "framework": "next-react",
      "imports": "next/server,zod",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/contact/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a2e7910d6330074cf72a5969",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6938d88b5d4426ff23982fa9",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "1d40812187ced837d2a4af1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d30d7c5d486856b",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d2afe0ec4fbdebcd88add15f",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StructuredData | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StructuredData",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29feb258f31a3e40",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "structured-data",
      "normalized_name": "structured-data",
      "package_manager": "pnpm",
      "path": "components/structured-data.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "80aad118905ae3f211b703b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactForm | imports:@/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ContactForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e05b9b37cff66a6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "contact-form",
      "normalized_name": "contact-form",
      "package_manager": "pnpm",
      "path": "components/contact-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "e83a86b833cc22b2d423de50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fb6bbb15597752b059fa8dfb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2bf08a05fb5b0fa586871a99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ae8f283b5d7867751ae87111",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a1fe9b64732129978b362536",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e8bc7bac812803f49a975748",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "98ac51afc63f9f9d7c11a060",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "374a67bbb92d62cebe3e26c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e23131ecc621f7d9138107d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8dc0768d66dd7415d91b17ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "338cb7519b691d6c1c94e49d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "ee1053d6b43cd259907d593b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9b3dfcc2e0779a686ce1b76a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2ad029e4e72fe307f4e50fda",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c32d0c82cf48c2b7e1bf9a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7f860581cb2fb4ca85b08481",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "abd3f8086abc538881273190",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f7f3e670f36ca24bba65d611",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0797f277a98b7c3d47bb7fc4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c9b336422607f12860f1af7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c06ed6d8512743720b47e239",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8deb782da0f5d5dd4fe71205",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a6d106d6862702ddf743c145",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9c6979ade51025d2de99da57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "81b915f1281b54ef27f0d1ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "066ceb8c4635da0c2eb1beea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "291dc130433ce2ee155d0408",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "7bde51e629fae6f993800fbc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7d8c82b5df3bd15d0ee1200d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "a2f949c598157e8f40680ec3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "823452f32f83fe4aeb605ca7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b3b6e54a185b28cac421dc92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4a4536fd5661eb97c161c250",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e251d5b6e61df4e658c1a1e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1c9689f2c89b9163c559ced0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f2ba510b37690880615bdeba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c34ac1f72e149ea1d2f1b810",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7a2246da92b5064f38b24b32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a4bfeec5d7569af8c1ca52cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ad027fba497beba070d2ef93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "62b823cdc301193eb592d23e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "abd7037c38dd813d1479f819",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3af23b196805a2b6f917cc5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9ff70cafdd11089ec902626d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ec0196e06f4c4eb955cc6d17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1f1659bcf6b7cd78be770739",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "96924f2346b503ab5b92437c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "b9cb9c7b66c46772ce105dba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1a558d8b2745b399c1700f4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cdd27209c157559b754a6fea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ecb98faccc5905ef410d311b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3029eb7e6ebb74edfdd523e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7cb5296a13563d05ed3f686b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9076500efef3b16e3880c57b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "43c31d6141669069dfd6676b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "285dd7f1f0dae63f0ef66c6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4e545739c50be91e20197f44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a833e9a3386cc285376e041f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d1b368f2ad7d978",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 66,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/sections/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "e64eaa7b7d866c7dc478f1dc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ServicesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a17ba3fafd94939",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "services",
      "normalized_name": "services",
      "package_manager": "pnpm",
      "path": "components/sections/services.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0a51ecd70dbacce0c4401bc1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PartnersSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PartnersSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae40a76eb4ead34a",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "partners",
      "normalized_name": "partners",
      "package_manager": "pnpm",
      "path": "components/sections/partners.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b9d3efeddea2f5a0ef39d0c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialsSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TestimonialsSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "314d4aa0ce9cb90d",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "testimonials",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "components/sections/testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "eb035c932d4970218a164e13",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "524bec688c6a682f",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 50,
      "logic_relevance": "none",
      "name": "cta",
      "normalized_name": "cta",
      "package_manager": "pnpm",
      "path": "components/sections/cta.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "cee521e8813493baec024eae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProcessSection | imports:lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProcessSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4b16eebc12eaf0b0",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "process",
      "normalized_name": "process",
      "package_manager": "pnpm",
      "path": "components/sections/process.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7edeb9653be976779e61cf76",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutSection | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AboutSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d5c70b59872ab80a",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "pnpm",
      "path": "components/sections/about.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0435d3950db3d85382d6e872",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "331b09c52e582cde",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 128,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d2153535dfee6761987f863b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f919bd495c2c9f64",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,next/link,react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "67dfb1945e292cd9423b6770",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UrgentBanner | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "UrgentBanner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc4a74b27f4ff0ee",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "urgent-banner",
      "normalized_name": "urgent-banner",
      "package_manager": "pnpm",
      "path": "components/layout/urgent-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "d888b4c93f02ed9f28e52724",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "48e54cb57fca296a",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "fa13c697d786e93e3599a511",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1192cb721d9cb8b2",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process,security",
      "component_id": "91dbd07f8b0b6d023d34dd35",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9a67bcf0c56f6573",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "a0c54644bee27d182c453e11",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__dogstar-cybernetics-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "065bf6b7fb527a5f7e3eb4a4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "111507101da355ac",
      "framework": "next-react",
      "imports": "",
      "lines": 7369,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability",
      "component_id": "114ad8e099418fe0507d6f57",
      "component_kind": "deployment-automation",
      "confidence": 70,
      "dependency_roots": "fs",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:fs | automation-score:95 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b3e0f1de33ca7a3a",
      "framework": "next-react",
      "imports": "fs",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "6fb39f352e3af2403905597e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "fa87008b521e201e",
      "framework": "next-react",
      "imports": "next",
      "lines": 30,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "721d4fb0b324ce22ec8011e1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c7458f2b07d6423",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 99,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8b38dc5cd8b878b6513ca798",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8fb4e4e607ac52db",
      "framework": "next-react",
      "imports": "fs",
      "lines": 85,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "9985c8909c37c1f704e0cc00",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:next/server | observability-score:55 | security-score:55",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f940fada5eb9fc1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "b38b80d52c40e367290223f7",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/site-config, next | frontend-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11a8cdf1eda4ae32",
      "framework": "next-react",
      "imports": "@/lib/site-config,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "cc99444a44f252b70eb03776",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/site-config, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9881bf40886136d2",
      "framework": "next-react",
      "imports": "@/lib/site-config,next",
      "lines": 69,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fc87c8f882ce8bb7edf18f7d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/breadcrumbs, @/lib/site-config, @vercel/analytics/react, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b615ea3c6827438",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/lib/site-config,@vercel/analytics/react,@vercel/speed-insights/next,next,next/font/google",
      "lines": 216,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c8b2db22d65d55f6a96354db",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d5812ac7dea3231",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "db85182b747b4620b8502bff",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/layout/footer, @/components/layout/header, @/components/sections/about, @/components/sections/applications, @/components/sections/contact, @/components/sections/faq, @/components/sections/hero, @/components/sections/roadmap | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6eac5acefb7f8f55",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/sections/about,@/components/sections/applications,@/components/sections/contact,@/components/sections/faq,@/components/sections/hero,@/components/sections/roadmap,@/components/sections/technology",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "9c90cac06e6ebae664ad8208",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f3585c94703c907b",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "84810dcc71c5465c10635b7b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4220be934d638cfe",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 19,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "b481ab76307377469948136d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "95ef2aa96b0e435b",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "733494995933aafc5bc045d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config | backend-score:125 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac6b522e8da72cb0",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 85,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "1f1d578e3ee9804799eb3069",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f06d30d8fc48b42",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend",
      "component_id": "838c23ac43c685176c46305a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "94e9441aabe29313",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/webfinger/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "9439a25194c884fabb063030",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "098c67c14df24c2d",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,automation",
      "component_id": "8bf1c970b29621d59118fd7b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f6a211ebbb7f747",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/network-manifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "4fda6a9940cbc85d113d17c6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc902cdbce868293",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 157,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3e064731e3130e325b4b40f3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6a9a8dd326a8c324",
      "framework": "next-react",
      "imports": "@/lib/logger,next/server",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/waitlist/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e8e1b020e6caf834a52e2cbb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "89a3dc112a0a3e2d",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/product/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend",
      "component_id": "3fa760459647ba49cfa981a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:pushEvent | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "pushEvent",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "273e60389ddd68b6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e5fdb6a3c769d02ba70b11fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f106a4b3cf0a26d0",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "bafe27642dfc5b4af5e64cba",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "dfd51512bc1d26f3",
      "framework": "next-react",
      "imports": "../route",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "ba848a780efaa1bbc6da33df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f121bcd99e75906d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "26ca90deedb63961fa16f50c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "833c1eee715f96a0",
      "framework": "next-react",
      "imports": "../route",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "feaf923a22defc13a48e137f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:50 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a4506cb53473db17",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,automation",
      "component_id": "744b9ec937d50739a464329a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a72e490f050abd84",
      "framework": "next-react",
      "imports": "../route",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/jobs/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "86685326d0b94880b6853ec6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1b9704c135bf871",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "83cd97921d9ce569fec29071",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9052cdc6fa482813",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/well-known/webfinger/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,backend,security",
      "component_id": "a19290a2353cda9105adfc6e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f590f03ca059fbed",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/well-known/security/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "8ed6d6338ad50eb77348754b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "08a25def9e0370d1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/well-known/network-manifest/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "c1b849b3fda732e453c2100a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/logger, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2064e20ff2bfa2c2",
      "framework": "next-react",
      "imports": "@/lib/logger,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "e515a1b2cc8ecdbfa6928a3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bc344d6f422425f6",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e2ca024687ea982eaa710eb7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "c35b4e528857eee63aa68535",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "8ef0830e9a414412305dac0b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,next",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./breadcrumbs, @testing-library/react, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61897d5e076abe5a",
      "framework": "next-react",
      "imports": "./breadcrumbs,@testing-library/react,next/navigation",
      "lines": 30,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "777548bb2abf2ddc533c15a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e98446c6cc2191f",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 51,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "9138b8880078ea9e13fd9656",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "59274bd40d9f02039d5335d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9d711f35f84690745c676b87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "071955cc30cb620b4e8a6fa5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "73e476559ea53b14d15b2a26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "efd8dde229ef82bc661b64d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "038e484fba83efcf0bc3da4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6c4106e3c306ddb7074938fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "28d1286131bbe8fa9c0aa031",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "9b7e5551ca7c6eabda8cc5e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a279a53585972c401187141e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "33f4255ed4968d4617fdfdf9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b2d753024abcdab1",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b6cb495700e6f6bddde4c54b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dc750c4f6a54029d9ec6d7e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f7297948ea270cc9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "75b16fda3cf030c4164e9cd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b54291b94f895ddce4dd9c07",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c3fa168d3edb9ca0b0cabefb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "14236519312bcea7d6333e33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4835530094a9cf7b479fff50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e794d2f27ad557c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5e969cf6ef81e65da73840b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b75e4f1a5ed54746",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "50058173ca7356bcc69bb70d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bc37c18f7cef39aec5c7e780",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "beabb46c257dd66f90376d11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "c31b94288ce25415d90237ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b3f38337e9d2fae38033deaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc4b630210277529",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "499face506a2d8fb9a7659c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3dc82aad6780238",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8a9a206af77b1fd1dd8521d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "af61e73ea4a2aeb1406c957d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "adf349d74fd0bdb391804744",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4cdf3325a6ed9b12f7cc8ee0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f752e2d52197b7e28fdc0ac9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9f15615d6a9dec7ffebb1fda",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c3f77705c9aa98b7bf5c0d34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5f9d3846e303d3a659352dfb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8507bdff0e707352",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9d9de084ad89eb0547d152ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4685eba97a1b566c4febb7da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b3dcdddf2b5fb802adcbf9b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7eff564b78685a683fd3d22b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "111269a0cdbdb02c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c5b6e5388765be2d31ed0a61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1bc9639d1c76f6740deee859",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dab1d9037e368b508e419c85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "59e01c2de4795a4e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e881b6caef6f5597ec5253e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0ab0ce81a00b7d4c678ccb57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4b1dcbd388180938e87d8aee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "303ef2e4b60669ef1e6b80f4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "516aff5f59b99da4b01e3fb7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "35c13e274bd61632f71e1cf9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9e9d114f7ebd40a68903892c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "4a4423e2470b18e6188f9fdb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "722f2c39d0e4c27e2776058a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e1dc0e4f0f1b09c36e7b2948",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/badge, @/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ae02069e5db4f62",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 104,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/sections/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "12e9d8c81204f4d22e361012",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapSection | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86becfa22fbff8ef",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 174,
      "logic_relevance": "none",
      "name": "roadmap",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "components/sections/roadmap.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,process,ui",
      "component_id": "3dd5dff7c3b3de65da13b546",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./roadmap, @testing-library/react | frontend-score:85 | process-score:80 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94f0b06dc6880ec7",
      "framework": "next-react",
      "imports": "./roadmap,@testing-library/react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "roadmap.test",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "components/sections/roadmap.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b3a27e57e30727ea7d6a4ddb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d56457cff4b60c2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,react",
      "lines": 247,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "pnpm",
      "path": "components/sections/contact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c1f8a68fc7dc35dd2da1c4ad",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:./faq, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2c384c099f69010",
      "framework": "next-react",
      "imports": "./faq,@testing-library/react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "faq.test",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/sections/faq.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "20ff8c1961cb61e490585e4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TechnologySection | imports:@/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TechnologySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d0c89f3b755640b",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,next/image",
      "lines": 139,
      "logic_relevance": "none",
      "name": "technology",
      "normalized_name": "technology",
      "package_manager": "pnpm",
      "path": "components/sections/technology.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c61c0dcf403c2c12ba215eef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ | imports:@/components/ui/accordion | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FAQ",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3a05c8a822b36ce",
      "framework": "next-react",
      "imports": "@/components/ui/accordion",
      "lines": 55,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/sections/faq.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6001955d2967485bf630bd0a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApplicationsSection | imports:@/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApplicationsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5655ad3128d3bbc4",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,next/image",
      "lines": 113,
      "logic_relevance": "none",
      "name": "applications",
      "normalized_name": "applications",
      "package_manager": "pnpm",
      "path": "components/sections/applications.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "55d91ea70d66c2714e93bce8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "AboutSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7956921bb262943a",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "pnpm",
      "path": "components/sections/about.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0684710cb038428b188233d5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/site-config, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b57058faa192344c",
      "framework": "next-react",
      "imports": "@/lib/site-config,lucide-react,next/link",
      "lines": 165,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e9a85e7cf96137746982ac11",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90bb8a2442d87ec8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,lucide-react,next/link,react",
      "lines": 175,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "721cbfecf3102e38f5cc8c87",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4e9c2efb6b37f3ec",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process",
      "component_id": "68cf637d4a471c9979b1d2e9",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e98f8824220be042",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "cc2b7c95e31a2481186af3da",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "96da45f814ef08cf",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "6fa2fb4b805d2261c17bd7d6",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f5e37fecc308ec67",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "8a5244d7d5d699b27ea99be0",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9975f45df09d51d555460d11",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getDirection, localeNames, locales, t | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Locale,defaultLocale,getDirection,localeNames,locales,t",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61915be14d939b15",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "185533adefa3baebb2536d2c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "logic",
      "component_id": "aee9460abe2a52cfab212af2",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for finance; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:siteConfig | logic-score:45",
      "exports": "siteConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ac3e3ad04abf6195",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "site-config",
      "normalized_name": "site-config",
      "package_manager": "pnpm",
      "path": "lib/site-config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "72c31600ec8a32ff30eb1c52",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:logger, withRequestLogging | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "logger,withRequestLogging",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "276554efb7b53c00",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "a5495cace223b3664b34ea79",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateRequestId | imports:crypto, next/headers | logic-score:85 | security-score:55",
      "exports": "generateRequestId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "519e7bd65be9171c",
      "framework": "next-react",
      "imports": "crypto,next/headers",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "b8162ffe0feee864b29fdee7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:openApiSpec | imports:./site-config | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "openApiSpec",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "088467e715f07c2c",
      "framework": "next-react",
      "imports": "./site-config",
      "lines": 299,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__drone-reel-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "2d1ca938e8e34f1e3e0c022a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a65afda30ae186f4",
      "framework": "next-react",
      "imports": "next",
      "lines": 43,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "npm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "413914101d698ef491460aac",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e00dc789e6efc12b",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4760e8fc318d9c37663f5129",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36a00b52ab56e48c",
      "framework": "next-react",
      "imports": "",
      "lines": 3579,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c9b3dd7ddd03197c14182be5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "92f336f883bfa171",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6a21f1011523ec9451de5f65",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f564280b8dbe2fb2",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 26,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "npm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "7fc1d74d23948113f0ba4ca9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2012f2539dd3f56c",
      "framework": "next-react",
      "imports": "next",
      "lines": 17,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "npm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "d37609f50f6797a38b8fdfea",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4e9c608c49222b2b",
      "framework": "next-react",
      "imports": "next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "npm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "bcacd7a6d087c5397eb2a6da",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,geist,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, geist/font/mono, geist/font/sans, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6945561ff8ee3a29",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,geist/font/mono,geist/font/sans,next",
      "lines": 57,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2354633655db5f37928fde31",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/cta, @/components/demo-section, @/components/features, @/components/footer, @/components/header, @/components/hero, @/components/how-it-works, @/components/pricing | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2ea539a9b9c537b",
      "framework": "next-react",
      "imports": "@/components/cta,@/components/demo-section,@/components/features,@/components/footer,@/components/header,@/components/hero,@/components/how-it-works,@/components/pricing",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e6cf73e5b788d33e86563288",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "66b9197a343997e7",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6f19f4a0f5c48956fe4ea3a2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b01e93bbfe89f19b671f238e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "npm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "786806d7c5bea6e28a8439cb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa56c5585a8d6f80",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "npm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ea76e06b65621671d77a270f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Pricing | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Pricing",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "177918474114ce1b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "pricing",
      "normalized_name": "pricing",
      "package_manager": "npm",
      "path": "components/pricing.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "6acd6536d6236204bbf0770c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:Features | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Features",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23cfec3e6b79e75b",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "npm",
      "path": "components/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cdfad74a808b0bc60597df1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d8c790a28f863d08",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 100,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "npm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cb5bfbd55bde6481bac9c14a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemoPlayer | imports:@/components/ui/button, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DemoPlayer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67f09d6185f77e4f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/textarea,lucide-react,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "demo-player",
      "normalized_name": "demo-player",
      "package_manager": "npm",
      "path": "components/demo-player.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "4777470956cee6f1611efb46",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorks | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "HowItWorks",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b5336e6b5206988",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 55,
      "logic_relevance": "none",
      "name": "how-it-works",
      "normalized_name": "how-it-works",
      "package_manager": "npm",
      "path": "components/how-it-works.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "e310a9b31e0e8a0ad56e04f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTA | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "CTA",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6449d8fe41cd7595",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "cta",
      "normalized_name": "cta",
      "package_manager": "npm",
      "path": "components/cta.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "49788cf78a439a862feece05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3965b3f74d167ec3",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 48,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "npm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "6339c7174daac51b18f442f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemoSection | imports:@/components/demo-player | frontend-score:85 | ui-score:55",
      "exports": "DemoSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba8208240fec257b",
      "framework": "next-react",
      "imports": "@/components/demo-player",
      "lines": 20,
      "logic_relevance": "none",
      "name": "demo-section",
      "normalized_name": "demo-section",
      "package_manager": "npm",
      "path": "components/demo-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "20b5b02c40102fec1c06c8ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "npm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "de31d1ab39a02698dba2b930",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "npm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "03a1fc67945ebf057a5de6c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "npm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0a9fe9cc73449894a2dc386e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "npm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1ade764da38bb4f86f3916b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "npm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4422247041968d0546281ddc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0126d4ea94def679",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "0ce256b3f87ebedecd2f2442",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6c9bb6407405689d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "npm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "046438dd23ef232a5bb04611",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "npm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "1504963068a51b5de4af8081",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "npm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "9a2fbd7920682359cadfeeb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "npm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c6c56558930eaaabbe69dae0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "npm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "da4254e7ed8f924b4b7126a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "npm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dc8153d9deee7b4ed7c7cb7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "npm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7ad149a906cdd5ea47ee8206",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "npm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9e95550eb7cdb04e3d2b948d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "npm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f4af1a8052b93cf7c448d4fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "npm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fc225c0c3bccef88c853cc24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7d4d1befe27cbd791cf01114",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "npm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "50648191153a2aed88a8c4f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "npm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4833be643bdafd0ef0b901cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "npm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b40aa97901fe1b277f845826",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "npm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "74f06b347b9692bfceb17f1e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f595b3d0bec9fc4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "npm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ce29c42e982a40e242a9e290",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "f76618432cdf71619c10e762",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "npm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "87a4a3149eeca4aa60b48109",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "npm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "d15510fcd240fcd8ac472fb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "npm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aac592b95f7d0944ee1d0945",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "npm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e581529a944720a823dc3fc7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "npm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "08acf009feca63c0a0e3c678",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "npm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ce8e938ef15f5099a477712d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "npm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "025fe58df7037eb4ada317ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "npm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "54514a4765b4f6bc79d4e9eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "npm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bb04bf24eda5f44ee22190fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "npm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "efbcae4ec8f45ed162c44df4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "npm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7e1cc9b02ae658038d68b842",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a80f0973f695533c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "npm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d1a673cecef109b739f3236b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "npm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9fb504ebd77c9202a77c4fe1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "18e30460f94a636bce293fca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8b9912688745cc0f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "91f23bf6c447b40d4a336dd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "npm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "368af49dd420fa3b8fa298f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "npm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fdd2fbd2bc3b9317962bd13e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "npm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8389ba6d50731831460abb8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "npm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3d234cb5b07c9b083a5b6418",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9662646a0e4c5980",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "npm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "93b96d6ba3e0351ac0653692",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "npm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "34609cb39fbb53e770e0607c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "npm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3ef74d72795aca8b77085cf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9469aa9381b196e4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "68632d6421c2afc6b654e6cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "npm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "44774c1269bf71703b469047",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f3c2cc8b9ff3c1f9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "npm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "e29ec88103cd2ec1d144cbb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "npm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7fe03f43a46d22adb4e0d6da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "npm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,automation",
      "component_id": "88290046c1a0534192b47434",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "284517c6c35f3d61",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "npm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "85b002bb2debece9298101a9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d9aa7a165004a20d",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "npm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "921c74154fab6c2da333b28b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a278617e923ce1c6",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "npm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "853f19f34cbe5e44c63e1b09",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,discovery,process",
      "component_id": "4d23f7c62df1b6536cec5f74",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e2835400f2bdfa32",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 46,
      "logic_relevance": "none",
      "name": "sitemap.spec",
      "normalized_name": "sitemap",
      "package_manager": "npm",
      "path": "e2e/sitemap.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "68fe0193f78830a5eea02ab7",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84d2e7d33d193805",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 42,
      "logic_relevance": "none",
      "name": "humans.spec",
      "normalized_name": "humans",
      "package_manager": "npm",
      "path": "e2e/humans.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,process",
      "component_id": "42b98f8f0a5c97aa195cefdf",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dacb9cfc7b6cfa9e",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 47,
      "logic_relevance": "none",
      "name": "favicon.spec",
      "normalized_name": "favicon",
      "package_manager": "npm",
      "path": "e2e/favicon.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,discovery,process",
      "component_id": "4a9a8d2650b0abc62d7427fe",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f94ea03f2cddcf48",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 44,
      "logic_relevance": "none",
      "name": "robots.spec",
      "normalized_name": "robots",
      "package_manager": "npm",
      "path": "e2e/robots.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__email-reading-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "d869cce204277bf1c71bc020",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "react,react-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:./src/App, react, react-dom/client | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2cd212df3242ff07",
      "framework": "react",
      "imports": "./src/App,react,react-dom/client",
      "lines": 8,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f6b014c85b6da0822407e582",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4cba7e0d39d5c1bb",
      "framework": "react",
      "imports": "",
      "lines": 2550,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "106e4566e01a381cf33dfd90",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "axios,cors,dotenv,evernote,express,path,url",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EVERNOTE_CONFIG, PORT | imports:axios, cors, dotenv, evernote, express, path, url | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "EVERNOTE_CONFIG,PORT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3baabccac0d2349c",
      "framework": "react",
      "imports": "axios,cors,dotenv,evernote,express,path,url",
      "lines": 362,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7782522286dd2cc01942f00d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "cors,dotenv,evernote,express,express-session,morgan,passport,passport-evernote,path,url",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EVERNOTE_CONFIG, PORT | imports:cors, dotenv, evernote, express, express-session, morgan, passport, passport-evernote | observability-score:55 | security-score:55 | uses-env",
      "exports": "EVERNOTE_CONFIG,PORT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e5af40d8ff249d9",
      "framework": "react",
      "imports": "cors,dotenv,evernote,express,express-session,morgan,passport,passport-evernote,path,url",
      "lines": 410,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "index.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "294506376ae69b314bd47cad",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "02ff958ed77672f8",
      "framework": "react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "index.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,observability",
      "component_id": "55a192afd728e11060c18f6d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fc9accb5b3378e82",
      "framework": "react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8ae1f4faf19f0fd0a6dad75e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1fbf5386604565ef",
      "framework": "react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "28eff1a5f51bd6f366b528c7",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:App | imports:./components/NoteCard, ./components/NoteForm, ./components/SearchBar, ./lib/api, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "App",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c308d081f326796",
      "framework": "react",
      "imports": "./components/NoteCard,./components/NoteForm,./components/SearchBar,./lib/api,react",
      "lines": 96,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/App.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ffa001e24e4a8297723ac2f1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "cors,dotenv,evernote,express,express-session,morgan,passport,passport-evernote,path,url",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EVERNOTE_CONFIG, PORT | imports:cors, dotenv, evernote, express, express-session, morgan, passport, passport-evernote | observability-score:55 | security-score:55 | uses-env",
      "exports": "EVERNOTE_CONFIG,PORT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e5af40d8ff249d9",
      "framework": "react",
      "imports": "cors,dotenv,evernote,express,express-session,morgan,passport,passport-evernote,path,url",
      "lines": 410,
      "logic_relevance": "none",
      "name": "express",
      "normalized_name": "express",
      "package_manager": "pnpm",
      "path": "src/express.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "540c3934adf3113d07104738",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:NoteForm | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NoteForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b5af5a8709a4832a",
      "framework": "react",
      "imports": "react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "NoteForm",
      "normalized_name": "note-form",
      "package_manager": "pnpm",
      "path": "src/components/NoteForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "531f4efd6239d6cf919e61c4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchBar | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SearchBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c43247fa639046e1",
      "framework": "react",
      "imports": "react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "SearchBar",
      "normalized_name": "search-bar",
      "package_manager": "pnpm",
      "path": "src/components/SearchBar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b561d9c505cfb1dc683fa736",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NoteCard | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NoteCard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fb640af4fef02e40",
      "framework": "react",
      "imports": "react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "NoteCard",
      "normalized_name": "note-card",
      "package_manager": "pnpm",
      "path": "src/components/NoteCard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "15ed87bfae1e1bd67f5dfbaa",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiCall | logic-score:60 | backend-score:55",
      "exports": "apiCall",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d85ea3f821d26c8a",
      "framework": "react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "src/lib/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__evernote-js",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a0e5d6cef05f3f8eeabfa8e3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "370708727a5f2e1b",
      "framework": "svelte",
      "imports": "",
      "lines": 8327,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "290456d7b3931c8499740c2a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cf15551269f507ce",
      "framework": "svelte",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "BLOG_POST_PH3AR",
      "normalized_name": "blog-post-ph3-ar",
      "package_manager": "pnpm",
      "path": "BLOG_POST_PH3AR.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "0fefd54819397c70dc33429b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:metadata | imports:fs | observability-score:55 | discovery-score:55",
      "exports": "metadata",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "737d7d177c68ca86",
      "framework": "svelte",
      "imports": "fs",
      "lines": 49,
      "logic_relevance": "none",
      "name": "add_metadata",
      "normalized_name": "add-metadata",
      "package_manager": "pnpm",
      "path": "add_metadata.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "ede247c2a0f81d6285f4f356",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:metadata | imports:fs | observability-score:55 | discovery-score:55",
      "exports": "metadata",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "58663e38cd6b74ad",
      "framework": "svelte",
      "imports": "fs",
      "lines": 12,
      "logic_relevance": "none",
      "name": "fix_metadata",
      "normalized_name": "fix-metadata",
      "package_manager": "pnpm",
      "path": "fix_metadata.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "8b1db0c2b0278de9a6ffc594",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "32ef6d9e6df73e31",
      "framework": "svelte",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "2a888c656cafb9697f9d94d5",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e03beff6b820812f",
      "framework": "svelte",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f76c886332ae921eca8b9229",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a64582f58ad58339",
      "framework": "svelte",
      "imports": "",
      "lines": 12434,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f6303f95b2da9b398a24e569",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "289d07f2f68062dd",
      "framework": "svelte",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "219519ac2127aa98bf364575",
      "component_kind": "frontend-feature",
      "confidence": 75,
      "dependency_roots": "fs,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:fs, react | frontend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a91ec80291045557",
      "framework": "svelte",
      "imports": "fs,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "update_layout",
      "normalized_name": "update-layout",
      "package_manager": "pnpm",
      "path": "update_layout.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5481bcb0c4b977652337b134",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/error-boundary, @/components/footer, @/components/local-storage-provider, @/components/shared-header, @/components/sidebar, @vercel/analytics/react, @vercel/speed-insights/next, next | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fca76dd9f831c6c7",
      "framework": "svelte",
      "imports": "@/components/error-boundary,@/components/footer,@/components/local-storage-provider,@/components/shared-header,@/components/sidebar,@vercel/analytics/react,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 222,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "ed3f8b2cf3f6b153c8a9382c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "6365a3b9dd6bc9e7ad14f452",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SadiePassHome | imports:@/components/chat-widget, @/components/color-analysis-tool, @/components/early-bird-signup, @/components/enhanced-interactions, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SadiePassHome",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ebb48e60f9cad059",
      "framework": "svelte",
      "imports": "@/components/chat-widget,@/components/color-analysis-tool,@/components/early-bird-signup,@/components/enhanced-interactions,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 395,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "898d52cd54ebca2769a63a6e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c1bffb16c8f1c9af",
      "framework": "svelte",
      "imports": "",
      "lines": 246,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "54b99b39be5c013a2c51909b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/textarea, lucide-react, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ee83b527c1a587d",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/textarea,lucide-react,next",
      "lines": 217,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c4126d28ffc149de8140ea31",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StylistPage, metadata | imports:@/components/ai-virtual-stylist, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StylistPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f3b9841d2d0a2a7",
      "framework": "svelte",
      "imports": "@/components/ai-virtual-stylist,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/stylist/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "147aeb662f50ad369ec8baa2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "73c3aa1ea6e44718",
      "framework": "svelte",
      "imports": "next",
      "lines": 76,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "18a7ef97661e853aac792a75",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08bbb80e92a5a576",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next",
      "lines": 177,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "ec7300501bbfc15a0b2a654b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:VirtualWardrobePage, metadata | imports:@/components/clueless-wardrobe, next | frontend-score:115 | ui-score:55",
      "exports": "VirtualWardrobePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73962036fe90fcae",
      "framework": "svelte",
      "imports": "@/components/clueless-wardrobe,next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/virtual-wardrobe/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "449b26378058126b3838ac51",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorksPage, metadata | imports:@/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HowItWorksPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "209ea9d43c1b8173",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next",
      "lines": 255,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/how-it-works/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4638d06bfeedd0afa1e6993c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogPage, metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BlogPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bd5ba8ae8bbe779",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next",
      "lines": 209,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/blog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c17b6ca1cda34243eec53ddb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecommendationsPage | imports:@/components/personalized-recommendations | frontend-score:85 | ui-score:55",
      "exports": "RecommendationsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abaa4a05816a8a9f",
      "framework": "svelte",
      "imports": "@/components/personalized-recommendations",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/recommendations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "1e589697d2ca97b861549e97",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubscriptionPage, metadata | imports:@/components/subscription-management, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SubscriptionPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e37c95e29e522026",
      "framework": "svelte",
      "imports": "@/components/subscription-management,next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/subscription/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "cbc8f840369d44765582d3a1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/search/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b8aa7c509f0d5d4bf9f02bf3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage, metadata | imports:@/components/advanced-search | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SearchPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "356590f38ff32c8a",
      "framework": "svelte",
      "imports": "@/components/advanced-search",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "3725283d8597c732df94ab97",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PersonalStylingPage, metadata | imports:@/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55",
      "exports": "PersonalStylingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "136170864552e11c",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 76,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/personal-styling/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "aeb87389327720b101cc43e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChinesePage, metadata | imports:../page, next | frontend-score:115 | ui-score:55",
      "exports": "ChinesePage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "89bf9bb66a1391bf",
      "framework": "svelte",
      "imports": "../page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/zh/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "6410f910e668402952843575",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage, metadata | imports:@/components/advanced-user-profile, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ProfilePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f517b8594518db7",
      "framework": "svelte",
      "imports": "@/components/advanced-user-profile,next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "150f6a60a43bd3dbe4e1d4ab",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserProfilePage, metadata | imports:@/components/advanced-user-profile, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "UserProfilePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb7f848fe9e1c44f",
      "framework": "svelte",
      "imports": "@/components/advanced-user-profile,next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/[userId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "9a99e480e365a5b7201111c1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupportPage, metadata | imports:@/components/real-time-chat-support, @/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SupportPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b3f1ed4664dac2b",
      "framework": "svelte",
      "imports": "@/components/real-time-chat-support,@/components/ui/button,@/components/ui/card,lucide-react,next",
      "lines": 157,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/support/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "22e9eb59eefd4843e70008b9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "28662f35f1869ba3",
      "framework": "svelte",
      "imports": "crypto,next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "996c02ff4de3ea5ddae69f73",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8e0414dcce670de9",
      "framework": "svelte",
      "imports": "next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/gta6/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "cff27c51f0f1c52d43b5fd7c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b75d688e582bb884",
      "framework": "svelte",
      "imports": "next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/product-hunt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "3e0399682dee3831a7d1a86d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a5dc321d9a0fb516",
      "framework": "svelte",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "85aeefca8bfbe97d2b53e40f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/public,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/public/api-docs.json, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3313b2bd60335f97",
      "framework": "svelte",
      "imports": "@/public/api-docs.json,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/documentation/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c9aaa95e46787d9218f86914",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6f3013cbc9f2bf5d",
      "framework": "svelte",
      "imports": "next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "8c78966f1bb0dd02e231a47b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MCP_REGISTRATION | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,MCP_REGISTRATION",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "25fa7861f6b527ea",
      "framework": "svelte",
      "imports": "next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp-registration/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "b4f075591d493594091e6a7c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fc02100a0810f8b8",
      "framework": "svelte",
      "imports": "next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "824589d4903866132179da7c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FrenchPage, metadata | imports:../page, next | frontend-score:115 | ui-score:55",
      "exports": "FrenchPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aa06fe8073087ee7",
      "framework": "svelte",
      "imports": "../page,next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/fr/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "a7b8ec86832661ff4c8f1254",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:50",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b003313d87b464ff",
      "framework": "svelte",
      "imports": "next",
      "lines": 134,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ai,ui",
      "component_id": "9ff91ad65c4850eeed21f40f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIStylistPage, metadata | imports:@/components/ai-virtual-stylist, next | frontend-score:115 | ai-score:75 | ui-score:55",
      "exports": "AIStylistPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34bcbd1d80d2f4db",
      "framework": "svelte",
      "imports": "@/components/ai-virtual-stylist,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ai-stylist/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,process",
      "component_id": "c172ede5d1a5a55d36859322",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SizeGuidePage, metadata | imports:@/components/ui/card, @/components/ui/table, next | frontend-score:115 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "SizeGuidePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1d66200a11f4656",
      "framework": "svelte",
      "imports": "@/components/ui/card,@/components/ui/table,next",
      "lines": 82,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/size-guide/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "52b295b2414d4acd98a60797",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityPage, metadata | imports:@/components/social-community, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CommunityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd32b17845d6fd9b",
      "framework": "svelte",
      "imports": "@/components/social-community,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/community/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "47b848b39d69a64ad5c207df",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPage, metadata | imports:@/components/pricing-plans, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PricingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac2aa8b318261d43",
      "framework": "svelte",
      "imports": "@/components/pricing-plans,next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/pricing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "7bd690e8623ee5c2add29c89",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ColorAnalysisPage, metadata | imports:@/components/color-analysis-tool, next | frontend-score:115 | ui-score:55",
      "exports": "ColorAnalysisPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60bccf153c1bdec0",
      "framework": "svelte",
      "imports": "@/components/color-analysis-tool,next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/color-analysis/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "88352b3cdcb902a5603246f3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9e1ac4077d215363",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/palettes/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8dba84f297647e416585d083",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PalettesPage | imports:@/components/enhanced-search, @/components/seasonal-palette-system, @/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "PalettesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "162f6792c2b15b04",
      "framework": "svelte",
      "imports": "@/components/enhanced-search,@/components/seasonal-palette-system,@/components/ui/button,lucide-react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/palettes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "087acf609c4ba21baf920ded",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InvestorsPage, metadata | imports:@/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "InvestorsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8398c49538a20083",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next",
      "lines": 90,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/investors/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "c61e1f01b12203800343eea4",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "16a01dfb0af0e195",
      "framework": "svelte",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "57edfb8e452a31d9b10ef572",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6de3d042845aae05",
      "framework": "svelte",
      "imports": "",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "aa03ba7342644d1c1e8e59cd",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c1ea39c2d7db8a0",
      "framework": "svelte",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "969e78f8146471411052a8ce",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe55990ef001a889",
      "framework": "svelte",
      "imports": "",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "index.schema",
      "normalized_name": "index-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/index.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "ca064d5435cdc033ee908a2d",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e589e073e367ea9f",
      "framework": "svelte",
      "imports": "",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "efb62e7bac667a67e41d447e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "058fb6bc6651f9da",
      "framework": "svelte",
      "imports": "",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "f81f3eb9571b80285af6b923",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ab33e11434a67c70",
      "framework": "svelte",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,ai",
      "component_id": "6fa68354ed01e25f8377ac6c",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c94390df70e41857",
      "framework": "svelte",
      "imports": "",
      "lines": 159,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/openapi.yaml",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "4a568b2eadfd3294516163b2",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6811a789ff97b56f",
      "framework": "svelte",
      "imports": "",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "9789eadd19304d6e89b8cbf0",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "523b1238b5595996",
      "framework": "svelte",
      "imports": "",
      "lines": 602,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend,observability",
      "component_id": "2ebb38aa06e2a5ee6c5b45aa",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3b203e4e8682c2c4",
      "framework": "svelte",
      "imports": "",
      "lines": 74,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "7e5b6ea52a6c8e7feefa0eb2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "svelte",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "125f0aa7a05ec761838533f3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPlans | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "PricingPlans",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d06f4f7a8811984",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 263,
      "logic_relevance": "none",
      "name": "pricing-plans",
      "normalized_name": "pricing-plans",
      "package_manager": "pnpm",
      "path": "components/pricing-plans.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "eca66f5a989da3610900d7df",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "svelte",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "428bf89c721e4a727640b61b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialCommunity | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SocialCommunity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f35972273fe248b",
      "framework": "svelte",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,lucide-react,react",
      "lines": 437,
      "logic_relevance": "none",
      "name": "social-community",
      "normalized_name": "social-community",
      "package_manager": "pnpm",
      "path": "components/social-community.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "407ab6e31b789e06b7c59a49",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DefaultErrorFallback, ErrorBoundary, FallbackComponent | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "DefaultErrorFallback,ErrorBoundary,FallbackComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14e642ba4aca7036",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "5e2d42bc173b6cc4258f2208",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ColorAnalysisSkeleton, ProductCardSkeleton, Skeleton | imports:@/lib/utils | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "ColorAnalysisSkeleton,ProductCardSkeleton,Skeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbf7b2ed637339fa",
      "framework": "svelte",
      "imports": "@/lib/utils",
      "lines": 55,
      "logic_relevance": "none",
      "name": "premium-skeleton",
      "normalized_name": "premium-skeleton",
      "package_manager": "pnpm",
      "path": "components/premium-skeleton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "23ad2dee9d9ea3027266e884",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvancedUserProfile | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdvancedUserProfile",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fee78a5e2b52b305",
      "framework": "svelte",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/ui/textarea,lucide-react,react",
      "lines": 604,
      "logic_relevance": "none",
      "name": "advanced-user-profile",
      "normalized_name": "advanced-user-profile",
      "package_manager": "pnpm",
      "path": "components/advanced-user-profile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c63e02521236d59cce01fc65",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformanceDashboard | imports:@/components/ui/badge, @/components/ui/card, react | frontend-score:115 | ui-score:70 | observability-score:55 | uses-env",
      "exports": "PerformanceDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93b3e53e4d0380a8",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/card,react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "performance-dashboard",
      "normalized_name": "performance-dashboard",
      "package_manager": "pnpm",
      "path": "components/performance-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2a32c014d1eb75b83ba26396",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformanceMonitor | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "PerformanceMonitor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9115b50a6f220ed1",
      "framework": "svelte",
      "imports": "react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "performance-monitor",
      "normalized_name": "performance-monitor",
      "package_manager": "pnpm",
      "path": "components/performance-monitor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8dd6eb124eff5e46de210fab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CluelessWardrobe | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CluelessWardrobe",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "52026d211a6b9da6",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 248,
      "logic_relevance": "none",
      "name": "clueless-wardrobe",
      "normalized_name": "clueless-wardrobe",
      "package_manager": "pnpm",
      "path": "components/clueless-wardrobe.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1e0d269e5b6714a8f4c52360",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ColorAnalysisTool | imports:./premium-loading, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ColorAnalysisTool",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8d05ff0b2dd45c1",
      "framework": "svelte",
      "imports": "./premium-loading,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,lucide-react,react",
      "lines": 406,
      "logic_relevance": "none",
      "name": "color-analysis-tool",
      "normalized_name": "color-analysis-tool",
      "package_manager": "pnpm",
      "path": "components/color-analysis-tool.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "fab0c6a3c3ebee4f590238d4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubscriptionManagement | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SubscriptionManagement",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90a6bc78f43f834d",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 619,
      "logic_relevance": "none",
      "name": "subscription-management",
      "normalized_name": "subscription-management",
      "package_manager": "pnpm",
      "path": "components/subscription-management.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7136e4d8bfd1df10d0887ac4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PersonalizedRecommendations | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PersonalizedRecommendations",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91eec65b8c35993a",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 474,
      "logic_relevance": "none",
      "name": "personalized-recommendations",
      "normalized_name": "personalized-recommendations",
      "package_manager": "pnpm",
      "path": "components/personalized-recommendations.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9e438d21cde5fe29524eea41",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnhancedSearch | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EnhancedSearch",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ec5cc38bb1f1f73",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 222,
      "logic_relevance": "none",
      "name": "enhanced-search",
      "normalized_name": "enhanced-search",
      "package_manager": "pnpm",
      "path": "components/enhanced-search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1fa0dd02a7b098b40e60c8fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestSuite | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "TestSuite",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96f0707d8886bccc",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 443,
      "logic_relevance": "none",
      "name": "test-suite",
      "normalized_name": "test-suite",
      "package_manager": "pnpm",
      "path": "components/test-suite.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "09f7b2806b3c32b3c7ba2ecf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PremiumDots, PremiumLoading, PremiumPulse, PremiumSkeleton, PremiumSpinner | imports:@/lib/utils | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "PremiumDots,PremiumLoading,PremiumPulse,PremiumSkeleton,PremiumSpinner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa4e6e5ea6f84a2d",
      "framework": "svelte",
      "imports": "@/lib/utils",
      "lines": 72,
      "logic_relevance": "none",
      "name": "premium-loading",
      "normalized_name": "premium-loading",
      "package_manager": "pnpm",
      "path": "components/premium-loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "77fc65c48bc841a71ce4c488",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "baeee3b3bf7cb84b",
      "framework": "svelte",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "896f20f0f830ae5899d5cf51",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SharedHeader | imports:@/components/enhanced-search, @/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SharedHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e82865f0d38e0b0",
      "framework": "svelte",
      "imports": "@/components/enhanced-search,@/components/ui/button,lucide-react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "shared-header",
      "normalized_name": "shared-header",
      "package_manager": "pnpm",
      "path": "components/shared-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f8990230c022b4f2d3678165",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FloatingActionButton, ProgressiveImage, ToastContainer, useSmoothScroll, useToast | imports:framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FloatingActionButton,ProgressiveImage,ToastContainer,useSmoothScroll,useToast",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ceb6fc03195224c6",
      "framework": "svelte",
      "imports": "framer-motion,react",
      "lines": 190,
      "logic_relevance": "none",
      "name": "enhanced-interactions",
      "normalized_name": "enhanced-interactions",
      "package_manager": "pnpm",
      "path": "components/enhanced-interactions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "25e7352eb336c07e3c9caf7f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvancedSearch | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/select, @/components/ui/slider, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdvancedSearch",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a228fc444685e5d6",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/select,@/components/ui/slider,lucide-react,react",
      "lines": 545,
      "logic_relevance": "none",
      "name": "advanced-search",
      "normalized_name": "advanced-search",
      "package_manager": "pnpm",
      "path": "components/advanced-search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "805c7e489b9e688670f6ed0e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIVirtualStylist | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AIVirtualStylist",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2e14bcee8befae2",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,lucide-react,react",
      "lines": 309,
      "logic_relevance": "none",
      "name": "ai-virtual-stylist",
      "normalized_name": "ai-virtual-stylist",
      "package_manager": "pnpm",
      "path": "components/ai-virtual-stylist.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "aeda4198de4ed28d274e396b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:useKeyboardNavigation, useScrollAnimations, useSwipeGesture | imports:react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "useKeyboardNavigation,useScrollAnimations,useSwipeGesture",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ff8dbe4f1d1bfbb",
      "framework": "svelte",
      "imports": "react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "gesture-handler",
      "normalized_name": "gesture-handler",
      "package_manager": "pnpm",
      "path": "components/gesture-handler.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d98dfe9e6e2b8934e68526e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "64bb557cd5ac2925",
      "framework": "svelte",
      "imports": "lucide-react,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "62272bc1faebc102c701ee77",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SeasonalPaletteSystem | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SeasonalPaletteSystem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48b062687e3a8659",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 371,
      "logic_relevance": "none",
      "name": "seasonal-palette-system",
      "normalized_name": "seasonal-palette-system",
      "package_manager": "pnpm",
      "path": "components/seasonal-palette-system.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "80979d72786138dc69a9c523",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibilityEnhancements | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AccessibilityEnhancements",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d446aac6d235a1a",
      "framework": "svelte",
      "imports": "react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "accessibility-enhancements",
      "normalized_name": "accessibility-enhancements",
      "package_manager": "pnpm",
      "path": "components/accessibility-enhancements.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "402f8900ca8622ed5a303bd4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PremiumComparison | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PremiumComparison",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "252dde73c850c609",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,lucide-react,react",
      "lines": 300,
      "logic_relevance": "none",
      "name": "premium-comparison",
      "normalized_name": "premium-comparison",
      "package_manager": "pnpm",
      "path": "components/premium-comparison.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7773e691405b109b26d233d5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EarlyBirdSignup | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EarlyBirdSignup",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04efdba593ea7971",
      "framework": "svelte",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 277,
      "logic_relevance": "none",
      "name": "early-bird-signup",
      "normalized_name": "early-bird-signup",
      "package_manager": "pnpm",
      "path": "components/early-bird-signup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "37694caff8a62eb917292677",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatWidget | imports:./real-time-chat-support, @/components/ui/button, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70",
      "exports": "ChatWidget",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b30cb652d82642bc",
      "framework": "svelte",
      "imports": "./real-time-chat-support,@/components/ui/button,lucide-react,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "chat-widget",
      "normalized_name": "chat-widget",
      "package_manager": "pnpm",
      "path": "components/chat-widget.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "14b534c2c055bcf01e0ced69",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocalStorageProvider, useLocalStorage | imports:react | frontend-score:115 | ui-score:70",
      "exports": "LocalStorageProvider,useLocalStorage",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fc569897f358cafd",
      "framework": "svelte",
      "imports": "react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "local-storage-provider",
      "normalized_name": "local-storage-provider",
      "package_manager": "pnpm",
      "path": "components/local-storage-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "2f3787c426fb319a766169f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:RealTimeChatSupport | imports:@/components/ui/avatar, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RealTimeChatSupport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b402fea23a82620a",
      "framework": "svelte",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,lucide-react,react",
      "lines": 384,
      "logic_relevance": "none",
      "name": "real-time-chat-support",
      "normalized_name": "real-time-chat-support",
      "package_manager": "pnpm",
      "path": "components/real-time-chat-support.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dcf73f3c1cb4f95e36501a8c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PremiumWishlist | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PremiumWishlist",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88f7d01e9e862457",
      "framework": "svelte",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,lucide-react,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "premium-wishlist",
      "normalized_name": "premium-wishlist",
      "package_manager": "pnpm",
      "path": "components/premium-wishlist.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ae69ec02bc3544e1475b00b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "15c2a36a12d3dc66",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "093c717ab99a9d47c6b4eb0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "svelte",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9636ccd31b800c0f17707d53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0322003ed8bbbe9d",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "80c799d97a2cc8254b2f615a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5909823c2cdb46ab",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8e0218f2c6dc3ec467c4b2e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d04d80d4140f9f96",
      "framework": "svelte",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "75589d421852663a56c449b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ecefaf81ac55aeb1",
      "framework": "svelte",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4cf7ff84a92d721183ba7d73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e2e49c5450fbfeacefcf2381",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3ced48db2257b09",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "250c5555f3cad3c44767252a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f3c5002b733b522",
      "framework": "svelte",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "41bbaa988e17f5e90162f0c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea, TextareaProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea,TextareaProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "21fe1a510e41a577",
      "framework": "svelte",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7cbb8b7d858beaa6e6b5655b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input, InputProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input,InputProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4c5fcce1dfc000c4",
      "framework": "svelte",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "be1812dc25953a05fa86a2b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "403f8a61b7db098e",
      "framework": "svelte",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,automation",
      "component_id": "9738a022947957c00571b513",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d4729263f4886092",
      "framework": "svelte",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "6e68ae2f675bd82e4421b5c5",
      "component_kind": "ai-integration",
      "confidence": 55,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c718b4c6b37ca0e9",
      "framework": "svelte",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "llm-index",
      "normalized_name": "llm-index",
      "package_manager": "pnpm",
      "path": "public/llm-index.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,discovery,process",
      "component_id": "1dd8301dae384dde2406176f",
      "component_kind": "api-docs",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9d08147c855412db",
      "framework": "svelte",
      "imports": "",
      "lines": 242,
      "logic_relevance": "none",
      "name": "api-docs",
      "normalized_name": "api-docs",
      "package_manager": "pnpm",
      "path": "public/api-docs.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "a1803c885e96fe4098f7513c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f7679dce505e9442",
      "framework": "svelte",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "e6005265fd1779d109c0ca93",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d7fd025ae7179a31",
      "framework": "svelte",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "e9f88c826232c72e51e8a096",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5571c7b7793af1d1",
      "framework": "svelte",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "d5df601d98e956d2a694cebe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "403f8a61b7db098e",
      "framework": "svelte",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/.well-known/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,observability",
      "component_id": "2c05206aa1d506836fea1bae",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../app/api/mcp-registration/route | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c05d89b882c5dffb",
      "framework": "svelte",
      "imports": "../app/api/mcp-registration/route",
      "lines": 33,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/mcp.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "10db0199fd580c1167119d7a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/network/graph/route | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5bce77f6ee8d0c61",
      "framework": "svelte",
      "imports": "../app/api/network/graph/route",
      "lines": 38,
      "logic_relevance": "none",
      "name": "network-graph.test",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "__tests__/network-graph.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "5322ac8de11e6604efacbba0",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49b6bf5bfc281d19",
      "framework": "svelte",
      "imports": "fs,path",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/sitemap.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "abe46714249b3b952b695700",
      "component_kind": "llms-discovery",
      "confidence": 65,
      "dependency_roots": "fs,path",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:fs, path | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fb122a95bec31f5e",
      "framework": "svelte",
      "imports": "fs,path",
      "lines": 18,
      "logic_relevance": "none",
      "name": "llms.test",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "__tests__/llms.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "411e60fdd8507909fa7188fc",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2737ebf1a3bc59c1",
      "framework": "svelte",
      "imports": "fs,path",
      "lines": 17,
      "logic_relevance": "none",
      "name": "sitemap-content.test",
      "normalized_name": "sitemap-content",
      "package_manager": "pnpm",
      "path": "__tests__/sitemap-content.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3949bbdc2ea678117f739a93",
      "component_kind": "health-check",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/health/route | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6b393eadd388b152",
      "framework": "svelte",
      "imports": "../app/api/health/route",
      "lines": 14,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "fe49564116bd1ae77658f531",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c5e71dcb3028d323",
      "framework": "svelte",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "35808d2e5e6d2da5e9f76485",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "524b584e31edc8fc",
      "framework": "svelte",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "c7fcbfe9a8e6f6eabd154dbf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4f0cba4a8fb5095b",
      "framework": "svelte",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "93cc47bd6e5e1b19dbfb7e11",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "https",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:https | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6184c11fad554b7d",
      "framework": "svelte",
      "imports": "https",
      "lines": 19,
      "logic_relevance": "none",
      "name": "submit-indexnow",
      "normalized_name": "submit-indexnow",
      "package_manager": "pnpm",
      "path": "scripts/submit-indexnow.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,discovery,automation",
      "component_id": "aab6b8ec19288619dfbe31f3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "65f99cafaad31353",
      "framework": "svelte",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "submit-llms",
      "normalized_name": "submit-llms",
      "package_manager": "pnpm",
      "path": "scripts/submit-llms.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f7ba2493d07db7b2c96ee4f7",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e6078cf60befc204",
      "framework": "svelte",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "run-tests",
      "normalized_name": "run-tests",
      "package_manager": "pnpm",
      "path": "scripts/run-tests.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f55846c538df9df15b9bf56f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "svelte",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fashion-sadiepass-WWW",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8546b3cf1d68206d309973c6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31658f886f9a6be3",
      "framework": "next-react",
      "imports": "",
      "lines": 3900,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "35a8f5ff81c90a94452e878c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "762b53bfd63f4d5f",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 100,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b52af76d8349bc34e7168c8c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9e84ab7adb9bab22",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "225bc14468d7c78559ba5232",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:next, next/font/google, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "200521d9d319a813",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5eb13b70202d06986ad90c96",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/fog-canvas, @/components/fortune-display, @/components/particle-field, @/components/secret-modal, @/lib/life-goals, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d9d4f210ba2a3eb",
      "framework": "next-react",
      "imports": "@/components/fog-canvas,@/components/fortune-display,@/components/particle-field,@/components/secret-modal,@/lib/life-goals,react",
      "lines": 314,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2620ac01b18aa0915181cc35",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "22a7e682961fff27",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "00fac78d65bfb2de9861b9d4",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "aad17fcc2280bcb205986bff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FogCanvas | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "FogCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb22313812dd4560",
      "framework": "next-react",
      "imports": "react",
      "lines": 310,
      "logic_relevance": "none",
      "name": "fog-canvas",
      "normalized_name": "fog-canvas",
      "package_manager": "pnpm",
      "path": "components/fog-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "653058ef1db20bf4f65df550",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ParticleField | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ParticleField",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42be752b470005c2",
      "framework": "next-react",
      "imports": "react",
      "lines": 96,
      "logic_relevance": "none",
      "name": "particle-field",
      "normalized_name": "particle-field",
      "package_manager": "pnpm",
      "path": "components/particle-field.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "155cb8abfd5d61afb654a625",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecretModal | imports:@/lib/life-goals, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SecretModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "890b28ba2a804739",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "secret-modal",
      "normalized_name": "secret-modal",
      "package_manager": "pnpm",
      "path": "components/secret-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "db025499b7b35294e3847092",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FortuneDisplay | imports:@/lib/life-goals | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "FortuneDisplay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3be6188088da035",
      "framework": "next-react",
      "imports": "@/lib/life-goals",
      "lines": 88,
      "logic_relevance": "none",
      "name": "fortune-display",
      "normalized_name": "fortune-display",
      "package_manager": "pnpm",
      "path": "components/fortune-display.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "50665e530ba2742beeacec79",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2ab290b2a97434511575ff05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "35698b0f8d3215a8ad190905",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c671b13108ae5c831ca7660c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b4db2ef5a2ecc10502b9c513",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "208e55eb0798166ae8686808",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ede8e8f65969580183badd05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "efbd14f7ba1ffd61f2b29cc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c39f42f637551372a3c9ffd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "e6d580156d996ea72415107f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6e1a4751683c5fc8a95dd51f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b1bddcfdf7124d2c6d1ae7f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b2d753024abcdab1",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e6cd0dd9d36943f9f86f18d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2cab24e6963d08e523707bc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f7297948ea270cc9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d994c6380cbe68135fa48e89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "163a03890f000a442c133298",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "24a829836405df66f5e38589",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "15f02460e5abc95b69c1871e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "38a008532355b171866bc6f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e794d2f27ad557c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "01c2c588e2c68190783cb2fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7bf612ec88e330f9728c6f9b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5c6fa2e8ebe8ffeb733e2cd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0490c7e9d5ca4ad9a511e1e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "0c7e2bed7b1f440ec77b9009",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c45f28d0586e5b1b16e2c763",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc4b630210277529",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "823124c0062db054608fea6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3dc82aad6780238",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0b59b25f450f00da6cc07dae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "231efcb5441a355842c0b876",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3b118813aa826f9c33b59891",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7e9f7933db0b6a3af308df3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4b48269fc1cf1bf9b3e2eb11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "35c8d205229ee1766f64f882",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8f846de89e76909606d5a257",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "604b85c1d249252109c9e8a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8507bdff0e707352",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e856e1d8a8d4a753d0999014",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0886611e8a1584a38b361f0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "85c7f71175a2fa872979065a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b1a785628d05b8ab787891d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "111269a0cdbdb02c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9b67e34d7d81c3ab2f7a0a1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ff52c4491e4b7d08d1735856",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c505ed351229fa79355534b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "59e01c2de4795a4e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "fdbeabe7c13522a476b26656",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8d9dacb8660412eab1b10263",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ed8df7a35c43c1d10ae5cb13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2782714c95634c96431b36d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c8180b53c9d6eabb69b4f7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ec321d30cb41ca795b285507",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f20e91125abfde9946557092",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "b8d1bcb15e030a681920e62a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1d9cb622baa2e1f66e3d2c48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4d2a24524e5a756684e01b9f",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "631c739980c1ecce537b2ff9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Fortune, fortunes, getSessionFortunes, secretFortune | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Fortune,fortunes,getSessionFortunes,secretFortune",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bbeeea099aaefdd2",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "life-goals",
      "normalized_name": "life-goals",
      "package_manager": "pnpm",
      "path": "lib/life-goals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "c2c7477b85ea71cebaf1c214",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8f243727aa012cb7e7a57b4c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6557c6328a84c701",
      "framework": "next-react",
      "imports": "",
      "lines": 7120,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "17cf78c7160ad9ebf5f58ffe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "29a9e09a5770eefd",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "PROJECT_PLAN",
      "normalized_name": "project-plan",
      "package_manager": "pnpm",
      "path": "PROJECT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "992d098e367d289d10eb7d31",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05c2dbd562b39bbf",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "54cb106ce92e481a4186d988",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2752f6dc10b676e9",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "23ea95d59eef940d07db8c28",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "289108f8a805f540",
      "framework": "next-react",
      "imports": "next",
      "lines": 86,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "1391a9390203473e018d9c79",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:fortunes | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | manual-workflow",
      "exports": "fortunes",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b19139123ad230af",
      "framework": "next-react",
      "imports": "",
      "lines": 355,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "26bd8417370e324bece79e26",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "167db75f2ab1d173",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "9758abc0db0c63609b344b89",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f46cbda15d4acc91",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 99,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "005d84f3dc1ad3db7dfc9e58",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1a34352ee3eccff6",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7771178e75a4d79ed1bb69de",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "99e6b2e271f2454e",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "936c026ec610fc114b44a6fe",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "eslint-config-next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:eslint-config-next | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "40f95cc11e34f9a5",
      "framework": "next-react",
      "imports": "eslint-config-next",
      "lines": 10,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "pnpm",
      "path": "eslint.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "6793a39539e45037cdc027e9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/fortune/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a144e0e99fa93bda",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "3d152f59cf4d164f73963b9a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ba9eff69ccfd0835",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 401,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "524c76d302554cc65920b746",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorPage | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ErrorPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0c99af74c524a43f",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "df700fd6ad81e90167cacf11",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a01c216ccb5ad89b",
      "framework": "next-react",
      "imports": "next",
      "lines": 66,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "42fe9809f4cc78dbf1a8b6df",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/confetti-burst, @/components/creator-modal, @/components/favorites-modal, @/components/fog-canvas, @/components/fortune-display, @/components/fortune-history, @/components/install-prompt, @/components/particle-field | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8db21fe67a780c80",
      "framework": "next-react",
      "imports": "@/components/confetti-burst,@/components/creator-modal,@/components/favorites-modal,@/components/fog-canvas,@/components/fortune-display,@/components/fortune-history,@/components/install-prompt,@/components/particle-field,@/components/secret-modal,@/components/share-fortune,@/hooks/use-accessibility,@/hooks/use-analytics,@/hooks/use-fortune-stats,@/hooks/use-keyboard-shortcuts,@/hooks/use-sound-effects,@/lib/fortune/generator,@/lib/life-goals,@/lib/platform/constants,react",
      "lines": 998,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "474648fb3b19fa5bdb7bef67",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "78888461bc805aa3",
      "framework": "next-react",
      "imports": "",
      "lines": 393,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9aad2c30f26897a5959f432a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3597c5271eddde5",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 72,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "cccb9b9659c5e6cede09f2c2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2e7a32f97ded904",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6ad83259dcaf3ab3783c8f03",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c58089f8c88d7d7",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d63bf72932ec9981f76ba756",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fc00c17a75baef14",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security,ai",
      "component_id": "16e9682d9bbec9f56a52d186",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/platform/public-page, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88900d625ea4243d",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/platform/metadata,next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation,ai",
      "component_id": "c145c013f6bb3484593bb9a9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/platform/public-page, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | automation-score:45 | ai-score:45",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6082ee43654a4c3b",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/platform/metadata,next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8254dd1c1cf21f9fb3ec568b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "33615598a953a8c5",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network-manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security,ai",
      "component_id": "699fb2a06e2779da293aef75",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/platform/public-page, @/lib/fortune/discovery, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc59b17b0bcd9dea",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/fortune/discovery,@/lib/platform/metadata,next",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5f60e29ed655a1e42964f647",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bc3dd1aeabf0a695",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "673af95736b07c2a458b6b95",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e452c4a2f7ab7497",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "87b63d7f55735d5fd17c57c5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "70b6cc9eb39c9375",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai",
      "component_id": "8af8719882f7c2544facbc53",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cbf3922a25781f50",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "7ffc86d7be5d0b40a8912ada",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2337ef93733d84d1",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "5d48e4d971b77ba310207dff",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevealPage, metadata | imports:@/components/platform/public-page, @/lib/fortune/generator, @/lib/platform/metadata, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RevealPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "318506844551046b",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/fortune/generator,@/lib/platform/metadata,next,next/link",
      "lines": 40,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/reveal/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security,ai",
      "component_id": "4c0f6f2aaa48c411b9dc88ea",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FavoritesPage, metadata | imports:@/components/platform/public-page, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "FavoritesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e6a3b93baac4cad",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/platform/metadata,next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/favorites/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "d027f300340b81d0e7e9324b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/platform/public-page, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d8480f8b8f0b242",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/platform/metadata,next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "f1884d0781d95cdbfa890cfb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LibraryPage, metadata | imports:@/components/platform/public-page, @/lib/fortune/generator, @/lib/platform/constants, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LibraryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92d8300083fc178d",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/fortune/generator,@/lib/platform/constants,@/lib/platform/metadata,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/library/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "27cbf3a176d66c112daa481b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/platform/public-page, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5110fec4e78a0b9e",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/platform/metadata,next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "ae0490299f3e18f48ccb1545",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "06558361a6d9f682",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c263f00454738a1e003f9559",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1746fdef52b3c543",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "5cfbdc04cd44129fcd19e997",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b729a22ff01cc477",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quotes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d00ddda82c19de3d3846e073",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21bf630d80008942",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,logic,frontend,observability",
      "component_id": "0281231555c2f2385e066ace",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/model, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | ai-score:120 | logic-score:85 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d461f1e3c8788eed",
      "framework": "next-react",
      "imports": "@/lib/fortune/model,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 16,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/share-copy/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,logic,frontend,observability",
      "component_id": "3da62ea52c5021c953c0f204",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/model, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | ai-score:120 | logic-score:85 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5c283d3ab04f82f5",
      "framework": "next-react",
      "imports": "@/lib/fortune/model,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/fortune/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "3d6639803296ecf1ed578c16",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/share, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c25f9bd96ed24dfd",
      "framework": "next-react",
      "imports": "@/lib/fortune/share,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/share-card/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b8a3d28f014621b13e58bd66",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/platform/security, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "234ff286f68f0205",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/security,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "0d2bd142435034c0c929ca22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response, @/lib/platform/trace, @/lib/platform/vercel, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "92cbd71c82b68d9f",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response,@/lib/platform/trace,@/lib/platform/vercel,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fortune/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ce71d6bde49f519ada13fbaf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5ae39f2816af59d5",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fortune/reveal/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "517f0941dd0b3b408ce1150d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "05368795c27d32aa",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fortune/deterministic/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5b9d985bd5ad091a18923c9e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ecfecada594f6632",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fortune/tones/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "2bc4e5c059f4f2f576d3f6c2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e2549c01454e8aad",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fortune/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ad91b8bd63e3c6d53a8557d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/generator, @/lib/platform/response, @/lib/platform/security, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f60c285ee328c7e",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/response,@/lib/platform/security,@/lib/platform/trace,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fortune/goal/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "7d0a34666afad8eba77cde81",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response, @/lib/platform/trace, @/lib/platform/vercel, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8cc62e2200a7b538",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response,@/lib/platform/trace,@/lib/platform/vercel,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "c115f38d30277b94f6a10b8e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/mcp, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5bddb86ab27b431",
      "framework": "next-react",
      "imports": "@/lib/fortune/mcp,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "2ea3d8da7924669f87b395d2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/openapi.json/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7b0d79713aa0142e",
      "framework": "next-react",
      "imports": "@/app/openapi.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability,discovery,process",
      "component_id": "b0e534f1a97697e19972f324",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8e36455b90da7afb",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "88abc5e8fcf2e8f77cef1d7e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/cors, @/lib/life-goals, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4944420e099a9cf1",
      "framework": "next-react",
      "imports": "@/lib/cors,@/lib/life-goals,next/server",
      "lines": 172,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fortunes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "23e34467aa50b919cca7cf9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/blob,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/cors, @/lib/fortune-uuid, @/lib/life-goals, @/lib/platform/auth, @vercel/blob, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b12957420670ceba",
      "framework": "next-react",
      "imports": "@/lib/cors,@/lib/fortune-uuid,@/lib/life-goals,@/lib/platform/auth,@vercel/blob,next/server",
      "lines": 281,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fortunes/create/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "36b50a65e0b945038e149c7c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6bbb7bb19c73b2f7",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "f225aece86f05094c789002a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/cors, @/lib/life-goals, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eceb9e37142ee7c0",
      "framework": "next-react",
      "imports": "@/lib/cors,@/lib/life-goals,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fortune/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "872750ce3e27fedf8d651bba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/cors, @/lib/life-goals, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f45156b58f8b6c0",
      "framework": "next-react",
      "imports": "@/lib/cors,@/lib/life-goals,next/server",
      "lines": 134,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fortune/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "276bd556ab543e05cff051b1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63a4601597994a8c",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,observability,discovery",
      "component_id": "b03e014eda44719e0721138a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb34a77299e05a50",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a7dcd302dc8d374805a02576",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85aead400a716b5c",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "f000736b8e324192a982a284",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "474a38fcfb86d5a7",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "1ddc2692cc9f56b73c6a6ebe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoriesPage, metadata | imports:@/components/platform/public-page, @/lib/fortune/generator, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CategoriesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90e953c77cb26a0f",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/fortune/generator,@/lib/platform/metadata,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "c64f429f59f6053303ac98fc",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fortune/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e02dc0148bdd0c9f",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "8671c92b149b83b23de120d7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SharePage, metadata | imports:@/components/platform/public-page, @/lib/platform/metadata, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SharePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb4e6aaffd6e7156",
      "framework": "next-react",
      "imports": "@/components/platform/public-page,@/lib/platform/metadata,next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/share/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "14dfb90c8874af0f50d6018d",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:N | imports:@/lib/life-goals, vitest | security-score:55 | automation-score:45",
      "exports": "N",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe77ed57a4e2ebfd",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 333,
      "logic_relevance": "none",
      "name": "life-goals-math.test",
      "normalized_name": "life-goals-math",
      "package_manager": "pnpm",
      "path": "tests/life-goals-math.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "dfb667fa3234345612374b9d",
      "component_kind": "integration-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:vitest | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "200849df43fe2c3a",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 180,
      "logic_relevance": "none",
      "name": "fortune-history-calendar.test",
      "normalized_name": "fortune-history-calendar",
      "package_manager": "pnpm",
      "path": "tests/fortune-history-calendar.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5c4ba51ef7b9e54718bf9d25",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/life-goals, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b331aad8af8c80b",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 80,
      "logic_relevance": "none",
      "name": "fortunes.test",
      "normalized_name": "fortunes",
      "package_manager": "pnpm",
      "path": "tests/fortunes.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "design-system",
      "categories": "automation",
      "component_id": "06bdc53b72b6b277180b0d83",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for design-system; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:SAMPLE, SAMPLE_2 | imports:@/lib/fortune-uuid, @/lib/life-goals, vitest | automation-score:45",
      "exports": "SAMPLE,SAMPLE_2",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "725505de436a14fc",
      "framework": "next-react",
      "imports": "@/lib/fortune-uuid,@/lib/life-goals,vitest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "fortune-uuid.test",
      "normalized_name": "fortune-uuid",
      "package_manager": "pnpm",
      "path": "tests/fortune-uuid.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "01acadb6d236f736572ccd6e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/cors, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ac25bba825dd090",
      "framework": "next-react",
      "imports": "@/lib/cors,vitest",
      "lines": 191,
      "logic_relevance": "none",
      "name": "cors.test",
      "normalized_name": "cors",
      "package_manager": "pnpm",
      "path": "tests/cors.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "645d73c58d456daf00289386",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3d389a88a081c74e",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "10371bd7cc41ce398e284d7a",
      "component_kind": "key-management",
      "confidence": 65,
      "dependency_roots": "@/hooks,@testing-library/react,vitest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/hooks/use-keyboard-shortcuts, @testing-library/react, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "583c7d8d992ea59d",
      "framework": "next-react",
      "imports": "@/hooks/use-keyboard-shortcuts,@testing-library/react,vitest",
      "lines": 160,
      "logic_relevance": "none",
      "name": "keyboard-shortcuts.test",
      "normalized_name": "keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "tests/keyboard-shortcuts.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "916a2f24f40701b8b41fe5cc",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:vitest | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ec0a467b17f9ff07",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 189,
      "logic_relevance": "none",
      "name": "pwa-install.test",
      "normalized_name": "pwa-install",
      "package_manager": "pnpm",
      "path": "tests/pwa-install.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8e175a266729819efa0363e9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/life-goals, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "312a22f91b0e3878",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 135,
      "logic_relevance": "none",
      "name": "fortune-data-integrity.test",
      "normalized_name": "fortune-data-integrity",
      "package_manager": "pnpm",
      "path": "tests/fortune-data-integrity.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4b4fc90c848be45c88ac50a7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CLEAR_THRESHOLD_DISPLAY | imports:@/lib/life-goals, vitest | observability-score:55 | security-score:55",
      "exports": "CLEAR_THRESHOLD_DISPLAY",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "daece8cc101e6d03",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 189,
      "logic_relevance": "none",
      "name": "page-logic.test",
      "normalized_name": "page-logic",
      "package_manager": "pnpm",
      "path": "tests/page-logic.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "1d0fb8527b648e18222c0f10",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/fortune/discovery, @/lib/platform/constants, vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d365a85cd6772bc6",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/platform/constants,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "discovery-phase1.test",
      "normalized_name": "discovery-phase1",
      "package_manager": "pnpm",
      "path": "tests/discovery-phase1.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "acf66e52acd032145936d145",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "fs,path,vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SW_PATH | imports:fs, path, vitest | backend-score:55 | security-score:55",
      "exports": "SW_PATH",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b840e3bae4930617",
      "framework": "next-react",
      "imports": "fs,path,vitest",
      "lines": 235,
      "logic_relevance": "none",
      "name": "service-worker.test",
      "normalized_name": "service-worker",
      "package_manager": "pnpm",
      "path": "tests/service-worker.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ai",
      "component_id": "59851eb9d457859083700c58",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for shipping; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/fortune/generator, vitest | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "8b5a076c92211118",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,vitest",
      "lines": 24,
      "logic_relevance": "none",
      "name": "fortune-generator-phase1.test",
      "normalized_name": "fortune-generator-phase1",
      "package_manager": "pnpm",
      "path": "tests/fortune-generator-phase1.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "bc5b0dd47cfc67c96e5c63a4",
      "component_kind": "ui-provider",
      "confidence": 90,
      "dependency_roots": "@/components,@testing-library/react,next-themes,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeConsumer | imports:@/components/theme-provider, @testing-library/react, next-themes, vitest | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "ThemeConsumer",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e476996c24174552",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@testing-library/react,next-themes,vitest",
      "lines": 49,
      "logic_relevance": "none",
      "name": "theme-provider.test",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "tests/theme-provider.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,ai",
      "component_id": "8dad0d818aac31e48474ca83",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/fog-canvas, vitest | frontend-score:60 | ui-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df21d3a9e8cd66bd",
      "framework": "next-react",
      "imports": "../components/fog-canvas,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "fog-swipe-time.test",
      "normalized_name": "fog-swipe-time",
      "package_manager": "pnpm",
      "path": "tests/fog-swipe-time.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "989bb881a5e3ca306d828793",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/life-goals, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a8a69d8c8466293",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 165,
      "logic_relevance": "none",
      "name": "session-management.test",
      "normalized_name": "session-management",
      "package_manager": "pnpm",
      "path": "tests/session-management.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "e7654057d143cd2a538934fa",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04afa0a08b8d4e1e",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 38,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,ai",
      "component_id": "94c7d0f00d036ab176a5ad2d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/app/api/v1/fortune/goal/route, @/app/api/v1/fortune/route, @/app/api/v1/model/fortune/route, next/server, vitest | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e71076411fc5da18",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/app/api/v1/fortune/goal/route,@/app/api/v1/fortune/route,@/app/api/v1/model/fortune/route,next/server,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "api-v1-phase1.test",
      "normalized_name": "api-v1-phase1",
      "package_manager": "pnpm",
      "path": "tests/api-v1-phase1.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "d76d37fc508575fdeda17b4c",
      "component_kind": "sitemap",
      "confidence": 65,
      "dependency_roots": "@/app,vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/app/manifest, @/app/sitemap, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2bafc07e740f859a",
      "framework": "next-react",
      "imports": "@/app/manifest,@/app/sitemap,vitest",
      "lines": 73,
      "logic_relevance": "none",
      "name": "manifest-and-sitemap.test",
      "normalized_name": "manifest-and-sitemap",
      "package_manager": "pnpm",
      "path": "tests/manifest-and-sitemap.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6daf29892e15885dd0e52af9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/life-goals, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7d760d2218607a1",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 192,
      "logic_relevance": "none",
      "name": "share-fortune.test",
      "normalized_name": "share-fortune",
      "package_manager": "pnpm",
      "path": "tests/share-fortune.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "836bbbc4e1564f57013b3d1c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@testing-library/react, react, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b2e3bd75d1401c13",
      "framework": "next-react",
      "imports": "@testing-library/react,react,vitest",
      "lines": 78,
      "logic_relevance": "none",
      "name": "locale.test",
      "normalized_name": "locale",
      "package_manager": "pnpm",
      "path": "tests/locale.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "45e43cd01a4688e077d5c244",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/fortunes/create/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e18ea1afb25ec49",
      "framework": "next-react",
      "imports": "@/app/api/fortunes/create/route,next/server,vitest",
      "lines": 106,
      "logic_relevance": "none",
      "name": "api-fortunes-create.test",
      "normalized_name": "api-fortunes-create",
      "package_manager": "pnpm",
      "path": "tests/api-fortunes-create.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2202ccb46aab437be6e57ce7",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/share-fortune, @/lib/life-goals, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95fea587e235a88b",
      "framework": "next-react",
      "imports": "@/components/share-fortune,@/lib/life-goals,@testing-library/react,vitest",
      "lines": 77,
      "logic_relevance": "none",
      "name": "share-fortune-component.test",
      "normalized_name": "share-fortune-component",
      "package_manager": "pnpm",
      "path": "tests/share-fortune-component.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "fcc48e9845020991c7835e18",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/life-goals, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96ef00be6563203b",
      "framework": "next-react",
      "imports": "@/lib/life-goals,vitest",
      "lines": 152,
      "logic_relevance": "none",
      "name": "fortune-display.test",
      "normalized_name": "fortune-display",
      "package_manager": "pnpm",
      "path": "tests/fortune-display.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "dcfe44d329050ff6f12190b3",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COLORS | imports:vitest | observability-score:55",
      "exports": "COLORS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "007c35b403f4fa76",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 198,
      "logic_relevance": "none",
      "name": "confetti-burst.test",
      "normalized_name": "confetti-burst",
      "package_manager": "pnpm",
      "path": "tests/confetti-burst.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "64002181bfb0ecfc8b1b4f8a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1851ac20c09b1026",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "haptic-and-keyboard.test",
      "normalized_name": "haptic-and-keyboard",
      "package_manager": "pnpm",
      "path": "tests/haptic-and-keyboard.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "9fc9af4c577c25b52389a606",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/page, @/lib/life-goals, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0ddd0b5f91eac51",
      "framework": "next-react",
      "imports": "@/app/page,@/lib/life-goals,@testing-library/react,vitest",
      "lines": 726,
      "logic_relevance": "none",
      "name": "page-component.test",
      "normalized_name": "page-component",
      "package_manager": "pnpm",
      "path": "tests/page-component.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,ai",
      "component_id": "6e09b4bcabeb206009d73887",
      "component_kind": "mcp-server",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f694c9742003ae9b",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "mcp-route.test",
      "normalized_name": "mcp-route",
      "package_manager": "pnpm",
      "path": "tests/mcp-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "9623fe031fb9c78b9116e837",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@/hooks,@testing-library/react,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/components/install-prompt, @/hooks/use-pwa-install, @testing-library/react, vitest | ai-score:120 | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6dfabd3437a1e056",
      "framework": "next-react",
      "imports": "@/components/install-prompt,@/hooks/use-pwa-install,@testing-library/react,vitest",
      "lines": 166,
      "logic_relevance": "none",
      "name": "install-prompt.test",
      "normalized_name": "install-prompt",
      "package_manager": "pnpm",
      "path": "tests/install-prompt.test.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d8343c878cbb5a5b99ad5e88",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/fog-canvas, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "163a676636a8c091",
      "framework": "next-react",
      "imports": "../../components/fog-canvas,@testing-library/react,vitest",
      "lines": 194,
      "logic_relevance": "none",
      "name": "fog-canvas.test",
      "normalized_name": "fog-canvas",
      "package_manager": "pnpm",
      "path": "tests/components/fog-canvas.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "6f41e594060dce1fe5b6afda",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../hooks/use-pwa-install, @testing-library/react, vitest | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "64cb0c084deb9ab5",
      "framework": "next-react",
      "imports": "../../hooks/use-pwa-install,@testing-library/react,vitest",
      "lines": 165,
      "logic_relevance": "none",
      "name": "use-pwa-install.test",
      "normalized_name": "use-pwa-install",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-pwa-install.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "d21260ca92e4e8f4ac0f8ec1",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "205a8e8c13b6b0de0b26a6f9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FavoritesModal | imports:@/lib/life-goals, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FavoritesModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc2b8eb15cc0f66c",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "favorites-modal",
      "normalized_name": "favorites-modal",
      "package_manager": "pnpm",
      "path": "components/favorites-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "4fd08d1df33a554830978db8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FortuneCard | imports:@/lib/life-goals, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "FortuneCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abccbb5d7e3e83ed",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "fortune-card",
      "normalized_name": "fortune-card",
      "package_manager": "pnpm",
      "path": "components/fortune-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "fed547b6371f7ac1aebe73df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FogCanvas, REVERT_DELAY_MS | imports:react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "FogCanvas,REVERT_DELAY_MS",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e821bb67d903f3c2",
      "framework": "next-react",
      "imports": "react",
      "lines": 589,
      "logic_relevance": "none",
      "name": "fog-canvas",
      "normalized_name": "fog-canvas",
      "package_manager": "pnpm",
      "path": "components/fog-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "3ab02a165b507e6631855050",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ParticleField | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ParticleField",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e35fa3787f41712e",
      "framework": "next-react",
      "imports": "react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "particle-field",
      "normalized_name": "particle-field",
      "package_manager": "pnpm",
      "path": "components/particle-field.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "745d6fd6ee84626913d90871",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConfettiBurst | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ConfettiBurst",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0394247d1f6f5cd1",
      "framework": "next-react",
      "imports": "react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "confetti-burst",
      "normalized_name": "confetti-burst",
      "package_manager": "pnpm",
      "path": "components/confetti-burst.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f119ba15d9c782ff594bff02",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecretModal | imports:@/lib/life-goals, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SecretModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0249f021dedb841",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "secret-modal",
      "normalized_name": "secret-modal",
      "package_manager": "pnpm",
      "path": "components/secret-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9d14b88ed1192f42e070b784",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreatorModal | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CreatorModal",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0b1d9ffe41c97645",
      "framework": "next-react",
      "imports": "react",
      "lines": 322,
      "logic_relevance": "none",
      "name": "creator-modal",
      "normalized_name": "creator-modal",
      "package_manager": "pnpm",
      "path": "components/creator-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2ecb9fc2092f362158848227",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareFortune | imports:@/components/fortune-card, @/lib/life-goals, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ShareFortune",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ce5bbecc1778d8f",
      "framework": "next-react",
      "imports": "@/components/fortune-card,@/lib/life-goals,react",
      "lines": 275,
      "logic_relevance": "none",
      "name": "share-fortune",
      "normalized_name": "share-fortune",
      "package_manager": "pnpm",
      "path": "components/share-fortune.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e95b4ecfcbd222cd3bc544a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FortuneHistory | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FortuneHistory",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a16871a4c549331d",
      "framework": "next-react",
      "imports": "react",
      "lines": 222,
      "logic_relevance": "none",
      "name": "fortune-history",
      "normalized_name": "fortune-history",
      "package_manager": "pnpm",
      "path": "components/fortune-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "58b35ca4fcf5322691d6bb9d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FortuneDisplay | imports:@/lib/life-goals | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "FortuneDisplay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "660ca3593150067f",
      "framework": "next-react",
      "imports": "@/lib/life-goals",
      "lines": 83,
      "logic_relevance": "none",
      "name": "fortune-display",
      "normalized_name": "fortune-display",
      "package_manager": "pnpm",
      "path": "components/fortune-display.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "b7a15cd9960ddb51d52b6c5a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:InstallPrompt | imports:@/hooks/use-pwa-install, react | ai-score:120 | frontend-score:115 | ui-score:70",
      "exports": "InstallPrompt",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "59957a243cab4451",
      "framework": "next-react",
      "imports": "@/hooks/use-pwa-install,react",
      "lines": 144,
      "logic_relevance": "none",
      "name": "install-prompt",
      "normalized_name": "install-prompt",
      "package_manager": "pnpm",
      "path": "components/install-prompt.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5ba1714c6b926954670775c1",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8294035b0d5c06190e8ccf6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "48d74658d49c2b015a7be61e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "38aa4e70393afff5157576a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9f5ad8a5e1a2485ba051dc76",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0e7429caa71f0233e97e87e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2d5ded1f52853eb9d91682d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "78b0f277d80aba70657db999",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "dae413e89f7bd5ba7dd6f2b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "fd7334ee996474f6cd27eea5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "61974a21fab7f2fd80caf8a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6aba59852a72f910",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2664476ed575444faf0b87c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5223c09d8bae003b",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 366,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bc186ed7168aa27ceac3ca95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b2cfd34ece86f25f5329fd05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f7297948ea270cc9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4f9237e21944db44a1d73ce4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "41a268ce0c34b9858be87e27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a7307cdf6f3a0c29",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 46,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bd95ec8b919ec68e4a74909b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "47be788504da08d16792e7b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "50f250a7bb69c9f72dec8992",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e794d2f27ad557c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a55308d555f3843197c485e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6e183677a5d9b0a1b47af83d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2896c3a90181a79c90771f20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "10166f52d26f8c4eff80d733",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "96f2359ee8d950db652f94d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a0d2d90cec0b85abcdcdb312",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc4b630210277529",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "43ff9203da525a593d45ae79",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "df42d82ed1c9c9ec",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 67,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bb3e5bc41747071043499272",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f7ef94b57859338bc72fa296",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7e438707c2b032382b679b2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4f1dbf4066b167d8",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 154,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c3e141dafd1555bc9650a1a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "61c5c35eee73cd557514e426",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4dde58730616dd8501656713",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d95e2cf62b7dab56d8b4d9ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d5f63c489d9886954347e0c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8507bdff0e707352",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3d364f1df412a40c737736f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4c1bbb82bcbfa5d3",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 769,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ded6ffb3d67d3ad6213fb60b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "85dafba913978e52ec437ed3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f4b0a22c8265180fa3613d2e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "111269a0cdbdb02c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1f945f1ef78ab3ee551cd3b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0576d02d20904aa699fcad21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "14adf9d85c1df2284eea6cbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "59e01c2de4795a4e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "30b3f3b764f28dcc3e0892ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3427c7eac46a8902cf90754c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4b2cd9554698708ae4f3740a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "84c64b62b266773e802f70bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "acb666d161deeae49e0bdab3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "7263b1f37632261552dbffd7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "01b6b5baace2e0e5908a8d5e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "7ca077e7ab4bd8c02a916753",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6686b7efdd3d140c",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 179,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3e14dd319b252a9cbd8fab81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "95d30aa13bcf339c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 263,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "61b3767d7b632e0f0bb5b5fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PublicPage | imports:@/lib/platform/constants, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PublicPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "309d7416edc1b5c3",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,next/link,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "public-page",
      "normalized_name": "public-page",
      "package_manager": "pnpm",
      "path": "components/platform/public-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "16a800205408639da8f260fc",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "dbfb9919a54e84f2",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "environment",
      "normalized_name": "environment",
      "package_manager": "pnpm",
      "path": ".codex/environments/environment.toml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,process,observability,security",
      "component_id": "2371585cc1b7a384e405c925",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:65 | observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "de27bd5577a7a61c",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "ai",
      "normalized_name": "ai",
      "package_manager": "pnpm",
      "path": "public/ai.txt",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "19268f1e80736b9cb2186b27",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CACHE_NAME, STATIC_ASSETS | observability-score:55 | security-score:55",
      "exports": "CACHE_NAME,STATIC_ASSETS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "20f698f2a9653b20",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "sw",
      "normalized_name": "sw",
      "package_manager": "pnpm",
      "path": "public/sw.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "36ad3bd11bf59adf6767ae52",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e780d4a56266f03b",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "056199497c93b8575c3bacc5",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31cdf35a23a3c50b",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "3ad6612e98eea2be991b84ad",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "301a31f7705dea23",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4a4466e13e256daff2190f35",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "security",
      "component_id": "63004c7e4da0808415f03aa8",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useFortuneStats | imports:@/lib/life-goals, react | security-score:55",
      "exports": "useFortuneStats",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2574a96920b96ae6",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "use-fortune-stats",
      "normalized_name": "use-fortune-stats",
      "package_manager": "pnpm",
      "path": "hooks/use-fortune-stats.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "641a31cb7c734576977406c5",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleProvider, useLocale | imports:@/lib/life-goals, react | frontend-score:90 | ui-score:70",
      "exports": "LocaleProvider,useLocale",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fbb7708acd777524",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "use-locale",
      "normalized_name": "use-locale",
      "package_manager": "pnpm",
      "path": "hooks/use-locale.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d6ae67c7daeff122a2b25fc8",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useAnalytics | imports:@/lib/life-goals, react | security-score:55",
      "exports": "useAnalytics",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51360891161997c2",
      "framework": "next-react",
      "imports": "@/lib/life-goals,react",
      "lines": 156,
      "logic_relevance": "none",
      "name": "use-analytics",
      "normalized_name": "use-analytics",
      "package_manager": "pnpm",
      "path": "hooks/use-analytics.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "09d94d49a634f1ad2a912c75",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:usePWAInstall | imports:react | ai-score:45",
      "exports": "usePWAInstall",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b6f50a9f7e2b40c0",
      "framework": "next-react",
      "imports": "react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "use-pwa-install",
      "normalized_name": "use-pwa-install",
      "package_manager": "pnpm",
      "path": "hooks/use-pwa-install.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "3c5aed734aef5b2ee0b2f1d4",
      "component_kind": "key-management",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useKeyboardShortcuts | imports:react | security-score:55",
      "exports": "useKeyboardShortcuts",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "220866f1c830c262",
      "framework": "next-react",
      "imports": "react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "use-keyboard-shortcuts",
      "normalized_name": "use-keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "hooks/use-keyboard-shortcuts.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation",
      "component_id": "b63c35a2d57e9679609c3454",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:useSoundEffects | imports:react | automation-score:45",
      "exports": "useSoundEffects",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2a233270e5794310",
      "framework": "next-react",
      "imports": "react",
      "lines": 486,
      "logic_relevance": "none",
      "name": "use-sound-effects",
      "normalized_name": "use-sound-effects",
      "package_manager": "pnpm",
      "path": "hooks/use-sound-effects.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "7d30d0042b1156fc215efaaf",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:secretFortune | imports:fs, path | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "secretFortune",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "94188753e04c98b2",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 153,
      "logic_relevance": "none",
      "name": "add-carlin-quote",
      "normalized_name": "add-carlin-quote",
      "package_manager": "pnpm",
      "path": "scripts/add-carlin-quote.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "6cf80498e95b11eb062a958b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FORTUNE_CATEGORIES, FORTUNE_CATEGORY_LABELS, Fortune, FortuneCategory, FortuneFull, Locale, addNextFortune, fortuneSlug | imports:@/lib/fortune-uuid | logic-score:85 | observability-score:55 | cron-or-schedule",
      "exports": "FORTUNE_CATEGORIES,FORTUNE_CATEGORY_LABELS,Fortune,FortuneCategory,FortuneFull,Locale,addNextFortune,fortuneSlug,fortunes,getFortuneById,getFortuneText,getFortunesByCategory,getFortunesWithIds,getSessionFortuneTexts,getSessionFortunes,getSessionRevealed,hasReachedLimit,incrementRevealed,resetSession,secretFortune",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa70c82a94d26b89",
      "framework": "next-react",
      "imports": "@/lib/fortune-uuid",
      "lines": 1166,
      "logic_relevance": "primary",
      "name": "life-goals",
      "normalized_name": "life-goals",
      "package_manager": "pnpm",
      "path": "lib/life-goals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "c2907e1a826343557f46b439",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "af38d35c36ef0a9be95d43ab",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fortuneIds, fortuneSlug, fortuneUuid | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "fortuneIds,fortuneSlug,fortuneUuid",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd6994ed8e02c69e",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "fortune-uuid",
      "normalized_name": "fortune-uuid",
      "package_manager": "pnpm",
      "path": "lib/fortune-uuid.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9b222ff65c7b32b9c01d79e7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isTrustedOrigin, mcpCorsHeaders, preflightResponse, publicCorsHeaders, trustedCorsHeaders | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "isTrustedOrigin,mcpCorsHeaders,preflightResponse,publicCorsHeaders,trustedCorsHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ab0294685a8702f1",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "cors",
      "normalized_name": "cors",
      "package_manager": "pnpm",
      "path": "lib/cors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "f98a47029b1898b5f90d467d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, apiError, apiOk, textResponse | imports:@/lib/platform/trace, next/server | logic-score:85 | observability-score:55",
      "exports": "ApiError,apiError,apiOk,textResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fda09d64f205d73a",
      "framework": "next-react",
      "imports": "@/lib/platform/trace,next/server",
      "lines": 68,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "fb873ac721bef86ea7a734f4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DISCOVERY_ROUTES, FORTUNE_TONES, FORTUNE_TONE_LABELS, FortuneTone, PUBLIC_API_ENDPOINTS, PUBLIC_PAGES, REQUIRED_TRUST_POLICY_LINE, SITE | imports:@/lib/life-goals | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DISCOVERY_ROUTES,FORTUNE_TONES,FORTUNE_TONE_LABELS,FortuneTone,PUBLIC_API_ENDPOINTS,PUBLIC_PAGES,REQUIRED_TRUST_POLICY_LINE,SITE,absoluteUrl,getLibraryCounts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2dd1d97d792bee2a",
      "framework": "next-react",
      "imports": "@/lib/life-goals",
      "lines": 224,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/platform/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "759b21ceae2a5daa9f09c955",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:hashPrivateInput, redactSecrets, sanitizeText | logic-score:85 | security-score:55",
      "exports": "hashPrivateInput,redactSecrets,sanitizeText",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "de2771724e98ee81",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "lib/platform/security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,discovery",
      "component_id": "6f484b94c48cad5768b844ee",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:pageMetadata | imports:@/lib/platform/constants, next | logic-score:85 | discovery-score:55",
      "exports": "pageMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "77c7e6e9b7f64599",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,next",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/platform/metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,security",
      "component_id": "25d2ba050064c720c1269b36",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureVercelRequestMetadata, responseMetadata | automation-score:95 | logic-score:60 | integration-score:55 | security-score:55",
      "exports": "captureVercelRequestMetadata,responseMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a800070f7e982d1",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/platform/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3d266b2b0a2392ab85f0c336",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createTraceContext, traceHeaders, traceSummary | imports:@/lib/platform/constants | logic-score:85 | observability-score:55 | uses-env",
      "exports": "TraceContext,createTraceContext,traceHeaders,traceSummary",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "47dcf04785e1fd32",
      "framework": "next-react",
      "imports": "@/lib/platform/constants",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "8d366e989d11960e9caf1f48",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthBoundary, AuthCheckResult, checkPlatformAuth, getAuthPolicy, isApiKeyEnforcementEnabled | imports:next/server | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AuthBoundary,AuthCheckResult,checkPlatformAuth,getAuthPolicy,isApiKeyEnforcementEnabled",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09e3d7e672d6aa26",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability,security",
      "component_id": "929d134ed25c00b268582542",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createShareCardMetadata | imports:@/lib/platform/security | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "createShareCardMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6c6a7372347ac84b",
      "framework": "next-react",
      "imports": "@/lib/platform/security",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "share",
      "normalized_name": "share",
      "package_manager": "pnpm",
      "path": "lib/fortune/share.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "980bf9c7e66cc22da4a69677",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mcpMetadata, promptDefinitions, resourceDefinitions, toolDefinitions | imports:@/lib/fortune/discovery, @/lib/fortune/generator, @/lib/fortune/share, @/lib/life-goals, @/lib/platform/constants, @/lib/platform/trace | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "mcpMetadata,promptDefinitions,resourceDefinitions,toolDefinitions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "41f94674b59d31f8",
      "framework": "next-react",
      "imports": "@/lib/fortune/discovery,@/lib/fortune/generator,@/lib/fortune/share,@/lib/life-goals,@/lib/platform/constants,@/lib/platform/trace",
      "lines": 268,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/fortune/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "f08f973b2b32fa043eff9cac",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FortuneGenerationInput, GeneratedFortune, generateDeterministicFortune, getCategories, getPublicQuotes, getTones, revealLibraryFortune | imports:@/lib/life-goals, @/lib/platform/constants, @/lib/platform/security | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FortuneGenerationInput,GeneratedFortune,generateDeterministicFortune,getCategories,getPublicQuotes,getTones,revealLibraryFortune",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9d5aab75afad0536",
      "framework": "next-react",
      "imports": "@/lib/life-goals,@/lib/platform/constants,@/lib/platform/security",
      "lines": 204,
      "logic_relevance": "primary",
      "name": "generator",
      "normalized_name": "generator",
      "package_manager": "pnpm",
      "path": "lib/fortune/generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,observability,security",
      "component_id": "c02575497e2ca6cbfee88d53",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:getModelStatus | imports:@/lib/fortune/generator, @/lib/platform/auth, @/lib/platform/security, next/server | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "getModelStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6e9964db231985ba",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/platform/auth,@/lib/platform/security,next/server",
      "lines": 53,
      "logic_relevance": "secondary",
      "name": "model",
      "normalized_name": "model",
      "package_manager": "pnpm",
      "path": "lib/fortune/model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "82fe939fd0a85ec7b0c9df73",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FAQ_ITEMS, buildAgentsJson, buildAiPluginJson, buildApiDocsHtml, buildHealth, buildLlmsFullText, buildLlmsIndex, buildLlmsText | imports:@/lib/fortune/generator, @/lib/fortune/model, @/lib/life-goals, @/lib/platform/auth, @/lib/platform/constants | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "FAQ_ITEMS,buildAgentsJson,buildAiPluginJson,buildApiDocsHtml,buildHealth,buildLlmsFullText,buildLlmsIndex,buildLlmsText,buildMcpDiscovery,buildNetworkManifest,buildOpenApi,buildRobotsTxt,buildRssXml,buildSecurityTxt,buildSitemapIndexXml,buildSitemapXml,buildTrustPolicy,mcpPromptNames,mcpResourceUris,mcpToolNames,publicDocsData,publicSitemapEntries",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06e4beac087922c4",
      "framework": "next-react",
      "imports": "@/lib/fortune/generator,@/lib/fortune/model,@/lib/life-goals,@/lib/platform/auth,@/lib/platform/constants",
      "lines": 557,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/fortune/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__fortune-cookie-webby-yj",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "25e47791ec431c9e0f6f1e74",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "body-parser,express",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PORT | imports:body-parser, express | backend-score:90 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "PORT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb87e39f1e19a8d3",
      "framework": "unknown",
      "imports": "body-parser,express",
      "lines": 30,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1a37f97aff6386104b8bfcd3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5e3415a93f8b24c6",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "README_FOXIO",
      "normalized_name": "readme-foxio",
      "package_manager": "unknown",
      "path": "README_FOXIO.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "b6b0819e2b5390f523d8ccf2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "nextra",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:nextra | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c4e31d2aa466b8fe",
      "framework": "unknown",
      "imports": "nextra",
      "lines": 72,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "unknown",
      "path": "next.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "12e9582892ea743a6f3dabfd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a18ecbc0e0eb37d4",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1e81ada2ccb2e0bcf6f00bb0",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer, Logo | imports:next-themes, next/image, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Footer,Logo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "622197bbb615881d",
      "framework": "next-react",
      "imports": "next-themes,next/image,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "theme.config",
      "normalized_name": "theme-config",
      "package_manager": "unknown",
      "path": "theme.config.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "95ced44c119df1fba115e294",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "3a60fe6494987c41",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README_LABS",
      "normalized_name": "readme-labs",
      "package_manager": "unknown",
      "path": "README_LABS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "fa4eeaff741bd3551dfc58b6",
      "component_kind": "parser",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PcapNGParser | logic-score:70",
      "exports": "PcapNGParser",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "626b5cf1198cc9e5",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "pcap-ng-parser.d",
      "normalized_name": "pcap-ng-parser-d",
      "package_manager": "unknown",
      "path": "types/pcap-ng-parser.d.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "69af022d3bdd07e4a5c3dc17",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ee82e45ffd1c8ab4",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "global.d",
      "normalized_name": "global-d",
      "package_manager": "unknown",
      "path": "types/global.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "44874c6dee3f44903e3e7fb2",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | uses-env",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aef8ab909c1fa89c",
      "framework": "react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "theme-config",
      "normalized_name": "theme-config",
      "package_manager": "unknown",
      "path": "config/theme-config.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "cb77584feeb31315eb78fa8f",
      "component_kind": "auth",
      "confidence": 80,
      "dependency_roots": "next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:authOptions | imports:next-auth, next-auth/providers/google | security-score:55 | uses-env",
      "exports": "authOptions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0611814ed01ff369",
      "framework": "unknown",
      "imports": "next-auth,next-auth/providers/google",
      "lines": 17,
      "logic_relevance": "none",
      "name": "auth-config",
      "normalized_name": "auth-config",
      "package_manager": "unknown",
      "path": "config/auth-config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "31620fc2e58c9d9e41000ac1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66630d59905ecd7e",
      "framework": "unknown",
      "imports": "",
      "lines": 251,
      "logic_relevance": "none",
      "name": "JA4X-old",
      "normalized_name": "ja4-x-old",
      "package_manager": "unknown",
      "path": "Drafts/JA4X-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a2af794b80bb177c46a67511",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "abaf40b26c7feb96",
      "framework": "unknown",
      "imports": "",
      "lines": 2010,
      "logic_relevance": "none",
      "name": "JA4-complete-and-JA4S-DRAFT",
      "normalized_name": "ja4-complete-and-ja4-s-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4-complete-and-JA4S-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b1783b1b0f8ed71f108964b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4e977d7bd6506de3",
      "framework": "unknown",
      "imports": "",
      "lines": 440,
      "logic_relevance": "none",
      "name": "JA4H-DRAFT",
      "normalized_name": "ja4-h-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4H-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "518698d346f0ebd7b2f649e6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "64b11cb545bf49e8",
      "framework": "unknown",
      "imports": "",
      "lines": 1594,
      "logic_relevance": "none",
      "name": "ja4ssh-x",
      "normalized_name": "ja4ssh-x",
      "package_manager": "unknown",
      "path": "Drafts/ja4ssh-x.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,observability,security",
      "component_id": "252135de1a8c6c33d3e9caf6",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:TestJA4Fingerprint | process-score:100 | observability-score:55 | security-score:55",
      "exports": "TestJA4Fingerprint",
      "extension": ".mdx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "523ec85f08a47458",
      "framework": "unknown",
      "imports": "",
      "lines": 975,
      "logic_relevance": "none",
      "name": "JA4+-Advanced-Draft",
      "normalized_name": "ja4-advanced-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4+-Advanced-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "58c546ac112f621623c4b0d8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "c3871724aef46a39",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "LABS-Draft",
      "normalized_name": "labs-draft",
      "package_manager": "unknown",
      "path": "Drafts/LABS-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b11184fc29a853deaba6dde0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a8523573bd66ccb0",
      "framework": "unknown",
      "imports": "",
      "lines": 482,
      "logic_relevance": "none",
      "name": "JA4S-DRAFT",
      "normalized_name": "ja4-s-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4S-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "362a816a2f096949bf401012",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8098f7a3df425624",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "JA4TCPServer-FPRINTING-DRAFT",
      "normalized_name": "ja4-tcpserver-fprinting-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4TCPServer-FPRINTING-DRAFT.MDX",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "d67eb5965c2e1bd08b734e4c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "aa0944c55929cb65",
      "framework": "unknown",
      "imports": "",
      "lines": 600,
      "logic_relevance": "none",
      "name": "Calculations-Final-Draft",
      "normalized_name": "calculations-final-draft",
      "package_manager": "unknown",
      "path": "Drafts/Calculations-Final-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "548dceb12570f0bd6f300f82",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f28d1a8d3d7502cd",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "JA4-Overview",
      "normalized_name": "ja4-overview",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Overview.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "55ce2905d51eb4fb3b853232",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6f191b10e413323f",
      "framework": "unknown",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4-Calculations-DRAFT",
      "normalized_name": "ja4-calculations-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Calculations-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "dec16641534a9774a0a574e7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f92bdaab057eb2ca",
      "framework": "unknown",
      "imports": "",
      "lines": 1104,
      "logic_relevance": "none",
      "name": "JA4+ Suite Deep Dive",
      "normalized_name": "ja4-suite-deep-dive",
      "package_manager": "unknown",
      "path": "Drafts/JA4+ Suite Deep Dive.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "7349f38683d3e668464587d8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "257ac69dacfe200f",
      "framework": "unknown",
      "imports": "",
      "lines": 572,
      "logic_relevance": "none",
      "name": "JA4-Calc2",
      "normalized_name": "ja4-calc2",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Calc2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "c1d2d6d826d2b0c966c79b9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a105567354f91730",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "JA4TCPScan-DRAFT",
      "normalized_name": "ja4-tcpscan-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4TCPScan-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a0ff55f0f455e3fed9697019",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "nextra-theme-docs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:../../components/ThreatSimulator, nextra-theme-docs | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "94f3329fb666ee6a",
      "framework": "unknown",
      "imports": "../../components/ThreatSimulator,nextra-theme-docs",
      "lines": 107,
      "logic_relevance": "none",
      "name": "DetectionLab2",
      "normalized_name": "detection-lab2",
      "package_manager": "unknown",
      "path": "Drafts/DetectionLab2.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,ai",
      "component_id": "68147b7e941908df29419b72",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Certificate_Reuse, redef enum Notice::Type += {\n        Suspicious_Certificate | process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Certificate_Reuse,redef enum Notice::Type += {\n        Suspicious_Certificate",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "84a074a0beb8bf23",
      "framework": "unknown",
      "imports": "",
      "lines": 1275,
      "logic_relevance": "none",
      "name": "JA4X",
      "normalized_name": "ja4-x",
      "package_manager": "unknown",
      "path": "Drafts/JA4X.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "00729a875d4d72f805ef28e1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2ec0bd19d92914e",
      "framework": "unknown",
      "imports": "",
      "lines": 387,
      "logic_relevance": "none",
      "name": "JA4L-DRAFT",
      "normalized_name": "ja4-l-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4L-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,integration,observability,security",
      "component_id": "c6c50160d8c7f65faea1c12f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:next/server | process-score:100 | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d6823912867535ae",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "ja4-vercel",
      "normalized_name": "ja4-vercel",
      "package_manager": "unknown",
      "path": "Drafts/Vercel/ja4-vercel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "d4a695789dfff65bad806e41",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cfbc5d5868531560",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "Beginner_Lab_1",
      "normalized_name": "beginner-lab-1",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Beginner_Lab_1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "7ed2e40de355dc191c4f2968",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "nextra-theme-docs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:../../../components/Terminal, nextra-theme-docs | process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dc257933a3e200d8",
      "framework": "unknown",
      "imports": "../../../components/Terminal,nextra-theme-docs",
      "lines": 85,
      "logic_relevance": "none",
      "name": "Beginner_Lab_0",
      "normalized_name": "beginner-lab-0",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Beginner_Lab_0.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "85bcd163ff52dee102435a0f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ca4cb4c77e9139d8",
      "framework": "unknown",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "Lab0",
      "normalized_name": "lab0",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Lab0.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "1aae30db50f4f8acc40b9158",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0a790e0e7e118772",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "Lab1",
      "normalized_name": "lab1",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Lab1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "bb9a73d68b7f9d8f4e0e9aa2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6efa5331ea2ba342",
      "framework": "unknown",
      "imports": "",
      "lines": 210,
      "logic_relevance": "none",
      "name": "JA4S",
      "normalized_name": "ja4-s",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4S.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "3eaec9828b1584306c12174f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08f43a39484012f9",
      "framework": "unknown",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "JA4T",
      "normalized_name": "ja4-t",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4T.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "fd1c1947eece1e390ca2c144",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5d74d7e53105fa14",
      "framework": "unknown",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4TS",
      "normalized_name": "ja4-ts",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4TS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "418b8f1b55f45c19f73c6eee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3dcb3842edb8f241",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "JA4LS",
      "normalized_name": "ja4-ls",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4LS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "6f91ce666aeff5d539e7bd73",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dbb17f22cb0eb432",
      "framework": "unknown",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "a42d83e1ca8dc250de5f7dec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "e0cae198960c7ec7",
      "framework": "unknown",
      "imports": "",
      "lines": 1453,
      "logic_relevance": "none",
      "name": "JA4-Techniques",
      "normalized_name": "ja4-techniques",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4-Techniques.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "17d51abf63ed276b116d5988",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "76d17619b2b4187e",
      "framework": "unknown",
      "imports": "",
      "lines": 423,
      "logic_relevance": "none",
      "name": "JA4TSCAN",
      "normalized_name": "ja4-tscan",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4TSCAN.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "2be72debee7bc2dc005bfa78",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "48f956f3f59c7d35",
      "framework": "unknown",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "JA4SSH",
      "normalized_name": "ja4-ssh",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4SSH.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "2ad60c83ef3a2181a3207300",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "01e4f30e77696a49",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "JA4L",
      "normalized_name": "ja4-l",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4L.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4c958eab36a9fa4cb94f5358",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "238f1ece6e244d44",
      "framework": "unknown",
      "imports": "",
      "lines": 1049,
      "logic_relevance": "none",
      "name": "JA4X",
      "normalized_name": "ja4-x",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4X.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "59bcd269dd2936a2cef55035",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0edce8adad302bd4",
      "framework": "unknown",
      "imports": "",
      "lines": 434,
      "logic_relevance": "none",
      "name": "JA4H",
      "normalized_name": "ja4-h",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "f6fe506647f17e6dc83b05e1",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:FingerprintMigrator, HybridTLSFingerprinter, OptimalTLSDetection, PhaseBasedMigration | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FingerprintMigrator,HybridTLSFingerprinter,OptimalTLSDetection,PhaseBasedMigration",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "bfd76265e75fedad",
      "framework": "unknown",
      "imports": "",
      "lines": 692,
      "logic_relevance": "none",
      "name": "JA3-&-JA4",
      "normalized_name": "ja3-ja4",
      "package_manager": "unknown",
      "path": "Drafts/About-JA4/JA3-&-JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6ea3498532c73c5706b3393f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7654f425305ad5a5",
      "framework": "unknown",
      "imports": "",
      "lines": 394,
      "logic_relevance": "none",
      "name": "JA3-&-JA4-old",
      "normalized_name": "ja3-ja4-old",
      "package_manager": "unknown",
      "path": "Drafts/About-JA4/JA3-&-JA4-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "7e23d305cb36a698d8827787",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "ab224dc123a81efb",
      "framework": "unknown",
      "imports": "",
      "lines": 1460,
      "logic_relevance": "none",
      "name": "JA4-Techniques-old",
      "normalized_name": "ja4-techniques-old",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4-Techniques-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "fe2f5337313363c1f2e71ba7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "61e17d0805cde900",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "About-old",
      "normalized_name": "about-old",
      "package_manager": "unknown",
      "path": "Drafts/Root/About-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "62ec6890717a60edf787f737",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d24d7506f54911ea",
      "framework": "unknown",
      "imports": "",
      "lines": 233,
      "logic_relevance": "none",
      "name": "Labs-old",
      "normalized_name": "labs-old",
      "package_manager": "unknown",
      "path": "Drafts/Root/Labs-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "8f38bba61e27e82d26da75c2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d4938997f6076be7",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "3667da8b59a590e4b358014a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d24d7506f54911ea",
      "framework": "unknown",
      "imports": "",
      "lines": 233,
      "logic_relevance": "none",
      "name": "Labs",
      "normalized_name": "labs",
      "package_manager": "unknown",
      "path": "Drafts/Root/Labs.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "786a53977cca1c02ac5b9189",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "ab224dc123a81efb",
      "framework": "unknown",
      "imports": "",
      "lines": 1460,
      "logic_relevance": "none",
      "name": "JA4-Techniques",
      "normalized_name": "ja4-techniques",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4-Techniques.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "f5e8171b6799b4ae1dc95bc7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "61e17d0805cde900",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "About",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "Drafts/Root/About.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "88846096f3e61830a5f6ca71",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "e4bb2628734c519f",
      "framework": "unknown",
      "imports": "",
      "lines": 1637,
      "logic_relevance": "none",
      "name": "About-enhanced",
      "normalized_name": "about-enhanced",
      "package_manager": "unknown",
      "path": "Drafts/Root/About-enhanced.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c79acf066c49ec853521eea2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b7d26ac17c7d4d95",
      "framework": "unknown",
      "imports": "",
      "lines": 476,
      "logic_relevance": "none",
      "name": "Integrations",
      "normalized_name": "integrations",
      "package_manager": "unknown",
      "path": "Drafts/Root/Integrations.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "dd2942f5c2e43492139c3cd8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b7d26ac17c7d4d95",
      "framework": "unknown",
      "imports": "",
      "lines": 476,
      "logic_relevance": "none",
      "name": "Integrations-old",
      "normalized_name": "integrations-old",
      "package_manager": "unknown",
      "path": "Drafts/Root/Integrations-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "5eb2b7bfe3a179f0da863b35",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73faae5f334590fb",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4+",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4+.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "3d2d30398d501c78064c9537",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8567b1e2d37fdd93",
      "framework": "unknown",
      "imports": "",
      "lines": 286,
      "logic_relevance": "none",
      "name": "Intermediate-JA4T-Lab2",
      "normalized_name": "intermediate-ja4-t-lab2",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/Intermediate-JA4T-Lab2.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "71b7e68cde0a5bdbe549e4b4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "029ba9bf9d937fe6",
      "framework": "unknown",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "JA4S-Intermediate",
      "normalized_name": "ja4-s-intermediate",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/JA4S-Intermediate.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "fb7f10fff8ac421aa0286379",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c7e774b04a372741",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "Intermediate-Lab1",
      "normalized_name": "intermediate-lab1",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/Intermediate-Lab1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "7eca6567d0c928d6ffe7474f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d3aae80ff90a544a",
      "framework": "unknown",
      "imports": "",
      "lines": 267,
      "logic_relevance": "none",
      "name": "JA4H-Intermediate",
      "normalized_name": "ja4-h-intermediate",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/JA4H-Intermediate.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "5aea93ec2ac558f8bfaf1a9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e96850145303f59",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "JA4T-Lab",
      "normalized_name": "ja4-t-lab",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/JA4T-Lab.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,integration,automation",
      "component_id": "d9b8ea317c142335e563747e",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getWebhookData, setWebhookData | logic-score:85 | integration-score:55 | automation-score:45",
      "exports": "getWebhookData,setWebhookData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97ba9e0f2f4ef3d4",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "webhookdata",
      "normalized_name": "webhookdata",
      "package_manager": "unknown",
      "path": "utils/webhookdata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "bafc22cb7e4eba79f626c36e",
      "component_kind": "utility",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateEnv | logic-score:85 | uses-env",
      "exports": "validateEnv",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ef910cfc978427d",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "validateEnv",
      "normalized_name": "validate-env",
      "package_manager": "unknown",
      "path": "utils/validateEnv.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "44298d5d14a3e72567a1d228",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@sentry/nextjs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:captureException, capturePerformance, initSentry | imports:@sentry/nextjs | process-score:100 | observability-score:55 | uses-env",
      "exports": "captureException,capturePerformance,initSentry",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92fbcc3011cf39f4",
      "framework": "unknown",
      "imports": "@sentry/nextjs",
      "lines": 30,
      "logic_relevance": "none",
      "name": "sentry-setup",
      "normalized_name": "sentry-setup",
      "package_manager": "unknown",
      "path": "integrations/sentry-setup.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "833739c4c310a7886db278dd",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:captureException, capturePerformance, initSentry | observability-score:55",
      "exports": "captureException,capturePerformance,initSentry",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "06212baadd925faf",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentry",
      "normalized_name": "sentry",
      "package_manager": "unknown",
      "path": "integrations/sentry.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "301f0ca4e4c5ef44b4c901f6",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GA_TRACKING_ID, event, isGAEnabled, pageview | observability-score:55 | uses-env",
      "exports": "GA_TRACKING_ID,event,isGAEnabled,pageview",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8331a431324f1aca",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "google-analytics",
      "normalized_name": "google-analytics",
      "package_manager": "unknown",
      "path": "integrations/google-analytics.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2b97fa8cd93ac24c2c7082e4",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4cc8f4ca1a85ec8",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Modal.module",
      "normalized_name": "modal-module",
      "package_manager": "unknown",
      "path": "styles/Modal.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "87d02d038cbd3bf72785d025",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f7514023c85a3391",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "collapsesidebar.module",
      "normalized_name": "collapsesidebar-module",
      "package_manager": "unknown",
      "path": "styles/collapsesidebar.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "42cd18131b494678c3a553bd",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "665410adc1dfd540",
      "framework": "css",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "pcap-viewer.module",
      "normalized_name": "pcap-viewer-module",
      "package_manager": "unknown",
      "path": "styles/pcap-viewer.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f4ff8c31a359024b95ebbc5e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c48b5b38c6d14ab5",
      "framework": "css",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "ErrorBoundary.module",
      "normalized_name": "error-boundary-module",
      "package_manager": "unknown",
      "path": "styles/ErrorBoundary.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security,ai",
      "component_id": "35e19ebc28429f049f575491",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c0ccd355db7ea8f5",
      "framework": "css",
      "imports": "",
      "lines": 211,
      "logic_relevance": "none",
      "name": "labs.module",
      "normalized_name": "labs-module",
      "package_manager": "unknown",
      "path": "styles/labs.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,observability,ai",
      "component_id": "3ce354763f335f2224bd8062",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "92db89a5f146c096",
      "framework": "css",
      "imports": "",
      "lines": 275,
      "logic_relevance": "none",
      "name": "terminal.module",
      "normalized_name": "terminal-module",
      "package_manager": "unknown",
      "path": "styles/terminal.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "b2a5250b3c03d3708ed12001",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "69baf52af02bba76",
      "framework": "css",
      "imports": "",
      "lines": 460,
      "logic_relevance": "none",
      "name": "ThreatSimulator.module",
      "normalized_name": "threat-simulator-module",
      "package_manager": "unknown",
      "path": "styles/ThreatSimulator.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "86335f60465861f36a345134",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0b6eb5dd849741b7",
      "framework": "css",
      "imports": "",
      "lines": 383,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "styles/main.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "41ada39c0908e5372dce40f8",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6ed6d0345bbe294a",
      "framework": "css",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "counters.module",
      "normalized_name": "counters-module",
      "package_manager": "unknown",
      "path": "styles/counters.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "fbb457c1bb21a669ff14e8ae",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0aafa6a5bd847b5d",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "ThreatQuiz.module",
      "normalized_name": "threat-quiz-module",
      "package_manager": "unknown",
      "path": "styles/ThreatQuiz.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security,ai",
      "component_id": "1bd10237abc39e7af0e816de",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c1a6b1e0ba6f3ca7",
      "framework": "css",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "QuizModeModal.module",
      "normalized_name": "quiz-mode-modal-module",
      "package_manager": "unknown",
      "path": "styles/QuizModeModal.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0ed866d73b9ee56d2b258c67",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "23f32e97ed162af6",
      "framework": "css",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "integrations.module",
      "normalized_name": "integrations-module",
      "package_manager": "unknown",
      "path": "styles/integrations.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "e1cedc9232e13c19b0360678",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5fce1ede29b203d",
      "framework": "css",
      "imports": "",
      "lines": 418,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,ai",
      "component_id": "fd1f9624369525779aa93d51",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "59660a2136b38f48",
      "framework": "css",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "OpenAIPrompt.module",
      "normalized_name": "open-aiprompt-module",
      "package_manager": "unknown",
      "path": "styles/OpenAIPrompt.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "27ae4fad3bbcaa428777586f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b207df52a05744a9",
      "framework": "css",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "FingerprintSearchAndScore.module",
      "normalized_name": "fingerprint-search-and-score-module",
      "package_manager": "unknown",
      "path": "styles/FingerprintSearchAndScore.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "25103655ca7bb06d35a84e82",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e5e34284cdcd6fe",
      "framework": "react",
      "imports": "react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "PcapSelector",
      "normalized_name": "pcap-selector",
      "package_manager": "unknown",
      "path": "components/PcapSelector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,ai",
      "component_id": "fa9f1ce41c45a3ba8a2e40d0",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UnifiedTerminal | imports:../styles/terminal.module.css, ./TerminalOutput.js, ./quizmode.js, react | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "UnifiedTerminal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dde2bb8f4559d1bc",
      "framework": "unknown",
      "imports": "../styles/terminal.module.css,./TerminalOutput.js,./quizmode.js,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "LabTerminal",
      "normalized_name": "lab-terminal",
      "package_manager": "unknown",
      "path": "components/LabTerminal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "551138528d9922d4b9d19373",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Arkime | imports:react | frontend-score:55 | observability-score:55",
      "exports": "Arkime",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e76a9303ff70b86d",
      "framework": "unknown",
      "imports": "react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "arkime-login",
      "normalized_name": "arkime-login",
      "package_manager": "unknown",
      "path": "components/arkime-login.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,observability",
      "component_id": "4a9c09fc2256a3e8305b32b3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5aae532ea0643e03",
      "framework": "react",
      "imports": "react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "PcapViewer",
      "normalized_name": "pcap-viewer",
      "package_manager": "unknown",
      "path": "components/PcapViewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5c45a03109ca694473c16524",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TerminalOutput | imports:../data/fingerprints.json, ../data/mappings.json, ../data/traffic.json | observability-score:55 | security-score:55",
      "exports": "TerminalOutput",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "431db2835270f185",
      "framework": "unknown",
      "imports": "../data/fingerprints.json,../data/mappings.json,../data/traffic.json",
      "lines": 422,
      "logic_relevance": "none",
      "name": "TerminalOutput",
      "normalized_name": "terminal-output",
      "package_manager": "unknown",
      "path": "components/TerminalOutput.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "0638a1d29ae8264f0c2a93a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:MyApp | imports:../styles/counters.module.css, react | frontend-score:115 | ui-score:70",
      "exports": "MyApp",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ae775350f7fa637",
      "framework": "react",
      "imports": "../styles/counters.module.css,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "counters",
      "normalized_name": "counters",
      "package_manager": "unknown",
      "path": "components/counters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,security",
      "component_id": "63b7152f9612854fa9d6d460",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "axios,cookie,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArkimeEmbed | imports:axios, cookie, react | frontend-score:55 | security-score:55",
      "exports": "ArkimeEmbed",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efa90bd239a4fe00",
      "framework": "unknown",
      "imports": "axios,cookie,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "arkime_leg",
      "normalized_name": "arkime-leg",
      "package_manager": "unknown",
      "path": "components/arkime_leg.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,ai",
      "component_id": "6f1e7bf1fbc0ff8e91499ecf",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react,react-window",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Row, UnifiedTerminal | imports:../styles/terminal.module.css, ./TerminalOutput, ./ThreatSimulator, ./quizmode, react, react-window | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Row,UnifiedTerminal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ec85cf1e5ec8ffd6",
      "framework": "unknown",
      "imports": "../styles/terminal.module.css,./TerminalOutput,./ThreatSimulator,./quizmode,react,react-window",
      "lines": 385,
      "logic_relevance": "none",
      "name": "Terminal",
      "normalized_name": "terminal",
      "package_manager": "unknown",
      "path": "components/Terminal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,security",
      "component_id": "d20bf4421056846b4a0fb558",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "prop-types,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintDetection | imports:../styles/labs.module.css, prop-types, react | frontend-score:55 | security-score:55",
      "exports": "FingerprintDetection",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7c81e0a9a92043b",
      "framework": "unknown",
      "imports": "../styles/labs.module.css,prop-types,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "FingerprintDetection",
      "normalized_name": "fingerprint-detection",
      "package_manager": "unknown",
      "path": "components/FingerprintDetection.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "27775c24e4d3849114203ce4",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react,react-icons,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:COLORS, Notification, ThreatSimulator | imports:../data/fingerprints.json, ../data/mappings.json, ../data/threatsDetails.json, ../styles/ThreatSimulator.module.css, ./Modal, ./Terminal, ./quizzes/ThreatQuiz, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "COLORS,Notification,ThreatSimulator",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "088e59c61bc375d7",
      "framework": "unknown",
      "imports": "../data/fingerprints.json,../data/mappings.json,../data/threatsDetails.json,../styles/ThreatSimulator.module.css,./Modal,./Terminal,./quizzes/ThreatQuiz,react,react-icons/fa,recharts",
      "lines": 656,
      "logic_relevance": "none",
      "name": "ThreatSimulator",
      "normalized_name": "threat-simulator",
      "package_manager": "unknown",
      "path": "components/ThreatSimulator.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,security",
      "component_id": "fad4fa414bf0744719cb5829",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "prop-types,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintDetection | imports:../styles/labs.module.css, prop-types, react | frontend-score:55 | security-score:55",
      "exports": "FingerprintDetection",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7c81e0a9a92043b",
      "framework": "unknown",
      "imports": "../styles/labs.module.css,prop-types,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "fingerprints",
      "normalized_name": "fingerprints",
      "package_manager": "unknown",
      "path": "components/fingerprints.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "2ce9f8b62767716fe5db65df",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArkimeLogin | imports:react | frontend-score:55 | observability-score:55",
      "exports": "ArkimeLogin",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4be7cd2891bd3e26",
      "framework": "unknown",
      "imports": "react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Arkime",
      "normalized_name": "arkime",
      "package_manager": "unknown",
      "path": "components/Arkime.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend",
      "component_id": "e5cf18000d1c99c49231e6f8",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuizModeModal | imports:../styles/QuizModeModal.module.css, react | frontend-score:55",
      "exports": "QuizModeModal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03c49044a0a1faf9",
      "framework": "unknown",
      "imports": "../styles/QuizModeModal.module.css,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "quizModeModal",
      "normalized_name": "quiz-mode-modal",
      "package_manager": "unknown",
      "path": "components/quizModeModal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "a3003e970f3912cd624d025c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "prop-types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary | imports:../styles/ErrorBoundary.module.css, prop-types, react | frontend-score:55 | observability-score:55",
      "exports": "ErrorBoundary",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0de3f97fe2f8905e",
      "framework": "unknown",
      "imports": "../styles/ErrorBoundary.module.css,prop-types,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "ErrorBoundary",
      "normalized_name": "error-boundary",
      "package_manager": "unknown",
      "path": "components/ErrorBoundary.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend",
      "component_id": "098534c0a2730d6b8f7f1a37",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Counter | imports:react | frontend-score:55",
      "exports": "Counter",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e08d253c5cb71da4",
      "framework": "unknown",
      "imports": "react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Counter",
      "normalized_name": "counter",
      "package_manager": "unknown",
      "path": "components/Counter.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "91320179f5f87c3e61f0a762",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuizMode | imports:../styles/terminal.module.css, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "QuizMode",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "592797a4371e8264",
      "framework": "unknown",
      "imports": "../styles/terminal.module.css,react",
      "lines": 290,
      "logic_relevance": "none",
      "name": "quizmode",
      "normalized_name": "quizmode",
      "package_manager": "unknown",
      "path": "components/quizmode.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,security,automation,ai",
      "component_id": "2f74164c8f7eaf041b399413",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationList | imports:react | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "IntegrationList",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9f738d9298a3757",
      "framework": "unknown",
      "imports": "react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "IntegrationList",
      "normalized_name": "integration-list",
      "package_manager": "unknown",
      "path": "components/IntegrationList.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "6308f805e861bf19348deb72",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Logo | imports:next-themes, next/image, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "Logo",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "07df072caed358fb",
      "framework": "next-react",
      "imports": "next-themes,next/image,react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "Logo",
      "normalized_name": "logo",
      "package_manager": "unknown",
      "path": "components/Logo.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend",
      "component_id": "d35e31b38703f0f8a8ac2ee8",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Modal | imports:../styles/Modal.module.css, react | frontend-score:55",
      "exports": "Modal",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24a8f0814931ac7b",
      "framework": "unknown",
      "imports": "../styles/Modal.module.css,react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "Modal",
      "normalized_name": "modal",
      "package_manager": "unknown",
      "path": "components/Modal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai",
      "component_id": "c45c638e77ce14a69da3b937",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "axios,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:OpenAIPrompt | imports:../styles/OpenAIPrompt.module.css, axios, react | frontend-score:55 | ai-score:45 | model-provider",
      "exports": "OpenAIPrompt",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ca4b2cf213f21641",
      "framework": "unknown",
      "imports": "../styles/OpenAIPrompt.module.css,axios,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "OpenAIPrompt",
      "normalized_name": "open-aiprompt",
      "package_manager": "unknown",
      "path": "components/OpenAIPrompt.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "frontend,security",
      "component_id": "0ae877b22f7ba63df1076b6c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for security; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThreatQuiz | imports:../../styles/ThreatQuiz.module.css, react | frontend-score:55 | security-score:55",
      "exports": "ThreatQuiz",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f1110f6fc502d0e",
      "framework": "unknown",
      "imports": "../../styles/ThreatQuiz.module.css,react",
      "lines": 136,
      "logic_relevance": "none",
      "name": "ThreatQuiz",
      "normalized_name": "threat-quiz",
      "package_manager": "unknown",
      "path": "components/quizzes/ThreatQuiz.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "970d735589bc8df3ba46ddfe",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handler | imports:next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "handler",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed225811160c5cc6",
      "framework": "unknown",
      "imports": "next",
      "lines": 63,
      "logic_relevance": "none",
      "name": "[labId]",
      "normalized_name": "lab-id",
      "package_manager": "unknown",
      "path": "api/labs/[labId].ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability,security",
      "component_id": "0fe052ba692b8d1493ae23e2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handler | imports:next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "handler",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "daa2ce9103171047",
      "framework": "unknown",
      "imports": "next",
      "lines": 53,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "api/labs/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a60d8a797871773d5cbe9392",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "axios,cookie",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:axios, cookie | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "527436ba205c03dd",
      "framework": "unknown",
      "imports": "axios,cookie",
      "lines": 76,
      "logic_relevance": "none",
      "name": "authenticate",
      "normalized_name": "authenticate",
      "package_manager": "unknown",
      "path": "api/arkime/authenticate.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2665f2141e4ea8595c958ddd",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "bcrypt,jsonwebtoken,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:bcrypt, jsonwebtoken, next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6b08eba1dda955fc",
      "framework": "unknown",
      "imports": "bcrypt,jsonwebtoken,next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "unknown",
      "path": "api/auth/login.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "075ef0cbcc001317983d1180",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2697cffff1ae0ca",
      "framework": "unknown",
      "imports": "fs,next,path",
      "lines": 29,
      "logic_relevance": "none",
      "name": "get-pcap-file",
      "normalized_name": "get-pcap-file",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/get-pcap-file.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "d6dafb0325713e96b010194d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15cbb196c42e76f5",
      "framework": "unknown",
      "imports": "fs,next,path",
      "lines": 25,
      "logic_relevance": "none",
      "name": "get-pcap-files",
      "normalized_name": "get-pcap-files",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/get-pcap-files.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "de89b91c767e8b0503eb32b0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "127b316379019c51",
      "framework": "unknown",
      "imports": "fs,next,path",
      "lines": 23,
      "logic_relevance": "none",
      "name": "get-suspicious",
      "normalized_name": "get-suspicious",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/get-suspicious.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "f3e11f93c46925a0ea3c8f4f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path,pcap-ng-parser",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path, pcap-ng-parser | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e0ae16f595b33d26",
      "framework": "unknown",
      "imports": "fs,next,path,pcap-ng-parser",
      "lines": 38,
      "logic_relevance": "none",
      "name": "parse-pcap-file",
      "normalized_name": "parse-pcap-file",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/parse-pcap-file.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "25118d89563c153ed95c0987",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb1ef1c0e9de89ba",
      "framework": "unknown",
      "imports": "fs,next,path",
      "lines": 37,
      "logic_relevance": "none",
      "name": "save-suspicious",
      "normalized_name": "save-suspicious",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/save-suspicious.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,backend,security,ai",
      "component_id": "33d295823a8274ee063e6f6a",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4GPTTest | imports:react | frontend-score:90 | ui-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "JA4GPTTest",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b1616af804b571da",
      "framework": "react",
      "imports": "react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "ja4gpt-test",
      "normalized_name": "ja4gpt-test",
      "package_manager": "unknown",
      "path": "api/ja4gpt/ja4gpt-test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "70be685f3132b44d38674132",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "axios,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OpenAIError | imports:axios, next | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | model-provider",
      "exports": "OpenAIError",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c41a79581d661bff",
      "framework": "unknown",
      "imports": "axios,next",
      "lines": 103,
      "logic_relevance": "none",
      "name": "ask-ja4gpt",
      "normalized_name": "ask-ja4gpt",
      "package_manager": "unknown",
      "path": "api/ja4gpt/ask-ja4gpt.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,backend,observability,security",
      "component_id": "450f705c07d79e7a9003212a",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "axios",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:OpenAIError | imports:axios | ai-score:120 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "OpenAIError",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6cc2aa14e820aab0",
      "framework": "unknown",
      "imports": "axios",
      "lines": 107,
      "logic_relevance": "none",
      "name": "openai-prompt",
      "normalized_name": "openai-prompt",
      "package_manager": "unknown",
      "path": "api/openai/openai-prompt.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,automation",
      "component_id": "6f170dc793a3ef60f76d0936",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "@mdx-js/react,@vercel/analytics,next,next-themes,prop-types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MyApp | imports:../components/ErrorBoundary, ../components/MDXProviderWrapper, ../utils/validateEnv, @mdx-js/react, @vercel/analytics/react, next-themes, next/router, prop-types | frontend-score:55 | observability-score:55 | automation-score:45",
      "exports": "MyApp",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "265935f87e90d9c5",
      "framework": "next-react",
      "imports": "../components/ErrorBoundary,../components/MDXProviderWrapper,../utils/validateEnv,@mdx-js/react,@vercel/analytics/react,next-themes,next/router,prop-types,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "_app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "pages/_app.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ec5e75841c8b6d9d0d83135a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6a5553d3cf89c29c",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "pages/index.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,observability,security",
      "component_id": "36ba097374f46afc18fe41d1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "f4607e527e192a92",
      "framework": "unknown",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "JA4-Wireshark-Plugin",
      "normalized_name": "ja4-wireshark-plugin",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4-Wireshark-Plugin.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "0ca02f6cdd8775bcdb5b582c",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:redef record SSL::Info += {\n        ja4s: string &optional &log; | process-score:100 | observability-score:55 | security-score:55",
      "exports": "redef record SSL::Info += {\n        ja4s: string &optional &log;",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "932d1753691a3496",
      "framework": "unknown",
      "imports": "",
      "lines": 757,
      "logic_relevance": "none",
      "name": "JA4S",
      "normalized_name": "ja4-s",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4S.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,observability,security,automation",
      "component_id": "8bd124b5b8fdc3a434aac66a",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Port_Scan_Detected, global ja4t_fingerprints: table[string] of string = table();\n    \n    # Alert on suspicious fingerprints\n    redef enum Notice::Type += {\n        Suspicious_TCP_Fingerprint, redef enum Log::ID += { LOG | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Port_Scan_Detected,global ja4t_fingerprints: table[string] of string = table();\n    \n    # Alert on suspicious fingerprints\n    redef enum Notice::Type += {\n        Suspicious_TCP_Fingerprint,redef enum Log::ID += { LOG",
      "extension": ".mdx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2b152b9ce64a631",
      "framework": "unknown",
      "imports": "",
      "lines": 1023,
      "logic_relevance": "none",
      "name": "JA4T",
      "normalized_name": "ja4-t",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4T.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "141c440896efe4f22bb01c4d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f6dbcfe039225942",
      "framework": "unknown",
      "imports": "",
      "lines": 210,
      "logic_relevance": "none",
      "name": "JA4S-old",
      "normalized_name": "ja4-s-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4S-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,observability,security",
      "component_id": "8757d98da0116ca8a8ea7f4a",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:redef enum Log::ID += { LOG | process-score:100 | observability-score:55 | security-score:55",
      "exports": "redef enum Log::ID += { LOG",
      "extension": ".mdx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f2164741d357b80",
      "framework": "unknown",
      "imports": "",
      "lines": 1215,
      "logic_relevance": "none",
      "name": "JA4TS",
      "normalized_name": "ja4-ts",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4TS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "ff9ace90f74b1224d9252a9e",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DNS_LOG, redef enum Log::ID += { DHCP_LOG | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DNS_LOG,redef enum Log::ID += { DHCP_LOG",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "676d50d6e326b78c",
      "framework": "unknown",
      "imports": "",
      "lines": 931,
      "logic_relevance": "none",
      "name": "JAD",
      "normalized_name": "jad",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JAD.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "57b5d36d9b94f0ec5de823b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d874922e12780a4f",
      "framework": "unknown",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "JA4SSH-old",
      "normalized_name": "ja4-ssh-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4SSH-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,observability,security,automation,ai",
      "component_id": "54d692a0a04a4c7f619828cf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d34629b3df8d3ae5",
      "framework": "unknown",
      "imports": "",
      "lines": 320,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "49d56d626491e442dcb4ff66",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6ced309c91869fd",
      "framework": "unknown",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "JA4T-old",
      "normalized_name": "ja4-t-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4T-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "e852dc0b4fb46eab23db37ae",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:High_Speed_Scan, Stealth_Scan_Attempt, global scan_threshold = 10;\n    global scan_window = 60sec;\n    \n    redef enum Notice::Type += {\n        Port_Scan_Detected | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "High_Speed_Scan,Stealth_Scan_Attempt,global scan_threshold = 10;\n    global scan_window = 60sec;\n    \n    redef enum Notice::Type += {\n        Port_Scan_Detected",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "395cddc8cb430ae5",
      "framework": "unknown",
      "imports": "",
      "lines": 1027,
      "logic_relevance": "none",
      "name": "JA4TSCAN",
      "normalized_name": "ja4-tscan",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4TSCAN.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "86e752e47f54cd79702558f3",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:redef record SSH::Info += {\n        client_ja4ssh: string &optional &log;\n        server_ja4ssh: string &optional &log; | process-score:100 | observability-score:55 | security-score:55",
      "exports": "redef record SSH::Info += {\n        client_ja4ssh: string &optional &log;\n        server_ja4ssh: string &optional &log;",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "7cb3d16f724f3d27",
      "framework": "unknown",
      "imports": "",
      "lines": 780,
      "logic_relevance": "none",
      "name": "JA4SSH",
      "normalized_name": "ja4-ssh",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4SSH.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a975a189bb6024f71274e7bb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e463fa267040ac66",
      "framework": "unknown",
      "imports": "",
      "lines": 435,
      "logic_relevance": "none",
      "name": "JA4H-old",
      "normalized_name": "ja4-h-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4H-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "46b1251765661412a0852a66",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "913a10a6122d4482",
      "framework": "unknown",
      "imports": "",
      "lines": 280,
      "logic_relevance": "none",
      "name": "JA4-old",
      "normalized_name": "ja4-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4d69d223f072da56473e2975",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d1198c08f9fa8eb3",
      "framework": "unknown",
      "imports": "",
      "lines": 423,
      "logic_relevance": "none",
      "name": "JA4TSCAN-old",
      "normalized_name": "ja4-tscan-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4TSCAN-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "738b660c2dc7a9bd5f662d52",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7a47ac22bb14d407",
      "framework": "unknown",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4TS-old",
      "normalized_name": "ja4-ts-old",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4TS-old.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "1e5919aa043a3d0343292bb5",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:JA4H, JA4HTracker | process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JA4H,JA4HTracker",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "50ef6f13d9a56468",
      "framework": "unknown",
      "imports": "",
      "lines": 763,
      "logic_relevance": "none",
      "name": "JA4H",
      "normalized_name": "ja4-h",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "9df69d3fc0b544bdbac06d87",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5e4da5de156cae7b",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "blog",
      "normalized_name": "blog",
      "package_manager": "unknown",
      "path": "pages/Blog/blog.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,observability,security",
      "component_id": "85e57085cc3792bd21ae1a77",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "534905e5b152db1f",
      "framework": "unknown",
      "imports": "",
      "lines": 516,
      "logic_relevance": "none",
      "name": "JA4-Algorithm",
      "normalized_name": "ja4-algorithm",
      "package_manager": "unknown",
      "path": "pages/About-JA4/JA4-Algorithm.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a44ec5e0d1b935903f188ed0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec7fd82aed90c7e9",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "Advanced-Labs-Overview",
      "normalized_name": "advanced-labs-overview",
      "package_manager": "unknown",
      "path": "pages/Advanced-Labs/Advanced-Labs-Overview.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6820f4b39d29e13b6d4a99d6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a63b0b35c56ee155",
      "framework": "unknown",
      "imports": "",
      "lines": 389,
      "logic_relevance": "none",
      "name": "Advaced-Labs",
      "normalized_name": "advaced-labs",
      "package_manager": "unknown",
      "path": "pages/Advanced-Labs/Advaced-Labs.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2bb8bcf6d73fdc6c083c1d2a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5827656d6b9aeb92",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "CapturingTraffic_JA4H",
      "normalized_name": "capturing-traffic-ja4-h",
      "package_manager": "unknown",
      "path": "pages/Advanced-Labs/CapturingTraffic_JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__foxio-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "50cb520ffc03986aa2750a0b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8ad974d7f0caf9f",
      "framework": "next-react",
      "imports": "",
      "lines": 4926,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation",
      "component_id": "55cf5615fcc6de66181b33ed",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "playwright.sync_api",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:run | imports:playwright.sync_api | automation-score:45",
      "exports": "run",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "d06b011a355ec95d",
      "framework": "next-react",
      "imports": "playwright.sync_api",
      "lines": 23,
      "logic_relevance": "none",
      "name": "test_frontend",
      "normalized_name": "test-frontend",
      "package_manager": "pnpm",
      "path": "test_frontend.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "8861b425db56f393ee5d3655",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1abc24c86cdc1f7e",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "b0fe09f315ead9baaabb789d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c45eab6a7a675648",
      "framework": "next-react",
      "imports": "next",
      "lines": 48,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "c0a354d6dfdf65be35ad0ee0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4ea20f5fcc0f06a7",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "021521862382b4134c0fd01b",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c22b1da7616d0d16",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f6b7e0882ec0a3e73c6bdb6d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e7a917e8a3ca645",
      "framework": "next-react",
      "imports": "",
      "lines": 6693,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "50e3d532ad03d7d681a76105",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "de6c95b0e7e9d981",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "559400d6bf101a43ef97b052",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "75316d993ed33831",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 173,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9084c892c1785dfab7442658",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e2f3593dc332f596",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "frontend,ui,automation",
      "component_id": "350fb47d12812f4320742e37",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/about, @/components/breadcrumbs, @/components/community-updates, @/components/faq, @/components/footer, @/components/header, @/components/hero, @/components/regional-imagery | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afcd23260a77822e",
      "framework": "next-react",
      "imports": "@/components/about,@/components/breadcrumbs,@/components/community-updates,@/components/faq,@/components/footer,@/components/header,@/components/hero,@/components/regional-imagery,@/components/routes,@/components/schedule,@/components/signup-form,@/components/supporters,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b24b9ab364b04e1a06acd19b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2523851db40e840f",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7aa84cf94c56dd623d6557cc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69b9a64114c55767",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 24,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,discovery,automation",
      "component_id": "babaf54a24aca882abf140ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0b7f7a9539c08826",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,security,automation",
      "component_id": "4c90d7b2f56088c40edf10c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "11ac2fbebe2d108a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "b1bfd281ef74e60dc24afd59",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9d1165f292dc491",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c97fa752b7adce5ffd88803c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9c1017a971802a89",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "8069cea813d3e0b56c415e3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "739a29b989851035",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "831a2be3057acaf5382bb64e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/weather, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb2b7ae8acc5c2a4",
      "framework": "next-react",
      "imports": "@/lib/weather,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/weather/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "0eb7e8c4f044f8d347c1a6bd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/community, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9405d6ebe6e7e01f",
      "framework": "next-react",
      "imports": "@/lib/community,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/community/posts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "f2cf3569800732c8a94a8cbe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/cache, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "62870dfa9d04e338",
      "framework": "next-react",
      "imports": "next/cache,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "b947af7dbad966f547b0d9ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "06e67aa2ad74529e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "18f385547fd89809b9997bcc",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "da63960bf0b604fd8ff691a4",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,automation",
      "component_id": "8eb2ca2c567a73169bc7da4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0f6580e02c302f6",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 86,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2b55991806a842500c6bf480",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityUpdates, FACEBOOK_GROUP_URL | imports:@/components/ui/card, @/lib/community, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CommunityUpdates,FACEBOOK_GROUP_URL",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b42a90d297e8b3b",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/community,next/link",
      "lines": 104,
      "logic_relevance": "none",
      "name": "community-updates",
      "normalized_name": "community-updates",
      "package_manager": "pnpm",
      "path": "components/community-updates.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "aa5f459671fdb7ebb4e3c5bc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4e46f40b5da7236",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 25,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "c00aae59b3c59a13202e3618",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Schedule | imports:@/components/ui/button, @/components/ui/card, @/components/weather-status, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "Schedule",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "514ad5dfae5ed22c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/weather-status,react",
      "lines": 186,
      "logic_relevance": "none",
      "name": "schedule",
      "normalized_name": "schedule",
      "package_manager": "pnpm",
      "path": "components/schedule.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "3889852daa3028a0fa1dcf25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ec895484e790ab60",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 179,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "frontend,ui,backend,automation",
      "component_id": "aebac45a51d46e8160c553bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:Routes | imports:@/components/ui/button, @/components/ui/card | frontend-score:85 | ui-score:55 | backend-score:55 | automation-score:45",
      "exports": "Routes",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "435e0b619e53c7d3",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card",
      "lines": 128,
      "logic_relevance": "none",
      "name": "routes",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "components/routes.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "5f8412f02b7e25b5cdb8d35b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f1915e46861c427",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link,react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "frontend,ui,automation",
      "component_id": "2f76a31e4055c1275fcae046",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegionalImagery | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "RegionalImagery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7bf21c85891b808",
      "framework": "next-react",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "regional-imagery",
      "normalized_name": "regional-imagery",
      "package_manager": "pnpm",
      "path": "components/regional-imagery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "91c623d8da4bfc748d4c7d35",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Supporters | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Supporters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4af382926d081aad",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 133,
      "logic_relevance": "none",
      "name": "supporters",
      "normalized_name": "supporters",
      "package_manager": "pnpm",
      "path": "components/supporters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,automation",
      "component_id": "0b7d5091b685a81ef0926e34",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignupForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "SignupForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e4af0d58043e220",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,react",
      "lines": 172,
      "logic_relevance": "none",
      "name": "signup-form",
      "normalized_name": "signup-form",
      "package_manager": "pnpm",
      "path": "components/signup-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c9126bdd3cfba22ae004a3e4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Faq | imports:@/components/ui/accordion | frontend-score:85 | ui-score:55",
      "exports": "Faq",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bca626c2ea41105",
      "framework": "next-react",
      "imports": "@/components/ui/accordion",
      "lines": 47,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/faq.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ae835c737b41956a89db5d86",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WeatherStatus | imports:@/lib/weather | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "WeatherStatus",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36a1e4489804b52f",
      "framework": "next-react",
      "imports": "@/lib/weather",
      "lines": 17,
      "logic_relevance": "none",
      "name": "weather-status",
      "normalized_name": "weather-status",
      "package_manager": "pnpm",
      "path": "components/weather-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "27352e3e6a2c6c9eaaa573c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:About | imports:@/components/ui/card | frontend-score:85 | ui-score:55",
      "exports": "About",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbf84ad054b6a73e",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 133,
      "logic_relevance": "none",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "pnpm",
      "path": "components/about.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c78c1901a69407ea5b2c2928",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8c592a56c25ac2aa0eacc696",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "07a71a6ba470dd38fff19652",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,radix-ui,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, lucide-react, radix-ui, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a4f153089ba886df",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,radix-ui,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4b8ca02b9b21c19a2badeba2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d881d39d9012f4fe15ba8e32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,discovery,automation",
      "component_id": "c8f64e656b0dcae105ed9c85",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "788290f9b339cf17",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "407174e06c9b125a29e7c14f",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0c9194d0b2681343",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "606c933d5d6483f2830ec5b1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "82b214b17671ae61",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "e4c0d7c810df6ac65da116ea",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "29835e9e0d67603e",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "0fb82c121cae9702c3027b2d",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "47a61ae50bc8d084",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "584e86997e7e888ca0f93ced",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0d45b6fd1b72cf31",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "c418e99a2d3ef1e2f65ceeb3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CommunityPost, getGaryPosts | imports:next/cache | logic-score:85 | security-score:55 | uses-env",
      "exports": "CommunityPost,getGaryPosts",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ecf01132dbcd0e3",
      "framework": "next-react",
      "imports": "next/cache",
      "lines": 56,
      "logic_relevance": "primary",
      "name": "community",
      "normalized_name": "community",
      "package_manager": "pnpm",
      "path": "lib/community.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "db655f1ca610ca5fed939afd",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "5cf3929d41ff3bb9ad9f9a24",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WeatherData, getWeatherData | imports:next/cache | logic-score:85",
      "exports": "WeatherData,getWeatherData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "300b3ade2e719593",
      "framework": "next-react",
      "imports": "next/cache",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "weather",
      "normalized_name": "weather",
      "package_manager": "pnpm",
      "path": "lib/weather.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__front-runners-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8d14fbc89fbac3d144166df8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aac1140c189c0ba5",
      "framework": "next-react",
      "imports": "",
      "lines": 3326,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "c83c6a63c0a3903be5275f27",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "621558241f4b2263",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "c11536a12e6a7d5ce1d7c9c1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "285121f615832631",
      "framework": "next-react",
      "imports": "next",
      "lines": 40,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "process",
      "component_id": "7d353515665ac8b7491f3a58",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for game; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "bcc20fa97c7df7d3",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cda36e2a4fe0c64f1bb4f0d5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f521bc732b36b321",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "dcab2f8801b52ffc0ad99a29",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1aea0a9f1c887b16",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,discovery",
      "component_id": "d818072b14921fa77eceb828",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2cea227731ba25a4",
      "framework": "next-react",
      "imports": "next",
      "lines": 56,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "e2c464cd38a1e8b38eb3c7cb",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/ui/toaster, next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07bbc4ce7863f5a0",
      "framework": "next-react",
      "imports": "@/components/ui/toaster,next,next/font/google,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "a4ae65c85f2dad8eff45ac18",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3578dc892fc4988e",
      "framework": "next-react",
      "imports": "next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "65a4137fa9abf620659ab490",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3eae3c2d76098bc",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 360,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "7c9a361de633947b8f22e977",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4ff33688cacaec03",
      "framework": "next-react",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "74b315923c378ccfb2e8b77a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c19bb839c95450e",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0b48f1b392f07b91a449f87",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/spinner, @/lib/supabase/client, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae2ff319e4986939",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/spinner,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "d0011600ac0c6e6c3d5ebab1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:VerifyEmailPage | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "VerifyEmailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8cd9064fb577b296",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/verify-email/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c4e644febafe0a771a6874bc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/spinner, @/lib/supabase/client, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a958ea69cff1e9c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/spinner,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,process",
      "component_id": "13672d0bae936a8e69c48646",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/breadcrumb | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7cea44baf515be50",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/breadcrumb",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security,ai",
      "component_id": "c84189166d32e3c771fea5f1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/accordion, @/components/ui/breadcrumb | frontend-score:85 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0023cdba733167f9",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/accordion,@/components/ui/breadcrumb",
      "lines": 111,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "4efceb447f317169b94be2d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bfb11f99c446f5d6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d1ef42f4f0c2786772d81018",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminLayout | imports:@/components/dashboard-header, @/components/dashboard-sidebar, @/lib/supabase/server, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdminLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "948c6db6731459b6",
      "framework": "next-react",
      "imports": "@/components/dashboard-header,@/components/dashboard-sidebar,@/lib/supabase/server,next/navigation,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/admin/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "077f390aa107bf3375626546",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminDashboardPage | imports:@/components/ui/badge, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminDashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1347493b674da1f3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 185,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "0b587db7c19eb1a707bd50e7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminSettingsPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/server | frontend-score:85 | ui-score:55",
      "exports": "AdminSettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "09d5dc79332aab3e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,ai",
      "component_id": "bdbe90df4135df01f942b40a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminMessagesPage | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "AdminMessagesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6f976fdaaf84ef4",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/messages/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "7dcdc74b16328c6353ea3271",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminQuotesPage | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "AdminQuotesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4cf4ac37bf7f4a8",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/quotes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "925234b89d245a46eed1beca",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/admin/projects/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2639f8337a9e83fa8cac1f0a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminProjectsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdminProjectsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecfa6ee57af4ec0a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/supabase/server,lucide-react,next/link",
      "lines": 112,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/projects/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "16afd7319a55adb6056ea186",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminProjectDetailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AdminProjectDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c6297c4cbda13c8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 294,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/projects/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "95422a5eef7151cc8d9a8b4d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/dashboard-header, @/components/dashboard-sidebar, @/lib/supabase/server, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27c257741c87b449",
      "framework": "next-react",
      "imports": "@/components/dashboard-header,@/components/dashboard-sidebar,@/lib/supabase/server,next/navigation,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/dashboard/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,observability,security",
      "component_id": "80cca9cfbf2f6b140cdb4dc2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1bde715b31a2286b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 150,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "06d49daaf5d299900bb3e279",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/server | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5801af5bed6edb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,ai",
      "component_id": "8665e07f7db26221b013acf0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessagesPage | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "MessagesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfd56c68ff1db56d",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/messages/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "c32806f2332446d0342aa8be",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuotesPage | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "QuotesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cdacdfa050bfc8fa",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/quotes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4e4d4f17eb80a395420c7aa5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProjectsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f1c8891e19191468",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 114,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/projects/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "148b03e79afe238f80bd1374",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewProjectPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/spinner, @/components/ui/textarea | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NewProjectPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51112110ea5574b9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/spinner,@/components/ui/textarea,@/hooks/use-toast,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 245,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/projects/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "b9cbdb1cb33a9104c31b7bbc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectDetailPage | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/components/ui/separator, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ProjectDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a13d3745830a6a1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/components/ui/separator,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 319,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/projects/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "376ed52d59113b8201b686b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec031c9f720c1b3b",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,security",
      "component_id": "e0c63eb27176dc48d976b36e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a365144443e7174f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "56afc849440172670f4e647f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "798ca4930c9a87fa",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,ai",
      "component_id": "72eba4131b2a31e3d7ae93ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9b97a789defc3274",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "b2f44d0e5363b5cb07ec83aa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:50",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08f765379346f285",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card",
      "lines": 105,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "8c57738e40ea86b8136d6f73",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "node:assert,node:test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:assert, node:test | observability-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "368536d175247e43",
      "framework": "next-react",
      "imports": "node:assert,node:test",
      "lines": 43,
      "logic_relevance": "none",
      "name": "integration.test",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "tests/integration.test.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "784f1d8d1f832de49d08387b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "child_process,http,node:assert,node:test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PORT | imports:child_process, http, node:assert, node:test | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "PORT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "673daaab6b38377a",
      "framework": "next-react",
      "imports": "child_process,http,node:assert,node:test",
      "lines": 94,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "tests/api.test.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b591e6f8756ec3c5e7461bf5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "node:assert,node:test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/docs/route, ../app/api/health/route, ../app/api/mcp/route, ../app/api/network/graph/route, ../app/rss/route, node:assert, node:test | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "93ec5749815e926d",
      "framework": "next-react",
      "imports": "../app/api/docs/route,../app/api/health/route,../app/api/mcp/route,../app/api/network/graph/route,../app/rss/route,node:assert,node:test",
      "lines": 50,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "tests/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e76bff9e27a5a73c211abd02",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "ccf85d819684a3e107d039ce",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fb41dff687e68a6db630b119",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/ui/button, @/components/ui/sheet, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b0fc812b0c578e5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/sheet,lucide-react,next/link,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "bdf920c42a2226286178b8c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "14d6a34dd18849c5",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 131,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "247c947c3e2ab65c34c88ad5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardSidebar | imports:@/components/ui/button, @/components/ui/spinner, @/lib/supabase/client, @/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DashboardSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb1fe66cabe6b995",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/spinner,@/lib/supabase/client,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "dashboard-sidebar",
      "normalized_name": "dashboard-sidebar",
      "package_manager": "pnpm",
      "path": "components/dashboard-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "62610b2a139afc0ca78808ae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardHeader | imports:./dashboard-sidebar, @/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "DashboardHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77ab89a5634f13dd",
      "framework": "next-react",
      "imports": "./dashboard-sidebar,@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,lucide-react,next/link",
      "lines": 85,
      "logic_relevance": "none",
      "name": "dashboard-header",
      "normalized_name": "dashboard-header",
      "package_manager": "pnpm",
      "path": "components/dashboard-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "edc0c6e2aa56d0df2b7398ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1acf59a9b87f8fd94cf978b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "14b09465cbeefa7c70566dad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b67bf076700aeeda520340b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1bdb878ff3b593f907261035",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "add7afa1862afdd3a2ee88a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2637c50f4dd8fa9df47fabb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "34f011abccaf0ed48d93431c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "93d9c72cf6e05024d21c5ee8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0f491151c588426c7ede215a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "82aa2b1b8aaaac1e7f719254",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ac1c9e7fe74bcc25",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "3b267477134863214f00dd6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cb38a2aa86d67bf56849e012",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "229c9bcea5b565018fc9173f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c78d7605771dcc62eebe45de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c5c2439ba34abdbd8d7c97fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "da1f2fe0fc74ce4b4c08a313",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "516a6887940330bd5615512d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c0ad26ba5e3f5a2c525d485c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7d00a95e6f6c820c46262efb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a2f823070239a0a12d7bec49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dfbf965067da6d2f2bcb7a17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e383dfac889e728a825c89b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e6e980f242b65e8978eac478",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "18d40e5e096b56d112cec652",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "fbb4385e5a1dcf44fd7921dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3a6283d6e58e24b77db4fd10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "bc9f5fe06f94e89237e80da4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1c2283d103cd36e6228dce49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "8902a2b44d4b0c631c71d3fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f9c9a82b7342229f0fdf5e66",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cfbaa5e39250c7877270be2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1085e56552f6d265a491ba28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "81ed4ae315ebebd0f585568c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "56b427d4dfecb1e269950719",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "679b12ebb7baf62a77919c8f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b4588ab95088be357c50788c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "609fe5d5d9d8f34e49eb1c3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b18f65037d5f860e82a9838e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "72de20f4e4b35bc4a630457e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d26f850e174398b7084fc3c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5f60e29f1c8cde015266757c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2518eb3da101039774977625",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "74cce20b386dd71968b10c33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "558000675f18a5a5ea585884",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a324be2735510f4a7e03177e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7d79257f38acb89235254345",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3ced48db2257b09",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "818fab989f926091d775f489",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c9c8789612fdff62779101af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ed4a1691c9e00772503f8581",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "75da636f8103559db24c6176",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f9740ffdb835fe6e1091e382",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c79e1748f93d613f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "504a30801a4ef44fe107deb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2e85012bdf6d84ffee56cdfc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4339f8365fc2f94f23f0f2c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "68d24a04298d186360b04c5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2dbd4ee527d4a33607540a57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery,ai",
      "component_id": "d6ef5d648caef80811361c7c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4910bd4a52322097",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,security",
      "component_id": "737258d91e50561982da2ece",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "962f45870de5b2ab",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "330b68ec3ffd83e5fff0892b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "858b145155e8be2d",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "4839f4d066d0dd6dd35a64f4",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b253521ebcdcae18",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "44cb56179a77e09d48f19a05",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,observability,ai",
      "component_id": "d4d088d5054cc1f88cfcc5a3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Message, Milestone, MilestoneStatus, Profile, Project, ProjectStatus, Quote, QuoteStatus | logic-score:70 | observability-score:55 | ai-score:45",
      "exports": "Message,Milestone,MilestoneStatus,Profile,Project,ProjectStatus,Quote,QuoteStatus,UserRole",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "45f9220db8ac9fbf",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "3f21f4dd90cb8aeaa56cd378",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e905f031109bf7b",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "6f0f6db8ff40c1f84348a3f9",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "e71f2b9b11cee33b441a9656",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr,next,react",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getProfile, getUser | imports:@supabase/ssr, next/headers, react | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "getProfile,getUser",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3c29a46bc596f46f",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers,react",
      "lines": 35,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__game-porting-service-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b2de8ffecf2de2365b25b143",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c13b1bd1c70c255a",
      "framework": "next-react",
      "imports": "",
      "lines": 3551,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "820605ea9c6464428e651784",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d2105e0ae885ae09",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gamer",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "2e744ff0cda5342817cc213c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58c78ffd25a3691a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 96,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7d53a083b7ff74a47a81ba40",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0a7ed7c1da25fad4",
      "framework": "next-react",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "80b30ee4749ea02b768ea358",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b580b7f9d7a867c0",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,observability,security",
      "component_id": "dd1008cc8d8c506d6c4933ab",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/add-friend-modal, @/components/friend-card, @/components/retro-audio-player, @/components/steam-search-modal, @/components/ui/tooltip, @/lib/steam-api, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1530d87280c09929",
      "framework": "next-react",
      "imports": "@/components/add-friend-modal,@/components/friend-card,@/components/retro-audio-player,@/components/steam-search-modal,@/components/ui/tooltip,@/lib/steam-api,lucide-react,react",
      "lines": 238,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "cddaf3dbe628c498cf193c74",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "82b52e356ff11774",
      "framework": "next-react",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "36ca83e97dd1134d6c634e9f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, STEAM_API_KEY | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,STEAM_API_KEY",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bcd69aa0b6551558",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/steam/user/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "61dcc6a4adf0194c7f075c61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, STEAM_API_KEY | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,STEAM_API_KEY",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "acb4617ce16d8cd2",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/steam/games/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4733e067cd3c3ae71e0c3650",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "ec8ccce88cb3b15e261f5196",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6eb0c9ded0a989dabd47b46b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FriendCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FriendCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "462d71998e46d7aa",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 249,
      "logic_relevance": "none",
      "name": "friend-card",
      "normalized_name": "friend-card",
      "package_manager": "pnpm",
      "path": "components/friend-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8e7d2565c7c1d1b5f07419b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddFriendModal | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AddFriendModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6da9dca1d87b565",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/tooltip,lucide-react,react",
      "lines": 134,
      "logic_relevance": "none",
      "name": "add-friend-modal",
      "normalized_name": "add-friend-modal",
      "package_manager": "pnpm",
      "path": "components/add-friend-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "be68f927284ffa1bd8527a26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RetroAudioPlayer | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "RetroAudioPlayer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "007ce556780e6bbb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "retro-audio-player",
      "normalized_name": "retro-audio-player",
      "package_manager": "pnpm",
      "path": "components/retro-audio-player.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "bb8d3227f3c1422b5a420514",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DashboardCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d2a14942ef9a152f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,lucide-react,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "dashboard-card",
      "normalized_name": "dashboard-card",
      "package_manager": "pnpm",
      "path": "components/dashboard-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "73d40019b92420161c4f7f7d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SteamSearchModal | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/tooltip, @/lib/steam-api, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SteamSearchModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e26326f8545a23aa",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/tooltip,@/lib/steam-api,lucide-react,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "steam-search-modal",
      "normalized_name": "steam-search-modal",
      "package_manager": "pnpm",
      "path": "components/steam-search-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b931f8a7aa239f629d5dfd4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d8ac0294f34a6cd7bcca45a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dbde5ea08f6c39e9bd03548d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "17f666e289271f6c9847a9e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f26fdb381b440b6d9a51bfdc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "739f00accc86e2f8d7fbb7f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4dbe2834337735e123bbd4c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "eab872c6b908b0e2bd85d17f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SteamGame, SteamUser, getGameImageUrl | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "SteamGame,SteamUser,getGameImageUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6d027923f5425177",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "steam-api",
      "normalized_name": "steam-api",
      "package_manager": "pnpm",
      "path": "lib/steam-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "149ef54049306d488df3d0bc",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gamer",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b4f0d8d1fbb10b98c2104b2f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8688ea0b43692e66",
      "framework": "next-react",
      "imports": "",
      "lines": 3299,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f30f1861be4fe95937c64d53",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a407ce7321b2d9c5",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e18395144d4fb716cfc03558",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ef128448cdb5db29",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "3d6c08cd9fa380447cbba182",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3538fb677cdd60aa",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "3312a244016621487f26b3d6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/artisan-stories, @/components/featured-collections, @/components/footer, @/components/header, @/components/hero, @/components/newsletter, @/components/promotional-offer, @/components/testimonials | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc3f5d1f743d9c03",
      "framework": "next-react",
      "imports": "@/components/artisan-stories,@/components/featured-collections,@/components/footer,@/components/header,@/components/hero,@/components/newsletter,@/components/promotional-offer,@/components/testimonials,@/components/trail-proximity",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "01a0420e7eea0bb4b74dd3c6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "de6f4f23c1f2d255",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "1302bea65f17221ff0019477",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "12870940b20f667b43f7450b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Newsletter | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Newsletter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca3a6a66d24f9b48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "newsletter",
      "normalized_name": "newsletter",
      "package_manager": "pnpm",
      "path": "components/newsletter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "45524ce699d62ded495a66e5",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "a7652ae68274ea652393e66a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cead050f5f8ed33",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "9cf97f09d67497ab7437b8b5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtisanStories | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ArtisanStories",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99638c9d61984b39",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "artisan-stories",
      "normalized_name": "artisan-stories",
      "package_manager": "pnpm",
      "path": "components/artisan-stories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "4657f0f009652e0d2d578990",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PromotionalOffer | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "PromotionalOffer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f556b32f7d9ce703",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "promotional-offer",
      "normalized_name": "promotional-offer",
      "package_manager": "pnpm",
      "path": "components/promotional-offer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "2715a26fa54c65903ce43286",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturedCollections | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FeaturedCollections",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86f5f15750318d5a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "featured-collections",
      "normalized_name": "featured-collections",
      "package_manager": "pnpm",
      "path": "components/featured-collections.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cfbf783df1feb780618b9eab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "38a06a042fc1f4a2",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 149,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c23d718e71defe2112b6e20a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Testimonials | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Testimonials",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b1dd0027fc1ee8c",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "testimonials",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "components/testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "a71a15d7f5acab6d826a08a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrailProximity | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "TrailProximity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b05828c2420e7b1",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "trail-proximity",
      "normalized_name": "trail-proximity",
      "package_manager": "pnpm",
      "path": "components/trail-proximity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "69a6e421db9c38f2773b5a43",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51b36853f5e460f9",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e18c185c631ff9da2c8e8cdc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3acacf20def67aa413d8cbfb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "12fdb19925d017eccd0d5553",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "f89f8b9896d229be53656d4f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "dde9e381f3c11c40",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8607ee54553937dc627c69e7",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__glass-blowing-website",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d624ad410f1caee202c151ac",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b70be896312d071",
      "framework": "next-react",
      "imports": "",
      "lines": 6459,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "c2ce7e8a40423ffccdd1adc1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "05da5526a5a29a3c",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3d543c6b0ad90ba46f57bac3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34ffeab1864dcdf7",
      "framework": "next-react",
      "imports": "",
      "lines": 9165,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f783c643e729a773632040dd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ebcf8077a7164c42",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "ed5c3b77dad337cafe9ef6ad",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a4616434efa07651",
      "framework": "next-react",
      "imports": "next",
      "lines": 36,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b6c5797668888397982e88e8",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, next/script, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "248365f89c00157c",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,next/script,react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5d661c8eb73cea390c44174f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/footer, @/components/header, @/components/stripe-button, @/lib/products, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db5905485d0d7b32",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/stripe-button,@/lib/products,lucide-react,next/image",
      "lines": 217,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "417142f510e7416d987d75d4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c809136b264fe05e",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "72d8ca7276a22c4984e845d6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/breadcrumbs, @/components/footer, @/components/header, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c938761aca18c2d2",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header,next",
      "lines": 84,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "5ebb131268b84473a6b412cb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/breadcrumbs, @/components/footer, @/components/header, @/components/ui/accordion, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51ec71664b6d790a",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header,@/components/ui/accordion,next",
      "lines": 67,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,process,automation",
      "component_id": "2cc6b9c85bc929d895077c62",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/breadcrumbs, @/components/footer, @/components/header, next | frontend-score:115 | ui-score:55 | observability-score:55 | process-score:45 | automation-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c796874f26ee896",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header,next",
      "lines": 72,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5eb1cccbc3583e166c80eafb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "56e22fd8e0839b57",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "94fe43eab9aa2874f3e08894",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ManifestoPage, metadata | imports:@/components/footer, @/components/header, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "ManifestoPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7542358398b71c25",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,next/link",
      "lines": 167,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/manifesto/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b13cd02cfda0d2c5820f1791",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "bbaa370a4e947140bc7dec65",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cf85b193b92ebd425eb1e19a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomBuyButton | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CustomBuyButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0b04fd3b9eb14d3",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "custom-buy-button",
      "normalized_name": "custom-buy-button",
      "package_manager": "pnpm",
      "path": "components/custom-buy-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "fe169c65c06f60b3698a7b2d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da5bbb974272bbc9",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 33,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "06f610dc5395199bdae46b88",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "256d584e602cdf55",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "91dde0ead9d6e7a4c74a31d7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9ff607422675137d",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 46,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,integration,security",
      "component_id": "0085f80a06567bab515b8c64",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:StripeButton | imports:react | frontend-score:115 | ui-score:70 | integration-score:55 | security-score:55",
      "exports": "StripeButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a60121a7e40fd0a",
      "framework": "next-react",
      "imports": "react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stripe-button",
      "normalized_name": "stripe-button",
      "package_manager": "pnpm",
      "path": "components/stripe-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,integration,security",
      "component_id": "22db95c6aae04bc509733b67",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:StripeBuyButton | imports:react | frontend-score:115 | ui-score:70 | integration-score:55 | security-score:55",
      "exports": "StripeBuyButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5db84b0ffd532580",
      "framework": "next-react",
      "imports": "react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stripe-buy-button",
      "normalized_name": "stripe-buy-button",
      "package_manager": "pnpm",
      "path": "components/stripe-buy-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "198f9482823d0cb5cfac18dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "00dd6eef660f08ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "53de1cc230e9474d4369b64a",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2661f59eb56286e8",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "e4fb3552dd27c045d888d6d9",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f68adbe21573248a",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "627b592167e0d6f9369188c4",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4b4b721a68d9884c",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "580d7f829d4a7c773af47996",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "https",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:https | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a16091418f386854",
      "framework": "next-react",
      "imports": "https",
      "lines": 43,
      "logic_relevance": "none",
      "name": "register-network",
      "normalized_name": "register-network",
      "package_manager": "pnpm",
      "path": "scripts/register-network.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ec18808f5962eecf96929841",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "fdaa2e73b744379d335c8996",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PRODUCTS, Product | logic-score:70 | observability-score:55",
      "exports": "PRODUCTS,Product",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5a47d141efa669c4",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__global-anti-globalist-club-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0324a244bf19cac875d8043f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a60c66fafd092bfc",
      "framework": "next-react",
      "imports": "",
      "lines": 4702,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "95a21b293c5c4bb8dd2dd1d9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a57b7acdb5e2a2fc",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "2a31999cc483b80c7fbca227",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7f0100c7695ba9e0",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "README.old",
      "normalized_name": "readme-old",
      "package_manager": "pnpm",
      "path": "README.old.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "2905eb647ec35f505c280787",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf82820e246f4a3a",
      "framework": "next-react",
      "imports": "next",
      "lines": 63,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "20bd3eeed513ce701fe57464",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "301a7ca0bc01c9f5",
      "framework": "next-react",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "377e54401014d598cbcc4e32",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f54119472af280f2",
      "framework": "next-react",
      "imports": "",
      "lines": 380,
      "logic_relevance": "none",
      "name": "PLATPHORM_NET_OPT",
      "normalized_name": "platphorm-net-opt",
      "package_manager": "pnpm",
      "path": "PLATPHORM_NET_OPT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d3d8c119a2a4259fa217bb22",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8936ec59bfdc1976",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f43c17e538b743a349bd5b4d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d1139dcc0906cf08",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "789df56c86dcc223035de2b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fa7cea4577d806d7",
      "framework": "next-react",
      "imports": "",
      "lines": 232,
      "logic_relevance": "none",
      "name": "PRODUCTION_READY",
      "normalized_name": "production-ready",
      "package_manager": "pnpm",
      "path": "PRODUCTION_READY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "6c8d9c0ef4fb30c64b720af3",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fed4eb00ba70057a",
      "framework": "next-react",
      "imports": "next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a130ece738be7a5c36a2742e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "02afcfbe784fd621",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 183,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "248167a78aefc55bd5c58bf8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/site-config, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f66916cfbe4eb04",
      "framework": "next-react",
      "imports": "@/lib/site-config,next",
      "lines": 81,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6a7d3613750eef9d931ef528",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, revalidate, viewport | imports:@/lib/site-config, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, next/script, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,revalidate,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08c3fd695742f2ac",
      "framework": "next-react",
      "imports": "@/lib/site-config,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,next/script,react",
      "lines": 414,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "91c8b068883503d3af6e59ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c16919042863ec8",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "75653f1f2d0bd20ce7f6a7b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2db3e118bc898ed4",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 180,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "4084419e9e339428d239d0db",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bf71dfc94d257301",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "e3aa63a648f59278ed8220d4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/disruption-stats, @/components/footer, @/components/future-timeline, @/components/hero-countdown, @/components/industry-news, @/components/shopify-joke, @/components/trailer-section | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1dd7bf82c63f0a12",
      "framework": "next-react",
      "imports": "@/components/disruption-stats,@/components/footer,@/components/future-timeline,@/components/hero-countdown,@/components/industry-news,@/components/shopify-joke,@/components/trailer-section",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "281c8cfecf5b2c90046a498e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a0a490d905d51898",
      "framework": "next-react",
      "imports": "",
      "lines": 437,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d983d5f809f4a06698e2742d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8fa299058a0598b7",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 56,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,discovery",
      "component_id": "af3ba1ba67920a490db9957a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fbfd11cf49239271",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "daac894e11d7643299a92f09",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | backend-score:55 | discovery-score:55 | automation-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "71d662467a5657f1",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9618723d0097a3b14b187c10",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:../rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1446d37d71f4db46",
      "framework": "next-react",
      "imports": "../rss.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "034be6e3c92ec0c1538f448b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3229f496e07f332b",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/icon.png/route.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "0b1f4dddf210fe352fa48ffd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d166a23cf61e087b",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/apple-icon.png/route.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,automation",
      "component_id": "d2e09be1c0bb33b1138a3fa5",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | backend-score:55 | automation-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1d8b5f26c0c41862",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "0f0b9d768ca1373b136e1ff6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "eeeff8653d334771",
      "framework": "next-react",
      "imports": "next",
      "lines": 100,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "72b3d71907f82678635105e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4485df8637b06d53",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/icon-192.png/route.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,ai",
      "component_id": "a23ccd22ba4dfd0b8d8dba48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b88bd9957bf62a93",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/platphorm-net-opt.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "d9dea51e09a60c2ae259254c",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | backend-score:55 | security-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a9797436a3afef76",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "75dce565786115bc998d13c7",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a5abfe331aa5be4",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/network.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,backend,observability,security",
      "component_id": "82d857479553e81f8b1d06f7",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET, dynamic | ai-score:120 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "815ef6c7e9069c84",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "d9c020dce568790aa7f134ca",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2f7375aaf294a800",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/change-password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "5bea8a47b69d18793c676959",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee2ed7d1b7c6ed6e",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/icon-maskable-192.png/route.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "660ef91bd5e8777505631533",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3af06de9094c96cd",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7074188ecfbc41d6b48b7815",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55 | observability-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "179164c929609395",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability",
      "component_id": "5200052cb92615dad7eda623",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99223293eff8e42e",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "1efbda23fad3746a8c28e741",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c0ef5f5c6d3a05bc",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,discovery",
      "component_id": "d23e1d23e4d0910f7e626c22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3d8d8cfd2e85b40",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 139,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "64d46f0249805e53d60a48cb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatphormNetOptPage, metadata | imports:@/components/ui/unicode-icon, @/lib/site-config, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PlatphormNetOptPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45c5f5a6fe434bad",
      "framework": "next-react",
      "imports": "@/components/ui/unicode-icon,@/lib/site-config,next,next/link",
      "lines": 248,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/platphorm-net-opt/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "feaf0ed9c56434e138febd07",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/site-config | backend-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5103fa33e084c49a",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability",
      "component_id": "aa9d4f39674d5725199edc72",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobPostingPage, metadata | imports:next | frontend-score:115 | automation-score:95 | ui-score:55 | observability-score:55",
      "exports": "JobPostingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a89c557c4577517d",
      "framework": "next-react",
      "imports": "next",
      "lines": 89,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/senior-global-countdown-editor/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "20195631739e966e675e428b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8367fa88724166fc",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/icon-maskable-512.png/route.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "05b97b5e1c79b18018fbe749",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a59035626afd3e0",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/icon-512.png/route.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability",
      "component_id": "fb4ee574aee2853c6afb7461",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "fs,node:fs,node:path",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/apple-icon.png/route, ../app/icon-192.png/route, ../app/icon-512.png/route, ../app/icon-maskable-192.png/route, ../app/icon-maskable-512.png/route, ../app/icon.png/route, ../app/opengraph-image, ../app/twitter-image | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "232af65c274f9d65",
      "framework": "next-react",
      "imports": "../app/apple-icon.png/route,../app/icon-192.png/route,../app/icon-512.png/route,../app/icon-maskable-192.png/route,../app/icon-maskable-512.png/route,../app/icon.png/route,../app/opengraph-image,../app/twitter-image,fs,node:fs,node:path",
      "lines": 256,
      "logic_relevance": "none",
      "name": "assets-icons.test",
      "normalized_name": "assets-icons",
      "package_manager": "pnpm",
      "path": "tests/assets-icons.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "8fba70f01feb35d9255d03fe",
      "component_kind": "sitemap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../app/sitemap | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4630eef721526735",
      "framework": "next-react",
      "imports": "../app/sitemap",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "tests/sitemap.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "c1e08fb84e023b0cf0a875eb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/.well-known/network.json/route, ../app/.well-known/security.txt/route | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15495ddf3808b9f9",
      "framework": "next-react",
      "imports": "../app/.well-known/network.json/route,../app/.well-known/security.txt/route",
      "lines": 25,
      "logic_relevance": "none",
      "name": "well-known-routes.test",
      "normalized_name": "well-known-routes",
      "package_manager": "pnpm",
      "path": "tests/well-known-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "ai,observability",
      "component_id": "e0853046e48be073ca42ad4c",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for mcp; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../app/.well-known/ai-plugin.json/route | ai-score:75 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b7a15e513dc24bb8",
      "framework": "next-react",
      "imports": "../app/.well-known/ai-plugin.json/route",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ai-plugin.test",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "tests/ai-plugin.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,observability,discovery,process",
      "component_id": "4139b8e81233606fbed03930",
      "component_kind": "api-docs",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/docs/route, ../app/api/openapi.json/route | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "34db57769b94e372",
      "framework": "next-react",
      "imports": "../app/api/docs/route,../app/api/openapi.json/route",
      "lines": 28,
      "logic_relevance": "none",
      "name": "api-docs.test",
      "normalized_name": "api-docs",
      "package_manager": "pnpm",
      "path": "tests/api-docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "34c14efb37f97ee546f5fa56",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/.well-known/change-password/route, ../app/humans.txt/route, node:fs/promises, node:path | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3ef7005535f8694a",
      "framework": "next-react",
      "imports": "../app/.well-known/change-password/route,../app/humans.txt/route,node:fs/promises,node:path",
      "lines": 99,
      "logic_relevance": "none",
      "name": "web-standards.test",
      "normalized_name": "web-standards",
      "package_manager": "pnpm",
      "path": "tests/web-standards.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "df40c909f3f643721532e56c",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../app/robots | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bbaa314d547ec508",
      "framework": "next-react",
      "imports": "../app/robots",
      "lines": 15,
      "logic_relevance": "none",
      "name": "robots.test",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "tests/robots.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "4c2acb693f780d27aa2b28e2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/feed.xml/route, ../app/llms-full.txt/route, ../app/llms-index.json/route, ../app/llms.txt/route, ../app/platphorm-net-opt.json/route, ../app/rss.xml/route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1d376c7285f9c73d",
      "framework": "next-react",
      "imports": "../app/feed.xml/route,../app/llms-full.txt/route,../app/llms-index.json/route,../app/llms.txt/route,../app/platphorm-net-opt.json/route,../app/rss.xml/route",
      "lines": 71,
      "logic_relevance": "none",
      "name": "discovery-routes.test",
      "normalized_name": "discovery-routes",
      "package_manager": "pnpm",
      "path": "tests/discovery-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d9a3279bc4955291f61f86bb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/health/route, ../app/api/mcp/route | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ae3711a237cfabc6",
      "framework": "next-react",
      "imports": "../app/api/health/route,../app/api/mcp/route",
      "lines": 22,
      "logic_relevance": "none",
      "name": "network-readiness.test",
      "normalized_name": "network-readiness",
      "package_manager": "pnpm",
      "path": "tests/network-readiness.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e7b9574d080f161d87a99752",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d1b590fe6b74245b77f45a6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CountdownTimer, HeroCountdown | imports:@/components/ui/unicode-icon, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CountdownTimer,HeroCountdown",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bfeb9ad55538bc9b",
      "framework": "next-react",
      "imports": "@/components/ui/unicode-icon,react",
      "lines": 284,
      "logic_relevance": "none",
      "name": "hero-countdown",
      "normalized_name": "hero-countdown",
      "package_manager": "pnpm",
      "path": "components/hero-countdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b41b513bbdd3752f28139d0f",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "66983b33b50707d5767ccf99",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FutureTimeline | imports:@/components/ui/unicode-icon, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FutureTimeline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07f866b465bd2cb5",
      "framework": "next-react",
      "imports": "@/components/ui/unicode-icon,react",
      "lines": 142,
      "logic_relevance": "none",
      "name": "future-timeline",
      "normalized_name": "future-timeline",
      "package_manager": "pnpm",
      "path": "components/future-timeline.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "03e96433ae8ac785f8d0e6b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisruptionStats | imports:@/components/ui/unicode-icon, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DisruptionStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f6c71a575d5a17d",
      "framework": "next-react",
      "imports": "@/components/ui/unicode-icon,react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "disruption-stats",
      "normalized_name": "disruption-stats",
      "package_manager": "pnpm",
      "path": "components/disruption-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6680fd2561a7d83d42f58910",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/ui/unicode-icon, @/lib/i18n-tooltips, @/lib/site-config | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "506984c4883b1bbd",
      "framework": "next-react",
      "imports": "@/components/ui/unicode-icon,@/lib/i18n-tooltips,@/lib/site-config",
      "lines": 209,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dc3ddbefedcd83e836acef93",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrailerSection | imports:@/components/ui/button, @/components/ui/unicode-icon, @/lib/i18n-tooltips, @/lib/site-config, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TrailerSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b411bdcf63e74f33",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/unicode-icon,@/lib/i18n-tooltips,@/lib/site-config,next/image,react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "trailer-section",
      "normalized_name": "trailer-section",
      "package_manager": "pnpm",
      "path": "components/trailer-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "7241c0c7cd25b6e25880442e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShopifyJoke | imports:@/components/ui/button, @/components/ui/unicode-icon, @/lib/i18n-tooltips, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ShopifyJoke",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be144fae63f5c8b4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/unicode-icon,@/lib/i18n-tooltips,react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "shopify-joke",
      "normalized_name": "shopify-joke",
      "package_manager": "pnpm",
      "path": "components/shopify-joke.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "497c77d7a81b4931ce2166e0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IndustryNews | imports:@/components/ui/unicode-icon, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IndustryNews",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19817548d80d4835",
      "framework": "next-react",
      "imports": "@/components/ui/unicode-icon,react",
      "lines": 212,
      "logic_relevance": "none",
      "name": "industry-news",
      "normalized_name": "industry-news",
      "package_manager": "pnpm",
      "path": "components/industry-news.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "268c3edc7e2580420a5dbfaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:UNICODE_ICONS, UnicodeIcon, UnicodeIconName | imports:@/lib/utils | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "UNICODE_ICONS,UnicodeIcon,UnicodeIconName",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b5c9dec432e5b188",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 74,
      "logic_relevance": "none",
      "name": "unicode-icon",
      "normalized_name": "unicode-icon",
      "package_manager": "pnpm",
      "path": "components/ui/unicode-icon.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fa0e04f9d515e93c6637af44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "5fd1941902df2a67632c4d55",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "90fbd1555ef400d7",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "ea90e03f5c5b016aae1b0e80",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "480db74f6a6a55d2",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "network.manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "public/network.manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "ecf83eff3de20c46c530066c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b57dd65d489f587b",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "24e6a8207ab08bd2ef9ad14f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6a752d59d9e7b9a5",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "e478f0ff8deaf3c4140a9e15",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "14ae0273bfddfbaa",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f2b0f15f9e07f5d81d9d0aa3",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "861467f5e5cfbd2ae9cd8693",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DISCOVERY_PATHS, MCP_REGISTRY_URL, NETWORK_PARENT, PROJECT_NAME, PROJECT_VERSION, ROOT_NETWORK_URL, SITE_URL, SOCIAL_IMAGE_PATH | logic-score:85 | observability-score:55",
      "exports": "DISCOVERY_PATHS,MCP_REGISTRY_URL,NETWORK_PARENT,PROJECT_NAME,PROJECT_VERSION,ROOT_NETWORK_URL,SITE_URL,SOCIAL_IMAGE_PATH,absoluteUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b23056b2100536b9",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "site-config",
      "normalized_name": "site-config",
      "package_manager": "pnpm",
      "path": "lib/site-config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "45763c35ed02b2d5e2ae0f76",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TooltipKey, getTooltip | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "TooltipKey,getTooltip",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a0c5a0f38717005b",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "i18n-tooltips",
      "normalized_name": "i18n-tooltips",
      "package_manager": "pnpm",
      "path": "lib/i18n-tooltips.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security,discovery",
      "component_id": "25445063a4b463deb01f704e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GTA_KEYWORDS, MetadataConfig, generatePageMetadata | imports:next | logic-score:85 | security-score:55 | discovery-score:55",
      "exports": "GTA_KEYWORDS,MetadataConfig,generatePageMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d118537e63fcb0bb",
      "framework": "next-react",
      "imports": "next",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "logic,observability,security,automation",
      "component_id": "b20a62e30dcaa121a228d1e4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEPLOYMENT, NEXT_16_FEATURES, PERFORMANCE_CONFIG, QUALITY_CONFIG, REACT_19_FEATURES, SECURITY, STYLING_CONFIG, WEB_STANDARDS | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DEPLOYMENT,NEXT_16_FEATURES,PERFORMANCE_CONFIG,QUALITY_CONFIG,REACT_19_FEATURES,SECURITY,STYLING_CONFIG,WEB_STANDARDS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d08b25461e739f3a",
      "framework": "next-react",
      "imports": "",
      "lines": 217,
      "logic_relevance": "primary",
      "name": "performance-config",
      "normalized_name": "performance-config",
      "package_manager": "pnpm",
      "path": "lib/performance-config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__gta-6-countdown-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9520cf5351f034d5a4705ea7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6ceb3bc2e5105cf",
      "framework": "next-react",
      "imports": "",
      "lines": 4596,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "3ce939b8beec8d78d38d1181",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/proxy, next/server | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55b289ad16c22549",
      "framework": "next-react",
      "imports": "@/lib/supabase/proxy,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "e43eeb393cd9c9fac3610c9b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1f130ec646977847",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "208357b81c155502074912c2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "023550d8ffd30176",
      "framework": "next-react",
      "imports": "",
      "lines": 6304,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5b256b3ac02a342a680d67fd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "08ac26a7ec46c4d2",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "cc1d901c3aeb4ee7ebddb402",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/products, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e85a9265c18f3d99",
      "framework": "next-react",
      "imports": "@/lib/products,next",
      "lines": 74,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1df2be1910071b1835565c54",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/cart-provider, @/components/json-ld, @/components/ui/sonner, @/lib/i18n/provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e786b59b60aa6a6",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/json-ld,@/components/ui/sonner,@/lib/i18n/provider,@vercel/analytics/next,next,next/font/google",
      "lines": 117,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dfff050d80982e6789720ca4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, metadata | imports:@/components/footer, @/components/header, @/components/product-card, @/components/ui/button, @/lib/i18n/config, @/lib/products, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "904d9baf39977828",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/product-card,@/components/ui/button,@/lib/i18n/config,@/lib/products,next,next/link",
      "lines": 202,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d877f9679d6bfe5c94de05b8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "788210da40904321",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "d1218e865288b4842227f0e7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:@/lib/products | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f5792fc37e15a3d",
      "framework": "next-react",
      "imports": "@/lib/products",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1ea11c59c827a3875e34a256",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:@/components/footer, @/components/header, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/i18n/config, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02a6836e7c1b1d00",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/i18n/config,react,sonner",
      "lines": 175,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "5eb4f2b22f3083bd89f51d9c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductPage | imports:@/components/breadcrumb, @/components/footer, @/components/header, @/components/product-card, @/components/product-details, @/lib/products, next/navigation | frontend-score:115 | ui-score:55 | security-score:55 | metadata",
      "exports": "ProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f7be0e5ca8cc569",
      "framework": "next-react",
      "imports": "@/components/breadcrumb,@/components/footer,@/components/header,@/components/product-card,@/components/product-details,@/lib/products,next/navigation",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/products/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "01217d360d56b918a4f3a5a2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/footer, @/components/header, @/lib/i18n/config, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b5c4fe16d3cb3919",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/lib/i18n/config,next",
      "lines": 105,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c483cbb526e70c380ec64074",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuppliersPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/badge, @/components/ui/button, @/lib/i18n/config, @/lib/suppliers/greens, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SuppliersPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa916c8e26ec69d7",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/badge,@/components/ui/button,@/lib/i18n/config,@/lib/suppliers/greens,next,next/link",
      "lines": 179,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/suppliers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,process",
      "component_id": "54e0f578f7c85012e1a5dd45",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/breadcrumb, @/components/footer, @/components/header | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b0a1aebc4551e19",
      "framework": "next-react",
      "imports": "@/components/breadcrumb,@/components/footer,@/components/header",
      "lines": 55,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5333d5794786aaab58e836e1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/breadcrumb, @/components/footer, @/components/header | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "548f65347108f847",
      "framework": "next-react",
      "imports": "@/components/breadcrumb,@/components/footer,@/components/header",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7fda8864f2e4ecf112adc891",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductGrid, ProductGridSkeleton, ShopPage | imports:@/components/breadcrumb, @/components/footer, @/components/header, @/components/product-card, @/components/shop-filters, @/components/ui/button, @/components/ui/skeleton, @/lib/products | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductGrid,ProductGridSkeleton,ShopPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8bb3e97cc57e859",
      "framework": "next-react",
      "imports": "@/components/breadcrumb,@/components/footer,@/components/header,@/components/product-card,@/components/shop-filters,@/components/ui/button,@/components/ui/skeleton,@/lib/products,next/link,react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/shop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "19ac960999c20d34331c3735",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/footer, @/components/header, @/lib/i18n/config, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca28233fd005a21d",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/lib/i18n/config,next",
      "lines": 123,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "01b6d13615ac635c9555f8bc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/footer, @/components/header, @/components/json-ld, @/components/ui/button, @/components/ui/card, @/lib/i18n/config, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cc329fde40e66d3",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/json-ld,@/components/ui/button,@/components/ui/card,@/lib/i18n/config,next,next/link",
      "lines": 593,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "959518fea2ea20dccf8e8785",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShippingPage, metadata | imports:@/components/footer, @/components/header, @/lib/i18n/config, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ShippingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c198678bd5c4b87",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/lib/i18n/config,next",
      "lines": 130,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/shipping/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6d7697c6770ab0c8ec7eea41",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,@stripe/react-stripe-js,@stripe/stripe-js,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutPage | imports:@/app/actions/stripe, @/components/cart-provider, @/components/footer, @/components/header, @/components/ui/button, @/lib/products, @stripe/react-stripe-js, @stripe/stripe-js | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CheckoutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24d29b8d12dc4ab5",
      "framework": "next-react",
      "imports": "@/app/actions/stripe,@/components/cart-provider,@/components/footer,@/components/header,@/components/ui/button,@/lib/products,@stripe/react-stripe-js,@stripe/stripe-js,lucide-react,next/link,react",
      "lines": 136,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/checkout/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "71c001f49851bbf995e3b5b3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutSuccessPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "CheckoutSuccessPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c16814c0a348932",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,lucide-react,next/link",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/checkout/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "880a289e67d8f0e19b3cfcea",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CareersPage | imports:@/components/breadcrumb, @/components/footer, @/components/header | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "CareersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0dc91425d6ef09c5",
      "framework": "next-react",
      "imports": "@/components/breadcrumb,@/components/footer,@/components/header",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/careers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,observability,security,ai",
      "component_id": "c3286d5cbfe01fc2706c6114",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/products, @/lib/stripe | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a645253b3b56f728",
      "framework": "next-react",
      "imports": "@/lib/products,@/lib/stripe",
      "lines": 54,
      "logic_relevance": "none",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "app/actions/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend",
      "component_id": "833db32b7d861f4e0d74cb46",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "404560342fcadc33",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "c514b8861ab5a2d9378ffca1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "530d46a1d7757149",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "40cc9ae6a8e3040699c5b9f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/suppliers/greens, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cb86aa5b3773be93",
      "framework": "next-react",
      "imports": "@/lib/suppliers/greens,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/suppliers/greens/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "59d9afc8148b6156c006a146",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:KanbanTask, runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "KanbanTask,runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1d1afe9b250d6d24",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/kanban/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "42817a6ebff0ecee36fb1e36",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d3acd3cfd8101202",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/orders/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "633feb48e2e9c72b1e1498c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6cdde4eb786f62c5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,discovery",
      "component_id": "05b9a5a5c43937db928e0a1e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc207aa47ea48281",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 435,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,backend,integration,observability,discovery",
      "component_id": "809c19bc13d9d43493c86701",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsPage, metadata | imports:@/components/footer, @/components/header | frontend-score:85 | process-score:80 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "ApiDocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77f75fe5ada975ba",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header",
      "lines": 271,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api-docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b06b75cd897749519746a98a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "95b0b764f7f5cb1941cd97eb",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6b401bf8c4f0bc0a8716a706",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductDetails | imports:@/components/cart-provider, @/components/ui/badge, @/components/ui/button, @/lib/products, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductDetails",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "983b117039625785",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/ui/badge,@/components/ui/button,@/lib/products,lucide-react,next/image,next/link,react,sonner",
      "lines": 164,
      "logic_relevance": "none",
      "name": "product-details",
      "normalized_name": "product-details",
      "package_manager": "pnpm",
      "path": "components/product-details.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "489ba1d89a592c939b36e16c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard | imports:@/components/cart-provider, @/components/ui/badge, @/components/ui/button, @/lib/i18n/config, @/lib/products, next/image, next/link, sonner | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65233df3004025aa",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/ui/badge,@/components/ui/button,@/lib/i18n/config,@/lib/products,next/image,next/link,sonner",
      "lines": 71,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "components/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "6252f4f07cffb700bf230d6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbJsonLd, FAQPageJsonLd, LocalBusinessJsonLd, OrganizationJsonLd, ProductJsonLd, WebSiteJsonLd | imports:@/lib/products | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "BreadcrumbJsonLd,FAQPageJsonLd,LocalBusinessJsonLd,OrganizationJsonLd,ProductJsonLd,WebSiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42abe9f083201a9a",
      "framework": "next-react",
      "imports": "@/lib/products",
      "lines": 188,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bae63400f5d76851cfcbb8f3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/i18n/config, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c52f8079f515e29c",
      "framework": "next-react",
      "imports": "@/lib/i18n/config,next/link",
      "lines": 112,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4ee8603953ee7ce74ee30208",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbItem | imports:lucide-react, next/link | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Breadcrumb,BreadcrumbItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fb208ebe161b1188",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 36,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "a51a8cc0f7f2ce750702562e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShopFilters | imports:@/lib/products, @/lib/utils, next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ShopFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e9039b25408b890",
      "framework": "next-react",
      "imports": "@/lib/products,@/lib/utils,next/link,next/navigation",
      "lines": 38,
      "logic_relevance": "none",
      "name": "shop-filters",
      "normalized_name": "shop-filters",
      "package_manager": "pnpm",
      "path": "components/shop-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fe641e6cb58fa28619978472",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/cart-drawer, @/components/cart-provider, @/components/language-switcher, @/components/ui/button, @/components/ui/sheet, @/lib/i18n/config, @/lib/i18n/provider, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10bc3d529c316c36",
      "framework": "next-react",
      "imports": "@/components/cart-drawer,@/components/cart-provider,@/components/language-switcher,@/components/ui/button,@/components/ui/sheet,@/lib/i18n/config,@/lib/i18n/provider,next/link,react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ac272c0b5aa671584264fb77",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n/config, @/lib/i18n/provider | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LanguageSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "612572c08333d5cf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n/config,@/lib/i18n/provider",
      "lines": 39,
      "logic_relevance": "none",
      "name": "language-switcher",
      "normalized_name": "language-switcher",
      "package_manager": "pnpm",
      "path": "components/language-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8dbe97da2b07071ded25742d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartDrawer | imports:@/components/cart-provider, @/components/ui/button, @/components/ui/sheet, @/lib/products, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CartDrawer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a197eacfd923ef63",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/ui/button,@/components/ui/sheet,@/lib/products,lucide-react,next/image,next/link",
      "lines": 132,
      "logic_relevance": "none",
      "name": "cart-drawer",
      "normalized_name": "cart-drawer",
      "package_manager": "pnpm",
      "path": "components/cart-drawer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "06e37de3f18c74503f0c6481",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartItem, CartProvider, useCart | imports:@/lib/products, react | frontend-score:115 | ui-score:70",
      "exports": "CartItem,CartProvider,useCart",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a4bb869b5622c3c",
      "framework": "next-react",
      "imports": "@/lib/products,react",
      "lines": 169,
      "logic_relevance": "none",
      "name": "cart-provider",
      "normalized_name": "cart-provider",
      "package_manager": "pnpm",
      "path": "components/cart-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "01c43b3278a47ef53ddc7361",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "818d31ae584c44d1003c94d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "576932e6df614bf6a230dc37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "eca0a1c39a883414ea7286dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "15e36a2b6842df5ad1b4577c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "db4a8e0cba74fe05d037ea23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9ad4675fda61ab58db62d6d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "26fd8b2675dd1dfd8583353d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4597cb769d3e67ecf18f9c0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "34c76d8313cb774f7abac8f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "2298169028a21a5b7ba6cb0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "d26202fffae0ddabe4a48c4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a9b2ce7e591c66819b294e28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "81a007bd5fe8e5637f4bcf2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "61e509a395c1d7e2ded3421c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7006da73339339eba6ee2b95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ef2dc59b9e13e44b017a869d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5eded37c1c4dd3d4240b6916",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5efce728d7e3b3ad4771846d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4c7460a3956a3eddd61316a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8b0dc40e18f4e090a351d46f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b0478b339053f91e086f7c59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1eb65498ab12f30493f47f38",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e670abba494fec62e74ae25b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3c2879e851c7b8e62d567f0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "8fd21bfde6136d45a2afe751",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ac6589759eab5ef391c907e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "dfd0ddb11bcfe5cbd634dc47",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d4cbcc94b0d747fd34d33852",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "7fccf44dc12522f12ea19aeb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2dbcc7c52438c14044bda8a8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "879cea3078908849737759d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "048a98a0be7e51d4fd1cb134",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f54a515676803559db2fc508",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0d8a00539d737e781cd505d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "dd3f580a45ed2fd3acc58d33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6ce61f65438c4a4372d22af6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b7fa496d0e44263a53a086de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "14eaf4d043ec384fe9b51135",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "84211d5b33493f5d2c89d82c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "424cf2ef93c311ae2dca3236",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d48a106e7a0662ccdb935846",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "632524fa2b67017612c47de5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "746e70ab2666a750c03aeac9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ab8e91c4f4a996e6897ebae7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c2219654d4e45b27c982c642",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "75dbe1089a402ab41e802f16",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "def42981783ee436f189dcd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "19123c4ef6c1330302831311",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4830cf6272ec84301df80b03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9211222e9488f984adbf4d86",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f953ee553d22c54ba42a2f2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5b153f9392a0f1b50715ba9a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ed64d5bbe6629fdb8fcf20a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4432ed4e06584f351b43e6b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "fb616a4f972b2e25df605b8b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "38a0180c694ccf47b9f35c03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,discovery,automation",
      "component_id": "888416515b4908e48a14f0e3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "de1d8b3f82647aad",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "35a6b2c3bab3ff3adccd6890",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "43d1c75f9ca7d522",
      "framework": "next-react",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "public/version.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,automation",
      "component_id": "f43cd02aba2aa4f4e496e5ac",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb504ae31f4d4f61",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "4f466b9e5e6ab6d0b9f3b1c5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "126e17024349df0b",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "01a013fb3415eba8967c4847",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ab5beee491b0e9f8",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "44adb4467ada073146bf3e33",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "59ad1e80235e1d30",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "public/CHANGELOG.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,discovery,automation",
      "component_id": "7e9e91886a99919f933f2e9e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "659f66c46aec700c",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "f2ec0b644831f422d18348f2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3db652027fbec108",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "fa41499631a10718c48e1a26",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "95112b10ce064307",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,automation",
      "component_id": "894672ca0aed89439b737c17",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/careers/page, @/app/faq/page, @/app/roadmap/page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae2c4cdcaf4fc42a",
      "framework": "next-react",
      "imports": "@/app/careers/page,@/app/faq/page,@/app/roadmap/page,@testing-library/react,vitest",
      "lines": 40,
      "logic_relevance": "none",
      "name": "pages.test",
      "normalized_name": "pages",
      "package_manager": "pnpm",
      "path": "__tests__/pages.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ec110d453b0d1351549c0a82",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/middleware,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/middleware, next/server, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6165d6800494c8f1",
      "framework": "next-react",
      "imports": "@/middleware,next/server,vitest",
      "lines": 29,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "219857440726652bdc0e6528",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/breadcrumb, @testing-library/react | ui-score:125 | frontend-score:60",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48c9d148b1459b8c",
      "framework": "next-react",
      "imports": "@/components/breadcrumb,@testing-library/react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "breadcrumb.test",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "__tests__/breadcrumb.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "6e2b7202b000d36b62d10beb",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/header, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9394d40d8e869c8",
      "framework": "next-react",
      "imports": "@/components/header,@testing-library/react,vitest",
      "lines": 55,
      "logic_relevance": "none",
      "name": "header.test",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "__tests__/header.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1c0613895bf8a9dc92f4ba21",
      "component_kind": "health-check",
      "confidence": 65,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/health/route, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "015c654d8c1f65e5",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "82ffa078e5b0f39cfd532995",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f5137c3f6017fc1c",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "52c06b22bb8c2c5ac7b3ccc0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a583c75311fd1271",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "a6fa3bd4def58490c364aa53",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2c5bcd816853cdd0",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "65ba845655549d2cbfa65032",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:JOB_DESCRIPTION, JOB_TITLE, NETWORK_METADATA, SITE_URL | observability-score:55 | automation-score:50",
      "exports": "JOB_DESCRIPTION,JOB_TITLE,NETWORK_METADATA,SITE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a150434e8b2e73b1",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "network-registration",
      "normalized_name": "network-registration",
      "package_manager": "pnpm",
      "path": "scripts/network-registration.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,logic",
      "component_id": "9d2d721cb8ad1f277b46f3df",
      "component_kind": "integration-module",
      "confidence": 95,
      "dependency_roots": "stripe",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:stripe | imports:stripe | integration-score:55 | security-score:55 | logic-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41603e676c37b18b",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "32b8d5c55c3dec34958ad97f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateTaskInput, KanbanTask, PROJECT_ID, TASK_TEMPLATES | logic-score:85 | observability-score:55",
      "exports": "CreateTaskInput,KanbanTask,PROJECT_ID,TASK_TEMPLATES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f56a1516da8aa2df",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "primary",
      "name": "kanban",
      "normalized_name": "kanban",
      "package_manager": "pnpm",
      "path": "lib/kanban.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f59356b2b1a899a9249372db",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "cc9689d46fb4687a67851642",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CATEGORY_DESCRIPTIONS, CATEGORY_LABELS, CartItem, Order, OrderItem, PRODUCTS, Product, formatPrice | logic-score:85 | observability-score:55",
      "exports": "CATEGORY_DESCRIPTIONS,CATEGORY_LABELS,CartItem,Order,OrderItem,PRODUCTS,Product,formatPrice,getFeaturedProducts,getProductById,getProductBySlug,getProductsByCategory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "472dd34bea4c2609",
      "framework": "next-react",
      "imports": "",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "936a1d5ff837533b2bda67c6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ASCII_ART, AsciiConvertOptions, AsciiResult, getProductAscii | logic-score:85 | observability-score:55",
      "exports": "ASCII_ART,AsciiConvertOptions,AsciiResult,getProductAscii",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31c6ff7ed46a02a5",
      "framework": "next-react",
      "imports": "",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "ascii",
      "normalized_name": "ascii",
      "package_manager": "pnpm",
      "path": "lib/ascii.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,observability",
      "component_id": "b0afdf26ff0cc018efd97f4c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AVAILABLE_INGREDIENTS, GreensSupplierClient, Ingredient, PRODUCT_INGREDIENTS, SUPPLIER_INFO, SupplierOrder, greensClient | logic-score:85 | observability-score:55",
      "exports": "AVAILABLE_INGREDIENTS,GreensSupplierClient,Ingredient,PRODUCT_INGREDIENTS,SUPPLIER_INFO,SupplierOrder,greensClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fd1a06748042f004",
      "framework": "next-react",
      "imports": "",
      "lines": 200,
      "logic_relevance": "primary",
      "name": "greens",
      "normalized_name": "greens",
      "package_manager": "pnpm",
      "path": "lib/suppliers/greens.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "cabb8232e15d24f667fdcfc2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CartItemLocal, StoredCart, StoredOrder, SyncManager, SyncStatus, localDb, syncManager | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CartItemLocal,StoredCart,StoredOrder,SyncManager,SyncStatus,localDb,syncManager",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0fc5c1b95f6dfc6a",
      "framework": "next-react",
      "imports": "",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "local-db",
      "normalized_name": "local-db",
      "package_manager": "pnpm",
      "path": "lib/storage/local-db.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "ecf5ab0c20d832ce43e27b1d",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e8476d533df0153",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "3ac685cde1cb75ffe5a762b9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31e306c76cba990d",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "lib/supabase/proxy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "75135ed26edde88fe0097898",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0ceca79251cefb73",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "553a088658cf7aae4d10dcb4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:t, translations | imports:./config | logic-score:85 | security-score:55",
      "exports": "t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "da0dd9e75527622c",
      "framework": "next-react",
      "imports": "./config",
      "lines": 366,
      "logic_relevance": "primary",
      "name": "translations",
      "normalized_name": "translations",
      "package_manager": "pnpm",
      "path": "lib/i18n/translations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,observability,security",
      "component_id": "049ed3e8a7afd76bab804ae3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IconKey, Locale, defaultLocale, icons, localeFlags, localeNames, locales | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "IconKey,Locale,defaultLocale,icons,localeFlags,localeNames,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a0f64958ec8c6aa",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,logic,security",
      "component_id": "991bf54f535aac476b692033",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, useI18n, useTranslation | imports:./config, ./translations, react | frontend-score:90 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "I18nProvider,useI18n,useTranslation",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4bfb21ae9e7e502b",
      "framework": "next-react",
      "imports": "./config,./translations,react",
      "lines": 63,
      "logic_relevance": "secondary",
      "name": "provider",
      "normalized_name": "provider",
      "package_manager": "pnpm",
      "path": "lib/i18n/provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__hot-chocolate-for-profit-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "4a39589296867752213c7744",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3321c31d5b54bdd7",
      "framework": "react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "6649dbfa1bcf1a0c0e660979",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51966aebfd6890a6",
      "framework": "react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 91,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "npm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4a92dfcb91c149d4bf5c868b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf3e801dff70b8f0",
      "framework": "react",
      "imports": "",
      "lines": 7009,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6d4e443d98938aa245aa26d7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9b309c437c427b56",
      "framework": "react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5562258d435f661fce12e70d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "https:",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:https://esm.sh/@supabase/supabase-js@2.75.0 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1db99bfcea0c0231",
      "framework": "react",
      "imports": "https://esm.sh/@supabase/supabase-js@2.75.0",
      "lines": 117,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "npm",
      "path": "supabase/functions/send-postcard/index.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "87a70079c26aed8c8a566efb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a3d27b3ca5ce3234",
      "framework": "react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "npm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "8b9eecdd12c8db9326c09c4a",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@tanstack/react-query,react-router-dom",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:App | imports:./pages/Auth, ./pages/Index, ./pages/NotFound, @/components/ui/sonner, @/components/ui/toaster, @/components/ui/tooltip, @tanstack/react-query, react-router-dom | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "App",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98d036fd5565ad07",
      "framework": "react",
      "imports": "./pages/Auth,./pages/Index,./pages/NotFound,@/components/ui/sonner,@/components/ui/toaster,@/components/ui/tooltip,@tanstack/react-query,react-router-dom",
      "lines": 29,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "npm",
      "path": "src/App.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "205549b12d88ae362d897e0d",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "react-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:./App.tsx, react-dom/client | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c633525e3d3cf96b",
      "framework": "react",
      "imports": "./App.tsx,react-dom/client",
      "lines": 5,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "npm",
      "path": "src/main.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "3a85756981c31a8c39a35420",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a0715e0a09edbd0f",
      "framework": "react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "npm",
      "path": "src/App.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4eafd0553fa060a5b7e884df",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "43af8fa09b9285c2",
      "framework": "react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "npm",
      "path": "src/index.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "observability,security",
      "component_id": "bb82f0e6390a34e5d2256d2c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for logic; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CompositeTypes, Constants, Database, Enums, Json, Tables, TablesInsert, TablesUpdate | observability-score:55 | security-score:55",
      "exports": "CompositeTypes,Constants,Database,Enums,Json,Tables,TablesInsert,TablesUpdate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bace4d70b5447e34",
      "framework": "react",
      "imports": "",
      "lines": 243,
      "logic_relevance": "none",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "npm",
      "path": "src/integrations/supabase/types.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c0be139639b444d540293933",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@/integrations,@supabase/supabase-js",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:supabase | imports:./types, @/integrations/supabase/client, @supabase/supabase-js | security-score:55",
      "exports": "supabase",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0ca77b4eaebb21d",
      "framework": "react",
      "imports": "./types,@/integrations/supabase/client,@supabase/supabase-js",
      "lines": 17,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "npm",
      "path": "src/integrations/supabase/client.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "708ca797ab774c5c397eaa6f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/integrations,lucide-react,react,sonner",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Auth | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/integrations/supabase/client, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Auth",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76b64fd7ecfad0c8",
      "framework": "react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/integrations/supabase/client,lucide-react,react,sonner",
      "lines": 97,
      "logic_relevance": "none",
      "name": "Auth",
      "normalized_name": "auth",
      "package_manager": "npm",
      "path": "src/components/Auth.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f3d681f9260aac195f799837",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/integrations,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactList | imports:@/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/integrations/supabase/client, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13ce70facab30cfa",
      "framework": "react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/integrations/supabase/client,lucide-react,react,sonner",
      "lines": 179,
      "logic_relevance": "none",
      "name": "ContactList",
      "normalized_name": "contact-list",
      "package_manager": "npm",
      "path": "src/components/ContactList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "c8902d7f258d08eb5e05d9e7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostcardPreview | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "PostcardPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de96a29cb7293fe0",
      "framework": "react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "PostcardPreview",
      "normalized_name": "postcard-preview",
      "package_manager": "npm",
      "path": "src/components/PostcardPreview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "342d0fdf466c5d341a6d8f61",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/integrations,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactsDialog | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/hooks/use-toast, @/integrations/supabase/client, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactsDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78bd354d063cee0c",
      "framework": "react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/hooks/use-toast,@/integrations/supabase/client,lucide-react,react",
      "lines": 214,
      "logic_relevance": "none",
      "name": "ContactsDialog",
      "normalized_name": "contacts-dialog",
      "package_manager": "npm",
      "path": "src/components/ContactsDialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "75ea693b35c9836652d25a48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:Camera | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "Camera",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ad9c4c292719c11",
      "framework": "react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "Camera",
      "normalized_name": "camera",
      "package_manager": "npm",
      "path": "src/components/Camera.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5ea5b475357f9755f8f1c4e1",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d72c73d629e37995",
      "framework": "react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 5,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "npm",
      "path": "src/components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ec8e73cea535b1a4a1b534a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c8b01137c7552e63",
      "framework": "react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "npm",
      "path": "src/components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ba5bc5e12bd394d99e69060c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ac9da1e191c34855",
      "framework": "react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "npm",
      "path": "src/components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d32470bb2d618c080b67d683",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b313d08a8c85e586",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "npm",
      "path": "src/components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "521924d14aa686a18393bccc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bdfb74248321c52e",
      "framework": "react",
      "imports": "@/lib/utils,react",
      "lines": 43,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "src/components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b5d4e79657bcfe6338fd46c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b81a683197551322",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "npm",
      "path": "src/components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0dac85eff62f56327173e2e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ee5f78ece57c9e8e",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "npm",
      "path": "src/components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "32ab8cc6390b51b250d488fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bdc4847f05de3aea",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "npm",
      "path": "src/components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "30e7337a19cd402b3e81e6a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "600d661340ddc3ee",
      "framework": "react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 24,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "npm",
      "path": "src/components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ca25a24da70d9d7f1dd324c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a301658db5430d30",
      "framework": "react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "npm",
      "path": "src/components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5f02e377b9eecfe2542d1749",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a759d32aa240fa6e",
      "framework": "react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 303,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "npm",
      "path": "src/components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "170aee2d557caff88a9515ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8d606e166ef5f9bc",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "npm",
      "path": "src/components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d9a56f809692b55f106e1e61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e7d726b34d0f3214",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "npm",
      "path": "src/components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "50e5843c41806b97822a58cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "998181a10164aa6e",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "npm",
      "path": "src/components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fbdbcbb0a826f29ae1444d72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a31af34c14c7c866",
      "framework": "react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 37,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "npm",
      "path": "src/components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "45f55e30c225d3d87f647e0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d5dc9497cbb28a54",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "src/components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "86193c35b215422dc37e57be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster, toast | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster,toast",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "720fa5658777a469",
      "framework": "react",
      "imports": "next-themes,sonner",
      "lines": 27,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "npm",
      "path": "src/components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "86d23d8d1bb45580d1071068",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92736fbbe66e31d1",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "npm",
      "path": "src/components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a0cc20c2f209da9fccc3d355",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9587b5ca80cf0aa6",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "npm",
      "path": "src/components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "90a3929d4861ef4c7f3b4d9d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3739cdfc80503412",
      "framework": "react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 87,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "npm",
      "path": "src/components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "34e3eb44f0e201258d131c6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bd9361649477cf94",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "npm",
      "path": "src/components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3ca8016ca33a5806e380f6c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6352c232d36b2aeb",
      "framework": "react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 43,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "src/components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "878899ef366a7418928d4cd8",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:toast, useToast | imports:@/hooks/use-toast | ui-score:70",
      "exports": "toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d48c4c490e5101aa",
      "framework": "react",
      "imports": "@/hooks/use-toast",
      "lines": 3,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "npm",
      "path": "src/components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "04257779be30e4163e0971e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "99cda942c2d215d8",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "npm",
      "path": "src/components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "8759c9cad8d0e234a7e2350e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "845a0b0fdec33d8d",
      "framework": "react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 54,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "npm",
      "path": "src/components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2a98156b88311bcb29666e03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e5589a54c1ed4210",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "npm",
      "path": "src/components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1fc13361e53020f678a07e03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995ec983735b2045",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "npm",
      "path": "src/components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "54332b157b76c19c2fadd391",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2b640fee593528d4",
      "framework": "react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 132,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "npm",
      "path": "src/components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fcab118afcbe33053b519793",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a3ea231230c8fff2",
      "framework": "react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "npm",
      "path": "src/components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a2cdab1f9646648264361697",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4a8bc00e5514912c",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "npm",
      "path": "src/components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "991df8b84d957914d48796e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9a44756ba91e4c48",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 207,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "npm",
      "path": "src/components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6bb71c0fc8e7db2aaca0e37c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8e755711b3fd5e8d",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "npm",
      "path": "src/components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "38ced0cc594126c6b68b012d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b851d9ba385c4d60",
      "framework": "react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "npm",
      "path": "src/components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "65af01a2d94a8bf8bee57d9d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5754b54ecb6151d7",
      "framework": "react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 637,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "npm",
      "path": "src/components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e2e7344d623d5b0b760dcc27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fab18d9eeb84781f",
      "framework": "react",
      "imports": "@/lib/utils,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "npm",
      "path": "src/components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "350adf75bf3dea0852a592ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6c271e740c3d7b54",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "src/components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f009d63721d0b4fdd2f86bf1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "99e5091c618896c9",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "src/components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a9cff9211afc4ad32151ec0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fb0f786bce638fd4",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "npm",
      "path": "src/components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3a5ac0e6d723bd0c8c355800",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8f4db67ae4633904",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "npm",
      "path": "src/components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8a4e7219c81265b29ce94c58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "178f8177bedb1704",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "npm",
      "path": "src/components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2424b9c2633a113f844c184f",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fbe07841b794e0d7",
      "framework": "react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 9,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "npm",
      "path": "src/components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9d7914b52be05c7b726e7bf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b1ede0a4144b6485",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "npm",
      "path": "src/components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3fba50a8f3d5f37136cb5bea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a2b62120a033b36c",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "npm",
      "path": "src/components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "634e2d290eedd250d76196a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea, TextareaProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea,TextareaProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2f5b24d28dc5c418",
      "framework": "react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "npm",
      "path": "src/components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e2b7f7ba00cf6683a883bdc4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aacef8933fe99ab5",
      "framework": "react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "src/components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "37a93c9c98c8b72beaf257c9",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a229c310b9cbcb01",
      "framework": "react",
      "imports": "@/lib/utils",
      "lines": 7,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "npm",
      "path": "src/components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d27d9292f8934b9d3a59cde1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d294c5e421c41b8",
      "framework": "react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 178,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "npm",
      "path": "src/components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "883abaa4e68252c35f82d0df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f6f3b157f0c0888",
      "framework": "react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 129,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "npm",
      "path": "src/components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "124dcac875633f81d3274a1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "561cab7fcb619dee",
      "framework": "react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 224,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "npm",
      "path": "src/components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "abdd819892f2caaf4fda7fc1",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21eff740f9e5c965",
      "framework": "react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "npm",
      "path": "src/hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "3aff0f1e9181b019532d6684",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1f1e0d62cb8d8d1",
      "framework": "react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "src/lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "11989668267014cc08e8818e",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks,@/integrations,@supabase/supabase-js,lucide-react,react,react-router-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Index | imports:@/components/ContactsDialog, @/components/PostcardPreview, @/components/ui/button, @/hooks/use-toast, @/integrations/supabase/client, @supabase/supabase-js, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Index",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76c9b37dd1eaf60d",
      "framework": "react",
      "imports": "@/components/ContactsDialog,@/components/PostcardPreview,@/components/ui/button,@/hooks/use-toast,@/integrations/supabase/client,@supabase/supabase-js,lucide-react,react,react-router-dom",
      "lines": 248,
      "logic_relevance": "none",
      "name": "Index",
      "normalized_name": "index",
      "package_manager": "npm",
      "path": "src/pages/Index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "237e6b7c67ba60f21d5c424f",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks,@/integrations,lucide-react,react,react-router-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Auth | imports:@/components/ui/button, @/components/ui/input, @/hooks/use-toast, @/integrations/supabase/client, lucide-react, react, react-router-dom | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Auth",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65815cf0faefa863",
      "framework": "react",
      "imports": "@/components/ui/button,@/components/ui/input,@/hooks/use-toast,@/integrations/supabase/client,lucide-react,react,react-router-dom",
      "lines": 109,
      "logic_relevance": "none",
      "name": "Auth",
      "normalized_name": "auth",
      "package_manager": "npm",
      "path": "src/pages/Auth.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2f6296892c3baf174bf2d281",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "react,react-router-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:react, react-router-dom | frontend-score:115 | ui-score:70",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39e4568f7c7302db",
      "framework": "react",
      "imports": "react,react-router-dom",
      "lines": 24,
      "logic_relevance": "none",
      "name": "NotFound",
      "normalized_name": "not-found",
      "package_manager": "npm",
      "path": "src/pages/NotFound.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__instant-snap-postcard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "9aa8e195a35e9c4e16cd6ddb",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "de69d587014b1fd8",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0e7f60a078bcc20c884efd47",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "837d3ab71b824fa7",
      "framework": "unknown",
      "imports": "",
      "lines": 628,
      "logic_relevance": "none",
      "name": "manage",
      "normalized_name": "manage",
      "package_manager": "unknown",
      "path": "manage.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0a0ae84c660105bf11a2d830",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9821d4bc2851b675",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "811b4923c69621b65c3d2bc2",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1da27a698b7d77f4",
      "framework": "unknown",
      "imports": "",
      "lines": 370,
      "logic_relevance": "none",
      "name": "docker-compose.production",
      "normalized_name": "docker-compose-production",
      "package_manager": "unknown",
      "path": "docker-compose.production.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "660797c28bcdb6c999ced3c1",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b29d993bbecc3576",
      "framework": "unknown",
      "imports": "",
      "lines": 253,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "493dc0bef30a68334685eefa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c064f29b88a4ce39",
      "framework": "unknown",
      "imports": "",
      "lines": 428,
      "logic_relevance": "none",
      "name": "DEVELOPMENT",
      "normalized_name": "development",
      "package_manager": "unknown",
      "path": "DEVELOPMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "02353f3f26dad1532530cc76",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e2dbad2bbb2af9f5",
      "framework": "unknown",
      "imports": "",
      "lines": 506,
      "logic_relevance": "none",
      "name": "manage",
      "normalized_name": "manage",
      "package_manager": "unknown",
      "path": "archive/manage.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0c619f6f721d51ad5d01adba",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "74c4e93439229a98",
      "framework": "unknown",
      "imports": "",
      "lines": 311,
      "logic_relevance": "none",
      "name": "manage-new",
      "normalized_name": "manage-new",
      "package_manager": "unknown",
      "path": "archive/manage-new.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bb67dad674b68f4a92f7fc12",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "d41ea95075892fd8",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "traefik-fixed",
      "normalized_name": "traefik-fixed",
      "package_manager": "unknown",
      "path": "archive/traefik-fixed.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "e703127aa2ddf5d4de541f23",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7dce23dca2712fe2",
      "framework": "unknown",
      "imports": "",
      "lines": 265,
      "logic_relevance": "none",
      "name": "dev-manage",
      "normalized_name": "dev-manage",
      "package_manager": "unknown",
      "path": "archive/dev-manage.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "2cd7b02e3dbc483da5e1ad31",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "84452b5b8203f3ea",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "traefik-minimal",
      "normalized_name": "traefik-minimal",
      "package_manager": "unknown",
      "path": "archive/traefik-minimal.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f88e79c227c713de0c94e07c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "100cf05dc3de1ba6",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "no-ssl",
      "normalized_name": "no-ssl",
      "package_manager": "unknown",
      "path": "archive/no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d5964e0e764e6557acb21b08",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1af530969c6e7739",
      "framework": "unknown",
      "imports": "",
      "lines": 273,
      "logic_relevance": "none",
      "name": "DEVELOPMENT",
      "normalized_name": "development",
      "package_manager": "unknown",
      "path": "archive/DEVELOPMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ad3ad33d10d4fed6cc7013fc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ee9d2eebfd70a6d2",
      "framework": "unknown",
      "imports": "",
      "lines": 693,
      "logic_relevance": "none",
      "name": "manage-production",
      "normalized_name": "manage-production",
      "package_manager": "unknown",
      "path": "archive/manage-production.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "48b404438694126d63c76ddf",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d80d82ffe733fb60",
      "framework": "unknown",
      "imports": "",
      "lines": 1343,
      "logic_relevance": "none",
      "name": "manage-legacy",
      "normalized_name": "manage-legacy",
      "package_manager": "unknown",
      "path": "archive/manage-legacy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b75d0cbbe054837da71933cd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5aad9d5d9224bb1c",
      "framework": "unknown",
      "imports": "",
      "lines": 411,
      "logic_relevance": "none",
      "name": "scenario-test-report-1752532289477",
      "normalized_name": "scenario-test-report-1752532289477",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/scenario-test-report-1752532289477.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "aa5a5a41363d82e4208a3fb9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "17da8b58df9adcb5",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "master-test-report-1752531756255",
      "normalized_name": "master-test-report-1752531756255",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/master-test-report-1752531756255.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "08971eefffa0ba88eab0e653",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e8ca0d56c5c46363",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "test-report",
      "normalized_name": "test-report",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/test-report.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "84b0c8d8f7266617f7e61300",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a50d05b8ffbf6fdb",
      "framework": "unknown",
      "imports": "",
      "lines": 581,
      "logic_relevance": "none",
      "name": "exhaustive-test-report-1752531577800",
      "normalized_name": "exhaustive-test-report-1752531577800",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/exhaustive-test-report-1752531577800.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ae06644daffe051b96da4c46",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bfb6c22651baacb",
      "framework": "unknown",
      "imports": "",
      "lines": 581,
      "logic_relevance": "none",
      "name": "exhaustive-test-report-1752532327071",
      "normalized_name": "exhaustive-test-report-1752532327071",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/exhaustive-test-report-1752532327071.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b69dc540147eace01ea5843e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "20721a14e859a6c1",
      "framework": "unknown",
      "imports": "",
      "lines": 411,
      "logic_relevance": "none",
      "name": "scenario-test-report-1752531843109",
      "normalized_name": "scenario-test-report-1752531843109",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/scenario-test-report-1752531843109.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "81e86d8239dfa0ee6f4f7ec6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "28cbc44ef1d6d99c",
      "framework": "unknown",
      "imports": "",
      "lines": 281,
      "logic_relevance": "none",
      "name": "comprehensive-test-report",
      "normalized_name": "comprehensive-test-report",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/comprehensive-test-report.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e8659f4660a9aba27e0cff59",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "adbc84c5b1d98fef",
      "framework": "unknown",
      "imports": "",
      "lines": 411,
      "logic_relevance": "none",
      "name": "scenario-test-report-1752532082362",
      "normalized_name": "scenario-test-report-1752532082362",
      "package_manager": "unknown",
      "path": "archive/legacy-tests/scenario-test-report-1752532082362.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "ca7bb4205855c2f7cf7b3ee6",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "fe1ffecb53001f6e",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "wildduck-dbs",
      "normalized_name": "wildduck-dbs",
      "package_manager": "unknown",
      "path": "config/wildduck-dbs.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7db29120f555210646937a0b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "37f257c3f91db385",
      "framework": "unknown",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "zonemta",
      "normalized_name": "zonemta",
      "package_manager": "unknown",
      "path": "config/zone-mta/zonemta.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "dc94cdbfc5aa7d0eeee486c8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "02fb306c0943543e",
      "framework": "unknown",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "ja4-config",
      "normalized_name": "ja4-config",
      "package_manager": "unknown",
      "path": "config/ja4-plus/ja4-config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a2e47801d628106355194823",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "5a5feb370f322d79",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "ja4-service",
      "normalized_name": "ja4-service",
      "package_manager": "unknown",
      "path": "config/ja4-plus/ja4-service.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "774db9804814e1258b30b709",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfd4e2808ad076a0",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "traefik",
      "normalized_name": "traefik",
      "package_manager": "unknown",
      "path": "config/certs/traefik.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "af29f0796c17c9b4fe10bc92",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "3336e61979689343",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "no-ssl-fixed",
      "normalized_name": "no-ssl-fixed",
      "package_manager": "unknown",
      "path": "config/webmail/no-ssl-fixed.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security,ai",
      "component_id": "a9f61a4990abe45dd038201e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "38b7c80401ead023",
      "framework": "css",
      "imports": "",
      "lines": 402,
      "logic_relevance": "none",
      "name": "retro-modern",
      "normalized_name": "retro-modern",
      "package_manager": "unknown",
      "path": "config/webmail/retro-modern.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "33e72e0c1ee419ea734fa8f3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3057035f9bc8cf8e",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "startup-with-proxy",
      "normalized_name": "startup-with-proxy",
      "package_manager": "unknown",
      "path": "config/webmail/startup-with-proxy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "51d661aac71bea52d45b8700",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "987e04b4ff7f3333",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "no-ssl",
      "normalized_name": "no-ssl",
      "package_manager": "unknown",
      "path": "config/webmail/no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4ed5ba41f5b6249b35cf71cb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "3d8c062da7f6851e",
      "framework": "unknown",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "config/webmail/config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "12365bd89116717b79630b2b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "f3e4e44b77dc3de2",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "email2letter-config",
      "normalized_name": "email2letter-config",
      "package_manager": "unknown",
      "path": "config/webmail/email2letter-config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2a7966ae009a0f7b99c1d6ac",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "6964ce6043e2fe39",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "wildduck",
      "normalized_name": "wildduck",
      "package_manager": "unknown",
      "path": "config/wildduck/wildduck.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "1840fef4083cb1afc54e44e3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "79149ad4792b1967",
      "framework": "unknown",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "roles",
      "normalized_name": "roles",
      "package_manager": "unknown",
      "path": "config/wildduck/roles.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "82e92b5db79ea1aadbca9ab3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "5f18fb36e82aa289",
      "framework": "unknown",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "no-ssl-fixed",
      "normalized_name": "no-ssl-fixed",
      "package_manager": "unknown",
      "path": "config/wildduck/no-ssl-fixed.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "observability",
      "component_id": "81a488c34c4b89998ca129f2",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "479c4ad3aff3f1fc",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "unknown",
      "path": "config/wildduck/redis.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "ca52e4328198a3f01d5fa13e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "b4e072797954af49",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "config/wildduck/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "41a1659ca0dd76e434f64c04",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "a122c098525d401e",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "dbs-no-ssl",
      "normalized_name": "dbs-no-ssl",
      "package_manager": "unknown",
      "path": "config/wildduck/dbs-no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6fabb365c4ab4846a1cec608",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "d60ab8c5d0b7e369",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "minimal",
      "normalized_name": "minimal",
      "package_manager": "unknown",
      "path": "config/wildduck/minimal.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "6cd1f5afaf1be4f67cc8f0f5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "9b0f893cf00466bb",
      "framework": "unknown",
      "imports": "",
      "lines": 247,
      "logic_relevance": "none",
      "name": "roles",
      "normalized_name": "roles",
      "package_manager": "unknown",
      "path": "config/wildduck/roles.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "43ffea475e09a61370d0a756",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2176003d5c17750f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "localhost-proxy-entrypoint",
      "normalized_name": "localhost-proxy-entrypoint",
      "package_manager": "unknown",
      "path": "config/wildduck/localhost-proxy-entrypoint.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "398331c403e499f0a8d5e33a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "965dd51a63fdfb3d",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "startup-with-proxy",
      "normalized_name": "startup-with-proxy",
      "package_manager": "unknown",
      "path": "config/wildduck/startup-with-proxy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3c10666f1a9c3b246cce95db",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "d665e4412ce841e4",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "unknown",
      "path": "config/wildduck/api.toml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "715bc66b937439f4b07b065c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "77dff778d0637465",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "no-ssl",
      "normalized_name": "no-ssl",
      "package_manager": "unknown",
      "path": "config/wildduck/no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a5c553a425d1313d00aa86a6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "84452b5b8203f3ea",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "traefik",
      "normalized_name": "traefik",
      "package_manager": "unknown",
      "path": "config/traefik/traefik.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "05de9765a1a1d3e59c815771",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "60439325b06dd030",
      "framework": "unknown",
      "imports": "",
      "lines": 151,
      "logic_relevance": "none",
      "name": "ja4-config",
      "normalized_name": "ja4-config",
      "package_manager": "unknown",
      "path": "config/traefik/ja4-config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "71b3bc1db9db34937ecaf62d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "de13d84580a45714",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "ja4-plugin",
      "normalized_name": "ja4-plugin",
      "package_manager": "unknown",
      "path": "config/traefik/ja4-plugin.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "a8dc0982ae4610aa28642ace",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb07e78ac192d346",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "dynamic-config",
      "normalized_name": "dynamic-config",
      "package_manager": "unknown",
      "path": "config/traefik/dynamic-config.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "a406858b6c703e85d49d34a7",
      "component_kind": "fingerprinting",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "6863d2a9e292cafd",
      "framework": "unknown",
      "imports": "",
      "lines": 119,
      "logic_relevance": "none",
      "name": "ja4-sniffer-daemonset",
      "normalized_name": "ja4-sniffer-daemonset",
      "package_manager": "unknown",
      "path": "k8s/ja4-sniffer-daemonset.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "c0874aec97ca60fadf558d85",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "23e349795bf188db",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "mongodb_root_password",
      "normalized_name": "mongodb-root-password",
      "package_manager": "unknown",
      "path": "secrets/mongodb_root_password.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e7bb1cabdbc96fac00deea21",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "assert",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../ja4-core/fingerprint.js, assert | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "796c3ae6cfd73bac",
      "framework": "unknown",
      "imports": "../ja4-core/fingerprint.js,assert",
      "lines": 66,
      "logic_relevance": "none",
      "name": "test_fingerprint",
      "normalized_name": "test-fingerprint",
      "package_manager": "unknown",
      "path": "tests/test_fingerprint.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "a969896476dd059db71fd1f9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "assert",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../ja4-core/cert_utils, assert | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c3b7b9d49edfb35a",
      "framework": "unknown",
      "imports": "../ja4-core/cert_utils,assert",
      "lines": 37,
      "logic_relevance": "secondary",
      "name": "test_cert_utils",
      "normalized_name": "test-cert-utils",
      "package_manager": "unknown",
      "path": "tests/test_cert_utils.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c5912f156e9ca16bb68fce54",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "assert",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../ja4-sniffer/lib/tls_parser, assert | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1ef5a86a7ad37371",
      "framework": "unknown",
      "imports": "../ja4-sniffer/lib/tls_parser,assert",
      "lines": 66,
      "logic_relevance": "none",
      "name": "test_ja4l",
      "normalized_name": "test-ja4l",
      "package_manager": "unknown",
      "path": "tests/test_ja4l.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "b77d0b398d95518e26250853",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6562d2f1a8188bac",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ja4-dashboard",
      "normalized_name": "ja4-dashboard",
      "package_manager": "unknown",
      "path": "grafana/ja4-dashboard.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "897dc577a59e18fd52377647",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "67c2fa81f70530a5",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "unknown",
      "path": "docs/storage.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "dc8c046ca84d15c1c03077eb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a51845846d410876",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "unknown",
      "path": "docs/ja4l.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "c53f18e7f14b4deaf918616e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2566c88368b1aca4",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ja4-cli",
      "normalized_name": "ja4-cli",
      "package_manager": "unknown",
      "path": "docs/ja4-cli.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ff19263d995962f471e0c1a9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a51845846d410876",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "sniffer",
      "normalized_name": "sniffer",
      "package_manager": "unknown",
      "path": "docs/sniffer.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4852abf461ab19a84e6e2b6b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6c37ddad40b9b883",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "tests",
      "normalized_name": "tests",
      "package_manager": "unknown",
      "path": "docs/tests.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "729bd0b61ff23923452685b1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1102e042c459185",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "63f5edfcae612692e165ede3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "bf26736451daf717",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "o365",
      "normalized_name": "o365",
      "package_manager": "unknown",
      "path": "docs/o365.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9cdfdfaaa839976d86594cc9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "de409537201bdaea",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "unknown",
      "path": "docs/alerts.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security,logic",
      "component_id": "ad16e5d69fb25865591b4b99",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d3b2db76ea01fe87",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "docs/core.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "logic,security",
      "component_id": "dfdc414dfb63897ca476ddd6",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:allowlist, isTrusted, trustedASNs, trustedDomains, trustedIssuers | logic-score:60 | security-score:55",
      "exports": "allowlist,isTrusted,trustedASNs,trustedDomains,trustedIssuers",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "48ae3d794f50cfdc",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "primary",
      "name": "rules",
      "normalized_name": "rules",
      "package_manager": "unknown",
      "path": "ja4-alerts/rules.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9ada4fe90834cfb10d9cabd9",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "nodemailer,winston",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:sendAlert | imports:nodemailer, winston | observability-score:55 | security-score:55 | uses-env",
      "exports": "sendAlert",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1d687c502b1aac0c",
      "framework": "unknown",
      "imports": "nodemailer,winston",
      "lines": 46,
      "logic_relevance": "none",
      "name": "notify",
      "normalized_name": "notify",
      "package_manager": "unknown",
      "path": "ja4-alerts/notify.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "cdc160f23d26fd588f56332a",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "15c46bb24aec2826",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "ja4-alerts/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "security,automation",
      "component_id": "6b719268a905c2879f92e61a",
      "component_kind": "fingerprinting",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86249ccac5cb6103",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "ja4-alerts/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "7564b69ff1823acfd1479bca",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "axios,express,helmet,mongodb,node-cron,nodemailer,winston",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AlertEngine, NotificationHandler | imports:axios, express, helmet, mongodb, node-cron, nodemailer, winston | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "AlertEngine,NotificationHandler",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "88827f0a790f11c3",
      "framework": "unknown",
      "imports": "axios,express,helmet,mongodb,node-cron,nodemailer,winston",
      "lines": 599,
      "logic_relevance": "primary",
      "name": "alert-engine",
      "normalized_name": "alert-engine",
      "package_manager": "unknown",
      "path": "ja4-alerts/alert-engine.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "92a64171afe652b853f4112b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "dotenv,mongodb",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COLLECTION_NAME, DB_NAME, MONGO_URI, TTL_DAYS | imports:dotenv, mongodb | observability-score:55 | security-score:55 | uses-env",
      "exports": "COLLECTION_NAME,DB_NAME,MONGO_URI,TTL_DAYS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "634d03688b4f35d9",
      "framework": "unknown",
      "imports": "dotenv,mongodb",
      "lines": 138,
      "logic_relevance": "none",
      "name": "init_indexes",
      "normalized_name": "init-indexes",
      "package_manager": "unknown",
      "path": "ja4-storage/init_indexes.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "8bee99dbf8a35f1b7456e3e0",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1da4dd3b0e132be",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "unknown",
      "path": "ja4-storage/schema.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ddd7f98e16d31114dd4750d4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dda958d250fe1d5d",
      "framework": "unknown",
      "imports": "",
      "lines": 274,
      "logic_relevance": "none",
      "name": "init_security",
      "normalized_name": "init-security",
      "package_manager": "unknown",
      "path": "ja4-storage/init_security.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "15bcff853a8496c61aa54534",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "dns,util",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../ja4-core/dns_utils, dns, util | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c057432c99522bc1",
      "framework": "unknown",
      "imports": "../ja4-core/dns_utils,dns,util",
      "lines": 73,
      "logic_relevance": "none",
      "name": "o365-validate",
      "normalized_name": "o365-validate",
      "package_manager": "unknown",
      "path": "scripts/o365-validate.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f667272f10f48f890e8c080b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2153e2dea3df4440",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "install-wildduck",
      "normalized_name": "install-wildduck",
      "package_manager": "unknown",
      "path": "scripts/install-wildduck.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "25e3355a52e96c28d10a958e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4ecd2cda8586892",
      "framework": "unknown",
      "imports": "",
      "lines": 4410,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "unknown",
      "path": "scripts/tests/package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security",
      "component_id": "9a2ff1b56a4c5ea96cdce15e",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af6a172cf4ec556f",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "scripts/tests/package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4a1bf93535375fc785aaf73f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3fda494c1db48fd5",
      "framework": "unknown",
      "imports": "",
      "lines": 281,
      "logic_relevance": "none",
      "name": "comprehensive-test-report",
      "normalized_name": "comprehensive-test-report",
      "package_manager": "unknown",
      "path": "scripts/tests/comprehensive-test-report.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "5f6ee483b5dd0c241c7f400e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b416e99f8e15cddf",
      "framework": "unknown",
      "imports": "",
      "lines": 584,
      "logic_relevance": "secondary",
      "name": "common",
      "normalized_name": "common",
      "package_manager": "unknown",
      "path": "scripts/lib/common.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security",
      "component_id": "2ca1ad0db5f47b279dcab427",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f865ff876e707824",
      "framework": "unknown",
      "imports": "",
      "lines": 689,
      "logic_relevance": "secondary",
      "name": "help",
      "normalized_name": "help",
      "package_manager": "unknown",
      "path": "scripts/lib/help.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,logic",
      "component_id": "2bdbd69aed8e1481f838f4cf",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1e3f46c1a8118775",
      "framework": "unknown",
      "imports": "",
      "lines": 263,
      "logic_relevance": "secondary",
      "name": "services",
      "normalized_name": "services",
      "package_manager": "unknown",
      "path": "scripts/lib/services.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "6fd587f30900e98661ede190",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5a1959a1a17afd55",
      "framework": "unknown",
      "imports": "",
      "lines": 971,
      "logic_relevance": "none",
      "name": "testing",
      "normalized_name": "testing",
      "package_manager": "unknown",
      "path": "scripts/commands/testing.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1f48dfb883c7e7085b751de7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "axios,cap,crypto,events,express,fs,mongodb,net,os,path,redis,tls,winston",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EventEmitter, JA4EmailSniffer | imports:axios, cap, crypto, events, express, fs, mongodb, net | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "EventEmitter,JA4EmailSniffer",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b40024171f715389",
      "framework": "unknown",
      "imports": "axios,cap,crypto,events,express,fs,mongodb,net,os,path,redis,tls,winston",
      "lines": 1272,
      "logic_relevance": "none",
      "name": "email-sniffer",
      "normalized_name": "email-sniffer",
      "package_manager": "unknown",
      "path": "ja4-sniffer/email-sniffer.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "fcd8789b6e34e5d15e61dc98",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "04aa56394332fafd",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "ja4-sniffer/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "182f3c4c9c5a0ce001e3f45d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b538ff90d0b8193",
      "framework": "unknown",
      "imports": "",
      "lines": 5455,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "unknown",
      "path": "ja4-sniffer/package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0c16b42a35efa987074af3a7",
      "component_kind": "fingerprinting",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "79bf720575fbdad0",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "ja4-sniffer/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "logic,observability,security,automation",
      "component_id": "d5133018636e14f5e3f909ce",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "child_process,util",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isIPInNetwork | imports:child_process, util | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "isIPInNetwork",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "39b7dae348c78779",
      "framework": "unknown",
      "imports": "child_process,util",
      "lines": 175,
      "logic_relevance": "primary",
      "name": "container_monitor",
      "normalized_name": "container-monitor",
      "package_manager": "unknown",
      "path": "ja4-sniffer/lib/container_monitor.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "a12889a6dc9ea32731257098",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateExtendedJA4TString, generateJA4TString, parseTCP | logic-score:85 | security-score:55",
      "exports": "generateExtendedJA4TString,generateJA4TString,parseTCP",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "acc4713587c5a7e0",
      "framework": "unknown",
      "imports": "",
      "lines": 217,
      "logic_relevance": "primary",
      "name": "tcp_parser",
      "normalized_name": "tcp-parser",
      "package_manager": "unknown",
      "path": "ja4-sniffer/lib/tcp_parser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "511b6b30863fd4649d43394d",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractJA4L, getShortJA4 | imports:crypto | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "extractJA4L,getShortJA4",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c83360c568ef7a80",
      "framework": "unknown",
      "imports": "crypto",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "tls_parser",
      "normalized_name": "tls-parser",
      "package_manager": "unknown",
      "path": "ja4-sniffer/lib/tls_parser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "5fb708a9761caf0fd61b04eb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:filterGREASE, generateCertificateFingerprint, generateJA4, generateJA4H, generateJA4L, generateJA4S, generateJA4SSH, generateJA4T | imports:crypto | logic-score:85 | security-score:55",
      "exports": "filterGREASE,generateCertificateFingerprint,generateJA4,generateJA4H,generateJA4L,generateJA4S,generateJA4SSH,generateJA4T,generateJA4X,generateJA4_legacy,parseTLSVersion,truncateFingerprint",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "66856f16c40a8094",
      "framework": "unknown",
      "imports": "crypto",
      "lines": 304,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "unknown",
      "path": "ja4-core/fingerprint.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "81ffcbdfa0439cc1a371caeb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "geoip-lite,mongodb",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CACHE_TTL_DAYS, COLLECTION, CONNECTION_TIMEOUT_MS, DB_NAME, MONGO_URI | imports:geoip-lite, mongodb | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CACHE_TTL_DAYS,COLLECTION,CONNECTION_TIMEOUT_MS,DB_NAME,MONGO_URI",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "35e6970ee47ab996",
      "framework": "unknown",
      "imports": "geoip-lite,mongodb",
      "lines": 223,
      "logic_relevance": "primary",
      "name": "geo_enrich",
      "normalized_name": "geo-enrich",
      "package_manager": "unknown",
      "path": "ja4-core/geo_enrich.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "ffdc7ff6ea0787f3b60bd4a7",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "dns,mongodb,util",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractDomainFromEmail, ja4FingerprintSMTP | imports:dns, mongodb, util | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "extractDomainFromEmail,ja4FingerprintSMTP",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e441e0f7c1d2b65e",
      "framework": "unknown",
      "imports": "dns,mongodb,util",
      "lines": 196,
      "logic_relevance": "primary",
      "name": "dns_utils",
      "normalized_name": "dns-utils",
      "package_manager": "unknown",
      "path": "ja4-core/dns_utils.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "logic,security",
      "component_id": "ec6899cce70f8428798573c9",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractJA4CertInfo, getCertValidityDays, isCertExpired, isCertNotYetValid, isCertTrusted, isDomainMatch | logic-score:85 | security-score:55",
      "exports": "extractJA4CertInfo,getCertValidityDays,isCertExpired,isCertNotYetValid,isCertTrusted,isDomainMatch",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b1c2298f086c8df",
      "framework": "unknown",
      "imports": "",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "cert_utils",
      "normalized_name": "cert-utils",
      "package_manager": "unknown",
      "path": "ja4-core/cert_utils.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "bcfa7ebc7533b7298743fd19",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "27cd49a2771f32e0",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "loki",
      "normalized_name": "loki",
      "package_manager": "unknown",
      "path": "monitoring/loki.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d0885885e540b9fe11b80dfa",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "76b737a7bf8ccb38",
      "framework": "unknown",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "prometheus",
      "normalized_name": "prometheus",
      "package_manager": "unknown",
      "path": "monitoring/prometheus.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "dbf00a4bcacf3f4dede66b7b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "cors,crypto,dotenv,express,express-rate-limit,helmet,mongodb,tls,winston",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:cors, crypto, dotenv, express, express-rate-limit, helmet, mongodb, tls | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b69a5de3f6c187cb",
      "framework": "unknown",
      "imports": "cors,crypto,dotenv,express,express-rate-limit,helmet,mongodb,tls,winston",
      "lines": 282,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "ja4-cli/server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "09210ebcfa77780ab60fa68a",
      "component_kind": "container-automation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./ja4-enhanced.js | automation-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6b2051c163696c9",
      "framework": "unknown",
      "imports": "./ja4-enhanced.js",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "ja4-cli/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7a1eb864d0618891c7bb3159",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "axios,commander,crypto,fs,mongodb,redis,tls,winston",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:JA4CLI | imports:axios, commander, crypto, fs, mongodb, redis, tls, winston | observability-score:55 | security-score:55 | uses-env",
      "exports": "JA4CLI",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf31e2e5bb71ffed",
      "framework": "unknown",
      "imports": "axios,commander,crypto,fs,mongodb,redis,tls,winston",
      "lines": 641,
      "logic_relevance": "none",
      "name": "ja4-enhanced",
      "normalized_name": "ja4-enhanced",
      "package_manager": "unknown",
      "path": "ja4-cli/ja4-enhanced.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4b5fa16365512ffe1ad51831",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "657672c6c1720772",
      "framework": "unknown",
      "imports": "",
      "lines": 6315,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "unknown",
      "path": "ja4-cli/package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "099a88eb9faedc8b4f44a89e",
      "component_kind": "fingerprinting",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "358ce5437649f48f",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "ja4-cli/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d0219ea479eea3543dae9731",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "crypto,dns,fs,http,https,mongodb,os,path,tls,winston",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:VERSION | imports:crypto, dns, fs, http, https, mongodb, os, path | observability-score:55 | security-score:55 | uses-env",
      "exports": "VERSION",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbd5675612882449",
      "framework": "unknown",
      "imports": "crypto,dns,fs,http,https,mongodb,os,path,tls,winston",
      "lines": 334,
      "logic_relevance": "none",
      "name": "ja4-cli",
      "normalized_name": "ja4-cli",
      "package_manager": "unknown",
      "path": "ja4-cli/ja4-cli.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-sidecar",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,automation",
      "component_id": "f49cd1dd3d0f6e0a72cbedec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53725d6d02d7a9a8",
      "framework": "next-react",
      "imports": "",
      "lines": 5721,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "12c2511a31c70ce5aa5ef6dc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b21eff3bb1067e3f",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "c94a4ec99459031d72cc1c28",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3f88d4f199733ba2",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "6e557d3688ff549a077c1c15",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7197f8f473f96250",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "tsconfig",
      "normalized_name": "tsconfig",
      "package_manager": "pnpm",
      "path": "tsconfig.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6479aeb586abf495317db15a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react-hot-toast",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/react, next, next/font/google, next/link, react-hot-toast | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "20e09521d3ece79b",
      "framework": "next-react",
      "imports": "@vercel/analytics/react,next,next/font/google,next/link,react-hot-toast",
      "lines": 70,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a1bed8dcb2799a8f29e7ced4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:./components/Dashboard, ./components/VercelDashboard, next/dynamic, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8231c3d3aac42d7f",
      "framework": "next-react",
      "imports": "./components/Dashboard,./components/VercelDashboard,next/dynamic,next/image,next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "73cd9560bbc818cf5ad0fd04",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bed2e99848ee3673",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "abd16c0f18cca7889384dd59",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:config | imports:@supabase/supabase-js, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2cd4589e8f54de13",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "app/middleware/middleware.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "52f8bd4d9938284837e47553",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4bbf86c81f4a769d",
      "framework": "next-react",
      "imports": "next",
      "lines": 88,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/test-get/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "67ec2a2706c40468ca5d58f7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@mui/material,react,react-hot-toast",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:VercelDashboard | imports:@mui/material, react, react-hot-toast | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "VercelDashboard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "066ec9e85008fa82",
      "framework": "next-react",
      "imports": "@mui/material,react,react-hot-toast",
      "lines": 135,
      "logic_relevance": "none",
      "name": "VercelDashboard",
      "normalized_name": "vercel-dashboard",
      "package_manager": "pnpm",
      "path": "app/components/VercelDashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "86dd28f7add4cc8ffed49364",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@mui/material,@supabase/supabase-js,react,react-hot-toast,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Dashboard | imports:@mui/material, @supabase/supabase-js, react, react-hot-toast, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "Dashboard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "56e04de8632b759c",
      "framework": "next-react",
      "imports": "@mui/material,@supabase/supabase-js,react,react-hot-toast,recharts",
      "lines": 170,
      "logic_relevance": "none",
      "name": "Dashboard",
      "normalized_name": "dashboard",
      "package_manager": "pnpm",
      "path": "app/components/Dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2ca336595cfddad299fd40e6",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "react-hot-toast",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToasterProvider | imports:react-hot-toast | frontend-score:85 | ui-score:55",
      "exports": "ToasterProvider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dcdb8cc7f9f01dcd",
      "framework": "next-react",
      "imports": "react-hot-toast",
      "lines": 7,
      "logic_relevance": "none",
      "name": "ToasterProvider",
      "normalized_name": "toaster-provider",
      "package_manager": "pnpm",
      "path": "app/components/ToasterProvider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security,logic",
      "component_id": "0fc38d862afd62135a26fced",
      "component_kind": "security-module",
      "confidence": 95,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:supabase | imports:@supabase/supabase-js | security-score:55 | logic-score:45 | uses-env",
      "exports": "supabase",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "165323d6a8098a2d",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "supabase",
      "normalized_name": "supabase",
      "package_manager": "pnpm",
      "path": "app/lib/supabase.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "f6d48e8a0bae080155e109a4",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8f10937ae6309baf",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 50,
      "logic_relevance": "none",
      "name": "update-status",
      "normalized_name": "update-status",
      "package_manager": "pnpm",
      "path": "app/pages/api/update-status.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,frontend,backend,observability,security",
      "component_id": "26971265db160685ce3ac5bb",
      "component_kind": "scheduled-job",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VERCEL_API_TOKEN, VERCEL_FIREWALL_API, VERCEL_PROJECT_ID | imports:next | automation-score:95 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "VERCEL_API_TOKEN,VERCEL_FIREWALL_API,VERCEL_PROJECT_ID",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d20fccc12fdcd36",
      "framework": "next-react",
      "imports": "next",
      "lines": 62,
      "logic_relevance": "none",
      "name": "cron",
      "normalized_name": "cron",
      "package_manager": "pnpm",
      "path": "app/pages/api/cron.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0b1599718eb0be65f3020054",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "836d547370e77890",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 54,
      "logic_relevance": "none",
      "name": "logs",
      "normalized_name": "logs",
      "package_manager": "pnpm",
      "path": "app/pages/api/logs.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "807dad06e05552c2617b5fbf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POLL_INTERVAL, VERCEL_API_TOKEN, VERCEL_FIREWALL_API, VERCEL_FIREWALL_CONFIG_API, VERCEL_PROJECT_ID | imports:@supabase/supabase-js, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POLL_INTERVAL,VERCEL_API_TOKEN,VERCEL_FIREWALL_API,VERCEL_FIREWALL_CONFIG_API,VERCEL_PROJECT_ID",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "822b36616b044019",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,next/server",
      "lines": 125,
      "logic_relevance": "none",
      "name": "poll-vercel",
      "normalized_name": "poll-vercel",
      "package_manager": "pnpm",
      "path": "app/pages/api/poll-vercel.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "45c74b65d4c767237bbb5d9b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18d2b06bc212432f",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 31,
      "logic_relevance": "none",
      "name": "stats",
      "normalized_name": "stats",
      "package_manager": "pnpm",
      "path": "app/pages/api/stats.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f89bb8ed077d1e20173fb6b3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "da4acd78bca715df",
      "framework": "next-react",
      "imports": "",
      "lines": 278,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "supabase/config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "22c6f9c503662d66ab5ebd96",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "55597c6d129cad12",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation,ai",
      "component_id": "274c1e3d0f9cd70ca64a3d68",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "00488aa089b94eb5",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "65e65812713d78a7bfa1a354",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3695828405369ff3",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "17566ed2caeda493b4b2795f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a891dbdcd1adfba0",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "setup-supabase",
      "normalized_name": "setup-supabase",
      "package_manager": "pnpm",
      "path": "scripts/setup-supabase.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "a02bf2141d6e96ea6ce646dd",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "node-fetch",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VERCEL_API_TOKEN, VERCE_FIREWALL_API | imports:node-fetch | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "VERCEL_API_TOKEN,VERCE_FIREWALL_API",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c8e2ea969e360c13",
      "framework": "next-react",
      "imports": "node-fetch",
      "lines": 31,
      "logic_relevance": "none",
      "name": "verify-vercel",
      "normalized_name": "verify-vercel",
      "package_manager": "pnpm",
      "path": "scripts/verify-vercel.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,process",
      "component_id": "b2d4c343d9568fe3e4653172",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "29a1fc0c6b9dcd64",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "deploy",
      "normalized_name": "deploy",
      "package_manager": "pnpm",
      "path": "scripts/deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "9032cbd1e507844b8cf2a273",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1a6145cd87349462",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4-vercel-lab-2",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "2cbf9c60b25cb267db90c8fa",
      "component_kind": "runbook",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3bffaabd2e90981f",
      "framework": "unknown",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "RUNBOOK",
      "normalized_name": "runbook",
      "package_manager": "python",
      "path": "RUNBOOK.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6837f471d3a0b1c7d1969012",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e370cacad912ae2d",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "INSTALL",
      "normalized_name": "install",
      "package_manager": "python",
      "path": "INSTALL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "af285892421423a7fa73a00d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5c9528ca56e56a92",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "974a3eaa79f88e18a0859f00",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ffdcfb5ee1fb5d9e",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "python",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4b99d11598575ab2466b3be5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "22fce9fd3ebfcec8",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "CONTRIBUTORS",
      "normalized_name": "contributors",
      "package_manager": "python",
      "path": "CONTRIBUTORS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9429b9a2495cd5fd1e3e6536",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1862b7a9fd0ba212",
      "framework": "unknown",
      "imports": "",
      "lines": 211,
      "logic_relevance": "none",
      "name": "ACCEPTANCE_CRITERIA",
      "normalized_name": "acceptance-criteria",
      "package_manager": "python",
      "path": "ACCEPTANCE_CRITERIA.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "eada38ec450f2d5dd4ddcff6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d9d6a0e18038619a",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "MILESTONE_CHECKLIST",
      "normalized_name": "milestone-checklist",
      "package_manager": "python",
      "path": "MILESTONE_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d130021984c86bb46884f02e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c2e655a6e285bef",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "build-summary",
      "normalized_name": "build-summary",
      "package_manager": "python",
      "path": "capture/scripts/build-summary.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "5126cee4552976d0f34faf1e",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd47beb970782231",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "stop-capture",
      "normalized_name": "stop-capture",
      "package_manager": "python",
      "path": "capture/scripts/stop-capture.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "4f996d17e845c6d41aab9152",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7cff3d7d9ee313b6",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "slice-pcap",
      "normalized_name": "slice-pcap",
      "package_manager": "python",
      "path": "capture/scripts/slice-pcap.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,process",
      "component_id": "e58a4658c109541704323199",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "372524b0822a172c",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "process-zeek",
      "normalized_name": "process-zeek",
      "package_manager": "python",
      "path": "capture/scripts/process-zeek.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "937f14500aa15422fef9d76d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b908eaf756e1d31",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "start-capture",
      "normalized_name": "start-capture",
      "package_manager": "python",
      "path": "capture/scripts/start-capture.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation,ai",
      "component_id": "405e8c47ad922610c82ad918",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "argparse,random,struct,time",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:build_dns_query, build_dns_response, build_http, build_sessions_for_iteration, checksum, ethernet_frame, generate_pcap, ip_header | imports:argparse, random, struct, time | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "build_dns_query,build_dns_response,build_http,build_sessions_for_iteration,checksum,ethernet_frame,generate_pcap,ip_header,main,mcp_headers,tcp_packet,udp_packet",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "80ce55351690915a",
      "framework": "python",
      "imports": "argparse,random,struct,time",
      "lines": 511,
      "logic_relevance": "none",
      "name": "gen_mcp_pcap_complete",
      "normalized_name": "gen-mcp-pcap-complete",
      "package_manager": "python",
      "path": "tools/pcap/gen_mcp_pcap_complete.py",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "c8b5557450f2916998627a68",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1db75a27b35df71a",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "delivery artifacts/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "a30aa8e65153886a09047600",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fce6d37520519b78",
      "framework": "unknown",
      "imports": "",
      "lines": 1025,
      "logic_relevance": "none",
      "name": "MANIFEST",
      "normalized_name": "manifest",
      "package_manager": "python",
      "path": "delivery artifacts/MANIFEST.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b156dcaf87921e5a412bde2f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c8049c531d4b5a11",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "TRUTH_AND_LIMITATIONS",
      "normalized_name": "truth-and-limitations",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/TRUTH_AND_LIMITATIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "e63ee30a82e00683e6144613",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "20b9d41ce2fff1e6",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/openclaw-xai-smoke/summary.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "c89db8a2e45aca04a3e38a16",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dac37918f50b3054",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4M_PCAP_TESTING_GUIDANCE",
      "normalized_name": "ja4-m-pcap-testing-guidance",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/spec/JA4M_PCAP_TESTING_GUIDANCE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "53147176a9f5cf04cf90c392",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f078da388e94c3bb",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "JA4M_DRAFT_SPEC",
      "normalized_name": "ja4-m-draft-spec",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/spec/JA4M_DRAFT_SPEC.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "2145e35cb9b765d8da2de75d",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f0a6d23a67526eda",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "SCENARIO_MATRIX",
      "normalized_name": "scenario-matrix",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/spec/SCENARIO_MATRIX.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,ai,observability,security",
      "component_id": "72d7e2949cc8a60965671ff2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "af54786a2e346cb1",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "04f639d4fcba8d68f11a9d62",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9d888175229b0e4d",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "scenario",
      "normalized_name": "scenario",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/scenario.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "de7f39175855933923e3f356",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "405380dfa601cb5b",
      "framework": "unknown",
      "imports": "",
      "lines": 217,
      "logic_relevance": "none",
      "name": "groupings",
      "normalized_name": "groupings",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/groupings.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "4de4805df9967b792cba1eac",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "aba2fa20b300f2ef",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "57faa4fd14b98232104b41f2",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2b3622453532ca75",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "21938a2e2a83dbd8e07c732a",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "22993ff6e9669c97",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "b898ba4902db9cc57bcf8177",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "23e6804c1f7c12a5",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "77da377387ef39b392df3aa5",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d97161352512b15e",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "7c27d8cb12b61f60c92a1c5e",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2ba3afca4e3a3ee9",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,integration,observability,security,automation",
      "component_id": "e928d6955f49caaa659cb0c6",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "131aef6c023fdd9b",
      "framework": "unknown",
      "imports": "",
      "lines": 319,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4m-c.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "71fea10e5fc4d88947dc5c0e",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a254b98c4d52e08e",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "ea6eaaa54dac563eb0dc3cf1",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b1ed7e219b7b0684",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "0bb804ee451efe51742640b7",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d956744d667a098a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,integration,observability,security,automation",
      "component_id": "8d6974cccf2d9887e3bdae96",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "24c8285ac4919806",
      "framework": "unknown",
      "imports": "",
      "lines": 299,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4m-s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "7daafd979421fc241b5a0b2c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "864fc9be8938c2d8",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,integration,observability,security,automation",
      "component_id": "42a4dfbcd96d45cb969cb757",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c2715601e8c8f8c9",
      "framework": "unknown",
      "imports": "",
      "lines": 195,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4m-x.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "f42be2570afe5116f1764fa0",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3a0635d0ce2f967a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "ca82d501439c3bfc80cd0b4d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ffe09c08b0534999",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "358e2429e7e33c350da660e9",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "19a265910f9b5bea",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "a7a703e3e4c8801a1bd593d5",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ce020aa537c5390c",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "37dbfd58ff873ce959b359cf",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0c85de1770858e25",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "2683c342c558842541f4d4f1",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "da5c61b9902910c7",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "6d357e1760aa26e9ab7d176a",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3127c3829a186443",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "6970306536f0b46718e77574",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1dd8aba5636f6270",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "872df5a63d014a9fccf24ef2",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4b5a8f2ebe4fc8da",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "3a099c74816b337793b54c8c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "289bc946d209f4cb",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "c9f76ad71104e04cdcc06dd1",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a3a6b99342092d48",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "54a6104e05d659a24f6ef6c3",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "bbaa07ec7320620f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "8abd366c827a2f35afa2f9f7",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b0720ce4b60788c6",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "d42d75649597102faeaacb6a",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5bba8b2266582b30",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "179311e7fa89072211bef0f7",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a69f14708f9b88cb",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "208b0f261830441346c24488",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4a1c3f5d50310147",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "e1b62e2e602b009f7d906e9c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c607c432c1223c76",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "e2199777bdebdf4fb746d168",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7d374fc3e2c3e20b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "df6240615da646bce0a30743",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "665be958ff122299",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "bef849ae243883f05b00e552",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "97a9e457417fc005",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai,backend,observability,security",
      "component_id": "9846c010e7446c611d258b16",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d8d6ec09f29e3b50",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4l.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai,backend,observability,security",
      "component_id": "a500191a522cf4c9ee0df02d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5565ad30ae93da4b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4t.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai,backend,observability,security",
      "component_id": "b0abd26bff50e452d6b0a69d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "288f57ef13b8e502",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4s.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai,backend,observability,security",
      "component_id": "5671cc5f23f6fcd6cb183453",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2f37bc97e83978a8",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai,backend,observability,security",
      "component_id": "3b80e04540d267c5971078e4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-process-candidate",
      "file_hash": "770ee9e559d0fdae",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4h.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "f87859ea4b31ed9eeaec1dcd",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9d8c532acfc886b8",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "e5d7f0fb74c79206b0bb471f",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d95ff416cccaa584",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "7a8ca7c855e37e888cbf00e9",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b63dc48763c5e730",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "bc612cd7703145db44e76c92",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "87428b1aac4f9ede",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "59a60c75d950d36aff4abb12",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6034d1385a88fc7a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "942733483ff3c993eced15ab",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f895bcd91e45b37a",
      "framework": "unknown",
      "imports": "",
      "lines": 436,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "938a984e390ee609301b77d0",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e34ec135fb5dbeb6",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4m-c.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "c95a6e3c1b9edd201b08fef4",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ab0502b9d2156ccf",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "11413b9d9553176d736fc37b",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a86b274493aea9c7",
      "framework": "unknown",
      "imports": "",
      "lines": 204,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "208590e2083a50f6eb288df4",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0ba9a611b2a4aa3d",
      "framework": "unknown",
      "imports": "",
      "lines": 225,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "07a076f7ea10b5d0d6ac2637",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "10a1bafd4f3d91cc",
      "framework": "unknown",
      "imports": "",
      "lines": 292,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4m-s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "f950e8cb016aaa2a70665384",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b574aee54d6cc1c9",
      "framework": "unknown",
      "imports": "",
      "lines": 218,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "a741e6dadceb715c321053c7",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b03b03a4edc95b7a",
      "framework": "unknown",
      "imports": "",
      "lines": 188,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4m-x.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "2db80c726384735144904b88",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2b33936acfcb8fda",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "false-positive-checks",
      "normalized_name": "false-positive-checks",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/validation/false-positive-checks.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "769ce0f9c29fc368e8d6fbaf",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "337f21b18da0753d",
      "framework": "unknown",
      "imports": "",
      "lines": 3232,
      "logic_relevance": "secondary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/validation/declared-vs-actual.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "8cdc88ab2035b61431f0c0d6",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "baf0410cddae84b9",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "secondary",
      "name": "grouping-checks",
      "normalized_name": "grouping-checks",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/validation/grouping-checks.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security,logic",
      "component_id": "3b5e19898c38fc8f654ac734",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "078d6463ff5411fe",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/validation/assertions.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "b3995db3342ee2c8d657eb62",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "26078dbf7b98865f",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a04afca1cbdce8605d947d2d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "89d9fca59dde829f",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "scenario",
      "normalized_name": "scenario",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/scenario.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "d8ac533fa301d097112c7806",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1653c4fadae9a384",
      "framework": "unknown",
      "imports": "",
      "lines": 747,
      "logic_relevance": "none",
      "name": "groupings",
      "normalized_name": "groupings",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/groupings.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "8327d2020ab5b1fe47ec1f23",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f4ab7989b72302ae",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "8687a2d83581d2fa2fef6ab4",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "539974426416acb2",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "b5b22d2d28c29087394b559c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4936a698c4c1d681",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "72b2ecf8b6f8fe74433ad68a",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "81b1025282832024",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,observability,security",
      "component_id": "beefdb37be67d22a14820c9f",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "84573bae057c6406",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "210add3c9f13841984c7e6ac",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a693839ea6d42c23",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "850b8a2ab8d7b14a20957c2a",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d70f3a235e032263",
      "framework": "unknown",
      "imports": "",
      "lines": 9655,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4m-c.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "8c45432de0ed4d67e72817ad",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6a2814d5cbf91045",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "1405db41a7f6a521f66a6494",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e183615fcf0ce197",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "31de31ad0a00416fd7691724",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2a2df42936a5f786",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "4369f0a2d65796387b473fc7",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b6c8028fa9dc4d60",
      "framework": "unknown",
      "imports": "",
      "lines": 10488,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4m-s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "e9e165350ce1578d45b61ee3",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f1641b741c602e5a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "5f56324743d1d58f0f166066",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d41c1ead7dbbca60",
      "framework": "unknown",
      "imports": "",
      "lines": 6890,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-mcp/ja4m-x.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "b18cef623e1e26d6942631da",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f62dfc0b4d9c4d6",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4l.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "746b186c8b2703bb32d6c99c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6dfff9cc822be667",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4t.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "975f74046da8132a1f87aebe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d05bac8d811a1048",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "38755abe59f54d681d1860b0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07cce0c2cc419c62",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "3e35397610b7bbb04205ca57",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "085c501ceb45b8be",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "cc77c0c2d3a12c8bbf8c702c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95178c7b3d1b88bc",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "6216020342b70b355f95202a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d61385d0cc44bdfb",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "3365353262931bdce2961327",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf1d2806ffd2a5d8",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "66ab7c937919dc82db3f3f2a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d9fb33543e4cd992",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "62d8acfb58a9c8aaf22ba0d2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d917613496cf0c7",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "1aaeaf102446d96674650a67",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ca7b589e0e316e80",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "039504780e32aea55a2f3f6d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "10b530d13c25bb65",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "ebb2cad38df9e2174cc7a08d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d076852d1b9ea739",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "e38e8d85c4f7c4cdef87e00d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3574f26bfa9d2bc6",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "097b9d5d750dd0d12c989e99",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "37c01c90487bd120",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "269cd48387a6d831ba4b63e8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbd81394e8996023",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "2d3a899ebab7c97db7f80191",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecba907158501bff",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "4ddf296f6f08cc3fd39e4f49",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b48a69bf17b2588a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "4aea6e6d3635e5f671055a84",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "048bd3aab7af7319",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "ac3ce76d7caf020b9319f465",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1d7966cb5dc537f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "13ca49da38f36862dc939ef9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "769d2dee7367995d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4l.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "337771edebdbf0c102581f75",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1e9e50d89b8793e0",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4t.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "91c95a82e9423e97383ffaa3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d33e37e638069cb2",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4s.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "7da1f90008ca585c33992ceb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b50043d005902554",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "fb543381cae12e8d72c3acea",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "01f1da201797aeec",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4h.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "b602ee7272b45abbe32483fe",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b550cefa9c70c54d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "3d90d2db4d5faf803969dd5f",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "74d6a0d434e7f52a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "4e6d62b72b963798db270af6",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "32371daf2ec0d658",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "a76be70fb57dd1bc5957be48",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f29ef447676c11ea",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,integration,observability,security",
      "component_id": "1e16e4a76c81190046ef0c63",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6d1673e73c7f0637",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "f2233638c8550c9362ec0c2a",
      "component_kind": "fingerprinting",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0f1e2b8a085adb5",
      "framework": "unknown",
      "imports": "",
      "lines": 2070,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4l.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "06421180501bdcdb0448f5e5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e451fd842793976",
      "framework": "unknown",
      "imports": "",
      "lines": 9648,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "799c7d333ff7181f78785b2b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "da8ab45d4134936a",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4t.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cd2162899a6dd7bbcb685771",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f062b3e8379c14d1",
      "framework": "unknown",
      "imports": "",
      "lines": 515,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c593cb7bf9ea64d5fdfac07a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a561c49415faf521",
      "framework": "unknown",
      "imports": "",
      "lines": 575,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b783a0dffcadec974b4c8bf1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3600860aae677149",
      "framework": "unknown",
      "imports": "",
      "lines": 10481,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "90d1b23db6d1dcbfee2ffeae",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2a3c0b53d3e69a7c",
      "framework": "unknown",
      "imports": "",
      "lines": 500,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7b9a4a646c1b71bf1405c0ab",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e07c884ccde606e",
      "framework": "unknown",
      "imports": "",
      "lines": 6883,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "92a6d93698203c970b28aadc",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "795f16709c943b54",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "false-positive-checks",
      "normalized_name": "false-positive-checks",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/validation/false-positive-checks.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "6b56b63329a7f4a85922394b",
      "component_kind": "schema-validation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "afa4ccaa2dacdf4a",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/validation/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "1f04c21b8920a06c9029c736",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4bb0d46a2c271b35",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "grouping-checks",
      "normalized_name": "grouping-checks",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/validation/grouping-checks.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "60b119f99ed05a89b0ebcc6a",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7edfa67ff2b64ded",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/validation/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "270975f6ca5cec4dbf2fb02e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "18af0580ef41b834",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "3921546d4f515c12dbbc2dea",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "133d9cd99bea3be1",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "scenario",
      "normalized_name": "scenario",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/scenario.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "99cbf182c0d5d8979c21e177",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "554e78392ca58702",
      "framework": "unknown",
      "imports": "",
      "lines": 211,
      "logic_relevance": "none",
      "name": "groupings",
      "normalized_name": "groupings",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/groupings.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "20e560f959d03f7cd031d126",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2bf7ca0fe80bc084",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "0b02806e69c0baeafc35d634",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f2ee6f73cef8c125",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "0dc0058273d7a65b8be17a1a",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7ff6f60be193dc9f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "fb5f802ceba2aaefd21ae247",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "87fad4864ca943ad",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "f0782944b91a5fcec2ef4916",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "934b0b0a3de06b5f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "bfc2e99dee55c74ba704521e",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b61e740ee0ca670c",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "909e8c11ac982289039dbf49",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0dd63f881842b51c",
      "framework": "unknown",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4m-c.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "d94879867f412715636ea004",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "721b9d3ce9b21ec1",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "a5aea66928da6fbabc2d8a4e",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e5b25910976b850d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "a0d741ced60a070bf3035764",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0890a4f07163570f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "89ff97d05f44453407326df6",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2e922ff580030c88",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4m-s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "ed2ae5a740cb71db11e5ad2b",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eae05bf43b0fadac",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "e717dd10c179f97896dd7938",
      "component_kind": "mcp-server",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "61cf312d3df7eea3",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-mcp/ja4m-x.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "a74a8e444fae9ef0d5647018",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "235956823aecebd3",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "9347f3d7f0f9b838594a04e3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2adba8f27d6ab1d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "71016c4119ff47f25b92af90",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ce51e41ded1d3ea",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "87c4eaf00958db7669207d0c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcb6d4b7116e0f22",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "d90c540fea1d1261085a1dae",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98407fa03a438b50",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "66d3a057c1d8c7b6e6e088f2",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abd3a51f2c17eedd",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "bfaa42df9fff7243e9992781",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ed7b26abb319415",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "dae3d6dd5f64d68a93344fc8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "608f210dd95a94c7",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "2c09861d29115bd4439cd1ec",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ccf5f58d8ad948ae",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "f86e781e2352eebd28f2db2f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ade2388752027945",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "2b88234b1d080a3452a3698d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0497399eb9bd7e0f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "fd7e6194a42198ec897f37d6",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a873a8c5f95a14f5",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "7f9d96829976cc11a9f258fb",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b531d6b1b307a3a3",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "0a4e8b0f7841176e5e0bd939",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6b211d74f421fd91",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "bccc10876edbc0aa37e425ed",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5b94dd0f1e0a6d71",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "5e587317cf414ba4e1c651cb",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e916858d343ae37",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "ae7f390767bae16d9f22f25b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc1f9d9268650912",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "5401e9e2f834b480527e41ae",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "117a41a64f42804c",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "79ce18458c784869c8220e94",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f3a13398592e4a3",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "38034648462948a1b5632d3c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84d7bed6c83793fc",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "c12c2b21c394fa5f9782d12d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7a95280df4d080b3",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4l.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "815eeb98878408a9bbc053a9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "da38f31ebbb54712",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4t.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "838f7ca0d74b06cb44df314f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "46e764abc81dab1f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4s.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "62a9d0f2761bec488e80ace2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "094b1bf48d5e6b12",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,backend,observability,security",
      "component_id": "71999238f975554d89640276",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7cc3c02fc445928e",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4h.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "0484ba9875a1591f8b5924fa",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "90ba729bfe05a399",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4l.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "0a95d950988260362297dd01",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "191f75727e098556",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4t.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "6fe2e7a4970669ab9613f447",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d0e6f13677738959",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4s.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "5f47ae490885f79515754105",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7fbe5c62a1dfa043",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,integration,observability,security",
      "component_id": "cb207ca0905a471a410b9aaa",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "8c1ae1317a889bbb",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4h.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "68e7af4ae3d6ca10f6cefcdc",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ba61024a64555e92",
      "framework": "unknown",
      "imports": "",
      "lines": 249,
      "logic_relevance": "none",
      "name": "ja4l",
      "normalized_name": "ja4l",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4l.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "d36b14bfe8caa2d09f702eeb",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "171625af1fca9bfe",
      "framework": "unknown",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4m-c.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "9aabefb62afcfc03f1185a95",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7d7247b511b40c6f",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "ja4t",
      "normalized_name": "ja4t",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4t.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "638683bc73a1771d38a4928b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "067bd680f4133398",
      "framework": "unknown",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "ja4s",
      "normalized_name": "ja4s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2812a7e70395568fec9746e5",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dd4a2d4a33ff699c",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "5c75ac020177277356795f19",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "794c5928da9a3340",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4m-s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "89caf04a6474df82d6c58b00",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a77e290d929805cf",
      "framework": "unknown",
      "imports": "",
      "lines": 264,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "6aaa3090a1448fb9b8a77246",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d725b4b9ceea517c",
      "framework": "unknown",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4m-x.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "99959ff5f1b24e22ca828532",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd864ebe9d081c6c",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "false-positive-checks",
      "normalized_name": "false-positive-checks",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/validation/false-positive-checks.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "151196cf435b82c293002a68",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "999134a9c956a564",
      "framework": "unknown",
      "imports": "",
      "lines": 1816,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/validation/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "d59eedb101c18afb72545f00",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3c38240d3c37ba1c",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "grouping-checks",
      "normalized_name": "grouping-checks",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/validation/grouping-checks.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "26e4082e9ce8a15297bf8b34",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a3792f152c0e9090",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/validation/assertions.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "984debc28060f00269b9aadd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "28207fa1c69b30d0",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "GLOSSARY",
      "normalized_name": "glossary",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/glossary/GLOSSARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "7ba1b0e838364e84e68640ad",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b0ed87d984a9fbd9",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "PCAP_REVIEW_GUIDE",
      "normalized_name": "pcap-review-guide",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/review-notes/PCAP_REVIEW_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d62c9fd1d9e1963672d45ff0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3ae80e9c3c91e5ec",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "GAPS_AND_LIMITATIONS",
      "normalized_name": "gaps-and-limitations",
      "package_manager": "python",
      "path": "delivery artifacts/technical-evidence/review-notes/GAPS_AND_LIMITATIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "77d513eddff8e7665b4f72e6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bc79865893b8bbf7",
      "framework": "unknown",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "DRAFT_BLOG",
      "normalized_name": "draft-blog",
      "package_manager": "python",
      "path": "delivery artifacts/high-level/DRAFT_BLOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "53e0380c9aa2b411f0e629cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c48df720d29296be",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "EXECUTIVE_SUMMARY",
      "normalized_name": "executive-summary",
      "package_manager": "python",
      "path": "delivery artifacts/high-level/EXECUTIVE_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "process",
      "component_id": "60e8e5ffe4793301c39ef7e3",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for game; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "914adbce5646deae",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "WHAT_IS_MISSING",
      "normalized_name": "what-is-missing",
      "package_manager": "python",
      "path": "delivery artifacts/high-level/WHAT_IS_MISSING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b6d0ef2c2f4f8b64d96ea75f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2f7f6821203ee02e",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "ASSESSMENT",
      "normalized_name": "assessment",
      "package_manager": "python",
      "path": "delivery artifacts/high-level/ASSESSMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "1e25931e918a5e561b63683c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6b3f2918027a8a4",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "WHY_JA4M",
      "normalized_name": "why-ja4-m",
      "package_manager": "python",
      "path": "delivery artifacts/high-level/WHY_JA4M.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5387521c4cbf7e82560f50b4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "36f6831e24ffd139",
      "framework": "unknown",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "python",
      "path": "compose/docker-compose.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "cb0a091c05a7bd3beeae56fd",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "pathlib",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:test_agent_config_uses_standard_openclaw_routes, test_built_service_images_are_tagged_latest, test_caddy_exists, test_compose_exists, test_compose_uses_real_project_contexts, test_local_readiness_infrastructure_exists, test_openclaw_in_stack, test_openclaw_runtime_uses_upstream_binaries | imports:pathlib | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "test_agent_config_uses_standard_openclaw_routes,test_built_service_images_are_tagged_latest,test_caddy_exists,test_compose_exists,test_compose_uses_real_project_contexts,test_local_readiness_infrastructure_exists,test_openclaw_in_stack,test_openclaw_runtime_uses_upstream_binaries,test_proxy_capture_sidecar_exists_for_server_side_pcaps,test_tls_gateway_route_exists",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d652f73005c5b81d",
      "framework": "python",
      "imports": "pathlib",
      "lines": 97,
      "logic_relevance": "none",
      "name": "test_compose",
      "normalized_name": "test-compose",
      "package_manager": "python",
      "path": "tests/unit/test_compose.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cd99fa5db5fe11e01168b905",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "pathlib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:test_shared_fingerprint_v7_files_exist, test_shared_http_v7_files_exist, test_shared_mcp_v7_files_exist, test_shared_scenarios_v7_files_exist | imports:pathlib | observability-score:55 | security-score:55",
      "exports": "test_shared_fingerprint_v7_files_exist,test_shared_http_v7_files_exist,test_shared_mcp_v7_files_exist,test_shared_scenarios_v7_files_exist",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "def90417c7ae86c7",
      "framework": "python",
      "imports": "pathlib",
      "lines": 62,
      "logic_relevance": "none",
      "name": "test_shared_package_layout",
      "normalized_name": "test-shared-package-layout",
      "package_manager": "python",
      "path": "tests/unit/test_shared_package_layout.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6321a6688c974d1eab0361b0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "pathlib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:test_lab_uses_real_platphorm_root_repository, test_no_stale_node_service_scaffolds_remain, test_root_standard_routes_are_exercised_by_final_scenario | imports:pathlib | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "test_lab_uses_real_platphorm_root_repository,test_no_stale_node_service_scaffolds_remain,test_root_standard_routes_are_exercised_by_final_scenario",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "79ef3647b853a8a4",
      "framework": "python",
      "imports": "pathlib",
      "lines": 26,
      "logic_relevance": "none",
      "name": "test_network_graph",
      "normalized_name": "test-network-graph",
      "package_manager": "python",
      "path": "tests/contract/test_network_graph.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "25391661d2002bb654490c3d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "json,pathlib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:test_api_broker_mediated_scenario_declares_subject_correction, test_cross_service_ja4m_proof_declares_client_and_server_signals, test_final_exhaustive_regression_declares_tls_quic_noise_and_server_capture, test_human_originated_agent_chain_declares_detection_signals, test_long_running_multi_agent_ja4m_declares_review_signals, test_manifest_schema_minimum, test_openclaw_full_scope_declares_ja4plus_groups_and_tools, test_real_openclaw_runtime_manifest_declares_acp_and_mcporter | imports:json, pathlib | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "test_api_broker_mediated_scenario_declares_subject_correction,test_cross_service_ja4m_proof_declares_client_and_server_signals,test_final_exhaustive_regression_declares_tls_quic_noise_and_server_capture,test_human_originated_agent_chain_declares_detection_signals,test_long_running_multi_agent_ja4m_declares_review_signals,test_manifest_schema_minimum,test_openclaw_full_scope_declares_ja4plus_groups_and_tools,test_real_openclaw_runtime_manifest_declares_acp_and_mcporter,test_scenarios_exist",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "027037fb14dbbfb3",
      "framework": "python",
      "imports": "json,pathlib",
      "lines": 84,
      "logic_relevance": "none",
      "name": "test_scenarios_manifest",
      "normalized_name": "test-scenarios-manifest",
      "package_manager": "python",
      "path": "tests/contract/test_scenarios_manifest.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process,security",
      "component_id": "88d29863142462e5eeb91b70",
      "component_kind": "agent",
      "confidence": 90,
      "dependency_roots": "pathlib",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:test_capture_bundle_contract_enforces_ja4m_leg_boundaries, test_missing_doc_names_no_fake_shortcuts, test_prompt_pack_is_milestone_scoped, test_v7_docs_exist, test_v7_plan_preserves_real_repository_services | imports:pathlib | ai-score:120 | process-score:80 | security-score:55",
      "exports": "test_capture_bundle_contract_enforces_ja4m_leg_boundaries,test_missing_doc_names_no_fake_shortcuts,test_prompt_pack_is_milestone_scoped,test_v7_docs_exist,test_v7_plan_preserves_real_repository_services",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "19671bd72a854f7f",
      "framework": "python",
      "imports": "pathlib",
      "lines": 69,
      "logic_relevance": "none",
      "name": "test_v7_agent_ready_plan",
      "normalized_name": "test-v7-agent-ready-plan",
      "package_manager": "python",
      "path": "tests/contract/test_v7_agent_ready_plan.py",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "0a7d54929f7702c08ba11f84",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "pathlib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:test_lab_compose_uses_real_repositories, test_real_project_route_shims_exist_for_lab_stack, test_root_real_project_routes_exist | imports:pathlib | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "test_lab_compose_uses_real_repositories,test_real_project_route_shims_exist_for_lab_stack,test_root_real_project_routes_exist",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "58de250897734ce1",
      "framework": "python",
      "imports": "pathlib",
      "lines": 87,
      "logic_relevance": "none",
      "name": "test_service_route_standard",
      "normalized_name": "test-service-route-standard",
      "package_manager": "python",
      "path": "tests/contract/test_service_route_standard.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security,process,ai",
      "component_id": "ec6f9085a74f1d33b177024a",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "pathlib",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:test_core_docs_exist, test_docs_define_ja4m_client_server_split, test_docs_do_not_describe_mock_service_substitutes | imports:pathlib | security-score:55 | process-score:45 | ai-score:45",
      "exports": "test_core_docs_exist,test_docs_define_ja4m_client_server_split,test_docs_do_not_describe_mock_service_substitutes",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d907669a10853d5d",
      "framework": "python",
      "imports": "pathlib",
      "lines": 29,
      "logic_relevance": "none",
      "name": "test_repo_docs",
      "normalized_name": "test-repo-docs",
      "package_manager": "python",
      "path": "tests/integration/test_repo_docs.py",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3ce0ea28045b33bf8dc4928a",
      "component_kind": "trace-module",
      "confidence": 90,
      "dependency_roots": "json,pathlib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:test_api_broker_mediated_scenario_is_real_runner_contract, test_deleted_scaffold_services_are_not_required_for_trace_tests, test_final_regression_requires_trace_complete_and_proxy_capture, test_full_trace_scenarios_are_real_service_runner_contracts, test_human_originated_agent_chain_is_real_runner_contract | imports:json, pathlib | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "test_api_broker_mediated_scenario_is_real_runner_contract,test_deleted_scaffold_services_are_not_required_for_trace_tests,test_final_regression_requires_trace_complete_and_proxy_capture,test_full_trace_scenarios_are_real_service_runner_contracts,test_human_originated_agent_chain_is_real_runner_contract",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4c986200ce44ae00",
      "framework": "python",
      "imports": "json,pathlib",
      "lines": 65,
      "logic_relevance": "none",
      "name": "test_full_trace_smoke",
      "normalized_name": "test-full-trace-smoke",
      "package_manager": "python",
      "path": "tests/integration/test_full_trace_smoke.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "aa657461b861c480ddfbd44c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "importlib.util,pathlib",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:test_capture_scripts_exist, test_delivery_artifact_verifier_exists, test_delivery_artifacts_use_high_and_low_level_structure, test_fingerprint_deriver_contains_ja4m_client_and_server_fields, test_fingerprint_deriver_exists, test_fingerprint_deriver_parses_official_ja4_json_stream, test_large_delivery_capture_runner_exists, test_local_readiness_gaps_are_configured_as_honest_degraded_states | imports:importlib.util, pathlib | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "test_capture_scripts_exist,test_delivery_artifact_verifier_exists,test_delivery_artifacts_use_high_and_low_level_structure,test_fingerprint_deriver_contains_ja4m_client_and_server_fields,test_fingerprint_deriver_exists,test_fingerprint_deriver_parses_official_ja4_json_stream,test_large_delivery_capture_runner_exists,test_local_readiness_gaps_are_configured_as_honest_degraded_states,test_pcap_guidance_is_checked_in,test_review_docs_keep_ja4m_client_server_split,test_scenario_executor_exists,test_security_review_package_exists,test_supplemental_ja4m_fixture_is_checked_in",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c865259021973048",
      "framework": "python",
      "imports": "importlib.util,pathlib",
      "lines": 124,
      "logic_relevance": "none",
      "name": "test_capture_bundle",
      "normalized_name": "test-capture-bundle",
      "package_manager": "python",
      "path": "tests/integration/test_capture_bundle.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "1cc2e089ffc3b264f07af293",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "json,pathlib,re",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:test_openclaw_xai_delivery_artifact_is_truthful_and_redacted, test_openclaw_xai_smoke_runner_uses_environment_secret_safely | imports:json, pathlib, re | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "test_openclaw_xai_delivery_artifact_is_truthful_and_redacted,test_openclaw_xai_smoke_runner_uses_environment_secret_safely",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0a7e45c68c84610c",
      "framework": "python",
      "imports": "json,pathlib,re",
      "lines": 35,
      "logic_relevance": "none",
      "name": "test_openclaw_xai_smoke",
      "normalized_name": "test-openclaw-xai-smoke",
      "package_manager": "python",
      "path": "tests/integration/test_openclaw_xai_smoke.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "747c7ac4947dc271d00ef90f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cefe1454f6ba7b16",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "python",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d3a49b2fa23867befbc176c4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "794766a8e64299c8",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "DISCOVERABILITY_CONTRACT",
      "normalized_name": "discoverability-contract",
      "package_manager": "python",
      "path": "docs/DISCOVERABILITY_CONTRACT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bddd3309d2429faaf7335b03",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dac37918f50b3054",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4M_PCAP_TESTING_GUIDANCE",
      "normalized_name": "ja4-m-pcap-testing-guidance",
      "package_manager": "python",
      "path": "docs/JA4M_PCAP_TESTING_GUIDANCE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4348f9ddac29c5afa1c50a49",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d4361d4bb0cdff3e",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "CAPTURE",
      "normalized_name": "capture",
      "package_manager": "python",
      "path": "docs/CAPTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "51ff820599f1e8464b8b92df",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a2bcb7cca58afabd",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "REPORTING",
      "normalized_name": "reporting",
      "package_manager": "python",
      "path": "docs/REPORTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1838017256e2f03d629c0eaa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "468baa22fd6324a5",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "V7_MISSING_FROM_THIS_REPO",
      "normalized_name": "v7-missing-from-this-repo",
      "package_manager": "python",
      "path": "docs/V7_MISSING_FROM_THIS_REPO.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "6246056ea37e94cd721d3171",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c7ea89f55f9be96c",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "INSTALL",
      "normalized_name": "install",
      "package_manager": "python",
      "path": "docs/INSTALL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "1f51f206b24d781c6945f98b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8537003692dc3152",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "CAPTURE_BUNDLE_CONTRACT",
      "normalized_name": "capture-bundle-contract",
      "package_manager": "python",
      "path": "docs/CAPTURE_BUNDLE_CONTRACT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "234310426b961c469ba99989",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3b30d722fc8db15a",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "NETWORK_DISCOVERY",
      "normalized_name": "network-discovery",
      "package_manager": "python",
      "path": "docs/NETWORK_DISCOVERY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,ai,observability,security,automation",
      "component_id": "ef52f4579415e1374e62b6fe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f2e38af8c1e8124",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "JA4M_LAB_V7_AGENT_READY_PLAN",
      "normalized_name": "ja4-m-lab-v7-agent-ready-plan",
      "package_manager": "python",
      "path": "docs/JA4M_LAB_V7_AGENT_READY_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "bce3d46b85ef54985e60a94f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7f88e5ebc8143fd1",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,process,logic,observability,security",
      "component_id": "5a77d28a7e8088d975caafb8",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:110 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1104f6114ce6e611",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "secondary",
      "name": "OPENDOCS_MODEL",
      "normalized_name": "opendocs-model",
      "package_manager": "python",
      "path": "docs/OPENDOCS_MODEL.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ba33498529806deddd442fdc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f368bb41d5ba1bbb",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "SCENARIOS",
      "normalized_name": "scenarios",
      "package_manager": "python",
      "path": "docs/SCENARIOS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "44feb927b155507fd9e90e30",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f0a6d23a67526eda",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "SCENARIO_MATRIX",
      "normalized_name": "scenario-matrix",
      "package_manager": "python",
      "path": "docs/SCENARIO_MATRIX.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,security,automation,ai",
      "component_id": "b43d6c11af71a13aa3cd4312",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3b5bfb0a0208b1bd",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "ja4m_mcp_example_v2_README",
      "normalized_name": "ja4m-mcp-example-v2-readme",
      "package_manager": "python",
      "path": "docs/ja4m_mcp_example_v2_README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,ai,logic,observability,security,automation",
      "component_id": "26b8f4c06074d10240301ac2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:120 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "88b908f304a941d2",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "secondary",
      "name": "OPENCLAW_MODEL",
      "normalized_name": "openclaw-model",
      "package_manager": "python",
      "path": "docs/OPENCLAW_MODEL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "fdf764500efccdb45b01d103",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a032c0e822c93db7",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "SERVICE_CONTRACTS",
      "normalized_name": "service-contracts",
      "package_manager": "python",
      "path": "docs/SERVICE_CONTRACTS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0a1b8aa32c65071281e49724",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec91402a2975aa2b",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_PLAN",
      "normalized_name": "implementation-plan",
      "package_manager": "python",
      "path": "docs/IMPLEMENTATION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,ai,observability,security,automation",
      "component_id": "b102e87d183897e39846e669",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2718f50e6e4ea971",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "V7_PROMPT_PACK",
      "normalized_name": "v7-prompt-pack",
      "package_manager": "python",
      "path": "docs/V7_PROMPT_PACK.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b9c61fca9e7ce04623c519c6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cbda4ec485a6aeca",
      "framework": "unknown",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "FILE_INVENTORY",
      "normalized_name": "file-inventory",
      "package_manager": "python",
      "path": "review/ja4m-security-review/FILE_INVENTORY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c30230863da7929af3a5847d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7df21a6c3e7a7ce7",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "review/ja4m-security-review/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "4de3aae320c63c5cb3482e8c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "51519f2d4c1db0a9",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "PCAP_REVIEW_GUIDE",
      "normalized_name": "pcap-review-guide",
      "package_manager": "python",
      "path": "review/ja4m-security-review/PCAP_REVIEW_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e70edf5dbce0de958f2b384b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a99cebe464b8c914",
      "framework": "unknown",
      "imports": "",
      "lines": 181,
      "logic_relevance": "none",
      "name": "GAPS_AND_LIMITATIONS",
      "normalized_name": "gaps-and-limitations",
      "package_manager": "python",
      "path": "review/ja4m-security-review/GAPS_AND_LIMITATIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation,ai",
      "component_id": "4f02332ae5e69b35e3eba0e5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "681ac0df999935d2",
      "framework": "unknown",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "REVIEW_MANIFEST",
      "normalized_name": "review-manifest",
      "package_manager": "python",
      "path": "review/ja4m-security-review/REVIEW_MANIFEST.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8ab5db6e02a8f4457af1d9eb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "76ba80dca117b026",
      "framework": "unknown",
      "imports": "",
      "lines": 219,
      "logic_relevance": "none",
      "name": "WHITEPAPER",
      "normalized_name": "whitepaper",
      "package_manager": "python",
      "path": "review/ja4m-security-review/WHITEPAPER.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "9452c70a9ec601051ee93267",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a3ea14935831f2bd",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-http/ja4m-c.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bb93a5f731ae483476cefb4b",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c8018a83f76eb9fa",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-http/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "29e7c5728427c48391d14806",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "67bc5a611accc2fb",
      "framework": "unknown",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-http/ja4m-s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "bb345691a23648834611dace",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9d7e1c9e149016eb",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-http/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "788361ca33c7d2a5838eeb1f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b4e66077d0cb0d02",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-http/ja4m-x.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "746004dcf29d04fa69885520",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a60469679e347ca3",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/ide-profiles/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "df32acc45f82f68764de377a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "41c935e0ef9d6cf0",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/ide-profiles/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d415dd8f9de67edd60e28a8f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dff7a11532a2735c",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/ide-profiles/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "63963258303afda201e7203e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f1cde0be75bccec8",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/ide-profiles/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "397b0945354d963b853b9aba",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c7e0881853ebb9b7",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/ide-profiles/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "cd8b99b8320c886035506fee",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "71069f3398c11bc3",
      "framework": "unknown",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-http/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4671bd89fcb0c4f091740304",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "41189fe7872e5b9d",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-http/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "0c38d89cca0c918b287a476d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f311490b924355ea",
      "framework": "unknown",
      "imports": "",
      "lines": 250,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-http/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "e525b21ad74e79ac54f8cae9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "36d347520b1fc237",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-http/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "68dc592754cd31cee7644691",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a9aad222f76e5a9e",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-http/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "2ec6ddacb0bc727d496f2260",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc7605036b236bdb",
      "framework": "unknown",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "1134c8356acdd6d7a368c53c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "97639223b3da999f",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "62409d0c6c3fc2fd56792029",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9e0b287b803bfbaa",
      "framework": "unknown",
      "imports": "",
      "lines": 264,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "7cdc6961b254b19eae7811a2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2e802c7c400dea72",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "61166ddc94c9ceac2075a5cd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b0406141f9ef97b9",
      "framework": "unknown",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "ee995ca9ed5469b66d0abefd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "63beadca69b6d81d",
      "framework": "unknown",
      "imports": "",
      "lines": 236,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-tls/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d23e8a710fe839ac316f2aa3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7193848ec27ce4a3",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-tls/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "94c53a4bc9e0cf33149bdf6e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e43dd2072a10bd99",
      "framework": "unknown",
      "imports": "",
      "lines": 215,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-tls/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "ec28de185c7016f483cfc0ad",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "60997637e446cc6d",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-tls/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "74b1f6d6356570a763523aaa",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "010af1b17b9a4118",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/long-running-tls/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "9e639a8175c5dd735d8de6ca",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e7058ce8e10bcc69",
      "framework": "unknown",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-tls/ja4m-c.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b4b38f145a14ff19f5fb2322",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "978960992cae09de",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-tls/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "6f4218a03320da40448b99b6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "db5e5592218763fc",
      "framework": "unknown",
      "imports": "",
      "lines": 119,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-tls/ja4m-s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "8d8c88afd8a1dcb74e6ad51e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2e87a88938b81d42",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-tls/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "fc11b8b7b314668d74b1fefd",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9440847f02915d38",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/cross-service-tls/ja4m-x.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "be1de90f02463aa062be2f61",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0ff4071b12be8c8c",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "aa0187fbbac4a253792a16a6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e73c6ca626cf9d0c",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "308514b415ddb24ede586e5d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2df5401663b51845",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ceb3b9c05fe91aa3b34662d5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c6e19ca7a908c213",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "1a8f037eaec923ebca1b2afe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "511a1df8e7735090",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "8d4f48c7e0aecc6de704b4b6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c868c99ca153d396",
      "framework": "unknown",
      "imports": "",
      "lines": 963,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "91fdacd15ff4e9d50ff4d57a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a2be38f9b96a4933",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "8d81b5c427f4cfa79c2c499b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "367aaaf482c0c905",
      "framework": "unknown",
      "imports": "",
      "lines": 1102,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "f6dc3cbc1575b35ea6d859a8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "97c70da9bb6c56a6",
      "framework": "unknown",
      "imports": "",
      "lines": 429,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "910e55267643ad7478eba06e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "14fdaece3c14d41a",
      "framework": "unknown",
      "imports": "",
      "lines": 288,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "805412ecfb134cbe12a77e0c",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "24f12960ab3d0dd3",
      "framework": "unknown",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/service-mesh/ja4m-c.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1badff6c85b1088441643178",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "037c5460e76a0e99",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/service-mesh/ja4.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "22dee9800fb0d7c4b4661aea",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4e33a132c2be8bf3",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/service-mesh/ja4m-s.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0f945e86ce52b72251339790",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "418a3835ce233854",
      "framework": "unknown",
      "imports": "",
      "lines": 202,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/service-mesh/ja4h.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "740e1521bcf6aab5b2007282",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cf2107a9c71ba737",
      "framework": "unknown",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/service-mesh/ja4m-x.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "629618fb34da8fb4c6cece58",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ab82f5f5566cc64e",
      "framework": "unknown",
      "imports": "",
      "lines": 238,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "34691ff92bef780ef9edc11b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9f178aad6070e99e",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "1bee03d4f24778ac14827d40",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "28523a48fd7f44ae",
      "framework": "unknown",
      "imports": "",
      "lines": 213,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "a0d600f201e61faaf43dc88b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9438d29758316a1a",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "c0966ae7aae4da2a941a65a2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "68e2776d0b0283d8",
      "framework": "unknown",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "eece26c4d81b0db2c0c58094",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d6fe5a83d686561d",
      "framework": "unknown",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4m-c.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5ad25390333ed1595e0205d0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "368860b6a70fbca8",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "9a3229fa07b93b120b01cb01",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "10b025a0a209ccae",
      "framework": "unknown",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4m-s.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ca0becb1629e85c6538c4919",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5b147e1cb30f3484",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "ja4h",
      "normalized_name": "ja4h",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4h.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "661e1b5b932e1ad622e091b8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "65a5b6a6ba9dc506",
      "framework": "unknown",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4m-x.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,logic",
      "component_id": "2866661e9cf2f88eab39fbf4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a39834d5e21a6e61",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/cross-service-http/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "9fa7d079f33a860f806bbd16",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "88d2eee35c32c523",
      "framework": "unknown",
      "imports": "",
      "lines": 5901,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/cross-service-http/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "010d4b881734713fbd8588b5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "128a6a199d217293",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/cross-service-http/assertions.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "b03c577d3a98dd65ffe37227",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31df9960aeaa94c0",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/ide-profiles/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "4cb0aae46f44dfb1267eab76",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "341fbfd2dac606c2",
      "framework": "unknown",
      "imports": "",
      "lines": 4902,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/ide-profiles/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "0d7438de40a7b0c3674fe24e",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1918c4d4fb758d0f",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/ide-profiles/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "1b6b1ffb86d029f46214eac9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "271b527dbc8e2228",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/long-running-http/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e5323101bc375e30f7f91f35",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "72721aa0e24341a0",
      "framework": "unknown",
      "imports": "",
      "lines": 6073,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/long-running-http/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "db22b8d28d6c0b05a1990077",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d732afa4114f8388",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/long-running-http/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic,ai",
      "component_id": "5921768d2981919609b223c6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "37198ed81dbcff59",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-integration-http/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "7f509b9201da32877eaa9219",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "76986393a48c028b",
      "framework": "unknown",
      "imports": "",
      "lines": 2065,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-integration-http/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "fd94bec79885b169461adb95",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7915b794c895701b",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-integration-http/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "abd83cbdcb911e563ed023bb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4df00069024f3148",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/long-running-tls/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "ddd55f38a6ed2cfbcb4df20d",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ec4a0ae1b7cfcc9f",
      "framework": "unknown",
      "imports": "",
      "lines": 6073,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/long-running-tls/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "2a5d8d7b594eda607e7036f7",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d732afa4114f8388",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/long-running-tls/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,logic",
      "component_id": "9b93d63cb325c44a26abc8b7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3f426aadcc925b3b",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/cross-service-tls/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "688e790550137f9e5dbac862",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ed7ba36427927f4",
      "framework": "unknown",
      "imports": "",
      "lines": 5901,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/cross-service-tls/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "f1fd08c69bcd15d4023fbb5b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "128a6a199d217293",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/cross-service-tls/assertions.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "98d86889cb277aac848285f8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "198e0c5bde349057",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-runtime-http/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation,ai",
      "component_id": "8d02303e6aaae1209587426f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2ee41839a8357725",
      "framework": "unknown",
      "imports": "",
      "lines": 254,
      "logic_relevance": "secondary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-runtime-http/declared-vs-actual.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "5550d8924cacf92d2c7186c8",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "18a21ca2253e59c1",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-runtime-http/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "5ef22025a54ebef2ceeab21a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e28e0f64cbadd848",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/final-exhaustive-tls/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security,logic",
      "component_id": "48c5d2b4a1e28130562a0b5e",
      "component_kind": "fingerprinting",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b9edaef45130062",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/final-exhaustive-tls/declared-vs-actual.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "ec817ffb8e00c0f2c100b5db",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7edfa67ff2b64ded",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/final-exhaustive-tls/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,logic",
      "component_id": "f673896349d69a82eb2bf9be",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c10f310a08d72bb2",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/service-mesh/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "02efc1171ac4fc4b604a5cad",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "68445ec1cccf9463",
      "framework": "unknown",
      "imports": "",
      "lines": 12020,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/service-mesh/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "6a6b05d021659c25f0093524",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ce1953c311b6d684",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/service-mesh/assertions.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic,ai",
      "component_id": "be187ac6b967d2c11ba856d9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "da675c6d7a15fd06",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-integration-tls/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "219bb237f50a166c6653feeb",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a7f2c7b4a8e86f78",
      "framework": "unknown",
      "imports": "",
      "lines": 2076,
      "logic_relevance": "primary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-integration-tls/declared-vs-actual.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "f2cb9c0da13a8ff2f60a5496",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7915b794c895701b",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-integration-tls/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "edc7dde48f17bf2c514efb09",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5b52ba11bfe9cbb3",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-runtime-tls/summary.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation,ai",
      "component_id": "8c74a7b630183545c32dc8a9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fe3fd7bdbf8123b1",
      "framework": "unknown",
      "imports": "",
      "lines": 254,
      "logic_relevance": "secondary",
      "name": "declared-vs-actual",
      "normalized_name": "declared-vs-actual",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-runtime-tls/declared-vs-actual.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic",
      "component_id": "d28c845660320617361e72a2",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "18a21ca2253e59c1",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "review/ja4m-security-review/validation/openclaw-runtime-tls/assertions.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,integration,observability",
      "component_id": "fc4df0341c5d7c0770af8131",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4f4990e62d7488be",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "mcp.lab",
      "normalized_name": "mcp-lab",
      "package_manager": "python",
      "path": "configs/agent/mcp.lab.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,logic",
      "component_id": "cb535baac3053acbeaed7e7d",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fee65086447a1cf5",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "run-all-core-scenarios",
      "normalized_name": "run-all-core-scenarios",
      "package_manager": "python",
      "path": "scripts/run-all-core-scenarios.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "224ad1e08b0dec261c871f55",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "collections,json,os,pathlib,shutil,subprocess,sys",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:classify_leg_steps, false_positive_checks, field_counts, grouping_checks, grouping_payload, ja4plus_grouping, main, packet_count | imports:collections, json, os, pathlib, shutil, subprocess, sys | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "classify_leg_steps,false_positive_checks,field_counts,grouping_checks,grouping_payload,ja4plus_grouping,main,packet_count,parse_json_stream,parser_commit,placeholder_fingerprint,run,run_official_ja4_parser,step_names,summarize_official_family,write_applicable_ja4m_leg_outputs,write_json,write_leg_outputs",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "97ff94390ea58a08",
      "framework": "python",
      "imports": "collections,json,os,pathlib,shutil,subprocess,sys",
      "lines": 557,
      "logic_relevance": "none",
      "name": "derive-fingerprints",
      "normalized_name": "derive-fingerprints",
      "package_manager": "python",
      "path": "scripts/derive-fingerprints.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "e443556ef1711e67b4e42a55",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "43512d307bf5f202",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "wait-for-services",
      "normalized_name": "wait-for-services",
      "package_manager": "python",
      "path": "scripts/wait-for-services.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "84224548f02128b4f67ff035",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "25c4abf528a24281",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "python",
      "path": "scripts/install.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "352f549b5ec455ac9c229e4d",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "658727f5e5e27020",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "verify",
      "normalized_name": "verify",
      "package_manager": "python",
      "path": "scripts/verify.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,security",
      "component_id": "6b4896e0acdd547c8767a868",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f6ac13e1b29dd4f",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "run-tls-scenario",
      "normalized_name": "run-tls-scenario",
      "package_manager": "python",
      "path": "scripts/run-tls-scenario.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "21b5920d893ce41d4a02a216",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "datetime,hashlib,json,pathlib,shutil,subprocess,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:copy_file, copy_tree, main, rebuild_archive, refresh_manifest, refresh_scenario | imports:datetime, hashlib, json, pathlib, shutil, subprocess, sys | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "copy_file,copy_tree,main,rebuild_archive,refresh_manifest,refresh_scenario",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "97f030879c271e21",
      "framework": "python",
      "imports": "datetime,hashlib,json,pathlib,shutil,subprocess,sys",
      "lines": 93,
      "logic_relevance": "none",
      "name": "refresh-delivery-artifacts",
      "normalized_name": "refresh-delivery-artifacts",
      "package_manager": "python",
      "path": "scripts/refresh-delivery-artifacts.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,security",
      "component_id": "c60601509ab255b44dce10d4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "93263a5068bd6d61",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "run-large-delivery-capture",
      "normalized_name": "run-large-delivery-capture",
      "package_manager": "python",
      "path": "scripts/run-large-delivery-capture.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "a21a7daab507f2a63468180d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b7ad8668201322c7",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "run-openclaw-xai-smoke",
      "normalized_name": "run-openclaw-xai-smoke",
      "package_manager": "python",
      "path": "scripts/run-openclaw-xai-smoke.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "debc6b9589131ba27c7e1b1c",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "hashlib,json,pathlib,re,shutil,subprocess,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:check_archive, check_docs, check_fingerprint, check_manifest, check_scenario, check_secret_leakage, fail, load_json | imports:hashlib, json, pathlib, re, shutil, subprocess, sys | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "check_archive,check_docs,check_fingerprint,check_manifest,check_scenario,check_secret_leakage,fail,load_json,main,packet_count,sha256",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "6afa70ea44c33485",
      "framework": "python",
      "imports": "hashlib,json,pathlib,re,shutil,subprocess,sys",
      "lines": 276,
      "logic_relevance": "none",
      "name": "verify-delivery-artifacts",
      "normalized_name": "verify-delivery-artifacts",
      "package_manager": "python",
      "path": "scripts/verify-delivery-artifacts.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "68bf3dc1d3a844484a06aeb9",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "88c408e8ed13421a",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "reset",
      "normalized_name": "reset",
      "package_manager": "python",
      "path": "scripts/reset.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "f1ffd73d0fa92d89f25376d0",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a9d277726132929c",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "down",
      "normalized_name": "down",
      "package_manager": "python",
      "path": "scripts/down.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "53129ef02028265bb700a3e7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3ef3513fd5d780ad",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "run-scenario",
      "normalized_name": "run-scenario",
      "package_manager": "python",
      "path": "scripts/run-scenario.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "2ca4b2b75464f90bdef52a1c",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ff6d470028c96e0d",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "up",
      "normalized_name": "up",
      "package_manager": "python",
      "path": "scripts/up.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "bd5725c7f0bb659b930daff6",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "base64,datetime,hashlib,http.client,json,os,pathlib,random,socket,ssl,subprocess,sys,time,urllib.error,urllib.request",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:decode_chunked_body, env_int, export_scenario_trace, http_json, http_sse_once, http_text, initialize, internet_noise_probe | imports:base64, datetime, hashlib, http.client, json, os, pathlib, random | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "decode_chunked_body,env_int,export_scenario_trace,http_json,http_sse_once,http_text,initialize,internet_noise_probe,jsonrpc_error_code,lab_headers,lab_url,local_tls_exchange,local_tls_json,local_tls_sse_once,local_tls_text,main,mark_initialized,mcp,mcp_as_profile,mcp_as_profile_at,mcp_batch_as_profile_at,quic_probe,run_scenario,runtime_command,websocket_probe",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "7469bd9c6c668e5b",
      "framework": "python",
      "imports": "base64,datetime,hashlib,http.client,json,os,pathlib,random,socket,ssl,subprocess,sys,time,urllib.error,urllib.request",
      "lines": 1695,
      "logic_relevance": "none",
      "name": "execute-scenario",
      "normalized_name": "execute-scenario",
      "package_manager": "python",
      "path": "scripts/execute-scenario.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "5c63cb5e9a6cce9bfda083eb",
      "component_kind": "fingerprinting",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2881a3bc8457f54",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "f5f60cb77ab481f9499da9fa",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ExchangeEdge, buildExchangeGraph | imports:./normalize | observability-score:55 | security-score:55",
      "exports": "ExchangeEdge,buildExchangeGraph",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2b49478917b6ebab",
      "framework": "unknown",
      "imports": "./normalize",
      "lines": 27,
      "logic_relevance": "none",
      "name": "graphs",
      "normalized_name": "graphs",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/graphs.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "d3781e1f3eb4599e20be8685",
      "component_kind": "fingerprinting",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:buildJa4mExchangeFingerprint | imports:./buckets, ./graphs, ./normalize | security-score:55",
      "exports": "buildJa4mExchangeFingerprint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dc12704b1543d272",
      "framework": "unknown",
      "imports": "./buckets,./graphs,./normalize",
      "lines": 19,
      "logic_relevance": "none",
      "name": "ja4m-x",
      "normalized_name": "ja4m-x",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/ja4m-x.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "4ea1177a69f7c8a02441c1ff",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:buildJa4mServerFingerprint | imports:./buckets, ./normalize | observability-score:55 | security-score:55",
      "exports": "buildJa4mServerFingerprint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "788c3f272a648ad8",
      "framework": "unknown",
      "imports": "./buckets,./normalize",
      "lines": 20,
      "logic_relevance": "none",
      "name": "ja4m-s",
      "normalized_name": "ja4m-s",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/ja4m-s.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "observability,security",
      "component_id": "3d551054399ab39336fdc033",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for security; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:bucketCount, bucketDurationMs, bucketStatus | observability-score:55 | security-score:55",
      "exports": "bucketCount,bucketDurationMs,bucketStatus",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8a26cc8ce213791",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "buckets",
      "normalized_name": "buckets",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/buckets.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "509bd5bdd1f1e5ac515d4a18",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NormalizedMcpEvent, normalizeEvent, normalizeMethodBasket, normalizeToken | observability-score:55 | security-score:55",
      "exports": "NormalizedMcpEvent,normalizeEvent,normalizeMethodBasket,normalizeToken",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "57d14958968611ad",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "normalize",
      "normalized_name": "normalize",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/normalize.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "8cb01d1870a2d4790370d67b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:buildJa4mClientFingerprint | imports:./buckets, ./normalize | observability-score:55 | security-score:55",
      "exports": "buildJa4mClientFingerprint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4aa647aa037c9b78",
      "framework": "unknown",
      "imports": "./buckets,./normalize",
      "lines": 20,
      "logic_relevance": "none",
      "name": "ja4m-c",
      "normalized_name": "ja4m-c",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/ja4m-c.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "b70b366930bfaed9585ec9f9",
      "component_kind": "fingerprinting",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:./buckets, ./graphs, ./ja4m-c, ./ja4m-s, ./ja4m-x, ./normalize | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d9b69a7d57579013",
      "framework": "unknown",
      "imports": "./buckets,./graphs,./ja4m-c,./ja4m-s,./ja4m-x,./normalize",
      "lines": 6,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "python",
      "path": "packages/shared-fingerprint/src/index.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "c27cb7a328cd70eca38e36e2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CommonRouteConfig, installCommonRoutes | imports:./capabilities, ./health, ./llms, ./robots, ./sitemap, ./version | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CommonRouteConfig,installCommonRoutes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f66e7cea7c79d68",
      "framework": "unknown",
      "imports": "./capabilities,./health,./llms,./robots,./sitemap,./version",
      "lines": 130,
      "logic_relevance": "none",
      "name": "routes",
      "normalized_name": "routes",
      "package_manager": "python",
      "path": "packages/shared-http/src/routes.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "75c4b4cf9b1e76cbabe5ca3e",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "exports:buildRobotsTxt | discovery-score:55",
      "exports": "buildRobotsTxt",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3f260624e60825c9",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "python",
      "path": "packages/shared-http/src/robots.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,discovery",
      "component_id": "f03d12df4ad51d61ef21825b",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:LlmsInput, buildLlmsFullText, buildLlmsText | imports:./capabilities | security-score:55 | discovery-score:55",
      "exports": "LlmsInput,buildLlmsFullText,buildLlmsText",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ff4482a14812a85",
      "framework": "unknown",
      "imports": "./capabilities",
      "lines": 68,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "python",
      "path": "packages/shared-http/src/llms.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "de17f7607cf2d99f28ed3561",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./capabilities, ./health, ./llms, ./robots, ./routes, ./sitemap, ./version | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0df4df57ee8cc268",
      "framework": "unknown",
      "imports": "./capabilities,./health,./llms,./robots,./routes,./sitemap,./version",
      "lines": 7,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "python",
      "path": "packages/shared-http/src/app.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "c00d4d4983444b4841e6bbcf",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:CapabilitiesInput, Capability, buildCapabilitiesResponse, sortCapabilities | security-score:55",
      "exports": "CapabilitiesInput,Capability,buildCapabilitiesResponse,sortCapabilities",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e5dc224193c2392e",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "capabilities",
      "normalized_name": "capabilities",
      "package_manager": "python",
      "path": "packages/shared-http/src/capabilities.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "d5dd575e4ede9d33c089e864",
      "component_kind": "sitemap",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "exports:SitemapUrl, buildSitemapXml | discovery-score:55",
      "exports": "SitemapUrl,buildSitemapXml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4e8f0dbe6f1692a2",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "python",
      "path": "packages/shared-http/src/sitemap.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5b35d214103336201e9c6fa2",
      "component_kind": "health-check",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DependencyStatus, HealthDependency, HealthInput, buildHealthResponse | observability-score:55 | uses-env",
      "exports": "DependencyStatus,HealthDependency,HealthInput,buildHealthResponse",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea96a051817fd15e",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "health",
      "normalized_name": "health",
      "package_manager": "python",
      "path": "packages/shared-http/src/health.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "db1386f82594a6376051dced",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VersionInput, buildVersionResponse | automation-score:45 | uses-env",
      "exports": "VersionInput,buildVersionResponse",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1f51c5d44becd820",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "python",
      "path": "packages/shared-http/src/version.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "b84d267b4d3bd3115042c73d",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:BundleAssertionInput, assertBundleShape, assertNoJa4mOnNonMcpLeg | security-score:55",
      "exports": "BundleAssertionInput,assertBundleShape,assertNoJa4mOnNonMcpLeg",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "16b3351c23b5ffdd",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "assertions",
      "normalized_name": "assertions",
      "package_manager": "python",
      "path": "packages/shared-scenarios/src/assertions.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security,discovery",
      "component_id": "e1dbee01e6669dd32dab86da",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ScenarioManifest, ScenarioStep, validateManifest | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "ScenarioManifest,ScenarioStep,validateManifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d2222ccd21dc923e",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "python",
      "path": "packages/shared-scenarios/src/manifest.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "d2a9a18456d5468da11f4d60",
      "component_kind": "mcp",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "34d8a09037a28d20",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "python",
      "path": "packages/shared-mcp/package.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability",
      "component_id": "a915a7ff736860b9cb22ddb2",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isJsonRpcRequest, validateAcceptHeader, validateProtocolVersion, validateSingleJsonRpcMessage, validateSseAcceptHeader | imports:./types | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "isJsonRpcRequest,validateAcceptHeader,validateProtocolVersion,validateSingleJsonRpcMessage,validateSseAcceptHeader",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61a50ac1f38906c6",
      "framework": "unknown",
      "imports": "./types",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/validation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "abd945e92b30cb41f87421fd",
      "component_kind": "mcp",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:buildProgressCallback, buildServerCallback | imports:./types | integration-score:55",
      "exports": "buildProgressCallback,buildServerCallback",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "06bd9392b4010c6f",
      "framework": "unknown",
      "imports": "./types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "callbacks",
      "normalized_name": "callbacks",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/callbacks.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,security,ai",
      "component_id": "f63c878e7d43bcc5026a585e",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:LifecycleClass, classifyLifecycle, classifySession | imports:./types | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "LifecycleClass,classifyLifecycle,classifySession",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "59574e4a3988d613",
      "framework": "unknown",
      "imports": "./types",
      "lines": 34,
      "logic_relevance": "none",
      "name": "lifecycle",
      "normalized_name": "lifecycle",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/lifecycle.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "b804ba454c70d7da3d942d3b",
      "component_kind": "mcp",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:SseEvent, formatSseEvent, parseLastEventId | integration-score:55",
      "exports": "SseEvent,formatSseEvent,parseLastEventId",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6a0bd22fd61387a7",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "sse",
      "normalized_name": "sse",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/sse.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,observability",
      "component_id": "fa206751933e596e9a56e538",
      "component_kind": "mcp",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:DEFAULT_MCP_PROTOCOL_VERSION, JSON_RPC_VERSION, JsonRpcError, JsonRpcId, JsonRpcNotification, JsonRpcRequest, JsonRpcResponse, McpLifecycleState | integration-score:55 | observability-score:55",
      "exports": "DEFAULT_MCP_PROTOCOL_VERSION,JSON_RPC_VERSION,JsonRpcError,JsonRpcId,JsonRpcNotification,JsonRpcRequest,JsonRpcResponse,McpLifecycleState,McpSession,McpValidationResult",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0b844eb141010a4a",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/types.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "1e43097d5247792fba276245",
      "component_kind": "mcp",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:./callbacks, ./lifecycle, ./sessions, ./sse, ./types, ./validation | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c48aae41cf6c429",
      "framework": "unknown",
      "imports": "./callbacks,./lifecycle,./sessions,./sse,./types,./validation",
      "lines": 6,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/index.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "0463dae7849e4fe1a15d1b11",
      "component_kind": "mcp",
      "confidence": 80,
      "dependency_roots": "node:crypto",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:McpSessionStore, SessionStoreOptions | imports:./types, node:crypto | integration-score:55",
      "exports": "McpSessionStore,SessionStoreOptions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0d05494246a99feb",
      "framework": "unknown",
      "imports": "./types,node:crypto",
      "lines": 70,
      "logic_relevance": "none",
      "name": "sessions",
      "normalized_name": "sessions",
      "package_manager": "python",
      "path": "packages/shared-mcp/src/sessions.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "5c0a5dbb1a85cdc2a15f0e70",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3ee812bb9d7340f5",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "ACTION_PLAN",
      "normalized_name": "action-plan",
      "package_manager": "python",
      "path": "diagnostics/ACTION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security,discovery",
      "component_id": "6c899ab8b4d1e352d4c45793",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ec5cbd4ce899bfac",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "081-long-running-multi-agent-ja4m",
      "normalized_name": "081-long-running-multi-agent-ja4m",
      "package_manager": "python",
      "path": "scenarios/manifests/081-long-running-multi-agent-ja4m.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security,discovery",
      "component_id": "e81f3419a7c6e8c84d49d191",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9e44e65aa2cd655b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "070-ide-agent-profiles",
      "normalized_name": "070-ide-agent-profiles",
      "package_manager": "python",
      "path": "scenarios/manifests/070-ide-agent-profiles.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "a937a217f90dad3c29656dc4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "53c5756a8c235b6d",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "082-openclaw-full-scope-ja4m",
      "normalized_name": "082-openclaw-full-scope-ja4m",
      "package_manager": "python",
      "path": "scenarios/manifests/082-openclaw-full-scope-ja4m.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "914db294b0371d7390b3c906",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "78fac133f1f10cf0",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "024-session-expiry-reinit",
      "normalized_name": "024-session-expiry-reinit",
      "package_manager": "python",
      "path": "scenarios/manifests/024-session-expiry-reinit.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "14236078314789f8229d392b",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a702e5ff7a45e5a7",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "020-sse-subscribe",
      "normalized_name": "020-sse-subscribe",
      "package_manager": "python",
      "path": "scenarios/manifests/020-sse-subscribe.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,discovery",
      "component_id": "f6bb76376bf76c679bb068ac",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "aa6ef39f8817e15c",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "022-server-callback",
      "normalized_name": "022-server-callback",
      "package_manager": "python",
      "path": "scenarios/manifests/022-server-callback.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "c517108e482686d866516d92",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a758f1dd4611eeb1",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "021-sse-resume",
      "normalized_name": "021-sse-resume",
      "package_manager": "python",
      "path": "scenarios/manifests/021-sse-resume.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "fcf6491c816f6379ebd0381e",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "763cfed157e8ae4e",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "041-openclaw-streaming",
      "normalized_name": "041-openclaw-streaming",
      "package_manager": "python",
      "path": "scenarios/manifests/041-openclaw-streaming.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "346a8a6b474a43da6fb7eff4",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "18636893a0ef88cf",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "025-session-misuse",
      "normalized_name": "025-session-misuse",
      "package_manager": "python",
      "path": "scenarios/manifests/025-session-misuse.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "072b040eacf20f07d0fa2f4e",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "74823a389542c552",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "030-no-initialize",
      "normalized_name": "030-no-initialize",
      "package_manager": "python",
      "path": "scenarios/manifests/030-no-initialize.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "43c373626d42b1f17b063649",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "133d9cd99bea3be1",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "085-api-broker-mediated-ja4m",
      "normalized_name": "085-api-broker-mediated-ja4m",
      "package_manager": "python",
      "path": "scenarios/manifests/085-api-broker-mediated-ja4m.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "5e2d0c1e30cbb33bf937b4b8",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "24f18cd3add4e25c",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "080-cross-service-ja4m-proof",
      "normalized_name": "080-cross-service-ja4m-proof",
      "package_manager": "python",
      "path": "scenarios/manifests/080-cross-service-ja4m-proof.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "914b246c97d9e3e7108ffd60",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a5008d6fd56cd8c4",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "004-capability-consistency",
      "normalized_name": "004-capability-consistency",
      "package_manager": "python",
      "path": "scenarios/manifests/004-capability-consistency.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "36f23eccb50ab90a643f3c18",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "90d2b17974b3ea8b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "011-enumerate",
      "normalized_name": "011-enumerate",
      "package_manager": "python",
      "path": "scenarios/manifests/011-enumerate.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "972f08e3a6ee6a849a8ddaa8",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8a23702712d92896",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "001-root-graph-discovery",
      "normalized_name": "001-root-graph-discovery",
      "package_manager": "python",
      "path": "scenarios/manifests/001-root-graph-discovery.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "f191c14ada3d85a04ed523db",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d2a0601e2f613269",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "012-tool-call",
      "normalized_name": "012-tool-call",
      "package_manager": "python",
      "path": "scenarios/manifests/012-tool-call.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "c3735b2c81296d75c01fc9b6",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d5ce9bf9ce211e7b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "042-openclaw-partial-failure",
      "normalized_name": "042-openclaw-partial-failure",
      "package_manager": "python",
      "path": "scenarios/manifests/042-openclaw-partial-failure.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security,discovery",
      "component_id": "a466d4e26a27107ba17daad1",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "569573d3bb1f3d9e",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "034-auth-error",
      "normalized_name": "034-auth-error",
      "package_manager": "python",
      "path": "scenarios/manifests/034-auth-error.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "284b507fb4270d3f014ffa28",
      "component_kind": "llms-discovery",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "be420d294234bb0b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "003-llms-discovery",
      "normalized_name": "003-llms-discovery",
      "package_manager": "python",
      "path": "scenarios/manifests/003-llms-discovery.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "efbe2e9f8f44891de00181a0",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dfe08a5b1a805518",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "023-concurrent-sessions",
      "normalized_name": "023-concurrent-sessions",
      "package_manager": "python",
      "path": "scenarios/manifests/023-concurrent-sessions.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,discovery,automation",
      "component_id": "525edcf94ad0dc0e48f7246c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9d888175229b0e4d",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "084-human-originated-agent-chain-ja4m",
      "normalized_name": "084-human-originated-agent-chain-ja4m",
      "package_manager": "python",
      "path": "scenarios/manifests/084-human-originated-agent-chain-ja4m.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,discovery",
      "component_id": "d7635617f266860d6e58cf2d",
      "component_kind": "mcp",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b9620b3f0bb6c932",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "083-openclaw-runtime-acp-mcporter",
      "normalized_name": "083-openclaw-runtime-acp-mcporter",
      "package_manager": "python",
      "path": "scenarios/manifests/083-openclaw-runtime-acp-mcporter.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "ea905cbab0bca26f3bed150a",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6195f58637044046",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "050-service-mesh-trace",
      "normalized_name": "050-service-mesh-trace",
      "package_manager": "python",
      "path": "scenarios/manifests/050-service-mesh-trace.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "f978e4d35e24a42a3a2372a3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "89d9fca59dde829f",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "090-final-exhaustive-ja4m-regression",
      "normalized_name": "090-final-exhaustive-ja4m-regression",
      "package_manager": "python",
      "path": "scenarios/manifests/090-final-exhaustive-ja4m-regression.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "1a51305fbf92b66d8157b864",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "72f2e1bbab02f6a4",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "010-init-only",
      "normalized_name": "010-init-only",
      "package_manager": "python",
      "path": "scenarios/manifests/010-init-only.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "2a3b3f8ba8951ad0c74943e3",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ca68d4a2a892d7fe",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "031-bad-order",
      "normalized_name": "031-bad-order",
      "package_manager": "python",
      "path": "scenarios/manifests/031-bad-order.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "91d43b3990fe6add995a5fd8",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "22565198313b3158",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "033-version-mismatch",
      "normalized_name": "033-version-mismatch",
      "package_manager": "python",
      "path": "scenarios/manifests/033-version-mismatch.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "55c1be007e6da4b24099484c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "891d30900fc7270f",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "060-tls-tool-call",
      "normalized_name": "060-tls-tool-call",
      "package_manager": "python",
      "path": "scenarios/manifests/060-tls-tool-call.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "3b6ec95c247e3214ae4b3ba6",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "177e0eaebe8f553b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "032-batch-anomaly",
      "normalized_name": "032-batch-anomaly",
      "package_manager": "python",
      "path": "scenarios/manifests/032-batch-anomaly.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "1f86e3766487dd0435d6790d",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3ed9c6e9f274f78d",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "002-opendocs-discovery",
      "normalized_name": "002-opendocs-discovery",
      "package_manager": "python",
      "path": "scenarios/manifests/002-opendocs-discovery.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "80d96c2fb35df9e60f3f3b1a",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c3cb8e0e09507c0c",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "040-openclaw-minimal",
      "normalized_name": "040-openclaw-minimal",
      "package_manager": "python",
      "path": "scenarios/manifests/040-openclaw-minimal.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "automation,backend",
      "component_id": "8fb5441906ec6b6529d841fc",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | backend-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d5549d755f79983a",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "python",
      "path": "services/openclaw-runtime/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,ai",
      "component_id": "2b3ccdfacfdbcb661864eb06",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d6769e5c62478f20",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "entrypoint",
      "normalized_name": "entrypoint",
      "package_manager": "python",
      "path": "services/openclaw-runtime/bin/entrypoint.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "fba201e60bcf7fa52d2fbc91",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f8117474aa50fa27",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "platphormnews-skill",
      "normalized_name": "platphormnews-skill",
      "package_manager": "python",
      "path": "services/openclaw-runtime/config/platphormnews-skill.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,backend",
      "component_id": "beadd7436ed9ea22139dfbfb",
      "component_kind": "container-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | backend-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "35ae481c38afe292",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "python",
      "path": "services/api-broker/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "a3aa8577f18aa7b5a2ce3ac7",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "node:crypto,node:http,node:https",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GATEWAY_HOST, PORT, PROTOCOL_VERSION, SERVICE, TRUST_POLICY_LINE | imports:node:crypto, node:http, node:https | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "BASE_URL,GATEWAY_HOST,PORT,PROTOCOL_VERSION,SERVICE,TRUST_POLICY_LINE",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "b431337b475c3c91",
      "framework": "unknown",
      "imports": "node:crypto,node:http,node:https",
      "lines": 218,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "python",
      "path": "services/api-broker/server.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ja4mlab",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "15f95c1efe3e7f6a15a18b0b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad3300111aa16371",
      "framework": "next-react",
      "imports": "",
      "lines": 3222,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "90e802c6e5891b0addd5b171",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "83624183d33dbfb6",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d50b697435f850885978f902",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "95c5fb71a4e96e97",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "1f1f2d25ec27b59807f869a0",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e061e25f0c10521",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "f9260fc59c478f73b9fe9b34",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/about-section, @/components/contact-section, @/components/footer, @/components/header, @/components/hero-section, @/components/services-section | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44116db38b139375",
      "framework": "next-react",
      "imports": "@/components/about-section,@/components/contact-section,@/components/footer,@/components/header,@/components/hero-section,@/components/services-section",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "49bd7dd8eaf4589634d987ff",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e321fcbe3ffe0b4c",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "caf83ae5c4bc92550c0b191c",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "679ee4df07597d57",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5cb6a94ce97ad9abdfbce30c",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "e20d1c47745a0789e5f7733a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactSection | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "ContactSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c14253e235967f0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "contact-section",
      "normalized_name": "contact-section",
      "package_manager": "pnpm",
      "path": "components/contact-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "1e83ae210af2d733a3ea80e6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutSection | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "AboutSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "737b8c29223972b9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "about-section",
      "normalized_name": "about-section",
      "package_manager": "pnpm",
      "path": "components/about-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9911d325169d88cafe4e7607",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0764d596fca22088",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 133,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "6c300392f4fdb938520f4fdb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a5fbb9a07781575",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "ca3fac31e9efe1d291f61c5a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36c307da6bdc9da5",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "2964189ec0ea90dea9ca57e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesSection | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ServicesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ea53b37a30d386a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 142,
      "logic_relevance": "none",
      "name": "services-section",
      "normalized_name": "services-section",
      "package_manager": "pnpm",
      "path": "components/services-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aa259ecfc8dc8eb1e0ccabac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "65ca9a545587a690c5c1ba5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9ec42c8a57e82311",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "35f1362dce3550cee437cda6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f41c11fc13e9a1f1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c6cd80c07c585b9ea21c7a40",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9e74b6c878b77d6ab031d6bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "de4e9fb0fd8e8ed1",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ffab7e5f3712d4b5b356f0fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6628e8fde207857b",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "138a0aa02dcb931fd5b3025a",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__jaydens-therapy-legal-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "8748ffe29e65414282e669fd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9edbe2bc0fe40771",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__job-manager",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0db9f24248d3c1d5e7f96eef",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd9dd1ea4f4010cc",
      "framework": "next-react",
      "imports": "",
      "lines": 17322,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "76c2942f88bf6ff0950ac8eb",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "73782aac671cbc0a",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "npm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__job-manager",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "25a29e2572447a5ba7479626",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:complete, getNextTask, heartBeat | backend-score:55 | observability-score:55 | uses-env",
      "exports": "complete,getNextTask,heartBeat",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "315e19b3bc2c8133",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "tasks-client",
      "normalized_name": "tasks-client",
      "package_manager": "npm",
      "path": "task-worker/tasks-client.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "71a2067a01e0b0c2fae87258",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./tasks-client.js | backend-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a7b6778295339da5",
      "framework": "unknown",
      "imports": "./tasks-client.js",
      "lines": 87,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "npm",
      "path": "task-worker/main.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,security",
      "component_id": "0b84ca2ea6152bcd34554327",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "822171ba234d0507",
      "framework": "unknown",
      "imports": "",
      "lines": 295,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "task-worker/package-lock.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f272892d65d2a6f75fc307d9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "79d368f29b3968ce",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "task-worker/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "b0e60780afbda433c7348a69",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f494a96518ef90b8",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "deploy.template",
      "normalized_name": "deploy-template",
      "package_manager": "npm",
      "path": ".do/deploy.template.yaml",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "859cf926b2d5c89f9f94d12a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d5b18f29030511f",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "npm",
      "path": ".do/app.yaml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "742beb5048d9189fb0b2ddcc",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9125427c4ce0e29",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "jsconfig",
      "normalized_name": "jsconfig",
      "package_manager": "npm",
      "path": "task-service/jsconfig.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "4be4a6d2f96fb0cce30234af",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "postcss-load-config",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:postcss-load-config | backend-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac31e2a95ef64fe2",
      "framework": "unknown",
      "imports": "postcss-load-config",
      "lines": 8,
      "logic_relevance": "none",
      "name": "postcss.config",
      "normalized_name": "postcss-config",
      "package_manager": "npm",
      "path": "task-service/postcss.config.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "5bb66aff05b7c70565887f49",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next | backend-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e3206cb200e264f",
      "framework": "unknown",
      "imports": "next",
      "lines": 4,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "npm",
      "path": "task-service/next.config.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "dd99abd39889ab054ac9c666",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "jest,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:jest, next/jest | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16a0d8dadff40620",
      "framework": "next-react",
      "imports": "jest,next/jest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "jest.config",
      "normalized_name": "jest-config",
      "package_manager": "npm",
      "path": "task-service/jest.config.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,backend,automation",
      "component_id": "18e0909fbc1f667d6d6dd1aa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e54d573f70711f7c",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "task-service/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__job-manager",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,security",
      "component_id": "61a548d796251d2734eefc54",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "tailwind-scrollbar,tailwindcss",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:tailwind-scrollbar, tailwindcss | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5e2daace04168b9",
      "framework": "unknown",
      "imports": "tailwind-scrollbar,tailwindcss",
      "lines": 28,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "npm",
      "path": "task-service/tailwind.config.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "c71b92a14cf14bf9be5c8819",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9aaa5aab570fdfc",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "task-service/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "5d30dcfc1b9e87fd4b402969",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "@eslint/eslintrc,path,url",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@eslint/eslintrc, path, url | backend-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07d48fd85eb9cecb",
      "framework": "next-react",
      "imports": "@eslint/eslintrc,path,url",
      "lines": 14,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "npm",
      "path": "task-service/eslint.config.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,process",
      "component_id": "724b4013b22a627643038170",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b31557132059fe8",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "migration_lock",
      "normalized_name": "migration-lock",
      "package_manager": "npm",
      "path": "task-service/prisma/migrations/migration_lock.toml",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,backend,observability",
      "component_id": "ccb6f83ff73e5c6140933419",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/app/components/Footer, @/app/components/Header, next/font/google | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce78a9392c24e83e",
      "framework": "next-react",
      "imports": "@/app/components/Footer,@/app/components/Header,next/font/google",
      "lines": 30,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "task-service/src/app/layout.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "eae07bbd3f0314eb4f25943f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/app/components/TaskGenerator, @/app/components/TasksView, @/app/components/WorkerTest, react | frontend-score:55 | backend-score:55",
      "exports": "Home",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60710be7cc5ebb95",
      "framework": "next-react",
      "imports": "@/app/components/TaskGenerator,@/app/components/TasksView,@/app/components/WorkerTest,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "task-service/src/app/page.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "style,backend",
      "component_id": "2ad0f79d7024772ec6146183",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | backend-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bddac62641f3d449",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "task-service/src/app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "backend,automation",
      "component_id": "9df934d101403049fccc47f6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Task | backend-score:55 | automation-score:45",
      "exports": "Task",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f75c8d6aa663f37b",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "Task",
      "normalized_name": "task",
      "package_manager": "npm",
      "path": "task-service/src/app/components/Task.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "77f355fe0d95b6a3b4dd6ec9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/app,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TasksView | imports:@/app/components/Task, react, swr | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TasksView",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c67e6787e004988a",
      "framework": "next-react",
      "imports": "@/app/components/Task,react,swr",
      "lines": 227,
      "logic_relevance": "none",
      "name": "TasksView",
      "normalized_name": "tasks-view",
      "package_manager": "npm",
      "path": "task-service/src/app/components/TasksView.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability",
      "component_id": "55a75ec9fbc6dabec01429ab",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/..,@/app,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/../public/digitalocean.svg, @/app/layout, next/image | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "252994abe7137b11",
      "framework": "next-react",
      "imports": "@/../public/digitalocean.svg,@/app/layout,next/image",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "npm",
      "path": "task-service/src/app/components/Header.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "75d31ec2508ee6dbb73a6670",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "async-mutex,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkerTest | imports:../lib/tasks-client, async-mutex, react | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkerTest",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "90fd0b67a0de19b7",
      "framework": "next-react",
      "imports": "../lib/tasks-client,async-mutex,react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "WorkerTest",
      "normalized_name": "worker-test",
      "package_manager": "npm",
      "path": "task-service/src/app/components/WorkerTest.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,backend,observability",
      "component_id": "d44f38aabf5052ab0c37d8e5",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next,react,swr",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:TaskGenerator | imports:next/dist/shared/lib/utils, react, swr | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "TaskGenerator",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3c41b1409b862be",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/utils,react,swr",
      "lines": 111,
      "logic_relevance": "none",
      "name": "TaskGenerator",
      "normalized_name": "task-generator",
      "package_manager": "npm",
      "path": "task-service/src/app/components/TaskGenerator.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "b057233f3d22a67a36e4c5a1",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:react | frontend-score:55 | backend-score:55",
      "exports": "Footer",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4ee92453407ca22",
      "framework": "next-react",
      "imports": "react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "npm",
      "path": "task-service/src/app/components/Footer.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,backend,observability",
      "component_id": "4d7e1530d964f515a4e6ea2a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:complete, getNextTask, heartBeat | logic-score:60 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "complete,getNextTask,heartBeat",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ba7d1eb1d2d443c8",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "tasks-client",
      "normalized_name": "tasks-client",
      "package_manager": "npm",
      "path": "task-service/src/app/lib/tasks-client.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,logic",
      "component_id": "965f92194e0a1ba9f8c07549",
      "component_kind": "backend-module",
      "confidence": 95,
      "dependency_roots": "@prisma/client",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:prisma | imports:@prisma/client | backend-score:55 | logic-score:45",
      "exports": "prisma",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2caef7fc8f3bc113",
      "framework": "next-react",
      "imports": "@prisma/client",
      "lines": 4,
      "logic_relevance": "secondary",
      "name": "prisma-client",
      "normalized_name": "prisma-client",
      "package_manager": "npm",
      "path": "task-service/src/app/lib/prisma-client.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "e84322e498c9270beda5dbeb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/app,@prisma/client",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GeneratorService, generatorFunction | imports:@/app/lib/worker-manager, @prisma/client | logic-score:60 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "GeneratorService,generatorFunction",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9002339cafa2509d",
      "framework": "next-react",
      "imports": "@/app/lib/worker-manager,@prisma/client",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "generator",
      "normalized_name": "generator",
      "package_manager": "npm",
      "path": "task-service/src/app/lib/generator.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation,ai",
      "component_id": "802803f9306ff3a781e34bf0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@job-manager/leases",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WorkerManager, WorkerManagerConfig, WorkerMessages, WorkerStatus, WorkerStatusType | imports:@job-manager/leases/LeasesClient | logic-score:85 | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "WorkerManager,WorkerManagerConfig,WorkerMessages,WorkerStatus,WorkerStatusType",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "948187df243f8d50",
      "framework": "next-react",
      "imports": "@job-manager/leases/LeasesClient",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "worker-manager",
      "normalized_name": "worker-manager",
      "package_manager": "npm",
      "path": "task-service/src/app/lib/worker-manager.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,ai",
      "component_id": "fb56f1a8a9342dc379c71851",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/app,@job-manager/leases",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/app/lib/worker-manager, @job-manager/leases/LeasesClient | logic-score:60 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "599c342580bee829",
      "framework": "next-react",
      "imports": "@/app/lib/worker-manager,@job-manager/leases/LeasesClient",
      "lines": 183,
      "logic_relevance": "primary",
      "name": "worker-manager.test",
      "normalized_name": "worker-manager",
      "package_manager": "npm",
      "path": "task-service/src/app/lib/worker-manager.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "fda102d74716c7946b529d4b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "76338a26ecabd0e4",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,frontend,observability,automation",
      "component_id": "1e3f991996e80835b74b6327",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next,process",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server, process | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "36fa68c0d871ea1e",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server,process",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/next/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "95341b4db781b3f5da84b22b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "015e8450cb217467",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/started/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "25a0f12e6ec9b12f5cc0065d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "80525ad335b864b7",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/[id]/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "90669e9e8b6fc8155aa7e655",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next,process",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PUT | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server, process | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env",
      "exports": "PUT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2797f36a35858f22",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server,process",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/[id]/complete/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "a0626086997a6aff5dfae85a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next,process",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PUT | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server, process | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env",
      "exports": "PUT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "086c4edc6d2413e5",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server,process",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/[id]/heartbeat/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "3114ad99299d6a95663531b8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/app/lib/prisma-client | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83913a2b7aef08c2",
      "framework": "next-react",
      "imports": "./route,@/app/lib/prisma-client",
      "lines": 194,
      "logic_relevance": "none",
      "name": "PUT.test",
      "normalized_name": "put",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/[id]/heartbeat/PUT.test.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "aed834daeafe3b9fa070a23b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "902fe4d7291316cb",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/tasks/processed/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "a08f147c6558566ed6c2c59f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/lib/generator, @/app/lib/worker-manager, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d8abf64ff298434f",
      "framework": "next-react",
      "imports": "@/app/lib/generator,@/app/lib/worker-manager,next/dist/shared/lib/utils,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/generator/start/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "f82f8d38cdd4edeaff0b42d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE | imports:@/app/lib/generator, @/app/lib/worker-manager, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55",
      "exports": "DELETE",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "46cb5114681dd34b",
      "framework": "next-react",
      "imports": "@/app/lib/generator,@/app/lib/worker-manager,next/dist/shared/lib/utils,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/generator/stop/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "ae13359aaafecb7364f737e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/generator, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a6607d0d1fe127e5",
      "framework": "next-react",
      "imports": "@/app/lib/generator,next/dist/shared/lib/utils,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/generator/status/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e274dba26a829abde2efe1b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CONTENT_TYPE_JSON, GET, STATUS_OK | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "CONTENT_TYPE_JSON,GET,STATUS_OK",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c2f7288bc4973f8c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "task-service/src/app/api/healthz/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "6c2743df39c25834f6e4f9eb",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f2eccb239880de5f",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "devcontainer",
      "normalized_name": "devcontainer",
      "package_manager": "npm",
      "path": ".devcontainer/devcontainer.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "a084309a072a687fb38b8c56",
      "component_kind": "migration-plan",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "0b31557132059fe8",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "migration_lock",
      "normalized_name": "migration-lock",
      "package_manager": "npm",
      "path": "leases/prisma/migrations/migration_lock.toml",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__job-manager",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend",
      "component_id": "5afc64d3dc0ddd6b8ef2a5bd",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/app/components/Footer, @/app/components/Header, next/font/google | frontend-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78152d49011fb19b",
      "framework": "next-react",
      "imports": "@/app/components/Footer,@/app/components/Header,next/font/google",
      "lines": 29,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "leases/src/app/layout.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "a74686dbbb15b08c13d78a23",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/app/components/Lease, react, swr | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "Home",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48059dcf27550d1d",
      "framework": "next-react",
      "imports": "@/app/components/Lease,react,swr",
      "lines": 119,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "leases/src/app/page.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "4558f43686f9681bf0a1f26d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bddac62641f3d449",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "leases/src/app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "d397e79a4e0e3436ba9ba1ca",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/..,@/app,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/../public/digitalocean.svg, @/app/layout, next/image | frontend-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2af748bb034e8da",
      "framework": "next-react",
      "imports": "@/../public/digitalocean.svg,@/app/layout,next/image",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "npm",
      "path": "leases/src/app/components/Header.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend",
      "component_id": "2fc1b049fcc521305a38a9cf",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:react | frontend-score:55",
      "exports": "Footer",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4ee92453407ca22",
      "framework": "next-react",
      "imports": "react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "npm",
      "path": "leases/src/app/components/Footer.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "7a17c94ace33348e568d96b3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@prisma/client",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:prisma | imports:@prisma/client | logic-score:45",
      "exports": "prisma",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2caef7fc8f3bc113",
      "framework": "next-react",
      "imports": "@prisma/client",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "prisma-client",
      "normalized_name": "prisma-client",
      "package_manager": "npm",
      "path": "leases/src/app/lib/prisma-client.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "89c87155954816c4d64ff6cc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./leases-client | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f4881f3393a3d9ac",
      "framework": "next-react",
      "imports": "./leases-client",
      "lines": 311,
      "logic_relevance": "primary",
      "name": "leases-client.test",
      "normalized_name": "leases-client",
      "package_manager": "npm",
      "path": "leases/src/app/lib/leases-client.test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "cbe87e739a57669c5448cc09",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MessageResponse | logic-score:60",
      "exports": "MessageResponse",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "36d78cb501597422",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "lease",
      "normalized_name": "lease",
      "package_manager": "npm",
      "path": "leases/src/app/lib/lease.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "fde3e1cfb1b4a494d9b1cc2b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@prisma/client",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LeaseOptions, LeaseReference, RenewConfig | imports:@prisma/client | logic-score:85 | observability-score:55",
      "exports": "LeaseOptions,LeaseReference,RenewConfig",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97272f333383a023",
      "framework": "next-react",
      "imports": "@prisma/client",
      "lines": 183,
      "logic_relevance": "primary",
      "name": "leases-client",
      "normalized_name": "leases-client",
      "package_manager": "npm",
      "path": "leases/src/app/lib/leases-client.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "acd6c094da3ad0928769107f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0ee79af5553b6c82",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "4d248431e7507ac989e640ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d7eb8cf34f92d31b",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/renewed/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "871e09bac755f819dd4fc485",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PUT | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55",
      "exports": "PUT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "432363057bb0c0f2",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/renew/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "00c8a8492ff61584a940d990",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55",
      "exports": "DELETE",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "33b785519ffa6add",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/release/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "039a693abd480f25dfaeb11a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "896d61266705992c",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/released/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "ec34127450c5809eadca6032",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "18e6124d6ff43363",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/active/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend,observability",
      "component_id": "d4919ccbc135fbe30a270539",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a57beb8134265de",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/[id]/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "e6fc9f561d85561e164a23da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/lib/prisma-client, next/dist/shared/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9fcbeca4a2a966cc",
      "framework": "next-react",
      "imports": "@/app/lib/prisma-client,next/dist/shared/lib/utils,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/leases/expired/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "aaedac23561da8aa44fa1af3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CONTENT_TYPE_JSON, GET, STATUS_OK | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "CONTENT_TYPE_JSON,GET,STATUS_OK",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3dbeff4cca94e963",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "leases/src/app/api/healthz/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__job-manager",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "75e7edd4d24706a88f1537a4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad3300111aa16371",
      "framework": "next-react",
      "imports": "",
      "lines": 3222,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f62f19c145010db72c584cbb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5241a5a9f14bad0f",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0d90378b0370b94600df974c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "95c5fb71a4e96e97",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "2b704d6202a9abf503d8a080",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "34095d3d521400c1",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "abd162f0f9edeeb168129e29",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/animated-hero, @/components/customer-reviews-platform, @/components/dynamic-contact-booking, @/components/emergency-floating-widget, @/components/emergency-service-features, @/components/interactive-services, @/components/professional-gallery-portfolio, @/components/service-area-map | frontend-score:115 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d831b4f97bdfb8f",
      "framework": "next-react",
      "imports": "@/components/animated-hero,@/components/customer-reviews-platform,@/components/dynamic-contact-booking,@/components/emergency-floating-widget,@/components/emergency-service-features,@/components/interactive-services,@/components/professional-gallery-portfolio,@/components/service-area-map,@/components/ui/button,lucide-react",
      "lines": 156,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "d1147878e2a962a9f1a0a895",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65da1d90cb0accb4",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6f8fb3b42e45ba87742c3368",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "679ee4df07597d57",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "570c01e898445ed9a14413cb",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a42db8aeb20d0f677d9fafeb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnimatedHero | imports:@/components/ui/badge, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AnimatedHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b4bd8099d256b53",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,lucide-react,react",
      "lines": 204,
      "logic_relevance": "none",
      "name": "animated-hero",
      "normalized_name": "animated-hero",
      "package_manager": "pnpm",
      "path": "components/animated-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation,ai",
      "component_id": "7d107efaa4360349d1abc2fd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InteractiveServices | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "InteractiveServices",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8192c6330ced37f3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 362,
      "logic_relevance": "none",
      "name": "interactive-services",
      "normalized_name": "interactive-services",
      "package_manager": "pnpm",
      "path": "components/interactive-services.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "97c7868e5ad02513767254b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomerReviewsPlatform | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CustomerReviewsPlatform",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b0898345721dd4d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 528,
      "logic_relevance": "none",
      "name": "customer-reviews-platform",
      "normalized_name": "customer-reviews-platform",
      "package_manager": "pnpm",
      "path": "components/customer-reviews-platform.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "b46be4a211de7ce30a2eb88e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmergencyServiceFeatures | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "EmergencyServiceFeatures",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3eb127ece6d9b5b1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 561,
      "logic_relevance": "none",
      "name": "emergency-service-features",
      "normalized_name": "emergency-service-features",
      "package_manager": "pnpm",
      "path": "components/emergency-service-features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fe32b5acd94115768cdb21f7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DynamicContactBooking | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DynamicContactBooking",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1226d8de769d9c5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 746,
      "logic_relevance": "none",
      "name": "dynamic-contact-booking",
      "normalized_name": "dynamic-contact-booking",
      "package_manager": "pnpm",
      "path": "components/dynamic-contact-booking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ddb2a91857c3294dba02a986",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfessionalGalleryPortfolio | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ProfessionalGalleryPortfolio",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e43d4f8efc640bd2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 603,
      "logic_relevance": "none",
      "name": "professional-gallery-portfolio",
      "normalized_name": "professional-gallery-portfolio",
      "package_manager": "pnpm",
      "path": "components/professional-gallery-portfolio.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "10bf2295518593d975e4e505",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmergencyFloatingWidget | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "EmergencyFloatingWidget",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62a27edd6fc2b8a4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "emergency-floating-widget",
      "normalized_name": "emergency-floating-widget",
      "package_manager": "pnpm",
      "path": "components/emergency-floating-widget.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "1523f68a15be407dcf1b03de",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceAreaMap | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ServiceAreaMap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa5e292f48019c18",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 505,
      "logic_relevance": "none",
      "name": "service-area-map",
      "normalized_name": "service-area-map",
      "package_manager": "pnpm",
      "path": "components/service-area-map.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0cb81bfe4539a64e9196f112",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "324302c8de1d1f6bc6a35476",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f41c11fc13e9a1f1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ec13dbf695213070923571c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "3ebacd3bf270044db522c782",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__jts-hvac-gates-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "d43d7a4f28bfcbf9b11b8f3e",
      "component_kind": "container-automation",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f44e59c5f3881fbd",
      "framework": "svelte",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "docker-compose.override",
      "normalized_name": "docker-compose-override",
      "package_manager": "unknown",
      "path": "docker-compose.override.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ae0734c3490d3a2df1ffa83d",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "befcb3fe8d42867e",
      "framework": "svelte",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "1375dcba593910e3543f40dc",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@sveltejs/kit,vite",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@sveltejs/kit/vite, vite | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a393535d4c6f1b07",
      "framework": "svelte",
      "imports": "@sveltejs/kit/vite,vite",
      "lines": 42,
      "logic_relevance": "none",
      "name": "vite.config",
      "normalized_name": "vite-config",
      "package_manager": "unknown",
      "path": "vite.config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "5af9f603afe0f054327d39cd",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6ba1e0b8090982cc",
      "framework": "svelte",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "c588ecc835f843aba19caac1",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "c595e859db9ae264",
      "framework": "svelte",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "compose",
      "normalized_name": "compose",
      "package_manager": "unknown",
      "path": "compose.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "eb20171db3cc4ac5a8347825",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf4ae2827d4f118a",
      "framework": "svelte",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "tsconfig",
      "normalized_name": "tsconfig",
      "package_manager": "unknown",
      "path": "tsconfig.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "280ce70dc4fcff3f3f9ed7a1",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a91f8edc60041485",
      "framework": "svelte",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "a4f59991367402a41b154721",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c5c582e828a60b2a",
      "framework": "svelte",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "unknown",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "c3681152006f3ba7fc35bd8d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "407edc344acede59",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "unknown",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "ee1320062b9db2907f04810b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0b68231e951dbdce",
      "framework": "svelte",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "unknown",
      "path": "scripts/migrate.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "2430f358ba5606e278802e35",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4e3acb820237a48f",
      "framework": "svelte",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": ".vscode/settings.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "20c2ad8efbef2ecd0a8b5bb4",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ACCESSIBILITY_TEXT, APP_AUTHOR, APP_DESCRIPTION, APP_FAVICON, APP_LOGO, APP_NAME, APP_NAME_LONG, APP_NAME_SHORT | observability-score:55 | security-score:55",
      "exports": "ACCESSIBILITY_TEXT,APP_AUTHOR,APP_DESCRIPTION,APP_FAVICON,APP_LOGO,APP_NAME,APP_NAME_LONG,APP_NAME_SHORT,APP_SETTINGS,APP_TITLE,APP_URL,APP_VERSION,JAVASCRIPT_FALLBACK,JSON_LD_SCHEMA,LINKS,META_INFORMATION,SEO_TAGS,SVELTEKIT_PLACEHOLDERS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb72e0de8e09db2f",
      "framework": "svelte",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "unknown",
      "path": "src/constants.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "f7c6fce4528cfb0245a63873",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:data | frontend-score:60 | ui-score:55",
      "exports": "data",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46ab365ac6b3f0eb",
      "framework": "svelte",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "bc06621c153e0909d7ffc9de",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "88fa8eaa6989b0d9",
      "framework": "svelte",
      "imports": "",
      "lines": 273,
      "logic_relevance": "none",
      "name": "app.d",
      "normalized_name": "app-d",
      "package_manager": "unknown",
      "path": "src/app.d.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "integration,automation",
      "component_id": "43c0ef9c2bb7297f9928181d",
      "component_kind": "integration-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Integration component for deployment; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "351b0b87623e8fa1",
      "framework": "svelte",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "unknown",
      "path": "src/vercel.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "439b41a51dd24b15ec7872df",
      "component_kind": "feature-ui",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:context, error, errorStack, status | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "context,error,errorStack,status",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "7190ca94587e180d",
      "framework": "svelte",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "unknown",
      "path": "src/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "306ba361de040b216e3c6f4c",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c41da03bccad0757",
      "framework": "svelte",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "src/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability",
      "component_id": "eda49185b6606f89feea11dc",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:prerender | observability-score:55",
      "exports": "prerender",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6e7558a20eeb317",
      "framework": "svelte",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "src/index.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "2edd1a788d39594fc10175dc",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../src/components/Layout.svelte, ./components/Footer.svelte, ./components/News.svelte, ./components/NewsComments.svelte, ./components/NewsHeader.svelte, ./components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "4a70a1f0436b23c2",
      "framework": "svelte",
      "imports": "../src/components/Layout.svelte,./components/Footer.svelte,./components/News.svelte,./components/NewsComments.svelte,./components/NewsHeader.svelte,./components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 187,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "src/app.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3dafb545838e0eb6710088b2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ACCESSIBILITY_TEXT, APP_TITLE, HEADERS, JAVASCRIPT_FALLBACK, JSON_LD_SCHEMA, LINKS, META_INFORMATION, OPEN_GRAPH | imports:@sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ACCESSIBILITY_TEXT,APP_TITLE,HEADERS,JAVASCRIPT_FALLBACK,JSON_LD_SCHEMA,LINKS,META_INFORMATION,OPEN_GRAPH,SEO_TAGS,SEO_TAGS_SCHEMA,SVELTEKIT_PLACEHOLDERS,SVELTEKIT_ROUTES,config,handle",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5b9950c0623fcb07",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 282,
      "logic_relevance": "none",
      "name": "hooks.server",
      "normalized_name": "hooks-server",
      "package_manager": "unknown",
      "path": "src/hooks.server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "070333f7aa9a68bcae79ffae",
      "component_kind": "layout",
      "confidence": 90,
      "dependency_roots": "$app,@vercel/analytics,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:csr, hydrate, load, prerender, ssr, trailingSlash | imports:$app/environment, $app/stores, ../src/components/Footer.svelte, ../src/components/Header.svelte, @vercel/analytics, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "csr,hydrate,load,prerender,ssr,trailingSlash",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "88dbdfb956da4095",
      "framework": "svelte",
      "imports": "$app/environment,$app/stores,../src/components/Footer.svelte,../src/components/Header.svelte,@vercel/analytics,svelte",
      "lines": 65,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "src/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "89dc08d29e1cece254d604e9",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NewsArticleType, NewsItem, NewsItemType, NewsItemTypeWithAllFeatures, NewsItemTypeWithArticle, NewsItemTypeWithBackground, NewsItemTypeWithBorder, NewsItemTypeWithChildren | security-score:55",
      "exports": "NewsArticleType,NewsItem,NewsItemType,NewsItemTypeWithAllFeatures,NewsItemTypeWithArticle,NewsItemTypeWithBackground,NewsItemTypeWithBorder,NewsItemTypeWithChildren,NewsItemTypeWithIcon,NewsItemTypeWithSource,NewsSource,NewsSourceIcon",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "35a5a079dd565ece",
      "framework": "svelte",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "unknown",
      "path": "src/types/news.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "security",
      "component_id": "9348371491dff89e540f494a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "app,svelte",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NewsStore, NewsStoreType | imports:app, svelte/store | security-score:55",
      "exports": "NewsStore,NewsStoreType",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca91e667cd1486c1",
      "framework": "svelte",
      "imports": "app,svelte/store",
      "lines": 45,
      "logic_relevance": "none",
      "name": "newsStore.d",
      "normalized_name": "news-store-d",
      "package_manager": "unknown",
      "path": "src/types/newsStore.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1a33f7d8ef4a98ef717a111a",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "fs,path,url,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LEGACY_BASE, LLMS_CONTENT, PRIMARY_BASE, SITEMAP_ROUTES | imports:../constants.js, fs, path, url, vitest | observability-score:55",
      "exports": "LEGACY_BASE,LLMS_CONTENT,PRIMARY_BASE,SITEMAP_ROUTES",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "61e95f7eb7c9850d",
      "framework": "svelte",
      "imports": "../constants.js,fs,path,url,vitest",
      "lines": 161,
      "logic_relevance": "none",
      "name": "legacy.test",
      "normalized_name": "legacy",
      "package_manager": "unknown",
      "path": "src/tests/legacy.test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "1f1c3d59c71408d7a4672982",
      "component_kind": "utility",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:formatDate | logic-score:60",
      "exports": "formatDate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3eb80a3012628db7",
      "framework": "svelte",
      "imports": "",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "dateUtils",
      "normalized_name": "date-utils",
      "package_manager": "unknown",
      "path": "src/utils/dateUtils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "4967e55f625e4a251b5d283e",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:capitalize, debounce, formatDate, formatNumber, getEnvVars, truncateText | logic-score:85 | observability-score:55 | uses-env",
      "exports": "capitalize,debounce,formatDate,formatNumber,getEnvVars,truncateText",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69cefaff3165b703",
      "framework": "svelte",
      "imports": "",
      "lines": 162,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "src/utils/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "9573a8b34943da893313ed9a",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "web-vitals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:webVitals | imports:web-vitals | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "webVitals",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d67c86d22164e349",
      "framework": "svelte",
      "imports": "web-vitals",
      "lines": 72,
      "logic_relevance": "primary",
      "name": "vitals",
      "normalized_name": "vitals",
      "package_manager": "unknown",
      "path": "src/utils/vitals.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ui,security",
      "component_id": "8f176377d210759bf0a9e544",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "$app",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:enhance | imports:$app/navigation | logic-score:85 | ui-score:70 | security-score:55",
      "exports": "enhance",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ab642250b355df34",
      "framework": "svelte",
      "imports": "$app/navigation",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "src/utils/form.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "9a148bc21e8c3720e8f09a0e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MAX_RETRIES | imports:../routes/api/hackernews/getTopStories.js, ../types/news.js, ./NewsHeader.svelte, ./Story.svelte, svelte | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "MAX_RETRIES",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "506fe6f3a7e9277d",
      "framework": "svelte",
      "imports": "../routes/api/hackernews/getTopStories.js,../types/news.js,./NewsHeader.svelte,./Story.svelte,svelte",
      "lines": 134,
      "logic_relevance": "none",
      "name": "News",
      "normalized_name": "news",
      "package_manager": "unknown",
      "path": "src/components/News.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0c7d22e2a858450983314f40",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "$app,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sections, title | imports:$app/navigation, svelte | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "sections,title",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "6bb2c18d94a25bca",
      "framework": "svelte",
      "imports": "$app/navigation,svelte",
      "lines": 87,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "unknown",
      "path": "src/components/Header.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6dc3d46624497dcd6f441c8c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../types/news.js, ./NewsComments.svelte, ./NewsHeader.svelte, ./NewsMore.svelte, svelte | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e0fba8e3158c490e",
      "framework": "svelte",
      "imports": "../types/news.js,./NewsComments.svelte,./NewsHeader.svelte,./NewsMore.svelte,svelte",
      "lines": 230,
      "logic_relevance": "none",
      "name": "ShowStories",
      "normalized_name": "show-stories",
      "package_manager": "unknown",
      "path": "src/components/ShowStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "e706a735e053843431103183",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "87bb169ce793f2fe",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 136,
      "logic_relevance": "none",
      "name": "TopStories",
      "normalized_name": "top-stories",
      "package_manager": "unknown",
      "path": "src/components/TopStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "0af3e9157e25623d7816e2d2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app,svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores, ../routes/api/hackernews/getBestStories.js, svelte | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e5d4ed7b6058d67",
      "framework": "svelte",
      "imports": "$app/stores,../routes/api/hackernews/getBestStories.js,svelte",
      "lines": 136,
      "logic_relevance": "none",
      "name": "BestStories",
      "normalized_name": "best-stories",
      "package_manager": "unknown",
      "path": "src/components/BestStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "f7f7880e3883027e9748c0c8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "newsStore",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:moreItems, moreLoading | imports:newsStore | frontend-score:85 | ui-score:55",
      "exports": "moreItems,moreLoading",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ebb74fea4e75b15e",
      "framework": "svelte",
      "imports": "newsStore",
      "lines": 204,
      "logic_relevance": "none",
      "name": "NewsMore",
      "normalized_name": "news-more",
      "package_manager": "unknown",
      "path": "src/components/NewsMore.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "198170ea7213c407d9841040",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:description, keywords, sections, title | imports:svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "description,keywords,sections,title",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d3155c9c24439862",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 151,
      "logic_relevance": "none",
      "name": "Layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "src/components/Layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "5650437817144d6e45986037",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "app",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:app | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "71762fc87c572f04",
      "framework": "svelte",
      "imports": "app",
      "lines": 133,
      "logic_relevance": "none",
      "name": "JobDetails",
      "normalized_name": "job-details",
      "package_manager": "unknown",
      "path": "src/components/JobDetails.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "83c91c1961148e2cd1dba6c0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "$app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:onLogin, onSignup | imports:$app/navigation | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "onLogin,onSignup",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d33d95e6e2f09d45",
      "framework": "svelte",
      "imports": "$app/navigation",
      "lines": 225,
      "logic_relevance": "none",
      "name": "Auth",
      "normalized_name": "auth",
      "package_manager": "unknown",
      "path": "src/components/Auth.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "03e06adfff0f25c7f1e6148a",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "5c81bc97cd563ed8",
      "framework": "svelte",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "src/components/Footer.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2540a43cfd74f0beddb6b201",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:app | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a43b0544fe4d8aaf",
      "framework": "svelte",
      "imports": "app",
      "lines": 198,
      "logic_relevance": "none",
      "name": "NavigationTree",
      "normalized_name": "navigation-tree",
      "package_manager": "unknown",
      "path": "src/components/NavigationTree.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "a1fe5388b34aeb3079a90234",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,app,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:comments, errorMessage, loadMore, loading, moreItems, moreLoading, newsItems | imports:./News.svelte, ./NewsComments.svelte, ./NewsHeader.svelte, ./NewsMore.svelte, @vercel/analytics, app, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "comments,errorMessage,loadMore,loading,moreItems,moreLoading,newsItems",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e2ffde8d92e64db6",
      "framework": "svelte",
      "imports": "./News.svelte,./NewsComments.svelte,./NewsHeader.svelte,./NewsMore.svelte,@vercel/analytics,app,svelte",
      "lines": 152,
      "logic_relevance": "none",
      "name": "NewsHeader",
      "normalized_name": "news-header",
      "package_manager": "unknown",
      "path": "src/components/NewsHeader.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "0385baee3c6d29d28d96c0de",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "cc47cf77aefd9118",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 142,
      "logic_relevance": "none",
      "name": "AskStories",
      "normalized_name": "ask-stories",
      "package_manager": "unknown",
      "path": "src/components/AskStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2c922e3be40c06f152249442",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "86e4e479574ff848",
      "framework": "svelte",
      "imports": "",
      "lines": 215,
      "logic_relevance": "none",
      "name": "NewsComments",
      "normalized_name": "news-comments",
      "package_manager": "unknown",
      "path": "src/components/NewsComments.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "002f14cdd476c30c793e5a42",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a369ca091e9a04e3",
      "framework": "svelte",
      "imports": "",
      "lines": 198,
      "logic_relevance": "none",
      "name": "SearchBar",
      "normalized_name": "search-bar",
      "package_manager": "unknown",
      "path": "src/components/SearchBar.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,ui,security,automation",
      "component_id": "20bbd02f2a71decff257f6d0",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../routes/api/hackernews/getJobStories.js, svelte | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "083d2bf1cf5b0fda",
      "framework": "svelte",
      "imports": "../routes/api/hackernews/getJobStories.js,svelte",
      "lines": 174,
      "logic_relevance": "none",
      "name": "JobStories",
      "normalized_name": "job-stories",
      "package_manager": "unknown",
      "path": "src/components/JobStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "68b36dfc4129295575511c6f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "sanitize-html,svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../utils/dateUtils.js, sanitize-html, svelte | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e077303625d60b71",
      "framework": "svelte",
      "imports": "../utils/dateUtils.js,sanitize-html,svelte",
      "lines": 195,
      "logic_relevance": "none",
      "name": "Story",
      "normalized_name": "story",
      "package_manager": "unknown",
      "path": "src/components/Story.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "9037ac7ab99faf39ceddc26d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3e0250090389a04f",
      "framework": "svelte",
      "imports": "",
      "lines": 356,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "src/static/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "71409c69e13672e9d05ab74a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea34a1bea92d90e5",
      "framework": "svelte",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "unknown",
      "path": "src/static/news.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "b732d78699231d5fde3c0e17",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c91b3f98c87ca7b0",
      "framework": "svelte",
      "imports": "",
      "lines": 128,
      "logic_relevance": "none",
      "name": "global",
      "normalized_name": "global",
      "package_manager": "unknown",
      "path": "src/static/global.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "4826f6844db25edaff7e0aee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "01caa7e6b532fd44",
      "framework": "svelte",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "src/static/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d7e3407669bba08c49688c94",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "svelte",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useMediaQuery | imports:svelte, svelte/store | observability-score:55",
      "exports": "useMediaQuery",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e62dcc3ce356e72c",
      "framework": "svelte",
      "imports": "svelte,svelte/store",
      "lines": 34,
      "logic_relevance": "none",
      "name": "useMediaQuery",
      "normalized_name": "use-media-query",
      "package_manager": "unknown",
      "path": "src/hooks/useMediaQuery.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "logic",
      "categories": "security,automation",
      "component_id": "23124c1b77b0671e7a8d6fc3",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "svelte",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useLocalStorage | imports:svelte/store | security-score:55 | automation-score:45",
      "exports": "useLocalStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4fab6b91d6ba6027",
      "framework": "svelte",
      "imports": "svelte/store",
      "lines": 82,
      "logic_relevance": "none",
      "name": "useLocalStorage",
      "normalized_name": "use-local-storage",
      "package_manager": "unknown",
      "path": "src/hooks/useLocalStorage.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,ai",
      "component_id": "1403579800aa7faf8bb46d81",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "3e79579528d1defe",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 121,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "unknown",
      "path": "src/routes/login.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "da601e6e8edd90e2cfa32137",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,newsStore,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, ../types/newsItem.ts, @vercel/analytics, newsStore | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "8a84b6edf246613f",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,../types/newsItem.ts,@vercel/analytics,newsStore,svelte",
      "lines": 227,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "unknown",
      "path": "src/routes/news.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "824750f5f7d0f4b4921ce270",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$components,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/Layout.svelte, $components/NewsComments.svelte, $components/NewsHeader.svelte, ../../src/constants.js, ../types/news.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "f237e81588b55cd7",
      "framework": "svelte",
      "imports": "$components/Layout.svelte,$components/NewsComments.svelte,$components/NewsHeader.svelte,../../src/constants.js,../types/news.js,svelte",
      "lines": 299,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "fdab7f2eb70fffd1a2bb145e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7b4f8fd895f236ac",
      "framework": "svelte",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "+layout.server",
      "normalized_name": "layout-server",
      "package_manager": "unknown",
      "path": "src/routes/+layout.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "04a916ce9580b101b81f7d90",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "b58d77bc3e152e31",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 253,
      "logic_relevance": "none",
      "name": "show",
      "normalized_name": "show",
      "package_manager": "unknown",
      "path": "src/routes/show.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "a0cf35541f8a9e7a494e52db",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d8aaf6a0b17bfc16",
      "framework": "svelte",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "unknown",
      "path": "src/routes/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,backend",
      "component_id": "75ce59288eb3f3b1fb17e86d",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/BestStories.svelte, ./api/hackernews/getBestStories.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf091b6aeb96d373",
      "framework": "svelte",
      "imports": "../components/BestStories.svelte,./api/hackernews/getBestStories.js,svelte",
      "lines": 71,
      "logic_relevance": "none",
      "name": "best",
      "normalized_name": "best",
      "package_manager": "unknown",
      "path": "src/routes/best.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,backend",
      "component_id": "e2ec9f7fe352c3bc89804003",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getAskStories.js, ../components/AskStories.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "140a0e4b94ee94a9",
      "framework": "svelte",
      "imports": "../api/hackernews/getAskStories.js,../components/AskStories.svelte,svelte",
      "lines": 64,
      "logic_relevance": "none",
      "name": "ask",
      "normalized_name": "ask",
      "package_manager": "unknown",
      "path": "src/routes/ask.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "fe242ec491d9dacc47498edf",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,newsStore,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, newsStore, svelte | frontend-score:85 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "f1a9600d596d7e14",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,newsStore,svelte",
      "lines": 202,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "src/routes/app.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,frontend,ui,backend",
      "component_id": "cf6aa2172d712c22609d4b72",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../components/JobStories.svelte, ./api/hackernews/getJobStories.js, svelte | automation-score:95 | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "11a100089567e032",
      "framework": "svelte",
      "imports": "../components/JobStories.svelte,./api/hackernews/getJobStories.js,svelte",
      "lines": 67,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "unknown",
      "path": "src/routes/jobs.svelte",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "9d7a9a54a52db59e593f9ae6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "newsStore",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load, prerender | imports:newsStore | backend-score:55 | observability-score:55",
      "exports": "load,prerender",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcb722b1534f7ac8",
      "framework": "svelte",
      "imports": "newsStore",
      "lines": 36,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/+page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui,backend",
      "component_id": "cb417bba4597140389014acb",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:../routes/api/hackernews/getBestStories.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4208fe39c6e08397",
      "framework": "svelte",
      "imports": "../routes/api/hackernews/getBestStories.js,svelte",
      "lines": 57,
      "logic_relevance": "none",
      "name": "top",
      "normalized_name": "top",
      "package_manager": "unknown",
      "path": "src/routes/top.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,backend,automation",
      "component_id": "2ac601940f2267408e0d3ca7",
      "component_kind": "layout",
      "confidence": 75,
      "dependency_roots": "$app,$components,@vercel/analytics,svelte",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/environment, $app/stores, $components/Footer.svelte, $components/Header.svelte, @vercel/analytics, svelte | frontend-score:85 | ui-score:55 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb61f0de050e02fd",
      "framework": "svelte",
      "imports": "$app/environment,$app/stores,$components/Footer.svelte,$components/Header.svelte,@vercel/analytics,svelte",
      "lines": 41,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "src/routes/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "22ba9483e94f997fe5bc034c",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a41abef4174c4fe0",
      "framework": "svelte",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "unknown",
      "path": "src/routes/signup.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend,security",
      "component_id": "9aec9b5fb8677b39c1038d2b",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getTopStories.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ee73c997f563958",
      "framework": "svelte",
      "imports": "../api/hackernews/getTopStories.js,svelte",
      "lines": 190,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/top/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,discovery",
      "component_id": "93804cf700300fd5d9c2fb3f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@sveltejs/kit | backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "47a0b72af6ef5e36",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 58,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/llms.txt/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "92831a359be5d73ba282f569",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "382c74c06fee30f1",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 219,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/ask/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "9cb0cb19d859dcfb23c141a1",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/navigation, ../../components/Auth.svelte, ../../components/Layout.svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "14626ef5d99f4954",
      "framework": "svelte",
      "imports": "$app/navigation,../../components/Auth.svelte,../../components/Layout.svelte",
      "lines": 76,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/signup/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "25a608b3d8d7070195f14998",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$app,@sveltejs/kit,svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MAX_RETRIES | imports:$app/stores, ../../components/Layout.svelte, @sveltejs/kit, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MAX_RETRIES",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "375317987464511e",
      "framework": "svelte",
      "imports": "$app/stores,../../components/Layout.svelte,@sveltejs/kit,svelte",
      "lines": 401,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/show/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "48e827fa0fd62c184f9f9b76",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/BestStories.svelte, ../../routes/api/hackernews/getBestStories.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d3a86b04a949aecc",
      "framework": "svelte",
      "imports": "../../components/BestStories.svelte,../../routes/api/hackernews/getBestStories.js,svelte",
      "lines": 199,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/best/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "1484d6a973a96da146cd68f9",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/Story.svelte, ../../stores/hackernewsStore, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "74cb29a632aaab99",
      "framework": "svelte",
      "imports": "../../components/Story.svelte,../../stores/hackernewsStore,svelte",
      "lines": 179,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "unknown",
      "path": "src/routes/news/news.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3e94f5494ecdfb35ff4787e0",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c5d1346c03437956",
      "framework": "svelte",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "news.d",
      "normalized_name": "news-d",
      "package_manager": "unknown",
      "path": "src/routes/news/news.d.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "81e7f541644e55d42570740a",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CACHE_EXPIRY, DEFAULT_LIMIT, DEFAULT_LIMIT_NUMBER, DEFAULT_LIMIT_STRING, DEFAULT_PAGE, DEFAULT_PAGE_LIMIT, DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_STRING | backend-score:55",
      "exports": "CACHE_EXPIRY,DEFAULT_LIMIT,DEFAULT_LIMIT_NUMBER,DEFAULT_LIMIT_STRING,DEFAULT_PAGE,DEFAULT_PAGE_LIMIT,DEFAULT_PAGE_NUMBER,DEFAULT_PAGE_STRING,DEFAULT_SORT,DEFAULT_SORT_BY,DEFAULT_SORT_BY_NUMBER,DEFAULT_SORT_BY_STRING,DEFAULT_SORT_NUMBER,DEFAULT_SORT_STRING,HN_API_URL,HN_BASE_URL,HN_ITEM_SUFFIX,HN_ITEM_URL",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d2342a4ec7dfaa74",
      "framework": "svelte",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/constants.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "92e7fc6615f7bda265b2c1d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "node-fetch",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:./constants.js, node-fetch | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4d35c58abeaad492",
      "framework": "svelte",
      "imports": "./constants.js,node-fetch",
      "lines": 115,
      "logic_relevance": "none",
      "name": "getLatestNews",
      "normalized_name": "get-latest-news",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getLatestNews.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "449ca1a0d3e1bd565a5ee2d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:./constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2f70c9a8415c53a7",
      "framework": "svelte",
      "imports": "./constants.js",
      "lines": 54,
      "logic_relevance": "none",
      "name": "getAskStories",
      "normalized_name": "get-ask-stories",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getAskStories.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "4ff6cd41f8063d8fb32cfb29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9bb01fdb2453305e",
      "framework": "svelte",
      "imports": "../hackernews/constants.js",
      "lines": 69,
      "logic_relevance": "none",
      "name": "getShowStories",
      "normalized_name": "get-show-stories",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getShowStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "backend,observability,automation",
      "component_id": "7d9f932825b81daf4c2111d6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants.js | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46267302ead5ec73",
      "framework": "svelte",
      "imports": "../hackernews/constants.js",
      "lines": 117,
      "logic_relevance": "none",
      "name": "getTopStories",
      "normalized_name": "get-top-stories",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getTopStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "4c83e08ae928c5d2e91aed08",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./constants | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "512ca9100a50539f",
      "framework": "svelte",
      "imports": "./constants",
      "lines": 29,
      "logic_relevance": "none",
      "name": "getAskStories",
      "normalized_name": "get-ask-stories",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getAskStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "05a342ad835617feb6a7d668",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ACCESSIBILITY_TEXT, APP_TITLE, CACHE_EXPIRY, DEFAULT_LIMIT, DEFAULT_LIMIT_NUMBER, DEFAULT_LIMIT_STRING, DEFAULT_PAGE, DEFAULT_PAGE_LIMIT | backend-score:55 | observability-score:55",
      "exports": "ACCESSIBILITY_TEXT,APP_TITLE,CACHE_EXPIRY,DEFAULT_LIMIT,DEFAULT_LIMIT_NUMBER,DEFAULT_LIMIT_STRING,DEFAULT_PAGE,DEFAULT_PAGE_LIMIT,DEFAULT_PAGE_NUMBER,DEFAULT_PAGE_STRING,DEFAULT_SORT,DEFAULT_SORT_BY,DEFAULT_SORT_BY_NUMBER,DEFAULT_SORT_BY_STRING,DEFAULT_SORT_NUMBER,DEFAULT_SORT_STRING,HN_API_URL,HN_BASE_URL,HN_ITEM_SUFFIX,HN_ITEM_URL,JAVASCRIPT_FALLBACK,JSON_LD_SCHEMA,LINKS,META_INFORMATION,SEO_TAGS,SVELTEKIT_PLACEHOLDERS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e2510ba531525422",
      "framework": "svelte",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/constants.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "1575f1d3b346e7d1d4489948",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6d78194116e1eff",
      "framework": "svelte",
      "imports": "../hackernews/constants.js",
      "lines": 51,
      "logic_relevance": "none",
      "name": "getJobStories",
      "normalized_name": "get-job-stories",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getJobStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "d95a22021930f7f176757241",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63f8236756f3c307",
      "framework": "svelte",
      "imports": "../hackernews/constants.js",
      "lines": 29,
      "logic_relevance": "none",
      "name": "getBestStories",
      "normalized_name": "get-best-stories",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getBestStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "6189e2a8b429226405f2dee1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3bfff5e0ba991b3",
      "framework": "svelte",
      "imports": "../constants.js",
      "lines": 57,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getJobStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "b1a98da40531638d26d1415a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2d992f8a969bd6d2",
      "framework": "svelte",
      "imports": "../constants.js",
      "lines": 47,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getShowStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "a08945f32921e05551920044",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_RETRIES, RETRY_DELAY | imports:@sveltejs/kit | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET,MAX_RETRIES,RETRY_DELAY",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d2c740d87b6a733f",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 88,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getStoryDetails/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "c57a6d3b639a51f4c6a09603",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants.js | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "963f838132042325",
      "framework": "svelte",
      "imports": "../constants.js",
      "lines": 54,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getBestStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "55412a38ad89da17d2b69917",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,dotenv,newsStore",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:prerender | imports:@sveltejs/kit, dotenv, newsStore | backend-score:125 | observability-score:55 | uses-env | next-route-handler",
      "exports": "prerender",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae709b64d977a32d",
      "framework": "svelte",
      "imports": "@sveltejs/kit,dotenv,newsStore",
      "lines": 121,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getTopStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "6f01f718b6083519b0e4c66f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,newsStore",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, HACKER_NEWS_API_URL, MAX_RETRIES | imports:../constants.js, @sveltejs/kit, newsStore | backend-score:125 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET,HACKER_NEWS_API_URL,MAX_RETRIES",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bdfc1399f1728de4",
      "framework": "svelte",
      "imports": "../constants.js,@sveltejs/kit,newsStore",
      "lines": 68,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/hackernews/getAskStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "5bd8d69b5f88d15c695da9ff",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "c2c18a6882c37af2",
      "framework": "svelte",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "unknown",
      "path": "src/routes/api/auth/login.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "cc15dae9ae905d11c66e9bc1",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "27c42f140ea95b6e",
      "framework": "svelte",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "unknown",
      "path": "src/routes/api/auth/signup.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "9b91161b3402894fda514e40",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "77174ec447ba6ef4",
      "framework": "svelte",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "unknown",
      "path": "src/routes/api/auth/login.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "e2e6a0ff64afaceda26f7c95",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a44d62d2a2d8e129",
      "framework": "svelte",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "unknown",
      "path": "src/routes/api/auth/signup.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4203885789519dc494c88825",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@sveltejs/kit | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8be6ea66de7671f7",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/auth/signup/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "da0d83ee59d313c2d6a07472",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@sveltejs/kit | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ddf708e90380e03d",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/auth/login/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "8a8acd54f59416a3a30528d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,dotenv",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:NewsItem, prerender | imports:@sveltejs/kit, dotenv | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "NewsItem,prerender",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99cc39e6ca5e9e25",
      "framework": "svelte",
      "imports": "@sveltejs/kit,dotenv",
      "lines": 213,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/getLatestNews/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "6bbbdf6bea342554880ce380",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,dotenv",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:prerender | imports:../../../constants.js, @sveltejs/kit, dotenv | backend-score:125 | observability-score:55 | uses-env | next-route-handler",
      "exports": "prerender",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "47b2fb8f8ab526d5",
      "framework": "svelte",
      "imports": "../../../constants.js,@sveltejs/kit,dotenv",
      "lines": 126,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/getTopStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "48581ee92216214e423d2c85",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,dotenv",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:prerender | imports:@sveltejs/kit, dotenv | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "prerender",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d3f57541caecfe59",
      "framework": "svelte",
      "imports": "@sveltejs/kit,dotenv",
      "lines": 202,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/api/getNewsDetails/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "fbe9a5971217599aebb850dc",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@sveltejs/kit | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "62797259a698b12b",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 69,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/routes/sitemap-main.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,frontend,ui,backend,observability",
      "component_id": "0efdae703755c879fcf5b3b9",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "app",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../../components/JobDetails.svelte, ../../components/JobStories.svelte, app | automation-score:95 | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1700be5de64e8d7e",
      "framework": "svelte",
      "imports": "../../components/JobDetails.svelte,../../components/JobStories.svelte,app",
      "lines": 88,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/jobs/+page.svelte",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "c6e25b62fbbf20bda17d56f4",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/navigation, ../../components/Auth.svelte, ../../components/Layout.svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "5ea8825d7e3675a6",
      "framework": "svelte",
      "imports": "$app/navigation,../../components/Auth.svelte,../../components/Layout.svelte",
      "lines": 76,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/login/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "06ec165f8259d5cc8821887d",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$app,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:MAX_RETRIES | imports:$app/navigation, ../../../components/Layout.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MAX_RETRIES",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "7624ccafe6a361cb",
      "framework": "svelte",
      "imports": "$app/navigation,../../../components/Layout.svelte,svelte",
      "lines": 356,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "src/routes/story/[id]/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "fbdfaefde79742618b8ddd13",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "svelte",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:clearErrors, hackernewsStore, updateStoreData, updateStoreError | imports:svelte/store | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "clearErrors,hackernewsStore,updateStoreData,updateStoreError",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "04497a7e80e8f68b",
      "framework": "svelte",
      "imports": "svelte/store",
      "lines": 234,
      "logic_relevance": "none",
      "name": "hackernewsService",
      "normalized_name": "hackernews-service",
      "package_manager": "unknown",
      "path": "src/services/hackernewsService.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,security,ai",
      "component_id": "fcad5afa2ff38263b5293d98",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "app,svelte",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:clearErrors, fetchAskStories, fetchBestStories, fetchData, fetchJobStories, fetchShowStories, fetchStoryWithChildren, fetchTopStories | imports:app, svelte/store | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "clearErrors,fetchAskStories,fetchBestStories,fetchData,fetchJobStories,fetchShowStories,fetchStoryWithChildren,fetchTopStories,getCachedData,hackernewsStore,refreshAll,updateStoreData,updateStoreError",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "107a232ac5093879",
      "framework": "svelte",
      "imports": "app,svelte/store",
      "lines": 141,
      "logic_relevance": "none",
      "name": "hackernewsService.d",
      "normalized_name": "hackernews-service-d",
      "package_manager": "unknown",
      "path": "src/services/hackernewsService.d.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__legacy-platphorm-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "f0f28348c30244aa3fdd62d3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a24a4acb6aca025",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "do",
      "normalized_name": "do",
      "package_manager": "cargo",
      "path": "do.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "74b5a9ad0c7a573cee8a4a7e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9ac493d9cbdd3063",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "cargo",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__lettuce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "9fc6a9c4d4ec35d7ec67592e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "89822e9c3029dc6f",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "project_board",
      "normalized_name": "project-board",
      "package_manager": "cargo",
      "path": "project_board.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__lettuce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "8c3c973bbf4fdeee2a100839",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "935266439c7753f6",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "cargo",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__lettuce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "402182d966109a0454d5e7fe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2fad0ae5f0d70960",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "cargo",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__lettuce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,security",
      "component_id": "328cf4bdeddf4a6f6ee941fc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2f5d33c1b54ce1c",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": ".feature-status",
      "normalized_name": "feature-status",
      "package_manager": "cargo",
      "path": "ntt/.feature-status.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "40c77cfd84124e45c381f5f6",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8abfc83d527d2bfd",
      "framework": "rust",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "lib",
      "normalized_name": "lib",
      "package_manager": "cargo",
      "path": "ntt/src/lib.rs",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "cfd2992111f40562f34f2543",
      "component_kind": "transformer",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be02d2f81ed3aa2b",
      "framework": "rust",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "transforms",
      "normalized_name": "transforms",
      "package_manager": "cargo",
      "path": "ntt/src/transforms.rs",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,security",
      "component_id": "98c0ef8e12e6928a99a198b7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2f5d33c1b54ce1c",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": ".feature-status",
      "normalized_name": "feature-status",
      "package_manager": "cargo",
      "path": "module-lwe/.feature-status.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "2072079b04fcb9e72b25d39a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "6ddfd06ad2ddea81",
      "framework": "rust",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "cargo",
      "path": "module-lwe/src/test.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "57662ee7591688eff7c09a52",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "269040ba5580ebe0",
      "framework": "rust",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "decrypt",
      "normalized_name": "decrypt",
      "package_manager": "cargo",
      "path": "module-lwe/src/decrypt.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,logic",
      "component_id": "313773525e12be3441f5418f",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85900385d9d40b4b",
      "framework": "rust",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "lib",
      "normalized_name": "lib",
      "package_manager": "cargo",
      "path": "module-lwe/src/lib.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6ee49d806cab527e144dea02",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "961e97e8c5f2d725",
      "framework": "rust",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "encrypt",
      "normalized_name": "encrypt",
      "package_manager": "cargo",
      "path": "module-lwe/src/encrypt.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "da2444665d13e1386c0453c9",
      "component_kind": "key-management",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "1fa4213118f9b283",
      "framework": "rust",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "keygen",
      "normalized_name": "keygen",
      "package_manager": "cargo",
      "path": "module-lwe/src/keygen.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "4f5334a3f0cc8528b6ece494",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "39aba55941a093ae",
      "framework": "rust",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "cargo",
      "path": "module-lwe/src/main.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "b4b14f818964cf9dcbcc67e5",
      "component_kind": "utility",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cde34708790b0be8",
      "framework": "rust",
      "imports": "",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "cargo",
      "path": "module-lwe/src/utils.rs",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "6783264c079aa7369a129ddb",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6eb3883f95108239",
      "framework": "rust",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "cargo",
      "path": "ring-lwe/main.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,security",
      "component_id": "e7b321a63063cf98fada347b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2f5d33c1b54ce1c",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": ".feature-status",
      "normalized_name": "feature-status",
      "package_manager": "cargo",
      "path": "ring-lwe/.feature-status.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "47aab099a7ffe1f6a1378482",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "9e39bde98ba40461",
      "framework": "rust",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "cargo",
      "path": "ring-lwe/src/test.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8a13f6fb7fe4172d576f63bf",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "485c3b68077c220a",
      "framework": "rust",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "decrypt",
      "normalized_name": "decrypt",
      "package_manager": "cargo",
      "path": "ring-lwe/src/decrypt.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,logic",
      "component_id": "08ccaf2aeb3a850c9bbf68fc",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "480fb35c0f61ec97",
      "framework": "rust",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "lib",
      "normalized_name": "lib",
      "package_manager": "cargo",
      "path": "ring-lwe/src/lib.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "6043d345661da53ff8a084b3",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "114cd2960d930b5e",
      "framework": "rust",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "encrypt",
      "normalized_name": "encrypt",
      "package_manager": "cargo",
      "path": "ring-lwe/src/encrypt.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "93c287c232b7be3bb5dec989",
      "component_kind": "key-management",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "309b2a41dee28393",
      "framework": "rust",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "keygen",
      "normalized_name": "keygen",
      "package_manager": "cargo",
      "path": "ring-lwe/src/keygen.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5c1af1eb26be82d051f7efaf",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "ae47ff4de34ebb87",
      "framework": "rust",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "cargo",
      "path": "ring-lwe/src/main.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "6666129514a4499cfcf4bc83",
      "component_kind": "utility",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "60f6e85d1adb30d2",
      "framework": "rust",
      "imports": "",
      "lines": 318,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "cargo",
      "path": "ring-lwe/src/utils.rs",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "89f716dc91869126167a2756",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "71b1702f1e761cbf",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "status",
      "normalized_name": "status",
      "package_manager": "cargo",
      "path": "docs/status.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__lettuce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "1aea3d5cf3c14e57d4696787",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c995b9e52678d89",
      "framework": "rust",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "benchmark_encaps",
      "normalized_name": "benchmark-encaps",
      "package_manager": "cargo",
      "path": "benches/benchmark_encaps.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "674b1d4270dde8967b575a92",
      "component_kind": "key-management",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f46e8b4cd70d8138",
      "framework": "rust",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "benchmark_keygen",
      "normalized_name": "benchmark-keygen",
      "package_manager": "cargo",
      "path": "benches/benchmark_keygen.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "6db72dfeb804b472a78132ef",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49e58d9abbb7d1dc",
      "framework": "rust",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "benchmark_encrypt",
      "normalized_name": "benchmark-encrypt",
      "package_manager": "cargo",
      "path": "benches/benchmark_encrypt.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "518479fbb56696a3ef120ef2",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "d3a05e2cef5c24c7",
      "framework": "rust",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "benchmark_decrypt",
      "normalized_name": "benchmark-decrypt",
      "package_manager": "cargo",
      "path": "benches/benchmark_decrypt.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "b51164d1c3319991d1bd6613",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb3bf071eb926341",
      "framework": "rust",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "benchmark_decaps",
      "normalized_name": "benchmark-decaps",
      "package_manager": "cargo",
      "path": "benches/benchmark_decaps.rs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "observability",
      "component_id": "7df8dd4e57b457a8e95c94a1",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc0f698f08ace187",
      "framework": "rust",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "cargo",
      "path": "xtask/src/main.rs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "00e16bab692c0d4225a7eee6",
      "component_kind": "business-logic",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".rs",
      "extraction_status": "catalog-only",
      "file_hash": "462d7935cf8faaa6",
      "framework": "rust",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "lib",
      "normalized_name": "lib",
      "package_manager": "cargo",
      "path": "polynomial/src/lib.rs",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__lettuce",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "196eab5694e52091da7cb9fb",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "37a746696ba9d6f4",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4c8fa3818c1a191623447ac6",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "cors,express",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:createApp | imports:./config/env, ./routes/credits, ./routes/payments, ./routes/stannp, ./routes/user, cors, express | observability-score:55 | security-score:55",
      "exports": "createApp",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c70026af0439841b",
      "framework": "unknown",
      "imports": "./config/env,./routes/credits,./routes/payments,./routes/stannp,./routes/user,cors,express",
      "lines": 32,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "src/app.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6f42ba27ac7dc304b14fc2c1",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./app, ./config/env | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "67c5d4ff1025e7d0",
      "framework": "unknown",
      "imports": "./app,./config/env",
      "lines": 8,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "src/server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "d18d3715247bcf869a3138a7",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "express,jsonwebtoken",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:auth0JWT | imports:../config/env, express, jsonwebtoken | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "auth0JWT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e528505f72534875",
      "framework": "unknown",
      "imports": "../config/env,express,jsonwebtoken",
      "lines": 30,
      "logic_relevance": "none",
      "name": "auth0JWT",
      "normalized_name": "auth0-jwt",
      "package_manager": "unknown",
      "path": "src/middleware/auth0JWT.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "b6634ab107f5720977ecd301",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:supabaseClient | imports:./env, @supabase/supabase-js | security-score:55",
      "exports": "supabaseClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "674d22fb25bf5631",
      "framework": "unknown",
      "imports": "./env,@supabase/supabase-js",
      "lines": 8,
      "logic_relevance": "none",
      "name": "supabase",
      "normalized_name": "supabase",
      "package_manager": "unknown",
      "path": "src/config/supabase.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "05e6cc15aa27910d9adf3322",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "dotenv",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ENV | imports:dotenv | security-score:55 | uses-env",
      "exports": "ENV",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "88fc19a146a9e0df",
      "framework": "unknown",
      "imports": "dotenv",
      "lines": 38,
      "logic_relevance": "none",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "unknown",
      "path": "src/config/env.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "8606b5d9691f1220427f3211",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "express,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:createPaymentIntent | imports:../config/env, express, stripe | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "createPaymentIntent",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b721c77f8e3d1e2a",
      "framework": "unknown",
      "imports": "../config/env,express,stripe",
      "lines": 27,
      "logic_relevance": "none",
      "name": "paymentsController",
      "normalized_name": "payments-controller",
      "package_manager": "unknown",
      "path": "src/controllers/paymentsController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "8b80f37201cfe32140791c12",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "express,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getStripeCredits, getSupabaseCredits | imports:../config/env, ../config/supabase, express, stripe | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "getStripeCredits,getSupabaseCredits",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e9756bbf8f87dbdb",
      "framework": "unknown",
      "imports": "../config/env,../config/supabase,express,stripe",
      "lines": 55,
      "logic_relevance": "none",
      "name": "creditsController",
      "normalized_name": "credits-controller",
      "package_manager": "unknown",
      "path": "src/controllers/creditsController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "378dbffbbdd014ee1b97c998",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "express",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getUserData, upsertUserData | imports:../config/supabase, express | backend-score:90 | observability-score:55",
      "exports": "getUserData,upsertUserData",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2d79655b8b34d69",
      "framework": "unknown",
      "imports": "../config/supabase,express",
      "lines": 47,
      "logic_relevance": "none",
      "name": "userController",
      "normalized_name": "user-controller",
      "package_manager": "unknown",
      "path": "src/controllers/userController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "64dd1a86937e6a083a33aaa0",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "express",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:createStannpLetter | imports:express | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "createStannpLetter",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9edca94635637744",
      "framework": "unknown",
      "imports": "express",
      "lines": 18,
      "logic_relevance": "none",
      "name": "stannpController",
      "normalized_name": "stannp-controller",
      "package_manager": "unknown",
      "path": "src/controllers/stannpController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0e71da5852670d19be181b81",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../controllers/creditsController, express | backend-score:90",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5fd0508392a9965",
      "framework": "unknown",
      "imports": "../controllers/creditsController,express",
      "lines": 13,
      "logic_relevance": "none",
      "name": "credits",
      "normalized_name": "credits",
      "package_manager": "unknown",
      "path": "src/routes/credits.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "80ee5c0fc4536d5c4922350d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "express,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express, stripe | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ae403a22026da7d8",
      "framework": "unknown",
      "imports": "express,stripe",
      "lines": 28,
      "logic_relevance": "none",
      "name": "create-payment-intent",
      "normalized_name": "create-payment-intent",
      "package_manager": "unknown",
      "path": "src/routes/create-payment-intent.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "520d9abdc92b9214e4cc7d59",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "express,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express, stripe | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "af9d2fc6db8c7832",
      "framework": "unknown",
      "imports": "express,stripe",
      "lines": 47,
      "logic_relevance": "none",
      "name": "get-credits",
      "normalized_name": "get-credits",
      "package_manager": "unknown",
      "path": "src/routes/get-credits.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7a28c3047a2960bf7552f9d7",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "express",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../controllers/paymentsController, express | backend-score:90 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a3c86e8756ad91c0",
      "framework": "unknown",
      "imports": "../controllers/paymentsController,express",
      "lines": 10,
      "logic_relevance": "none",
      "name": "payments",
      "normalized_name": "payments",
      "package_manager": "unknown",
      "path": "src/routes/payments.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1813e3095038c402efd431d0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "express",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../controllers/userController, express | backend-score:90 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "af1c872b49220a5f",
      "framework": "unknown",
      "imports": "../controllers/userController,express",
      "lines": 13,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "unknown",
      "path": "src/routes/user.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "77de976bb8d712c0b442e5c4",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "express",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../controllers/stannpController, express | backend-score:90",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f6f7297a8f9f1c9",
      "framework": "unknown",
      "imports": "../controllers/stannpController,express",
      "lines": 10,
      "logic_relevance": "none",
      "name": "stannp",
      "normalized_name": "stannp",
      "package_manager": "unknown",
      "path": "src/routes/stannp.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "observability,security,automation",
      "component_id": "2ca33ce88f2873fb3315b3d3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5626917e6b8a6b60",
      "framework": "next-react",
      "imports": "",
      "lines": 4155,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "beb50dbb2b63e3530968639d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "60b55ff7df79af72",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "8bc14edaef26999266b9ba6c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64b03ce8ab5e3aba",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "57113a19407145d177870b1c",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "94bca386df5d410e",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "edgedb-commands",
      "normalized_name": "edgedb-commands",
      "package_manager": "pnpm",
      "path": "edgedb-commands.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "3253d755f09e9851e8476247",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/react, next, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "78476fbdbaed71f7",
      "framework": "next-react",
      "imports": "@vercel/analytics/react,next,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "44bf898b891cc38d01d5f052",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47c855c6b39e2a03",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "8517bfadbe9d1cbdd39fb1f1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ecbfe8b9473e9fbb",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "acd17f7209116f6ea51ebb7c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../src/controllers/paymentsController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1b82cd0c58926d0a",
      "framework": "next-react",
      "imports": "../../src/controllers/paymentsController,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/payments/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "97483323c4152a28b59fee5d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../src/controllers/lettersController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "afb340290d357d49",
      "framework": "next-react",
      "imports": "../../src/controllers/lettersController,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/letters/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "d36c371106c9a1442dde77fe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../../src/controllers/lettersController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bea3ba0b09f162d5",
      "framework": "next-react",
      "imports": "../../../src/controllers/lettersController,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/letters/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "5cc4f9969b499df69b9f8cab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../src/controllers/lettersController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3370f398f15bf5fe",
      "framework": "next-react",
      "imports": "../../../src/controllers/lettersController,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/letters/list/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability",
      "component_id": "86fe8b2c519fef50a689cab2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/src/controllers/userController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "27151f0b3f52b169",
      "framework": "next-react",
      "imports": "@/app/src/controllers/userController,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "0f4aac9a744c42d5e9dd4a91",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:../../src/controllers/addressesController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c500fe5a46e80c81",
      "framework": "next-react",
      "imports": "../../src/controllers/addressesController,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/addresses/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "d59a39f0cd576052809e1a16",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../src/controllers/mailItemsController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "679cb1ccb56f772b",
      "framework": "next-react",
      "imports": "../../src/controllers/mailItemsController,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mailitems/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "40eab0719d4d4e94a814c2c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../src/controllers/mailItemsController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b7f74c4a2d6f2847",
      "framework": "next-react",
      "imports": "../../../src/controllers/mailItemsController,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mailitems/[stannpId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "4eec50f57fdd4139fe6c1c78",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../src/controllers/creditsController, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18cee99591f1cc79",
      "framework": "next-react",
      "imports": "../../src/controllers/creditsController,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/credits/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "8051d2e5cc8a5998809e00e1",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "cors,express",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:createApp | imports:../src/routes/credits, ../src/routes/payments, ../src/routes/user, cors, express | security-score:55",
      "exports": "createApp",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33df7479c6b64585",
      "framework": "next-react",
      "imports": "../src/routes/credits,../src/routes/payments,../src/routes/user,cors,express",
      "lines": 28,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "app/src/app.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "31a8b9a57a0d8334aafaa100",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PORT | imports:./app, ./config/env | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PORT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "04894bcd5c008876",
      "framework": "next-react",
      "imports": "./app,./config/env",
      "lines": 16,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "app/src/server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3d4a24b4d775d9c52c329bb0",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ENV, loadEnv | imports:dotenv | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "ENV,loadEnv",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "015440e1f8d98d1d",
      "framework": "next-react",
      "imports": "dotenv",
      "lines": 107,
      "logic_relevance": "none",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "app/src/config/env.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7230d06a8e4b41e88028634b",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "dotenv,edgedb",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:edgedbClient | imports:dotenv, edgedb | backend-score:55 | security-score:55 | uses-env",
      "exports": "edgedbClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1a6bb3c91903578a",
      "framework": "next-react",
      "imports": "dotenv,edgedb",
      "lines": 19,
      "logic_relevance": "none",
      "name": "edgedb",
      "normalized_name": "edgedb",
      "package_manager": "pnpm",
      "path": "app/src/db/edgedb.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "77a6a9ceddcd40c5f50d7850",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../config/env, ../db/edgedb, stripe | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6a883c46e2b83c34",
      "framework": "next-react",
      "imports": "../config/env,../db/edgedb,stripe",
      "lines": 61,
      "logic_relevance": "none",
      "name": "paymentsController",
      "normalized_name": "payments-controller",
      "package_manager": "pnpm",
      "path": "app/src/controllers/paymentsController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "68633cf5beefb9c1af78c106",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:STANNP_API_KEY, STANNP_BASE | imports:../db/edgedb | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "STANNP_API_KEY,STANNP_BASE",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c636dadbab55bd11",
      "framework": "next-react",
      "imports": "../db/edgedb",
      "lines": 130,
      "logic_relevance": "none",
      "name": "lettersController",
      "normalized_name": "letters-controller",
      "package_manager": "pnpm",
      "path": "app/src/controllers/lettersController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "36672703e041174337583f03",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ENV | imports:../config/env, stripe | backend-score:55 | security-score:55",
      "exports": "ENV",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3bcfe5b5ee2e3597",
      "framework": "next-react",
      "imports": "../config/env,stripe",
      "lines": 15,
      "logic_relevance": "none",
      "name": "creditsController",
      "normalized_name": "credits-controller",
      "package_manager": "pnpm",
      "path": "app/src/controllers/creditsController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "22841bb74c759ac680fd627c",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:STANNP_API_KEY, STANNP_BASE | imports:../db/edgedb | backend-score:55 | security-score:55 | uses-env",
      "exports": "STANNP_API_KEY,STANNP_BASE",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e762880286772cd6",
      "framework": "next-react",
      "imports": "../db/edgedb",
      "lines": 136,
      "logic_relevance": "none",
      "name": "addressesController",
      "normalized_name": "addresses-controller",
      "package_manager": "pnpm",
      "path": "app/src/controllers/addressesController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "0448cf451e433a6146960f6e",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:STANNP_API_KEY, STANNP_BASE | imports:../db/edgedb | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "STANNP_API_KEY,STANNP_BASE",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4fe689f92678fdd8",
      "framework": "next-react",
      "imports": "../db/edgedb",
      "lines": 123,
      "logic_relevance": "none",
      "name": "mailItemsController",
      "normalized_name": "mail-items-controller",
      "package_manager": "pnpm",
      "path": "app/src/controllers/mailItemsController.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "cb261d8d08c5be8fb7d2939c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7616b52a6d0da44e",
      "framework": "next-react",
      "imports": "express",
      "lines": 14,
      "logic_relevance": "none",
      "name": "credits",
      "normalized_name": "credits",
      "package_manager": "pnpm",
      "path": "app/src/routes/credits.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "4670e45ac1db70baa316e367",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "express",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad3f40490225469f",
      "framework": "next-react",
      "imports": "express",
      "lines": 6,
      "logic_relevance": "none",
      "name": "payments",
      "normalized_name": "payments",
      "package_manager": "pnpm",
      "path": "app/src/routes/payments.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6e0efcb4c83b28449d10e40a",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "express",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express | backend-score:90",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5141fb4b9f4873d5",
      "framework": "next-react",
      "imports": "express",
      "lines": 8,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "pnpm",
      "path": "app/src/routes/user.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-api",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "58a1ec044106f47a3ae5e3b6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10ec1accdbe7c8e9",
      "framework": "react",
      "imports": "",
      "lines": 3573,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "54013a9b1e5b591bb7fccacb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "311155dff20a9405",
      "framework": "react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "ac172f6854dffff3b0b97b22",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a2d6be221f6ffd16",
      "framework": "react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "7559072248aa3fbed7e012a6",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomeSendPostcard | imports:../src/api, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HomeSendPostcard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf270d03c13dbc92",
      "framework": "react",
      "imports": "../src/api,react",
      "lines": 405,
      "logic_relevance": "none",
      "name": "AltHome",
      "normalized_name": "alt-home",
      "package_manager": "pnpm",
      "path": "archive/AltHome.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5a8728b3c6a15f27d842d08b",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PdfUploadAndSend | imports:../api, react | frontend-score:90 | ui-score:70 | observability-score:55",
      "exports": "PdfUploadAndSend",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "19d3c336ab6a8ff4",
      "framework": "react",
      "imports": "../api,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "PdfUploadAndSend",
      "normalized_name": "pdf-upload-and-send",
      "package_manager": "pnpm",
      "path": "tests/PdfUploadAndSend.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2f89e761c906efb805c913ef",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PdfUploadAndSend | imports:../api, react, react/jsx-runtime | observability-score:55",
      "exports": "PdfUploadAndSend",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb2b191152271c31",
      "framework": "react",
      "imports": "../api,react,react/jsx-runtime",
      "lines": 119,
      "logic_relevance": "none",
      "name": "PdfUploadAndSend",
      "normalized_name": "pdf-upload-and-send",
      "package_manager": "pnpm",
      "path": "tests/PdfUploadAndSend.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "39df5e0b02307f95b3d5d955",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthStatus | imports:./components/Addresses, ./components/Campaigns, ./components/Home, ./components/Login, ./components/Logout, ./components/PriceCalculator, ./components/SendLetter, ./components/SendPostcard | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AuthStatus",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "55391b9cdfa18626",
      "framework": "react",
      "imports": "./components/Addresses,./components/Campaigns,./components/Home,./components/Login,./components/Logout,./components/PriceCalculator,./components/SendLetter,./components/SendPostcard,./components/Tracking,@auth0/auth0-react,react,react/jsx-runtime",
      "lines": 67,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/App.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "597c205a408a8a0d2b5da4db",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@auth0/auth0-react,@vercel/analytics,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./App, @auth0/auth0-react, @vercel/analytics/react, react-dom/client | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4cfb3b351241ca7",
      "framework": "react",
      "imports": "./App,@auth0/auth0-react,@vercel/analytics/react,react-dom/client",
      "lines": 45,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "pnpm",
      "path": "src/main.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "64182b220e027a6d3300516b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8392be4ff17a219a",
      "framework": "react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "env.d",
      "normalized_name": "env-d",
      "package_manager": "pnpm",
      "path": "src/env.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "style,automation,ai",
      "component_id": "2bd20989b8159b657b58f713",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2031a387660cafcf",
      "framework": "react",
      "imports": "",
      "lines": 227,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/App.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bb968099e98f701d57a0dbbb",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiResult, Campaign, MailItemResponse, Recipient, setAuthToken | imports:./utils/logger | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiResult,Campaign,MailItemResponse,Recipient,setAuthToken",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b608899ed455df60",
      "framework": "react",
      "imports": "./utils/logger",
      "lines": 221,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "src/api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ed6926f2d53ed92223315ebe",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "580648daf4c2b333",
      "framework": "react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "pnpm",
      "path": "src/main.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "31aea94bfac5a7a3cc74f46f",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "274aa216b1896954",
      "framework": "react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "5099bf8aec4ea93f4653c968",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserProvider, useUser | imports:@auth0/auth0-react, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "UserProvider,useUser",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1687f8ba321b7374",
      "framework": "react",
      "imports": "@auth0/auth0-react,react",
      "lines": 67,
      "logic_relevance": "none",
      "name": "userContext",
      "normalized_name": "user-context",
      "package_manager": "pnpm",
      "path": "src/context/userContext.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8c5699cb64c2d52da07dc5a4",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:UserProvider, useUser | imports:@auth0/auth0-react, react, react/jsx-runtime | security-score:55",
      "exports": "UserProvider,useUser",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2c5e56a36ad66599",
      "framework": "react",
      "imports": "@auth0/auth0-react,react,react/jsx-runtime",
      "lines": 47,
      "logic_relevance": "none",
      "name": "userContext",
      "normalized_name": "user-context",
      "package_manager": "pnpm",
      "path": "src/context/userContext.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "cd6e4f154fcc55542de0880e",
      "component_kind": "auth",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:authConfig | security-score:55",
      "exports": "authConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "19f0fcf3f2e19a45",
      "framework": "react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "auth0",
      "normalized_name": "auth0",
      "package_manager": "pnpm",
      "path": "src/config/auth0.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "5b77c3a1e4b90e60d151ae4c",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:logger | logic-score:60 | observability-score:55",
      "exports": "logger",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f7eefdde530d1ce",
      "framework": "react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "src/utils/logger.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "ea7a8482423b5f318cfceaa0",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogLevel, logger | logic-score:70 | observability-score:55",
      "exports": "LogLevel,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "381b91494caa44a4",
      "framework": "react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "src/utils/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "783a9cffe44cf227ac3473f0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "jspdf,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SendLetter | imports:../api, jspdf, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SendLetter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8fab98517fb01379",
      "framework": "react",
      "imports": "../api,jspdf,react",
      "lines": 565,
      "logic_relevance": "none",
      "name": "SendLetter",
      "normalized_name": "send-letter",
      "package_manager": "pnpm",
      "path": "src/components/SendLetter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "455f18a1852b4430c3d3a769",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Login | imports:@auth0/auth0-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Login",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "100f635a17634817",
      "framework": "react",
      "imports": "@auth0/auth0-react,react",
      "lines": 9,
      "logic_relevance": "none",
      "name": "Login",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": "src/components/Login.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ee55177d1de39be3e554848e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Campaigns | imports:../api, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Campaigns",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b5a4c8a85b807ce0",
      "framework": "react",
      "imports": "../api,react",
      "lines": 280,
      "logic_relevance": "none",
      "name": "Campaigns",
      "normalized_name": "campaigns",
      "package_manager": "pnpm",
      "path": "src/components/Campaigns.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "103fd7d0cd6c15dfd5ee57a9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReturningUserDashboard | imports:../api, ./PaymentFlow, @auth0/auth0-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ReturningUserDashboard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "30fe2eb82b116148",
      "framework": "react",
      "imports": "../api,./PaymentFlow,@auth0/auth0-react,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "ReturningUserDashboard",
      "normalized_name": "returning-user-dashboard",
      "package_manager": "pnpm",
      "path": "src/components/ReturningUserDashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fb1ca20f19b427f421bcd768",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutData | imports:./UserPortal, @auth0/auth0-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CheckoutData",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f643f915e9bcc29b",
      "framework": "react",
      "imports": "./UserPortal,@auth0/auth0-react,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "Home",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": "src/components/Home.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "c5b254c410fffbfbf063b0e4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Tracking | imports:../api, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Tracking",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9476a5a6cf347288",
      "framework": "react",
      "imports": "../api,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "Tracking",
      "normalized_name": "tracking",
      "package_manager": "pnpm",
      "path": "src/components/Tracking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bb85f43d66cd723be70bf96c",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CalculationParams, CountryType, DimensionType, ProductType, calculatePrice | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CalculationParams,CountryType,DimensionType,ProductType,calculatePrice",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9030dad5c13f940e",
      "framework": "react",
      "imports": "",
      "lines": 318,
      "logic_relevance": "none",
      "name": "Calc",
      "normalized_name": "calc",
      "package_manager": "pnpm",
      "path": "src/components/Calc.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1e882eec3af02ba1073fc086",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@auth0/auth0-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7a8cf29afcc8889c",
      "framework": "react",
      "imports": "@auth0/auth0-react,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Logout",
      "normalized_name": "logout",
      "package_manager": "pnpm",
      "path": "src/components/Logout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "cf2fd6c9b7773e6df10b896f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3858ea7ff03a037b",
      "framework": "react",
      "imports": "react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Profile",
      "normalized_name": "profile",
      "package_manager": "pnpm",
      "path": "src/components/Profile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "a7a518726a1e85a867763739",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutData | imports:../api, @auth0/auth0-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CheckoutData",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6e1ee15bdbc80c45",
      "framework": "react",
      "imports": "../api,@auth0/auth0-react,react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "CreditsCheckout",
      "normalized_name": "credits-checkout",
      "package_manager": "pnpm",
      "path": "src/components/CreditsCheckout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "005ec84b6a54ae9a9531fe0a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PriceCalculator | imports:./Calc, react | frontend-score:115 | ui-score:70",
      "exports": "PriceCalculator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ccf600a3945f499d",
      "framework": "react",
      "imports": "./Calc,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "PriceCalculator",
      "normalized_name": "price-calculator",
      "package_manager": "pnpm",
      "path": "src/components/PriceCalculator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "2d36f4eae3a33e0e633e4633",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@stripe/react-stripe-js,@stripe/stripe-js,axios,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PaymentFlow | imports:@stripe/react-stripe-js, @stripe/stripe-js, axios, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PaymentFlow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f498e0ff57215347",
      "framework": "react",
      "imports": "@stripe/react-stripe-js,@stripe/stripe-js,axios,react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "PaymentFlow",
      "normalized_name": "payment-flow",
      "package_manager": "pnpm",
      "path": "src/components/PaymentFlow.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "d7d54920739a8fd86e6c8263",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SendPostcard | imports:../api, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SendPostcard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e9cdd6e1b8d1fc25",
      "framework": "react",
      "imports": "../api,react",
      "lines": 469,
      "logic_relevance": "none",
      "name": "SendPostcard",
      "normalized_name": "send-postcard",
      "package_manager": "pnpm",
      "path": "src/components/SendPostcard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "00186264cf99012769f2f938",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewUserFlow | imports:./PaymentFlow, @auth0/auth0-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NewUserFlow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5c888e6319e36c6d",
      "framework": "react",
      "imports": "./PaymentFlow,@auth0/auth0-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "NewUserFlow",
      "normalized_name": "new-user-flow",
      "package_manager": "pnpm",
      "path": "src/components/NewUserFlow.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "5319c126e536b653711855c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@stripe/react-stripe-js,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PaymentForm | imports:@stripe/react-stripe-js, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PaymentForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "880f19857d744c1d",
      "framework": "react",
      "imports": "@stripe/react-stripe-js,react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "PaymentForm",
      "normalized_name": "payment-form",
      "package_manager": "pnpm",
      "path": "src/components/PaymentForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "bb1c308cfbccba5b89fee21d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Addresses | imports:../api, @auth0/auth0-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Addresses",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06c4bcb3a957bb34",
      "framework": "react",
      "imports": "../api,@auth0/auth0-react,react",
      "lines": 198,
      "logic_relevance": "none",
      "name": "Addresses",
      "normalized_name": "addresses",
      "package_manager": "pnpm",
      "path": "src/components/Addresses.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a47ff6de213818927d56fcef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserPortal | imports:./NewUserFlow, ./ReturningUserDashboard, @auth0/auth0-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UserPortal",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2f1e48999bb2a460",
      "framework": "react",
      "imports": "./NewUserFlow,./ReturningUserDashboard,@auth0/auth0-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "UserPortal",
      "normalized_name": "user-portal",
      "package_manager": "pnpm",
      "path": "src/components/UserPortal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "3d39c40c31bf523a1e287d5a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "express,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express, stripe | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ae403a22026da7d8",
      "framework": "react",
      "imports": "express,stripe",
      "lines": 28,
      "logic_relevance": "none",
      "name": "create-payment-intent",
      "normalized_name": "create-payment-intent",
      "package_manager": "pnpm",
      "path": "src/api/create-payment-intent.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "9fa0ca6f6036ae854f862f02",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "express,express-serve-static-core,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:express, express-serve-static-core, stripe | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a946d9f10b0dc4f4",
      "framework": "react",
      "imports": "express,express-serve-static-core,stripe",
      "lines": 47,
      "logic_relevance": "none",
      "name": "get-credits",
      "normalized_name": "get-credits",
      "package_manager": "pnpm",
      "path": "src/api/get-credits.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8107f5ba5f8ab4aab9c49fb0",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:authConfig | backend-score:55 | security-score:55",
      "exports": "authConfig",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "19f0fcf3f2e19a45",
      "framework": "react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "auth0",
      "normalized_name": "auth0",
      "package_manager": "pnpm",
      "path": "src/api/auth/auth0.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-client",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f3b22e866ffab9bb0340a73c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "196614545a7c0a93",
      "framework": "next-react",
      "imports": "",
      "lines": 1385,
      "logic_relevance": "none",
      "name": "types_db",
      "normalized_name": "types-db",
      "package_manager": "pnpm",
      "path": "types_db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "73a311ae5ca76f11476f72bb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3b2772d1243102c",
      "framework": "next-react",
      "imports": "",
      "lines": 4645,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "2e28b8d511a4433238fad8c7",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/utils,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/utils/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db68231624f1b843",
      "framework": "next-react",
      "imports": "@/utils/supabase/middleware,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "security",
      "component_id": "f32f24b58594d56f7b515cd8",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for design-system; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate, tailwindcss/defaultTheme | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "789dd1c156aeea0e",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate,tailwindcss/defaultTheme",
      "lines": 40,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "68d31381b72870a64ea76d77",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "test mode",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:test mode | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ecc6c9d7504994de",
      "framework": "next-react",
      "imports": "test mode",
      "lines": 259,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,security,automation",
      "component_id": "86277f123b4964a04bf76bfa",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a57f39f8b55686c",
      "framework": "next-react",
      "imports": "",
      "lines": 1957,
      "logic_relevance": "primary",
      "name": "postman_schema",
      "normalized_name": "postman-schema",
      "package_manager": "pnpm",
      "path": "postman_schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f98c807a19748cfac17d6da6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "37ebc2aba818561b",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c35e093b2f10c61102501a7e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiResult, Campaign, MailItemResponse, Recipient, setAuthToken | imports:../logger | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiResult,Campaign,MailItemResponse,Recipient,setAuthToken",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cff37a81c39ba6e1",
      "framework": "next-react",
      "imports": "../logger",
      "lines": 241,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": ".archive/api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9a53c1411b5dacdcc9efbb36",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StannpClientInit | imports:../utils/stannp/index, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "StannpClientInit",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "df5ae0864ff4cf46",
      "framework": "next-react",
      "imports": "../utils/stannp/index,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "StannpClientInit",
      "normalized_name": "stannp-client-init",
      "package_manager": "pnpm",
      "path": ".archive/StannpClientInit.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "59c6aa39325be272a87485a8",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MailThingApp | imports:@/utils/stannp/api, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "MailThingApp",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b4143cff8754748",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".archive/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "086bee4305dbfb9b64415690",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/utils,next",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/utils/stannp/api, next | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f2a71cd27454f8f",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "recipients",
      "normalized_name": "recipients",
      "package_manager": "pnpm",
      "path": ".archive/stannp/recipients.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "44866c7f0c440b9af3001354",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../api | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b04a339cdb5be7f9",
      "framework": "next-react",
      "imports": "../api",
      "lines": 25,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": ".archive/tracking/index.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "076787af3bc27601331da825",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "jspdf,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SendLetter | imports:../../../utils/stannp/api, jspdf, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SendLetter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48440d91e45fa396",
      "framework": "next-react",
      "imports": "../../../utils/stannp/api,jspdf,react",
      "lines": 566,
      "logic_relevance": "none",
      "name": "SendLetter",
      "normalized_name": "send-letter",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/SendLetter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8f1b4a6c3efcc824625b0255",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Login | imports:@auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Login",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "100f635a17634817",
      "framework": "next-react",
      "imports": "@auth0/auth0-react,react",
      "lines": 9,
      "logic_relevance": "none",
      "name": "Login",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Login.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5e12f8341595d3c70560bcb8",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthStatus | imports:./Login, ./Logout, @auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AuthStatus",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a0c850ab83b8723",
      "framework": "next-react",
      "imports": "./Login,./Logout,@auth0/auth0-react,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "AuthStatus",
      "normalized_name": "auth-status",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/AuthStatus.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7e1354b6688d9ff688aecf26",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Campaigns | imports:@/utils/stannp/api, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Campaigns",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c29cb8170824a485",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,react",
      "lines": 299,
      "logic_relevance": "none",
      "name": "Campaigns",
      "normalized_name": "campaigns",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Campaigns.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0a0f53b5b20385126b069f3c",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReturningUserDashboard | imports:../../../utils/stannp/api, ./PaymentFlow, @auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ReturningUserDashboard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "22700d3ed743da89",
      "framework": "next-react",
      "imports": "../../../utils/stannp/api,./PaymentFlow,@auth0/auth0-react,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "ReturningUserDashboard",
      "normalized_name": "returning-user-dashboard",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/ReturningUserDashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b108f2424734ce61af5596e3",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutData | imports:./UserPortal, @auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CheckoutData",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f643f915e9bcc29b",
      "framework": "next-react",
      "imports": "./UserPortal,@auth0/auth0-react,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "Home",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Home.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "77ecc7498d21fe8070b076f1",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Tracking | imports:@/utils/stannp/tracking, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "Tracking",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3486ad2a6e9f5ce",
      "framework": "next-react",
      "imports": "@/utils/stannp/tracking,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "Tracking",
      "normalized_name": "tracking",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Tracking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "4198508defe49675d22b75a0",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/utils",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/utils/calc | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a978709bf3235ca",
      "framework": "next-react",
      "imports": "@/utils/calc",
      "lines": 12,
      "logic_relevance": "none",
      "name": "Calc",
      "normalized_name": "calc",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Calc.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "eb3b74580ef2d7d98790886f",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7a8cf29afcc8889c",
      "framework": "next-react",
      "imports": "@auth0/auth0-react,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Logout",
      "normalized_name": "logout",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Logout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "68b5aae5b11ec4af118da626",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3858ea7ff03a037b",
      "framework": "next-react",
      "imports": "react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Profile",
      "normalized_name": "profile",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Profile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "1fd23347c8c38d5ae097ddb7",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutData | imports:../../../utils/stannp/api, @auth0/auth0-react, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "CheckoutData",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "154785e97180acbc",
      "framework": "next-react",
      "imports": "../../../utils/stannp/api,@auth0/auth0-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "CreditsCheckout",
      "normalized_name": "credits-checkout",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/CreditsCheckout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "df800a3fdcb4967108671a85",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@stripe/react-stripe-js,@stripe/stripe-js,axios,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PaymentFlow | imports:@stripe/react-stripe-js, @stripe/stripe-js, axios, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PaymentFlow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d1435a9add7213dc",
      "framework": "next-react",
      "imports": "@stripe/react-stripe-js,@stripe/stripe-js,axios,react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "PaymentFlow",
      "normalized_name": "payment-flow",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/PaymentFlow.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "804298ba25d2b798b8dbd0ae",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SendPostcard | imports:../../../utils/stannp/api, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SendPostcard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6328495d48046b6e",
      "framework": "next-react",
      "imports": "../../../utils/stannp/api,react",
      "lines": 470,
      "logic_relevance": "none",
      "name": "SendPostcard",
      "normalized_name": "send-postcard",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/SendPostcard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "297bbb0598fe8062321cd49e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewUserFlow | imports:./PaymentFlow, @auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NewUserFlow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5c888e6319e36c6d",
      "framework": "next-react",
      "imports": "./PaymentFlow,@auth0/auth0-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "NewUserFlow",
      "normalized_name": "new-user-flow",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/NewUserFlow.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "95c44e900563c31af40a4b74",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@stripe/react-stripe-js,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PaymentForm | imports:@stripe/react-stripe-js, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PaymentForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "880f19857d744c1d",
      "framework": "next-react",
      "imports": "@stripe/react-stripe-js,react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "PaymentForm",
      "normalized_name": "payment-form",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/PaymentForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0797e61c6fde94ecbfa16706",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Addresses | imports:@/utils/stannp/api, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Addresses",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92e300e7d5e12bc4",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "Addresses",
      "normalized_name": "addresses",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/Addresses.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "045f5df0de50aa4170bdd1ad",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@auth0/auth0-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserPortal | imports:./NewUserFlow, ./ReturningUserDashboard, @auth0/auth0-react, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UserPortal",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2f1e48999bb2a460",
      "framework": "next-react",
      "imports": "./NewUserFlow,./ReturningUserDashboard,@auth0/auth0-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "UserPortal",
      "normalized_name": "user-portal",
      "package_manager": "pnpm",
      "path": ".archive/StannpForms/UserPortal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,ai",
      "component_id": "142787318f5e418f68b180bc",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/Footer, @/components/ui/Navbar, @/components/ui/Toasts/toaster, @/utils/helpers, next, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e51e2ddbdbd257bc",
      "framework": "next-react",
      "imports": "@/components/ui/Footer,@/components/ui/Navbar,@/components/ui/Toasts/toaster,@/utils/helpers,next,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c1a11719cd9f8c9b1bdfe0f1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/utils/supabase/queries, @/utils/supabase/server | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9b5bfb39fd3e2fb",
      "framework": "next-react",
      "imports": "@/utils/supabase/queries,@/utils/supabase/server",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "aac3af9f5b4a3c02bfef5848",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/utils/helpers, @/utils/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "423b6cdfc6f1d88a",
      "framework": "next-react",
      "imports": "@/utils/helpers,@/utils/supabase/server,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/reset_password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "7d82c07fa06f43ac8dd67e76",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/utils/helpers, @/utils/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac87006a4844d8d9",
      "framework": "next-react",
      "imports": "@/utils/helpers,@/utils/supabase/server,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "d46c6e73de65f338c193e811",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignIn | imports:@/utils/auth-helpers/settings, next/headers, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SignIn",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4da740e2fddbf1fb",
      "framework": "next-react",
      "imports": "@/utils/auth-helpers/settings,next/headers,next/navigation",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "08218dafae81886746ffb9db",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignIn | imports:@/components/icons/Logo, @/components/ui/AuthForms/EmailSignIn, @/components/ui/AuthForms/ForgotPassword, @/components/ui/AuthForms/OauthSignIn, @/components/ui/AuthForms/PasswordSignIn, @/components/ui/AuthForms/Separator, @/components/ui/AuthForms/Signup, @/components/ui/AuthForms/UpdatePassword | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignIn",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a5eed4ee53c4861",
      "framework": "next-react",
      "imports": "@/components/icons/Logo,@/components/ui/AuthForms/EmailSignIn,@/components/ui/AuthForms/ForgotPassword,@/components/ui/AuthForms/OauthSignIn,@/components/ui/AuthForms/PasswordSignIn,@/components/ui/AuthForms/Separator,@/components/ui/AuthForms/Signup,@/components/ui/AuthForms/UpdatePassword,@/components/ui/Card,@/utils/auth-helpers/settings,@/utils/supabase/server,next/headers,next/navigation",
      "lines": 112,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signin/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "c7654dff5efc97a311a30ed3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/utils/stripe/config, @/utils/supabase/admin, stripe | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46594e21cf26c737",
      "framework": "next-react",
      "imports": "@/utils/stripe/config,@/utils/supabase/admin,stripe",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "e7e3320aab9c4407b432dfb6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/utils/stripe/config, @/utils/supabase/admin, stripe | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46594e21cf26c737",
      "framework": "next-react",
      "imports": "@/utils/stripe/config,@/utils/supabase/admin,stripe",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4fa0020ff85f65a21de90167",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Account | imports:@/components/ui/AccountForms/CustomerPortalForm, @/components/ui/AccountForms/EmailForm, @/components/ui/AccountForms/NameForm, @/utils/supabase/queries, @/utils/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Account",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d80294413b8959b3",
      "framework": "next-react",
      "imports": "@/components/ui/AccountForms/CustomerPortalForm,@/components/ui/AccountForms/EmailForm,@/components/ui/AccountForms/NameForm,@/utils/supabase/queries,@/utils/supabase/server,next/navigation",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/account/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d850af981215772ae7eecdde",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PricingPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e6dc3c38a10fa12",
      "framework": "next-react",
      "imports": "react",
      "lines": 174,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/pricing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "c3ad11f882315be2992df920",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MailThingIndexPage | imports:next/link | frontend-score:115 | ui-score:55",
      "exports": "MailThingIndexPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59de55032a88d33a",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 56,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mailthing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "15c6c33c9115098a43f6f4ba",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:LettersPage | imports:@/utils/stannp/api, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LettersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c04a9baff2ce120e",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mailthing/letters/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "9b8e76073280f9ffb408547a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostcardsPage | imports:@/utils/stannp/api, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PostcardsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36d01a0de3029991",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mailthing/postcards/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "882b46a90714638aa95b843d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddressesPage | imports:@/utils/stannp/api, @/utils/supabase/client, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AddressesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e810f020f2d2b6c7",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,@/utils/supabase/client,react",
      "lines": 409,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mailthing/addresses/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "30f3255a222c1cf0365f87aa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CampaignsPage | imports:@/utils/stannp/api, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CampaignsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa5c592fb96caef2",
      "framework": "next-react",
      "imports": "@/utils/stannp/api,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mailthing/campaigns/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "ff314a1f5015308d3792ed8e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../../../utils/calc, react | frontend-score:115 | ui-score:70",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6172aeed2391caed",
      "framework": "next-react",
      "imports": "../../../utils/calc,react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mailthing/pricing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "c771a70e8f5dfbe0236a82b9",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/types,@/types_db",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateTrialEndUnixTimestamp, getErrorRedirect, getStatusRedirect, getURL, postData, toDateTime | imports:./logger, @/types/stannp, @/types_db | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "calculateTrialEndUnixTimestamp,getErrorRedirect,getStatusRedirect,getURL,postData,toDateTime",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "516832552bef701e",
      "framework": "next-react",
      "imports": "./logger,@/types/stannp,@/types_db",
      "lines": 211,
      "logic_relevance": "primary",
      "name": "helpers",
      "normalized_name": "helpers",
      "package_manager": "pnpm",
      "path": "utils/helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "0cdeb960ac15edaade75a152",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/utils",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/utils/supabase/server | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a850adbdf5753bea",
      "framework": "next-react",
      "imports": "@/utils/supabase/server",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "credits",
      "normalized_name": "credits",
      "package_manager": "pnpm",
      "path": "utils/credits.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d8bd711b208a83ce8ad64618",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "74e8fe9d0d680c44",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "cn",
      "normalized_name": "cn",
      "package_manager": "pnpm",
      "path": "utils/cn.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,security",
      "component_id": "3cccbfbd711f7633fb759ac2",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CalculationParams, CountryType, DimensionType, ProductType, calculatePrice | logic-score:85 | security-score:55",
      "exports": "CalculationParams,CountryType,DimensionType,ProductType,calculatePrice",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "385a3506d9d34033",
      "framework": "next-react",
      "imports": "",
      "lines": 185,
      "logic_relevance": "primary",
      "name": "calc",
      "normalized_name": "calc",
      "package_manager": "pnpm",
      "path": "utils/calc.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,ui,observability,security",
      "component_id": "d47d1466d5b2cfbecd487ea3",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getErrorRedirect, getStatusRedirect | logic-score:85 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "getErrorRedirect,getStatusRedirect",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9a3129cbedb8bbf5",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "utils/toast.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "0d8b678b0d9a0ce8f5217f1c",
      "component_kind": "utility",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateTrialEndUnixTimestamp, toDateTime | logic-score:85",
      "exports": "calculateTrialEndUnixTimestamp,toDateTime",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6268774c8e028dcd",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "utils/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "310e4a557217fcd32ea0ff31",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogLevel, createLogger, logger | logic-score:85 | observability-score:55 | ai-score:45 | uses-env",
      "exports": "LogLevel,createLogger,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "20bb5c3f4394122e",
      "framework": "next-react",
      "imports": "",
      "lines": 215,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "utils/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "f60ea3f4576922722236c55b",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResult, Campaign, LetterData, PostcardData, Recipient | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ApiResult,Campaign,LetterData,PostcardData,Recipient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a23dd4580e7e2c3e",
      "framework": "next-react",
      "imports": "",
      "lines": 255,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "utils/stannp/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "bdf966740d5626689fe146d1",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient, updateSession | imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createClient,updateSession",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f51f6267a6e6f190",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "utils/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "38fc4e4ce40f8fbda945ec1a",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./server | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "98a8f0581a43bf43",
      "framework": "next-react",
      "imports": "./server",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "queries",
      "normalized_name": "queries",
      "package_manager": "pnpm",
      "path": "utils/supabase/queries.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "cc874da0c9c0c165f9439ddf",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/utils,@supabase/supabase-js,stripe,types_db",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createOrRetrieveCustomer, deletePriceRecord, deleteProductRecord, manageSubscriptionStatusChange, upsertPriceRecord, upsertProductRecord | imports:@/utils/helpers, @/utils/stripe/config, @supabase/supabase-js, stripe, types_db | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "createOrRetrieveCustomer,deletePriceRecord,deleteProductRecord,manageSubscriptionStatusChange,upsertPriceRecord,upsertProductRecord",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ebe4ae5b9954cdc3",
      "framework": "next-react",
      "imports": "@/utils/helpers,@/utils/stripe/config,@supabase/supabase-js,stripe,types_db",
      "lines": 292,
      "logic_relevance": "primary",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "pnpm",
      "path": "utils/supabase/admin.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "d17d868983efd1c25bfe67f4",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/types_db,@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient, supabase | imports:@/types_db, @supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient,supabase",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5736fb824a890cdb",
      "framework": "next-react",
      "imports": "@/types_db,@supabase/ssr",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "utils/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "e3d43130127fbf93ef74090e",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/types_db,@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@/types_db, @supabase/ssr, next/headers | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "44cffbdb4b22b5af",
      "framework": "next-react",
      "imports": "@/types_db,@supabase/ssr,next/headers",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "utils/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "795355b15c535dce0dd15380",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getAuthTypes, getDefaultSignInView, getRedirectMethod, getViewTypes | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "getAuthTypes,getDefaultSignInView,getRedirectMethod,getViewTypes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "42ea7d68dd7adf6c",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "utils/auth-helpers/settings.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "a778ebd72a6dc33da4512e2b",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/utils,@supabase/supabase-js,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./server, @/utils/helpers, @/utils/supabase/client, @supabase/supabase-js, next/dist/shared/lib/app-router-context.shared-runtime | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe36dbaf094f84a2",
      "framework": "next-react",
      "imports": "./server,@/utils/helpers,@/utils/supabase/client,@supabase/supabase-js,next/dist/shared/lib/app-router-context.shared-runtime",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "utils/auth-helpers/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "293810bec78973f45eaa0821",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/utils,next,utils",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SignOut | imports:@/utils/supabase/server, next/headers, next/navigation, utils/auth-helpers/settings, utils/helpers | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "SignOut",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fbef5b91e68e1294",
      "framework": "next-react",
      "imports": "@/utils/supabase/server,next/headers,next/navigation,utils/auth-helpers/settings,utils/helpers",
      "lines": 336,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "utils/auth-helpers/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,integration,security",
      "component_id": "1e40f5a1c3f609f1849d97e7",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@stripe/stripe-js",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getStripe | imports:@stripe/stripe-js | logic-score:60 | integration-score:55 | security-score:55 | uses-env",
      "exports": "getStripe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f03cf8f7bc3a16c5",
      "framework": "next-react",
      "imports": "@stripe/stripe-js",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "utils/stripe/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "8703ce43f69b255461a3556b",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/utils,micro,next,stripe",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:config | imports:@/utils/credits, micro, next, stripe | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c85519d03c700848",
      "framework": "next-react",
      "imports": "@/utils/credits,micro,next,stripe",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "webhook",
      "normalized_name": "webhook",
      "package_manager": "pnpm",
      "path": "utils/stripe/webhook.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,logic",
      "component_id": "f074568d8fe79749bc0b4f3c",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "stripe",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:stripe | imports:stripe | integration-score:55 | security-score:55 | logic-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a4868f6501506b9e",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "utils/stripe/config.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,integration,security",
      "component_id": "b35449009c7b2ca240aa129b",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/types_db,@/utils,stripe",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/types_db, @/utils/helpers, @/utils/stripe/config, @/utils/supabase/admin, @/utils/supabase/server, stripe | logic-score:85 | backend-score:55 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6e2b9ea82cf38d0",
      "framework": "next-react",
      "imports": "@/types_db,@/utils/helpers,@/utils/stripe/config,@/utils/supabase/admin,@/utils/supabase/server,stripe",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "utils/stripe/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "77bf34efad47ce5857edb7f5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "157b27a91969e3bf",
      "framework": "next-react",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "supabase/config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ai",
      "component_id": "987c9b04451b2d91f159b500",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "481e234c667dd890",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "35a3c72fce2103b3429c3d5b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/utils",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Navbar | imports:./Navbar.module.css, ./Navlinks, @/utils/supabase/server | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Navbar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a45441bb38aea752",
      "framework": "next-react",
      "imports": "./Navbar.module.css,./Navlinks,@/utils/supabase/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Navbar",
      "normalized_name": "navbar",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/Navbar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2bc39f2e5cbb625d63624a05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Navlinks | imports:./Navbar.module.css, @/components/icons/Logo, @/utils/auth-helpers/client, @/utils/auth-helpers/server, @/utils/auth-helpers/settings, next/link, next/navigation | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Navlinks",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "959af636701338de",
      "framework": "next-react",
      "imports": "./Navbar.module.css,@/components/icons/Logo,@/utils/auth-helpers/client,@/utils/auth-helpers/server,@/utils/auth-helpers/settings,next/link,next/navigation",
      "lines": 67,
      "logic_relevance": "none",
      "name": "Navlinks",
      "normalized_name": "navlinks",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/Navlinks.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "d395704f0d692900d2c54cc4",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Navbar | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "79da1fbc7b420464",
      "framework": "next-react",
      "imports": "./Navbar",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability",
      "component_id": "9110f73211c2beb2d7c653c7",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72f69e2511163b0b",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "Navbar.module",
      "normalized_name": "navbar-module",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/Navbar.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "41fa5bd289189ad275276872",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Footer | imports:@/components/icons/GitHub, @/components/icons/Logo, next/link | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "22ec452c8b83c7c0",
      "framework": "next-react",
      "imports": "@/components/icons/GitHub,@/components/icons/Logo,next/link",
      "lines": 75,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/ui/Footer/Footer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "d5b67765e959ab84fb4d8fa8",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Footer | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "003a4e894da1ee5f",
      "framework": "next-react",
      "imports": "./Footer",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Footer/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6c4e32fd060e644d1600a95e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:PasswordSignIn | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "PasswordSignIn",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6eaa22d85207a167",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "PasswordSignIn",
      "normalized_name": "password-sign-in",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/PasswordSignIn.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability,security",
      "component_id": "cc9eaea3f072b5c3583a39cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,@supabase/supabase-js,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:OauthSignIn | imports:@/components/ui/Button, @/utils/auth-helpers/client, @supabase/supabase-js, lucide-react, react | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "OauthSignIn",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6b64907dbe44c87a",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@supabase/supabase-js,lucide-react,react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "OauthSignIn",
      "normalized_name": "oauth-sign-in",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/OauthSignIn.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bee3c5fe29e63b9df8511832",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SignUp | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "SignUp",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dab67b56c1c522b5",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/Signup.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "199fd6d14f4be44757aaca29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:UpdatePassword | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "UpdatePassword",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "43a605036bb7998e",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/navigation,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "UpdatePassword",
      "normalized_name": "update-password",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/UpdatePassword.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4113fce4ffb17d57983f141d",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | ui-score:125 | frontend-score:85 | observability-score:55",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0741cfc69ab95a8a",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "Separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/Separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4d143c148df19d2e19a078ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:EmailSignIn | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "EmailSignIn",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4704796f532ce19b",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "EmailSignIn",
      "normalized_name": "email-sign-in",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/EmailSignIn.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3b3e7ba6e3aad63dfc6c0136",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ForgotPassword | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ForgotPassword",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9c3d1528069c16c9",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "ForgotPassword",
      "normalized_name": "forgot-password",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/ForgotPassword.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "cf7b9601b59ef897bb99ca64",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card | imports:react | ui-score:140 | frontend-score:115",
      "exports": "Card",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "32506b8223f122cd",
      "framework": "next-react",
      "imports": "react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/Card/Card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "2011b482b9ee2c998636c992",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Card | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "651b69cbd1fb3607",
      "framework": "next-react",
      "imports": "./Card",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Card/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "ea36181fbcd88e91dbb22577",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Input | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "558c51666fb09734",
      "framework": "next-react",
      "imports": "./Input",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Input/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a1f6c8f1cc570e78b61bf088",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "classnames,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:./Input.module.css, classnames, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b198ce966b0bc1b0",
      "framework": "next-react",
      "imports": "./Input.module.css,classnames,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "Input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/Input/Input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,ui",
      "component_id": "c71d5331eb3aeade30918653",
      "component_kind": "ui-primitive",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ad1b7110d82df8ef",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Input.module",
      "normalized_name": "input-module",
      "package_manager": "pnpm",
      "path": "components/ui/Input/Input.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend,observability,security",
      "component_id": "d3134516eb7328338335941c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/Toasts/toast, @/components/ui/Toasts/use-toast, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1191063eebc67b1b",
      "framework": "next-react",
      "imports": "@/components/ui/Toasts/toast,@/components/ui/Toasts/use-toast,next/navigation,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/Toasts/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "a41c4c4b30bb1e833974e2a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/Toasts/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "300b3da3a4943b67",
      "framework": "next-react",
      "imports": "@/components/ui/Toasts/toast,react",
      "lines": 192,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/Toasts/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "29c0fe9d7f5a3764c555be1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/utils/cn, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1cab29f62a484606",
      "framework": "next-react",
      "imports": "@/utils/cn,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/Toasts/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2d88332d307d54e8ef0fbe3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:EmailForm | imports:@/components/ui/Button, @/components/ui/Card, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "EmailForm",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "13d642b4fd19ded7",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/Card,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/navigation,react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "EmailForm",
      "normalized_name": "email-form",
      "package_manager": "pnpm",
      "path": "components/ui/AccountForms/EmailForm.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b7c649b551af275d610b1813",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NameForm | imports:@/components/ui/Button, @/components/ui/Card, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NameForm",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3eaf6d5358444223",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/Card,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/navigation,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "NameForm",
      "normalized_name": "name-form",
      "package_manager": "pnpm",
      "path": "components/ui/AccountForms/NameForm.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "cf02a14e7286e81d32d3ab28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/types_db,@/utils,next,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:CustomerPortalForm | imports:@/components/ui/Button, @/components/ui/Card, @/types_db, @/utils/stripe/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115",
      "exports": "CustomerPortalForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c1ccfddc67214c94",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/Card,@/types_db,@/utils/stripe/server,next/link,next/navigation,react",
      "lines": 80,
      "logic_relevance": "none",
      "name": "CustomerPortalForm",
      "normalized_name": "customer-portal-form",
      "package_manager": "pnpm",
      "path": "components/ui/AccountForms/CustomerPortalForm.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d40535dd91eb1f19a8012a04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:LoadingDots | imports:./LoadingDots.module.css | ui-score:125 | frontend-score:85 | observability-score:55",
      "exports": "LoadingDots",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "398a85c6368a6145",
      "framework": "next-react",
      "imports": "./LoadingDots.module.css",
      "lines": 13,
      "logic_relevance": "none",
      "name": "LoadingDots",
      "normalized_name": "loading-dots",
      "package_manager": "pnpm",
      "path": "components/ui/LoadingDots/LoadingDots.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability,security",
      "component_id": "55659abcc9436484b829da98",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "08a265b10b4ffcca",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "LoadingDots.module",
      "normalized_name": "loading-dots-module",
      "package_manager": "pnpm",
      "path": "components/ui/LoadingDots/LoadingDots.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "4f3022e2a37ae16f2194d0e9",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./LoadingDots | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3c3360529638ea1e",
      "framework": "next-react",
      "imports": "./LoadingDots",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/LoadingDots/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,ui",
      "component_id": "32f63ad0a95ea6ea96ad18c3",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bb8c258ba0d35586",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "Button.module",
      "normalized_name": "button-module",
      "package_manager": "pnpm",
      "path": "components/ui/Button/Button.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "d349b452f515f7481f2cea42",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Button | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a65c3c2970dacef3",
      "framework": "next-react",
      "imports": "./Button",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Button/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend",
      "component_id": "e6c4216ad36920582fa7bb4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,classnames,react,react-merge-refs",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button | imports:./Button.module.css, @/components/ui/LoadingDots, classnames, react, react-merge-refs | ui-score:140 | frontend-score:115",
      "exports": "Button",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "93ed133b7cfa0bf2",
      "framework": "next-react",
      "imports": "./Button.module.css,@/components/ui/LoadingDots,classnames,react,react-merge-refs",
      "lines": 66,
      "logic_relevance": "none",
      "name": "Button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/Button/Button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "97a40700bc3dbfe1caaa8348",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/types_db,@/utils,@supabase/supabase-js,classnames,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pricing | imports:@/components/ui/Button, @/types_db, @/utils/helpers, @/utils/stripe/client, @/utils/stripe/server, @supabase/supabase-js, classnames, next/navigation | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Pricing",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1d867c7dc03d48e6",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/types_db,@/utils/helpers,@/utils/stripe/client,@/utils/stripe/server,@supabase/supabase-js,classnames,next/navigation,react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "Pricing",
      "normalized_name": "pricing",
      "package_manager": "pnpm",
      "path": "components/ui/Pricing/Pricing.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,integration",
      "component_id": "a39d45ad5cff0ff61956b482",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GitHub | frontend-score:85 | ui-score:55 | integration-score:55",
      "exports": "GitHub",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf8ff5291ced085b",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "GitHub",
      "normalized_name": "git-hub",
      "package_manager": "pnpm",
      "path": "components/icons/GitHub.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "416c22c2f250d5900b2d95c9",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Logo | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Logo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "854edb0c52fcf439",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "Logo",
      "normalized_name": "logo",
      "package_manager": "pnpm",
      "path": "components/icons/Logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "integration",
      "component_id": "5126afa9ff0c9efe3cf3b15d",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for seo-and-metadata; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fc1133469c0600cc",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "stripe-fixtures",
      "normalized_name": "stripe-fixtures",
      "package_manager": "pnpm",
      "path": "fixtures/stripe-fixtures.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__mailthing-main",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d7f2c9f94b650b3b60b322d3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50155ee1b5133ccf",
      "framework": "next-react",
      "imports": "",
      "lines": 6688,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "c512d19bee3a9b825b5e2295",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "621558241f4b2263",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "30a2b5ff9459befb5932812d",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "98b9cf36d9c902e3",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c0917d0517ab7c5ee9e5e8e6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8112372747359fcb",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "21e9b5ae334153ee5e41511f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,geist,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, geist/font/mono, geist/font/sans, next, next/font/google, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "df1383c77feb6653",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,geist/font/mono,geist/font/sans,next,next/font/google,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bd888f70e3bcb8af0ec3a76e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/booking-form, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "084557edd5f74a80",
      "framework": "next-react",
      "imports": "@/components/booking-form,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 363,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "7d7267710ae5f1d418d147a1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c207c78def2b1d0a",
      "framework": "next-react",
      "imports": "",
      "lines": 236,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2a6850b2ab48422d8ffc0ea9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67e834013034eda8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 132,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f58e99e6e05a6709dca0642d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a131e8bececced0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 42,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "91efaf7d8ebdbd65edb13036",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "acd8f5b33ddf615f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "fc2d201243ef244dc0083e64",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShopPage | imports:@/components/site-footer, @/components/site-nav, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/image | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ShopPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cc59713dc2db7f6",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-nav,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/image,next/link",
      "lines": 113,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/shop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "456e92317171449adf5c9c9a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductDetailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/view-tracker, @/lib/supabase/server, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3cc1a78c4f690088",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/view-tracker,@/lib/supabase/server,lucide-react,next/image,next/link,next/navigation",
      "lines": 177,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/shop/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "1ff68b765aaee675d22e2faf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage | imports:@/components/site-footer, @/components/site-nav, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AboutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4ac5cfaa05e78d3",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-nav,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 126,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d3bb7357e09f0862def351bd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5fbb1ce19a90fe7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 202,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a9d4dfa4c00faa772b7754e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardProductsPage | imports:@/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardProductsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74a19b12c546a414",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 91,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/products/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1eee5e04fd0b64a5050df840",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewProductPage | imports:@/components/product-form, @/components/ui/button, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a3667f5d9112595",
      "framework": "next-react",
      "imports": "@/components/product-form,@/components/ui/button,@/lib/supabase/server,next/link,next/navigation",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/products/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1639874d8f493cbcca954258",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EditProductPage | imports:@/components/product-edit-form, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EditProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f48ec4192ef298cf",
      "framework": "next-react",
      "imports": "@/components/product-edit-form,@/lib/supabase/server,next/navigation",
      "lines": 40,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/products/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4c166fb1b17f3f8aa32c0df8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/profile-form, @/components/ui/button, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a11c9f38814831a",
      "framework": "next-react",
      "imports": "@/components/profile-form,@/components/ui/button,@/lib/supabase/server,next/link,next/navigation",
      "lines": 46,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5d0b299c6b0c8ccbda262979",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewNewsPage | imports:@/components/news-form, @/components/ui/button, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewNewsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "355cb0d958e7323b",
      "framework": "next-react",
      "imports": "@/components/news-form,@/components/ui/button,@/lib/supabase/server,next/link,next/navigation",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/news/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b627b223e84e4af21dfa1c03",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardEventsPage | imports:@/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardEventsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd739b1374faaebd",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 94,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4b9c00afb0ec32dcfbdc8826",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewEventPage | imports:@/components/event-form, @/components/ui/button, @/lib/supabase/server, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewEventPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c36963608c868b00",
      "framework": "next-react",
      "imports": "@/components/event-form,@/components/ui/button,@/lib/supabase/server,next/link,next/navigation",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/events/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "52b6a8a862486a4024e70cb8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EditEventPage | imports:@/components/event-edit-form, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EditEventPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7003a900ab1c922",
      "framework": "next-react",
      "imports": "@/components/event-edit-form,@/lib/supabase/server,next/navigation",
      "lines": 40,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/events/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f0c196695666f41a67331a27",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsPage | imports:@/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b5941534ec49617b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 164,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "64b4033d29b18fffb9c62907",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsPage | imports:@/components/site-footer, @/components/site-nav, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58c573b541fb46a9",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-nav,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/image,next/link",
      "lines": 136,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/news/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "7b88e4942ba6a9427097265d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsArticlePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/image, next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "NewsArticlePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae229b430e8acef4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/image,next/link,next/navigation",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/news/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "ff62110c08bc9ac010c2a847",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b96708b14516ae33",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bookings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "db4e06921247d77a144ffc1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e5e33670004e0ee7",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,crypto,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/track-view/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "496560af232f7bb7e8c2d6c8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsPage | imports:@/components/site-footer, @/components/site-nav, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EventsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6dc6e8cc02fb210",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-nav,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/image,next/link",
      "lines": 135,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "95368cf707fc51a3aab953e6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventDetailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/view-tracker, @/lib/supabase/server, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "EventDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f05be91225c5d1b7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/view-tracker,@/lib/supabase/server,lucide-react,next/image,next/link,next/navigation",
      "lines": 192,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/events/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a19ff0f3ba63ac99888a7dcd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformersPage | imports:@/components/site-footer, @/components/site-nav, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PerformersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "060786e53fc0d764",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-nav,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/image,next/link",
      "lines": 159,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/performers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a93cd1307b9a5bd6e68377ea",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformerProfilePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/view-tracker, @/lib/supabase/server, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PerformerProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1264165c87fae9c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/view-tracker,@/lib/supabase/server,lucide-react,next/image,next/link,next/navigation",
      "lines": 232,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/performers/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "3781533bdec671622409da9a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "63d9feac1044b9625ac668ec",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "a4907381ede79eac3855c3af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NewsForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "499c76aad8a60f83",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 148,
      "logic_relevance": "none",
      "name": "news-form",
      "normalized_name": "news-form",
      "package_manager": "pnpm",
      "path": "components/news-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "376300de08a45aee7a65c74a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ViewTracker | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ViewTracker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "09ec0b69787aa280",
      "framework": "next-react",
      "imports": "react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "view-tracker",
      "normalized_name": "view-tracker",
      "package_manager": "pnpm",
      "path": "components/view-tracker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4c126f3c6b9ed8a8cc90d332",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfileForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70",
      "exports": "ProfileForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b00f10e6080d680e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "profile-form",
      "normalized_name": "profile-form",
      "package_manager": "pnpm",
      "path": "components/profile-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "053cd065e6a345b10ddda7fd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventEditForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70",
      "exports": "EventEditForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85a382550c5b263e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 280,
      "logic_relevance": "none",
      "name": "event-edit-form",
      "normalized_name": "event-edit-form",
      "package_manager": "pnpm",
      "path": "components/event-edit-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0447e5b80d2952cc644b589d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "537906c6cbf406a4",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 108,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "43ec52ad4b1de5968b0d3ef9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookingForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BookingForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "471f4073b87ce345",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,lucide-react,react",
      "lines": 250,
      "logic_relevance": "none",
      "name": "booking-form",
      "normalized_name": "booking-form",
      "package_manager": "pnpm",
      "path": "components/booking-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "da6fc7bfb778d5f6dadefacb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70",
      "exports": "ProductForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff996101553cd89b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "product-form",
      "normalized_name": "product-form",
      "package_manager": "pnpm",
      "path": "components/product-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "09a9777a3c0a7596cebebf54",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductEditForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70",
      "exports": "ProductEditForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9491395ab24db77",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 228,
      "logic_relevance": "none",
      "name": "product-edit-form",
      "normalized_name": "product-edit-form",
      "package_manager": "pnpm",
      "path": "components/product-edit-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fca215d9fb93bf8c0051a486",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteNav | imports:@/components/ui/button, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce64862a2d867da4",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,next/navigation,react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "site-nav",
      "normalized_name": "site-nav",
      "package_manager": "pnpm",
      "path": "components/site-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "e360f942f7fe28f9a6424418",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/lib/supabase/client | frontend-score:115 | ui-score:70",
      "exports": "EventForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "310ad22fd774e3f9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/supabase/client,next/navigation,react",
      "lines": 245,
      "logic_relevance": "none",
      "name": "event-form",
      "normalized_name": "event-form",
      "package_manager": "pnpm",
      "path": "components/event-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f8671c275210e1521d802664",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ea33ffff606bc6635739ddea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "06b9d76704388bcc238a82ce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ebd831d4d98e4285496639f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d9aee21ab46893b9d590b777",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bc39dd9a83685ffdd880405a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ae6609b82617653e45e465d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "83a7ac41d28325fbf303148e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "59c5042783e3883ed6c059b0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ec97082a182aada8",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "84652598c988962e1dc12b15",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e21d3164eaecb62c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "a6147d4b9919894c7ed66fd9",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9ed28844fd15aa81",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d66f09028cd91b5fe841f5c2",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "82931a14634a270f585ff3f4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "701bd7c30dd0062d",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "ee67fdd7e9caa456bc5b8566",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "20c4c971ff9524b402fdd0ff",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createServerClient | imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createServerClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "539d4dc00430f850",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-community-platform",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3106c4be76965a837ab620e1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "fs,gzip-size,mkdirp,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BUILD_OUTPUT_DIRECTORY | imports:fs, gzip-size, mkdirp, path | observability-score:55 | security-score:55",
      "exports": "BUILD_OUTPUT_DIRECTORY",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4106f539c437f554",
      "framework": "next-react",
      "imports": "fs,gzip-size,mkdirp,path",
      "lines": 105,
      "logic_relevance": "none",
      "name": "report-bundle-size",
      "normalized_name": "report-bundle-size",
      "package_manager": "yarn",
      "path": "report-bundle-size.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "d902aae66be8634a88b95379",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@next/bundle-analyzer,next,next-compose-plugins",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./env.mjs, @next/bundle-analyzer, next, next-compose-plugins | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "5f42620ffa68d129",
      "framework": "next-react",
      "imports": "./env.mjs,@next/bundle-analyzer,next,next-compose-plugins",
      "lines": 33,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "yarn",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "22c03f4951ac4c5a650cf1b8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb7aa3ffcfb5bec9",
      "framework": "next-react",
      "imports": "",
      "lines": 192,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "yarn",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "230207f4a62080a459657cef",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "503b5282bab023c6",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "git-conventional-commits",
      "normalized_name": "git-conventional-commits",
      "package_manager": "yarn",
      "path": "git-conventional-commits.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "604dd45814d049f580723be4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "38aae67363540385",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "yarn",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e24bc72fa85ab8779e3cd516",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8e053d5d057968a6",
      "framework": "next-react",
      "imports": "",
      "lines": 186,
      "logic_relevance": "none",
      "name": "README1",
      "normalized_name": "readme1",
      "package_manager": "yarn",
      "path": "README1.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0cbc13e45b1190215d729f0d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test, dotenv | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e631326903ae803f",
      "framework": "next-react",
      "imports": "@playwright/test,dotenv",
      "lines": 77,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "yarn",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "ad68e74ccf88e33ff5a7e6e0",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "@vercel/otel",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:register | imports:@vercel/otel | automation-score:45",
      "exports": "register",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "08c40eeeb7257d83",
      "framework": "next-react",
      "imports": "@vercel/otel",
      "lines": 5,
      "logic_relevance": "none",
      "name": "instrumentation",
      "normalized_name": "instrumentation",
      "package_manager": "yarn",
      "path": "instrumentation.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "48ef7c218d51e279350804a4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:../components/FloatingTikTokButton, ../components/Footer, ../components/Header, ../components/ThemeProviderWrapper, next, next/font/google | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "87d161c7d8c9a833",
      "framework": "next-react",
      "imports": "../components/FloatingTikTokButton,../components/Footer,../components/Header,../components/ThemeProviderWrapper,next,next/font/google",
      "lines": 49,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "yarn",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "dbca17445acab1b024fed79a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home, metadata | imports:../components/About, ../components/Booking, ../components/Contact, ../components/Hero, ../components/Newsletter, ../components/PerformanceShowcase, ../components/SocialFeed, ../components/Testimonials | frontend-score:115 | ui-score:70",
      "exports": "Home,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4ae0f7a4096db958",
      "framework": "next-react",
      "imports": "../components/About,../components/Booking,../components/Contact,../components/Hero,../components/Newsletter,../components/PerformanceShowcase,../components/SocialFeed,../components/Testimonials,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "yarn",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "61cebeee00149f35470f7db8",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e83ea4c4cdbdb984",
      "framework": "next-react",
      "imports": "",
      "lines": 257,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "yarn",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b4a4f7b05e371e0bf6a950fb",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9803c1af2692dece",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "yarn",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "880b954282774c7818e500b1",
      "component_kind": "tailwind-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cc1a7ad0d019ddb1",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "tailwind",
      "normalized_name": "tailwind",
      "package_manager": "yarn",
      "path": "styles/tailwind.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "9a4b005079a2ea7f6abe0cbe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:Newsletter | imports:./ui/button, ./ui/input | frontend-score:85 | ui-score:55",
      "exports": "Newsletter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a370a7a2fadac15",
      "framework": "next-react",
      "imports": "./ui/button,./ui/input",
      "lines": 23,
      "logic_relevance": "none",
      "name": "Newsletter",
      "normalized_name": "newsletter",
      "package_manager": "yarn",
      "path": "components/Newsletter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "bb47ed3b19447592f5ee25ba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:./ui/button, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e800d15e32182f7",
      "framework": "next-react",
      "imports": "./ui/button,framer-motion,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "Hero",
      "normalized_name": "hero",
      "package_manager": "yarn",
      "path": "components/Hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "9275bb5704455340aa26f9d5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformanceShowcase | imports:./ui/button, framer-motion, next/image, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PerformanceShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fc8fcd653e45d52",
      "framework": "next-react",
      "imports": "./ui/button,framer-motion,next/image,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "PerformanceShowcase",
      "normalized_name": "performance-showcase",
      "package_manager": "yarn",
      "path": "components/PerformanceShowcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "1371f8d3248167a5dae71722",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Booking | imports:./ui/button, ./ui/input, ./ui/textarea, framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "Booking",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efbd79bebf50adae",
      "framework": "next-react",
      "imports": "./ui/button,./ui/input,./ui/textarea,framer-motion,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "Booking",
      "normalized_name": "booking",
      "package_manager": "yarn",
      "path": "components/Booking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "20d11b1072f89227b96c5375",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FloatingTikTokButton | imports:framer-motion, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FloatingTikTokButton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "99e8de9ca58abd30",
      "framework": "next-react",
      "imports": "framer-motion,next-themes,react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "FloatingTikTokButton",
      "normalized_name": "floating-tik-tok-button",
      "package_manager": "yarn",
      "path": "components/FloatingTikTokButton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "af9cc2049d3c9497ee1a0473",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProviderWrapper | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProviderWrapper",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b64bdc31b5da3422",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 8,
      "logic_relevance": "none",
      "name": "ThemeProviderWrapper",
      "normalized_name": "theme-provider-wrapper",
      "package_manager": "yarn",
      "path": "components/ThemeProviderWrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "28636c3d7d88dffd7e1b1f3a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Contact | imports:./ui/button, ./ui/input, ./ui/textarea, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "Contact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de61f67de8cba80e",
      "framework": "next-react",
      "imports": "./ui/button,./ui/input,./ui/textarea,framer-motion,lucide-react,react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "Contact",
      "normalized_name": "contact",
      "package_manager": "yarn",
      "path": "components/Contact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "9a775b7ab6cf3520e2be3c48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa28982ac8fa9f91",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 123,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "yarn",
      "path": "components/Footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,security",
      "component_id": "4e895a991dd31c30214340c8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:Testimonials | imports:next/image, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Testimonials",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70601ba920c9432f",
      "framework": "next-react",
      "imports": "next/image,react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "Testimonials",
      "normalized_name": "testimonials",
      "package_manager": "yarn",
      "path": "components/Testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security,discovery",
      "component_id": "871b155cf13ae9d8b5e354e5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,lucide-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialFeed | imports:./ui/button, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | discovery-score:55",
      "exports": "SocialFeed",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "680581cca5ad655c",
      "framework": "next-react",
      "imports": "./ui/button,framer-motion,lucide-react,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "SocialFeed",
      "normalized_name": "social-feed",
      "package_manager": "yarn",
      "path": "components/SocialFeed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9444da1b76c1c0e0a2984c24",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MermaidWorld | imports:react | frontend-score:115 | ui-score:70",
      "exports": "MermaidWorld",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a533a293b51c31d",
      "framework": "next-react",
      "imports": "react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "MermaidWorld",
      "normalized_name": "mermaid-world",
      "package_manager": "yarn",
      "path": "components/MermaidWorld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "e22f45e43aea95442298e21d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0623fcac9639cb3d",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "ThemeToggle",
      "normalized_name": "theme-toggle",
      "package_manager": "yarn",
      "path": "components/ThemeToggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8383fa11c64e6b60da908c1b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:./ThemeToggle, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1aaf73e1c174255b",
      "framework": "next-react",
      "imports": "./ThemeToggle,react",
      "lines": 150,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "yarn",
      "path": "components/Header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b320850d573ad215b8c4a5d0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:About | imports:next/image, react | frontend-score:115 | ui-score:70",
      "exports": "About",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9801c96554132060",
      "framework": "next-react",
      "imports": "next/image,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "About",
      "normalized_name": "about",
      "package_manager": "yarn",
      "path": "components/About.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "945bb3ed9f3a719568d0c51e",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InteractiveButton | ui-score:125 | frontend-score:85",
      "exports": "InteractiveButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fb8f1e9e53262a30",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "InteractiveButton",
      "normalized_name": "interactive-button",
      "package_manager": "yarn",
      "path": "components/ui/InteractiveButton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7a9ff372bde30b819bcb7857",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react,tailwind-merge",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button | imports:react, tailwind-merge | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Button",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dd2f90b379b1ea2c",
      "framework": "next-react",
      "imports": "react,tailwind-merge",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "yarn",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a9af7e18b360d25da51ff10e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "becea9ab4f57fa62",
      "framework": "next-react",
      "imports": "react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "yarn",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3833a5b3f8bcfe1b57a6a780",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1c8d66681d68c8a1",
      "framework": "next-react",
      "imports": "react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "yarn",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a7c5baefcfd38b960ebb3164",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFoundPage | imports:../../components/ui/button | frontend-score:85 | ui-score:55",
      "exports": "NotFoundPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e449742ff22e0950",
      "framework": "next-react",
      "imports": "../../components/ui/button",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "yarn",
      "path": "components/_not-found/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "8015ebea17f0e9b0b032f427",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5f858b3ea2bfad93",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 7,
      "logic_relevance": "none",
      "name": "example.spec",
      "normalized_name": "example",
      "package_manager": "yarn",
      "path": "e2e/example.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__mermaid-next-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f1a02296ef136ad3c1ff7381",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3eb536818442f242",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c9989ea5015f708187b9d45c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c048b60988a61fdf",
      "framework": "next-react",
      "imports": "",
      "lines": 9401,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9feaa812fd060447cc360273",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "62aba637b2cb5665",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e07481e79d31881f314e5123",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "843ee9748be26b0c",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5cf9302d1d9b478972c97f4e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/checkout-button, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af4e8c5940671a70",
      "framework": "next-react",
      "imports": "@/components/checkout-button,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "88fde66458cd78200178e060",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "977d471ea1a8cf01",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "eae2896e3aba6ef9d11bbd92",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95a4c65fb555905e",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/success/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "94b5470e77c9330a28f1a6d5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "SuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90196d651d20cf8f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,observability,security",
      "component_id": "55cf6bdf860a32934012d855",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "78468a0cd4d067f7",
      "framework": "next-react",
      "imports": "./route,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/create-checkout-session/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "7a29c58b99ab44d358218040",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, stripe | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fe89c43e395fac11",
      "framework": "next-react",
      "imports": "next/server,stripe",
      "lines": 70,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/create-checkout-session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "49952bd3b258fe0110a33cc3",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "d2e66eba8eb1b4f1cf1954b4",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "npm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "4b27960a401867a038c772d2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./checkout-button, @testing-library/react, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ae5dfd35a62ad0bc",
      "framework": "next-react",
      "imports": "./checkout-button,@testing-library/react,react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "checkout-button.test",
      "normalized_name": "checkout-button",
      "package_manager": "npm",
      "path": "components/checkout-button.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b4f972f3235965a894c3e2db",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@stripe/stripe-js,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutButton | imports:@/components/ui/button, @stripe/stripe-js, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "CheckoutButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f1929c5541ef808",
      "framework": "next-react",
      "imports": "@/components/ui/button,@stripe/stripe-js,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "checkout-button",
      "normalized_name": "checkout-button",
      "package_manager": "npm",
      "path": "components/checkout-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "e78c507716f8dbcb2acdae2f",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./input-otp, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0f3e13ffbad55826",
      "framework": "next-react",
      "imports": "./input-otp,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "input-otp.test",
      "normalized_name": "input-otp",
      "package_manager": "npm",
      "path": "components/ui/input-otp.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "ac14247dd73843c2a2935b3a",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./button, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7b41ac9e47b4183a",
      "framework": "next-react",
      "imports": "./button,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "components/ui/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "1430760577d49fe5c8b3d4e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "npm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "196813a42b008140738a41c7",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./switch, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1ba18285d57fe474",
      "framework": "next-react",
      "imports": "./switch,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "switch.test",
      "normalized_name": "switch",
      "package_manager": "npm",
      "path": "components/ui/switch.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7f71d180427ac5d0be5c0d53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "npm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "b140041b12c0272b6457de73",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./spinner, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cfce06ce11955b89",
      "framework": "next-react",
      "imports": "./spinner,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "spinner.test",
      "normalized_name": "spinner",
      "package_manager": "npm",
      "path": "components/ui/spinner.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6a32f78503556594253d05f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "npm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "dd76b18eafe70130563b1e01",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./menubar, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d5484472d95bcb02",
      "framework": "next-react",
      "imports": "./menubar,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "menubar.test",
      "normalized_name": "menubar",
      "package_manager": "npm",
      "path": "components/ui/menubar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "102aa3a590ecec4995c361d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "npm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "16215a8aca00c614c0fe8e74",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./sidebar, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "850df401377d6f39",
      "framework": "next-react",
      "imports": "./sidebar,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sidebar.test",
      "normalized_name": "sidebar",
      "package_manager": "npm",
      "path": "components/ui/sidebar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2339590df7bc9ad98bdcf291",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./dialog, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "66a243a4497e9f37",
      "framework": "next-react",
      "imports": "./dialog,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "dialog.test",
      "normalized_name": "dialog",
      "package_manager": "npm",
      "path": "components/ui/dialog.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "24062a969593b35cf35503ae",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./progress, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "23dd07ed42974cee",
      "framework": "next-react",
      "imports": "./progress,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "progress.test",
      "normalized_name": "progress",
      "package_manager": "npm",
      "path": "components/ui/progress.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "903622897c3d79ae3e04ecae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "npm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2bda04c929e68d5e01c2fbf0",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "be63982bee0ae2a9",
      "framework": "next-react",
      "imports": "./alert-dialog,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "alert-dialog.test",
      "normalized_name": "alert-dialog",
      "package_manager": "npm",
      "path": "components/ui/alert-dialog.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "27fa11ffa5f12672c1a8cb14",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./scroll-area, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "65adc59c799c89cc",
      "framework": "next-react",
      "imports": "./scroll-area,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "scroll-area.test",
      "normalized_name": "scroll-area",
      "package_manager": "npm",
      "path": "components/ui/scroll-area.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0cc72b3089fab92c9c12086f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "npm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "617ef8e37d324bebf19896cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "fe33c0fcab2f29ce08846e2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "npm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9eb1b07a92ac88b0dec58fc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "npm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7eb2d86704ff6f1851806031",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "npm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "a60ae67eeb52b803f224265c",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./context-menu, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cdd28d6b95691dcd",
      "framework": "next-react",
      "imports": "./context-menu,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "context-menu.test",
      "normalized_name": "context-menu",
      "package_manager": "npm",
      "path": "components/ui/context-menu.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "a8fad5640b595cf47f089274",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./toggle, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dab33212e1b8a7b9",
      "framework": "next-react",
      "imports": "./toggle,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "toggle.test",
      "normalized_name": "toggle",
      "package_manager": "npm",
      "path": "components/ui/toggle.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "635a5897dd7baa963b016530",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "npm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "240408068a9e0585a06c087a",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./input-group, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e6f7dfc32787ae91",
      "framework": "next-react",
      "imports": "./input-group,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "input-group.test",
      "normalized_name": "input-group",
      "package_manager": "npm",
      "path": "components/ui/input-group.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "b82c1d47fc8bc283945580bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "npm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "64bd1419d5fe569ff82c7d2e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "npm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "876dc66da5d1357220b9d1d2",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./empty, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "75f28b4b48ee6b8d",
      "framework": "next-react",
      "imports": "./empty,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "empty.test",
      "normalized_name": "empty",
      "package_manager": "npm",
      "path": "components/ui/empty.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e7722aa6c0c4be81bbfe79e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "npm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c20c285706d08f265b76df27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "npm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a6ba7e8dabea612193d81356",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "npm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0799e9f8fc6bcba8aa9916e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "npm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "459f0b14bb4d2e5abc8ed1eb",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./field, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a5cc34b6467f9d9d",
      "framework": "next-react",
      "imports": "./field,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "field.test",
      "normalized_name": "field",
      "package_manager": "npm",
      "path": "components/ui/field.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "fd49ae1431280f0113f4acd4",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./breadcrumb, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c1a41553e7d06333",
      "framework": "next-react",
      "imports": "./breadcrumb,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "breadcrumb.test",
      "normalized_name": "breadcrumb",
      "package_manager": "npm",
      "path": "components/ui/breadcrumb.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "db3012b7664c6734094e4935",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./dropdown-menu, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5e01fbb94d229e66",
      "framework": "next-react",
      "imports": "./dropdown-menu,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "dropdown-menu.test",
      "normalized_name": "dropdown-menu",
      "package_manager": "npm",
      "path": "components/ui/dropdown-menu.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "042d05d01f5ce23e14f59188",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./input, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e5f88df2b6a0d253",
      "framework": "next-react",
      "imports": "./input,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "input.test",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "components/ui/input.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "9db1f51b3ef2ed702498a311",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./collapsible, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9952602ce37e4bfa",
      "framework": "next-react",
      "imports": "./collapsible,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible.test",
      "normalized_name": "collapsible",
      "package_manager": "npm",
      "path": "components/ui/collapsible.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "fa740c52db7dc83cfc246d2f",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./kbd, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5d71640c36f0a8f6",
      "framework": "next-react",
      "imports": "./kbd,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "kbd.test",
      "normalized_name": "kbd",
      "package_manager": "npm",
      "path": "components/ui/kbd.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "b12faf60f7337b4d28519147",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./card, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6f655dbfa15b8191",
      "framework": "next-react",
      "imports": "./card,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "card.test",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "components/ui/card.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6f268b29ed6c3d60f8a22329",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "npm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7ab7a5d79a03a6975feac14b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "npm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "38d76656030ee899dce777f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dfdf4ebf965e556831bc6417",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "npm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ea386aded386dcb6611a71ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "npm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "36a5640394a969f634a0f6be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "npm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "ad049c8fe2467bb77a64d303",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./button-group, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b513d7b15d318c17",
      "framework": "next-react",
      "imports": "./button-group,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "button-group.test",
      "normalized_name": "button-group",
      "package_manager": "npm",
      "path": "components/ui/button-group.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "86aba756f568e88d275ebc49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "npm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "1d237e0288b5267e10f4afce",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./popover, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "12f0577f6175ff72",
      "framework": "next-react",
      "imports": "./popover,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "popover.test",
      "normalized_name": "popover",
      "package_manager": "npm",
      "path": "components/ui/popover.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9ee7bb851f377c5a07db3b3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "npm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3b1ed23d3a9025a59adebc25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "npm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ac839914378e5d73b57176b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "f8b861ecc5c1cef35143f8ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "npm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "400b8c8e295aa3d6305e644d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "npm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "85b617420a1855fb9a5952d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "npm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "c235d7197c2bbf023b6522ce",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./select, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9d2a680654b13368",
      "framework": "next-react",
      "imports": "./select,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "select.test",
      "normalized_name": "select",
      "package_manager": "npm",
      "path": "components/ui/select.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "cae6496b6224899ea6d4baa1",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./accordion, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3edb1540540146f2",
      "framework": "next-react",
      "imports": "./accordion,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "accordion.test",
      "normalized_name": "accordion",
      "package_manager": "npm",
      "path": "components/ui/accordion.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "063c1b5f53e51f1a36e0155f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "npm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bfb1fc5d98172a0361e9bfb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "npm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e18fed81306630a293ad47f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "npm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "90ba5172afc8d691f171ca23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "npm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "bbb8bca9b92e64f9d4d07b54",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./command, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "de9e48cbdaee23ad",
      "framework": "next-react",
      "imports": "./command,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "command.test",
      "normalized_name": "command",
      "package_manager": "npm",
      "path": "components/ui/command.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "db5751b54980695f6b918569",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "npm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "70c10816456b38d693d64557",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./toggle-group, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "85c87f742eb673e3",
      "framework": "next-react",
      "imports": "./toggle-group,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "toggle-group.test",
      "normalized_name": "toggle-group",
      "package_manager": "npm",
      "path": "components/ui/toggle-group.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "e4574f68ec26aa83349a41fc",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./textarea, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2cce04302859056c",
      "framework": "next-react",
      "imports": "./textarea,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "textarea.test",
      "normalized_name": "textarea",
      "package_manager": "npm",
      "path": "components/ui/textarea.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5f85929acafbb0d9e0e5ae51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "npm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "977ae4746af72c2576e7a683",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "npm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "545f7f46920b41bbb84b7bcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "npm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "80526d572ba0378717b11ac6",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./alert, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78078efbbb02a049",
      "framework": "next-react",
      "imports": "./alert,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "alert.test",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "components/ui/alert.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "1f01737114c4f2e5de14873d",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./badge, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "eeab69d964bb0354",
      "framework": "next-react",
      "imports": "./badge,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "badge.test",
      "normalized_name": "badge",
      "package_manager": "npm",
      "path": "components/ui/badge.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "b2fe490a90f2c38594e8e55c",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./drawer, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f089e5ac297299cf",
      "framework": "next-react",
      "imports": "./drawer,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "drawer.test",
      "normalized_name": "drawer",
      "package_manager": "npm",
      "path": "components/ui/drawer.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "57868ebb079a483826081042",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./navigation-menu, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82e392dae83c3645",
      "framework": "next-react",
      "imports": "./navigation-menu,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "navigation-menu.test",
      "normalized_name": "navigation-menu",
      "package_manager": "npm",
      "path": "components/ui/navigation-menu.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "b0da29d0b2bbd0de58936a4f",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./tabs, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ae2f2e84f8e0583",
      "framework": "next-react",
      "imports": "./tabs,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "tabs.test",
      "normalized_name": "tabs",
      "package_manager": "npm",
      "path": "components/ui/tabs.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "36822beaf8e73f38509175db",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./hover-card, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c2c070cc3785da9",
      "framework": "next-react",
      "imports": "./hover-card,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "hover-card.test",
      "normalized_name": "hover-card",
      "package_manager": "npm",
      "path": "components/ui/hover-card.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "41743d29baac52a249f1b1d4",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./checkbox, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a4b16912bf28e03e",
      "framework": "next-react",
      "imports": "./checkbox,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "checkbox.test",
      "normalized_name": "checkbox",
      "package_manager": "npm",
      "path": "components/ui/checkbox.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "3c05965a2a7f3e724cc19aad",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./separator, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5793d3f139ec02bb",
      "framework": "next-react",
      "imports": "./separator,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "separator.test",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "components/ui/separator.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0373a027300d20490d3acc2e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "npm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "3f32da7354e388536505f3cd",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./skeleton, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3d23bbcbe73a028",
      "framework": "next-react",
      "imports": "./skeleton,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "skeleton.test",
      "normalized_name": "skeleton",
      "package_manager": "npm",
      "path": "components/ui/skeleton.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7ce30fabd55517e7e1f1c150",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "npm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ad0c0cd1b0733388dc86b67a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "npm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6b24d1e8686e5112d0c00792",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "npm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "25fc933b003b0a1cb013171c",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./sheet, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c88e0a4fa19ebe9f",
      "framework": "next-react",
      "imports": "./sheet,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sheet.test",
      "normalized_name": "sheet",
      "package_manager": "npm",
      "path": "components/ui/sheet.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,integration,security",
      "component_id": "8f903a34715e0995fc5c4484",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./calendar, react | ui-score:140 | frontend-score:115 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4b7d17487a4c9716",
      "framework": "next-react",
      "imports": "./calendar,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "calendar.test",
      "normalized_name": "calendar",
      "package_manager": "npm",
      "path": "components/ui/calendar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "9e72be954f5012500a9d874d",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./avatar, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "be1cd83d92df1fea",
      "framework": "next-react",
      "imports": "./avatar,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "avatar.test",
      "normalized_name": "avatar",
      "package_manager": "npm",
      "path": "components/ui/avatar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0c8db1aeab564eaa8fd77abe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8da2c244ef0c0b39f12db155",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4e408a7e4d9b5f5d9d73ef2b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "npm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "8533874c04d06fb7e7c25e3f",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./aspect-ratio, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "23e95e447467945c",
      "framework": "next-react",
      "imports": "./aspect-ratio,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio.test",
      "normalized_name": "aspect-ratio",
      "package_manager": "npm",
      "path": "components/ui/aspect-ratio.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2c3ddacb40fd35992186f7ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "npm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "26ba15581647ddb18899b402",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "npm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "2731746ae5488028b0ef3e48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "npm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "49b76ed354f199213e19f30a",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4c116944bbf6d01d",
      "framework": "next-react",
      "imports": "./slider,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "slider.test",
      "normalized_name": "slider",
      "package_manager": "npm",
      "path": "components/ui/slider.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "fba335b4be10fc72360bf54d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "npm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "faae6a669f8248eeeff0d82a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "npm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "fdb2ce8c39acb10e3058fbb8",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./item, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2457d91b109fdaf2",
      "framework": "next-react",
      "imports": "./item,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "item.test",
      "normalized_name": "item",
      "package_manager": "npm",
      "path": "components/ui/item.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,security",
      "component_id": "5493748184c751edf2b72705",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./label, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "382939cee8014224",
      "framework": "next-react",
      "imports": "./label,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "label.test",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "components/ui/label.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "b01222641c38334d4303bfa3",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./table, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0b8a7388196b35e7",
      "framework": "next-react",
      "imports": "./table,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "table.test",
      "normalized_name": "table",
      "package_manager": "npm",
      "path": "components/ui/table.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6b5776eb3a837c6abf043c6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "npm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "31cf86b07a689274818ba9f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "npm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d37c8ef468023d5d06989010",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "37004c061dcc088a8962abb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "npm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "4af22ea0ccab9d9707390ce4",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./tooltip, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3e42676b0814c16e",
      "framework": "next-react",
      "imports": "./tooltip,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "tooltip.test",
      "normalized_name": "tooltip",
      "package_manager": "npm",
      "path": "components/ui/tooltip.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "cc482b1682ce558348eac0e6",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./radio-group, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4d8b07bb6905bf8d",
      "framework": "next-react",
      "imports": "./radio-group,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "radio-group.test",
      "normalized_name": "radio-group",
      "package_manager": "npm",
      "path": "components/ui/radio-group.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "a309c68c74d33e5d28c11117",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./pagination, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3454e12689abc3b3",
      "framework": "next-react",
      "imports": "./pagination,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "pagination.test",
      "normalized_name": "pagination",
      "package_manager": "npm",
      "path": "components/ui/pagination.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "b669f66c939cbdefc763d3b1",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./resizable, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c696a569d036bfb2",
      "framework": "next-react",
      "imports": "./resizable,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "resizable.test",
      "normalized_name": "resizable",
      "package_manager": "npm",
      "path": "components/ui/resizable.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f59d69c77d97069af172a345",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "npm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "393202e5557e06a045e72bd7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "npm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6499ca7526cb37d44e57a77f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "npm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "375bfddf9d142ae35a0ec7b1",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b3d690d8d9366d39",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "npm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8902229f03a1b9f58380be2d",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-sticker-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "449d82a04defe27e2df2e038",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa40a289f4b75153",
      "framework": "next-react",
      "imports": "",
      "lines": 3513,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "ce3d6266b876be5dd6b70392",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "14c3fd89e818b991",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "518c7a22e69717e77a2f0f83",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "521fe85443e06f8a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 98,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e720c9e0444eddfad079a0dc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "420d94fd801a62b8",
      "framework": "next-react",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "7234a23e0311d06383fb9827",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dce7327da8ebea00",
      "framework": "next-react",
      "imports": "next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "1d2c35d7210077570283c558",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d2be7b870c4fb998",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 88,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "b778f336ccff32e65d69d86c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "02876267e4a5067d",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "35aeae806b03cecd6ffa0ac7",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "271781894659f0d0",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "31a12ae9338165da22049173",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ca7f3e092c0c8e8e",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "e801d8d6b618428f7375e56b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HomePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7490a90e75cb946",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/image",
      "lines": 393,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "bca8f1415c33b4660ba757f0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "218404fa58f5615ee52f8e24",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2d882cc1b38abd292a5c64ca",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "625529df4a6eff00b8739fdc",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8b310df1e682c9b7da72279b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4e8d49e543959595b22e024f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b458b8cc39112a05f4997b4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "64d20bf005ffd5666d55468e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1968380c1bb23283cbe2d5a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c2af974a795b3365a0fc4c3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "968767058cbe4db1795f645a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "bbdd5808ba898dc24f89a905",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c036da4baed076d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "429941ca4fba7119c96e337e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a2772dd409da08a4032c916e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bd24522b07aa60f765e3952c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62ebd887366a84fc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2f4c84e2dad35e3cf5d06aae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9c14f3d5eb5348e04cb1edd5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "03415232256e55c7ef2939f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ffe1449dbe5ba8d821313877",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b1c0a1be820554e4c5649244",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bc4c95d9cd5fc9e631d010c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "eb34c75ae75e3af9984c7794",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8a87471c2be716e3088903b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5e4b3f5adbc1ac75912ee521",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "509f17848471d5bf9b178155",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7c70def27129b7fe4f407c0d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ed78a053a9db783f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "7d1747138d92b5406ba83929",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "af571ded307938b47c26adcb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "3a61ee300dac4044ffb39863",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7626e43c40fbf82f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7da0650fa11cf71354622f08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e07fc13a9bd6e5dfc740b69a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4a277cb778611ea61aca1ea3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9b51bcbeb621ce15284f927e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a096aafee40f1daa89c9cf60",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6893b6a27f496d1f8c7b4ca7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c4d0972567aa9c6fceb7d075",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4d9d22b8ec0024587cf2b2e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "68892eecb0b211a1a2c09f84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72aeae5c68c361fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 763,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1cfa550981a236dc434c2e7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "68a4b8582e5237223e8fb656",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1c05b75a29847ee07b805c91",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1e3ec1bf1c3cd324621e1189",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c6400e9376116c842a0a0d0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5bfa19812064ac3465608c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "33f8383f1e29fbf905f9345a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d656b1613888dd4d8f462e42",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ca0802c2e73d06aa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d17455750389d1ba39adcb2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "58e5f68508db4a9ec7efa60d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf46918c590c2bf",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bc92948f8652ea7c4bb07725",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "f6cc5cfcf2af35a7de840c45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f850676d2fdb965c84458622",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "9485cf11c2156f80d23ac7fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9e603f964ee21a84ee2c14f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "60d6374b505b394811f65d25",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "66fee56cd2e38bbd54622411",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__microwave-stickers-",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "acc4ad1884e2f9cb62b4c71b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e5be797add09e162",
      "framework": "unknown",
      "imports": "",
      "lines": 215,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "go",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "9f9513b32c3f1eea92d3eb1d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b9cae1475821ad49",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "go",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c6c93f2c8acd221a2e50ed48",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".go",
      "extraction_status": "catalog-only",
      "file_hash": "3c34a89231606a44",
      "framework": "go",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "go",
      "path": "main.go",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "506651fed8cd8b5dd6a882ec",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "64b533bef879a6d3",
      "framework": "go",
      "imports": "",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "msi_session_unix",
      "normalized_name": "msi-session-unix",
      "package_manager": "go",
      "path": "core/msi_session_unix.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic",
      "component_id": "51a245be473bcfee7d3165e4",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c39a18babdf56c4f",
      "framework": "go",
      "imports": "",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "msi_types",
      "normalized_name": "msi-types",
      "package_manager": "go",
      "path": "core/msi_types.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "47f8040ca674ee3554c49783",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".go",
      "extraction_status": "catalog-only",
      "file_hash": "8c960943191bf458",
      "framework": "go",
      "imports": "",
      "lines": 714,
      "logic_relevance": "primary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "go",
      "path": "core/core.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "e034c46f8440445819862890",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "63128171fc81cd8e",
      "framework": "go",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "msi_session",
      "normalized_name": "msi-session",
      "package_manager": "go",
      "path": "core/msi_session.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "51fb3fc5a55d9dba40eb3a1a",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MSIDBOPEN_READONLY | logic-score:85 | backend-score:55",
      "exports": "MSIDBOPEN_READONLY",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "74f87a9fe32b9331",
      "framework": "go",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "msi_windows_api",
      "normalized_name": "msi-windows-api",
      "package_manager": "go",
      "path": "core/msi_windows_api.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic",
      "component_id": "e4dd6f0736e5868db734cf8a",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "01698b0b2c64d69a",
      "framework": "go",
      "imports": "",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "msi_stub",
      "normalized_name": "msi-stub",
      "package_manager": "go",
      "path": "core/msi_stub.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "4b4df5141634c0fac5e5d337",
      "component_kind": "schema-validation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "086c48f57cf1ef1f",
      "framework": "go",
      "imports": "",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "msi_validations",
      "normalized_name": "msi-validations",
      "package_manager": "go",
      "path": "core/msi_validations.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "d9efe23758460e1fd2285514",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d3a0c309afd3daa2",
      "framework": "go",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "msi_tables",
      "normalized_name": "msi-tables",
      "package_manager": "go",
      "path": "core/msi_tables.go",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "c90661087e67cf3a3054e562",
      "component_kind": "ai-integration",
      "confidence": 55,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "26f42191c56d91c3",
      "framework": "go",
      "imports": "",
      "lines": 449,
      "logic_relevance": "none",
      "name": "commands",
      "normalized_name": "commands",
      "package_manager": "go",
      "path": "cli/commands.go",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "7c8ff6c065fed381cfec39e6",
      "component_kind": "ui-primitive",
      "confidence": 55,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".go",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e5ec892d0a03729",
      "framework": "go",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "go",
      "path": "retro/progress.go",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "3a3b66c55a40505d5e2bba39",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0b970e8c7e680db9",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "go",
      "path": ".vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "2a82a5de097c1a2474c15918",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a967796ccd0784b3",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "splash",
      "normalized_name": "splash",
      "package_manager": "go",
      "path": "assets/splash.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__msicrafter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "94216afa840751ea7632f3f3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67d9c3ab3447fab7",
      "framework": "next-react",
      "imports": "",
      "lines": 3305,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "5e5a2756dbaa00251b4b829f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bed307f83bab4c6b",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bf6b1c609dde0bb384d35e81",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3eaa94c0b47f8355",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "f677e16e6d11f1bc5a0dd198",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "de5f39d5af5247c1",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 52,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "76a0633d3d9f1597673b33af",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/puzzle/puzzle-lobby | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a04b7e502816517",
      "framework": "next-react",
      "imports": "@/components/puzzle/puzzle-lobby",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "3179e8f13f856080ad0e9564",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "eee4ef8d3dcfb9cf",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "ffcf1111fbd8d86501f3132b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemoPage | imports:@/components/puzzle/puzzle-game, @/components/ui/spinner, @/lib/puzzle/demo-data, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "DemoPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbf918ea60382687",
      "framework": "next-react",
      "imports": "@/components/puzzle/puzzle-game,@/components/ui/spinner,@/lib/puzzle/demo-data,next/navigation,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/demo/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "cff86156ef20e2cbc8462f8e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoomPage | imports:@/components/puzzle/puzzle-game, @/lib/db, @/lib/puzzle/types, next, next/navigation | frontend-score:115 | ui-score:55 | metadata",
      "exports": "RoomPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "533d38413001aada",
      "framework": "next-react",
      "imports": "@/components/puzzle/puzzle-game,@/lib/db,@/lib/puzzle/types,next,next/navigation",
      "lines": 71,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/room/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "17378a5d467fe9f2713ea6f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/puzzle/engine, @/lib/puzzle/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "55dee5f19ca6433d",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/puzzle/engine,@/lib/puzzle/types,next/server",
      "lines": 110,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rooms/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend,observability",
      "component_id": "35e467890a95c1cdcb74035f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/puzzle/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7d18576556ce0a95",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/puzzle/types,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rooms/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend,observability",
      "component_id": "31b747fc3a2bcdc8b5fce58e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH, POST | imports:@/lib/db, @/lib/puzzle/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DELETE,GET,PATCH,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7c1418b073fa21ce",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/puzzle/types,next/server",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rooms/[id]/players/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "5bed9b7555c8e8d1ba92d9fd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/lib/db, @/lib/puzzle/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "123b2ff46079883f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/puzzle/types,next/server",
      "lines": 103,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rooms/[id]/pieces/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c8e10072948b41c55121b6a9",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "e6f8271c9576105de81f850e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "eeeb88c6ad3735db1f6884e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "49d5f856b11609809a48480f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "175fd8952d9faff4ebbc82f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "55a1a8966a4cd891f6e1ac89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d4f673d9abf392e491301113",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d2de80427c21da1e06518cfc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "56115d635fc17c502063f9ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "bcd5a7e0c149d316a9639b15",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ca8608d35b8ad62a1100a09d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ceaddb456259f460dbb59e7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "a54725be269905a648f2e48c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "b41cd57c58c4a0c03703ac33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "777091028ac7ab848fce187b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d76459a52b2c0ca303d447fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4461a52400280d793525c0c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9551bbdf70395fd6288ae424",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ed38a463cdaddaa3737ac97a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3b5323433c9999034178d69c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ae987f8c78cf4a3f1d676074",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "06ebdef9a01ab606284126f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "32e3ec5ad6a23b6922c06538",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "018c617ce73d00c50f3d6452",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ecb2931c06bd4bd0136495cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "38757c3f9e3e6dae623d621e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "31cdfe71f9418baf2f11995e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "b8944fd8042cf1a09d3b7e37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "18888d88d596d798c041255a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "e594f179344e08630f5a3207",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "84b8c853c709a7e7d2337c2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "b092bb29fbd8a841abcee4f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "edef98d81be037a95f8f8fa0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "35fe3a618903bbeb7a1c33ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6fa862e9052dbac6c2bb8bf9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8bf3ec354e1fa002515016ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b0eb43d26f1b16532c521f77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "ebb46ddea3ad769dac049fd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b8d47d3fbbcee63e61afa6a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6c766cf7567cbcb4ef26a253",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d308b8ce86ec86db357024ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e60693ffc71e089c0ddc4c56",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0737091286c4ff041ac520a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5119a069779f9e05ce770d57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "39efadab310bd5115388e5bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "afc9cd8bf616009b81769335",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ab856ad096e0e318caeb9fd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "eb4360ada62752228b67b831",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ebcec09302d4c105f81f0249",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "bc7f5b9bd90f2dcf5b08ed97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4ab0318890c5ed5e0ea20fae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6eedd25e5c675d981a84896c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "31c3dc69d23c2dfdbc546501",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "93e5e0f3e6bf0231f9224f44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a04123e453c54df8b903b837",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "7e8e3183b828fdd36b9a5006",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a0de4ef0195398c679412a98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "e28baa8ec33b5089ea80f464",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4436e81619236ef1d91f07e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "48d4c3950c6fc14e8927fa41",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleSortingTray | imports:@/components/ui/button, @/lib/puzzle/engine, @/lib/puzzle/store, @/lib/puzzle/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PuzzleSortingTray",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b4d5494e55a68cf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/puzzle/engine,@/lib/puzzle/store,@/lib/puzzle/types,lucide-react,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "puzzle-sorting-tray",
      "normalized_name": "puzzle-sorting-tray",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-sorting-tray.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "64c7f025be55f483c658bf34",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleGame | imports:./player-list, ./puzzle-canvas, ./puzzle-celebration, ./puzzle-minimap, ./puzzle-preview, ./puzzle-progress, ./puzzle-provider, ./puzzle-sorting-tray | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PuzzleGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "965abec1b99fc183",
      "framework": "next-react",
      "imports": "./player-list,./puzzle-canvas,./puzzle-celebration,./puzzle-minimap,./puzzle-preview,./puzzle-progress,./puzzle-provider,./puzzle-sorting-tray,./puzzle-toolbar,@/hooks/use-puzzle-realtime,@/lib/puzzle/store,@/lib/puzzle/types,react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "puzzle-game",
      "normalized_name": "puzzle-game",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5c63b98eebc8ed754b572878",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlayerList | imports:@/lib/puzzle/store, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PlayerList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "058840257204e319",
      "framework": "next-react",
      "imports": "@/lib/puzzle/store,lucide-react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "player-list",
      "normalized_name": "player-list",
      "package_manager": "pnpm",
      "path": "components/puzzle/player-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "571308506f6e6ebc47128d70",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleProvider | imports:@/lib/puzzle/engine, @/lib/puzzle/store, @/lib/puzzle/types, react | frontend-score:115 | ui-score:70",
      "exports": "PuzzleProvider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9d04162e87ccb1a5",
      "framework": "next-react",
      "imports": "@/lib/puzzle/engine,@/lib/puzzle/store,@/lib/puzzle/types,react",
      "lines": 175,
      "logic_relevance": "none",
      "name": "puzzle-provider",
      "normalized_name": "puzzle-provider",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4d163bea07437fa5c1d45258",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleLobby | imports:@/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/slider, @/lib/puzzle/demo-data | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PuzzleLobby",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be0949227555b922",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/slider,@/lib/puzzle/demo-data,@/lib/puzzle/types,lucide-react,next/image,next/navigation,react",
      "lines": 336,
      "logic_relevance": "none",
      "name": "puzzle-lobby",
      "normalized_name": "puzzle-lobby",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-lobby.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "57013e2849e142c5730a998e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleProgress | imports:@/components/ui/progress, @/lib/puzzle/store, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "PuzzleProgress",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5daae7861f428447",
      "framework": "next-react",
      "imports": "@/components/ui/progress,@/lib/puzzle/store,lucide-react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "puzzle-progress",
      "normalized_name": "puzzle-progress",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "04173011ab63c211a32ec414",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzlePreview | imports:@/components/ui/button, @/lib/puzzle/store, lucide-react, next/image, react | frontend-score:115 | ui-score:70",
      "exports": "PuzzlePreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "312bb9c600f6cb5a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/puzzle/store,lucide-react,next/image,react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "puzzle-preview",
      "normalized_name": "puzzle-preview",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "e300b216ecf43128ed172415",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleCelebration | imports:@/components/ui/button, @/lib/puzzle/engine, @/lib/puzzle/store, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PuzzleCelebration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0db6ca030aee763",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/puzzle/engine,@/lib/puzzle/store,lucide-react,next/link,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "puzzle-celebration",
      "normalized_name": "puzzle-celebration",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-celebration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a9568cbdbffa8631e6885c94",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleMinimap | imports:@/lib/puzzle/store, react | frontend-score:115 | ui-score:70",
      "exports": "PuzzleMinimap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7e9f144580aa3e9",
      "framework": "next-react",
      "imports": "@/lib/puzzle/store,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "puzzle-minimap",
      "normalized_name": "puzzle-minimap",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-minimap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a44c54d0d5e4e4e7674c45a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleCanvas | imports:@/lib/puzzle/engine, @/lib/puzzle/store, @/lib/puzzle/types, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PuzzleCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5869a494b15449f",
      "framework": "next-react",
      "imports": "@/lib/puzzle/engine,@/lib/puzzle/store,@/lib/puzzle/types,react",
      "lines": 478,
      "logic_relevance": "none",
      "name": "puzzle-canvas",
      "normalized_name": "puzzle-canvas",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "754e1167faf29a1ad3355ee7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PuzzleToolbar | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/puzzle/store, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "PuzzleToolbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "086dd06a110ffefa",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/puzzle/store,lucide-react,next/link",
      "lines": 212,
      "logic_relevance": "none",
      "name": "puzzle-toolbar",
      "normalized_name": "puzzle-toolbar",
      "package_manager": "pnpm",
      "path": "components/puzzle/puzzle-toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "9b8673f8c3ce3fa44c980268",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b92644ada0c8ac42",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "0519982b8582d9d6f9916b0b",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "b4847b1417b2f1aaeec6e84b",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getDb, isDatabaseConfigured | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "getDb,isDatabaseConfigured",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8370400f19cb3e20",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "46acff393e17b445bf0eb53e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEMO_ROOM, DEMO_ROOMS, generateDemoPieces | imports:./engine, ./types | logic-score:85",
      "exports": "DEMO_ROOM,DEMO_ROOMS,generateDemoPieces",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1429d261726247b5",
      "framework": "next-react",
      "imports": "./engine,./types",
      "lines": 105,
      "logic_relevance": "primary",
      "name": "demo-data",
      "normalized_name": "demo-data",
      "package_manager": "pnpm",
      "path": "lib/puzzle/demo-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "logic,automation",
      "component_id": "334cd921d4831e8d84b7a459",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:applySwishPhysics, calculateProgress, canPiecesConnect, filterCornerPieces, filterEdgePieces, generatePiecePath, generatePieceShape, generatePlayerColor | imports:./types | logic-score:85 | automation-score:45",
      "exports": "applySwishPhysics,calculateProgress,canPiecesConnect,filterCornerPieces,filterEdgePieces,generatePiecePath,generatePieceShape,generatePlayerColor,generatePlayerId,generatePlayerName,getPiecesInViewport,getSnapPosition,isPieceNearTarget,scatterPieces",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "89d97874069cacec",
      "framework": "next-react",
      "imports": "./types",
      "lines": 278,
      "logic_relevance": "primary",
      "name": "engine",
      "normalized_name": "engine",
      "package_manager": "pnpm",
      "path": "lib/puzzle/engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "32f4d379a58eeb0502aeeb74",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanvasState, PieceAction, PieceShape, PlayerCursor, PuzzlePiece, PuzzleRoom, RoomPlayer, SortMode | logic-score:70",
      "exports": "CanvasState,PieceAction,PieceShape,PlayerCursor,PuzzlePiece,PuzzleRoom,RoomPlayer,SortMode,ViewportBounds",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c5d394af612d5d25",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/puzzle/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic",
      "component_id": "a297753e3d6a310ececb7526",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PuzzleContext, PuzzleStore, setStoreRef, usePuzzleStore | imports:./types, react | logic-score:85",
      "exports": "PuzzleContext,PuzzleStore,setStoreRef,usePuzzleStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e451670ea12565bd",
      "framework": "next-react",
      "imports": "./types,react",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/puzzle/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__multiplayer-puzzle-game",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "de6fb5b3b6ef22b37739808e",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "fs,gzip-size,mkdirp,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BUILD_OUTPUT_DIRECTORY | imports:fs, gzip-size, mkdirp, path | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BUILD_OUTPUT_DIRECTORY",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bb4bd977c23ae1a8",
      "framework": "next-react",
      "imports": "fs,gzip-size,mkdirp,path",
      "lines": 133,
      "logic_relevance": "none",
      "name": "report-bundle-size",
      "normalized_name": "report-bundle-size",
      "package_manager": "pnpm",
      "path": "report-bundle-size.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "752cb64a979aeca9cb2dd50d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca6f0f5cd8f86744",
      "framework": "next-react",
      "imports": "",
      "lines": 16701,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "254b88aeee40ded5e16fb8a6",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:FilledForm, env | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "FilledForm,env",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c769adbb701ffd9e",
      "framework": "next-react",
      "imports": "",
      "lines": 324,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "11b3d1b9a108b82161e2e5c6",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "65411c54afc2735b",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "git-conventional-commits",
      "normalized_name": "git-conventional-commits",
      "package_manager": "pnpm",
      "path": "git-conventional-commits.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "245b0e7e979d1e711bebaf84",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "01006ce80fb9ae10",
      "framework": "next-react",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2a2a89392f146e1f9c8c784e",
      "component_kind": "feature-ui",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LP_GRID_ITEMS | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "LP_GRID_ITEMS",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8d2908a17ed910e8",
      "framework": "next-react",
      "imports": "",
      "lines": 416,
      "logic_relevance": "none",
      "name": "lp-items",
      "normalized_name": "lp-items",
      "package_manager": "pnpm",
      "path": "lp-items.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1b2156f9947baedcb34a5f28",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test, dotenv | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fde007c8eaf1b0aa",
      "framework": "next-react",
      "imports": "@playwright/test,dotenv",
      "lines": 77,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "3e93998651a535b75e587d26",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "@vercel/otel",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:register | imports:@vercel/otel | automation-score:45",
      "exports": "register",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "08c40eeeb7257d83",
      "framework": "next-react",
      "imports": "@vercel/otel",
      "lines": 5,
      "logic_relevance": "none",
      "name": "instrumentation",
      "normalized_name": "instrumentation",
      "package_manager": "pnpm",
      "path": "instrumentation.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "71b4355bf2209620e22af55f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@next/bundle-analyzer,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./env.mjs, @next/bundle-analyzer, next | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3cdceac3c5a7edef",
      "framework": "next-react",
      "imports": "./env.mjs,@next/bundle-analyzer,next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "a548f9fe7b7183e9cfe681a6",
      "component_kind": "layout",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout | frontend-score:85 | ui-score:55",
      "exports": "RootLayout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8127095b680c4faf",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "cc0b58eca0f231764c952012",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "components,lp-items,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Web, metadata | imports:components/Button/Button, lp-items, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Web,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea4bb07e8f6f056e",
      "framework": "next-react",
      "imports": "components/Button/Button,lp-items,next",
      "lines": 66,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "90d8b5620c6fb9f44caa4ff0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9803c1af2692dece",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "739258a2f01b3d692bab04f7",
      "component_kind": "tailwind-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1f57df080b525eed",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "tailwind",
      "normalized_name": "tailwind",
      "package_manager": "pnpm",
      "path": "styles/tailwind.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "829f0e6c8ac3334b92a7efee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-tooltip,class-variance-authority,react,tailwind-merge",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipProps | imports:@radix-ui/react-tooltip, class-variance-authority, react, tailwind-merge | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Tooltip,TooltipProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34bd3136c4b8090d",
      "framework": "next-react",
      "imports": "@radix-ui/react-tooltip,class-variance-authority,react,tailwind-merge",
      "lines": 75,
      "logic_relevance": "none",
      "name": "Tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/Tooltip/Tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "91d07786049fc80fa910bb57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@storybook/react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Default | imports:./Button, @storybook/react | ui-score:125 | frontend-score:85",
      "exports": "Default",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "63323ab29a4e5746",
      "framework": "next-react",
      "imports": "./Button,@storybook/react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "Button.stories",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/Button/Button.stories.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c98f6d5dc11ba1d702c5e5cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "class-variance-authority,tailwind-merge",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps | imports:class-variance-authority, tailwind-merge | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Button,ButtonProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "988337b8785d2f09",
      "framework": "next-react",
      "imports": "class-variance-authority,tailwind-merge",
      "lines": 47,
      "logic_relevance": "none",
      "name": "Button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/Button/Button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "37b8e4146cb6bc64ada0d81f",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5f858b3ea2bfad93",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 7,
      "logic_relevance": "none",
      "name": "example.spec",
      "normalized_name": "example",
      "package_manager": "pnpm",
      "path": "e2e/example.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__my-first-nova-hbackers-preseo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "7b4136a4739e1676bd66adc4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b0449346382fa4c6",
      "framework": "unknown",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "FINAL_SUMMARY",
      "normalized_name": "final-summary",
      "package_manager": "unknown",
      "path": "FINAL_SUMMARY.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c8eff639bbfb2963796a2420",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "31ed3126f2d008c1",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "docker-compose.override",
      "normalized_name": "docker-compose-override",
      "package_manager": "unknown",
      "path": "docker-compose.override.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "9fa857b55a76f82b76ffac16",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a73106eb964fcd74",
      "framework": "unknown",
      "imports": "",
      "lines": 563,
      "logic_relevance": "none",
      "name": "manage",
      "normalized_name": "manage",
      "package_manager": "unknown",
      "path": "manage.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6e918b0aeb68b4bc3f358c90",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a53aa3221cc1ccf",
      "framework": "unknown",
      "imports": "",
      "lines": 503,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d37cdba496d114d9189c2077",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "314f5e0ba2cb7ac7",
      "framework": "unknown",
      "imports": "",
      "lines": 193,
      "logic_relevance": "none",
      "name": "QUALITY_CHECK_SUMMARY",
      "normalized_name": "quality-check-summary",
      "package_manager": "unknown",
      "path": "QUALITY_CHECK_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "observability,automation",
      "component_id": "7b719b99c44d733cf4de9f72",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a6f1e7c4a023c16",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "cloudflared",
      "normalized_name": "cloudflared",
      "package_manager": "unknown",
      "path": "cloudflared.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5da3738e5fdc1b4e6fc68d72",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "02a84eb33d7078b3",
      "framework": "unknown",
      "imports": "",
      "lines": 203,
      "logic_relevance": "none",
      "name": "README_DOCUMENTATION",
      "normalized_name": "readme-documentation",
      "package_manager": "unknown",
      "path": "README_DOCUMENTATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "d9a41159bca0f3d2dd6e5cc9",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3cd489d7432313e",
      "framework": "unknown",
      "imports": "",
      "lines": 198,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e025a31e773b1dc758a413f0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "df3a9be0152b4275",
      "framework": "unknown",
      "imports": "",
      "lines": 398,
      "logic_relevance": "none",
      "name": "stop",
      "normalized_name": "stop",
      "package_manager": "unknown",
      "path": "stop.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "f77801553d4223c15f8c8f4c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "928639cda0649908",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "setup-ssl",
      "normalized_name": "setup-ssl",
      "package_manager": "unknown",
      "path": "setup-ssl.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "c0d6c84680ebe7fee31602f5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "880776412c759ce7",
      "framework": "unknown",
      "imports": "",
      "lines": 348,
      "logic_relevance": "none",
      "name": "start",
      "normalized_name": "start",
      "package_manager": "unknown",
      "path": "start.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "2af58d002505eb860ad74757",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd9f8492b80e6b20",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "setup-ssl",
      "normalized_name": "setup-ssl",
      "package_manager": "unknown",
      "path": "setup-ssl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,automation,process,observability,security",
      "component_id": "2718f0c48ed62523bdf1f226",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | automation-score:95 | process-score:80 | observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ea2a6608f395df9e",
      "framework": "unknown",
      "imports": "",
      "lines": 828,
      "logic_relevance": "none",
      "name": "property-comp-analyzer-ai",
      "normalized_name": "property-comp-analyzer-ai",
      "package_manager": "unknown",
      "path": "seed-workflows/property-comp-analyzer-ai.json",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,automation,process,observability,security",
      "component_id": "85d5a99a1ddae780907751b4",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | automation-score:95 | process-score:80 | observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ea493483f0ac6457",
      "framework": "unknown",
      "imports": "",
      "lines": 616,
      "logic_relevance": "none",
      "name": "ai-property-comp-analyzer",
      "normalized_name": "ai-property-comp-analyzer",
      "package_manager": "unknown",
      "path": "seed-workflows/ai-property-comp-analyzer.json",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "0a2a97b73ceefbedf6a2130e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "51e6e0cefb210001",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "nad-property-context-enrich-score",
      "normalized_name": "nad-property-context-enrich-score",
      "package_manager": "unknown",
      "path": "seed-workflows/nad-property-context-enrich-score.json",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "aec13a22ef2d684593257081",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9d07355ce4be66f",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "nad-zip-high-potential-summary",
      "normalized_name": "nad-zip-high-potential-summary",
      "package_manager": "unknown",
      "path": "seed-workflows/nad-zip-high-potential-summary.json",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,automation,process,observability,security",
      "component_id": "7297c57807606fae75bdc983",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | automation-score:95 | process-score:80 | observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "95a32afbf184a03b",
      "framework": "unknown",
      "imports": "",
      "lines": 460,
      "logic_relevance": "none",
      "name": "ai-property-comp-analyzer-v2-clean",
      "normalized_name": "ai-property-comp-analyzer-v2-clean",
      "package_manager": "unknown",
      "path": "seed-workflows/ai-property-comp-analyzer-v2-clean.json",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process,security",
      "component_id": "170adff35133ba8ba2eafa73",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:80 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "813dc9e561d16577",
      "framework": "unknown",
      "imports": "",
      "lines": 333,
      "logic_relevance": "none",
      "name": "zillow-data-downloader",
      "normalized_name": "zillow-data-downloader",
      "package_manager": "unknown",
      "path": "seed-workflows/zillow-data-downloader.json",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,automation,process,observability,security",
      "component_id": "104b40844e9058790f477697",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | automation-score:95 | process-score:80 | observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "82c49b53a09b55f6",
      "framework": "unknown",
      "imports": "",
      "lines": 1270,
      "logic_relevance": "none",
      "name": "120-ai-property-comp-analyzer",
      "normalized_name": "120-ai-property-comp-analyzer",
      "package_manager": "unknown",
      "path": "seed-workflows/120-ai-property-comp-analyzer.json",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "e0925a19e6958d236f0ef9bd",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a24a2575d6b2f607",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "nad-offer-strategy-lowball",
      "normalized_name": "nad-offer-strategy-lowball",
      "package_manager": "unknown",
      "path": "seed-workflows/nad-offer-strategy-lowball.json",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation,process,security",
      "component_id": "801510cc3f17b34aa2970257",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:80 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c4dcdc3477e704f3",
      "framework": "unknown",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "zillow-single-table-loader",
      "normalized_name": "zillow-single-table-loader",
      "package_manager": "unknown",
      "path": "seed-workflows/zillow-single-table-loader.json",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "196ec57e721c1dda8aba25fe",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f4610af18be8f5a",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "workspace/n8n/n8n/.n8n/nodes/package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "015f5af2e7dfb8428dc32ef8",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f4610af18be8f5a",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "workspace/n8n/.n8n/nodes/package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security,ai",
      "component_id": "2d1b71a856f1e75647f1bda5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "161a3090ba362f7f",
      "framework": "unknown",
      "imports": "",
      "lines": 471,
      "logic_relevance": "none",
      "name": "DEPLOYMENT_GUIDE",
      "normalized_name": "deployment-guide",
      "package_manager": "unknown",
      "path": "docs/DEPLOYMENT_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ada410b4f5eda390a45cdad0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "30e38e40a9812244",
      "framework": "unknown",
      "imports": "",
      "lines": 699,
      "logic_relevance": "none",
      "name": "WORKFLOW_QUALITY_REPORT",
      "normalized_name": "workflow-quality-report",
      "package_manager": "unknown",
      "path": "docs/WORKFLOW_QUALITY_REPORT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "825d3185acc74e89c95cfa28",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".vue",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e06808706dd0521c",
      "framework": "vue",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "404",
      "normalized_name": "404",
      "package_manager": "unknown",
      "path": "public/404.vue",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,security",
      "component_id": "778bc3bd39d074ce23296ebc",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d7b6157e09919fd",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "letsencrypt-auto",
      "normalized_name": "letsencrypt-auto",
      "package_manager": "unknown",
      "path": "scripts/letsencrypt-auto.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "f089d13bbb5eb4eded7f775d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aca8db4c85f1e9fb",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "cloudflared-start",
      "normalized_name": "cloudflared-start",
      "package_manager": "unknown",
      "path": "scripts/cloudflared-start.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4f7a90c9af9f12ddff7d0400",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5e8aeeeb822da408",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": ".vscode/settings.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__n8n",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "d0a777e4e655dc02e0e63be4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "04db4d686c910ab6",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20250713_134815",
      "normalized_name": "backup-summary-20250713-134815",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250713_134815.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "271b16479e2d8e53acd239a3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "22f3605c9bab35fd",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250918_220504",
      "normalized_name": "backup-summary-20250918-220504",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250918_220504.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "78808954b04349ba7dfc0ec3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f246a7366ad5f3a4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20250713_141327",
      "normalized_name": "backup-summary-20250713-141327",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250713_141327.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "129f1604a46e026b4c9e0f2f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "436af42180e0d33c",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250916_152219",
      "normalized_name": "backup-summary-20250916-152219",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250916_152219.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "e34d261177cab46f305ba425",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cb809dd381c6006c",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250916_152027",
      "normalized_name": "backup-summary-20250916-152027",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250916_152027.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "df227a52c4a9a95614ab444b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ff4f0e0c9a6c0e1f",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250916_151926",
      "normalized_name": "backup-summary-20250916-151926",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250916_151926.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "d9f668b8e80764dff1ac53a2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cfd320af359f2e73",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20260216_151918",
      "normalized_name": "backup-summary-20260216-151918",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260216_151918.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "5fe5f84854f830c04f4a0991",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "62410cb84890f091",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250916_151649",
      "normalized_name": "backup-summary-20250916-151649",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250916_151649.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "c5f2f81009933da04bcc66a2",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "90f296dac8b66e40",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20260215_164615",
      "normalized_name": "backup-summary-20260215-164615",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260215_164615.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "6dc9bc189cc346e987361efb",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3e92fe8dea99c52a",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250916_151850",
      "normalized_name": "backup-summary-20250916-151850",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250916_151850.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "bbb3456a2af8cf4dad730edc",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "057f3f6bfd9a37d6",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20260215_164549",
      "normalized_name": "backup-summary-20260215-164549",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260215_164549.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "84bf40a97ad1975e290ea418",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3bf2828e981cd3d2",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20260216_131947",
      "normalized_name": "backup-summary-20260216-131947",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260216_131947.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "d0adfb3f0bf9a8e63702b189",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c5576d3d467e3e59",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250916_151732",
      "normalized_name": "backup-summary-20250916-151732",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250916_151732.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "a4e1e25a93686242c13748f0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "91431d4fa03155ac",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20250713_143000",
      "normalized_name": "backup-summary-20250713-143000",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250713_143000.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "f3950c5eb64d55702bf14021",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "b68d3d3751af2131",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250918_221505",
      "normalized_name": "backup-summary-20250918-221505",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250918_221505.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "e74dd32681e114684deaaace",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7c2cb698f7dbb67b",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20260215_171658",
      "normalized_name": "backup-summary-20260215-171658",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260215_171658.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "6037242e123cc21aa8049461",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3454683d4107e9c9",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20250713_135917",
      "normalized_name": "backup-summary-20250713-135917",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250713_135917.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "c6200b4307798bd6597e1fdb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "844078b32c2de5e4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20260216_140103",
      "normalized_name": "backup-summary-20260216-140103",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260216_140103.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,integration,automation",
      "component_id": "6e8bb59f2d712f77f625605e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "99ffe2be14938b16",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "backup_summary_20260216_135833",
      "normalized_name": "backup-summary-20260216-135833",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20260216_135833.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "e73924963e1e10ba9e0d1ac6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "79d04b3614889481",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20250713_142540",
      "normalized_name": "backup-summary-20250713-142540",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250713_142540.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,automation",
      "component_id": "480addea0f1c260e8b475e40",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "072a76d1a92a15fc",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "backup_summary_20250713_141129",
      "normalized_name": "backup-summary-20250713-141129",
      "package_manager": "unknown",
      "path": "backups/backup_summary_20250713_141129.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__n8n",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "observability,security,automation",
      "component_id": "3c0be66913cabed818eedeaa",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5528582debef2b23",
      "framework": "svelte",
      "imports": "",
      "lines": 6231,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "0686020cac0c48ea0a5b078b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@sveltejs/adapter-vercel,@sveltejs/kit,@sveltejs/vite-plugin-svelte,edge",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@sveltejs/adapter-vercel, @sveltejs/kit, @sveltejs/vite-plugin-svelte, edge | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f5c7b4d44c0570e6",
      "framework": "svelte",
      "imports": "@sveltejs/adapter-vercel,@sveltejs/kit,@sveltejs/vite-plugin-svelte,edge",
      "lines": 24,
      "logic_relevance": "none",
      "name": "svelte.config",
      "normalized_name": "svelte-config",
      "package_manager": "pnpm",
      "path": "svelte.config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "122f77fa30853bc10a0369e0",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@sveltejs/kit,vite",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@sveltejs/kit/vite, vite | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cc88e10e9bda89a2",
      "framework": "svelte",
      "imports": "@sveltejs/kit/vite,vite",
      "lines": 11,
      "logic_relevance": "none",
      "name": "vite.config",
      "normalized_name": "vite-config",
      "package_manager": "pnpm",
      "path": "vite.config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "process,automation",
      "component_id": "868501f4eb7a03659f096d92",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "36c93c69147d08c2",
      "framework": "svelte",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "79b980c0215b6b2717db7489",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f24ca7036dfa68b2",
      "framework": "svelte",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "1bc258d96e7859d96b1c64fd",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6d3842c27f398c50",
      "framework": "svelte",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "pnpm",
      "path": "static/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "b9128917b76bf06d1bcd3578",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a197ab5d1d73e727",
      "framework": "svelte",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "static/news.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "0cde141c0dd4885e7e5f7566",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2847aaee09e63333",
      "framework": "svelte",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "global",
      "normalized_name": "global",
      "package_manager": "pnpm",
      "path": "static/global.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "109826ff5baa549149aa35b3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90d24bc3bf698ac1",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "static/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "403edeef593d1134fb179189",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ACCESSIBILITY_TEXT, APP_TITLE, JAVASCRIPT_FALLBACK, JSON_LD_SCHEMA, LINKS, META_INFORMATION, SEO_TAGS, SVELTEKIT_PLACEHOLDERS | observability-score:55",
      "exports": "ACCESSIBILITY_TEXT,APP_TITLE,JAVASCRIPT_FALLBACK,JSON_LD_SCHEMA,LINKS,META_INFORMATION,SEO_TAGS,SVELTEKIT_PLACEHOLDERS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "749e4f23c1b894f5",
      "framework": "svelte",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "src/constants.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "04d1a3ffc49d033e234f495f",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e5c027503dc7599f",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 139,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": "src/login.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "bd346f454066bc64712936a5",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:60 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "cba3a4bb7e6b6ad5",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 171,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/news.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "fa957c2e6ff43f01095f8d84",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:data | frontend-score:60 | ui-score:55",
      "exports": "data",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46ab365ac6b3f0eb",
      "framework": "svelte",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "455325c2adf80684d6dc1873",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:HackerNewsStoryType, MenuItem, NewsArticleType, NewsItem, Page, Route, RouteMatch, RouteParams | security-score:55",
      "exports": "HackerNewsStoryType,MenuItem,NewsArticleType,NewsItem,Page,Route,RouteMatch,RouteParams,SiteData,Story",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1a391c0e5cf2256c",
      "framework": "svelte",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "app.d",
      "normalized_name": "app-d",
      "package_manager": "pnpm",
      "path": "src/app.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "integration,automation",
      "component_id": "7ca2acbf00846d429bf2f0c1",
      "component_kind": "integration-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Integration component for deployment; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "351b0b87623e8fa1",
      "framework": "svelte",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "src/vercel.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "8ddc281ecfe5dede0fdd4d82",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:60 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "cba3a4bb7e6b6ad5",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 171,
      "logic_relevance": "none",
      "name": "show",
      "normalized_name": "show",
      "package_manager": "pnpm",
      "path": "src/show.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,observability",
      "component_id": "fa20ee4664f714647849e2a6",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c613e813b7ce583",
      "framework": "svelte",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "src/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "1ee2a8e3a2df93840b8d9bb5",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/getBestStories.js, ../components/BestStories.svelte, ../components/Layout.svelte, ../components/NewsHeader.svelte, svelte | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9baf0e47e6288236",
      "framework": "svelte",
      "imports": "../api/getBestStories.js,../components/BestStories.svelte,../components/Layout.svelte,../components/NewsHeader.svelte,svelte",
      "lines": 45,
      "logic_relevance": "none",
      "name": "best",
      "normalized_name": "best",
      "package_manager": "pnpm",
      "path": "src/best.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "8fbfac911839c08d446140e4",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c41da03bccad0757",
      "framework": "svelte",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability",
      "component_id": "5711a367b2bedfd9836c3f19",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:prerender | observability-score:55",
      "exports": "prerender",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c676dfb62c0c949f",
      "framework": "svelte",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "src/index.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "a574269af716e97c64262b4a",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getAskStories.js, ../components/AskStories.svelte, svelte | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "140a0e4b94ee94a9",
      "framework": "svelte",
      "imports": "../api/hackernews/getAskStories.js,../components/AskStories.svelte,svelte",
      "lines": 64,
      "logic_relevance": "none",
      "name": "ask",
      "normalized_name": "ask",
      "package_manager": "pnpm",
      "path": "src/ask.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "e83acf477249c0a97df79dc6",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../src/components/Layout.svelte, ./components/Footer.svelte, ./components/NewsComments.svelte, ./components/NewsHeader.svelte, ./components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "8322ac9ee5103387",
      "framework": "svelte",
      "imports": "../src/components/Layout.svelte,./components/Footer.svelte,./components/NewsComments.svelte,./components/NewsHeader.svelte,./components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 176,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/app.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,ui,automation",
      "component_id": "1a1c6e16141d1946fc14fe18",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getJobStories.js, ../components/JobStories.svelte, svelte | frontend-score:60 | ui-score:55 | automation-score:50",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b1860fd5cf595d7",
      "framework": "svelte",
      "imports": "../api/hackernews/getJobStories.js,../components/JobStories.svelte,svelte",
      "lines": 45,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "src/jobs.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "95a0a0d9efa84483e248e510",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handle, handleError | imports:@sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "handle,handleError",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af375ecab5f04586",
      "framework": "svelte",
      "imports": "@sveltejs/kit",
      "lines": 19,
      "logic_relevance": "none",
      "name": "hooks.server",
      "normalized_name": "hooks-server",
      "package_manager": "pnpm",
      "path": "src/hooks.server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "f57169c6e6c8c9abf2e08104",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getBestStories.js, svelte | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9036c212f69b7f6f",
      "framework": "svelte",
      "imports": "../api/hackernews/getBestStories.js,svelte",
      "lines": 42,
      "logic_relevance": "none",
      "name": "top",
      "normalized_name": "top",
      "package_manager": "pnpm",
      "path": "src/top.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "7d415632e24b767aa81b9164",
      "component_kind": "layout",
      "confidence": 90,
      "dependency_roots": "@vercel/analytics",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:data | imports:../src/components/Footer.svelte, ../src/components/Header.svelte, @vercel/analytics | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "data",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f59e970e9e23d5b",
      "framework": "svelte",
      "imports": "../src/components/Footer.svelte,../src/components/Header.svelte,@vercel/analytics",
      "lines": 64,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5ff4e3b89f9cae6e2c21099c",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../lib/Auth.svelte | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e0f9d797e2eab2a0",
      "framework": "svelte",
      "imports": "../lib/Auth.svelte",
      "lines": 123,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "src/signup.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d2b67fbc46b510546ca9e4ef",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NewsItem | security-score:55",
      "exports": "NewsItem",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "773956e9da8a389d",
      "framework": "svelte",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/types/news.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5368285ecde4cd69f4a83258",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:NewsItem | security-score:55",
      "exports": "NewsItem",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f153b2ddd5242dd0",
      "framework": "svelte",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "newsItem.d",
      "normalized_name": "news-item-d",
      "package_manager": "pnpm",
      "path": "src/types/newsItem.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "e75a6fc74aa0d91e53c1b353",
      "component_kind": "utility",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:formatDate | logic-score:60",
      "exports": "formatDate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "058b98008188fa44",
      "framework": "svelte",
      "imports": "",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "dateUtils",
      "normalized_name": "date-utils",
      "package_manager": "pnpm",
      "path": "src/utils/dateUtils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "705542aa40e22e0e9c6b087b",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:capitalize, debounce, formatDate, formatNumber, getEnvVars, truncateText | logic-score:85 | observability-score:55 | uses-env",
      "exports": "capitalize,debounce,formatDate,formatNumber,getEnvVars,truncateText",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5895ef06f05ea650",
      "framework": "svelte",
      "imports": "",
      "lines": 187,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "src/utils/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "dc7ef02aa1e47cde89c3def1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app,svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/environment, ../../services/hackernewsService, ./Story.svelte, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c413028a5b7745f5",
      "framework": "svelte",
      "imports": "$app/environment,../../services/hackernewsService,./Story.svelte,svelte",
      "lines": 121,
      "logic_relevance": "none",
      "name": "News",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/components/News.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "1527cef23946fbea54b0c96a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sections | imports:svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "sections",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "c112ecc610556002",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 166,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/components/Header.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "d63535204360edbf9b15b828",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:./NewsComments.svelte, ./NewsHeader.svelte, ./NewsMore.svelte, svelte | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "010d643b88d62495",
      "framework": "svelte",
      "imports": "./NewsComments.svelte,./NewsHeader.svelte,./NewsMore.svelte,svelte",
      "lines": 171,
      "logic_relevance": "none",
      "name": "ShowStories",
      "normalized_name": "show-stories",
      "package_manager": "pnpm",
      "path": "src/components/ShowStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "f16bd8e663cdb8bf48d3df86",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "4afe81159533480a",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 136,
      "logic_relevance": "none",
      "name": "TopStories",
      "normalized_name": "top-stories",
      "package_manager": "pnpm",
      "path": "src/components/TopStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "4885507087c6b029e89ff92d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../routes/api/hackernews/getBestStories.js, svelte | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15c2a0bf1f92680a",
      "framework": "svelte",
      "imports": "../routes/api/hackernews/getBestStories.js,svelte",
      "lines": 157,
      "logic_relevance": "none",
      "name": "BestStories",
      "normalized_name": "best-stories",
      "package_manager": "pnpm",
      "path": "src/components/BestStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "7919650a963b6a26052ceb9d",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca75d0604dedb9d3",
      "framework": "svelte",
      "imports": "",
      "lines": 167,
      "logic_relevance": "none",
      "name": "NewsMore",
      "normalized_name": "news-more",
      "package_manager": "pnpm",
      "path": "src/components/NewsMore.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fb3119dad06e8132f1cb0ae4",
      "component_kind": "layout",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./Header.svelte, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "f39c04cec1a38ce8",
      "framework": "svelte",
      "imports": "./Header.svelte,svelte",
      "lines": 174,
      "logic_relevance": "none",
      "name": "Layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/components/Layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "62809fa60ecc7328b7346857",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@sveltejs/kit,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@sveltejs/kit, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "ff6d86c85fe27e41",
      "framework": "svelte",
      "imports": "@sveltejs/kit,svelte",
      "lines": 78,
      "logic_relevance": "none",
      "name": "Auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "src/components/Auth.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "600f4195d64f1c07d37b9a98",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d08726ced5d48b9a",
      "framework": "svelte",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "src/components/Footer.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "2c63e2118069aefb4bcc42d3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../utils/dateUtils, svelte | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b689d49a4631817f",
      "framework": "svelte",
      "imports": "../utils/dateUtils,svelte",
      "lines": 71,
      "logic_relevance": "none",
      "name": "NewsHeader",
      "normalized_name": "news-header",
      "package_manager": "pnpm",
      "path": "src/components/NewsHeader.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,security",
      "component_id": "43928f6787bb7649be2bfca1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../routes/api/hackernews/getAskStories, svelte | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1c097f32d028603f",
      "framework": "svelte",
      "imports": "../routes/api/hackernews/getAskStories,svelte",
      "lines": 133,
      "logic_relevance": "none",
      "name": "AskStories",
      "normalized_name": "ask-stories",
      "package_manager": "pnpm",
      "path": "src/components/AskStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "378b94fcdb8582b5d22f9d81",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "17fcb6c11d21f670",
      "framework": "svelte",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "NewsComments",
      "normalized_name": "news-comments",
      "package_manager": "pnpm",
      "path": "src/components/NewsComments.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,security",
      "component_id": "350b726256047e34b1738cbe",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../routes/api/hackernews/getJobStories, svelte | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5253050596b08eeb",
      "framework": "svelte",
      "imports": "../routes/api/hackernews/getJobStories,svelte",
      "lines": 167,
      "logic_relevance": "none",
      "name": "JobStories",
      "normalized_name": "job-stories",
      "package_manager": "pnpm",
      "path": "src/components/JobStories.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "dbe1b2da791a2a1e10e9f754",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "sanitize-html,svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../utils, sanitize-html, svelte | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dacf6d8cac04b103",
      "framework": "svelte",
      "imports": "../utils,sanitize-html,svelte",
      "lines": 164,
      "logic_relevance": "none",
      "name": "Story",
      "normalized_name": "story",
      "package_manager": "pnpm",
      "path": "src/components/Story.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "630156b61445cb1003a8f94b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6d3842c27f398c50",
      "framework": "svelte",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "pnpm",
      "path": "src/static/styles.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "d8cc467adc1fd3373c0e312f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a197ab5d1d73e727",
      "framework": "svelte",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/static/news.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "dfb120588a1fb032a7f3d26d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2847aaee09e63333",
      "framework": "svelte",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "global",
      "normalized_name": "global",
      "package_manager": "pnpm",
      "path": "src/static/global.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "88e9b1763a9c36f62d6f0c77",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90d24bc3bf698ac1",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "src/static/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "acef2016eabe51ef904c263f",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "svelte",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useMediaQuery | imports:svelte, svelte/store | observability-score:55",
      "exports": "useMediaQuery",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3ee2ae3d853635a5",
      "framework": "svelte",
      "imports": "svelte,svelte/store",
      "lines": 30,
      "logic_relevance": "none",
      "name": "useMediaQuery",
      "normalized_name": "use-media-query",
      "package_manager": "pnpm",
      "path": "src/hooks/useMediaQuery.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "security",
      "component_id": "ecf694290a0c89d4a4e69ded",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "svelte",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useLocalStorage | imports:svelte/store | security-score:55",
      "exports": "useLocalStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "73ff6eea2321d2b3",
      "framework": "svelte",
      "imports": "svelte/store",
      "lines": 12,
      "logic_relevance": "none",
      "name": "useLocalStorage",
      "normalized_name": "use-local-storage",
      "package_manager": "pnpm",
      "path": "src/hooks/useLocalStorage.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,frontend,ui",
      "component_id": "39f3b88f144adcaf3b6fce3a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:svelte/motion | logic-score:70 | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "f61a7d30343c11b3",
      "framework": "svelte",
      "imports": "svelte/motion",
      "lines": 107,
      "logic_relevance": "primary",
      "name": "Counter",
      "normalized_name": "counter",
      "package_manager": "pnpm",
      "path": "src/lib/Counter.svelte",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "bcc68cd78cc031b5d53f3b5e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "web-vitals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:webVitals | imports:web-vitals | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "webVitals",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4f9b1141dec0b05e",
      "framework": "svelte",
      "imports": "web-vitals",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "vitals",
      "normalized_name": "vitals",
      "package_manager": "pnpm",
      "path": "src/lib/vitals.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ui,security",
      "component_id": "4aee749fb3fa39e475b38ab1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "$app",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:enhance | imports:$app/navigation | logic-score:85 | ui-score:70 | security-score:55",
      "exports": "enhance",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba4691e9d669255e",
      "framework": "svelte",
      "imports": "$app/navigation",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "src/lib/form.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability",
      "component_id": "93a434f4e2cdb5cbc88c5c1e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:$app/stores, ./svelte-logo.svg | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "81d540a2f3b09092",
      "framework": "svelte",
      "imports": "$app/stores,./svelte-logo.svg",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/lib/header/Header.svelte",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "6199ae680a0949f02e3803e7",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e5c027503dc7599f",
      "framework": "svelte",
      "imports": "svelte",
      "lines": 139,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": "src/routes/login.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "93d8b92e2959dbc8f17d20c6",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "cba3a4bb7e6b6ad5",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 171,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/routes/news.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,backend",
      "component_id": "197a43b4ca4316025561cb06",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:data | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "data",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46ab365ac6b3f0eb",
      "framework": "svelte",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a881b7e5a482e8d85039779e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "669047c007a05a8c",
      "framework": "svelte",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "+layout.server",
      "normalized_name": "layout-server",
      "package_manager": "pnpm",
      "path": "src/routes/+layout.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "82d5206be10ef947a7cde8e7",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer.svelte, ../components/Layout.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "cba3a4bb7e6b6ad5",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Layout.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 171,
      "logic_relevance": "none",
      "name": "show",
      "normalized_name": "show",
      "package_manager": "pnpm",
      "path": "src/routes/show.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,backend,observability",
      "component_id": "1b2c34160d9e351302a04873",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c613e813b7ce583",
      "framework": "svelte",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "src/routes/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,backend",
      "component_id": "315a8aa84cd53a2c3a63bcc7",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/getBestStories.js, ../components/BestStories.svelte, ../components/Layout.svelte, ../components/NewsHeader.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30021ecd77738c51",
      "framework": "svelte",
      "imports": "../api/getBestStories.js,../components/BestStories.svelte,../components/Layout.svelte,../components/NewsHeader.svelte,svelte",
      "lines": 45,
      "logic_relevance": "none",
      "name": "best",
      "normalized_name": "best",
      "package_manager": "pnpm",
      "path": "src/routes/best.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,backend",
      "component_id": "c169534e685c5891346c9582",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getAskStories.js, ../components/AskStories.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "140a0e4b94ee94a9",
      "framework": "svelte",
      "imports": "../api/hackernews/getAskStories.js,../components/AskStories.svelte,svelte",
      "lines": 64,
      "logic_relevance": "none",
      "name": "ask",
      "normalized_name": "ask",
      "package_manager": "pnpm",
      "path": "src/routes/ask.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,backend,security,automation",
      "component_id": "b36839dc383bc11b4f2e1fcc",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,svelte",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../ccomponents/Layout.svelte, ../components/Footer.svelte, ../components/NewsComments.svelte, ../components/NewsHeader.svelte, ../components/NewsMore.svelte, @vercel/analytics, svelte | frontend-score:85 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "5873ef5896fedb34",
      "framework": "svelte",
      "imports": "../ccomponents/Layout.svelte,../components/Footer.svelte,../components/NewsComments.svelte,../components/NewsHeader.svelte,../components/NewsMore.svelte,@vercel/analytics,svelte",
      "lines": 176,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/routes/app.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,ui,backend,automation",
      "component_id": "befab25f668e26ce17b28106",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getJobStories.js, ../components/JobStories.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b1860fd5cf595d7",
      "framework": "svelte",
      "imports": "../api/hackernews/getJobStories.js,../components/JobStories.svelte,svelte",
      "lines": 45,
      "logic_relevance": "none",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "src/routes/jobs.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "2d1615046583c2642ebe62bb",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:prerender | backend-score:55 | observability-score:55",
      "exports": "prerender",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "52b92119cb17ebf2",
      "framework": "svelte",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/+page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,backend",
      "component_id": "f69f80d9148a97cc615516f6",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getBestStories.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9036c212f69b7f6f",
      "framework": "svelte",
      "imports": "../api/hackernews/getBestStories.js,svelte",
      "lines": 42,
      "logic_relevance": "none",
      "name": "top",
      "normalized_name": "top",
      "package_manager": "pnpm",
      "path": "src/routes/top.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,backend,automation",
      "component_id": "9ed0a30bcfa6a6ae401df747",
      "component_kind": "layout",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit,@vercel/analytics",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:csr, data, prerender, ssr, trailingSlash | imports:../components/Footer.svelte, ../components/Header.svelte, @sveltejs/kit, @vercel/analytics | frontend-score:85 | ui-score:55 | backend-score:55 | automation-score:45",
      "exports": "csr,data,prerender,ssr,trailingSlash",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "246dd3e6d1bfa67e",
      "framework": "svelte",
      "imports": "../components/Footer.svelte,../components/Header.svelte,@sveltejs/kit,@vercel/analytics",
      "lines": 86,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/routes/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "96fef4c675200923b979c8fb",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../lib/Auth.svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e0f9d797e2eab2a0",
      "framework": "svelte",
      "imports": "../lib/Auth.svelte",
      "lines": 123,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "src/routes/signup.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend,security",
      "component_id": "ea65d06c6d51716b489c3999",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../api/hackernews/getTopStories.js, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "913b33dc88a09afb",
      "framework": "svelte",
      "imports": "../api/hackernews/getTopStories.js,svelte",
      "lines": 171,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/top/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,backend",
      "component_id": "7ebfeb4a0425c800c49361bd",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../api/hackernews/getAskStories/+server.ts, ../../components/AskStories.svelte, ../../routes/api/hackernews/getAskStories, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "377b4b481729a08c",
      "framework": "svelte",
      "imports": "../../api/hackernews/getAskStories/+server.ts,../../components/AskStories.svelte,../../routes/api/hackernews/getAskStories,svelte",
      "lines": 64,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/ask/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "a937f5932854e7ae573fdcd5",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/Auth.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "c544e82c4c329884",
      "framework": "svelte",
      "imports": "../../components/Auth.svelte,svelte",
      "lines": 79,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/signup/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,backend,security",
      "component_id": "02487f723036b10f4fdb1492",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/NewsMore.svelte, ../../components/ShowStories.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d270146f2c5c6792",
      "framework": "svelte",
      "imports": "../../components/NewsMore.svelte,../../components/ShowStories.svelte,svelte",
      "lines": 166,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/show/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "04cf14930c524cd44aba61ae",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../api/hackernews/getBestStories/+server.ts, ../../components/BestStories.svelte, ../../routes/api/hackernews/getBestStories, svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ee7881388e13967",
      "framework": "svelte",
      "imports": "../../api/hackernews/getBestStories/+server.ts,../../components/BestStories.svelte,../../routes/api/hackernews/getBestStories,svelte",
      "lines": 64,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/best/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "8f539ad38d767cf3946d0c1c",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/Story.svelte, ../../services/hackernewsService, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "380d7862b3817ff5",
      "framework": "svelte",
      "imports": "../../components/Story.svelte,../../services/hackernewsService,svelte",
      "lines": 114,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/routes/news/news.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0d50ad465eef2df8e1a78733",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ccfb22b6d9f30e5b",
      "framework": "svelte",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "news.d",
      "normalized_name": "news-d",
      "package_manager": "pnpm",
      "path": "src/routes/news/news.d.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "caaa44bd2a11127f57b911fc",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HN_BASE_URL | backend-score:55",
      "exports": "HN_BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7e0ef60d912b69e1",
      "framework": "svelte",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/constants.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "4e4dc02523bae789f6948736",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:./constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "64245988d135904b",
      "framework": "svelte",
      "imports": "./constants",
      "lines": 42,
      "logic_relevance": "none",
      "name": "getAskStories",
      "normalized_name": "get-ask-stories",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getAskStories.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "91303893e4dd4d83ffe12bc8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8b33f101d33d450a",
      "framework": "svelte",
      "imports": "../hackernews/constants",
      "lines": 69,
      "logic_relevance": "none",
      "name": "getShowStories",
      "normalized_name": "get-show-stories",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getShowStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "b5eb6aeff6d5c5249b219e05",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d8db4c43d7ccb6a7",
      "framework": "svelte",
      "imports": "../hackernews/constants",
      "lines": 90,
      "logic_relevance": "none",
      "name": "getTopStories",
      "normalized_name": "get-top-stories",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getTopStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "4a6662c04423b93861ae5af0",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./constants | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "512ca9100a50539f",
      "framework": "svelte",
      "imports": "./constants",
      "lines": 29,
      "logic_relevance": "none",
      "name": "getAskStories",
      "normalized_name": "get-ask-stories",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getAskStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "adb107fb5b357dbc158db4ef",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ACCESSIBILITY_TEXT, APP_TITLE, HN_BASE_URL, JAVASCRIPT_FALLBACK, JSON_LD_SCHEMA, LINKS, META_INFORMATION, SEO_TAGS | backend-score:55 | observability-score:55",
      "exports": "ACCESSIBILITY_TEXT,APP_TITLE,HN_BASE_URL,JAVASCRIPT_FALLBACK,JSON_LD_SCHEMA,LINKS,META_INFORMATION,SEO_TAGS,SVELTEKIT_PLACEHOLDERS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d5db48a2ed6a12cb",
      "framework": "svelte",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/constants.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "71d639441f0496b1cda0c115",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec8c7c8c21d52789",
      "framework": "svelte",
      "imports": "../hackernews/constants",
      "lines": 51,
      "logic_relevance": "none",
      "name": "getJobStories",
      "normalized_name": "get-job-stories",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getJobStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "331db18da103d270ffd44eca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../hackernews/constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d08c6a5051d24f7b",
      "framework": "svelte",
      "imports": "../hackernews/constants",
      "lines": 29,
      "logic_relevance": "none",
      "name": "getBestStories",
      "normalized_name": "get-best-stories",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getBestStories.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "c8c8496de90ceef16da2de75",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dfeee5b715f70ae3",
      "framework": "svelte",
      "imports": "../constants",
      "lines": 43,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getJobStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "bd4f78ad415f8d9cfc3b1e69",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ccd9f28f6481eb32",
      "framework": "svelte",
      "imports": "../constants",
      "lines": 43,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getShowStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "b79f0c84f898824bdaaa9b88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4698123723d71b0b",
      "framework": "svelte",
      "imports": "../constants",
      "lines": 43,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getBestStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "eaa4ff9910a706904d6b46a5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b7c8ff5ad9800b7b",
      "framework": "svelte",
      "imports": "../constants,@sveltejs/kit",
      "lines": 78,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getTopStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "2a83e0ea7c496180353bf555",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2814e931b68f1d9",
      "framework": "svelte",
      "imports": "../constants",
      "lines": 44,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/getAskStories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,security",
      "component_id": "eee9d8a432f8634d15e63ae3",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "69012b81886527ce",
      "framework": "svelte",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": "src/routes/api/auth/login.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2f4eaa256e839157331c7215",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f198f923b4da9c88",
      "framework": "svelte",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "src/routes/api/auth/signup.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c0f30537e1e6b4f15bae6318",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "de2cf33f6e005cde",
      "framework": "svelte",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": "src/routes/api/auth/login.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "6951bd4d62546d13744ae295",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d8f905c6ae0e45a3",
      "framework": "svelte",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "src/routes/api/auth/signup.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a74408dad5eeb53c765e6143",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,dotenv",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, HACKER_NEWS_API_URL, MAX_RETRIES, NEWS_API_KEY, NEWS_API_URL | imports:@sveltejs/kit, dotenv | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,HACKER_NEWS_API_URL,MAX_RETRIES,NEWS_API_KEY,NEWS_API_URL",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "052bf01b3f038d52",
      "framework": "svelte",
      "imports": "@sveltejs/kit,dotenv",
      "lines": 115,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/getLatestNews/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "735e8186eded4506e0de85a5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit,dotenv",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, NEWS_API_KEY | imports:@sveltejs/kit, dotenv | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,NEWS_API_KEY",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3d7b6608656a30c5",
      "framework": "svelte",
      "imports": "@sveltejs/kit,dotenv",
      "lines": 122,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/getNewsDetails/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,automation",
      "component_id": "34392c31275db8dc04f2a3a9",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/JobStories.svelte, svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "ccb731ba43ca4ae1",
      "framework": "svelte",
      "imports": "../../components/JobStories.svelte,svelte",
      "lines": 56,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/jobs/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "aa4214b3a264d37f71e04374",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/Auth.svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "98747e3f70005a6e",
      "framework": "svelte",
      "imports": "../../components/Auth.svelte",
      "lines": 56,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/login/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5ecd615256ff23cfe6bcdbc6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "svelte",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:hackernewsStore | imports:svelte/store | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "hackernewsStore",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b3a47ead902a6684",
      "framework": "svelte",
      "imports": "svelte/store",
      "lines": 158,
      "logic_relevance": "none",
      "name": "hackernewsService",
      "normalized_name": "hackernews-service",
      "package_manager": "pnpm",
      "path": "src/services/hackernewsService.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,security",
      "component_id": "b3ed31ebfd6a3e57d5c80f8f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "app,svelte",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:HackerNewsState, HackerNewsStory, NewsArticle, fetchAskStories, fetchBestStories, fetchData, fetchJobStories, fetchShowStories | imports:app, svelte/store | backend-score:55 | security-score:55",
      "exports": "HackerNewsState,HackerNewsStory,NewsArticle,fetchAskStories,fetchBestStories,fetchData,fetchJobStories,fetchShowStories,fetchStoryWithChildren,fetchTopStories,getCachedData,hackernewsStore,updateStoreData,updateStoreError",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c26cda2baf9199c1",
      "framework": "svelte",
      "imports": "app,svelte/store",
      "lines": 75,
      "logic_relevance": "none",
      "name": "hackernewsService.d",
      "normalized_name": "hackernews-service-d",
      "package_manager": "pnpm",
      "path": "src/services/hackernewsService.d.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__news-api",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "908361267799a9e8b77aa060",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27840669aedc785d",
      "framework": "next-react",
      "imports": "",
      "lines": 7542,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5bb18ce921889f5fb8466135",
      "component_kind": "middleware",
      "confidence": 85,
      "dependency_roots": "@/app,next-auth",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/app/(auth)/auth.config, next-auth | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f26b90b8031dfb2b",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth.config,next-auth",
      "lines": 9,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "7d8210c625b792dc6731bf5d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0945c19e6294dbc4",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "36d1096ad091492056a2c26e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8d69329a1263619f",
      "framework": "next-react",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "f304c6102460062396c3b37a",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:next | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3deda32b96e24d0",
      "framework": "next-react",
      "imports": "next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "19337d8e02c693feb3504f49",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:codeBlock | imports:@/components/code-editor, @/components/console, @/components/create-block, @/components/icons, @/lib/utils, sonner | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "codeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35719c8dcf5a7e8d",
      "framework": "next-react",
      "imports": "@/components/code-editor,@/components/console,@/components/create-block,@/components/icons,@/lib/utils,sonner",
      "lines": 270,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "blocks/code/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "bd411ebefb653d190e7dc3a3",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:codeDocumentHandler | imports:@/lib/ai/models, @/lib/ai/prompts, @/lib/blocks/server, ai, zod | ai-score:120 | backend-score:90",
      "exports": "codeDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7614175ec9381275",
      "framework": "next-react",
      "imports": "@/lib/ai/models,@/lib/ai/prompts,@/lib/blocks/server,ai,zod",
      "lines": 73,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "blocks/code/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "edc872099ae7534edd0e1443",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,sonner",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:imageBlock | imports:@/components/create-block, @/components/icons, @/components/image-editor, sonner | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "imageBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "078cf9ea743472a3",
      "framework": "next-react",
      "imports": "@/components/create-block,@/components/icons,@/components/image-editor,sonner",
      "lines": 76,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "blocks/image/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "5495c9febc498d1ebf2ad5ac",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:imageDocumentHandler | imports:@/lib/ai/models, @/lib/blocks/server, ai | ai-score:120 | backend-score:55",
      "exports": "imageDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "252f686b7b6e76e2",
      "framework": "next-react",
      "imports": "@/lib/ai/models,@/lib/blocks/server,ai",
      "lines": 43,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "blocks/image/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability",
      "component_id": "4169861043c6cbd443ab4401",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,sonner",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:textBlock | imports:../actions, @/components/create-block, @/components/diffview, @/components/document-skeleton, @/components/editor, @/components/icons, @/lib/db/schema, sonner | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "textBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66dc227d75eaae4a",
      "framework": "next-react",
      "imports": "../actions,@/components/create-block,@/components/diffview,@/components/document-skeleton,@/components/editor,@/components/icons,@/lib/db/schema,sonner",
      "lines": 178,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "blocks/text/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "6458f2e22d20aded3d2b0681",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:textDocumentHandler | imports:@/lib/ai/models, @/lib/ai/prompts, @/lib/blocks/server, ai | ai-score:120 | backend-score:55 | model-provider",
      "exports": "textDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "878fa81f5017cd77",
      "framework": "next-react",
      "imports": "@/lib/ai/models,@/lib/ai/prompts,@/lib/blocks/server,ai",
      "lines": 70,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "blocks/text/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability",
      "component_id": "d43d46f415028159dd5d749d",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,papaparse,sonner",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:sheetBlock | imports:@/components/create-block, @/components/icons, @/components/sheet-editor, papaparse, sonner | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "sheetBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68fe661693582a2b",
      "framework": "next-react",
      "imports": "@/components/create-block,@/components/icons,@/components/sheet-editor,papaparse,sonner",
      "lines": 115,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "blocks/sheet/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "068447b987ffce64ef0e2968",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:sheetDocumentHandler | imports:@/lib/ai/models, @/lib/ai/prompts, @/lib/blocks/server, ai, zod | ai-score:120 | backend-score:90",
      "exports": "sheetDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "09f6c4bb3a76dcaf",
      "framework": "next-react",
      "imports": "@/lib/ai/models,@/lib/ai/prompts,@/lib/blocks/server,ai,zod",
      "lines": 78,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "blocks/sheet/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "4bfc2bdd556647d94969f4a4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata, viewport | imports:@/components/theme-provider, next, sonner | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93094965bb9f7a3f",
      "framework": "next-react",
      "imports": "@/components/theme-provider,next,sonner",
      "lines": 72,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "735ab3747226f2e2d949206f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "171260b40bdc74eb",
      "framework": "next-react",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d485892012825019f21a7133",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "next-auth",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:authConfig | imports:next-auth | observability-score:55 | security-score:55",
      "exports": "authConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "11a3a67a04cec3ee",
      "framework": "next-react",
      "imports": "next-auth",
      "lines": 39,
      "logic_relevance": "none",
      "name": "auth.config",
      "normalized_name": "auth-config",
      "package_manager": "pnpm",
      "path": "app/(auth)/auth.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c4b5bd6f8e723a11780bb042",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LoginActionState, RegisterActionState, login, register | imports:./auth, @/lib/db/queries, zod | observability-score:55 | security-score:55",
      "exports": "LoginActionState,RegisterActionState,login,register",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f05206e272dd4fbf",
      "framework": "next-react",
      "imports": "./auth,@/lib/db/queries,zod",
      "lines": 84,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(auth)/actions.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ff7713b15b44a11e091d857c",
      "component_kind": "auth",
      "confidence": 75,
      "dependency_roots": "@/lib,bcrypt-ts,next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:./auth.config, @/lib/db/queries, bcrypt-ts, next-auth, next-auth/providers/credentials | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a1d67c35026cd18",
      "framework": "next-react",
      "imports": "./auth.config,@/lib/db/queries,bcrypt-ts,next-auth,next-auth/providers/credentials",
      "lines": 55,
      "logic_relevance": "none",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "app/(auth)/auth.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ab48ef563de9939dd525232a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../actions, @/components/auth-form, @/components/submit-button, next/link, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a726f309ce72d146",
      "framework": "next-react",
      "imports": "../actions,@/components/auth-form,@/components/submit-button,next/link,next/navigation,react,sonner",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(auth)/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7918fbec5189042e2dc23e4e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/(auth)/auth | backend-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8785ef0eb6dd144d",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(auth)/api/auth/[...nextauth]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "03cd94fb259156f3b60e6b54",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../actions, @/components/auth-form, @/components/submit-button, next/link, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbc1277a5bb3c791",
      "framework": "next-react",
      "imports": "../actions,@/components/auth-form,@/components/submit-button,next/link,next/navigation,react,sonner",
      "lines": 67,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(auth)/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend",
      "component_id": "b69d83d39d0a05067bda0f39",
      "component_kind": "ai-chat",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,ai,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/components/visibility-selector, @/lib/ai/models, @/lib/db/queries, ai, next/headers | ai-score:120 | frontend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "32228ac8285d90ec",
      "framework": "next-react",
      "imports": "@/components/visibility-selector,@/lib/ai/models,@/lib/db/queries,ai,next/headers",
      "lines": 54,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(chat)/actions.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,security",
      "component_id": "19d97effcc1e7b234f1db500",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:experimental_ppr | imports:../(auth)/auth, @/components/app-sidebar, @/components/ui/sidebar, next/headers, next/script | frontend-score:115 | ai-score:75 | ui-score:55 | security-score:55",
      "exports": "experimental_ppr",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e46d2209af77771",
      "framework": "next-react",
      "imports": "../(auth)/auth,@/components/app-sidebar,@/components/ui/sidebar,next/headers,next/script",
      "lines": 31,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(chat)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "9d9683b3f7b8dec11f60e225",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Page | imports:@/components/chat, @/components/data-stream-handler, @/lib/ai/models, @/lib/utils, next/headers | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1ffc7f46abfc0692",
      "framework": "next-react",
      "imports": "@/components/chat,@/components/data-stream-handler,@/lib/ai/models,@/lib/utils,next/headers",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(chat)/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "ed2248dc3df693681ffad98b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Page | imports:@/app/(auth)/auth, @/components/chat, @/components/data-stream-handler, @/lib/ai/models, @/lib/db/queries, @/lib/utils, next/headers, next/navigation | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "926edb866f327853",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/components/chat,@/components/data-stream-handler,@/lib/ai/models,@/lib/db/queries,@/lib/utils,next/headers,next/navigation",
      "lines": 66,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(chat)/chat/[id]/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "e11e490eb03ba8cc6dbc3ee1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c569d734b47449a6",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/vote/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "d6d13c06f611ae0d96facb13",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,ai",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:../../actions, @/app/(auth)/auth, @/lib/ai/models, @/lib/ai/prompts, @/lib/ai/tools/create-document, @/lib/ai/tools/get-weather, @/lib/ai/tools/request-suggestions, @/lib/ai/tools/update-document | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "da10013ae5f4dc26",
      "framework": "next-react",
      "imports": "../../actions,@/app/(auth)/auth,@/lib/ai/models,@/lib/ai/prompts,@/lib/ai/tools/create-document,@/lib/ai/tools/get-weather,@/lib/ai/tools/request-suggestions,@/lib/ai/tools/update-document,@/lib/db/queries,@/lib/utils,ai",
      "lines": 158,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "ff95a0ab669939af8902558a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH, POST | imports:@/app/(auth)/auth, @/components/block, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,PATCH,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52b0d41668458e63",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/components/block,@/lib/db/queries",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/document/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "c07463c5a72d1aaaab3af526",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18cba09a699bcba1",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "c8047ac410407127d8a27230",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@vercel/blob,next,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FileSchema, POST | imports:@/app/(auth)/auth, @vercel/blob, next/server, zod | backend-score:160 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "FileSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19dd3603d5f9fbfc",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@vercel/blob,next/server,zod",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/files/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "3fece9d9e4df6119003dac8e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa6ba1c3d8850eb6",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/suggestions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,process,logic,automation",
      "component_id": "7ede5713766de1c81c7edbff",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@ai-sdk/anthropic,@ai-sdk/openai,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:myProvider | imports:@ai-sdk/anthropic, @ai-sdk/openai, ai | ai-score:120 | process-score:110 | logic-score:45 | automation-score:45 | model-provider",
      "exports": "myProvider",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ade8ef4a61c81065",
      "framework": "next-react",
      "imports": "@ai-sdk/anthropic,@ai-sdk/openai,ai",
      "lines": 53,
      "logic_relevance": "secondary",
      "name": "02-update-models",
      "normalized_name": "02-update-models",
      "package_manager": "pnpm",
      "path": "docs/02-update-models.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "50a5662e43fe02ba6bb76b81",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f8a326e63c473301",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "01-quick-start",
      "normalized_name": "01-quick-start",
      "package_manager": "pnpm",
      "path": "docs/01-quick-start.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,ai,observability,security",
      "component_id": "f55e86453af23eaab725dabe",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/blocks,@/components,@/lib,ai,sonner",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:blockDefinitions, blockKinds, customBlock, customDocumentHandler, document, documentHandlersByBlockKind | imports:@/blocks/custom/client, @/components/create-block, @/components/example-component, @/lib/ai/models, @/lib/ai/prompts, @/lib/blocks/server, ai, sonner | process-score:145 | ai-score:120 | observability-score:55 | security-score:55 | model-provider",
      "exports": "blockDefinitions,blockKinds,customBlock,customDocumentHandler,document,documentHandlersByBlockKind",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "59fde2bf0344fed9",
      "framework": "next-react",
      "imports": "@/blocks/custom/client,@/components/create-block,@/components/example-component,@/lib/ai/models,@/lib/ai/prompts,@/lib/blocks/server,ai,sonner",
      "lines": 258,
      "logic_relevance": "none",
      "name": "03-blocks",
      "normalized_name": "03-blocks",
      "package_manager": "pnpm",
      "path": "docs/03-blocks.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "e1ca7bc6d3fa9672d01a643c",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-themes",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, next-themes/dist/types | frontend-score:85 | ui-score:55",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36ef6110a5669e7a",
      "framework": "next-react",
      "imports": "next-themes,next-themes/dist/types",
      "lines": 8,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2bf6fc0eb624f84c0c4761c3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentSkeleton, InlineDocumentSkeleton | imports:./block | frontend-score:85 | ui-score:55",
      "exports": "DocumentSkeleton,InlineDocumentSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a16724c07de0dc5",
      "framework": "next-react",
      "imports": "./block",
      "lines": 35,
      "logic_relevance": "none",
      "name": "document-skeleton",
      "normalized_name": "document-skeleton",
      "package_manager": "pnpm",
      "path": "components/document-skeleton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7fd6dab0dcfb2b7af3e54a16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,date-fns,next,next-auth,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChatItem, SidebarHistory | imports:@/components/icons, @/components/ui/alert-dialog, @/components/ui/dropdown-menu, @/components/ui/sidebar, @/hooks/use-chat-visibility, @/lib/db/schema, @/lib/utils, date-fns | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChatItem,SidebarHistory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36ee0db9859dd187",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/alert-dialog,@/components/ui/dropdown-menu,@/components/ui/sidebar,@/hooks/use-chat-visibility,@/lib/db/schema,@/lib/utils,date-fns,next-auth,next/link,next/navigation,react,sonner,swr",
      "lines": 417,
      "logic_relevance": "none",
      "name": "sidebar-history",
      "normalized_name": "sidebar-history",
      "package_manager": "pnpm",
      "path": "components/sidebar-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability",
      "component_id": "44a75ffa8891e018eb900ee2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentToolCall, DocumentToolResult | imports:./block, ./icons, @/hooks/use-block, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DocumentToolCall,DocumentToolResult",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0aa0b0e8d5897f78",
      "framework": "next-react",
      "imports": "./block,./icons,@/hooks/use-block,react,sonner",
      "lines": 151,
      "logic_relevance": "none",
      "name": "document",
      "normalized_name": "document",
      "package_manager": "pnpm",
      "path": "components/document.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "1b7674d5433fc522edbe5828",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessageReasoning | imports:./icons, ./markdown, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MessageReasoning",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8720188d626e1086",
      "framework": "next-react",
      "imports": "./icons,./markdown,framer-motion,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "message-reasoning",
      "normalized_name": "message-reasoning",
      "package_manager": "pnpm",
      "path": "components/message-reasoning.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b63cb88c472af55ec672d4aa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,next-auth,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SidebarUserNav | imports:@/components/ui/dropdown-menu, @/components/ui/sidebar, lucide-react, next-auth, next-auth/react, next-themes, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SidebarUserNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c2d0384c109f9de",
      "framework": "next-react",
      "imports": "@/components/ui/dropdown-menu,@/components/ui/sidebar,lucide-react,next-auth,next-auth/react,next-themes,next/image",
      "lines": 70,
      "logic_relevance": "none",
      "name": "sidebar-user-nav",
      "normalized_name": "sidebar-user-nav",
      "package_manager": "pnpm",
      "path": "components/sidebar-user-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9231976b3d1aaea4cca5db04",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react,react-markdown,remark-gfm",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Markdown | imports:./code-block, next/link, react, react-markdown, remark-gfm | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Markdown",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e0cf6ec1d561b0f6",
      "framework": "next-react",
      "imports": "./code-block,next/link,react,react-markdown,remark-gfm",
      "lines": 109,
      "logic_relevance": "none",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "components/markdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "1ea9253bbb69815562843a79",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,@codemirror/lang-python,@codemirror/state,@codemirror/theme-one-dark,@codemirror/view,codemirror,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor | imports:@/lib/db/schema, @codemirror/lang-python, @codemirror/state, @codemirror/theme-one-dark, @codemirror/view, codemirror, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "968de2974a242e0b",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@codemirror/lang-python,@codemirror/state,@codemirror/theme-one-dark,@codemirror/view,codemirror,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,observability",
      "component_id": "ae7a8cebdd0e7e11b1f2e9a2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Block, BlockActionContext, BlockToolbarContext, BlockToolbarItem | imports:./block, ./data-stream-handler, @/lib/db/schema, ai/react, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55",
      "exports": "Block,BlockActionContext,BlockToolbarContext,BlockToolbarItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30556c51b18eab0e",
      "framework": "next-react",
      "imports": "./block,./data-stream-handler,@/lib/db/schema,ai/react,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "create-block",
      "normalized_name": "create-block",
      "package_manager": "pnpm",
      "path": "components/create-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,logic,security",
      "component_id": "3790c38caee6716ffdc42182",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelSelector | imports:./icons, @/app/(chat)/actions, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/ai/models, @/lib/utils, react | ai-score:120 | frontend-score:115 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "ModelSelector",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a108ce077e1bf2dc",
      "framework": "next-react",
      "imports": "./icons,@/app/(chat)/actions,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/ai/models,@/lib/utils,react",
      "lines": 81,
      "logic_relevance": "secondary",
      "name": "model-selector",
      "normalized_name": "model-selector",
      "package_manager": "pnpm",
      "path": "components/model-selector.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend",
      "component_id": "6030b226626e996cc410a4c2",
      "component_kind": "frontend-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:useScrollToBottom | imports:react | frontend-score:55",
      "exports": "useScrollToBottom",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ff364f71f73b8c39",
      "framework": "next-react",
      "imports": "react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "use-scroll-to-bottom",
      "normalized_name": "use-scroll-to-bottom",
      "package_manager": "pnpm",
      "path": "components/use-scroll-to-bottom.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "e2a4ad01e3eb40e32fd52cd7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,orderedmap,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react,react-dom,react-markdown",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiffView | imports:@/lib/editor/diff, orderedmap, prosemirror-model, prosemirror-schema-basic, prosemirror-schema-list, prosemirror-state, prosemirror-view, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "DiffView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b60d13fca0f97ff0",
      "framework": "next-react",
      "imports": "@/lib/editor/diff,orderedmap,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react,react-dom/server,react-markdown",
      "lines": 100,
      "logic_relevance": "none",
      "name": "diffview",
      "normalized_name": "diffview",
      "package_manager": "pnpm",
      "path": "components/diffview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "4610369d3a4703b9581c162e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,date-fns,framer-motion,react,swr,usehooks-ts",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:VersionFooter | imports:./block, ./icons, ./ui/button, @/hooks/use-block, @/lib/db/schema, @/lib/utils, date-fns, framer-motion | frontend-score:115 | ui-score:70",
      "exports": "VersionFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8cd2cc4971ea325b",
      "framework": "next-react",
      "imports": "./block,./icons,./ui/button,@/hooks/use-block,@/lib/db/schema,@/lib/utils,date-fns,framer-motion,react,swr,usehooks-ts",
      "lines": 108,
      "logic_relevance": "none",
      "name": "version-footer",
      "normalized_name": "version-footer",
      "package_manager": "pnpm",
      "path": "components/version-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "99df5bcc683ed4b7c18fab04",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,ai,classnames,framer-motion,nanoid,react,usehooks-ts",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Toolbar, Tools | imports:./block, ./create-block, ./icons, @/components/ui/tooltip, @/lib/utils, ai, ai/react, classnames | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Toolbar,Tools",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "80bbd9de5cffeff9",
      "framework": "next-react",
      "imports": "./block,./create-block,./icons,@/components/ui/tooltip,@/lib/utils,ai,ai/react,classnames,framer-motion,nanoid,react,usehooks-ts",
      "lines": 483,
      "logic_relevance": "none",
      "name": "toolbar",
      "normalized_name": "toolbar",
      "package_manager": "pnpm",
      "path": "components/toolbar.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,backend,observability",
      "component_id": "90a5ea6708106b5f91058b9a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,ai,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataStreamDelta, DataStreamHandler | imports:./block, @/hooks/use-block, @/lib/db/schema, ai/react, react | frontend-score:115 | ai-score:75 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "DataStreamDelta,DataStreamHandler",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90865397983de5d5",
      "framework": "next-react",
      "imports": "./block,@/hooks/use-block,@/lib/db/schema,ai/react,react",
      "lines": 96,
      "logic_relevance": "none",
      "name": "data-stream-handler",
      "normalized_name": "data-stream-handler",
      "package_manager": "pnpm",
      "path": "components/data-stream-handler.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ai,ui,security",
      "component_id": "3a048d9b29a003b51aac4791",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "ai",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PreviewAttachment | imports:./icons, ai | frontend-score:85 | ai-score:75 | ui-score:55 | security-score:55",
      "exports": "PreviewAttachment",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dd21764b97aa7b1",
      "framework": "next-react",
      "imports": "./icons,ai",
      "lines": 43,
      "logic_relevance": "none",
      "name": "preview-attachment",
      "normalized_name": "preview-attachment",
      "package_manager": "pnpm",
      "path": "components/preview-attachment.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "e982644b2f55d498bd498a47",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "classnames,date-fns,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Weather | imports:classnames, date-fns, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "Weather",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e253e6492d6b2b3c",
      "framework": "next-react",
      "imports": "classnames,date-fns,react",
      "lines": 311,
      "logic_relevance": "none",
      "name": "weather",
      "normalized_name": "weather",
      "package_manager": "pnpm",
      "path": "components/weather.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security,ai",
      "component_id": "a457b21d695e77422fb320a9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react,usehooks-ts",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Suggestion | imports:./block, ./icons, ./ui/button, @/lib/editor/suggestions, @/lib/utils, framer-motion, react, usehooks-ts | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "Suggestion",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b36fe3e145433f8",
      "framework": "next-react",
      "imports": "./block,./icons,./ui/button,@/lib/editor/suggestions,@/lib/utils,framer-motion,react,usehooks-ts",
      "lines": 78,
      "logic_relevance": "none",
      "name": "suggestion",
      "normalized_name": "suggestion",
      "package_manager": "pnpm",
      "path": "components/suggestion.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "9fe98b14be5225f855e43de3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlockCloseButton | imports:./icons, ./ui/button, @/hooks/use-block, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BlockCloseButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "804510d313aaa692",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/hooks/use-block,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "block-close-button",
      "normalized_name": "block-close-button",
      "package_manager": "pnpm",
      "path": "components/block-close-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "7cfd0c94947637946876c0df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react,sonner",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlockActions | imports:./block, ./create-block, ./ui/button, ./ui/tooltip, @/lib/utils, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BlockActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d4bca0f4c8544d1",
      "framework": "next-react",
      "imports": "./block,./create-block,./ui/button,./ui/tooltip,@/lib/utils,react,sonner",
      "lines": 97,
      "logic_relevance": "none",
      "name": "block-actions",
      "normalized_name": "block-actions",
      "package_manager": "pnpm",
      "path": "components/block-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "7765ee7b58243bab3ac86df9",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,prosemirror-example-setup,prosemirror-inputrules,prosemirror-state,prosemirror-view,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Editor | imports:@/lib/db/schema, @/lib/editor/config, @/lib/editor/functions, @/lib/editor/suggestions, prosemirror-example-setup, prosemirror-inputrules, prosemirror-state, prosemirror-view | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Editor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2251c586962806d1",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@/lib/editor/config,@/lib/editor/functions,@/lib/editor/suggestions,prosemirror-example-setup,prosemirror-inputrules,prosemirror-state,prosemirror-view,react",
      "lines": 164,
      "logic_relevance": "none",
      "name": "editor",
      "normalized_name": "editor",
      "package_manager": "pnpm",
      "path": "components/editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "37f509a0475124eeeff1f9af",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/app,ai,react,sonner",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MessageEditor, MessageEditorProps | imports:./ui/button, ./ui/textarea, @/app/(chat)/actions, ai, react, sonner | ai-score:120 | frontend-score:115 | ui-score:70",
      "exports": "MessageEditor,MessageEditorProps",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e0bf202f9d552f0d",
      "framework": "next-react",
      "imports": "./ui/button,./ui/textarea,@/app/(chat)/actions,ai,react,sonner",
      "lines": 104,
      "logic_relevance": "none",
      "name": "message-editor",
      "normalized_name": "message-editor",
      "package_manager": "pnpm",
      "path": "components/message-editor.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "48f6a605b2605da9131c69f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Overview | imports:./icons, framer-motion, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Overview",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d74ed4915ae1b5e5",
      "framework": "next-react",
      "imports": "./icons,framer-motion,next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "overview",
      "normalized_name": "overview",
      "package_manager": "pnpm",
      "path": "components/overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "8794b0c69118616061f76c9a",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next-themes,papaparse,react,react-data-grid",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpreadsheetEditor | imports:@/lib/utils, next-themes, papaparse, react, react-data-grid | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SpreadsheetEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0dcad878964eb063",
      "framework": "next-react",
      "imports": "@/lib/utils,next-themes,papaparse,react,react-data-grid",
      "lines": 143,
      "logic_relevance": "none",
      "name": "sheet-editor",
      "normalized_name": "sheet-editor",
      "package_manager": "pnpm",
      "path": "components/sheet-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0170ffe19919ef8da15194ab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,next-auth",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:./ui/tooltip, @/components/icons, @/components/sidebar-history, @/components/sidebar-user-nav, @/components/ui/button, @/components/ui/sidebar, next-auth, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be2b7e1d922315c6",
      "framework": "next-react",
      "imports": "./ui/tooltip,@/components/icons,@/components/sidebar-history,@/components/sidebar-user-nav,@/components/ui/button,@/components/ui/sidebar,next-auth,next/link,next/navigation",
      "lines": 67,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "4d86301c7c5f8d4833133474",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SidebarToggle | imports:./icons, ./ui/button, @/components/ui/sidebar, @/components/ui/tooltip, react | frontend-score:115 | ui-score:70",
      "exports": "SidebarToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e52c9c5d9c416012",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/components/ui/sidebar,@/components/ui/tooltip,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sidebar-toggle",
      "normalized_name": "sidebar-toggle",
      "package_manager": "pnpm",
      "path": "components/sidebar-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "eb2f042e52512e12a1413746",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:BlockMessages | imports:./block, ./message, ./use-scroll-to-bottom, @/lib/db/schema, ai, fast-deep-equal, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BlockMessages",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d6ba2401f70a7d80",
      "framework": "next-react",
      "imports": "./block,./message,./use-scroll-to-bottom,@/lib/db/schema,ai,fast-deep-equal,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "block-messages",
      "normalized_name": "block-messages",
      "package_manager": "pnpm",
      "path": "components/block-messages.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "8161e65c6ebce3f2550f2bac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthForm | imports:./ui/input, ./ui/label, next/form | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AuthForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2471cca5b1889e26",
      "framework": "next-react",
      "imports": "./ui/input,./ui/label,next/form",
      "lines": 60,
      "logic_relevance": "none",
      "name": "auth-form",
      "normalized_name": "auth-form",
      "package_manager": "pnpm",
      "path": "components/auth-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "a729c34a5ce0a142ca635bd8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignOutForm | imports:@/app/(auth)/auth, next/form | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SignOutForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "179a28e1915f982e",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,next/form",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sign-out-form",
      "normalized_name": "sign-out-form",
      "package_manager": "pnpm",
      "path": "components/sign-out-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability",
      "component_id": "31202d7cb1b151e16b8d8871",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/blocks,@/hooks,@/lib,ai,date-fns,fast-deep-equal,framer-motion,react,swr,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Block, BlockKind, UIBlock, blockDefinitions | imports:./block-actions, ./block-close-button, ./block-messages, ./multimodal-input, ./toolbar, ./ui/sidebar, ./version-footer, @/blocks/code/client | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Block,BlockKind,UIBlock,blockDefinitions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88d0110005da45d6",
      "framework": "next-react",
      "imports": "./block-actions,./block-close-button,./block-messages,./multimodal-input,./toolbar,./ui/sidebar,./version-footer,@/blocks/code/client,@/blocks/image/client,@/blocks/sheet/client,@/blocks/text/client,@/hooks/use-block,@/lib/db/schema,@/lib/utils,ai,date-fns,fast-deep-equal,framer-motion,react,swr,usehooks-ts",
      "lines": 516,
      "logic_relevance": "none",
      "name": "block",
      "normalized_name": "block",
      "package_manager": "pnpm",
      "path": "components/block.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "83198415d1c55c6115aadd90",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Console, ConsoleOutput, ConsoleOutputContent | imports:./icons, ./ui/button, @/hooks/use-block, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Console,ConsoleOutput,ConsoleOutputContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a7f0fd4fd333a22",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/hooks/use-block,@/lib/utils,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "console",
      "normalized_name": "console",
      "package_manager": "pnpm",
      "path": "components/console.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "a31425af7f7b224a5decb8a9",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArrowUpIcon, AttachmentIcon, BotIcon, BoxIcon, CheckCircleFillIcon, CheckedSquare, ChevronDownIcon, ClockRewind | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45 | model-provider",
      "exports": "ArrowUpIcon,AttachmentIcon,BotIcon,BoxIcon,CheckCircleFillIcon,CheckedSquare,ChevronDownIcon,ClockRewind,CodeIcon,CopyIcon,CrossIcon,CrossSmallIcon,DeltaIcon,DownloadIcon,EyeIcon,FileIcon,FullscreenIcon,GPSIcon,GitIcon,GlobeIcon,HomeIcon,ImageIcon,InfoIcon,InvoiceIcon,LineChartIcon,LoaderIcon,LockIcon,LogoAnthropic,LogoGoogle,LogoOpenAI,LogsIcon,MenuIcon,MessageIcon,MoreHorizontalIcon,MoreIcon,PaperclipIcon,PenIcon,PencilEditIcon,PlayIcon,PlusIcon,PythonIcon,RedoIcon,RouteIcon,ShareIcon,SidebarLeftIcon,SparklesIcon,StopIcon,SummarizeIcon,TerminalIcon,TerminalWindowIcon,ThumbDownIcon,ThumbUpIcon,TrashIcon,UncheckedSquare,UndoIcon,UploadIcon,UserIcon,VercelIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e46cf85218876f16",
      "framework": "next-react",
      "imports": "",
      "lines": 1155,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "components/icons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "4bd88ab2ac0b7a4cc5a865c4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,usehooks-ts",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatHeader | imports:./icons, ./ui/sidebar, ./ui/tooltip, ./visibility-selector, @/components/model-selector, @/components/sidebar-toggle, @/components/ui/button, next/link | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "ChatHeader",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5b1d79ac034f05a7",
      "framework": "next-react",
      "imports": "./icons,./ui/sidebar,./ui/tooltip,./visibility-selector,@/components/model-selector,@/components/sidebar-toggle,@/components/ui/button,next/link,next/navigation,react,usehooks-ts",
      "lines": 88,
      "logic_relevance": "none",
      "name": "chat-header",
      "normalized_name": "chat-header",
      "package_manager": "pnpm",
      "path": "components/chat-header.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui",
      "component_id": "f7a69c876c277e858406f10a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react,sonner,swr,usehooks-ts",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessageActions, PureMessageActions | imports:./icons, ./ui/button, ./ui/tooltip, @/lib/db/schema, ai, fast-deep-equal, react, sonner | frontend-score:115 | ai-score:75 | ui-score:70",
      "exports": "MessageActions,PureMessageActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "060ac5242eca3bd4",
      "framework": "next-react",
      "imports": "./icons,./ui/button,./ui/tooltip,@/lib/db/schema,ai,fast-deep-equal,react,sonner,swr,usehooks-ts",
      "lines": 173,
      "logic_relevance": "none",
      "name": "message-actions",
      "normalized_name": "message-actions",
      "package_manager": "pnpm",
      "path": "components/message-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "e5cc236e29b1fd9abf5af339",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:VisibilitySelector, VisibilityType | imports:./icons, @/components/ui/button, @/components/ui/dropdown-menu, @/hooks/use-chat-visibility, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "VisibilitySelector,VisibilityType",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af050ce1e3983c38",
      "framework": "next-react",
      "imports": "./icons,@/components/ui/button,@/components/ui/dropdown-menu,@/hooks/use-chat-visibility,@/lib/utils,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "visibility-selector",
      "normalized_name": "visibility-selector",
      "package_manager": "pnpm",
      "path": "components/visibility-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "b860abfcc5748b3612891d59",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeBlock | imports:./icons, ./ui/button, ./ui/tooltip, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "CodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11279073c5ad9cef",
      "framework": "next-react",
      "imports": "./icons,./ui/button,./ui/tooltip,@/lib/utils,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "code-block",
      "normalized_name": "code-block",
      "package_manager": "pnpm",
      "path": "components/code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "16b9a4c30f2d9038840abc6c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,classnames,fast-deep-equal,react,sonner,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MultimodalInput | imports:./icons, ./preview-attachment, ./suggested-actions, ./ui/button, ./ui/textarea, @/lib/utils, ai, classnames | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MultimodalInput",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "45cd7b390dfd0818",
      "framework": "next-react",
      "imports": "./icons,./preview-attachment,./suggested-actions,./ui/button,./ui/textarea,@/lib/utils,ai,classnames,fast-deep-equal,react,sonner,usehooks-ts",
      "lines": 362,
      "logic_relevance": "none",
      "name": "multimodal-input",
      "normalized_name": "multimodal-input",
      "package_manager": "pnpm",
      "path": "components/multimodal-input.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "626f65eaeb81b682497d093e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,classnames,fast-deep-equal,framer-motion,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:PreviewMessage, ThinkingMessage | imports:./document, ./document-preview, ./icons, ./markdown, ./message-actions, ./message-editor, ./message-reasoning, ./preview-attachment | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PreviewMessage,ThinkingMessage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "59db871b0cc4129d",
      "framework": "next-react",
      "imports": "./document,./document-preview,./icons,./markdown,./message-actions,./message-editor,./message-reasoning,./preview-attachment,./ui/button,./ui/tooltip,./weather,@/lib/db/schema,@/lib/utils,ai,classnames,fast-deep-equal,framer-motion,react",
      "lines": 271,
      "logic_relevance": "none",
      "name": "message",
      "normalized_name": "message",
      "package_manager": "pnpm",
      "path": "components/message.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "7ef69f7299b1c131f6758483",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Messages | imports:./message, ./overview, ./use-scroll-to-bottom, @/lib/db/schema, ai, fast-deep-equal, react | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Messages",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "33ec47f37ca531cb",
      "framework": "next-react",
      "imports": "./message,./overview,./use-scroll-to-bottom,@/lib/db/schema,ai,fast-deep-equal,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "messages",
      "normalized_name": "messages",
      "package_manager": "pnpm",
      "path": "components/messages.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "981c819ff222137921b1f195",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,fast-deep-equal,react,swr",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentPreview | imports:./block, ./code-editor, ./document, ./document-skeleton, ./editor, ./icons, ./image-editor, ./sheet-editor | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DocumentPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00f4eb26b6bd306e",
      "framework": "next-react",
      "imports": "./block,./code-editor,./document,./document-skeleton,./editor,./icons,./image-editor,./sheet-editor,@/hooks/use-block,@/lib/db/schema,@/lib/utils,fast-deep-equal,react,swr",
      "lines": 279,
      "logic_relevance": "none",
      "name": "document-preview",
      "normalized_name": "document-preview",
      "package_manager": "pnpm",
      "path": "components/document-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "d49ff5089e739626b5da200e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,ai,react,sonner,swr",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Chat | imports:./block, ./messages, ./multimodal-input, ./visibility-selector, @/components/chat-header, @/hooks/use-block, @/lib/db/schema, @/lib/utils | ai-score:120 | frontend-score:115 | ui-score:70",
      "exports": "Chat",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3280fe79e53465c3",
      "framework": "next-react",
      "imports": "./block,./messages,./multimodal-input,./visibility-selector,@/components/chat-header,@/hooks/use-block,@/lib/db/schema,@/lib/utils,ai,ai/react,react,sonner,swr",
      "lines": 125,
      "logic_relevance": "none",
      "name": "chat",
      "normalized_name": "chat",
      "package_manager": "pnpm",
      "path": "components/chat.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "014a32994b596e78eb06b745",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitButton | imports:./ui/button, @/components/icons, react-dom | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SubmitButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa81549694ef26f8",
      "framework": "next-react",
      "imports": "./ui/button,@/components/icons,react-dom",
      "lines": 38,
      "logic_relevance": "none",
      "name": "submit-button",
      "normalized_name": "submit-button",
      "package_manager": "pnpm",
      "path": "components/submit-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "cc464c7442119c04073de5e1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "ai,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuggestedActions | imports:./ui/button, ai, framer-motion, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SuggestedActions",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b15d8fe393129e5f",
      "framework": "next-react",
      "imports": "./ui/button,ai,framer-motion,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "suggested-actions",
      "normalized_name": "suggested-actions",
      "package_manager": "pnpm",
      "path": "components/suggested-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "03a00012c42e07e19eae6ef7",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "classnames",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageEditor | imports:./icons, classnames | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ImageEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5e0748c50e80e22",
      "framework": "next-react",
      "imports": "./icons,classnames",
      "lines": 48,
      "logic_relevance": "none",
      "name": "image-editor",
      "normalized_name": "image-editor",
      "package_manager": "pnpm",
      "path": "components/image-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "37f120ba52f5cbcf053717c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "41ed63d27ebe7db8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "e460a4209d4a197122b63191",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "645d4fa4d43ceb65",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "99d2fbb1f762b906377ad06f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "517acb10e0c7a683",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dac17e7028a144507f20bb01",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dec6e3c633674baf",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "72f9b40e5075e0962f400970",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "af83463e3e316c59",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "987603d2379003bd40607b4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f7a70ecb0dd1c1c7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "208cf9e8a5a1913d44dfbf16",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29a30c648ba9294f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7f055395301d1fb6a665d019",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "295fc11d5381b841",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b6b17f0d4151a50aaa8258a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8af33dc3e2e09cd6",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5cbbdf4e915cfdc8a2ec7ee0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c566bf1dc18f0c5d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0c73bdfdd5f35b0bcb4ca6cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29c3b37433c59cf9",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "80a4928a9e318fadab1c6a5a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d7ba3cbef08deed6",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8be47cc82a43bbcacfd6c85d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "43b0afa75a641b32",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability",
      "component_id": "4bb60ccc39dd3725d7056e56",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/components,react,swr",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:initialBlockData, useBlock, useBlockSelector | imports:@/components/block, react, swr | observability-score:55",
      "exports": "initialBlockData,useBlock,useBlockSelector",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2ac7ebed9864038",
      "framework": "next-react",
      "imports": "@/components/block,react,swr",
      "lines": 84,
      "logic_relevance": "none",
      "name": "use-block",
      "normalized_name": "use-block",
      "package_manager": "pnpm",
      "path": "hooks/use-block.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "5ae6ed288632d95819c91dc6",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82bff42ff087bd5d",
      "framework": "next-react",
      "imports": "react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "c4018b8589c4de6424f28ff8",
      "component_kind": "ai-chat",
      "confidence": 80,
      "dependency_roots": "@/app,@/components,@/lib,react,swr",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:useChatVisibility | imports:@/app/(chat)/actions, @/components/visibility-selector, @/lib/db/schema, react, swr | ai-score:75",
      "exports": "useChatVisibility",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2585e9f1a566fae1",
      "framework": "next-react",
      "imports": "@/app/(chat)/actions,@/components/visibility-selector,@/lib/db/schema,react,swr",
      "lines": 62,
      "logic_relevance": "none",
      "name": "use-chat-visibility",
      "normalized_name": "use-chat-visibility",
      "package_manager": "pnpm",
      "path": "hooks/use-chat-visibility.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,observability,security",
      "component_id": "131e0cea01da12ff790443cf",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,clsx,tailwind-merge",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:cn, convertToUIMessages, fetcher, generateUUID, getDocumentTimestampByIndex, getLocalStorage, getMostRecentUserMessage, sanitizeResponseMessages | imports:@/lib/db/schema, ai, clsx, tailwind-merge | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "cn,convertToUIMessages,fetcher,generateUUID,getDocumentTimestampByIndex,getLocalStorage,getMostRecentUserMessage,sanitizeResponseMessages,sanitizeUIMessages",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "324c1c57d99fdf13",
      "framework": "next-react",
      "imports": "@/lib/db/schema,ai,clsx,tailwind-merge",
      "lines": 231,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ai,backend,security",
      "component_id": "1fd24c8648a3077374bd1646",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/blocks,@/components,ai,next-auth",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateDocumentCallbackProps, DocumentHandler, SaveDocumentProps, UpdateDocumentCallbackProps, blockKinds, createDocumentHandler, documentHandlersByBlockKind | imports:../db/queries, ../db/schema, @/blocks/code/server, @/blocks/image/server, @/blocks/sheet/server, @/blocks/text/server, @/components/block, ai | logic-score:85 | ai-score:75 | backend-score:55 | security-score:55",
      "exports": "CreateDocumentCallbackProps,DocumentHandler,SaveDocumentProps,UpdateDocumentCallbackProps,blockKinds,createDocumentHandler,documentHandlersByBlockKind",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aa107dbb2072fb87",
      "framework": "next-react",
      "imports": "../db/queries,../db/schema,@/blocks/code/server,@/blocks/image/server,@/blocks/sheet/server,@/blocks/text/server,@/components/block,ai,next-auth",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/blocks/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "59acc2cbf2206cf29a86b03e",
      "component_kind": "prompt-template",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:blocksPrompt, codePrompt, regularPrompt, sheetPrompt, systemPrompt, updateDocumentPrompt | imports:@/components/block | ai-score:120 | logic-score:85",
      "exports": "blocksPrompt,codePrompt,regularPrompt,sheetPrompt,systemPrompt,updateDocumentPrompt",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ff81dbbfcefee12f",
      "framework": "next-react",
      "imports": "@/components/block",
      "lines": 103,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/ai/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "23337095e78fad5645f0a39e",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/fireworks,@ai-sdk/openai,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:DEFAULT_CHAT_MODEL, chatModels, myProvider | imports:@ai-sdk/fireworks, @ai-sdk/openai, ai | ai-score:120 | logic-score:70 | model-provider",
      "exports": "DEFAULT_CHAT_MODEL,chatModels,myProvider",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4a2529d38962b00a",
      "framework": "next-react",
      "imports": "@ai-sdk/fireworks,@ai-sdk/openai,ai",
      "lines": 50,
      "logic_relevance": "secondary",
      "name": "models",
      "normalized_name": "models",
      "package_manager": "pnpm",
      "path": "lib/ai/models.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,ai",
      "component_id": "32ea1cdafac4950d752406b6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "ai,zod",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getWeather | imports:ai, zod | logic-score:85 | ai-score:75",
      "exports": "getWeather",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab199017a25f4c8d",
      "framework": "next-react",
      "imports": "ai,zod",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "get-weather",
      "normalized_name": "get-weather",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/get-weather.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ai,security",
      "component_id": "fb9c70b667cec6da3cbc4298",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:updateDocument | imports:@/lib/blocks/server, @/lib/db/queries, ai, next-auth, zod | logic-score:85 | ai-score:75 | security-score:55",
      "exports": "updateDocument",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e2813d3bd9cdea45",
      "framework": "next-react",
      "imports": "@/lib/blocks/server,@/lib/db/queries,ai,next-auth,zod",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "update-document",
      "normalized_name": "update-document",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/update-document.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "43713138d2c12dd5806757a9",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:requestSuggestions | imports:../models, @/lib/db/queries, @/lib/db/schema, @/lib/utils, ai, next-auth, zod | ai-score:120 | logic-score:85 | security-score:55",
      "exports": "requestSuggestions",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "300094536d9a1b8c",
      "framework": "next-react",
      "imports": "../models,@/lib/db/queries,@/lib/db/schema,@/lib/utils,ai,next-auth,zod",
      "lines": 89,
      "logic_relevance": "secondary",
      "name": "request-suggestions",
      "normalized_name": "request-suggestions",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/request-suggestions.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ai,security",
      "component_id": "87b6a64251cf7840f05a227d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createDocument | imports:@/lib/blocks/server, @/lib/utils, ai, next-auth, zod | logic-score:85 | ai-score:75 | security-score:55",
      "exports": "createDocument",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d649bf694b8b5424",
      "framework": "next-react",
      "imports": "@/lib/blocks/server,@/lib/utils,ai,next-auth,zod",
      "lines": 68,
      "logic_relevance": "primary",
      "name": "create-document",
      "normalized_name": "create-document",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/create-document.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "5f8e5d9f5b2e35306e23b5aa",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "drizzle-orm",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Chat, Document, Message, Suggestion, User, Vote, chat, document | imports:../blocks/server, drizzle-orm, drizzle-orm/pg-core | logic-score:85 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "Chat,Document,Message,Suggestion,User,Vote,chat,document,message,suggestion,user,vote",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cb4d4e3940b27c48",
      "framework": "next-react",
      "imports": "../blocks/server,drizzle-orm,drizzle-orm/pg-core",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/db/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "49bcc2f830d1f69ab3bb3d85",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "dotenv,drizzle-orm,postgres",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:dotenv, drizzle-orm/postgres-js, drizzle-orm/postgres-js/migrator, postgres | logic-score:60 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83d4b9ce955e6deb",
      "framework": "next-react",
      "imports": "dotenv,drizzle-orm/postgres-js,drizzle-orm/postgres-js/migrator,postgres",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "lib/db/migrate.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "3b5779fa1a208e23a954929e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/components,bcrypt-ts,drizzle-orm,postgres",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./schema, @/components/block, bcrypt-ts, drizzle-orm, drizzle-orm/postgres-js, postgres | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "50fb7a2b048bc2b4",
      "framework": "next-react",
      "imports": "./schema,@/components/block,bcrypt-ts,drizzle-orm,drizzle-orm/postgres-js,postgres",
      "lines": 347,
      "logic_relevance": "primary",
      "name": "queries",
      "normalized_name": "queries",
      "package_manager": "pnpm",
      "path": "lib/db/queries.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "14c79df7c461b823193fcf0f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e4ad431745f3db6a",
      "framework": "next-react",
      "imports": "",
      "lines": 384,
      "logic_relevance": "primary",
      "name": "0003_snapshot",
      "normalized_name": "0003-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0003_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "4e0b3875fe2fd8741b0fb677",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "022528164e751062",
      "framework": "next-react",
      "imports": "",
      "lines": 391,
      "logic_relevance": "primary",
      "name": "0004_snapshot",
      "normalized_name": "0004-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0004_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "7fdb75ad8bc063480afb8cf6",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d7931d7dc90b017e",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "0000_snapshot",
      "normalized_name": "0000-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0000_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "a5d0e8f191ff4896f50a17ab",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e3a82c2c090b009",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "_journal",
      "normalized_name": "journal",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/_journal.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "7118b7ef9e889b007568e804",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e7bca6072513ed2",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "primary",
      "name": "0001_snapshot",
      "normalized_name": "0001-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0001_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "aa72820112f838b1d5e891d4",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f1a0e38f3fc89abe",
      "framework": "next-react",
      "imports": "",
      "lines": 377,
      "logic_relevance": "primary",
      "name": "0002_snapshot",
      "normalized_name": "0002-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0002_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,frontend,ui",
      "component_id": "d20f899f3b4dc86bf4edff46",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "react-dom",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ReactRenderer | imports:react-dom/client | logic-score:70 | frontend-score:60 | ui-score:55",
      "exports": "ReactRenderer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce3d36a66b77fd7a",
      "framework": "next-react",
      "imports": "react-dom/client",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "react-renderer",
      "normalized_name": "react-renderer",
      "package_manager": "pnpm",
      "path": "lib/editor/react-renderer.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security,ai",
      "component_id": "2983f730d75bb7bc1fec6123",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,prosemirror-model,prosemirror-state,prosemirror-view,react-dom",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UISuggestion, createSuggestionWidget, projectWithPositions, suggestionsPlugin, suggestionsPluginKey | imports:@/components/block, @/components/suggestion, @/lib/db/schema, prosemirror-model, prosemirror-state, prosemirror-view, react-dom/client | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "UISuggestion,createSuggestionWidget,projectWithPositions,suggestionsPlugin,suggestionsPluginKey",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9452c7d8e1d1664",
      "framework": "next-react",
      "imports": "@/components/block,@/components/suggestion,@/lib/db/schema,prosemirror-model,prosemirror-state,prosemirror-view,react-dom/client",
      "lines": 157,
      "logic_relevance": "primary",
      "name": "suggestions",
      "normalized_name": "suggestions",
      "package_manager": "pnpm",
      "path": "lib/editor/suggestions.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,frontend,ui,ai",
      "component_id": "c92b105576b9179f23ed1434",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,prosemirror-markdown,prosemirror-model,prosemirror-view,react-dom",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildContentFromDocument, buildDocumentFromContent, createDecorations | imports:./config, ./suggestions, @/components/markdown, prosemirror-markdown, prosemirror-model, prosemirror-view, react-dom/server | logic-score:70 | frontend-score:60 | ui-score:55 | ai-score:45",
      "exports": "buildContentFromDocument,buildDocumentFromContent,createDecorations",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc96dd0973c18cb6",
      "framework": "next-react",
      "imports": "./config,./suggestions,@/components/markdown,prosemirror-markdown,prosemirror-model,prosemirror-view,react-dom/server",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "functions",
      "normalized_name": "functions",
      "package_manager": "pnpm",
      "path": "lib/editor/functions.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,ai",
      "component_id": "46fd96d2dc23b637a1a99c82",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "prosemirror-inputrules,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:documentSchema, handleTransaction, headingRule | imports:./functions, prosemirror-inputrules, prosemirror-model, prosemirror-schema-basic, prosemirror-schema-list, prosemirror-state, prosemirror-view, react | logic-score:85 | ai-score:45",
      "exports": "documentSchema,handleTransaction,headingRule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dffd14dd3de9fdbc",
      "framework": "next-react",
      "imports": "./functions,prosemirror-inputrules,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/editor/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security,ai",
      "component_id": "910e87e3a1d9a908e931e70a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "diff-match-patch,prosemirror-model",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DiffType, assertNodeTypeEqual, computeChildEqualityFactor, createDiffMark, createDiffNode, createNewNode, createTextNode, diffEditor | imports:diff-match-patch, prosemirror-model | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "DiffType,assertNodeTypeEqual,computeChildEqualityFactor,createDiffMark,createDiffNode,createNewNode,createTextNode,diffEditor,ensureArray,getNodeAttribute,getNodeAttributes,getNodeChildren,getNodeMarks,getNodeProperty,getNodeText,isNodeEqual,isTextNode,matchNodeType,normalizeNodeContent,patchDocumentNode,patchTextNodes",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efb0221ab0ea0474",
      "framework": "next-react",
      "imports": "diff-match-patch,prosemirror-model",
      "lines": 475,
      "logic_relevance": "primary",
      "name": "diff",
      "normalized_name": "diff",
      "package_manager": "pnpm",
      "path": "lib/editor/diff.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-4",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "41d401f30cc42c76c7f922f1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3c9e9eba81994de",
      "framework": "next-react",
      "imports": "",
      "lines": 7507,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "36e9d4a79e6d62b256d9b407",
      "component_kind": "middleware",
      "confidence": 85,
      "dependency_roots": "@/app,next-auth",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/app/(auth)/auth.config, next-auth | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f26b90b8031dfb2b",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth.config,next-auth",
      "lines": 9,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "a424801e0ecec37b0819fa6d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0945c19e6294dbc4",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "63633c6ceb8ff3cb68d72117",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cf46573f6c9b2a00",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "4b5fe5b6c064bcfb26291a75",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:next | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3deda32b96e24d0",
      "framework": "next-react",
      "imports": "next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "c660a07b6f45dd3150dbeadb",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata, viewport | imports:@/components/theme-provider, next, sonner | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93094965bb9f7a3f",
      "framework": "next-react",
      "imports": "@/components/theme-provider,next,sonner",
      "lines": 72,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "91adbfff36538687463deed3",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "171260b40bdc74eb",
      "framework": "next-react",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b70fedf5e7ec60426d7d75ea",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "next-auth",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:authConfig | imports:next-auth | observability-score:55 | security-score:55",
      "exports": "authConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "11a3a67a04cec3ee",
      "framework": "next-react",
      "imports": "next-auth",
      "lines": 39,
      "logic_relevance": "none",
      "name": "auth.config",
      "normalized_name": "auth-config",
      "package_manager": "pnpm",
      "path": "app/(auth)/auth.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a6ccad183546006c3b4f0078",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LoginActionState, RegisterActionState, login, register | imports:./auth, @/lib/db/queries, zod | observability-score:55 | security-score:55",
      "exports": "LoginActionState,RegisterActionState,login,register",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f05206e272dd4fbf",
      "framework": "next-react",
      "imports": "./auth,@/lib/db/queries,zod",
      "lines": 84,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(auth)/actions.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "72b9c4d5a2ab0317be6b1857",
      "component_kind": "auth",
      "confidence": 75,
      "dependency_roots": "@/lib,bcrypt-ts,next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:./auth.config, @/lib/db/queries, bcrypt-ts, next-auth, next-auth/providers/credentials | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a1d67c35026cd18",
      "framework": "next-react",
      "imports": "./auth.config,@/lib/db/queries,bcrypt-ts,next-auth,next-auth/providers/credentials",
      "lines": 55,
      "logic_relevance": "none",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "app/(auth)/auth.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "32b2b8247c475ee63e742263",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../actions, @/components/auth-form, @/components/submit-button, next/link, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a726f309ce72d146",
      "framework": "next-react",
      "imports": "../actions,@/components/auth-form,@/components/submit-button,next/link,next/navigation,react,sonner",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(auth)/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "b136f78d6422f73c0711425a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/(auth)/auth | backend-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8785ef0eb6dd144d",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(auth)/api/auth/[...nextauth]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b5b9a592f4eb30e1afa4749a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../actions, @/components/auth-form, @/components/submit-button, next/link, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbc1277a5bb3c791",
      "framework": "next-react",
      "imports": "../actions,@/components/auth-form,@/components/submit-button,next/link,next/navigation,react,sonner",
      "lines": 67,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(auth)/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend",
      "component_id": "647e7cbf3c76abfae4cfc282",
      "component_kind": "ai-chat",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,ai,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/components/visibility-selector, @/lib/ai, @/lib/db/queries, ai, next/headers | ai-score:120 | frontend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a544f3bb79f943d9",
      "framework": "next-react",
      "imports": "@/components/visibility-selector,@/lib/ai,@/lib/db/queries,ai,next/headers",
      "lines": 54,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(chat)/actions.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,security",
      "component_id": "d7c275da29b5abff8e38f25e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:experimental_ppr | imports:../(auth)/auth, @/components/app-sidebar, @/components/ui/sidebar, next/headers, next/script | frontend-score:115 | ai-score:75 | ui-score:55 | security-score:55",
      "exports": "experimental_ppr",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e46d2209af77771",
      "framework": "next-react",
      "imports": "../(auth)/auth,@/components/app-sidebar,@/components/ui/sidebar,next/headers,next/script",
      "lines": 31,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(chat)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "4b48e3c84c5fde281bfcc1b4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Page | imports:@/components/chat, @/components/data-stream-handler, @/lib/ai/models, @/lib/utils, next/headers | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ad0d616b608a6570",
      "framework": "next-react",
      "imports": "@/components/chat,@/components/data-stream-handler,@/lib/ai/models,@/lib/utils,next/headers",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(chat)/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "88ea396d86ac748b5680c37c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Page | imports:@/app/(auth)/auth, @/components/chat, @/components/data-stream-handler, @/lib/ai/models, @/lib/db/queries, @/lib/utils, next/headers, next/navigation | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ebd5d23eade53191",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/components/chat,@/components/data-stream-handler,@/lib/ai/models,@/lib/db/queries,@/lib/utils,next/headers,next/navigation",
      "lines": 54,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(chat)/chat/[id]/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "9a8e4dbb30d09c6399d70f8e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c569d734b47449a6",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/vote/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "88c1b1420dd359bb29a5e443",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,ai",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:../../actions, @/app/(auth)/auth, @/lib/ai, @/lib/ai/models, @/lib/ai/prompts, @/lib/ai/tools/create-document, @/lib/ai/tools/get-weather, @/lib/ai/tools/request-suggestions | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b301497dd078bf5a",
      "framework": "next-react",
      "imports": "../../actions,@/app/(auth)/auth,@/lib/ai,@/lib/ai/models,@/lib/ai/prompts,@/lib/ai/tools/create-document,@/lib/ai/tools/get-weather,@/lib/ai/tools/request-suggestions,@/lib/ai/tools/update-document,@/lib/db/queries,@/lib/utils,ai",
      "lines": 186,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "05b2979a1f8437255746b554",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH, POST | imports:@/app/(auth)/auth, @/components/block, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,PATCH,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52b0d41668458e63",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/components/block,@/lib/db/queries",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/document/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "82e36b95c0181ecac85a5282",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18cba09a699bcba1",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "64b797fbe5cefc138617773b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@vercel/blob,next,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FileSchema, POST | imports:@/app/(auth)/auth, @vercel/blob, next/server, zod | backend-score:160 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "FileSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19dd3603d5f9fbfc",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@vercel/blob,next/server,zod",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/files/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "bffb0925c32173a49e9c32ed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa6ba1c3d8850eb6",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/suggestions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "7b4cdd8c52bb5c7e6d83522c",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-themes",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, next-themes/dist/types | frontend-score:85 | ui-score:55",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36ef6110a5669e7a",
      "framework": "next-react",
      "imports": "next-themes,next-themes/dist/types",
      "lines": 8,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "3417e8101e8804ef9cb1e25f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentSkeleton, InlineDocumentSkeleton | imports:./block | frontend-score:85 | ui-score:55",
      "exports": "DocumentSkeleton,InlineDocumentSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a16724c07de0dc5",
      "framework": "next-react",
      "imports": "./block",
      "lines": 35,
      "logic_relevance": "none",
      "name": "document-skeleton",
      "normalized_name": "document-skeleton",
      "package_manager": "pnpm",
      "path": "components/document-skeleton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "6ff93803a3dff709530053c5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PureRunCodeButton, RunCodeButton | imports:./block, ./icons, ./ui/button, @/hooks/use-block, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PureRunCodeButton,RunCodeButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "249d43c2d123722c",
      "framework": "next-react",
      "imports": "./block,./icons,./ui/button,@/hooks/use-block,@/lib/utils,react",
      "lines": 210,
      "logic_relevance": "none",
      "name": "run-code-button",
      "normalized_name": "run-code-button",
      "package_manager": "pnpm",
      "path": "components/run-code-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1d80ccd8c52c65c3a265b4d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,date-fns,next,next-auth,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChatItem, SidebarHistory | imports:@/components/icons, @/components/ui/alert-dialog, @/components/ui/dropdown-menu, @/components/ui/sidebar, @/hooks/use-chat-visibility, @/lib/db/schema, @/lib/utils, date-fns | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChatItem,SidebarHistory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36ee0db9859dd187",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/alert-dialog,@/components/ui/dropdown-menu,@/components/ui/sidebar,@/hooks/use-chat-visibility,@/lib/db/schema,@/lib/utils,date-fns,next-auth,next/link,next/navigation,react,sonner,swr",
      "lines": 417,
      "logic_relevance": "none",
      "name": "sidebar-history",
      "normalized_name": "sidebar-history",
      "package_manager": "pnpm",
      "path": "components/sidebar-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability",
      "component_id": "81f309d3f855559b27805b96",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentToolCall, DocumentToolResult | imports:./block, ./icons, @/hooks/use-block, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DocumentToolCall,DocumentToolResult",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0aa0b0e8d5897f78",
      "framework": "next-react",
      "imports": "./block,./icons,@/hooks/use-block,react,sonner",
      "lines": 151,
      "logic_relevance": "none",
      "name": "document",
      "normalized_name": "document",
      "package_manager": "pnpm",
      "path": "components/document.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bd2313ce6dba5a0282ee124b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,next-auth,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SidebarUserNav | imports:@/components/ui/dropdown-menu, @/components/ui/sidebar, lucide-react, next-auth, next-auth/react, next-themes, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SidebarUserNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c2d0384c109f9de",
      "framework": "next-react",
      "imports": "@/components/ui/dropdown-menu,@/components/ui/sidebar,lucide-react,next-auth,next-auth/react,next-themes,next/image",
      "lines": 70,
      "logic_relevance": "none",
      "name": "sidebar-user-nav",
      "normalized_name": "sidebar-user-nav",
      "package_manager": "pnpm",
      "path": "components/sidebar-user-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "053a97e057c4615f81d3fb38",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react,react-markdown,remark-gfm",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Markdown | imports:./code-block, next/link, react, react-markdown, remark-gfm | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Markdown",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a7475c7f3b66968",
      "framework": "next-react",
      "imports": "./code-block,next/link,react,react-markdown,remark-gfm",
      "lines": 109,
      "logic_relevance": "none",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "components/markdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "2560f5e886453d7551a89669",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,@codemirror/lang-python,@codemirror/state,@codemirror/theme-one-dark,@codemirror/view,codemirror,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor | imports:@/lib/db/schema, @codemirror/lang-python, @codemirror/state, @codemirror/theme-one-dark, @codemirror/view, codemirror, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "221544067fcbd71b",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@codemirror/lang-python,@codemirror/state,@codemirror/theme-one-dark,@codemirror/view,codemirror,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,logic,security",
      "component_id": "c9123053651dfd97b8edacd5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelSelector | imports:./icons, @/app/(chat)/actions, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/ai/models, @/lib/utils, react | ai-score:120 | frontend-score:115 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "ModelSelector",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5eae48c947b74922",
      "framework": "next-react",
      "imports": "./icons,@/app/(chat)/actions,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/ai/models,@/lib/utils,react",
      "lines": 78,
      "logic_relevance": "secondary",
      "name": "model-selector",
      "normalized_name": "model-selector",
      "package_manager": "pnpm",
      "path": "components/model-selector.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend",
      "component_id": "31148a1e33523c0746a8debc",
      "component_kind": "frontend-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:useScrollToBottom | imports:react | frontend-score:55",
      "exports": "useScrollToBottom",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ff364f71f73b8c39",
      "framework": "next-react",
      "imports": "react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "use-scroll-to-bottom",
      "normalized_name": "use-scroll-to-bottom",
      "package_manager": "pnpm",
      "path": "components/use-scroll-to-bottom.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "48bcee6565c5709d86377d73",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,orderedmap,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react,react-dom,react-markdown",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiffView | imports:@/lib/editor/diff, orderedmap, prosemirror-model, prosemirror-schema-basic, prosemirror-schema-list, prosemirror-state, prosemirror-view, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "DiffView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b60d13fca0f97ff0",
      "framework": "next-react",
      "imports": "@/lib/editor/diff,orderedmap,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react,react-dom/server,react-markdown",
      "lines": 100,
      "logic_relevance": "none",
      "name": "diffview",
      "normalized_name": "diffview",
      "package_manager": "pnpm",
      "path": "components/diffview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "2cab4cd6984ee4adc7697f89",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,date-fns,framer-motion,react,swr,usehooks-ts",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:VersionFooter | imports:./block, ./icons, ./ui/button, @/hooks/use-block, @/lib/db/schema, @/lib/utils, date-fns, framer-motion | frontend-score:115 | ui-score:70",
      "exports": "VersionFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8cd2cc4971ea325b",
      "framework": "next-react",
      "imports": "./block,./icons,./ui/button,@/hooks/use-block,@/lib/db/schema,@/lib/utils,date-fns,framer-motion,react,swr,usehooks-ts",
      "lines": 108,
      "logic_relevance": "none",
      "name": "version-footer",
      "normalized_name": "version-footer",
      "package_manager": "pnpm",
      "path": "components/version-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "e5a518c56936d16f1cdafff4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,ai,classnames,framer-motion,nanoid,react,usehooks-ts",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Toolbar, Tools | imports:./block, ./icons, @/components/ui/tooltip, @/lib/utils, ai, classnames, framer-motion, nanoid | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Toolbar,Tools",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfb20bc9a6b27a61",
      "framework": "next-react",
      "imports": "./block,./icons,@/components/ui/tooltip,@/lib/utils,ai,classnames,framer-motion,nanoid,react,usehooks-ts",
      "lines": 547,
      "logic_relevance": "none",
      "name": "toolbar",
      "normalized_name": "toolbar",
      "package_manager": "pnpm",
      "path": "components/toolbar.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,backend,observability",
      "component_id": "cd91236b49a8a417d5c99a59",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,ai,react,swr",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataStreamHandler | imports:./block, @/hooks/use-block, @/hooks/use-user-message-id, @/lib/db/schema, ai/react, react, swr | frontend-score:115 | ai-score:75 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "DataStreamHandler",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e558d7fd3748528",
      "framework": "next-react",
      "imports": "./block,@/hooks/use-block,@/hooks/use-user-message-id,@/lib/db/schema,ai/react,react,swr",
      "lines": 149,
      "logic_relevance": "none",
      "name": "data-stream-handler",
      "normalized_name": "data-stream-handler",
      "package_manager": "pnpm",
      "path": "components/data-stream-handler.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ai,ui,security",
      "component_id": "313182fc981ccf53bc2b989f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "ai",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PreviewAttachment | imports:./icons, ai | frontend-score:85 | ai-score:75 | ui-score:55 | security-score:55",
      "exports": "PreviewAttachment",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dd21764b97aa7b1",
      "framework": "next-react",
      "imports": "./icons,ai",
      "lines": 43,
      "logic_relevance": "none",
      "name": "preview-attachment",
      "normalized_name": "preview-attachment",
      "package_manager": "pnpm",
      "path": "components/preview-attachment.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "7e62e785bbdb4282f166690e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "classnames,date-fns,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Weather | imports:classnames, date-fns, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "Weather",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e253e6492d6b2b3c",
      "framework": "next-react",
      "imports": "classnames,date-fns,react",
      "lines": 311,
      "logic_relevance": "none",
      "name": "weather",
      "normalized_name": "weather",
      "package_manager": "pnpm",
      "path": "components/weather.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security,ai",
      "component_id": "2b5c6271f321223fa2376097",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react,usehooks-ts",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Suggestion | imports:./block, ./icons, ./ui/button, @/lib/editor/suggestions, @/lib/utils, framer-motion, react, usehooks-ts | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "Suggestion",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b36fe3e145433f8",
      "framework": "next-react",
      "imports": "./block,./icons,./ui/button,@/lib/editor/suggestions,@/lib/utils,framer-motion,react,usehooks-ts",
      "lines": 78,
      "logic_relevance": "none",
      "name": "suggestion",
      "normalized_name": "suggestion",
      "package_manager": "pnpm",
      "path": "components/suggestion.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "3d88c08a4ec6ac9bf765160c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlockCloseButton | imports:./icons, ./ui/button, @/hooks/use-block, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BlockCloseButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "804510d313aaa692",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/hooks/use-block,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "block-close-button",
      "normalized_name": "block-close-button",
      "package_manager": "pnpm",
      "path": "components/block-close-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "06b5cfaac29d82ee2a3c0a32",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react,sonner",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlockActions | imports:./block, ./icons, ./run-code-button, ./ui/button, ./ui/tooltip, @/hooks/use-multimodal-copy-to-clipboard, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BlockActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "999fe99940f66a10",
      "framework": "next-react",
      "imports": "./block,./icons,./run-code-button,./ui/button,./ui/tooltip,@/hooks/use-multimodal-copy-to-clipboard,@/lib/utils,react,sonner",
      "lines": 126,
      "logic_relevance": "none",
      "name": "block-actions",
      "normalized_name": "block-actions",
      "package_manager": "pnpm",
      "path": "components/block-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "dae72c7fe79a1691a7e1f1eb",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,prosemirror-example-setup,prosemirror-inputrules,prosemirror-state,prosemirror-view,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Editor | imports:@/lib/db/schema, @/lib/editor/config, @/lib/editor/functions, @/lib/editor/suggestions, prosemirror-example-setup, prosemirror-inputrules, prosemirror-state, prosemirror-view | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Editor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a788334804806acf",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@/lib/editor/config,@/lib/editor/functions,@/lib/editor/suggestions,prosemirror-example-setup,prosemirror-inputrules,prosemirror-state,prosemirror-view,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "editor",
      "normalized_name": "editor",
      "package_manager": "pnpm",
      "path": "components/editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "5d8362031a1e0bee26b8ee12",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/app,@/hooks,ai,react,sonner",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MessageEditor, MessageEditorProps | imports:./ui/button, ./ui/textarea, @/app/(chat)/actions, @/hooks/use-user-message-id, ai, react, sonner | ai-score:120 | frontend-score:115 | ui-score:70",
      "exports": "MessageEditor,MessageEditorProps",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "88e37e71e35278fe",
      "framework": "next-react",
      "imports": "./ui/button,./ui/textarea,@/app/(chat)/actions,@/hooks/use-user-message-id,ai,react,sonner",
      "lines": 113,
      "logic_relevance": "none",
      "name": "message-editor",
      "normalized_name": "message-editor",
      "package_manager": "pnpm",
      "path": "components/message-editor.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ac5af0cdeb577a6a77efff38",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Overview | imports:./icons, framer-motion, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Overview",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d74ed4915ae1b5e5",
      "framework": "next-react",
      "imports": "./icons,framer-motion,next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "overview",
      "normalized_name": "overview",
      "package_manager": "pnpm",
      "path": "components/overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fb300b50114fbbc827bc027f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,next-auth",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:./ui/tooltip, @/components/icons, @/components/sidebar-history, @/components/sidebar-user-nav, @/components/ui/button, @/components/ui/sidebar, next-auth, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be2b7e1d922315c6",
      "framework": "next-react",
      "imports": "./ui/tooltip,@/components/icons,@/components/sidebar-history,@/components/sidebar-user-nav,@/components/ui/button,@/components/ui/sidebar,next-auth,next/link,next/navigation",
      "lines": 67,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "31fe87ec5307f2b537e6795e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SidebarToggle | imports:./icons, ./ui/button, @/components/ui/sidebar, @/components/ui/tooltip, react | frontend-score:115 | ui-score:70",
      "exports": "SidebarToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e52c9c5d9c416012",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/components/ui/sidebar,@/components/ui/tooltip,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sidebar-toggle",
      "normalized_name": "sidebar-toggle",
      "package_manager": "pnpm",
      "path": "components/sidebar-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "7cda3b90be027f2762aa5882",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:BlockMessages | imports:./block, ./message, ./use-scroll-to-bottom, @/lib/db/schema, ai, fast-deep-equal, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BlockMessages",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d6ba2401f70a7d80",
      "framework": "next-react",
      "imports": "./block,./message,./use-scroll-to-bottom,@/lib/db/schema,ai,fast-deep-equal,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "block-messages",
      "normalized_name": "block-messages",
      "package_manager": "pnpm",
      "path": "components/block-messages.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "ea7167ac38ff77ceaf328d98",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthForm | imports:./ui/input, ./ui/label, next/form | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AuthForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2471cca5b1889e26",
      "framework": "next-react",
      "imports": "./ui/input,./ui/label,next/form",
      "lines": 60,
      "logic_relevance": "none",
      "name": "auth-form",
      "normalized_name": "auth-form",
      "package_manager": "pnpm",
      "path": "components/auth-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "bf3277b8d28547fc1b367a84",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignOutForm | imports:@/app/(auth)/auth, next/form | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SignOutForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "179a28e1915f982e",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,next/form",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sign-out-form",
      "normalized_name": "sign-out-form",
      "package_manager": "pnpm",
      "path": "components/sign-out-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability",
      "component_id": "51142834266de73fdb5eb9a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,ai,date-fns,fast-deep-equal,framer-motion,react,swr,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Block, BlockKind, ConsoleOutput, ConsoleOutputContent, UIBlock | imports:./block-actions, ./block-close-button, ./block-messages, ./code-editor, ./console, ./diffview, ./document-skeleton, ./editor | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Block,BlockKind,ConsoleOutput,ConsoleOutputContent,UIBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4fe64d73451afeb5",
      "framework": "next-react",
      "imports": "./block-actions,./block-close-button,./block-messages,./code-editor,./console,./diffview,./document-skeleton,./editor,./image-editor,./multimodal-input,./toolbar,./ui/sidebar,./version-footer,@/hooks/use-block,@/lib/db/schema,@/lib/utils,ai,date-fns,fast-deep-equal,framer-motion,react,swr,usehooks-ts",
      "lines": 581,
      "logic_relevance": "none",
      "name": "block",
      "normalized_name": "block",
      "package_manager": "pnpm",
      "path": "components/block.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "3268094e01b50c5d351d0b92",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Console | imports:./block, ./icons, ./ui/button, @/hooks/use-block, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Console",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8750bff0a6d59d8c",
      "framework": "next-react",
      "imports": "./block,./icons,./ui/button,@/hooks/use-block,@/lib/utils,react",
      "lines": 169,
      "logic_relevance": "none",
      "name": "console",
      "normalized_name": "console",
      "package_manager": "pnpm",
      "path": "components/console.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "31b38fef0607a23c5507e4f2",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArrowUpIcon, AttachmentIcon, BotIcon, BoxIcon, CheckCircleFillIcon, CheckedSquare, ChevronDownIcon, ClockRewind | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45 | model-provider",
      "exports": "ArrowUpIcon,AttachmentIcon,BotIcon,BoxIcon,CheckCircleFillIcon,CheckedSquare,ChevronDownIcon,ClockRewind,CodeIcon,CopyIcon,CrossIcon,CrossSmallIcon,DeltaIcon,EyeIcon,FileIcon,FullscreenIcon,GPSIcon,GitIcon,GlobeIcon,HomeIcon,ImageIcon,InfoIcon,InvoiceIcon,LoaderIcon,LockIcon,LogoAnthropic,LogoGoogle,LogoOpenAI,LogsIcon,MenuIcon,MessageIcon,MoreHorizontalIcon,MoreIcon,PaperclipIcon,PenIcon,PencilEditIcon,PlayIcon,PlusIcon,PythonIcon,RedoIcon,RouteIcon,ShareIcon,SidebarLeftIcon,SparklesIcon,StopIcon,SummarizeIcon,TerminalIcon,TerminalWindowIcon,ThumbDownIcon,ThumbUpIcon,TrashIcon,UncheckedSquare,UndoIcon,UploadIcon,UserIcon,VercelIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f705a38417b6a862",
      "framework": "next-react",
      "imports": "",
      "lines": 1121,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "components/icons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "b756b553b8aff1d642bc764e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,usehooks-ts",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatHeader | imports:./icons, ./ui/sidebar, ./ui/tooltip, ./visibility-selector, @/components/model-selector, @/components/sidebar-toggle, @/components/ui/button, next/link | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "ChatHeader",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5b1d79ac034f05a7",
      "framework": "next-react",
      "imports": "./icons,./ui/sidebar,./ui/tooltip,./visibility-selector,@/components/model-selector,@/components/sidebar-toggle,@/components/ui/button,next/link,next/navigation,react,usehooks-ts",
      "lines": 88,
      "logic_relevance": "none",
      "name": "chat-header",
      "normalized_name": "chat-header",
      "package_manager": "pnpm",
      "path": "components/chat-header.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui",
      "component_id": "94af29939d43a5dd0aa97798",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react,sonner,swr,usehooks-ts",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessageActions, PureMessageActions | imports:./icons, ./ui/button, ./ui/tooltip, @/lib/db/schema, @/lib/utils, ai, fast-deep-equal, react | frontend-score:115 | ai-score:75 | ui-score:70",
      "exports": "MessageActions,PureMessageActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f1288c69e358a058",
      "framework": "next-react",
      "imports": "./icons,./ui/button,./ui/tooltip,@/lib/db/schema,@/lib/utils,ai,fast-deep-equal,react,sonner,swr,usehooks-ts",
      "lines": 178,
      "logic_relevance": "none",
      "name": "message-actions",
      "normalized_name": "message-actions",
      "package_manager": "pnpm",
      "path": "components/message-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "500718f56dfdb228315097b1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:VisibilitySelector, VisibilityType | imports:./icons, @/components/ui/button, @/components/ui/dropdown-menu, @/hooks/use-chat-visibility, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "VisibilitySelector,VisibilityType",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af050ce1e3983c38",
      "framework": "next-react",
      "imports": "./icons,@/components/ui/button,@/components/ui/dropdown-menu,@/hooks/use-chat-visibility,@/lib/utils,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "visibility-selector",
      "normalized_name": "visibility-selector",
      "package_manager": "pnpm",
      "path": "components/visibility-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "7c35de81d54b9ba64db1233c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeBlock | imports:./icons, ./ui/button, ./ui/tooltip, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "CodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11279073c5ad9cef",
      "framework": "next-react",
      "imports": "./icons,./ui/button,./ui/tooltip,@/lib/utils,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "code-block",
      "normalized_name": "code-block",
      "package_manager": "pnpm",
      "path": "components/code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "9562dcf92f9db37fe2466168",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,classnames,fast-deep-equal,react,sonner,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MultimodalInput | imports:./icons, ./preview-attachment, ./suggested-actions, ./ui/button, ./ui/textarea, @/lib/utils, ai, classnames | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MultimodalInput",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "45cd7b390dfd0818",
      "framework": "next-react",
      "imports": "./icons,./preview-attachment,./suggested-actions,./ui/button,./ui/textarea,@/lib/utils,ai,classnames,fast-deep-equal,react,sonner,usehooks-ts",
      "lines": 362,
      "logic_relevance": "none",
      "name": "multimodal-input",
      "normalized_name": "multimodal-input",
      "package_manager": "pnpm",
      "path": "components/multimodal-input.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "8ffa8840986c746a9601add5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,classnames,fast-deep-equal,framer-motion,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:PreviewMessage, ThinkingMessage | imports:./document, ./document-preview, ./icons, ./markdown, ./message-actions, ./message-editor, ./preview-attachment, ./ui/button | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PreviewMessage,ThinkingMessage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9adfda0518649603",
      "framework": "next-react",
      "imports": "./document,./document-preview,./icons,./markdown,./message-actions,./message-editor,./preview-attachment,./ui/button,./ui/tooltip,./weather,@/lib/db/schema,@/lib/utils,ai,classnames,fast-deep-equal,framer-motion,react",
      "lines": 256,
      "logic_relevance": "none",
      "name": "message",
      "normalized_name": "message",
      "package_manager": "pnpm",
      "path": "components/message.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "51de7c99bd82f7d2621585e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Messages | imports:./message, ./overview, ./use-scroll-to-bottom, @/lib/db/schema, ai, fast-deep-equal, react | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Messages",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2486b449c9b8ead3",
      "framework": "next-react",
      "imports": "./message,./overview,./use-scroll-to-bottom,@/lib/db/schema,ai,fast-deep-equal,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "messages",
      "normalized_name": "messages",
      "package_manager": "pnpm",
      "path": "components/messages.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "40ae350c82f3adcf37ab9aee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,fast-deep-equal,react,swr",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentPreview | imports:./block, ./code-editor, ./document, ./document-skeleton, ./editor, ./icons, ./image-editor, @/hooks/use-block | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DocumentPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1965217fc7524aa",
      "framework": "next-react",
      "imports": "./block,./code-editor,./document,./document-skeleton,./editor,./icons,./image-editor,@/hooks/use-block,@/lib/db/schema,@/lib/utils,fast-deep-equal,react,swr",
      "lines": 271,
      "logic_relevance": "none",
      "name": "document-preview",
      "normalized_name": "document-preview",
      "package_manager": "pnpm",
      "path": "components/document-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "e5598b440b320977f3ced160",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,ai,react,swr",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Chat | imports:./block, ./messages, ./multimodal-input, ./visibility-selector, @/components/chat-header, @/hooks/use-block, @/lib/db/schema, @/lib/utils | ai-score:120 | frontend-score:115 | ui-score:70",
      "exports": "Chat",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a81731fc4c7ef83d",
      "framework": "next-react",
      "imports": "./block,./messages,./multimodal-input,./visibility-selector,@/components/chat-header,@/hooks/use-block,@/lib/db/schema,@/lib/utils,ai,ai/react,react,swr",
      "lines": 119,
      "logic_relevance": "none",
      "name": "chat",
      "normalized_name": "chat",
      "package_manager": "pnpm",
      "path": "components/chat.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c893d3414be5fd190560b64c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitButton | imports:./ui/button, @/components/icons, react-dom | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SubmitButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa81549694ef26f8",
      "framework": "next-react",
      "imports": "./ui/button,@/components/icons,react-dom",
      "lines": 38,
      "logic_relevance": "none",
      "name": "submit-button",
      "normalized_name": "submit-button",
      "package_manager": "pnpm",
      "path": "components/submit-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "710827b5340a21a6816f4814",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "ai,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuggestedActions | imports:./ui/button, ai, framer-motion, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SuggestedActions",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b15d8fe393129e5f",
      "framework": "next-react",
      "imports": "./ui/button,ai,framer-motion,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "suggested-actions",
      "normalized_name": "suggested-actions",
      "package_manager": "pnpm",
      "path": "components/suggested-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "3cb21e074d9177ab152914a7",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "classnames",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageEditor | imports:./icons, classnames | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ImageEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c1084e1d0a99cbd",
      "framework": "next-react",
      "imports": "./icons,classnames",
      "lines": 50,
      "logic_relevance": "none",
      "name": "image-editor",
      "normalized_name": "image-editor",
      "package_manager": "pnpm",
      "path": "components/image-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8c53139a630953132d658e59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "41ed63d27ebe7db8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "75bce9bf39834c60e65b957f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "645d4fa4d43ceb65",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b8901433238684606890e665",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "517acb10e0c7a683",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6d3f3833a8648a39066f92e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dec6e3c633674baf",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a79bf3290ea47f845055168f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "af83463e3e316c59",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b8628293339412d305ea7e25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f7a70ecb0dd1c1c7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "167ffb89b799fc05ca0f9634",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29a30c648ba9294f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1979c1000e0793f450a3b132",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "295fc11d5381b841",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "12bbc8b93f2c0e1236f6d006",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8af33dc3e2e09cd6",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "497f2040ed20cf9bb948b925",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c566bf1dc18f0c5d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6ab489f94e5ac4286d1ac02f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29c3b37433c59cf9",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "db71b98879da843b9e2f571b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d7ba3cbef08deed6",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "94a34a652199d5a02ad90704",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "43b0afa75a641b32",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "observability",
      "component_id": "45d9ac08af188dd94321aed0",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/components,react,swr",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:initialBlockData, useBlock, useBlockSelector | imports:@/components/block, react, swr | observability-score:55",
      "exports": "initialBlockData,useBlock,useBlockSelector",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fcb4b415ea1de44",
      "framework": "next-react",
      "imports": "@/components/block,react,swr",
      "lines": 68,
      "logic_relevance": "none",
      "name": "use-block",
      "normalized_name": "use-block",
      "package_manager": "pnpm",
      "path": "hooks/use-block.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "777aedd525596eb833e2a68f",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82bff42ff087bd5d",
      "framework": "next-react",
      "imports": "react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "b40de0e1a2a7902cc0530608",
      "component_kind": "ai-chat",
      "confidence": 80,
      "dependency_roots": "@/app,@/components,@/lib,react,swr",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:useChatVisibility | imports:@/app/(chat)/actions, @/components/visibility-selector, @/lib/db/schema, react, swr | ai-score:75",
      "exports": "useChatVisibility",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2585e9f1a566fae1",
      "framework": "next-react",
      "imports": "@/app/(chat)/actions,@/components/visibility-selector,@/lib/db/schema,react,swr",
      "lines": 62,
      "logic_relevance": "none",
      "name": "use-chat-visibility",
      "normalized_name": "use-chat-visibility",
      "package_manager": "pnpm",
      "path": "hooks/use-chat-visibility.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,observability,security",
      "component_id": "cfea17d1ef2edfcf91fd2fff",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,clsx,tailwind-merge",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:cn, convertToUIMessages, fetcher, generateUUID, getDocumentTimestampByIndex, getLocalStorage, getMessageIdFromAnnotations, getMostRecentUserMessage | imports:@/lib/db/schema, ai, clsx, tailwind-merge | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "cn,convertToUIMessages,fetcher,generateUUID,getDocumentTimestampByIndex,getLocalStorage,getMessageIdFromAnnotations,getMostRecentUserMessage,sanitizeResponseMessages,sanitizeUIMessages",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "024f937404becfa9",
      "framework": "next-react",
      "imports": "@/lib/db/schema,ai,clsx,tailwind-merge",
      "lines": 224,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ai,logic,backend",
      "component_id": "dabe85796110419b00c7c99e",
      "component_kind": "ai-integration",
      "confidence": 95,
      "dependency_roots": "ai",
      "description": "AI component for i18n; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:customMiddleware | imports:ai | ai-score:120 | logic-score:70 | backend-score:55",
      "exports": "customMiddleware",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d4cc9477df93fde2",
      "framework": "next-react",
      "imports": "ai",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "custom-middleware",
      "normalized_name": "custom-middleware",
      "package_manager": "pnpm",
      "path": "lib/ai/custom-middleware.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "1abd8e7074fc596edac36e9c",
      "component_kind": "prompt-template",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:blocksPrompt, codePrompt, regularPrompt, systemPrompt, updateDocumentPrompt | imports:@/components/block | ai-score:120 | logic-score:85",
      "exports": "blocksPrompt,codePrompt,regularPrompt,systemPrompt,updateDocumentPrompt",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4959918af2dae859",
      "framework": "next-react",
      "imports": "@/components/block",
      "lines": 83,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/ai/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "6c9a492eee1bd54ab94741ad",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/openai,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:customModel, imageGenerationModel | imports:./custom-middleware, @ai-sdk/openai, ai | ai-score:120 | logic-score:60 | model-provider",
      "exports": "customModel,imageGenerationModel",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e7564978b049c21f",
      "framework": "next-react",
      "imports": "./custom-middleware,@ai-sdk/openai,ai",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/ai/index.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ai,logic",
      "component_id": "394cb79aa5fdc9cd901fca5b",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for workflow; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:DEFAULT_MODEL_NAME, Model, models | ai-score:120 | logic-score:70",
      "exports": "DEFAULT_MODEL_NAME,Model,models",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "479e7742cf0c95b7",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "models",
      "normalized_name": "models",
      "package_manager": "pnpm",
      "path": "lib/ai/models.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,ai",
      "component_id": "40871312c7e373be66006055",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "ai,zod",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getWeather | imports:ai, zod | logic-score:85 | ai-score:75",
      "exports": "getWeather",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab199017a25f4c8d",
      "framework": "next-react",
      "imports": "ai,zod",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "get-weather",
      "normalized_name": "get-weather",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/get-weather.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "359c858f269ab6fb6ec1d693",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:updateDocument | imports:.., ../models, ../prompts, @/lib/db/queries, ai, next-auth, zod | ai-score:120 | logic-score:85 | security-score:55 | model-provider",
      "exports": "updateDocument",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ae52a852ac762ca5",
      "framework": "next-react",
      "imports": "..,../models,../prompts,@/lib/db/queries,ai,next-auth,zod",
      "lines": 146,
      "logic_relevance": "secondary",
      "name": "update-document",
      "normalized_name": "update-document",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/update-document.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "9213458656d5469f5bbc89e1",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:requestSuggestions | imports:.., ../models, @/lib/db/queries, @/lib/db/schema, @/lib/utils, ai, next-auth, zod | ai-score:120 | logic-score:85 | security-score:55",
      "exports": "requestSuggestions",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4348110763ff89e1",
      "framework": "next-react",
      "imports": "..,../models,@/lib/db/queries,@/lib/db/schema,@/lib/utils,ai,next-auth,zod",
      "lines": 92,
      "logic_relevance": "secondary",
      "name": "request-suggestions",
      "normalized_name": "request-suggestions",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/request-suggestions.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "9b47168b8b09af8c0271aa18",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:createDocument | imports:.., ../models, ../prompts, @/lib/db/queries, @/lib/utils, ai, next-auth, zod | ai-score:120 | logic-score:85 | security-score:55",
      "exports": "createDocument",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ea6a50515721d116",
      "framework": "next-react",
      "imports": "..,../models,../prompts,@/lib/db/queries,@/lib/utils,ai,next-auth,zod",
      "lines": 146,
      "logic_relevance": "secondary",
      "name": "create-document",
      "normalized_name": "create-document",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/create-document.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "74e5117d0b85afcc0454401d",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "drizzle-orm",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Chat, Document, Message, Suggestion, User, Vote, chat, document | imports:drizzle-orm, drizzle-orm/pg-core | logic-score:85 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "Chat,Document,Message,Suggestion,User,Vote,chat,document,message,suggestion,user,vote",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "01d18a4354ad4088",
      "framework": "next-react",
      "imports": "drizzle-orm,drizzle-orm/pg-core",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/db/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "e8596251586ff1c4f8edbc47",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "dotenv,drizzle-orm,postgres",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:dotenv, drizzle-orm/postgres-js, drizzle-orm/postgres-js/migrator, postgres | logic-score:60 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83d4b9ce955e6deb",
      "framework": "next-react",
      "imports": "dotenv,drizzle-orm/postgres-js,drizzle-orm/postgres-js/migrator,postgres",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "lib/db/migrate.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "d884688cf93c75b50338b87b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/components,bcrypt-ts,drizzle-orm,postgres",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./schema, @/components/block, bcrypt-ts, drizzle-orm, drizzle-orm/postgres-js, postgres | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b9843f2679a2e13d",
      "framework": "next-react",
      "imports": "./schema,@/components/block,bcrypt-ts,drizzle-orm,drizzle-orm/postgres-js,postgres",
      "lines": 330,
      "logic_relevance": "primary",
      "name": "queries",
      "normalized_name": "queries",
      "package_manager": "pnpm",
      "path": "lib/db/queries.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "a4ad7bc314291b820923eb3e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e4ad431745f3db6a",
      "framework": "next-react",
      "imports": "",
      "lines": 384,
      "logic_relevance": "primary",
      "name": "0003_snapshot",
      "normalized_name": "0003-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0003_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "a5b2de16b24590aacc44e014",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "022528164e751062",
      "framework": "next-react",
      "imports": "",
      "lines": 391,
      "logic_relevance": "primary",
      "name": "0004_snapshot",
      "normalized_name": "0004-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0004_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "1dadf47307d884d79e65ac2f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d7931d7dc90b017e",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "0000_snapshot",
      "normalized_name": "0000-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0000_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "3c0e3053804e379747b60946",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e3a82c2c090b009",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "_journal",
      "normalized_name": "journal",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/_journal.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "dd7b41ba351adc1d1c90f028",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e7bca6072513ed2",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "primary",
      "name": "0001_snapshot",
      "normalized_name": "0001-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0001_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "5900159b8b8d338e7d939a56",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f1a0e38f3fc89abe",
      "framework": "next-react",
      "imports": "",
      "lines": 377,
      "logic_relevance": "primary",
      "name": "0002_snapshot",
      "normalized_name": "0002-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0002_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,frontend,ui",
      "component_id": "686d5b14be7040ec8d4d6309",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "react-dom",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ReactRenderer | imports:react-dom/client | logic-score:70 | frontend-score:60 | ui-score:55",
      "exports": "ReactRenderer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce3d36a66b77fd7a",
      "framework": "next-react",
      "imports": "react-dom/client",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "react-renderer",
      "normalized_name": "react-renderer",
      "package_manager": "pnpm",
      "path": "lib/editor/react-renderer.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security,ai",
      "component_id": "8d64a8f9f1a4cd3e112acf6c",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,prosemirror-model,prosemirror-state,prosemirror-view,react-dom",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UISuggestion, createSuggestionWidget, projectWithPositions, suggestionsPlugin, suggestionsPluginKey | imports:@/components/block, @/components/suggestion, @/lib/db/schema, prosemirror-model, prosemirror-state, prosemirror-view, react-dom/client | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "UISuggestion,createSuggestionWidget,projectWithPositions,suggestionsPlugin,suggestionsPluginKey",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9452c7d8e1d1664",
      "framework": "next-react",
      "imports": "@/components/block,@/components/suggestion,@/lib/db/schema,prosemirror-model,prosemirror-state,prosemirror-view,react-dom/client",
      "lines": 157,
      "logic_relevance": "primary",
      "name": "suggestions",
      "normalized_name": "suggestions",
      "package_manager": "pnpm",
      "path": "lib/editor/suggestions.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,frontend,ui,ai",
      "component_id": "fd4ffc64936e95279a13f64e",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,prosemirror-markdown,prosemirror-model,prosemirror-view,react-dom",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildContentFromDocument, buildDocumentFromContent, createDecorations | imports:./config, ./suggestions, @/components/markdown, prosemirror-markdown, prosemirror-model, prosemirror-view, react-dom/server | logic-score:70 | frontend-score:60 | ui-score:55 | ai-score:45",
      "exports": "buildContentFromDocument,buildDocumentFromContent,createDecorations",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc96dd0973c18cb6",
      "framework": "next-react",
      "imports": "./config,./suggestions,@/components/markdown,prosemirror-markdown,prosemirror-model,prosemirror-view,react-dom/server",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "functions",
      "normalized_name": "functions",
      "package_manager": "pnpm",
      "path": "lib/editor/functions.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,ai",
      "component_id": "c2d82eb4ef58515637e9e808",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "prosemirror-inputrules,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:documentSchema, handleTransaction, headingRule | imports:./functions, prosemirror-inputrules, prosemirror-model, prosemirror-schema-basic, prosemirror-schema-list, prosemirror-state, prosemirror-view, react | logic-score:85 | ai-score:45",
      "exports": "documentSchema,handleTransaction,headingRule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "02d4b45eb642ad17",
      "framework": "next-react",
      "imports": "./functions,prosemirror-inputrules,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/editor/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security,ai",
      "component_id": "4a208e7de0059c00334e1b92",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "diff-match-patch,prosemirror-model",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DiffType, assertNodeTypeEqual, computeChildEqualityFactor, createDiffMark, createDiffNode, createNewNode, createTextNode, diffEditor | imports:diff-match-patch, prosemirror-model | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "DiffType,assertNodeTypeEqual,computeChildEqualityFactor,createDiffMark,createDiffNode,createNewNode,createTextNode,diffEditor,ensureArray,getNodeAttribute,getNodeAttributes,getNodeChildren,getNodeMarks,getNodeProperty,getNodeText,isNodeEqual,isTextNode,matchNodeType,normalizeNodeContent,patchDocumentNode,patchTextNodes",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efb0221ab0ea0474",
      "framework": "next-react",
      "imports": "diff-match-patch,prosemirror-model",
      "lines": 475,
      "logic_relevance": "primary",
      "name": "diff",
      "normalized_name": "diff",
      "package_manager": "pnpm",
      "path": "lib/editor/diff.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nextjs-ai-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "effcabd126b096c7d0365a07",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b8bab5546c5d657",
      "framework": "next-react",
      "imports": "",
      "lines": 6127,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "208b570f07ee32742d57dc76",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ead33a204ef30f95",
      "framework": "next-react",
      "imports": "next",
      "lines": 41,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "3765e25945b2dfdad4683e90",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eefbeb494b5ff909",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "a78a238fa9ac6b18d7fde7e2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "515f89588e186ee9",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 81,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a3243f036533b8277df348e9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c60c80888ab9180",
      "framework": "next-react",
      "imports": "",
      "lines": 8388,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "19b52545b83990a70800e2d0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc71ee3d5f00ac61",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "30895f84cee9a23534e1cb15",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d8220ba6424bc136",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 45,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f37ee3d6aacb454e94b374a0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/particles-background, @/components/ui/button, @/components/ui/input, @/components/ui/tabs, @/components/ui/textarea, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7ebc706250be6d9",
      "framework": "next-react",
      "imports": "@/components/particles-background,@/components/ui/button,@/components/ui/input,@/components/ui/tabs,@/components/ui/textarea,lucide-react,next/image,next/link",
      "lines": 845,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "573a2d6832e2ddc94d186940",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e1f5df3fb1c852d7",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "321dfc18adc7982a837817fc",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a907a4837bf02600",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5fc071959b7815b32a98a831",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "483f75b6f9f118bce2e6a632",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ParticlesBackground | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "ParticlesBackground",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9b6c613718548e8",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "particles-background",
      "normalized_name": "particles-background",
      "package_manager": "pnpm",
      "path": "components/particles-background.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f97ca94eeb59b5fc78614cb1",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "919794d1d851482ae7ac47a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8c6c40d9f0eaa02ee5afcc5a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fa91159ce6d2e2db00aa1fd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dde0d10dde557215a567bc8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "aa69a2a9f487cf888f888909",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fec18dca1724954548acfb02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "449a4871728f2cf4ba346c94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "aa12e9915bfcc8f76dc24724",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0318443266d916a6b4df25ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "b3c60fb03202f696be7ee68b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "746429801ace5d717ee989c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "43162be16bf1997c812710ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f855949beda7f882fa2cf96a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6a27cd36414f15b8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4159d7ea037afa41ce0a340b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e82d5cee02caf32b5711f5ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8fcac3611258a90494b21c0b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ebd93cd29c290baf5107ae16",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a311694e71177ad5af309f26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "49964fe7595eee0bf2fbcdf3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7b9670db97fa5a77d1aad90e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "650530b1b3fbb8408c97b9c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3eb9397117c7f5a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "abc8548448b9d92436c8e45a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b4291361486dee2227b55324",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "36b173750f0cab7b2454df98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "569902d10fe9e5980e57dbe3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "62688459b53ad981b8655fed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "46c97ae3050ff26e38d6fc58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8f08596bb5c5526a1a44619b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "6989e4794c165745b6e5c006",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "91cb47d8f17e896e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db78beaf8a03b86059d1a847",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e49bbbd0ebb1169af710257e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "052aebe9bd80d10d6d1feb96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "db0f0047fccd83a5f8c7df53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "61aa5954e467a7be86ba3e9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "18398a748d2a85e0f698bfea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a8693c06a4f7d90c37e346f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c962b5cb0b6c069966b24e2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ed84e27e7cb8f113e4cfa993",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8aa559f1b15056b24918d5dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c83bf567f2c08256ec52b88c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3c7a29db44beeec8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e71207786f074381477c5eaa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8d61ad7b83f2d3773cfdbbe6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "92e16e55810f471cf47b38c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6925934fc3bfe50491344df8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7d450a5e660dd2a162b7a9dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "db25a8c78aef9dae4389b24b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "a9839633dcf443564010feaa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d7533b829207e6e28441927d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aeb56f1e475d7ad137d18414",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f92b98801f68c0f84953a3fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f0b72119b38b23f36b0ac98d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cb69a65200892ef676f22ffc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1255689a50e872a3f4080e44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "edd557320ff4bbaa2b10a0e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "9dc6d05275a5d6a2485823ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f85b7037639b70db29695886",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "e8e4fdd95076d04c4536aa6e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "93494d789bad1a6a",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "45345362a062d6c0a4078da3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e8435736f7ae4444",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "9cbd706e5732e19bae26ccba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08a2cd462fe2c914",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "906276b585055068dccbf938",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nova-hackers-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8f666958180471073a1e8969",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ac207f900ccede3",
      "framework": "next-react",
      "imports": "",
      "lines": 7477,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "11fa47dcc0ad49aa8ae941ff",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:./lib/types/ja4, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c2179cdc12848c59",
      "framework": "next-react",
      "imports": "./lib/types/ja4,next/server",
      "lines": 106,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "f6cb00a69cc0a58d52308cdd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cf6fb608c3d6bb58",
      "framework": "next-react",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "JA4-ATLAS",
      "normalized_name": "ja4-atlas",
      "package_manager": "pnpm",
      "path": "JA4-ATLAS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8959d77e5729c80f0ae6abbf",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "2a689f137d16a268",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f7cb99299a7ca09307961e96",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "824cac4e18e9b787",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cf7ecf6b2037f5c70fa225c5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "39307c605eb439b7",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "125f9f6c9cea1fd95bc7aa0e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/ph3ar-modal, @vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0de17721d3769171",
      "framework": "next-react",
      "imports": "@/components/ph3ar-modal,@vercel/analytics/next,next,next/font/google,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fba6d900da817f3ee1d03d0c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/footer, @/components/navigation, @/components/schema-markup, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b846cfa3a9f69f3",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/schema-markup,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 266,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "23c9f7be39f1120a4ea5acde",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff492654762c3d94",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "34d1b4259d9d2d58b56d3d62",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f19df635798d9a14",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,lucide-react,react",
      "lines": 372,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "7af55def088a56faccb33651",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/breadcrumbs, @/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6781d1a689167a7",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "90ffafa8cc4e4466143cfadc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/breadcrumbs, @/components/footer, @/components/navigation, @/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76495341fa01991c",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/navigation,@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 326,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "b577f539510a914c3ade93b7",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/resources/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "83dd4b2fe2a2ae30a38f9130",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesPage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ResourcesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "073c521e89bc6864",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/tabs,lucide-react,next/link,react",
      "lines": 481,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/resources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e1abb4bc06edfc04174b59dc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SafetyPage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SafetyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "993fcdb7a79b5b29",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,lucide-react,next/link",
      "lines": 454,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/safety/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "f6d0c65b9997a078ff0818fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/ja4-atlas, @/lib/types/ja4, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6ed5db2a96b76023",
      "framework": "next-react",
      "imports": "@/lib/ja4-atlas,@/lib/types/ja4,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fingerprint/collect/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "82d2fa89f7d5928dd45e4bf8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/ja4-atlas, @/lib/types/ja4, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "483f9b45ec025efc",
      "framework": "next-react",
      "imports": "@/lib/ja4-atlas,@/lib/types/ja4,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fingerprint/label/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c1ff981519a48fd25bedb612",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9d1165f292dc491",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "fabbbfe71f9d88a8b84abbf9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ja4-atlas, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "726bcd119602734b",
      "framework": "next-react",
      "imports": "@/lib/ja4-atlas,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ja4/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9d888c03cda0f3794c49a015",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:@/components/breadcrumbs, @/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df52783d5d9d58a8",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 158,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "a5b3b1c73954a18d34189b9f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesPage | imports:@/components/breadcrumbs, @/components/footer, @/components/navigation, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ServicesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61d79c8c52869897",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/navigation,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 146,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/services/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "d59628a26f02e8559c67237b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnergyGenerationPage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EnergyGenerationPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e73b9781bb4ed04",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 223,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/services/energy-generation/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "5406035879091d5e06ad022c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CompliancePage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CompliancePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0224d87e752fb67",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 275,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/services/compliance/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "230893344c62fd81758b948e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SafetyProtocolsPage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SafetyProtocolsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5d49588e20385c9",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 244,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/services/safety-protocols/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "0530bc93e8050d8c0f002bae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MaintenancePage | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MaintenancePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dbf01334b838dec2",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 235,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/services/maintenance/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "72e35e3d432f8bf0375160c1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "f2f46a531733a423d0b5d2aa",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,backend,observability",
      "component_id": "ea2e3a9deaa0c081040d843a",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SchemaMarkup | frontend-score:85 | logic-score:70 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "SchemaMarkup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29257fe05de6dcb9",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "secondary",
      "name": "schema-markup",
      "normalized_name": "schema-markup",
      "package_manager": "pnpm",
      "path": "components/schema-markup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "e923b4f6c8769c9ae83556bf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintCollector | imports:@/lib/fingerprint/client-collector, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "FingerprintCollector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "903ede7ebb62f44b",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/client-collector,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "fingerprint-collector",
      "normalized_name": "fingerprint-collector",
      "package_manager": "pnpm",
      "path": "components/fingerprint-collector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "ac099203cc8e8f37f41c23eb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkRegistration | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NetworkRegistration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b47ab45a4e1e86ce",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "network-registration",
      "normalized_name": "network-registration",
      "package_manager": "pnpm",
      "path": "components/network-registration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f088ab6e28625aca7969ffc5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e85d36f4ea06b659",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 44,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "da35e6d9b3e74fdcab16c842",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:./network-registration, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0b3f842833c13587",
      "framework": "next-react",
      "imports": "./network-registration,lucide-react,next/link",
      "lines": 164,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "52dc10d46568fab9e863af56",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3ARModal | imports:./ph3ar-modal-ui, next/dynamic, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PH3ARModal",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d42715b9b528a7e0",
      "framework": "next-react",
      "imports": "./ph3ar-modal-ui,next/dynamic,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "60977a8e18826c80043b3430",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navigation | imports:@/components/ui/button, @/components/ui/sheet, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Navigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5b40c4b8713c958",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/sheet,lucide-react,next/link,next/navigation,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "components/navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "e1d09c64f07741ae25d9cb68",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3ARModalUI | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "PH3ARModalUI",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d751b6162e38be0b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,lucide-react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "ph3ar-modal-ui",
      "normalized_name": "ph3ar-modal-ui",
      "package_manager": "pnpm",
      "path": "components/ph3ar-modal-ui.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e69547d8f203478cd05dd5f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "64879d9fd1100305690b74ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0126d4ea94def679",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3fbc359f8949b1316157b024",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6900af31dcb649379e04022e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "db9cf0ce6168468647e5e1b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d774d664b8342526ba1588ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f687405931fb9b902e06d073",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "030819502adf9f3ab40bd1b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "27b1985138a3581f16826671",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8b9912688745cc0f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "de75d5fca7d15f288499d895",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "de34719d97b36dd072ffea72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "79825c2a4cfc8ff6a957a9e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e9d2d8c06bce2892f4483a31",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9469aa9381b196e4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "27f6c02994301d05e460ad79",
      "component_kind": "health-check",
      "confidence": 65,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/health/route, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0532c01cc8abe76",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 12,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "8a3a3f6217747622e114e025",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "07f198a188f27593",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "1d302e16c2a3bf927cdc0a6e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "00e3eba68a233767",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "0d1e0383ea608a015274f7ef",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8c7b05d7a7b56eee",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "e78f70515f41a271c815e347",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getJA4AtlasDashboardUrl, getLookupUrl, getObservationsUrl, testSensorConnection | imports:./types/ja4 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "getJA4AtlasDashboardUrl,getLookupUrl,getObservationsUrl,testSensorConnection",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "89956458e152f681",
      "framework": "next-react",
      "imports": "./types/ja4",
      "lines": 172,
      "logic_relevance": "primary",
      "name": "ja4-atlas",
      "normalized_name": "ja4-atlas",
      "package_manager": "pnpm",
      "path": "lib/ja4-atlas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f73a0d025bb2be7a82622839",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "8aa2f5be3aa246f06dd5d87c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClientProfile, CorrelationCluster, FingerprintCorrelation, FingerprintLabel, JA4Fingerprint, JA4FingerprintType, JA4IngestResponse, JA4LookupResponse | logic-score:70 | security-score:55",
      "exports": "ClientProfile,CorrelationCluster,FingerprintCorrelation,FingerprintLabel,JA4Fingerprint,JA4FingerprintType,JA4IngestResponse,JA4LookupResponse,JA4Observation,RiskScore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dc9e285784d3def6",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "primary",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "pnpm",
      "path": "lib/types/ja4.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "45f37c2417d9510debe9b7ff",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintCorrelator | imports:../types/ja4 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "FingerprintCorrelator",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa437d4ccd21531f",
      "framework": "next-react",
      "imports": "../types/ja4",
      "lines": 205,
      "logic_relevance": "primary",
      "name": "correlator",
      "normalized_name": "correlator",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/correlator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "3db573c1aec8201b30ddb5da",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClientFingerprintCollector | imports:../types/ja4 | logic-score:85 | security-score:55",
      "exports": "ClientFingerprintCollector",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7d2085f87da28cab",
      "framework": "next-react",
      "imports": "../types/ja4",
      "lines": 229,
      "logic_relevance": "primary",
      "name": "client-collector",
      "normalized_name": "client-collector",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/client-collector.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "cf369385d78168573b327a3f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "728c94fab986f457",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "009a677252337ee014295bca",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f50be18df477247e",
      "framework": "next-react",
      "imports": "",
      "lines": 8618,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "4a0d118a922ef559558bbdc0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f29f54eba64a18b7",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "PRINCIPLES",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "PRINCIPLES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,automation",
      "component_id": "c525546b2ebd706fb6e9514d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "345008ca4a105099",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pr-description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr-description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0ced4789ec6a17d77ff11d98",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4a723eb7001ad46b",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "9d641b1d6e7b272966104817",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "3d7b26abb3cf8ce0111d17f9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "60bcbfab4a102490",
      "framework": "next-react",
      "imports": "",
      "lines": 473,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "64a64fa86035928885b57b4e",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d9a8de090ab127fa",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5863f057b3ac622d79c315ff",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "a8d47f362e5d1dee518ae37c",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib,crypto,fs,next,path",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/markdown, @/lib/seo-generator, crypto, fs, next/server, path | process-score:100 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "37f259bc76bac909",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/markdown,@/lib/seo-generator,crypto,fs,next/server,path",
      "lines": 1293,
      "logic_relevance": "none",
      "name": "anoms-do-not-delete",
      "normalized_name": "anoms-do-not-delete",
      "package_manager": "pnpm",
      "path": "anoms-do-not-delete.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "5378bf7c165180f1bc279e96",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5118a5e32930e2e4",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5ab37781f052dbbb00091baf",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6471856f07b8c9b9",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "9677152af9bfd2e6581a865a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a95767b4590b731",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "e4e29bfe92e2cb0cb09916ce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73b3d2d4b0794a9f",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "deep-research-report-v2",
      "normalized_name": "deep-research-report-v2",
      "package_manager": "pnpm",
      "path": "deep-research-report-v2.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "176feb60793eeed1f52e7329",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d1e8f15e1b69358c",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "LOCAL_DEV",
      "normalized_name": "local-dev",
      "package_manager": "pnpm",
      "path": "LOCAL_DEV.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "4b899542cdf41e087422735e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1e542cc96c69051",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,automation",
      "component_id": "75589f938302db6806345d0f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "012bb46dfc4a07d1",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "commit_msg",
      "normalized_name": "commit-msg",
      "package_manager": "pnpm",
      "path": "commit_msg.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "a1457c6b169078cb7570e62a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "30ee29a60a41472f",
      "framework": "next-react",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,ai",
      "component_id": "04a17a25a4cbee9d8b1ee6a2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0e366aba1ca324e1",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5deea25c0937599961d44824",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6befd6c7fbd55b20",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "pnpm",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,observability,security,automation,ai",
      "component_id": "110eecd0a8ce342944ea26f3",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@hookform/resolvers,@modelcontextprotocol/sdk,@neondatabase/serverless,@vercel/og,@vercel/toolbar,next,react-hook-form,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime, sql | imports:@hookform/resolvers/zod, @modelcontextprotocol/sdk/server/mcp.js, @modelcontextprotocol/sdk/server/web.js, @neondatabase/serverless, @vercel/og, @vercel/toolbar/next, next/og, react-hook-form | backend-score:105 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime,sql",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8d675a27f4bd68d7",
      "framework": "next-react",
      "imports": "@hookform/resolvers/zod,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/web.js,@neondatabase/serverless,@vercel/og,@vercel/toolbar/next,next/og,react-hook-form,zod",
      "lines": 359,
      "logic_relevance": "none",
      "name": "PACKAGES",
      "normalized_name": "packages",
      "package_manager": "pnpm",
      "path": "PACKAGES.md",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6c2230234ba1d818c6e65cc1",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7b382bf25a44fa55",
      "framework": "next-react",
      "imports": "",
      "lines": 578,
      "logic_relevance": "none",
      "name": "NEW_INTERNET_V1_FULL_SPEC",
      "normalized_name": "new-internet-v1-full-spec",
      "package_manager": "pnpm",
      "path": "NEW_INTERNET_V1_FULL_SPEC.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "13d8897f06af7bbf89268b68",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "8c04533c0ceda7f082a87a31",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1101e1641bd370de",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "90579b555738dcc901ebe613",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f1a722336d9bee3",
      "framework": "next-react",
      "imports": "",
      "lines": 454,
      "logic_relevance": "none",
      "name": "standards-references",
      "normalized_name": "standards-references",
      "package_manager": "pnpm",
      "path": "standards-references.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "c11cce1963b9740f89cb6971",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, @/lib/site-config, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac3fdcaf6498e3a1",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/lib/site-config,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google",
      "lines": 89,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "0b4c64316b0a94338949d3b7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/data, @/lib/db, @/lib/site-config, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bbd79c3fb17a2c3",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/data,@/lib/db,@/lib/site-config,lucide-react,next,next/link",
      "lines": 405,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "bc4f541ececccb01e8fa8f20",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d15b6110571df797",
      "framework": "next-react",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "01c5c71775abc7b637f254bc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ed22fb2c322f36d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 47,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "0fc11d35db466ba7df8def9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0fd6b278179b9a08",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 230,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "307693c8e26c6fae673f7014",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "beaf49395735279a",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "aa3a2f7d9378784a14699ebe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ddbbca0d7e5aff2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,@/components/ui/tooltip,@/lib/i18n,@/lib/site-config,lucide-react,next/link,react",
      "lines": 652,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "a69b6e50b8775ca31641c883",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage | imports:@/components/docs-layout, @/components/markdown-renderer, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SubmitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f95da8729bf0b81",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/markdown-renderer,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/tooltip,@/lib/site-config,lucide-react,next/link,react",
      "lines": 944,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "709f1f01607057134fe790ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4597c7d872efefea",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "f98a413b0bc3f621b4a35ba1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "74f30450af0177f5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "1998925266aa6c395005d832",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/docs-layout, @/components/docs-list-client, @/lib/data, @/lib/db | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff63e174e0ac5803",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/docs-list-client,@/lib/data,@/lib/db",
      "lines": 71,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "87c9d5021f832db3e94a50b4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryPage | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/data, @/lib/db, @/lib/site-config, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | metadata",
      "exports": "CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82a672df36a55c4d",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/data,@/lib/db,@/lib/site-config,lucide-react,next/link,next/navigation",
      "lines": 145,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,integration,security,process,ai",
      "component_id": "659673ad41ef7e8867730d6f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/data, @/lib/db, @/lib/site-config, lucide-react | frontend-score:115 | ui-score:55 | integration-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4271023cea0f48d",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/data,@/lib/db,@/lib/site-config,lucide-react",
      "lines": 360,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,backend,process",
      "component_id": "1029d1f316544212ba44148c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiCodeBlock | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | process-score:45",
      "exports": "ApiCodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "654c26e4122c5ba3",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "api-code-block",
      "normalized_name": "api-code-block",
      "package_manager": "pnpm",
      "path": "app/docs/api/api-code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,process,automation,ai",
      "component_id": "90ec0f262f7c381cc40e97c0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./api-code-block, @/components/docs-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/data, @/lib/db, @/lib/site-config | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a54313385f3ffeec",
      "framework": "next-react",
      "imports": "./api-code-block,@/components/docs-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/data,@/lib/db,@/lib/site-config,lucide-react",
      "lines": 436,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "7bd1d54031919be55c57cb47",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentPage | imports:@/components/docs-layout, @/components/markdown-renderer, @/components/share-buttons, @/components/ui/badge, @/components/ui/button, @/components/ui/separator, @/lib/data, @/lib/db | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | metadata",
      "exports": "DocumentPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2dcb21b2420a27f4",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/markdown-renderer,@/components/share-buttons,@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/lib/data,@/lib/db,@/lib/seo-generator,@/lib/site-config,lucide-react,next,next/link,next/navigation",
      "lines": 469,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,process",
      "component_id": "017fd3096c24550de5132175",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentNotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "DocumentNotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abb3955a68b491eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 48,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/docs/[slug]/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e6acbb850a16f0c64d414054",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/data, @/lib/db, @/lib/site-config | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42f0e854442294ae",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/data,@/lib/db,@/lib/site-config,lucide-react,next/link",
      "lines": 205,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "b562c89ca53b6d9347f07d35",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57a04139ca8e9754",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 290,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "9903189f6ef629a9d6ce54f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, PUT | imports:@/lib/db, @/lib/site-config, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "17403754f80f5d40",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,crypto,next/server",
      "lines": 170,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "65bdd40697e6417414900f3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,dns,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_CONTENT_SIZE, POST | imports:@/lib/auto-name, @/lib/db, @/lib/emoji, @/lib/logger, @/lib/seo-generator, @/lib/site-config, dns/promises, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,MAX_CONTENT_SIZE,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c8f491fe1d689551",
      "framework": "next-react",
      "imports": "@/lib/auto-name,@/lib/db,@/lib/emoji,@/lib/logger,@/lib/seo-generator,@/lib/site-config,dns/promises,next/server,uuid",
      "lines": 547,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "3bb7728cb1a5d11f205a98ee",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, DOC_FILES, GET | imports:@/lib/site-config, fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DOCS_DIR,DOC_FILES,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "01e7cb5a6427b846",
      "framework": "next-react",
      "imports": "@/lib/site-config,fs,next/server,path",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "9431afc99776f051108fa2e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, GET | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DOCS_DIR,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "50d17b7adb896997",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "464ea5644bd96729f59cf369",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a77193e1901ac88b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 187,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend",
      "component_id": "5ce5e66dc2c5845637b3cfd5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aed9f19094f9200c",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "1966e65ece64b78122d4ed86",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/api-helpers, @/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "addff87e6dfe29e6",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/site-config,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/[name]/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,automation",
      "component_id": "9b8cf679770ecbf3d1fb1429",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BUILD, GET, TIMESTAMP, VERSION | imports:next/server | backend-score:125 | frontend-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "BUILD,GET,TIMESTAMP,VERSION",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ec80da6d126f9b62",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/version/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,process,frontend,observability,security,automation,ai",
      "component_id": "bc8961b7020c58c9def743cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHUNK_SIZE, GET, POST | imports:@/lib/db, @/lib/emoji, @/lib/seo-generator, @/lib/site-config, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "CHUNK_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f74f5a2242c890db",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/emoji,@/lib/seo-generator,@/lib/site-config,next/server",
      "lines": 490,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflow/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3470a59387d3e57e1328ac65",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d4207fe2531330fa",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,next/server",
      "lines": 194,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "f50a3710cefaa1dd56376d81",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f2460212c43a225",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 216,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b14b9fd2baac000f03fb3a48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "727bcc0be99e8647",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 170,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "a0e4f9f4d481d19523ad8841",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHUNK_SIZE, GET, POST | imports:@/lib/db, @/lib/emoji, @/lib/logger, @/lib/markdown, @/lib/seo-generator, @/lib/site-config, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CHUNK_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c78faa7d90111643",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/emoji,@/lib/logger,@/lib/markdown,@/lib/seo-generator,@/lib/site-config,next/server",
      "lines": 440,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/automation/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3eea4f25536167c6c4a5745a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f222655178677f82",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,next/server",
      "lines": 220,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "2e7535f74f82daccc4df690b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aebeca01d9aba861",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,next/server",
      "lines": 201,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "429edeb48a08897bc3a8b12e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e5a8c7be6f8746f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,crypto,next/server",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "68f1b8d73077827ceca74301",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "40a6f38de1569591",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,@/lib/logger,next/server",
      "lines": 124,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "19c6cd9f25e00ea569ee250a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api-helpers, @/lib/db, @/lib/logger, next/server, uuid | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "06ee519f2e2872f7",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/logger,next/server,uuid",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboarding/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "67391cbb098dd748c9412cdb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf0d927a3a8351c9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 98,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c2cc760a5cff671888306c04",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d208cedddc24857",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "5620c3ff8737d97054ea7767",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@modelcontextprotocol/sdk,crypto,fs,next,path,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:createMcpServer, dynamic | imports:@/lib/auto-name, @/lib/db, @/lib/logger, @/lib/markdown, @/lib/seo-generator, @/lib/site-config, @modelcontextprotocol/sdk/server/mcp.js, @modelcontextprotocol/sdk/server/webStandardStreamableHttp.js | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "createMcpServer,dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a782e68d55b34dd3",
      "framework": "next-react",
      "imports": "@/lib/auto-name,@/lib/db,@/lib/logger,@/lib/markdown,@/lib/seo-generator,@/lib/site-config,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js,@modelcontextprotocol/sdk/types.js,crypto,fs,next/server,path,zod",
      "lines": 1182,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "044417157c89397bfcc41910",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FALLBACK_BASE_URL, GET, POST | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "FALLBACK_BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c59351fcadd29dd5",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 282,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,frontend,backend,observability,security,discovery,automation",
      "component_id": "15c4b07eb2c1abfab2579438",
      "component_kind": "process-document",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET | imports:@/lib/site-config, next/server | process-score:80 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e4d450c66db072fe",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 355,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "backend,frontend,automation",
      "component_id": "13c561ef08febed728306c52",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for deployment; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/version, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f4f68c736f0b97c",
      "framework": "next-react",
      "imports": "@/lib/version,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/version/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,automation",
      "component_id": "8fc6451899dafad89f7dea6d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@vercel/og,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@vercel/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c4f39cbb4aea26e2",
      "framework": "next-react",
      "imports": "@vercel/og,next/server",
      "lines": 135,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c09bdb01d59dce7683b9f9cc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99885dac2d907d5f",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "0930c42dc52a5aee38c35273",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d57157e5d5cf966b",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 130,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "1fe0eccbe82807201def50ad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f159155cc69714e0",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "81a12a4f5c94efdb5d4d9b1c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e9d39690b0708636",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 169,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "process",
      "component_id": "d26a063aaa491e8adb8a4351",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for finance; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cc04199c91839e70",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "custom-dictionary-workspace",
      "normalized_name": "custom-dictionary-workspace",
      "package_manager": "pnpm",
      "path": "${workspaceFolder:opendocs-webby}/.cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,ai",
      "component_id": "c7611cabd91c48f610c62bcb",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4f84aea2cdca09d8",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "custom-dictionary-workspace",
      "normalized_name": "custom-dictionary-workspace",
      "package_manager": "pnpm",
      "path": ".cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process,ai",
      "component_id": "7626dbc7d36b0b724fc11070",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c448349fc47d2e38",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "discovery-registration",
      "normalized_name": "discovery-registration",
      "package_manager": "pnpm",
      "path": "docs/ops/discovery-registration.json",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,observability,automation",
      "component_id": "2ea8ec9b6859a7bc2ff7ebce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "20f08bcde9236ffa",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "kanban-created-tasks",
      "normalized_name": "kanban-created-tasks",
      "package_manager": "pnpm",
      "path": "docs/ops/kanban-created-tasks.json",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "845af3c3477dc13675e9b96e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3318909b8feb3479",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "minimum-discoverability-matrix",
      "normalized_name": "minimum-discoverability-matrix",
      "package_manager": "pnpm",
      "path": "docs/ops/minimum-discoverability-matrix.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "observability,process,automation",
      "component_id": "f909eb36f61280a47ef431c4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for deployment; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2d4e96a42dd985ea",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "v0-project",
      "normalized_name": "v0-project",
      "package_manager": "pnpm",
      "path": "docs/ops/v0-project.json",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "f416f4add52af14107684776",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d6bc4eda4a203114aed92153",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareButtons, ShareDialog | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShareButtons,ShareDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "611cc7f8d779eebc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,lucide-react,react",
      "lines": 251,
      "logic_relevance": "none",
      "name": "share-buttons",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "components/share-buttons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "13b636d5c38df5929e64e9df",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "ea104ad1d3c6afb179ceca65",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsLayout | imports:@/components/accessible-theme-switcher, @/components/ui/button, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/sheet, @/components/ui/tooltip, @/lib/site-config, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad71ea1d1c55c625",
      "framework": "next-react",
      "imports": "@/components/accessible-theme-switcher,@/components/ui/button,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/sheet,@/components/ui/tooltip,@/lib/site-config,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 373,
      "logic_relevance": "none",
      "name": "docs-layout",
      "normalized_name": "docs-layout",
      "package_manager": "pnpm",
      "path": "components/docs-layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "96f06835d37cf61e441b4309",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,isomorphic-dompurify,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarkdownRenderer | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/utils, isomorphic-dompurify, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownRenderer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a59a53eb5595649",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/utils,isomorphic-dompurify,lucide-react,react",
      "lines": 323,
      "logic_relevance": "none",
      "name": "markdown-renderer",
      "normalized_name": "markdown-renderer",
      "package_manager": "pnpm",
      "path": "components/markdown-renderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "525444e46eb6886720a6ac82",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24d455a09128abf9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n,lucide-react,next/navigation",
      "lines": 50,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "46b604eed6936f1db227b484",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsListClient | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/input, @/components/ui/select, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsListClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "717cd2b70052e62b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/input,@/components/ui/select,lucide-react,next/link,react",
      "lines": 288,
      "logic_relevance": "none",
      "name": "docs-list-client",
      "normalized_name": "docs-list-client",
      "package_manager": "pnpm",
      "path": "components/docs-list-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c947c54554224a78cfcc48f5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibleThemeSwitcher | imports:@/components/ui/button, @/lib/site-config, @/lib/utils, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AccessibleThemeSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f59faae94f62b37",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/site-config,@/lib/utils,lucide-react,next-themes,react",
      "lines": 444,
      "logic_relevance": "none",
      "name": "accessible-theme-switcher",
      "normalized_name": "accessible-theme-switcher",
      "package_manager": "pnpm",
      "path": "components/accessible-theme-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f449e9c15822d963a1b59c54",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db16a3be176caaeb47f8e084",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7583992894893e0a8d623683",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "51ddf43619c6b3b2e4bfe3cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3859ec75535214ba4157e9fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "94cdc680086de216d89a7239",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1bc41ccbda7f61cfd26e8c3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "8ee6fbc704b806db1bd1de0f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f57ca516e82f87463b62501f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ed940db260c1945de82aeaa6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c18209d6a3b3f6a0d849a42b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "6400ddf719fb3182a2fcab62",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5373b13a3d5a613fd7d014e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "319ac5ea608162f5dd48fd8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ae11601f708ec0f016bb7755",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "08bec3d6c91e9c2a845f9585",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1b8ef24ffd67f19d6be2a4ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dc979176c359c22abca5ce0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6430854e5800dfcd4371caa9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5544aa855451af0346f404f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5f91cd828f03b7ea59d90fdb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ace1af8f882f47db794c7ce3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa85926afffbcb5770985914",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d1d974a7fa4be53ef24b0149",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "017456d67a539dc18256586f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "2471694c4dc80bf8668c541e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8e4571a56b42050dbfc62dee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "df1851766b2ebf02e68562d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c0e707a59b2c3fcb9d9af663",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "db99131e278c9b1d64c9d543",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8dfc1bb62f712f6d6a33f1f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6b313db54c805cad019f84c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8d08c8e8353c4c4aed5eb391",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5ab422001b88b77bc2461897",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ee3fcd71286898279033ab44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "9c94677bdea07369aa2e0c97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2b1bab12774376a50632d57f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "dcc30c0f29ebfdb65f703338",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "97c4857a22193ba5b7db68bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1dedbf7d7ba33b354f1727ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d33a1fddf45229d116ca24c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "11a0c5f89b8a7cf5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 727,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "cbf18362a45a8ff58b82bac2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f724a8d6f29cf1d1010c1639",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "474e79873df1f25e8c17a0e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "15abe10c78ba38a1fdf12992",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0a7ed2f2542851100d27b8fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f9e99dcd314ec4b82d533d90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "adac49b349c1f03d243fbde2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "de4959a9cc0689dc16bc879b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7ed230ea648d21e2ac8a2bee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a1ddd2a1c5bf65101ccfd03d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "821689598d29bf5242964268",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1f8a858506de50e3a84986d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "71f7e8fbd8c9e9bea3c504c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f421c5c2e074e57df1a1e62a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "55675a12727e8949721e712f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d495cbe16d24971a41ef83db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "819ecf9d551b123e86093d80",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e1c2fa46e4f13d82",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "9147a53464360fffaac2210f",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "737a25b6ba9238ca",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,automation",
      "component_id": "70beb8cfaceb6b5e3fedc988",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@testing-library/react,react-dom,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResizeObserver | imports:@/app/submit/page, @testing-library/react, react-dom, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "ResizeObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8a8e1bee7300a99",
      "framework": "next-react",
      "imports": "@/app/submit/page,@testing-library/react,react-dom,vitest",
      "lines": 116,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/unit/app/submit/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "5fd9177e386b74e28361408e",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "@/app,crypto,vitest",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/settings/route, crypto, vitest | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "20bb9d5d431c21de",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,crypto,vitest",
      "lines": 33,
      "logic_relevance": "none",
      "name": "password.test",
      "normalized_name": "password",
      "package_manager": "pnpm",
      "path": "__tests__/unit/app/api/v1/settings/password.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "504f139b63ca9eb51c8b8b44",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/share-buttons, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35573421a49e727f",
      "framework": "next-react",
      "imports": "@/components/share-buttons,@testing-library/react,vitest",
      "lines": 162,
      "logic_relevance": "none",
      "name": "share-buttons.test",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/share-buttons.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "63b0d44707ca5cc1ea8aa4c3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,@testing-library/user-event,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/locale-switcher, @/lib/i18n, @testing-library/react, @testing-library/user-event, next/navigation, vitest | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47084be4d4ab2b4d",
      "framework": "next-react",
      "imports": "@/components/locale-switcher,@/lib/i18n,@testing-library/react,@testing-library/user-event,next/navigation,vitest",
      "lines": 100,
      "logic_relevance": "none",
      "name": "locale-switcher.test",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/locale-switcher.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "de7309aec78481adc5262723",
      "component_kind": "ui-provider",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/theme-provider, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "598c063aaf7f4ce7",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@testing-library/react,vitest",
      "lines": 40,
      "logic_relevance": "none",
      "name": "theme-provider.test",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/theme-provider.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2cbcf5cff22267959a285789",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/markdown-renderer, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "09753ff358e3afc1",
      "framework": "next-react",
      "imports": "@/components/markdown-renderer,@testing-library/react,vitest",
      "lines": 106,
      "logic_relevance": "none",
      "name": "markdown-renderer.test",
      "normalized_name": "markdown-renderer",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/markdown-renderer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,process",
      "component_id": "c52b3a8f0c062bf28c5aba56",
      "component_kind": "layout",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/docs-layout, @/lib/site-config, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8cfd4fb75e80a34",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/lib/site-config,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 144,
      "logic_relevance": "none",
      "name": "docs-layout.test",
      "normalized_name": "docs-layout",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/docs-layout.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "4d5242c9dd0b4ea33d1fd114",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,next-themes,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/accessible-theme-switcher, @testing-library/react, @testing-library/user-event, next-themes, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "103277798a168cbb",
      "framework": "next-react",
      "imports": "@/components/accessible-theme-switcher,@testing-library/react,@testing-library/user-event,next-themes,vitest",
      "lines": 192,
      "logic_relevance": "none",
      "name": "accessible-theme-switcher.test",
      "normalized_name": "accessible-theme-switcher",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/accessible-theme-switcher.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,process",
      "component_id": "7a0b6ad19691089f7fe56f20",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/docs-list-client, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aead6c0c04515887",
      "framework": "next-react",
      "imports": "@/components/docs-list-client,@testing-library/react,vitest",
      "lines": 162,
      "logic_relevance": "none",
      "name": "docs-list-client.test",
      "normalized_name": "docs-list-client",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/docs-list-client.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "3a5112712bca4742c6541114",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "035c0157f0bb342a",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "3a213136d9fa1ebb94805b4d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-types, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08d68457437f7cd0",
      "framework": "next-react",
      "imports": "@/lib/api-types,vitest",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "api-types.test",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/api-types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "597b9dbb2711746a28c4658e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/data, @/lib/db, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6446b8926e2db6bc",
      "framework": "next-react",
      "imports": "@/lib/data,@/lib/db,vitest",
      "lines": 78,
      "logic_relevance": "primary",
      "name": "data.test",
      "normalized_name": "data",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/data.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "bbc84f798d4d9875c24dbd9e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, vitest | logic-score:60 | backend-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9512fd48f95b3c0",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,security,automation",
      "component_id": "5e18b0e09f4aa626d4f53ec6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/markdown, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54b745c99ec76e92",
      "framework": "next-react",
      "imports": "@/lib/markdown,vitest",
      "lines": 290,
      "logic_relevance": "primary",
      "name": "markdown.test",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/markdown.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "3dbf36c62d58bf2486884892",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo-generator, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8859f35e19f9056c",
      "framework": "next-react",
      "imports": "@/lib/seo-generator,vitest",
      "lines": 279,
      "logic_relevance": "primary",
      "name": "seo-generator.test",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/seo-generator.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "b6fa5b71afd6519ca5d28d18",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo-generator, vitest | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d509d3bac2df71ce",
      "framework": "next-react",
      "imports": "@/lib/seo-generator,vitest",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "aeo-geo.test",
      "normalized_name": "aeo-geo",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/aeo-geo.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "461066f9ed0ba115cd9db111",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/fingerprint, next/headers, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6f4d4dd5d1733a2",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/fingerprint,next/headers,vitest",
      "lines": 291,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "22fc095b80620a3ced3ec752",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auto-name, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7daa2bc81c7ed0ed",
      "framework": "next-react",
      "imports": "@/lib/auto-name,vitest",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "auto-name.test",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/auto-name.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "5ee291f71815831f7a102f2b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "25021ff6c941b628",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "security-salt.test",
      "normalized_name": "security-salt",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/security-salt.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "c0e0df02364b17999828d13d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/version, vitest | logic-score:60 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d0c97e6595e0cd2",
      "framework": "next-react",
      "imports": "@/lib/version,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/version.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "7c981e93a6eddc903b24e2b5",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib,crypto,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-helpers, crypto, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4683f7af9e88e7de",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,crypto,vitest",
      "lines": 208,
      "logic_relevance": "primary",
      "name": "api-helpers.test",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/api-helpers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "82f582b2dbf6c73d10d04c8c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dedcd00671dd941a",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 221,
      "logic_relevance": "primary",
      "name": "fingerprint-enhanced.test",
      "normalized_name": "fingerprint-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/fingerprint-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "50ee56a130b8cf2e0a0f0bac",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/emoji, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4168b1880f81ab71",
      "framework": "next-react",
      "imports": "@/lib/emoji,vitest",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "emoji.test",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/emoji.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "78cda755cc2fb398f28358a9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/i18n, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e74b72a56644f78",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "7d852f915b363fe129709f26",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, vitest | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "041c2ab80b635539",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 224,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b683d0cc5db658b1684134ee",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/settings/route, @/lib/db, next/server, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9055daca1a3f40d",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,@/lib/db,next/server,vitest",
      "lines": 44,
      "logic_relevance": "none",
      "name": "settings-benchmark.test",
      "normalized_name": "settings-benchmark",
      "package_manager": "pnpm",
      "path": "__tests__/integration/settings-benchmark.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "e5648312863bc714825eabfd",
      "component_kind": "mcp-server",
      "confidence": 90,
      "dependency_roots": "@/app,@/lib,@modelcontextprotocol/sdk,fs,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EXPECTED_TOOLS | imports:@/app/api/mcp/route, @/lib/seo-generator, @modelcontextprotocol/sdk/client/index.js, @modelcontextprotocol/sdk/inMemory.js, fs, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EXPECTED_TOOLS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9af8e3dbc55a3951",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/seo-generator,@modelcontextprotocol/sdk/client/index.js,@modelcontextprotocol/sdk/inMemory.js,fs,vitest",
      "lines": 1532,
      "logic_relevance": "none",
      "name": "mcp-server.test",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/mcp-server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,ai",
      "component_id": "541c064737873693e4011e9a",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,@modelcontextprotocol/sdk,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/api/mcp/route, @modelcontextprotocol/sdk/client/index.js, @modelcontextprotocol/sdk/inMemory.js, vitest | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4edc4b4745856404",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@modelcontextprotocol/sdk/client/index.js,@modelcontextprotocol/sdk/inMemory.js,vitest",
      "lines": 101,
      "logic_relevance": "none",
      "name": "bulk-import-benchmark.test",
      "normalized_name": "bulk-import-benchmark",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/bulk-import-benchmark.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6fcddbdbb617c2ee74d12919",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/ingest/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "32360c3ffc0c8a50",
      "framework": "next-react",
      "imports": "@/app/api/v1/ingest/route,@/lib/db,next/server,vitest",
      "lines": 480,
      "logic_relevance": "none",
      "name": "ingest.test",
      "normalized_name": "ingest",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/ingest.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "c83a0ffe60ce2c21979ffba0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/webhooks/route, @/lib/db, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0aa468885aaed42b",
      "framework": "next-react",
      "imports": "@/app/api/v1/webhooks/route,@/lib/db,next/server,vitest",
      "lines": 178,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "aa949edf69e749f99241b93a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76c57e78893f5f12",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/route,@/lib/db,next/server,vitest",
      "lines": 283,
      "logic_relevance": "none",
      "name": "documents.test",
      "normalized_name": "documents",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "1be33e48732e396d95948b97",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/submissions/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8b944704a704ef9",
      "framework": "next-react",
      "imports": "@/app/api/v1/submissions/route,@/lib/db,next/server,vitest",
      "lines": 147,
      "logic_relevance": "none",
      "name": "submissions.test",
      "normalized_name": "submissions",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/submissions.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6343bf753295db142105ed05",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/keys/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8513152670dd86d1",
      "framework": "next-react",
      "imports": "@/app/api/v1/keys/route,@/lib/db,next/server,vitest",
      "lines": 171,
      "logic_relevance": "none",
      "name": "keys.test",
      "normalized_name": "keys",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4516ca807a8394d22b457fef",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/categories/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "271a4267a0ed9048",
      "framework": "next-react",
      "imports": "@/app/api/v1/categories/route,@/lib/db,next/server,vitest",
      "lines": 212,
      "logic_relevance": "none",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/categories.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "574a408cb053f0ef2a201b89",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/search/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52ccc6fbb855df8e",
      "framework": "next-react",
      "imports": "@/app/api/v1/search/route,@/lib/db,next/server,vitest",
      "lines": 162,
      "logic_relevance": "none",
      "name": "search.test",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/search.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "dde5f2a70de15f9889203733",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, @/lib/db, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "87401a0558a9d9b4",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,@/lib/db,next/server,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "automation.test",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/automation.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,observability,automation",
      "component_id": "7537064a61c40fdaa20cb821",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/version/route, vitest | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83ac4af37b0ad3d1",
      "framework": "next-react",
      "imports": "@/app/api/v1/version/route,vitest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/version.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "b467cdce2e29785c5c4291fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/.well-known/agent.json/route, @/app/.well-known/security.txt/route, @/app/api/docs/route, @/app/llms-index.json/route, @/app/robots.txt/route, @/app/rss.xml/route, @/app/sitemap.xml/route, @/lib/db | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1989a5a3d6066fc3",
      "framework": "next-react",
      "imports": "@/app/.well-known/agent.json/route,@/app/.well-known/security.txt/route,@/app/api/docs/route,@/app/llms-index.json/route,@/app/robots.txt/route,@/app/rss.xml/route,@/app/sitemap.xml/route,@/lib/db,vitest",
      "lines": 558,
      "logic_relevance": "none",
      "name": "discovery-routes.test",
      "normalized_name": "discovery-routes",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/discovery-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3e10581195cde1b0fb8afaec",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/[slug]/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1421d6a588cd92cd",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/[slug]/route,@/lib/db,next/server,vitest",
      "lines": 161,
      "logic_relevance": "none",
      "name": "documents-slug.test",
      "normalized_name": "documents-slug",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents-slug.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "849383562ad0a9760e0c08ec",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/db, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e24edeaf83f7fa3f",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/db,vitest",
      "lines": 63,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c18de1b47540a7c495dfb00a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/settings/route, next/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44423bcacedf8f22",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,next/server,vitest",
      "lines": 61,
      "logic_relevance": "none",
      "name": "settings-optimization.test",
      "normalized_name": "settings-optimization",
      "package_manager": "pnpm",
      "path": "__tests__/performance/settings-optimization.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "1b0f5530042a912f4fbb2ccc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "64b9ab612fef03b9",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ef5d419cde828d8140999d0e",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "Copy code",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:Copy code | process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "847c596e471efec9",
      "framework": "next-react",
      "imports": "Copy code",
      "lines": 25,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "b8eff5f373c7613bd610cdd6",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d215935dbf8a6afb",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "448efe3a4dd5c87954cdb01d",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DEFAULT_TENANT_ID | imports:../lib/db | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "DEFAULT_TENANT_ID",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8f1df2d79bb37b74",
      "framework": "next-react",
      "imports": "../lib/db",
      "lines": 97,
      "logic_relevance": "none",
      "name": "benchmark-seo",
      "normalized_name": "benchmark-seo",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-seo.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "262311f68981a9a06f6e6236",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "@/lib",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/db | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c3142881ceef832",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 8,
      "logic_relevance": "none",
      "name": "benchmark-automation",
      "normalized_name": "benchmark-automation",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-automation.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "da0d536a30105716b7430ced",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21b415d3dfde6a81",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "benchmark-workflow-ingest",
      "normalized_name": "benchmark-workflow-ingest",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-workflow-ingest.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "4a28b1df5a69e75abea55f8c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/logger | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a9fd6387e53229e7",
      "framework": "next-react",
      "imports": "../lib/logger",
      "lines": 15,
      "logic_relevance": "none",
      "name": "verify-fix",
      "normalized_name": "verify-fix",
      "package_manager": "pnpm",
      "path": "scripts/verify-fix.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "7ca195b34e65087cf1dca14d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../lib/site-config | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "09ce78ad5e9ca21f",
      "framework": "next-react",
      "imports": "../lib/site-config",
      "lines": 312,
      "logic_relevance": "none",
      "name": "test-api",
      "normalized_name": "test-api",
      "package_manager": "pnpm",
      "path": "scripts/test-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "ccb695f5113f01a1b44c48fc",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:LOCAL_ENV_PATH, OPS_DIR, ROOT, RUNTIME_ENV_PATH | imports:fs, path | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "LOCAL_ENV_PATH,OPS_DIR,ROOT,RUNTIME_ENV_PATH",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c3fdf64e849ef46a",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 241,
      "logic_relevance": "none",
      "name": "provision-ops",
      "normalized_name": "provision-ops",
      "package_manager": "pnpm",
      "path": "scripts/provision-ops.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "cd1e0173df193a21279319b8",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CHUNK_SIZE, DEFAULT_TENANT_ID | imports:perf_hooks | observability-score:55 | automation-score:50",
      "exports": "CHUNK_SIZE,DEFAULT_TENANT_ID",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03b826910b8a4c92",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 135,
      "logic_relevance": "none",
      "name": "benchmark-seo-refresh",
      "normalized_name": "benchmark-seo-refresh",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-seo-refresh.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ac8f2fbf8af5011c3429ecf1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "28855ac922075e12",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "benchmark-batch-import",
      "normalized_name": "benchmark-batch-import",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-batch-import.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,observability",
      "component_id": "010cefef6de3226942a9fcce",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getCategories, getCategory | imports:./db, react | logic-score:60 | observability-score:55",
      "exports": "getCategories,getCategory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "278c37c341e3622d",
      "framework": "next-react",
      "imports": "./db,react",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "data",
      "normalized_name": "data",
      "package_manager": "pnpm",
      "path": "lib/data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "2186773dae9c80c50296d149",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "crypto,dns,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiResponse, generateApiKey, generateRequestId, generateSlug, getPaginationParams, hasScope | imports:./api-types, ./db, ./logger, ./site-config, crypto, dns/promises, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "apiError,apiResponse,generateApiKey,generateRequestId,generateSlug,getPaginationParams,hasScope",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be28a3e749d44588",
      "framework": "next-react",
      "imports": "./api-types,./db,./logger,./site-config,crypto,dns/promises,next/server",
      "lines": 251,
      "logic_relevance": "primary",
      "name": "api-helpers",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "lib/api-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "390add545a2ada39a9ed95be",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, TranslationKey, localeNames, locales, t, useTranslations | imports:./site-config | logic-score:70 | security-score:55 | automation-score:45",
      "exports": "Locale,TranslationKey,localeNames,locales,t,useTranslations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "484eac62538b918d",
      "framework": "next-react",
      "imports": "./site-config",
      "lines": 1241,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "logic,observability,security,automation",
      "component_id": "3f0dd797e357edc5fce97d5a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarkdownOptions, TableOfContentsItem, extractTableOfContents, getExcerpt, htmlToPlainText, parseMarkdown, processEmoji | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownOptions,TableOfContentsItem,extractTableOfContents,getExcerpt,htmlToPlainText,parseMarkdown,processEmoji",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a2851971b2af9756",
      "framework": "next-react",
      "imports": "",
      "lines": 474,
      "logic_relevance": "primary",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "lib/markdown.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "dbbbce1b8524687a57e99b61",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, API_VERSION, CategoryCreateInput, DocumentCreateInput, DocumentUpdateInput, MCPPrompt, MCPResource, MCPTool | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "APIResponse,API_VERSION,CategoryCreateInput,DocumentCreateInput,DocumentUpdateInput,MCPPrompt,MCPResource,MCPTool,OPENAPI_VERSION,PaginationParams,SubmissionCreateInput,WebhookCreateInput",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c6d55ab130adc906",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "api-types",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "lib/api-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "d901d36bc65c72053d9381b5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AEOMetadata, DocumentMeta, FullOptimization, GEOMetadata, SEOMetadata, ShareLink, calculateReadingTime, extractFAQFromContent | imports:./db, ./site-config | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AEOMetadata,DocumentMeta,FullOptimization,GEOMetadata,SEOMetadata,ShareLink,calculateReadingTime,extractFAQFromContent,extractKeyFacts,extractKeywords,extractQuestions,generateAEOMetadata,generateDescription,generateDirectAnswer,generateEmojiSummary,generateGEOMetadata,generateShareLinks,generateStructuredData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a9428c9612a2d77c",
      "framework": "next-react",
      "imports": "./db,./site-config",
      "lines": 606,
      "logic_relevance": "primary",
      "name": "seo-generator",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "lib/seo-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "615b66fced0adcbcee3c1df8",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation,ai",
      "component_id": "1253a8af31a6e3d52e435938",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:API_KEY_PREFIX, BASE_URL, CONDUCT_EMAIL, CONTACT_EMAIL, DB_DEFAULTS, DEFAULT_KEYWORDS, DISCORD_URL, ECOSYSTEM | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "API_KEY_PREFIX,BASE_URL,CONDUCT_EMAIL,CONTACT_EMAIL,DB_DEFAULTS,DEFAULT_KEYWORDS,DISCORD_URL,ECOSYSTEM,GITHUB_ORG,GITHUB_REPO,MCP_REGISTRY_URL,NETWORK_GRAPH_URL,ORG_NAME,ORG_URL,SECURITY_EMAIL,SERVICE_NAME,SESSION_SALT,SITE_DESCRIPTION,SITE_GENERATOR,SITE_NAME,SITE_TAGLINE,SITE_TITLE,STORAGE_PREFIX,SUPPORT_EMAIL,WEBHOOK_EVENT_HEADER,WEBHOOK_SIGNATURE_HEADER",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3d0deedbb8516e27",
      "framework": "next-react",
      "imports": "",
      "lines": 135,
      "logic_relevance": "secondary",
      "name": "site-config",
      "normalized_name": "site-config",
      "package_manager": "pnpm",
      "path": "lib/site-config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "6b984e387a6180faefc39bc6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, generateRequestId, getRequestContext, logger | imports:./site-config, crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "LogContext,LogLevel,generateRequestId,getRequestContext,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5904219adb0f718c",
      "framework": "next-react",
      "imports": "./site-config,crypto",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "f7a4f5a70745b18bb7f9be02",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmojiResult, EmojiSummary, enhanceWithEmojis, getCategoryEmoji, getCategoryEmojis, parseEmojiShortcodes | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EmojiResult,EmojiSummary,enhanceWithEmojis,getCategoryEmoji,getCategoryEmojis,parseEmojiShortcodes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e530556c8a5f571",
      "framework": "next-react",
      "imports": "",
      "lines": 334,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "9eafcf3ab66b526f2fc7b0b1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintComponents, GeoInfo, Session, extractGeoInfo, generateJA4Fingerprint, generateSessionHash | imports:./db, ./site-config, crypto, next/headers | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "FingerprintComponents,GeoInfo,Session,extractGeoInfo,generateJA4Fingerprint,generateSessionHash",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "44eb08ae34444b94",
      "framework": "next-react",
      "imports": "./db,./site-config,crypto,next/headers",
      "lines": 279,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "917705b0393eeb67287de857",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateSimpleSlug, titleFromUrl | imports:crypto | logic-score:85 | observability-score:55",
      "exports": "generateSimpleSlug,titleFromUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45cd48909f2ec795",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "auto-name",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "lib/auto-name.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "8f93ac3ab2196e4e7df3080f",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:build, compatibility, environment, timestamp, vercel, version | logic-score:45 | automation-score:45 | uses-env",
      "exports": "build,compatibility,environment,timestamp,vercel,version",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b9ec593ba9cdcc6f",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/version.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "caca7db9666fa0029c528886",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiKey, AuditLog, Category, DEFAULT_TENANT_ID, DatabaseConfigurationError, Document, MCPSession, SqlClient | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiKey,AuditLog,Category,DEFAULT_TENANT_ID,DatabaseConfigurationError,Document,MCPSession,SqlClient,Submission,Tenant,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "218d7316dcf8d2f9",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 169,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "06d913e5075b76d543c0dd51",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "536450a11dea471a",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b09693acb9f72f3ff05cbc84",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d04b315f7116df58",
      "framework": "next-react",
      "imports": "",
      "lines": 4448,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "96c5c4a60c653f004b15a1f3",
      "component_kind": "middleware",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:@/lib/auth | backend-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2984bb0dd0a05b6",
      "framework": "next-react",
      "imports": "@/lib/auth",
      "lines": 6,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "a79be9b0a3eb4031c9e967c2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ee765244e2d59f52",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "38de35c58840e7efbab9fb05",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "51107d72330b8926",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "1611f7a76156abff641adc66",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "030823d5ae24eabe",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 78,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "64cf51fe9c76abdff5de7585",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4960d56ebb03a550",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "84896b295aefa1783cbe39cb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fa343d76f7d0841e",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "0d33d6e34a84b6bfb4a6bd23",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "975219002c14c264",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "687b3e4d379b7997199d22ac",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "45aea185bb3fa05b",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "f7c53c9d5172016933b01b70",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a97bdcad424601ba",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b0fb9e21d8bc042df273182b",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,clsx,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/react, clsx, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "537c19215ff867ad",
      "framework": "next-react",
      "imports": "@vercel/analytics/react,clsx,next,next/font/google",
      "lines": 63,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "1fcff9f7a6222df99f82ee73",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "571b3015ad4bbcaa",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,observability,security",
      "component_id": "722aad1eacabf9479f0217cd",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5df0eee91d544268",
      "framework": "next-react",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,observability,automation",
      "component_id": "9b688d1f8f6558b13135a197",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "70ef1c0a4d15ef88",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/seed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "4a93976b44ef450a7421a969",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/auth | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "39b5c5ac91cf61e4",
      "framework": "next-react",
      "imports": "@/lib/auth",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/[...nextauth]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "1f2d37cd3c875411c6467c24",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Product | imports:./actions, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/table, @/lib/db, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Product",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2d27dd5eafe330f",
      "framework": "next-react",
      "imports": "./actions,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/table,@/lib/db,lucide-react,next/image",
      "lines": 60,
      "logic_relevance": "none",
      "name": "product",
      "normalized_name": "product",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/product.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3843ab5bba8d34d0f32d701d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:User | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/auth, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "User",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "858a0749935792c5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/auth,next/image,next/link",
      "lines": 60,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/user.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "58dffea1889ff8f4b4bb3981",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchInput | imports:@/components/icons, @/components/ui/input, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "SearchInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b14d1c6fa7ec5ac",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/input,lucide-react,next/navigation,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "898ba78660098eec4b963172",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductsTable | imports:./product, @/components/ui/button, @/components/ui/card, @/components/ui/table, @/lib/db, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProductsTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a256e26c80976f0",
      "framework": "next-react",
      "imports": "./product,@/components/ui/button,@/components/ui/card,@/components/ui/table,@/lib/db,lucide-react,next/navigation",
      "lines": 124,
      "logic_relevance": "none",
      "name": "products-table",
      "normalized_name": "products-table",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/products-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend",
      "component_id": "1e6c29d0f91e781bf190eb03",
      "component_kind": "frontend-feature",
      "confidence": 70,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/db, next/cache | frontend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29222412606cf95d",
      "framework": "next-react",
      "imports": "@/lib/db,next/cache",
      "lines": 10,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/actions.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "89656e020c17962d32cb9833",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:./nav-item, ./providers, ./search, ./user, @/components/icons, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/sheet | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c66e24b14eaace4",
      "framework": "next-react",
      "imports": "./nav-item,./providers,./search,./user,@/components/icons,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/sheet,@/components/ui/tooltip,@vercel/analytics/react,lucide-react,next/link,react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "98b4dfd65af800cfcc1520f5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "00819d0f312382f4",
      "framework": "next-react",
      "imports": "react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a36e4c41aaeb5dc355e21184",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,clsx,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NavItem | imports:@/components/ui/tooltip, clsx, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NavItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86f99b7a3bcaa7de",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,clsx,next/link,next/navigation",
      "lines": 42,
      "logic_relevance": "none",
      "name": "nav-item",
      "normalized_name": "nav-item",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/nav-item.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0934d3a1bf8e229bee912d85",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./products-table, @/components/ui/button, @/components/ui/tabs, @/lib/db, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f19b6e99eb07a14",
      "framework": "next-react",
      "imports": "./products-table,@/components/ui/button,@/components/ui/tabs,@/lib/db,lucide-react,next",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "05c5801e7413609240b737b8",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Providers | imports:@/components/ui/tooltip | frontend-score:85 | ui-score:55",
      "exports": "Providers",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4c389c1f49074b5c",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip",
      "lines": 7,
      "logic_relevance": "none",
      "name": "providers",
      "normalized_name": "providers",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/providers.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "b887e4a20cab52c09d125e6f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomersPage | imports:@/components/ui/card | frontend-score:85 | ui-score:55",
      "exports": "CustomersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd72627265cc8fe6",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/customers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e490b639e0e02fa7720829ab",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage, metadata | imports:@/components/ui/button, @/components/ui/card, @/lib/auth, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LoginPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "265970771d5007c4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/auth,next",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "00ca35472940af69c08157a5",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Logo, SearchIcon, SettingsIcon, Spinner, UsersIcon, VercelLogo | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Logo,SearchIcon,SettingsIcon,Spinner,UsersIcon,VercelLogo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e54874f950ee188",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "components/icons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "109823af3817f3f5703ef724",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0e5fff9a74b2bdfbe06050e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8bad317eca5b7489",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "46eb19a2f602735e1d87e7f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a005590f6d3bb44a9aa1c364",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4aa37f0f3dde9732fa19ea6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "abb80a6662087bdb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "36d34b63122a56c81a7c549c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a64d55d99f21ec523cc28ea9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7777d79e9a3e3e725a6cbaa9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b50d4f5f404544a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6182cc7e6e41bd63efafa979",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3820b8586480cbfd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "32e15f306a5ba3c73feaf248",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input, InputProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input,InputProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "12dfcb1bdcc2779a",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "735091172182953b7908c885",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "43100b783f477758",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "5468b971dd64a8b002febd6b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dbfea6390f3d9691",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "779b3a78585ae114a85a6826",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "43100b783f477758",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/.well-known/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "d5760ea290ab3c9b3cb0472f",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6c7e10e179b48d26",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "a3a774cb3373708d8f081794",
      "component_kind": "mcp",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "955a1c39c0b5ea60",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "public/.well-known/mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "02bfefe70fd2a9b78f481514",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fde91fa0a50020ed",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "9d65a498f19525ca97c7b9d1",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ec614b80e100ba35",
      "framework": "next-react",
      "imports": "./utils,vitest",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f0e5fb1cf9f6747cb2e26607",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "51bbf14cd1f84f49",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic,observability,security",
      "component_id": "63c586d3b7e68e19b2022720",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,drizzle-orm,drizzle-zod",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SelectProduct, db, insertProductSchema, products, statusEnum | imports:@neondatabase/serverless, drizzle-orm, drizzle-orm/neon-http, drizzle-orm/pg-core, drizzle-zod | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SelectProduct,db,insertProductSchema,products,statusEnum",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d19d68fd3af53c6",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,drizzle-orm,drizzle-orm/neon-http,drizzle-orm/pg-core,drizzle-zod",
      "lines": 71,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,logic",
      "component_id": "19f5f997ab404df995312259",
      "component_kind": "auth",
      "confidence": 80,
      "dependency_roots": "next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next-auth, next-auth/providers/github | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3d4094f5befcbb9d",
      "framework": "next-react",
      "imports": "next-auth,next-auth/providers/github",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "e14e14e53b8ae7a7419aabd6",
      "component_kind": "ai-integration",
      "confidence": 50,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "971a8b30b05a95f1",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-admin-dashboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "8b76d2ac2083df24cad59124",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb9e7c8863e6c36c",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "UPGRADE-PLAN",
      "normalized_name": "upgrade-plan",
      "package_manager": "pnpm",
      "path": "UPGRADE-PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "observability,automation",
      "component_id": "5588b14c9539acb17f72d998",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e13622ebde78d15",
      "framework": "next-react",
      "imports": "",
      "lines": 2619,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability",
      "component_id": "c32db22b46d4b9a0cf6095aa",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f74c2a814045a66",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "beb4d1c272619141cedc0402",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "143cb6837c0de645",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "090e6c25371a3b41dbc86155",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c9e9823b03440a8",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "pnpm",
      "path": "tree.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "f1f324563cd921238456d459",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:activate | process-score:100 | observability-score:55 | security-score:55",
      "exports": "activate",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "006486fd4600dae9",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "post-template",
      "normalized_name": "post-template",
      "package_manager": "pnpm",
      "path": "post-template.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "d71661b5f91f10b13b9e61bc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2a7785560f8f4f1b",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "1272bef08b1b75d1d7b09864",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c449747b6f961b92",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "move_post",
      "normalized_name": "move-post",
      "package_manager": "pnpm",
      "path": "move_post.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "3755aeca1ce429bbab62c936",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fd950f4d775d4f5b",
      "framework": "next-react",
      "imports": "",
      "lines": 331,
      "logic_relevance": "none",
      "name": "STYLING",
      "normalized_name": "styling",
      "package_manager": "pnpm",
      "path": "STYLING.MD",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "157a38e612e511b2ebbb9b18",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "80828fa356fe13b9",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "pnpm",
      "path": "tree.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f8c7ed4fbb5d9367db0a66c4",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@next/mdx,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@next/mdx, next | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c70cae9e758f4c9d",
      "framework": "next-react",
      "imports": "@next/mdx,next",
      "lines": 130,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "739bc8d22d0158ce0b573719",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "cb7a76fe12580ab5",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "pnpm-workspace",
      "normalized_name": "pnpm-workspace",
      "package_manager": "pnpm",
      "path": "pnpm-workspace.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "a2ff07190bf6019a319bc357",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2530be49b9072411",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "custom-dictionary-workspace",
      "normalized_name": "custom-dictionary-workspace",
      "package_manager": "pnpm",
      "path": ".cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,process,observability,security,automation",
      "component_id": "ad804ac47734bd6de2627c69",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0869ab15ec161b97",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "AI-Is-Quieter-Than-You-Think",
      "normalized_name": "ai-is-quieter-than-you-think",
      "package_manager": "pnpm",
      "path": "content/posts/AI-Is-Quieter-Than-You-Think.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "e98722769ac1fd39c2449a5d",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:activate, deactivate | process-score:65 | observability-score:55 | security-score:55",
      "exports": "activate,deactivate",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2e2504337c6caa3c",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "welp",
      "normalized_name": "welp",
      "package_manager": "pnpm",
      "path": "content/posts/welp.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,ai,observability,security",
      "component_id": "91b1f166841035c27cc3e668",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | ai-score:75 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "befc91927eacde6d",
      "framework": "next-react",
      "imports": "",
      "lines": 221,
      "logic_relevance": "none",
      "name": "AI-Took-My-Job-And-Thats-Okay",
      "normalized_name": "ai-took-my-job-and-thats-okay",
      "package_manager": "pnpm",
      "path": "content/posts/AI-Took-My-Job-And-Thats-Okay.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "726483cdb5717b381e69010a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fcde1bd5920b5c46",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "62e0eaded1b3823dbf06b2f3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2182987854f26e7f",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "public/json-ld.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "fa95192d1e06a76ec107ee1f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bdff38308f285ba9",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "464881d3f003f33bc56492b5",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "bd895501debffdc1",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "public/network.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "99f706d5321ee03d97662a7b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "32e7322785674066",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation",
      "component_id": "ad267d5586ea8bbc844c88e8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "91df8973c730d8c5",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "c27403a5f2d573bd63225cfa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "22bacf4e66be2308",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/.well-known/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ec8feea19c3b2182b37124e9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1da2717baebe70c4",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "193d452554c379bce1202821",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7b9ae7f3e8d3cced",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/.well-known/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "23845faa657db6ec0ce3269f",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5c48d7ac288b0094",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,automation,observability,security",
      "component_id": "48cea6891c8390f573b25328",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "PIL,argparse,concurrent.futures,cv2,json,logging,numpy,os,pathlib,platform,sys,torch,torchvision.transforms",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:SwinIR, detect_system, get_default_output_format, load_config, main, normalize_image_mode, process_image, process_single_image | imports:PIL, argparse, concurrent.futures, cv2, json, logging, numpy, os | ai-score:120 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "SwinIR,detect_system,get_default_output_format,load_config,main,normalize_image_mode,process_image,process_single_image,resize_image,upscale_image,validate_output_file",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6b35cfba68afec92",
      "framework": "next-react",
      "imports": "PIL,argparse,concurrent.futures,cv2,json,logging,numpy,os,pathlib,platform,sys,torch,torchvision.transforms",
      "lines": 345,
      "logic_relevance": "none",
      "name": "image-resizer",
      "normalized_name": "image-resizer",
      "package_manager": "pnpm",
      "path": "scripts/image-resizer.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "process,automation",
      "component_id": "2e9f02046a66f2b2636fdbb6",
      "component_kind": "specification",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:50",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "003d65eb7a3f2cff",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "pnpm",
      "path": "scripts/requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a97ed37371ea797b024a996c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,gray-matter,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, gray-matter, path | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "577ab64161bc1fac",
      "framework": "next-react",
      "imports": "fs,gray-matter,path",
      "lines": 43,
      "logic_relevance": "none",
      "name": "validate-posts",
      "normalized_name": "validate-posts",
      "package_manager": "pnpm",
      "path": "scripts/validate-posts.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "35b09dd5636ce9ef4d757f14",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e45feeec24f14643",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "scripts/config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability",
      "component_id": "ac1f8658c892b096eb8437f8",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "df6dbb0dcf2e4164",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "scripts/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "40db3f70b26d766937cfdc3b",
      "component_kind": "script",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3f299a2aeb3da5bb",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "create",
      "normalized_name": "create",
      "package_manager": "pnpm",
      "path": "scripts/create.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "a68951336304f898ec049f0f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "next,perf_hooks,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server, perf_hooks, uuid | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b99a6c017d870cd8",
      "framework": "next-react",
      "imports": "next/server,perf_hooks,uuid",
      "lines": 169,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "api/api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,security",
      "component_id": "a2b9043e51bb6fa647561aa5",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "fs,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:fs, next/server | backend-score:125 | frontend-score:90 | ui-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2004c28756150fe0",
      "framework": "next-react",
      "imports": "fs,next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/subscribe/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "a5a7802f3870061f6c6addf5",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3228759d380abea4",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/hello/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d556cabe281fd782c939a3ba",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "aee914d1e199978a",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,security",
      "component_id": "dce3e2560e7143c46692c035",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:@/lib/constants, next/server | backend-score:55 | security-score:55 | uses-env",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b53527eeb753291c",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 70,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "src/middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "479baa57054125b118f3730c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fafe37dda32c1bcd",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "src/messages/zh.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "743f7ee88646dae5aacbfb50",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5fcc3c75ff4769fa",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "src/messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "31e6edcbcb14fb1f4eab9e32",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a12b7b7597eff210",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "src/messages/fr.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "66af9b102ed9401c30b154aa",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3d95bd48f700fa00",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "src/messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "8de22a088ea62b38c1a723ba",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/constants, next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfeaf2ffdaa76e01",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 30,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "src/app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "a2759d12dc288ec9c9e6dc88",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/lib/api, @/lib/constants, next | frontend-score:55 | discovery-score:55",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9718ad537267e5da",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/constants,next",
      "lines": 53,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "src/app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "229384c1c8a18d023261d428",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,classnames,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/app/_components/easter-egg, @/app/_components/footer, @/app/_components/theme-switcher, @/lib/constants, @/lib/json-ld, classnames, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4fc7db79d82d12e",
      "framework": "next-react",
      "imports": "@/app/_components/easter-egg,@/app/_components/footer,@/app/_components/theme-switcher,@/lib/constants,@/lib/json-ld,classnames,next,next/font/google",
      "lines": 199,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ebaba76913e9af4036ba0536",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/interfaces,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Index | imports:@/app/_components/container, @/app/_components/hero-post, @/app/_components/intro, @/app/_components/more-stories, @/interfaces/post, @/lib/api | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Index",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4af04713ea958bf",
      "framework": "next-react",
      "imports": "@/app/_components/container,@/app/_components/hero-post,@/app/_components/intro,@/app/_components/more-stories,@/interfaces/post,@/lib/api",
      "lines": 137,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "6f49305aa83139738384b396",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3bb7aced4dc0d6d0",
      "framework": "next-react",
      "imports": "",
      "lines": 1024,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "src/app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery",
      "component_id": "3135542108ac8dbb10821f1a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/api, @/lib/constants, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aca3c79899966b78",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/constants,next/server",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b56c4cdfb7b14cc22dc4ee06",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Post | imports:@/app/_components/container, @/app/_components/header, @/app/_components/newsletter-signup, @/app/_components/post-body, @/app/_components/post-header, @/app/_components/social-share, @/lib/api, @/lib/constants | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "Post",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cb65cd00601a959",
      "framework": "next-react",
      "imports": "@/app/_components/container,@/app/_components/header,@/app/_components/newsletter-signup,@/app/_components/post-body,@/app/_components/post-header,@/app/_components/social-share,@/lib/api,@/lib/constants,@/lib/json-ld,@/lib/markdownToHtml,next,next/navigation",
      "lines": 240,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/app/posts/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "819de64bd73024059c4a3b35",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/interfaces",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:MoreStories | imports:./post-preview, @/interfaces/post | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "MoreStories",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "765eb0dec50902ce",
      "framework": "next-react",
      "imports": "./post-preview,@/interfaces/post",
      "lines": 31,
      "logic_relevance": "none",
      "name": "more-stories",
      "normalized_name": "more-stories",
      "package_manager": "pnpm",
      "path": "src/app/_components/more-stories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "3c2ef2729936ae4254a14f41",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostTitle | imports:react | frontend-score:115 | ui-score:70",
      "exports": "PostTitle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e2a14456752dc06",
      "framework": "next-react",
      "imports": "react",
      "lines": 13,
      "logic_relevance": "none",
      "name": "post-title",
      "normalized_name": "post-title",
      "package_manager": "pnpm",
      "path": "src/app/_components/post-title.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "d13ed7fdfe46afe46285c7ed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "date-fns",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:DateFormatter | imports:date-fns | frontend-score:85 | ui-score:55",
      "exports": "DateFormatter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f07fe68fd656fe43",
      "framework": "next-react",
      "imports": "date-fns",
      "lines": 12,
      "logic_relevance": "none",
      "name": "date-formatter",
      "normalized_name": "date-formatter",
      "package_manager": "pnpm",
      "path": "src/app/_components/date-formatter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5a39e64f885166d2a41c2c4f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EasterEgg | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EasterEgg",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62ecb25cedc8756d",
      "framework": "next-react",
      "imports": "react",
      "lines": 233,
      "logic_relevance": "none",
      "name": "easter-egg",
      "normalized_name": "easter-egg",
      "package_manager": "pnpm",
      "path": "src/app/_components/easter-egg.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "83231ad7e59341592eba1127",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "classnames,next",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:CoverImage | imports:classnames, next/image, next/link | frontend-score:115 | ui-score:55",
      "exports": "CoverImage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16ced54ae83ec662",
      "framework": "next-react",
      "imports": "classnames,next/image,next/link",
      "lines": 41,
      "logic_relevance": "none",
      "name": "cover-image",
      "normalized_name": "cover-image",
      "package_manager": "pnpm",
      "path": "src/app/_components/cover-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "904bf37567cf18ccb470455f",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Container | frontend-score:85 | ui-score:55",
      "exports": "Container",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6267b935f963f93",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "container",
      "normalized_name": "container",
      "package_manager": "pnpm",
      "path": "src/app/_components/container.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b0eb358655235b1d3e60c43c",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Intro | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Intro",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0705fa2c42eb225",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "intro",
      "normalized_name": "intro",
      "package_manager": "pnpm",
      "path": "src/app/_components/intro.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "0ee9942b60924bc574a44427",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterSignup | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "NewsletterSignup",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06bdadc867561d72",
      "framework": "next-react",
      "imports": "react",
      "lines": 176,
      "logic_relevance": "none",
      "name": "newsletter-signup",
      "normalized_name": "newsletter-signup",
      "package_manager": "pnpm",
      "path": "src/app/_components/newsletter-signup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "43deb29b112227c804473ad9",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:SectionSeparator | frontend-score:85 | ui-score:55",
      "exports": "SectionSeparator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ec61e19434f4e0a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "section-separator",
      "normalized_name": "section-separator",
      "package_manager": "pnpm",
      "path": "src/app/_components/section-separator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a7739e27dd8056e236a43252",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/app,classnames",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert | imports:@/app/_components/container, classnames | ui-score:125 | frontend-score:85 | observability-score:55",
      "exports": "Alert",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "13b726f0593598da",
      "framework": "next-react",
      "imports": "@/app/_components/container,classnames",
      "lines": 48,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "src/app/_components/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "602ebfd76c2d622744251e65",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostBody | imports:./markdown-styles.module.css | frontend-score:85 | ui-score:55",
      "exports": "PostBody",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27f7198af2b676a0",
      "framework": "next-react",
      "imports": "./markdown-styles.module.css",
      "lines": 16,
      "logic_relevance": "none",
      "name": "post-body",
      "normalized_name": "post-body",
      "package_manager": "pnpm",
      "path": "src/app/_components/post-body.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8293fcb5a25553f351cd25f8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/app/_components/container | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4cd532a76275f5c6",
      "framework": "next-react",
      "imports": "@/app/_components/container",
      "lines": 56,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "src/app/_components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "27212a42e37ef663811c4e98",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialShare | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SocialShare",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c99261a7d10ca414",
      "framework": "next-react",
      "imports": "react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "social-share",
      "normalized_name": "social-share",
      "package_manager": "pnpm",
      "path": "src/app/_components/social-share.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "fca3ff60587b923d5fb86c74",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar | ui-score:125 | frontend-score:85",
      "exports": "Avatar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e0070d1d32557953",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "src/app/_components/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4c632b4456d599ed2d7a1f96",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NoFOUCScript, ThemeSwitcher | imports:./switch.module.css, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NoFOUCScript,ThemeSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b08400d633779212",
      "framework": "next-react",
      "imports": "./switch.module.css,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "theme-switcher",
      "normalized_name": "theme-switcher",
      "package_manager": "pnpm",
      "path": "src/app/_components/theme-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "5840bda4bf76f0c0d9f22a04",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/interfaces,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostPreview | imports:./avatar, ./cover-image, ./date-formatter, @/interfaces/author, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PostPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8de663dba3f7a491",
      "framework": "next-react",
      "imports": "./avatar,./cover-image,./date-formatter,@/interfaces/author,next/link",
      "lines": 53,
      "logic_relevance": "none",
      "name": "post-preview",
      "normalized_name": "post-preview",
      "package_manager": "pnpm",
      "path": "src/app/_components/post-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "12270733de8d7147f7c58547",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9250a9eef9344bea",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 14,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/app/_components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cf7c0cc74585dc087a5a701f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/interfaces,framer-motion,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroPost | imports:./date-formatter, @/app/_components/avatar, @/app/_components/cover-image, @/interfaces/author, framer-motion, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroPost",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d9fb3b7c4940ea7",
      "framework": "next-react",
      "imports": "./date-formatter,@/app/_components/avatar,@/app/_components/cover-image,@/interfaces/author,framer-motion,next/link",
      "lines": 93,
      "logic_relevance": "none",
      "name": "hero-post",
      "normalized_name": "hero-post",
      "package_manager": "pnpm",
      "path": "src/app/_components/hero-post.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dac87f937255a666f909cd38",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/interfaces",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostHeader | imports:./avatar, ./cover-image, ./date-formatter, @/app/_components/post-title, @/interfaces/author | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PostHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad52c7b12b2b22d9",
      "framework": "next-react",
      "imports": "./avatar,./cover-image,./date-formatter,@/app/_components/post-title,@/interfaces/author",
      "lines": 66,
      "logic_relevance": "none",
      "name": "post-header",
      "normalized_name": "post-header",
      "package_manager": "pnpm",
      "path": "src/app/_components/post-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "5ca710406e8f79c5763e2b2d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e1ddd1dc1f7d40e3",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "switch.module",
      "normalized_name": "switch-module",
      "package_manager": "pnpm",
      "path": "src/app/_components/switch.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "5e961ce9cfbefe6e058a3d9c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "07016fd78c5450b8",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "markdown-styles.module",
      "normalized_name": "markdown-styles-module",
      "package_manager": "pnpm",
      "path": "src/app/_components/markdown-styles.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "586854c5406118c71fe07979",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/api, @/lib/constants, @/lib/cors, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e6a8c63d8c0c53a",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/constants,@/lib/cors,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/v1/posts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b85165aefb15574690ab2f69",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api, @/lib/constants, @/lib/cors, @/lib/markdownToHtml, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7a24f5f6d287bafc",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/constants,@/lib/cors,@/lib/markdownToHtml,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/v1/posts/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "b57da42834c37d24b7341b64",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/api, @/lib/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5be00320f94cb64e",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/constants,next/server",
      "lines": 85,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/v1/sitemap-tree/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6bbdc17cab4daf9d7517c1c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/api, @/lib/constants, @/lib/cors, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3cfd8d7c5cd831c",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/constants,@/lib/cors,next/server",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,process",
      "component_id": "aaf424e904bcff457ae59dbb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsPage, metadata | imports:@/lib/constants | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55 | process-score:45",
      "exports": "ApiDocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13370cc904982336",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 53,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/app/api/v1/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,discovery",
      "component_id": "244e36ede36dc9427a9013e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/constants, @/lib/cors, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "499f5fd61c803a99",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/cors,next/server",
      "lines": 278,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/v1/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "c286b44b429225ef2d070e6e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getLocaleFromHeaders, hreflangAlternates, t | imports:@/lib/constants | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "getLocaleFromHeaders,hreflangAlternates,t",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7aa72a7461ddb17",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "src/lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "506a374a7136751975886206",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/interfaces,fs,gray-matter,path",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/interfaces/post, fs, gray-matter, path | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9561e0fe6063501a",
      "framework": "next-react",
      "imports": "@/interfaces/post,fs,gray-matter,path",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "src/lib/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9e8008b50750fb0f20146d17",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_BASE, API_VERSION, BRAND_SITE, CMS_NAME, DEFAULT_LOCALE, EXAMPLE_PATH, HOME_OG_IMAGE_URL, Locale | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "API_BASE,API_VERSION,BRAND_SITE,CMS_NAME,DEFAULT_LOCALE,EXAMPLE_PATH,HOME_OG_IMAGE_URL,Locale,PARENT_SITE,SITE_AUTHOR,SITE_DESCRIPTION,SITE_GITHUB,SITE_NAME,SITE_TWITTER,SITE_URL,SUPPORTED_LOCALES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5576f0d7320a799a",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "src/lib/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,observability,security",
      "component_id": "e0409c69fc7a70a892a73b52",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:corsHeaders, preflightResponse | logic-score:60 | observability-score:55 | security-score:55 | uses-env",
      "exports": "corsHeaders,preflightResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "25dc568ab25ef65f",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "cors",
      "normalized_name": "cors",
      "package_manager": "pnpm",
      "path": "src/lib/cors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,discovery",
      "component_id": "cb06eebaaf1923ce541a56c0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/interfaces,@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:articleJsonLd, breadcrumbJsonLd, organizationJsonLd, personJsonLd, websiteJsonLd | imports:@/interfaces/post, @/lib/constants | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "articleJsonLd,breadcrumbJsonLd,organizationJsonLd,personJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3bf14a5d055b5ee1",
      "framework": "next-react",
      "imports": "@/interfaces/post,@/lib/constants",
      "lines": 97,
      "logic_relevance": "primary",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "src/lib/json-ld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic",
      "component_id": "e67803b7cc2f16c2d16bb00b",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "remark,remark-html",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:remark, remark-html | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "269c079637111520",
      "framework": "next-react",
      "imports": "remark,remark-html",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "markdownToHtml",
      "normalized_name": "markdown-to-html",
      "package_manager": "pnpm",
      "path": "src/lib/markdownToHtml.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b78acf6f29132c080bc3b00a",
      "component_kind": "auth",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Author, Post | security-score:55",
      "exports": "Author,Post",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c5c89042c01059fa",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "author",
      "normalized_name": "author",
      "package_manager": "pnpm",
      "path": "src/interfaces/author.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3ac2ad620b302baaa5e26430",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Author, OgImage, Post, SEO | security-score:55",
      "exports": "Author,OgImage,Post,SEO",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cbfd157b04670b03",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "post",
      "normalized_name": "post",
      "package_manager": "pnpm",
      "path": "src/interfaces/post.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-blog",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "061320eba76d633ca6c8064d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15f7a4a5a6adaba0",
      "framework": "next-react",
      "imports": "",
      "lines": 7743,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "db368903ec9967036d9c8ddd",
      "component_kind": "middleware",
      "confidence": 85,
      "dependency_roots": "@/app,next-auth",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/app/(auth)/auth.config, next-auth | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f26b90b8031dfb2b",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth.config,next-auth",
      "lines": 9,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ec7da10946da868c7d6895bf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7db2788b6794989f",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "e8628acb93d41c9900d9f8ca",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ebf56dd440e573fa",
      "framework": "next-react",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "86833c5c5be5497540ecc5bc",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@playwright/test,dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PORT | imports:@playwright/test, dotenv | observability-score:55 | security-score:55 | uses-env",
      "exports": "PORT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c68c220a428d922",
      "framework": "next-react",
      "imports": "@playwright/test,dotenv",
      "lines": 141,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "75a0fe2f301498367236d42d",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:next | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3deda32b96e24d0",
      "framework": "next-react",
      "imports": "next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b875672c102866ea588d1e0c",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:codeArtifact | imports:@/components/code-editor, @/components/console, @/components/create-artifact, @/components/icons, @/lib/utils, sonner | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "codeArtifact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10d8aeb421ae5e30",
      "framework": "next-react",
      "imports": "@/components/code-editor,@/components/console,@/components/create-artifact,@/components/icons,@/lib/utils,sonner",
      "lines": 270,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "artifacts/code/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "7fbf7cbe2977009a37078ddb",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:codeDocumentHandler | imports:@/lib/ai/prompts, @/lib/ai/providers, @/lib/artifacts/server, ai, zod | ai-score:120 | backend-score:90",
      "exports": "codeDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "11336c55b0775e9d",
      "framework": "next-react",
      "imports": "@/lib/ai/prompts,@/lib/ai/providers,@/lib/artifacts/server,ai,zod",
      "lines": 73,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "artifacts/code/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "fecad53e2ceb3c332d77d4f0",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,sonner",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:imageArtifact | imports:@/components/create-artifact, @/components/icons, @/components/image-editor, sonner | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "imageArtifact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2fd36bfc28478ee",
      "framework": "next-react",
      "imports": "@/components/create-artifact,@/components/icons,@/components/image-editor,sonner",
      "lines": 76,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "artifacts/image/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "d0e135123a6f508d9c3a9fca",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:imageDocumentHandler | imports:@/lib/ai/providers, @/lib/artifacts/server, ai | ai-score:120 | backend-score:55",
      "exports": "imageDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "289948100bd5ea14",
      "framework": "next-react",
      "imports": "@/lib/ai/providers,@/lib/artifacts/server,ai",
      "lines": 43,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "artifacts/image/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability",
      "component_id": "a8aaf4b4632e5caea352a44e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,sonner",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:textArtifact | imports:../actions, @/components/create-artifact, @/components/diffview, @/components/document-skeleton, @/components/icons, @/components/text-editor, @/lib/db/schema, sonner | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "textArtifact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38455127e7caff14",
      "framework": "next-react",
      "imports": "../actions,@/components/create-artifact,@/components/diffview,@/components/document-skeleton,@/components/icons,@/components/text-editor,@/lib/db/schema,sonner",
      "lines": 178,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "artifacts/text/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "4003816429b15eca1cc6afbe",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:textDocumentHandler | imports:@/lib/ai/prompts, @/lib/ai/providers, @/lib/artifacts/server, ai | ai-score:120 | backend-score:55 | model-provider",
      "exports": "textDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2114caaddde4448f",
      "framework": "next-react",
      "imports": "@/lib/ai/prompts,@/lib/ai/providers,@/lib/artifacts/server,ai",
      "lines": 70,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "artifacts/text/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability",
      "component_id": "a18af09162fd30af83bf9c80",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,papaparse,sonner",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:sheetArtifact | imports:@/components/create-artifact, @/components/icons, @/components/sheet-editor, papaparse, sonner | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "sheetArtifact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82897b50d5f8a51a",
      "framework": "next-react",
      "imports": "@/components/create-artifact,@/components/icons,@/components/sheet-editor,papaparse,sonner",
      "lines": 115,
      "logic_relevance": "none",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "artifacts/sheet/client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "2842f6fda02402528ba6aaed",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@/lib,ai,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:sheetDocumentHandler | imports:@/lib/ai/prompts, @/lib/ai/providers, @/lib/artifacts/server, ai, zod | ai-score:120 | backend-score:90",
      "exports": "sheetDocumentHandler",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6c60fc0765ef5f86",
      "framework": "next-react",
      "imports": "@/lib/ai/prompts,@/lib/ai/providers,@/lib/artifacts/server,ai,zod",
      "lines": 78,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "artifacts/sheet/server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "c6749e0c6e7f1882a511e0e5",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata, viewport | imports:@/components/theme-provider, next, next/font/google, sonner | frontend-score:115 | ui-score:55",
      "exports": "metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b6a0e59f298b2267",
      "framework": "next-react",
      "imports": "@/components/theme-provider,next,next/font/google,sonner",
      "lines": 81,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c2b29ae4f65d8055c7ef35d1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5ec0cfabef8939ca",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "981b21a960d498392a72ecbb",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "next-auth",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:authConfig | imports:next-auth | observability-score:55 | security-score:55",
      "exports": "authConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "11a3a67a04cec3ee",
      "framework": "next-react",
      "imports": "next-auth",
      "lines": 39,
      "logic_relevance": "none",
      "name": "auth.config",
      "normalized_name": "auth-config",
      "package_manager": "pnpm",
      "path": "app/(auth)/auth.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2df3de0a8b4e470c43bafbfe",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LoginActionState, RegisterActionState, login, register | imports:./auth, @/lib/db/queries, zod | observability-score:55 | security-score:55",
      "exports": "LoginActionState,RegisterActionState,login,register",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f05206e272dd4fbf",
      "framework": "next-react",
      "imports": "./auth,@/lib/db/queries,zod",
      "lines": 84,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(auth)/actions.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1d9ba3afa658e8e6504607cb",
      "component_kind": "auth",
      "confidence": 75,
      "dependency_roots": "@/lib,bcrypt-ts,next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:./auth.config, @/lib/db/queries, bcrypt-ts, next-auth, next-auth/providers/credentials | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22f45b7f8a4d0d9a",
      "framework": "next-react",
      "imports": "./auth.config,@/lib/db/queries,bcrypt-ts,next-auth,next-auth/providers/credentials",
      "lines": 61,
      "logic_relevance": "none",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "app/(auth)/auth.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f9b8f9c53c04bdedd9761c93",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../actions, @/components/auth-form, @/components/submit-button, @/components/toast, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b79562475f0fc784",
      "framework": "next-react",
      "imports": "../actions,@/components/auth-form,@/components/submit-button,@/components/toast,next/link,next/navigation,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(auth)/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "93c0a6d061855a1867b1d835",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/(auth)/auth | backend-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8785ef0eb6dd144d",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(auth)/api/auth/[...nextauth]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "772cb3dc71429f6fc612220f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:../actions, @/components/auth-form, @/components/submit-button, @/components/toast, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa7548e8863aef60",
      "framework": "next-react",
      "imports": "../actions,@/components/auth-form,@/components/submit-button,@/components/toast,next/link,next/navigation,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(auth)/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend",
      "component_id": "e13aa12f1902745481d36dbf",
      "component_kind": "ai-chat",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,ai,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/components/visibility-selector, @/lib/ai/providers, @/lib/db/queries, ai, next/headers | ai-score:120 | frontend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f2f638ebbd9e3cd3",
      "framework": "next-react",
      "imports": "@/components/visibility-selector,@/lib/ai/providers,@/lib/db/queries,ai,next/headers",
      "lines": 55,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "app/(chat)/actions.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,security",
      "component_id": "7204931084588c424d9f8ac6",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:experimental_ppr | imports:../(auth)/auth, @/components/app-sidebar, @/components/ui/sidebar, next/headers, next/script | frontend-score:115 | ai-score:75 | ui-score:55 | security-score:55",
      "exports": "experimental_ppr",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53d553855d084e59",
      "framework": "next-react",
      "imports": "../(auth)/auth,@/components/app-sidebar,@/components/ui/sidebar,next/headers,next/script",
      "lines": 38,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(chat)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "3a1c513fec5b6c23d8c705d3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Page | imports:@/components/chat, @/components/data-stream-handler, @/lib/ai/models, @/lib/utils, next/headers | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1ffc7f46abfc0692",
      "framework": "next-react",
      "imports": "@/components/chat,@/components/data-stream-handler,@/lib/ai/models,@/lib/utils,next/headers",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(chat)/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "01f280cae69d46018bc00629",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,ai,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Page | imports:@/app/(auth)/auth, @/components/chat, @/components/data-stream-handler, @/lib/ai/models, @/lib/db/queries, @/lib/db/schema, ai, next/headers | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55 | model-provider",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a35128f739831f7a",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/components/chat,@/components/data-stream-handler,@/lib/ai/models,@/lib/db/queries,@/lib/db/schema,ai,next/headers,next/navigation",
      "lines": 80,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(chat)/chat/[id]/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "f16df062ed7395ad47eec3d6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28a60a28cc8b0324",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/vote/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "fe9902c76c1aed9a61a057f3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,ai",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:../../actions, @/app/(auth)/auth, @/lib/ai/prompts, @/lib/ai/providers, @/lib/ai/tools/create-document, @/lib/ai/tools/get-weather, @/lib/ai/tools/request-suggestions, @/lib/ai/tools/update-document | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "51696e7d4d1a4b0e",
      "framework": "next-react",
      "imports": "../../actions,@/app/(auth)/auth,@/lib/ai/prompts,@/lib/ai/providers,@/lib/ai/tools/create-document,@/lib/ai/tools/get-weather,@/lib/ai/tools/request-suggestions,@/lib/ai/tools/update-document,@/lib/constants,@/lib/db/queries,@/lib/utils,ai",
      "lines": 197,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "c7f239d2397efe9fabb6809b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, POST | imports:@/app/(auth)/auth, @/components/artifact, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c7d6ec261d4e1b9",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/components/artifact,@/lib/db/queries",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/document/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "85276802ded3871b0b49a41b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/(auth)/auth, @/lib/db/queries, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4bc0b73baf2c803",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "460a437d9e795042a757ddd6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@vercel/blob,next,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FileSchema, POST | imports:@/app/(auth)/auth, @vercel/blob, next/server, zod | backend-score:160 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "FileSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19dd3603d5f9fbfc",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@vercel/blob,next/server,zod",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/files/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "a90452adf47a7cd21d15eead",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/(auth)/auth, @/lib/db/queries | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa6ba1c3d8850eb6",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,@/lib/db/queries",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/(chat)/api/suggestions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ai,security",
      "component_id": "a18949dab74265633a57d989",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@playwright/test,ai,date-fns,node:fs,node:path",
      "description": "AI component for auth-and-keys; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:UserContext | imports:@playwright/test, ai, date-fns, node:fs, node:path | ai-score:75 | security-score:55",
      "exports": "UserContext",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4d6c5b29ee42f2f5",
      "framework": "next-react",
      "imports": "@playwright/test,ai,date-fns,node:fs,node:path",
      "lines": 62,
      "logic_relevance": "none",
      "name": "auth-helper",
      "normalized_name": "auth-helper",
      "package_manager": "pnpm",
      "path": "tests/auth-helper.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "ec93ecb42fab226d52aa8891",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "@playwright/test,ai,date-fns",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AuthPage | imports:@playwright/test, ai, date-fns | ai-score:75 | observability-score:55 | security-score:55",
      "exports": "AuthPage",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "68729b14697c62ab",
      "framework": "next-react",
      "imports": "@playwright/test,ai,date-fns",
      "lines": 77,
      "logic_relevance": "none",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "tests/auth.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "128ecae20cc25fcc72de7d26",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./pages/artifact, ./pages/chat, @playwright/test | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2f0f6ba46b773224",
      "framework": "next-react",
      "imports": "./pages/artifact,./pages/chat,@playwright/test",
      "lines": 74,
      "logic_relevance": "none",
      "name": "artifacts.test",
      "normalized_name": "artifacts",
      "package_manager": "pnpm",
      "path": "tests/artifacts.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ai,security",
      "component_id": "c627820c37e1a76456a2b9d9",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "@playwright/test,ai,date-fns,path",
      "description": "AI component for auth-and-keys; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@playwright/test, ai, date-fns, path | ai-score:75 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e48b3a98e629fd9a",
      "framework": "next-react",
      "imports": "@playwright/test,ai,date-fns,path",
      "lines": 24,
      "logic_relevance": "none",
      "name": "auth.setup",
      "normalized_name": "auth-setup",
      "package_manager": "pnpm",
      "path": "tests/auth.setup.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "f478619bd7371372f3f8487d",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./pages/chat, @playwright/test | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c616a277be24c75a",
      "framework": "next-react",
      "imports": "./pages/chat,@playwright/test",
      "lines": 62,
      "logic_relevance": "none",
      "name": "reasoning.test",
      "normalized_name": "reasoning",
      "package_manager": "pnpm",
      "path": "tests/reasoning.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "4e44aaa6a591632895bbe344",
      "component_kind": "ai-chat",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./pages/chat, @playwright/test | ai-score:120",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3b4604d0f33a5b8f",
      "framework": "next-react",
      "imports": "./pages/chat,@playwright/test",
      "lines": 141,
      "logic_relevance": "none",
      "name": "chat.test",
      "normalized_name": "chat",
      "package_manager": "pnpm",
      "path": "tests/chat.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "9e1e41996de7ac7c168c56bf",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@playwright/test,path",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./pages/chat, @playwright/test, path | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d572d1b8cbe65730",
      "framework": "next-react",
      "imports": "./pages/chat,@playwright/test,path",
      "lines": 20,
      "logic_relevance": "none",
      "name": "reasoning.setup",
      "normalized_name": "reasoning-setup",
      "package_manager": "pnpm",
      "path": "tests/reasoning.setup.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "223c80f76c8da701cb4bf197",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "ai",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:compareMessages, getResponseChunksByPrompt | imports:./basic, ai | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "compareMessages,getResponseChunksByPrompt",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "782a74a6dbdb4d5f",
      "framework": "next-react",
      "imports": "./basic,ai",
      "lines": 242,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/prompts/utils.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "9293d5603482ff864ea3ab16",
      "component_kind": "prompt-template",
      "confidence": 80,
      "dependency_roots": "ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:TEST_PROMPTS | imports:ai | ai-score:120",
      "exports": "TEST_PROMPTS",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "01573f092300264c",
      "framework": "next-react",
      "imports": "ai",
      "lines": 141,
      "logic_relevance": "none",
      "name": "basic",
      "normalized_name": "basic",
      "package_manager": "pnpm",
      "path": "tests/prompts/basic.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "9452cd5a208a47c8d4d7e80d",
      "component_kind": "ai-chat",
      "confidence": 80,
      "dependency_roots": "@/lib,@playwright/test,fs,path",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatPage | imports:@/lib/ai/models, @playwright/test, fs, path | ai-score:120",
      "exports": "ChatPage",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f10cb55dc7a547f1",
      "framework": "next-react",
      "imports": "@/lib/ai/models,@playwright/test,fs,path",
      "lines": 182,
      "logic_relevance": "none",
      "name": "chat",
      "normalized_name": "chat",
      "package_manager": "pnpm",
      "path": "tests/pages/chat.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "f4e7037565db2965ca694843",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "@playwright/test",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ArtifactPage | imports:@playwright/test | ai-score:45",
      "exports": "ArtifactPage",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4680018e4067f09f",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 108,
      "logic_relevance": "none",
      "name": "artifact",
      "normalized_name": "artifact",
      "package_manager": "pnpm",
      "path": "tests/pages/artifact.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a91f165472554659c10ef904",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,@/tests,@playwright/test",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db/schema, @/lib/utils, @/tests/auth-helper, @playwright/test | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3e3327a308baa99",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@/lib/utils,@/tests/auth-helper,@playwright/test",
      "lines": 213,
      "logic_relevance": "none",
      "name": "document.test",
      "normalized_name": "document",
      "package_manager": "pnpm",
      "path": "tests/routes/document.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "96fbeeb707dd4135fa990da6",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-themes",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, next-themes/dist/types | frontend-score:85 | ui-score:55",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36ef6110a5669e7a",
      "framework": "next-react",
      "imports": "next-themes,next-themes/dist/types",
      "lines": 8,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "e516eb02be2f4aea045f530a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentSkeleton, InlineDocumentSkeleton | imports:./artifact | frontend-score:85 | ui-score:55",
      "exports": "DocumentSkeleton,InlineDocumentSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1bbae57891842d3d",
      "framework": "next-react",
      "imports": "./artifact",
      "lines": 39,
      "logic_relevance": "none",
      "name": "document-skeleton",
      "normalized_name": "document-skeleton",
      "package_manager": "pnpm",
      "path": "components/document-skeleton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4d2bf7e93e453d2ff7bd3ced",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,framer-motion,next,next-auth,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChatHistory, SidebarHistory, getChatHistoryPaginationKey | imports:./icons, ./sidebar-history-item, @/components/ui/alert-dialog, @/components/ui/sidebar, @/lib/db/schema, @/lib/utils, date-fns, framer-motion | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChatHistory,SidebarHistory,getChatHistoryPaginationKey",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "997d4571a052c70a",
      "framework": "next-react",
      "imports": "./icons,./sidebar-history-item,@/components/ui/alert-dialog,@/components/ui/sidebar,@/lib/db/schema,@/lib/utils,date-fns,framer-motion,next-auth,next/navigation,react,sonner,swr/infinite",
      "lines": 365,
      "logic_relevance": "none",
      "name": "sidebar-history",
      "normalized_name": "sidebar-history",
      "package_manager": "pnpm",
      "path": "components/sidebar-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability",
      "component_id": "381c636ac205403335222e6f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentToolCall, DocumentToolResult | imports:./artifact, ./icons, @/hooks/use-artifact, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DocumentToolCall,DocumentToolResult",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43306726923d5d01",
      "framework": "next-react",
      "imports": "./artifact,./icons,@/hooks/use-artifact,react,sonner",
      "lines": 151,
      "logic_relevance": "none",
      "name": "document",
      "normalized_name": "document",
      "package_manager": "pnpm",
      "path": "components/document.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "15db01dea663c4cc06eebddd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/react,ai,fast-deep-equal,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ArtifactMessages | imports:./artifact, ./message, ./use-scroll-to-bottom, @/lib/db/schema, @ai-sdk/react, ai, fast-deep-equal, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "ArtifactMessages",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0ca41d7c1adeaf52",
      "framework": "next-react",
      "imports": "./artifact,./message,./use-scroll-to-bottom,@/lib/db/schema,@ai-sdk/react,ai,fast-deep-equal,react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "artifact-messages",
      "normalized_name": "artifact-messages",
      "package_manager": "pnpm",
      "path": "components/artifact-messages.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "84442fb417637c7867739363",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessageReasoning | imports:./icons, ./markdown, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MessageReasoning",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d76ab267e5a4e70",
      "framework": "next-react",
      "imports": "./icons,./markdown,framer-motion,react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "message-reasoning",
      "normalized_name": "message-reasoning",
      "package_manager": "pnpm",
      "path": "components/message-reasoning.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c243502951d390393e259257",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,next-auth,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SidebarUserNav | imports:@/components/ui/dropdown-menu, @/components/ui/sidebar, lucide-react, next-auth, next-auth/react, next-themes, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SidebarUserNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c2d0384c109f9de",
      "framework": "next-react",
      "imports": "@/components/ui/dropdown-menu,@/components/ui/sidebar,lucide-react,next-auth,next-auth/react,next-themes,next/image",
      "lines": 70,
      "logic_relevance": "none",
      "name": "sidebar-user-nav",
      "normalized_name": "sidebar-user-nav",
      "package_manager": "pnpm",
      "path": "components/sidebar-user-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3db95e2e79c08ef335687ff5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react,react-markdown,remark-gfm",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Markdown | imports:./code-block, next/link, react, react-markdown, remark-gfm | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Markdown",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e0cf6ec1d561b0f6",
      "framework": "next-react",
      "imports": "./code-block,next/link,react,react-markdown,remark-gfm",
      "lines": 109,
      "logic_relevance": "none",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "components/markdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "faffa9e16103299bda549a96",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,@codemirror/lang-python,@codemirror/state,@codemirror/theme-one-dark,@codemirror/view,codemirror,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor | imports:@/lib/db/schema, @codemirror/lang-python, @codemirror/state, @codemirror/theme-one-dark, @codemirror/view, codemirror, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "968de2974a242e0b",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@codemirror/lang-python,@codemirror/state,@codemirror/theme-one-dark,@codemirror/view,codemirror,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,logic,security",
      "component_id": "77615d9839df192985c47884",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelSelector | imports:./icons, @/app/(chat)/actions, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/ai/models, @/lib/utils, react | ai-score:120 | frontend-score:115 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "ModelSelector",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "aa7e91d3fa4333d9",
      "framework": "next-react",
      "imports": "./icons,@/app/(chat)/actions,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/ai/models,@/lib/utils,react",
      "lines": 91,
      "logic_relevance": "secondary",
      "name": "model-selector",
      "normalized_name": "model-selector",
      "package_manager": "pnpm",
      "path": "components/model-selector.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend",
      "component_id": "fffcb771c9aa10868d0d9635",
      "component_kind": "frontend-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:useScrollToBottom | imports:react | frontend-score:55",
      "exports": "useScrollToBottom",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ff364f71f73b8c39",
      "framework": "next-react",
      "imports": "react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "use-scroll-to-bottom",
      "normalized_name": "use-scroll-to-bottom",
      "package_manager": "pnpm",
      "path": "components/use-scroll-to-bottom.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "adc4c4bf38b231b1a9dd01c4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,orderedmap,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react,react-dom,react-markdown",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiffView | imports:@/lib/editor/diff, orderedmap, prosemirror-model, prosemirror-schema-basic, prosemirror-schema-list, prosemirror-state, prosemirror-view, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "DiffView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b60d13fca0f97ff0",
      "framework": "next-react",
      "imports": "@/lib/editor/diff,orderedmap,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react,react-dom/server,react-markdown",
      "lines": 100,
      "logic_relevance": "none",
      "name": "diffview",
      "normalized_name": "diffview",
      "package_manager": "pnpm",
      "path": "components/diffview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "d08aa01b6816cbe5b630c2c1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,date-fns,framer-motion,react,swr,usehooks-ts",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:VersionFooter | imports:./icons, ./ui/button, @/hooks/use-artifact, @/lib/db/schema, @/lib/utils, date-fns, framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "VersionFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6f975c16c665c44",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/hooks/use-artifact,@/lib/db/schema,@/lib/utils,date-fns,framer-motion,react,swr,usehooks-ts",
      "lines": 107,
      "logic_relevance": "none",
      "name": "version-footer",
      "normalized_name": "version-footer",
      "package_manager": "pnpm",
      "path": "components/version-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "5b4cb1b6b557b7edf95c1214",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@ai-sdk/react,ai,classnames,framer-motion,nanoid,react,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Toolbar, Tools | imports:./artifact, ./create-artifact, ./icons, @/components/ui/tooltip, @ai-sdk/react, ai, classnames, framer-motion | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "Toolbar,Tools",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "894da7d373f78316",
      "framework": "next-react",
      "imports": "./artifact,./create-artifact,./icons,@/components/ui/tooltip,@ai-sdk/react,ai,classnames,framer-motion,nanoid,react,usehooks-ts",
      "lines": 461,
      "logic_relevance": "none",
      "name": "toolbar",
      "normalized_name": "toolbar",
      "package_manager": "pnpm",
      "path": "components/toolbar.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,backend,observability",
      "component_id": "824d6970aebf48bf8595c52d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,@ai-sdk/react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataStreamDelta, DataStreamHandler | imports:./artifact, @/hooks/use-artifact, @/lib/db/schema, @ai-sdk/react, react | frontend-score:115 | ai-score:75 | ui-score:70 | backend-score:55 | observability-score:55 | model-provider",
      "exports": "DataStreamDelta,DataStreamHandler",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0353e523804ba405",
      "framework": "next-react",
      "imports": "./artifact,@/hooks/use-artifact,@/lib/db/schema,@ai-sdk/react,react",
      "lines": 96,
      "logic_relevance": "none",
      "name": "data-stream-handler",
      "normalized_name": "data-stream-handler",
      "package_manager": "pnpm",
      "path": "components/data-stream-handler.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ai,ui,security",
      "component_id": "cd8007682540b17985f53687",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "ai",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PreviewAttachment | imports:./icons, ai | frontend-score:85 | ai-score:75 | ui-score:55 | security-score:55",
      "exports": "PreviewAttachment",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e61597b2163f0b2",
      "framework": "next-react",
      "imports": "./icons,ai",
      "lines": 46,
      "logic_relevance": "none",
      "name": "preview-attachment",
      "normalized_name": "preview-attachment",
      "package_manager": "pnpm",
      "path": "components/preview-attachment.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "bcf0078a38db74593f90e2cc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "classnames,date-fns,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Weather | imports:classnames, date-fns, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "Weather",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e253e6492d6b2b3c",
      "framework": "next-react",
      "imports": "classnames,date-fns,react",
      "lines": 311,
      "logic_relevance": "none",
      "name": "weather",
      "normalized_name": "weather",
      "package_manager": "pnpm",
      "path": "components/weather.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security,ai",
      "component_id": "d4721cc66a90d455d0ba6a9e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react,usehooks-ts",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Suggestion | imports:./artifact, ./icons, ./ui/button, @/lib/editor/suggestions, @/lib/utils, framer-motion, react, usehooks-ts | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "Suggestion",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b36f57daa8fe8e7",
      "framework": "next-react",
      "imports": "./artifact,./icons,./ui/button,@/lib/editor/suggestions,@/lib/utils,framer-motion,react,usehooks-ts",
      "lines": 78,
      "logic_relevance": "none",
      "name": "suggestion",
      "normalized_name": "suggestion",
      "package_manager": "pnpm",
      "path": "components/suggestion.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "d9e5f3f39ec9ac1a6f5f760f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react,sonner",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtifactActions | imports:./artifact, ./create-artifact, ./ui/button, ./ui/tooltip, @/lib/utils, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ArtifactActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e698c736c47882e8",
      "framework": "next-react",
      "imports": "./artifact,./create-artifact,./ui/button,./ui/tooltip,@/lib/utils,react,sonner",
      "lines": 100,
      "logic_relevance": "none",
      "name": "artifact-actions",
      "normalized_name": "artifact-actions",
      "package_manager": "pnpm",
      "path": "components/artifact-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui",
      "component_id": "73a2acb250f306e7e0c01fc1",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/app,@ai-sdk/react,ai,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MessageEditor, MessageEditorProps | imports:./ui/button, ./ui/textarea, @/app/(chat)/actions, @ai-sdk/react, ai, react | ai-score:120 | frontend-score:115 | ui-score:70 | model-provider",
      "exports": "MessageEditor,MessageEditorProps",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6f9ecb4e662da5d1",
      "framework": "next-react",
      "imports": "./ui/button,./ui/textarea,@/app/(chat)/actions,@ai-sdk/react,ai,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "message-editor",
      "normalized_name": "message-editor",
      "package_manager": "pnpm",
      "path": "components/message-editor.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,observability",
      "component_id": "22b81843254fb61d536a09f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Artifact, ArtifactActionContext, ArtifactToolbarContext, ArtifactToolbarItem | imports:./artifact, ./data-stream-handler, @/lib/db/schema, @ai-sdk/react, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | model-provider",
      "exports": "Artifact,ArtifactActionContext,ArtifactToolbarContext,ArtifactToolbarItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e171216f25b4fe4",
      "framework": "next-react",
      "imports": "./artifact,./data-stream-handler,@/lib/db/schema,@ai-sdk/react,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "create-artifact",
      "normalized_name": "create-artifact",
      "package_manager": "pnpm",
      "path": "components/create-artifact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "3b045d1dd2d5272e6cf8d434",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next-themes,papaparse,react,react-data-grid",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpreadsheetEditor | imports:@/lib/utils, next-themes, papaparse, react, react-data-grid | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SpreadsheetEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0dcad878964eb063",
      "framework": "next-react",
      "imports": "@/lib/utils,next-themes,papaparse,react,react-data-grid",
      "lines": 143,
      "logic_relevance": "none",
      "name": "sheet-editor",
      "normalized_name": "sheet-editor",
      "package_manager": "pnpm",
      "path": "components/sheet-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8c639e420cdaf232c48be49a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,next-auth",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:./ui/tooltip, @/components/icons, @/components/sidebar-history, @/components/sidebar-user-nav, @/components/ui/button, @/components/ui/sidebar, next-auth, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be2b7e1d922315c6",
      "framework": "next-react",
      "imports": "./ui/tooltip,@/components/icons,@/components/sidebar-history,@/components/sidebar-user-nav,@/components/ui/button,@/components/ui/sidebar,next-auth,next/link,next/navigation",
      "lines": 67,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "e1936c09b50cc9d348469589",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SidebarToggle | imports:./icons, ./ui/button, @/components/ui/sidebar, @/components/ui/tooltip, react | frontend-score:115 | ui-score:70",
      "exports": "SidebarToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e52c9c5d9c416012",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/components/ui/sidebar,@/components/ui/tooltip,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sidebar-toggle",
      "normalized_name": "sidebar-toggle",
      "package_manager": "pnpm",
      "path": "components/sidebar-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "cf67f26483d8c979ed71be26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthForm | imports:./ui/input, ./ui/label, next/form | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AuthForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2471cca5b1889e26",
      "framework": "next-react",
      "imports": "./ui/input,./ui/label,next/form",
      "lines": 60,
      "logic_relevance": "none",
      "name": "auth-form",
      "normalized_name": "auth-form",
      "package_manager": "pnpm",
      "path": "components/auth-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "1b828ee0b8de68347aa6caf8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignOutForm | imports:@/app/(auth)/auth, next/form | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SignOutForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "179a28e1915f982e",
      "framework": "next-react",
      "imports": "@/app/(auth)/auth,next/form",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sign-out-form",
      "normalized_name": "sign-out-form",
      "package_manager": "pnpm",
      "path": "components/sign-out-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "8aef92dd4ed48aa33db85872",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,prosemirror-example-setup,prosemirror-inputrules,prosemirror-state,prosemirror-view,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Editor | imports:@/lib/db/schema, @/lib/editor/config, @/lib/editor/functions, @/lib/editor/suggestions, prosemirror-example-setup, prosemirror-inputrules, prosemirror-state, prosemirror-view | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Editor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2251c586962806d1",
      "framework": "next-react",
      "imports": "@/lib/db/schema,@/lib/editor/config,@/lib/editor/functions,@/lib/editor/suggestions,prosemirror-example-setup,prosemirror-inputrules,prosemirror-state,prosemirror-view,react",
      "lines": 164,
      "logic_relevance": "none",
      "name": "text-editor",
      "normalized_name": "text-editor",
      "package_manager": "pnpm",
      "path": "components/text-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "295eb4c888ab80e4a826f892",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChatItem | imports:./icons, ./ui/dropdown-menu, ./ui/sidebar, @/hooks/use-chat-visibility, @/lib/db/schema, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ChatItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a6aaa3082bd2143",
      "framework": "next-react",
      "imports": "./icons,./ui/dropdown-menu,./ui/sidebar,@/hooks/use-chat-visibility,@/lib/db/schema,next/link,react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "sidebar-history-item",
      "normalized_name": "sidebar-history-item",
      "package_manager": "pnpm",
      "path": "components/sidebar-history-item.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "ec3a3b5680a8daa90a1355f3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Console, ConsoleOutput, ConsoleOutputContent | imports:./icons, ./ui/button, @/hooks/use-artifact, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Console,ConsoleOutput,ConsoleOutputContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55611e47a6b2a5a4",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/hooks/use-artifact,@/lib/utils,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "console",
      "normalized_name": "console",
      "package_manager": "pnpm",
      "path": "components/console.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability",
      "component_id": "0f2197da10398526d07d17d7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/artifacts,@/hooks,@/lib,@ai-sdk/react,ai,date-fns,fast-deep-equal,framer-motion,react,swr,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Artifact, ArtifactKind, UIArtifact, artifactDefinitions | imports:./artifact-actions, ./artifact-close-button, ./artifact-messages, ./multimodal-input, ./toolbar, ./ui/sidebar, ./version-footer, @/artifacts/code/client | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | model-provider",
      "exports": "Artifact,ArtifactKind,UIArtifact,artifactDefinitions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f1aed3acf0e659c8",
      "framework": "next-react",
      "imports": "./artifact-actions,./artifact-close-button,./artifact-messages,./multimodal-input,./toolbar,./ui/sidebar,./version-footer,@/artifacts/code/client,@/artifacts/image/client,@/artifacts/sheet/client,@/artifacts/text/client,@/hooks/use-artifact,@/lib/db/schema,@/lib/utils,@ai-sdk/react,ai,date-fns,fast-deep-equal,framer-motion,react,swr,usehooks-ts",
      "lines": 508,
      "logic_relevance": "none",
      "name": "artifact",
      "normalized_name": "artifact",
      "package_manager": "pnpm",
      "path": "components/artifact.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "88642f7e39d310030b276d31",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArrowUpIcon, AttachmentIcon, BotIcon, BoxIcon, CheckCircleFillIcon, CheckedSquare, ChevronDownIcon, ClockRewind | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45 | model-provider",
      "exports": "ArrowUpIcon,AttachmentIcon,BotIcon,BoxIcon,CheckCircleFillIcon,CheckedSquare,ChevronDownIcon,ClockRewind,CodeIcon,CopyIcon,CrossIcon,CrossSmallIcon,DeltaIcon,DownloadIcon,EyeIcon,FileIcon,FullscreenIcon,GPSIcon,GitIcon,GlobeIcon,HomeIcon,ImageIcon,InfoIcon,InvoiceIcon,LineChartIcon,LoaderIcon,LockIcon,LogoAnthropic,LogoGoogle,LogoOpenAI,LogsIcon,MenuIcon,MessageIcon,MoreHorizontalIcon,MoreIcon,PaperclipIcon,PenIcon,PencilEditIcon,PlayIcon,PlusIcon,PythonIcon,RedoIcon,RouteIcon,ShareIcon,SidebarLeftIcon,SparklesIcon,StopIcon,SummarizeIcon,TerminalIcon,TerminalWindowIcon,ThumbDownIcon,ThumbUpIcon,TrashIcon,UncheckedSquare,UndoIcon,UploadIcon,UserIcon,VercelIcon,WarningIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4cc11e8c05085cdc",
      "framework": "next-react",
      "imports": "",
      "lines": 1174,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "components/icons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability",
      "component_id": "308f7a7421bffc76241b7686",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,usehooks-ts",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatHeader | imports:./icons, ./ui/sidebar, ./ui/tooltip, ./visibility-selector, @/components/model-selector, @/components/sidebar-toggle, @/components/ui/button, next/link | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ChatHeader",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "bfe8bac42d3244ce",
      "framework": "next-react",
      "imports": "./icons,./ui/sidebar,./ui/tooltip,./visibility-selector,@/components/model-selector,@/components/sidebar-toggle,@/components/ui/button,next/link,next/navigation,react,usehooks-ts",
      "lines": 75,
      "logic_relevance": "none",
      "name": "chat-header",
      "normalized_name": "chat-header",
      "package_manager": "pnpm",
      "path": "components/chat-header.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui",
      "component_id": "315be49d2a52650e1eac836b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,fast-deep-equal,react,sonner,swr,usehooks-ts",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessageActions, PureMessageActions | imports:./icons, ./ui/button, ./ui/tooltip, @/lib/db/schema, ai, fast-deep-equal, react, sonner | frontend-score:115 | ai-score:75 | ui-score:70",
      "exports": "MessageActions,PureMessageActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13847e4698de5691",
      "framework": "next-react",
      "imports": "./icons,./ui/button,./ui/tooltip,@/lib/db/schema,ai,fast-deep-equal,react,sonner,swr,usehooks-ts",
      "lines": 184,
      "logic_relevance": "none",
      "name": "message-actions",
      "normalized_name": "message-actions",
      "package_manager": "pnpm",
      "path": "components/message-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "709adf5a1f19f41ac8d1464d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:VisibilitySelector, VisibilityType | imports:./icons, @/components/ui/button, @/components/ui/dropdown-menu, @/hooks/use-chat-visibility, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "VisibilitySelector,VisibilityType",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af050ce1e3983c38",
      "framework": "next-react",
      "imports": "./icons,@/components/ui/button,@/components/ui/dropdown-menu,@/hooks/use-chat-visibility,@/lib/utils,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "visibility-selector",
      "normalized_name": "visibility-selector",
      "package_manager": "pnpm",
      "path": "components/visibility-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "6d7c878cb040f9f550f853c1",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeBlock | frontend-score:85 | ui-score:55",
      "exports": "CodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "520fa99fb9272f1e",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "code-block",
      "normalized_name": "code-block",
      "package_manager": "pnpm",
      "path": "components/code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "a9698d3505ec1fd2c4fb4c0f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/react,ai,classnames,fast-deep-equal,react,sonner,usehooks-ts",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MultimodalInput | imports:./icons, ./preview-attachment, ./suggested-actions, ./ui/button, ./ui/textarea, @ai-sdk/react, ai, classnames | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "MultimodalInput",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "57f9a58a6d941326",
      "framework": "next-react",
      "imports": "./icons,./preview-attachment,./suggested-actions,./ui/button,./ui/textarea,@ai-sdk/react,ai,classnames,fast-deep-equal,react,sonner,usehooks-ts",
      "lines": 359,
      "logic_relevance": "none",
      "name": "multimodal-input",
      "normalized_name": "multimodal-input",
      "package_manager": "pnpm",
      "path": "components/multimodal-input.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "e0e800c3c6b81e38988b85c6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/react,ai,classnames,fast-deep-equal,framer-motion,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:PreviewMessage, ThinkingMessage | imports:./document, ./document-preview, ./icons, ./markdown, ./message-actions, ./message-editor, ./message-reasoning, ./preview-attachment | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55 | model-provider",
      "exports": "PreviewMessage,ThinkingMessage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce5a2b2eba2fbdc7",
      "framework": "next-react",
      "imports": "./document,./document-preview,./icons,./markdown,./message-actions,./message-editor,./message-reasoning,./preview-attachment,./ui/button,./ui/tooltip,./weather,@/lib/db/schema,@/lib/utils,@ai-sdk/react,ai,classnames,fast-deep-equal,framer-motion,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "message",
      "normalized_name": "message",
      "package_manager": "pnpm",
      "path": "components/message.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "56b74cd982c42dd48ca57fc3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/react,ai,fast-deep-equal,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Messages | imports:./greeting, ./message, ./use-scroll-to-bottom, @/lib/db/schema, @ai-sdk/react, ai, fast-deep-equal, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "Messages",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0460d91cfb96241b",
      "framework": "next-react",
      "imports": "./greeting,./message,./use-scroll-to-bottom,@/lib/db/schema,@ai-sdk/react,ai,fast-deep-equal,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "messages",
      "normalized_name": "messages",
      "package_manager": "pnpm",
      "path": "components/messages.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "68a305db5b8dd75e6fb06124",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,fast-deep-equal,react,swr",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentPreview | imports:./artifact, ./code-editor, ./document, ./document-skeleton, ./icons, ./image-editor, ./sheet-editor, ./text-editor | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DocumentPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64923f045c2db961",
      "framework": "next-react",
      "imports": "./artifact,./code-editor,./document,./document-skeleton,./icons,./image-editor,./sheet-editor,./text-editor,@/hooks/use-artifact,@/lib/db/schema,@/lib/utils,fast-deep-equal,react,swr",
      "lines": 285,
      "logic_relevance": "none",
      "name": "document-preview",
      "normalized_name": "document-preview",
      "package_manager": "pnpm",
      "path": "components/document-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "3a90a14d4ac9fa41f7c9194e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtifactCloseButton | imports:./icons, ./ui/button, @/hooks/use-artifact, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ArtifactCloseButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b07a6e0888bd3352",
      "framework": "next-react",
      "imports": "./icons,./ui/button,@/hooks/use-artifact,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "artifact-close-button",
      "normalized_name": "artifact-close-button",
      "package_manager": "pnpm",
      "path": "components/artifact-close-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "54633d49c0670df7aabbfe99",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@ai-sdk/react,ai,react,sonner,swr",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Chat | imports:./artifact, ./messages, ./multimodal-input, ./sidebar-history, ./visibility-selector, @/components/chat-header, @/hooks/use-artifact, @/lib/db/schema | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "Chat",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7543d5a3c50cd88a",
      "framework": "next-react",
      "imports": "./artifact,./messages,./multimodal-input,./sidebar-history,./visibility-selector,@/components/chat-header,@/hooks/use-artifact,@/lib/db/schema,@/lib/utils,@ai-sdk/react,ai,react,sonner,swr,swr/infinite",
      "lines": 125,
      "logic_relevance": "none",
      "name": "chat",
      "normalized_name": "chat",
      "package_manager": "pnpm",
      "path": "components/chat.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "182820cee83e08e8799e0754",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitButton | imports:./ui/button, @/components/icons, react-dom | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SubmitButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa81549694ef26f8",
      "framework": "next-react",
      "imports": "./ui/button,@/components/icons,react-dom",
      "lines": 38,
      "logic_relevance": "none",
      "name": "submit-button",
      "normalized_name": "submit-button",
      "package_manager": "pnpm",
      "path": "components/submit-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,security",
      "component_id": "c9dd9d325eef99d3561e2dd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react,sonner",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:toast | imports:./icons, react, sonner | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "toast",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a06dbaf1a90e3112",
      "framework": "next-react",
      "imports": "./icons,react,sonner",
      "lines": 44,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "43781162abb30e073a94ece7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/react,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuggestedActions | imports:./ui/button, @ai-sdk/react, framer-motion, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "SuggestedActions",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d002d1ab3ec119c8",
      "framework": "next-react",
      "imports": "./ui/button,@ai-sdk/react,framer-motion,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "suggested-actions",
      "normalized_name": "suggested-actions",
      "package_manager": "pnpm",
      "path": "components/suggested-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "ef9c5847bf8c2faaa912545e",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "classnames",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageEditor | imports:./icons, classnames | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ImageEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5e0748c50e80e22",
      "framework": "next-react",
      "imports": "./icons,classnames",
      "lines": 48,
      "logic_relevance": "none",
      "name": "image-editor",
      "normalized_name": "image-editor",
      "package_manager": "pnpm",
      "path": "components/image-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "069112c7733ba99141386730",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Greeting | imports:framer-motion | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Greeting",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92a6df00d3153fdb",
      "framework": "next-react",
      "imports": "framer-motion",
      "lines": 29,
      "logic_relevance": "none",
      "name": "greeting",
      "normalized_name": "greeting",
      "package_manager": "pnpm",
      "path": "components/greeting.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b43157fe60867c236dc4019c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "41ed63d27ebe7db8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "cef3412147b5fd8fcd55e468",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "645d4fa4d43ceb65",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2518592a640de9971ae92c09",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "517acb10e0c7a683",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e0581a8ed96d1e4b118edb94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dec6e3c633674baf",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "43b58552ae428b3806f87b78",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "af83463e3e316c59",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "42815af003b2561f1946c359",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f7a70ecb0dd1c1c7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1afc8dfdcbf6ebd7f6107161",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29a30c648ba9294f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2722c7fca8ec59bb58e51f30",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "295fc11d5381b841",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4321e8587328f4337fe9ca41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8af33dc3e2e09cd6",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f6985c481e759c5fba20ce97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c566bf1dc18f0c5d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7ecf906e927abf2ff2178a1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29c3b37433c59cf9",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "833c53dcfec66b98346c53af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d7ba3cbef08deed6",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "84aca2427c3a4738ef3eca8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "43b0afa75a641b32",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c6c14c11bc44b84bcc0544b8",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82bff42ff087bd5d",
      "framework": "next-react",
      "imports": "react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,security",
      "component_id": "eb4c8b49c5ce8cd053bbab41",
      "component_kind": "ai-chat",
      "confidence": 90,
      "dependency_roots": "@/app,@/components,react,swr",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:useChatVisibility | imports:@/app/(chat)/actions, @/components/sidebar-history, @/components/visibility-selector, react, swr, swr/infinite | ai-score:75 | security-score:55",
      "exports": "useChatVisibility",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "210ce6b010969a16",
      "framework": "next-react",
      "imports": "@/app/(chat)/actions,@/components/sidebar-history,@/components/visibility-selector,react,swr,swr/infinite",
      "lines": 49,
      "logic_relevance": "none",
      "name": "use-chat-visibility",
      "normalized_name": "use-chat-visibility",
      "package_manager": "pnpm",
      "path": "hooks/use-chat-visibility.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability",
      "component_id": "f60617ac1919101e4fac7d26",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/components,react,swr",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:initialArtifactData, useArtifact, useArtifactSelector | imports:@/components/artifact, react, swr | observability-score:55",
      "exports": "initialArtifactData,useArtifact,useArtifactSelector",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0476a3fbd38e9d32",
      "framework": "next-react",
      "imports": "@/components/artifact,react,swr",
      "lines": 85,
      "logic_relevance": "none",
      "name": "use-artifact",
      "normalized_name": "use-artifact",
      "package_manager": "pnpm",
      "path": "hooks/use-artifact.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,observability,security",
      "component_id": "c1cac249cae2090734fb3421",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,clsx,tailwind-merge",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:cn, fetcher, generateUUID, getDocumentTimestampByIndex, getLocalStorage, getMostRecentUserMessage, getTrailingMessageId, sanitizeResponseMessages | imports:@/lib/db/schema, ai, clsx, tailwind-merge | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "cn,fetcher,generateUUID,getDocumentTimestampByIndex,getLocalStorage,getMostRecentUserMessage,getTrailingMessageId,sanitizeResponseMessages",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e0ea8ed44f989cfd",
      "framework": "next-react",
      "imports": "@/lib/db/schema,ai,clsx,tailwind-merge",
      "lines": 165,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "35e6a5a7b922fe72ddfba5b8",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isProductionEnvironment, isTestEnvironment | logic-score:45 | uses-env",
      "exports": "isProductionEnvironment,isTestEnvironment",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d52e4a688231c281",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ai,backend,security",
      "component_id": "b56dffb8e98a10f7b53efd06",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/artifacts,@/components,ai,next-auth",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateDocumentCallbackProps, DocumentHandler, SaveDocumentProps, UpdateDocumentCallbackProps, artifactKinds, createDocumentHandler, documentHandlersByArtifactKind | imports:../db/queries, ../db/schema, @/artifacts/code/server, @/artifacts/image/server, @/artifacts/sheet/server, @/artifacts/text/server, @/components/artifact, ai | logic-score:85 | ai-score:75 | backend-score:55 | security-score:55",
      "exports": "CreateDocumentCallbackProps,DocumentHandler,SaveDocumentProps,UpdateDocumentCallbackProps,artifactKinds,createDocumentHandler,documentHandlersByArtifactKind",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "afc50517089d660c",
      "framework": "next-react",
      "imports": "../db/queries,../db/schema,@/artifacts/code/server,@/artifacts/image/server,@/artifacts/sheet/server,@/artifacts/text/server,@/components/artifact,ai,next-auth",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/artifacts/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "760d1a7254e91edeaefeeb5e",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/tests,ai",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:artifactModel, chatModel, reasoningModel, titleModel | imports:@/tests/prompts/utils, ai, ai/test | ai-score:120 | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "artifactModel,chatModel,reasoningModel,titleModel",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9a81db0d75f77509",
      "framework": "next-react",
      "imports": "@/tests/prompts/utils,ai,ai/test",
      "lines": 79,
      "logic_relevance": "secondary",
      "name": "models.test",
      "normalized_name": "models",
      "package_manager": "pnpm",
      "path": "lib/ai/models.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "9c401001ddef505c3d81cbf5",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/xai,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:myProvider | imports:../constants, ./models.test, @ai-sdk/xai, ai | ai-score:120 | logic-score:45 | model-provider",
      "exports": "myProvider",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c430306b4658435f",
      "framework": "next-react",
      "imports": "../constants,./models.test,@ai-sdk/xai,ai",
      "lines": 37,
      "logic_relevance": "secondary",
      "name": "providers",
      "normalized_name": "providers",
      "package_manager": "pnpm",
      "path": "lib/ai/providers.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "3ed8a27233a70ea165a875a4",
      "component_kind": "prompt-template",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:artifactsPrompt, codePrompt, regularPrompt, sheetPrompt, systemPrompt, updateDocumentPrompt | imports:@/components/artifact | ai-score:120 | logic-score:85",
      "exports": "artifactsPrompt,codePrompt,regularPrompt,sheetPrompt,systemPrompt,updateDocumentPrompt",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "37e47911def7a8ce",
      "framework": "next-react",
      "imports": "@/components/artifact",
      "lines": 103,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/ai/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic",
      "component_id": "2fff3a0730fc4bfeeb6cac92",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:DEFAULT_CHAT_MODEL, chatModels | ai-score:120 | logic-score:70",
      "exports": "DEFAULT_CHAT_MODEL,chatModels",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ba568f6f31977764",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "models",
      "normalized_name": "models",
      "package_manager": "pnpm",
      "path": "lib/ai/models.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,ai",
      "component_id": "ba52493c5b2057481ff8dde3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "ai,zod",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getWeather | imports:ai, zod | logic-score:85 | ai-score:75",
      "exports": "getWeather",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab199017a25f4c8d",
      "framework": "next-react",
      "imports": "ai,zod",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "get-weather",
      "normalized_name": "get-weather",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/get-weather.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ai,security",
      "component_id": "1d6a2386c82a7bf21f763d69",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:updateDocument | imports:@/lib/artifacts/server, @/lib/db/queries, ai, next-auth, zod | logic-score:85 | ai-score:75 | security-score:55",
      "exports": "updateDocument",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c831fc8af545ff5a",
      "framework": "next-react",
      "imports": "@/lib/artifacts/server,@/lib/db/queries,ai,next-auth,zod",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "update-document",
      "normalized_name": "update-document",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/update-document.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "2e95ebf27073fe34397c95ad",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:requestSuggestions | imports:../providers, @/lib/db/queries, @/lib/db/schema, @/lib/utils, ai, next-auth, zod | ai-score:120 | logic-score:85 | security-score:55",
      "exports": "requestSuggestions",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b9bc3c29241f776c",
      "framework": "next-react",
      "imports": "../providers,@/lib/db/queries,@/lib/db/schema,@/lib/utils,ai,next-auth,zod",
      "lines": 89,
      "logic_relevance": "secondary",
      "name": "request-suggestions",
      "normalized_name": "request-suggestions",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/request-suggestions.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,ai,security",
      "component_id": "b39e5939250b8ecd6cc7dca3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next-auth,zod",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createDocument | imports:@/lib/artifacts/server, @/lib/utils, ai, next-auth, zod | logic-score:85 | ai-score:75 | security-score:55",
      "exports": "createDocument",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "402e0751a8978c40",
      "framework": "next-react",
      "imports": "@/lib/artifacts/server,@/lib/utils,ai,next-auth,zod",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "create-document",
      "normalized_name": "create-document",
      "package_manager": "pnpm",
      "path": "lib/ai/tools/create-document.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,security,automation,ai",
      "component_id": "6b887f8b974dfddf5968f947",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "drizzle-orm",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Chat, DBMessage, Document, MessageDeprecated, Suggestion, User, Vote, VoteDeprecated | imports:drizzle-orm, drizzle-orm/pg-core | logic-score:85 | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "Chat,DBMessage,Document,MessageDeprecated,Suggestion,User,Vote,VoteDeprecated,chat,document,message,messageDeprecated,suggestion,user,vote,voteDeprecated",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7af7f0b554f35630",
      "framework": "next-react",
      "imports": "drizzle-orm,drizzle-orm/pg-core",
      "lines": 152,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/db/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "60c42b65417706e7c5a3ad1a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "dotenv,drizzle-orm,postgres",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:dotenv, drizzle-orm/postgres-js, drizzle-orm/postgres-js/migrator, postgres | logic-score:60 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83d4b9ce955e6deb",
      "framework": "next-react",
      "imports": "dotenv,drizzle-orm/postgres-js,drizzle-orm/postgres-js/migrator,postgres",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "lib/db/migrate.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "5e8b56e8dbd1c8d1833f556c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/components,bcrypt-ts,drizzle-orm,postgres",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./schema, @/components/artifact, bcrypt-ts, drizzle-orm, drizzle-orm/postgres-js, postgres | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "600a5e19e015016f",
      "framework": "next-react",
      "imports": "./schema,@/components/artifact,bcrypt-ts,drizzle-orm,drizzle-orm/postgres-js,postgres",
      "lines": 421,
      "logic_relevance": "primary",
      "name": "queries",
      "normalized_name": "queries",
      "package_manager": "pnpm",
      "path": "lib/db/queries.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "be2b4a10185276385ff35338",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e4ad431745f3db6a",
      "framework": "next-react",
      "imports": "",
      "lines": 384,
      "logic_relevance": "primary",
      "name": "0003_snapshot",
      "normalized_name": "0003-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0003_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "239df65eee2b8879823c7f1b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "022528164e751062",
      "framework": "next-react",
      "imports": "",
      "lines": 391,
      "logic_relevance": "primary",
      "name": "0004_snapshot",
      "normalized_name": "0004-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0004_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "f942c8a9432e7ac4d0d6628a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d7931d7dc90b017e",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "0000_snapshot",
      "normalized_name": "0000-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0000_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "1bd490891e526de54dd14f4a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24a355b490d587a4",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "_journal",
      "normalized_name": "journal",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/_journal.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security,ai",
      "component_id": "4cf6f8162d21d51371a7c0eb",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e7bca6072513ed2",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "primary",
      "name": "0001_snapshot",
      "normalized_name": "0001-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0001_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "0fac834fc37aa8bb40bd1ddd",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "830ba95a0d17ea17",
      "framework": "next-react",
      "imports": "",
      "lines": 515,
      "logic_relevance": "primary",
      "name": "0005_snapshot",
      "normalized_name": "0005-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0005_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "857d23541b1ed49875e19941",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f1a0e38f3fc89abe",
      "framework": "next-react",
      "imports": "",
      "lines": 377,
      "logic_relevance": "primary",
      "name": "0002_snapshot",
      "normalized_name": "0002-snapshot",
      "package_manager": "pnpm",
      "path": "lib/db/migrations/meta/0002_snapshot.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,backend",
      "component_id": "5f019e5f806fc8be9cc976da",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "ai,dotenv,drizzle-orm,postgres",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:BATCH_SIZE, INSERT_BATCH_SIZE | imports:../schema, ai, dotenv, drizzle-orm, drizzle-orm/postgres-js, postgres | ai-score:120 | logic-score:85 | backend-score:55 | uses-env",
      "exports": "BATCH_SIZE,INSERT_BATCH_SIZE",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a6c14ed95c56bd56",
      "framework": "next-react",
      "imports": "../schema,ai,dotenv,drizzle-orm,drizzle-orm/postgres-js,postgres",
      "lines": 196,
      "logic_relevance": "secondary",
      "name": "01-core-to-parts",
      "normalized_name": "01-core-to-parts",
      "package_manager": "pnpm",
      "path": "lib/db/helpers/01-core-to-parts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,frontend,ui",
      "component_id": "b63242fe5f93747e05d2e7d2",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "react-dom",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ReactRenderer | imports:react-dom/client | logic-score:70 | frontend-score:60 | ui-score:55",
      "exports": "ReactRenderer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce3d36a66b77fd7a",
      "framework": "next-react",
      "imports": "react-dom/client",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "react-renderer",
      "normalized_name": "react-renderer",
      "package_manager": "pnpm",
      "path": "lib/editor/react-renderer.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security,ai",
      "component_id": "7b804d193612048c8b03bb62",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,prosemirror-model,prosemirror-state,prosemirror-view,react-dom",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UISuggestion, createSuggestionWidget, projectWithPositions, suggestionsPlugin, suggestionsPluginKey | imports:@/components/artifact, @/components/suggestion, @/lib/db/schema, prosemirror-model, prosemirror-state, prosemirror-view, react-dom/client | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "UISuggestion,createSuggestionWidget,projectWithPositions,suggestionsPlugin,suggestionsPluginKey",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "161cef9ff7f9e755",
      "framework": "next-react",
      "imports": "@/components/artifact,@/components/suggestion,@/lib/db/schema,prosemirror-model,prosemirror-state,prosemirror-view,react-dom/client",
      "lines": 157,
      "logic_relevance": "primary",
      "name": "suggestions",
      "normalized_name": "suggestions",
      "package_manager": "pnpm",
      "path": "lib/editor/suggestions.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,frontend,ui,ai",
      "component_id": "ce96ba24f4da085da5688e28",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,prosemirror-markdown,prosemirror-model,prosemirror-view,react-dom",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildContentFromDocument, buildDocumentFromContent, createDecorations | imports:./config, ./suggestions, @/components/markdown, prosemirror-markdown, prosemirror-model, prosemirror-view, react-dom/server | logic-score:70 | frontend-score:60 | ui-score:55 | ai-score:45",
      "exports": "buildContentFromDocument,buildDocumentFromContent,createDecorations",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc96dd0973c18cb6",
      "framework": "next-react",
      "imports": "./config,./suggestions,@/components/markdown,prosemirror-markdown,prosemirror-model,prosemirror-view,react-dom/server",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "functions",
      "normalized_name": "functions",
      "package_manager": "pnpm",
      "path": "lib/editor/functions.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,ai",
      "component_id": "cd9dc6cecc780c284846ba17",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "prosemirror-inputrules,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:documentSchema, handleTransaction, headingRule | imports:./functions, prosemirror-inputrules, prosemirror-model, prosemirror-schema-basic, prosemirror-schema-list, prosemirror-state, prosemirror-view, react | logic-score:85 | ai-score:45",
      "exports": "documentSchema,handleTransaction,headingRule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dffd14dd3de9fdbc",
      "framework": "next-react",
      "imports": "./functions,prosemirror-inputrules,prosemirror-model,prosemirror-schema-basic,prosemirror-schema-list,prosemirror-state,prosemirror-view,react",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/editor/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security,ai",
      "component_id": "8a2b847f06fc18e46aef2dcc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "diff-match-patch,prosemirror-model",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DiffType, assertNodeTypeEqual, computeChildEqualityFactor, createDiffMark, createDiffNode, createNewNode, createTextNode, diffEditor | imports:diff-match-patch, prosemirror-model | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "DiffType,assertNodeTypeEqual,computeChildEqualityFactor,createDiffMark,createDiffNode,createNewNode,createTextNode,diffEditor,ensureArray,getNodeAttribute,getNodeAttributes,getNodeChildren,getNodeMarks,getNodeProperty,getNodeText,isNodeEqual,isTextNode,matchNodeType,normalizeNodeContent,patchDocumentNode,patchTextNodes",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efb0221ab0ea0474",
      "framework": "next-react",
      "imports": "diff-match-patch,prosemirror-model",
      "lines": 475,
      "logic_relevance": "primary",
      "name": "diff",
      "normalized_name": "diff",
      "package_manager": "pnpm",
      "path": "lib/editor/diff.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-chatbot",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5d809cf4d966257a935baae9",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "040004cc597e4e7e",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "npm",
      "path": "setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6a44997640640576ae3af6f2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "dotenv,express,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./middleware/authenticateToken, ./routes/userRoutes, dotenv, express, path | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a63ce562ceab2b26",
      "framework": "unknown",
      "imports": "./middleware/authenticateToken,./routes/userRoutes,dotenv,express,path",
      "lines": 31,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "npm",
      "path": "server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "1de680a07c81bb8f95771b87",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28b22479d1412775",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "npm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "acf8b8d43dbedd27185fa486",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "df3cca3978b151ec",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "df35614061531c3224a7dfe8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b34d11e2171a6af8",
      "framework": "unknown",
      "imports": "",
      "lines": 4321,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "526c05021caee07597204bfe",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "322da7069d5e62d6",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "3f905e9275594fa7b36e5c29",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "b8e595ed54a7dfd6",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "npm",
      "path": "docker-compose.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "782ce3628d91212ae29df8aa",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "81d803df8a98b6b8",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": ".gitlab-ci",
      "normalized_name": "gitlab-ci",
      "package_manager": "npm",
      "path": ".gitlab-ci.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "40e4f2e9756910438219e11c",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "jsonwebtoken",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:jsonwebtoken | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "eae7462e01a309fb",
      "framework": "unknown",
      "imports": "jsonwebtoken",
      "lines": 14,
      "logic_relevance": "none",
      "name": "authenticateToken",
      "normalized_name": "authenticate-token",
      "package_manager": "npm",
      "path": "middleware/authenticateToken.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,logic",
      "component_id": "0f1d9c193f5b084de2303fb7",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "sequelize",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:User | imports:sequelize | ai-score:120 | logic-score:45",
      "exports": "User",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1b168d9f313ba2e1",
      "framework": "unknown",
      "imports": "sequelize",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "npm",
      "path": "models/user.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,ai",
      "component_id": "fba36be25b16ff8213441b60",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dae2add65da55d77",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "community_guidance",
      "normalized_name": "community-guidance",
      "package_manager": "npm",
      "path": "docs/community_guidance.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process,ai",
      "component_id": "3979d5b99cae31285231b724",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9e309ffcf4992ca9",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "style_guide",
      "normalized_name": "style-guide",
      "package_manager": "npm",
      "path": "docs/style_guide.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style",
      "component_id": "048e5862917dcea4c880323f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3a3015f7a3ba0341",
      "framework": "css",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "npm",
      "path": "public/main.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "87d1b4534db72c16772dd779",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5b0fbe5b7ad705f6",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "npm",
      "path": "public/css/bootstrap.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style",
      "component_id": "9992e6b0957e125059418ce5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fb20a222cd6f087a",
      "framework": "css",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "bbs-style",
      "normalized_name": "bbs-style",
      "package_manager": "npm",
      "path": "public/css/bbs-style.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "928258fb3441f8b9bc1ea633",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9323e66e2d47a218",
      "framework": "css",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "arcade",
      "normalized_name": "arcade",
      "package_manager": "npm",
      "path": "public/css/arcade.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "7e74e26febdee636609d746d",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "jquery",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, B, Dt, Et, F, G, H, I | imports:jquery | security-score:55",
      "exports": "A,B,Dt,Et,F,G,H,I,J,K,L,M,N,O,P,Q,R,Wt,X,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f67b782ec5a62c8f",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bootstrap.bundle.min",
      "normalized_name": "bootstrap-bundle-min",
      "package_manager": "npm",
      "path": "public/js/bootstrap.bundle.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "d277f3e8803791d4be9a13d4",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+u+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, Ae, B, Be, Bt, Ce, D, Dt | imports:+u+ | automation-score:45",
      "exports": "A,Ae,B,Be,Bt,Ce,D,Dt,Ee,Ft,G,He,I,Je,Ke,Le,M,O,Oe,Pe,R,Re,Se,Te,U,X,Xe,Z,Ze",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7f6a5894f1d19dd",
      "framework": "unknown",
      "imports": "+u+",
      "lines": 2,
      "logic_relevance": "none",
      "name": "jquery.min",
      "normalized_name": "jquery-min",
      "package_manager": "npm",
      "path": "public/js/jquery.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "1d3dff430f643e6d21faf977",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "18a2d603f9ae8a68",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "apply_changes",
      "normalized_name": "apply-changes",
      "package_manager": "npm",
      "path": "scripts/apply_changes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "security,discovery,automation,process",
      "component_id": "05739fbcdda3837a60efa8dd",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "812943122dc1c4bf",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "npm",
      "path": "manifests/deployment.yaml",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3b1fd04c26966d71b53e0453",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "f94377b552c29fe1",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "npm",
      "path": "manifests/service.yaml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "fcff9186a8e54c46cd546486",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "bcrypt,express,jsonwebtoken",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:User | imports:../models/user, bcrypt, express, jsonwebtoken | backend-score:90 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "User",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "064c16d078ce2651",
      "framework": "unknown",
      "imports": "../models/user,bcrypt,express,jsonwebtoken",
      "lines": 36,
      "logic_relevance": "none",
      "name": "userRoutes",
      "normalized_name": "user-routes",
      "package_manager": "npm",
      "path": "routes/userRoutes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "1f3b1987ae90ce353b4a08b1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fc4b3b3721f040b9",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "apply_changes",
      "normalized_name": "apply-changes",
      "package_manager": "npm",
      "path": "src/apply_changes.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__ph3ar-web",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a78cf208d3b9acaf4fe4b4bd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0bb0fa7ccf5d5a7",
      "framework": "next-react",
      "imports": "",
      "lines": 6639,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "3d47af56b0b487c0f5f00fae",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "701e51a5fcd6f7b7",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "9dec6762915049487e093030",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2fa490d8a76f785",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "2f217bbd06cd1b05a33d4171",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8e01e697dd7a44c",
      "framework": "next-react",
      "imports": "next",
      "lines": 37,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "2d089967bc39fe470a838c30",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e80f02b476be77fd",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4d720e868bb6140c148da082",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e73e8390c2c86d79",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "38c796a94bd9c25bc785133a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dd8f8dd2bad5bdab",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 20,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7059d8885bbdb0557503a6d1",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6022a74e88b194b0",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 349,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "047c4d9416539167e6b30673",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Epic404Page | imports:@/components/404/ascii-art-display, @/components/404/audio-visualizer, @/components/404/crypto-tip, @/components/404/dimensional-rift, @/components/404/easter-egg, @/components/404/glitch-text, @/components/404/grid-background, @/components/404/live-network-stats | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Epic404Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e7241386a24a714",
      "framework": "next-react",
      "imports": "@/components/404/ascii-art-display,@/components/404/audio-visualizer,@/components/404/crypto-tip,@/components/404/dimensional-rift,@/components/404/easter-egg,@/components/404/glitch-text,@/components/404/grid-background,@/components/404/live-network-stats,@/components/404/navigation-links,@/components/404/network-404-window,@/components/404/network-explorer,@/components/404/particle-field,@/components/404/recovery/phase1-recovery-panel,@/components/404/status-indicator,@/components/404/terminal-log,@/components/404/trace-integration,@/components/404/void-message-generator,@/components/404/void-portal,@/lib/utils,lucide-react,react",
      "lines": 552,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "c3e540d104bde45754c76ded",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "13efa5b5308ae6d6",
      "framework": "next-react",
      "imports": "",
      "lines": 418,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability",
      "component_id": "63796337f068cdb2e638f43f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/404/recovery/phase1-recovery-panel, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90c470e60bce92ce",
      "framework": "next-react",
      "imports": "@/components/404/recovery/phase1-recovery-panel,next/link",
      "lines": 21,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "4322af4b1fdd52d1c60cfc94",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13570707fd064b25",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "446b76c9fb5acfe1ec819457",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9fbf9cfe7310a537",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "088da7d2bd57b62074b5b661",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea3b2927a26e9509",
      "framework": "next-react",
      "imports": "../rss.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "d9e6eca106121d04ec363cd6",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98318c18afdac316",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "6ccc69b1cded645de67583b9",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7222a24d96a87a95",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "da121e33f3af3b620ca145a9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8f187c12caf26908",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "7ccbffc08ac0251d06389d80",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28b8b81f21937565",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "a83b4123f77f3425e243211f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b24eee85a88484f9",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,ai",
      "component_id": "3ec6dfaec87fd530b616db7b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "599ac90f1b8c6b63",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "b76db0cbd16da5087e66f8a6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d2656178ad5a398a",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c5968c06714f5137555ec476",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5d1eccf5411ba40",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "21d69fa9fac51814e3a13de9",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84df8e3cd92873ca",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,ai",
      "component_id": "8b08640dcd6d051157496ac9",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc0dabbc6d3b35ba",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "fdda593c2b11b27f3a26c967",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b1b96bcd0df0b9f",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a5f1148f36ad6e48c4a70f07",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc522de974c322ab",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/redirects/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "5d9e1dabff15d4a01cf78770",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "176d3fda520adb26",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sitemap-status/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "72d99188720e14376c6127cd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/sitemap | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4a44bfac727e4ed",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/sitemap",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "88bc7242de61aacdddb12e97",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa7a3fcdbdb495b4",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "5650c603406c07d063f271e6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/inventory, @/lib/platform/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f670128edb20cf0",
      "framework": "next-react",
      "imports": "@/lib/platform/inventory,@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "485d79557605f2be2fb0fc7f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/inventory, @/lib/platform/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a5e5687691b7a6ef",
      "framework": "next-react",
      "imports": "@/lib/platform/inventory,@/lib/platform/response",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "4d689848a31b633d4e83cc89",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/inventory, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a9faa8dccffd2612",
      "framework": "next-react",
      "imports": "@/lib/platform/inventory,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6d9c7c22824bc986b8f2dd7d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/inventory, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "00a2cf62eeb5d430",
      "framework": "next-react",
      "imports": "@/lib/platform/inventory,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ea91669ab3f5bf567b1b3849",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/response, @/lib/platform/sitemap | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5055c0c95b13a986",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/sitemap",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemap/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "02a023670a061d6455c2a330",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62a69e69c6d19b5b",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemap/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "1d9906c408c60f7f7c876223",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/recovery, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "28b85d0ad934319e",
      "framework": "next-react",
      "imports": "@/lib/platform/recovery,@/lib/platform/response",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "4c7ccdffa029fcedf7e3460c",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/recovery, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "60ba9474ade7d195",
      "framework": "next-react",
      "imports": "@/lib/platform/recovery,@/lib/platform/response",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/redirects/suggest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "67e1752bea94709751d91ab0",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/reports, @/lib/platform/response, zod | backend-score:160 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6aed1e15b8e82221",
      "framework": "next-react",
      "imports": "@/lib/platform/reports,@/lib/platform/response,zod",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/report/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "94c6a897f3bfe01ead1bbe09",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/reports, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b6c8dd6fe5a3a668",
      "framework": "next-react",
      "imports": "@/lib/platform/reports,@/lib/platform/response",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/report/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "59b23fc98c28fc061e7bfd5b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../report/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "57ef7c519e4b199c",
      "framework": "next-react",
      "imports": "../report/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dead-links/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bf6780052d9a81451e6150a9",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/link-check, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e9d66fb03dc466df",
      "framework": "next-react",
      "imports": "@/lib/platform/link-check,@/lib/platform/response",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/link-check/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "ff6ed06c2d4902923f7a59af",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/recovery, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a18430c64e0ff7b",
      "framework": "next-react",
      "imports": "@/lib/platform/recovery,@/lib/platform/response",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/recover/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dd5d32174f523961fc3de111",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/inventory, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8de0c9fe714b463f",
      "framework": "next-react",
      "imports": "@/lib/platform/inventory,@/lib/platform/response",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/routes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e9720a11d8bb333d335631d7",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/inventory, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "35773f979c094913",
      "framework": "next-react",
      "imports": "@/lib/platform/inventory,@/lib/platform/response",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/routes/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ee3305e86e6a4799290466c6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc6898c35c1f90ee",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response,@/lib/platform/trace",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e8b1605632784fd66622d3cc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../v1/network/sites/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "50d30fb937e40132",
      "framework": "next-react",
      "imports": "../v1/network/sites/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "06cc3dd949a64ff1fa7ca239",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fd6825fbe186bd54",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability",
      "component_id": "af5c7e3fc59a8e8cdde6d332",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/mcp, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53ef6084bad9f439",
      "framework": "next-react",
      "imports": "@/lib/platform/mcp,@/lib/platform/response,@/lib/platform/trace",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "31b4c64b704d9cde7eec4625",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd9f87c547479af1",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response,@/lib/platform/trace",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,observability,security",
      "component_id": "d9e40371802247f3f8e18a5c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/auth, @/lib/platform/discovery, @/lib/platform/inventory, @/lib/platform/response, @/lib/platform/sitemap, @/lib/platform/trace | backend-score:125 | automation-score:95 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48edfdfdfa9b56ac",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/discovery,@/lib/platform/inventory,@/lib/platform/response,@/lib/platform/sitemap,@/lib/platform/trace",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "87b901e4c5fb67745fd59b8c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/sitemap | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aec7ea8689d4e549",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/sitemap",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "0bc5ec522f377244d0a99abe",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/sitemap | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78f589e54693605b",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/sitemap",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "ceaea85dca0511a47a6a650e",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e69b18c5ef4f15c1",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/report/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "44c495cee9de44b1295aec9e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5fdd277ffd409572",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "94aeaed1277e1e3b5ae4c94e",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f28a03e6675fbc5",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dead-links/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b38dab913e3525eb20f30fa0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0060c1cf8a5c1a0c",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "b875960e1ac2d8f475754ba5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fd6825fbe186bd54",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1ba929a91909ad6e586a3f6b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c82ddcb074692702",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "41793859c841c1119fabfb8b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "147d7e3ff7109ec4",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,backend",
      "component_id": "0071400b1b8aa321a2a30c09",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page, metadata | imports:@/components/404/recovery/recovery-page, next | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2fb202c9c42cb3d4",
      "framework": "next-react",
      "imports": "@/components/404/recovery/recovery-page,next",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/routes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "a7418c5c5f6231e9bafbb56f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "node:assert,node:test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/platform/auth, ../../lib/platform/discovery, ../../lib/platform/inventory, ../../lib/platform/mcp, ../../lib/platform/recovery, ../../lib/platform/sitemap, ../../lib/platform/url-safety, node:assert/strict | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ebd2765a2ce64ff0",
      "framework": "next-react",
      "imports": "../../lib/platform/auth,../../lib/platform/discovery,../../lib/platform/inventory,../../lib/platform/mcp,../../lib/platform/recovery,../../lib/platform/sitemap,../../lib/platform/url-safety,node:assert/strict,node:test",
      "lines": 56,
      "logic_relevance": "none",
      "name": "recovery.test",
      "normalized_name": "recovery",
      "package_manager": "pnpm",
      "path": "tests/unit/recovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "9540bf41b4e888fd34832fd4",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "40ba3d45429b83ba",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 19,
      "logic_relevance": "none",
      "name": "recovery.spec",
      "normalized_name": "recovery",
      "package_manager": "pnpm",
      "path": "tests/e2e/recovery.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "298e7f0a7aaec456e5db065f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b5fae4389d9737ea",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "PHASE1",
      "normalized_name": "phase1",
      "package_manager": "pnpm",
      "path": "docs/PHASE1.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4ac655895d3d8a8c7962fa96",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "1ab683bbaa0e33d4ac441974",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "0a516651545f1353b62dc8b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d1f1e8d6438c89a8fb15fec7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "30518cf5fd4f9c57dca1d41c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "be0048bd5a5a214fd1646216",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9fac62745a2c989ada9da525",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e963d1c2aa0c05426d024bc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0dcece4dca8fce7b3aaed578",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "a63e086025467c3e5c96296b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3fdbc28b6c11960bd75732ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "73e7ff755770d8c846df5305",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "361b93e60d479e404bbc5096",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "46ad398b2f3f8ca0734ca1a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5694e69c8526728c73cb6353",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "84a8da8428f6999512783cf8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "df526df9f0be992b84df6267",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2afdff6eb848c7ca715e8e29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "39822c1830ab17a63c330c24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b6002a54d574c825fc37ab19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1635021e70536c8c2be2815f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0e1793443304cf717e41a35c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ea72e6c2a9df562f7b889b39",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ede8ffa81e36707f9eb2644",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "743ead36e32ea09c735e08ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "baddc2375ca750c96fa9f794",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "90cf655e5929d54dd55985ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "be6e1d4e89494a785f4de09d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f0cb6d401455b5f89575024f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "78d0ebe873ec652cc55ea955",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "78fa97ea30ed535f90ec09ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "3d68a3844006496c91503ac8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "398db6b6201d2185caba6342",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7735dbd8a09b7a947f237e87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "88f4ca0379375114d19b4736",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "577461282a2f5cfed6912d33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "365984eef5831345781f7dd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "b840e2e4fdbc1f263a40a745",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "073ce083cc4efb5337e68b22",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "de538ffe94337541cafd6e67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "757753912141deaefb4dc50d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "51d37e420b584e0063979da3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6956e02b9cf7ba4f8f663923",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0e91f87e877e531b7b1c7a6e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7aa6891b5b48c1876ef0fae2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3c05db84be9469533890c75e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f1276be595dc1d15b7a51a46",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2ffc0efc887927d26dc3131a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "172157af7e350583597d06d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "80b4108b2775af210cb1f934",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4a3a80af4b67cf43307f5ac4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c8903cfa8e91207b00444388",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "58dc6146cf7ffabb84735b61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7c466ac4ab95d0d0c06b4bfe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "42ae0ab531c4ba6d0fcb9d89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2a75b4e520d0ce26f0a532ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1bf14ceee704cbb39b9b42bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "73822314713546b4f12b3578",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "942889deee57bd65aef2ebeb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "69e670da4354973d55ac8725",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlitchText | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlitchText",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8073a048cec0322e",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "glitch-text",
      "normalized_name": "glitch-text",
      "package_manager": "pnpm",
      "path": "components/404/glitch-text.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "7a4e8dcf85ad5340deffa120",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VoidMessageGenerator | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "VoidMessageGenerator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f12b52d58e732af1",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "void-message-generator",
      "normalized_name": "void-message-generator",
      "package_manager": "pnpm",
      "path": "components/404/void-message-generator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d57467b3f578a7a0f049fa59",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CryptoTip | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CryptoTip",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eff7ce891f4688b4",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 94,
      "logic_relevance": "none",
      "name": "crypto-tip",
      "normalized_name": "crypto-tip",
      "package_manager": "pnpm",
      "path": "components/404/crypto-tip.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "0723b46a04ad610b555d7563",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:GridBackground | frontend-score:85 | ui-score:55",
      "exports": "GridBackground",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84269b94fd723a70",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "grid-background",
      "normalized_name": "grid-background",
      "package_manager": "pnpm",
      "path": "components/404/grid-background.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "f25527b199cf7bf9ecc3bef3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:EasterEgg | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "EasterEgg",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "412ed9f6d9ab7ff6",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "easter-egg",
      "normalized_name": "easter-egg",
      "package_manager": "pnpm",
      "path": "components/404/easter-egg.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "cda473749a6d3d55f437ab5a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Network404Window | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Network404Window",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68d22a9970f3cf46",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 347,
      "logic_relevance": "none",
      "name": "network-404-window",
      "normalized_name": "network-404-window",
      "package_manager": "pnpm",
      "path": "components/404/network-404-window.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "370806f49f55e45631ed8914",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusIndicator | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StatusIndicator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ce5e75cc86d5116",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "status-indicator",
      "normalized_name": "status-indicator",
      "package_manager": "pnpm",
      "path": "components/404/status-indicator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "39c76a4ade546977198ea6e6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ParticleField | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ParticleField",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f3446e4cc75662c",
      "framework": "next-react",
      "imports": "react",
      "lines": 231,
      "logic_relevance": "none",
      "name": "particle-field",
      "normalized_name": "particle-field",
      "package_manager": "pnpm",
      "path": "components/404/particle-field.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4b399494467bf096a8989ab8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveNetworkStats | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LiveNetworkStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2355166fb5c9fab6",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "live-network-stats",
      "normalized_name": "live-network-stats",
      "package_manager": "pnpm",
      "path": "components/404/live-network-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "f1a7f589eec3e46b638431ff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NavigationLinks | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NavigationLinks",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0015c50f592a3292",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 189,
      "logic_relevance": "none",
      "name": "navigation-links",
      "normalized_name": "navigation-links",
      "package_manager": "pnpm",
      "path": "components/404/navigation-links.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4e3369165d51707e7ce5d99d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AsciiArtDisplay | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AsciiArtDisplay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "755fcfd159b7630c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "ascii-art-display",
      "normalized_name": "ascii-art-display",
      "package_manager": "pnpm",
      "path": "components/404/ascii-art-display.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "699b989aaada4f9f4cfa1e7c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioVisualizer | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "AudioVisualizer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6bc0c0f5cd950b8d",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "audio-visualizer",
      "normalized_name": "audio-visualizer",
      "package_manager": "pnpm",
      "path": "components/404/audio-visualizer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5d1abf607099faeb2b9759ef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkExplorer | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NetworkExplorer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4a1bd466171671a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 165,
      "logic_relevance": "none",
      "name": "network-explorer",
      "normalized_name": "network-explorer",
      "package_manager": "pnpm",
      "path": "components/404/network-explorer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad4bcb56536d9a38dd372ab5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TerminalLog | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TerminalLog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8455c59a6378c011",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "terminal-log",
      "normalized_name": "terminal-log",
      "package_manager": "pnpm",
      "path": "components/404/terminal-log.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "e06d7e1d06e10b59ad59d905",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DimensionalRift | imports:react | frontend-score:115 | ui-score:70",
      "exports": "DimensionalRift",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15723dfab0287c18",
      "framework": "next-react",
      "imports": "react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "dimensional-rift",
      "normalized_name": "dimensional-rift",
      "package_manager": "pnpm",
      "path": "components/404/dimensional-rift.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "62d7fddad25e22a5c5eb7512",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TracePageView, useTrace, useTrackInteraction | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | uses-env",
      "exports": "TracePageView,useTrace,useTrackInteraction",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4ff2d42974e17d29",
      "framework": "next-react",
      "imports": "react",
      "lines": 80,
      "logic_relevance": "none",
      "name": "trace-integration",
      "normalized_name": "trace-integration",
      "package_manager": "pnpm",
      "path": "components/404/trace-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4f9519f132eaa22f652cdb9e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:VoidPortal | imports:react | frontend-score:115 | ui-score:70",
      "exports": "VoidPortal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c81ee2b6f947477d",
      "framework": "next-react",
      "imports": "react",
      "lines": 230,
      "logic_relevance": "none",
      "name": "void-portal",
      "normalized_name": "void-portal",
      "package_manager": "pnpm",
      "path": "components/404/void-portal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c7ac222a8aa672961ad9a7fb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Phase1RecoveryPanel | imports:./local-report-store, @/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/components/ui/tooltip, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Phase1RecoveryPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5a524a7cc91ffac",
      "framework": "next-react",
      "imports": "./local-report-store,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 360,
      "logic_relevance": "none",
      "name": "phase1-recovery-panel",
      "normalized_name": "phase1-recovery-panel",
      "package_manager": "pnpm",
      "path": "components/404/recovery/phase1-recovery-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b5a42557401edec5b0469879",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecoveryPage | imports:./phase1-recovery-panel, @/lib/platform/discovery, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RecoveryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b58fa9572a8ec80",
      "framework": "next-react",
      "imports": "./phase1-recovery-panel,@/lib/platform/discovery,next/link",
      "lines": 46,
      "logic_relevance": "none",
      "name": "recovery-page",
      "normalized_name": "recovery-page",
      "package_manager": "pnpm",
      "path": "components/404/recovery/recovery-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "8b138ba844ebbc5a8fb1b39f",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalReportDraft | logic-score:85 | security-score:55",
      "exports": "LocalReportDraft",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "73af34b1e247f251",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "local-report-store",
      "normalized_name": "local-report-store",
      "package_manager": "pnpm",
      "path": "components/404/recovery/local-report-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "9fc3ef260cb8a0afbc28ebf0",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a28f71329d67417",
      "framework": "next-react",
      "imports": "",
      "lines": 257,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "ffaf5370d9b8baac54f3c995",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4243d75e770e6c4b",
      "framework": "next-react",
      "imports": "",
      "lines": 692,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "181841a34c1d46c8ee7a365d",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "36252d309fc7486a",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "c15a5b78e550242c506e1db1",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "201d8891e7f3dbed",
      "framework": "next-react",
      "imports": "",
      "lines": 373,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "8c6b6d05874a333f73c74d54",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bc11eb2c1395308b",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "207bc220dd1828da74914334",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5130aeff37be45b1",
      "framework": "next-react",
      "imports": "",
      "lines": 238,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "1e03981833348c98afbc2ab9",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1fd7ef7661bce9c9",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "4967990abaff2be14f05281d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c4ffc08c984283f8",
      "framework": "next-react",
      "imports": "",
      "lines": 267,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "57179946aa14f8e1acef3bbb",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aec59399da97626f",
      "framework": "next-react",
      "imports": "",
      "lines": 255,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "b10aa33afba319cd3970be75",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "80fbe8f2894c4861",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,security,automation",
      "component_id": "a8cc51bd147aff9e20838073",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8baa0b6d10d5211d",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "44de4f12edc5c78d171a0f4e",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "bd43d8b7491092f1",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ad7030c7b2502f6d154cea29",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9b6a111eef74cced58f8e391",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:discoveryCompliance, routeCompliance | imports:./constants, ./trace, ./types, ./url-safety | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "discoveryCompliance,routeCompliance",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3515bcd96f2b1f56",
      "framework": "next-react",
      "imports": "./constants,./trace,./types,./url-safety",
      "lines": 312,
      "logic_relevance": "primary",
      "name": "inventory",
      "normalized_name": "inventory",
      "package_manager": "pnpm",
      "path": "lib/platform/inventory.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,discovery",
      "component_id": "bc51f568d035877230901d29",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureSafeVercelMetadata | automation-score:95 | logic-score:85 | integration-score:55 | discovery-score:55",
      "exports": "captureSafeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "507efd5257b9706b",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "vercel-metadata",
      "normalized_name": "vercel-metadata",
      "package_manager": "pnpm",
      "path": "lib/platform/vercel-metadata.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "57d805e65e0523d2e660c09e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAX_REDIRECTS, TIMEOUT_MS | imports:./trace, ./types, ./url-safety | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MAX_REDIRECTS,TIMEOUT_MS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "383b30afa7ab8e5b",
      "framework": "next-react",
      "imports": "./trace,./types,./url-safety",
      "lines": 121,
      "logic_relevance": "primary",
      "name": "link-check",
      "normalized_name": "link-check",
      "package_manager": "pnpm",
      "path": "lib/platform/link-check.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "5593982afc416b4bfc84000d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:deadLinkReportSchema, getDeadLinkReport, listDeadLinkReports | imports:./recovery, ./trace, ./types, ./url-safety, zod | logic-score:85 | observability-score:55 | uses-env",
      "exports": "deadLinkReportSchema,getDeadLinkReport,listDeadLinkReports",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "857255279b906154",
      "framework": "next-react",
      "imports": "./recovery,./trace,./types,./url-safety,zod",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "reports",
      "normalized_name": "reports",
      "package_manager": "pnpm",
      "path": "lib/platform/reports.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "6b450d0d2e0f1ffa048bc15f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mcpInfo | imports:./discovery, ./inventory, ./link-check, ./recovery, ./reports, ./sitemap | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "mcpInfo",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f86066c81b751828",
      "framework": "next-react",
      "imports": "./discovery,./inventory,./link-check,./recovery,./reports,./sitemap",
      "lines": 198,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/platform/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "cccb715a98f1e918e9c63351",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:modelStatus | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "modelStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "af419e4ecbff2ccf",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "model",
      "normalized_name": "model",
      "package_manager": "pnpm",
      "path": "lib/platform/model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "33c59f99151c8ee60f9588b6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DeadLinkReport, InventorySnapshot, LinkCheckResult, NetworkSite, RestEnvelope, RouteRecord, RouteSuggestion, SitemapUrlStatus | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "DeadLinkReport,InventorySnapshot,LinkCheckResult,NetworkSite,RestEnvelope,RouteRecord,RouteSuggestion,SitemapUrlStatus,SitemapValidationRun,SourceStatus",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "88f4dd506be67b28",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/platform/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "88e037dd86e57ef5a8ee0bd4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fail, ok, text, withStandardHeaders | imports:./constants, ./trace, ./types, next/server | logic-score:85 | observability-score:55",
      "exports": "fail,ok,text,withStandardHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c452ea73859fa0e1",
      "framework": "next-react",
      "imports": "./constants,./trace,./types,next/server",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "5c5f98db749a31b188cda1d5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_GET_ROUTES, DISCOVERY_ROUTES, HUMAN_PAGES, POST_ROUTES, REQUIRED_TRUST_LINE, SERVICE, STANDARD_ROUTES, localRouteRecords | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "API_GET_ROUTES,DISCOVERY_ROUTES,HUMAN_PAGES,POST_ROUTES,REQUIRED_TRUST_LINE,SERVICE,STANDARD_ROUTES,localRouteRecords",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1731fe7976414039",
      "framework": "next-react",
      "imports": "./types",
      "lines": 126,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/platform/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,discovery,automation",
      "component_id": "114dd27b28a1731356ed3a15",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildSitemapIndexXml, buildSitemapXml, canonicalSitemapEntries, noDeadLinksInGeneratedSitemap | imports:./constants, ./link-check, ./types, ./url-safety | logic-score:85 | observability-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "buildSitemapIndexXml,buildSitemapXml,canonicalSitemapEntries,noDeadLinksInGeneratedSitemap",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f4f2e6977aaf1fd7",
      "framework": "next-react",
      "imports": "./constants,./link-check,./types,./url-safety",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "lib/platform/sitemap.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "0c46f9650048f24659d1996b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:breadcrumbForPath, buildAgentsJson, buildAiPluginJson, buildJsonLd, buildManifest, buildMcpManifest, buildOpenApiSpec, buildOpenApiYaml | imports:./auth, ./constants, ./inventory, ./model, ./sitemap | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "breadcrumbForPath,buildAgentsJson,buildAiPluginJson,buildJsonLd,buildManifest,buildMcpManifest,buildOpenApiSpec,buildOpenApiYaml,buildRobotsTxt,buildRssXml,buildSecurityTxt,buildSitemapStatusSummary,buildTrustJson",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e9c99a85940e960",
      "framework": "next-react",
      "imports": "./auth,./constants,./inventory,./model,./sitemap",
      "lines": 327,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/platform/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2e8d20a1840050225a362bc4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:recoveryTestInternals | imports:./inventory, ./types, ./url-safety | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "recoveryTestInternals",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "10d6357e6242a9a6",
      "framework": "next-react",
      "imports": "./inventory,./types,./url-safety",
      "lines": 128,
      "logic_relevance": "primary",
      "name": "recovery",
      "normalized_name": "recovery",
      "package_manager": "pnpm",
      "path": "lib/platform/recovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2795a112633b98c87857566f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, getTraceContext, traceHeaders, traceLink | imports:./constants | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "TraceContext,getTraceContext,traceHeaders,traceLink",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dc57f4535f657bdf",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "44aca0bcf27d53f345c54559",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:assertSafePublicUrl, isPlatphormHost, isPublicSafeRoute, normalizePath, normalizeUrl, slugify | imports:./constants | logic-score:85 | automation-score:45 | cron-or-schedule",
      "exports": "assertSafePublicUrl,isPlatphormHost,isPublicSafeRoute,normalizePath,normalizeUrl,slugify",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "60a5caa27924a4d7",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 72,
      "logic_relevance": "primary",
      "name": "url-safety",
      "normalized_name": "url-safety",
      "package_manager": "pnpm",
      "path": "lib/platform/url-safety.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "9cd84e1f3e400fa0a645fdc4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthPolicy, authPolicy, hasPlatformApiKey, isApiKeyEnforced, isCronAuthorized, requireProtectedAccess | imports:./response | logic-score:85 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "AuthPolicy,authPolicy,hasPlatformApiKey,isApiKeyEnforced,isCronAuthorized,requireProtectedAccess",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d3ac044ded33a296",
      "framework": "next-react",
      "imports": "./response",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-404",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fc69ed6bda513abe030328cc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17752ce8fd6d40b2",
      "framework": "next-react",
      "imports": "",
      "lines": 3479,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b4de4335a079cef05ca1698b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9496b316237e8bc",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_SUMMARY",
      "normalized_name": "implementation-summary",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,frontend,observability,security,automation",
      "component_id": "b1c5d9a99e2a7cccb97a784e",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/components,@/lib,@testing-library/react,jest-axe,next,swr",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DashboardStats, FlowCanvas | imports:@/components/builder/flow-canvas, @/components/error-boundary, @/components/ui/button, @/lib/api/errors, @/lib/security/sanitization, @/lib/validation/schemas, @testing-library/react, jest-axe | process-score:145 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DashboardStats,FlowCanvas",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cf50b1b6ebe26c6f",
      "framework": "next-react",
      "imports": "@/components/builder/flow-canvas,@/components/error-boundary,@/components/ui/button,@/lib/api/errors,@/lib/security/sanitization,@/lib/validation/schemas,@testing-library/react,jest-axe,next/image,swr",
      "lines": 485,
      "logic_relevance": "none",
      "name": "ENTERPRISE_UI_GUIDE",
      "normalized_name": "enterprise-ui-guide",
      "package_manager": "pnpm",
      "path": "ENTERPRISE_UI_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0795c21af29d8cd1a615bb9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "62db31259c76d455",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "PRODUCTION_CHECKLIST",
      "normalized_name": "production-checklist",
      "package_manager": "pnpm",
      "path": "PRODUCTION_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "901586da46dfbc7705a2f570",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "json,playwright.sync_api",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:verify_settings | imports:json, playwright.sync_api | observability-score:55 | security-score:55",
      "exports": "verify_settings",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "40dc6e1ffb4bac8c",
      "framework": "next-react",
      "imports": "json,playwright.sync_api",
      "lines": 70,
      "logic_relevance": "none",
      "name": "verify_settings",
      "normalized_name": "verify-settings",
      "package_manager": "pnpm",
      "path": "verify_settings.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "acf5fc3eaa3a1bd5870f158a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f937cad5b7f0d020",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "BUILD_SUMMARY",
      "normalized_name": "build-summary",
      "package_manager": "pnpm",
      "path": "BUILD_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "e8e3a98559e33bf35ff7842b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b48a9f1f8333cb48",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "62996b6cd2db190aae682965",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb77c08d8348b637",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "00729f5b5be74d4cc7f2ce51",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21c3c6b969102686",
      "framework": "next-react",
      "imports": "",
      "lines": 5581,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "c6dcc4aac20cd0fa1ee6b5e9",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/api/errors | process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a739a1c99e23f275",
      "framework": "next-react",
      "imports": "@/lib/api/errors",
      "lines": 425,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "157d7e6cbcceda4ee0fc5ada",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:config, proxy | imports:next/server | security-score:55 | automation-score:45",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "993fb155955bae68",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "6980d97a208eeea19ac3e6cc",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ceae6df68e1bd069",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "93c1a65f8a37522db703d734",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "939df1831bd8ec53",
      "framework": "next-react",
      "imports": "",
      "lines": 256,
      "logic_relevance": "none",
      "name": "QUICK_START",
      "normalized_name": "quick-start",
      "package_manager": "pnpm",
      "path": "QUICK_START.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "ab4fa66dd65a4b211f0a675f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/config/env, next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93c940d38ae50a9f",
      "framework": "next-react",
      "imports": "@/lib/config/env,next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "eddecd93049641358eb6dd62",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/config/env, @/lib/db/client, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f884e12808df46db",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/db/client,next",
      "lines": 60,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "ea9552f4820d13f606bed707",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/error-boundary, @/components/layout/command-palette, @/components/layout/footer, @/components/layout/top-bar, @/components/providers/theme-provider, @/components/ui/toast, @/lib/standards/metadata, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b95e39f4982983a",
      "framework": "next-react",
      "imports": "@/components/error-boundary,@/components/layout/command-palette,@/components/layout/footer,@/components/layout/top-bar,@/components/providers/theme-provider,@/components/ui/toast,@/lib/standards/metadata,next,next/font/google",
      "lines": 56,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "ce587558ae31b046f6541d4c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0acd0dbe5fe1e3d8",
      "framework": "next-react",
      "imports": "",
      "lines": 181,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,automation",
      "component_id": "75e571de9ffe64db83501b08",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:./components/quick-actions, ./components/recent-activity, ./components/recent-flows, ./components/stats-grid, @/components/ui/button, @/lib/db/client, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "748f68dbbdabda3f",
      "framework": "next-react",
      "imports": "./components/quick-actions,./components/recent-activity,./components/recent-flows,./components/stats-grid,@/components/ui/button,@/lib/db/client,next,next/link",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "91206066e8c6171d4ab1c013",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "501ca9106b07e007",
      "framework": "next-react",
      "imports": "react",
      "lines": 204,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "1ba10634ac6974bc50dbdb0a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolsPage | imports:@/components/registry/tool-browser | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "ToolsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3561859d49ee615b",
      "framework": "next-react",
      "imports": "@/components/registry/tool-browser",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/tools/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "caaacb18744d69ee0b8f2e2a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResourcesPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3cf6bbc80c77fa02",
      "framework": "next-react",
      "imports": "react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/resources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7e6a1db7d76cb58a4b2fc263",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/lib/db/client, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "87fa4d75a2b10df9",
      "framework": "next-react",
      "imports": "@/lib/db/client,next",
      "lines": 95,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/usage/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "02e87df59a5234d1255322cc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db/client, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "373f99a63321fb1a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db/client,next,next/link",
      "lines": 516,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/observability/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "42301d1c9f27ff407f7e3207",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TracesListPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/skeleton, @/hooks/use-debounce, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TracesListPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ece5d662899d7235",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/skeleton,@/hooks/use-debounce,next/link,react,swr",
      "lines": 223,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/observability/traces/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "37b0ed23f9fb121ab685df32",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceDetailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TraceDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8c1bbb03b019288",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,next/link,react,swr",
      "lines": 386,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/observability/traces/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "4d4dd0ca7ce35b476fc351fb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkServicesPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/skeleton, @/hooks/use-debounce, next/link, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "NetworkServicesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b9ba87d425b3233",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/skeleton,@/hooks/use-debounce,next/link,react,swr",
      "lines": 382,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/observability/services/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "6f39bab7489c333cb438eb23",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentActivity | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RecentActivity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55f2bde267867d01",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,next/link",
      "lines": 81,
      "logic_relevance": "none",
      "name": "recent-activity",
      "normalized_name": "recent-activity",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/components/recent-activity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "139634ea4e34c97007d28b70",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuickActions | imports:@/components/ui/card, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "QuickActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bef90734b7bc96c5",
      "framework": "next-react",
      "imports": "@/components/ui/card,next/link",
      "lines": 73,
      "logic_relevance": "none",
      "name": "quick-actions",
      "normalized_name": "quick-actions",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/components/quick-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,security",
      "component_id": "6d8b7660ac21aa20a3e73973",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsGrid | imports:@/components/ui/card, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "StatsGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f3840cf3d349821",
      "framework": "next-react",
      "imports": "@/components/ui/card,next/link",
      "lines": 76,
      "logic_relevance": "none",
      "name": "stats-grid",
      "normalized_name": "stats-grid",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/components/stats-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,observability,security",
      "component_id": "b1fa8ebf5f704fb52ba128e1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentFlows | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RecentFlows",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76754e13094baaee",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "recent-flows",
      "normalized_name": "recent-flows",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/components/recent-flows.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "b7480ea98ef53e66d89c2562",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegistryPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RegistryPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8e076112945e1432",
      "framework": "next-react",
      "imports": "react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/registry/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "970cb5a5794ac61f4405427c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:PromptsPage | imports:react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PromptsPage",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "585cd88dc9b64437",
      "framework": "next-react",
      "imports": "react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/prompts/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "06a2133875fa4ee79ef7f1f7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApprovalsPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApprovalsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6e530ad6cba69e78",
      "framework": "next-react",
      "imports": "react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/approvals/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1bc26c7e7aaa221cf4af6f44",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunsPage | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RunsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8c517730252273f5",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/runs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "608a751e42d0d213ac2c661e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FlowsPage | imports:@/lib/local/workflow-drafts, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FlowsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35ef18773adf3b38",
      "framework": "next-react",
      "imports": "@/lib/local/workflow-drafts,next/link,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(workspace)/dashboard/flows/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "ddd7f5226a27b88f20b9e702",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:@/lib/config/env, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2f5c73894bc37aa9",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/db/client,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "38f50a83b08e97aaa50db75c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/env, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "918d4787d3763f07",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/db/client,next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery",
      "component_id": "a8161ea2b8e55a20acd8d012",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/env, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a2220b721c0f518e",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/db/client,next/server",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "23a1dde287684350d00da670",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/config/env | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57bd339533b529ff",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "604910f0cbf18d97de527ee1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/discovery/network-manifest | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "60fad8a4d16baa9e",
      "framework": "next-react",
      "imports": "@/lib/discovery/network-manifest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/network-manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,security",
      "component_id": "4db131560eb4e79eccc37c62",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/config/env | backend-score:125 | ai-score:75 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e9b61129822c5757",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ab369dc2435f03236aed17c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/config/env | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "30b571617a0debeb",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,security",
      "component_id": "41e741d7974293a4f073d426",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/mcp/server | backend-score:125 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad4e8ea7f9647850",
      "framework": "next-react",
      "imports": "@/lib/mcp/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "9dcb0170cb1274d00fd42ac1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/env, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ed4b2a766841768",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/db/client,next/server",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0ac236777d44ce1c9c5a1f3d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BuilderPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/local/workflow-drafts, @/lib/workflows/phase1, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BuilderPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78200e0b91717c51",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/local/workflow-drafts,@/lib/workflows/phase1,next/link,next/navigation,react",
      "lines": 354,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(builder)/builder/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7c78251f29b7812535c7f7ed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BuilderPage | imports:@/components/builder/flow-canvas, @/components/builder/run-inspector, @/lib/local/workflow-drafts, @/lib/workflows/phase1, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BuilderPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca0cc88e86a0096d",
      "framework": "next-react",
      "imports": "@/components/builder/flow-canvas,@/components/builder/run-inspector,@/lib/local/workflow-drafts,@/lib/workflows/phase1,next/link,next/navigation,react",
      "lines": 273,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(builder)/builder/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8fa4f2ec70885d7b86f3a663",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InspectPage | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "InspectPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "915cf99314dc3db9",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(builder)/builder/[id]/inspect/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "db511404c02debb9c27a8bc0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PublishPage | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PublishPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d9815ddbe0d48ec7",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(builder)/builder/[id]/publish/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a796e500d5bc77a3e664406a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunPage | imports:@/lib/local/workflow-drafts, @/lib/workflows/phase1, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RunPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d3a251dfd5ceb66",
      "framework": "next-react",
      "imports": "@/lib/local/workflow-drafts,@/lib/workflows/phase1,next/link,react",
      "lines": 248,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(builder)/builder/[id]/run/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "ae6dc4080f43a7833f8829d4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/button, @/components/ui/card, @/lib/db/client, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec88a88f810d740c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/db/client,next/link",
      "lines": 199,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b52e56b2fd131c4a51a50c51",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/lib/db/client, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eab53ab468a4b75c",
      "framework": "next-react",
      "imports": "@/lib/db/client,next",
      "lines": 107,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/changelog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9f10f7474575bdd42f6a2e54",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignupPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignupPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50e1bff1f2b9dc96",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,next/link,next/navigation,react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/signup/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "94fa364dca9fbd04e56c7038",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db/client, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28a4d175eafe3fbf",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db/client,next,next/link",
      "lines": 97,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "723b95861ec6d80d4f80b786",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesPage, metadata | imports:@/components/ui/button, @/components/ui/card, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FeaturesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7150d08cf32424f6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,next,next/link",
      "lines": 175,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/features/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b4249994743908de38ded3e7",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RequestAccessPage | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "RequestAccessPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f71d8765837173cf",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/request-access/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "b25e58b5520b58bba6e782b8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f8747854f42715fb",
      "framework": "next-react",
      "imports": "next,next/link",
      "lines": 112,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "0109a9b0ec3526a75081c851",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/lib/db/client, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d655a026f58d230",
      "framework": "next-react",
      "imports": "@/lib/db/client,next,next/link",
      "lines": 95,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/templates/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "77c21fe18fc0e33f77aa893d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "678335b0885443df",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,next/link,next/navigation,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1e8ada8f3cb7e440ded04e71",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/env | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9d7bca4813ba70a8",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,ui,observability",
      "component_id": "85a1e6ea5af017c0a380e1e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client | backend-score:125 | ui-score:70 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a52a41f3d92c8c1",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ui/summary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "243ae3bf55fab5fc81dd100b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, @/lib/workflows/phase1, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7fd303c21b35c53b",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,@/lib/workflows/phase1,next/server,uuid",
      "lines": 124,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6191ded1a68d102489e67b57",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, @/lib/workflows/phase1, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "860d4a8bc6c88f7d",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,@/lib/workflows/phase1,next/server,uuid",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend",
      "component_id": "05d7a6f223673ddd62aff06f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client, @/lib/mcp/tools, next/server, uuid | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3cfbd033d611b86b",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client,@/lib/mcp/tools,next/server,uuid",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "bc4cd629cba257f6371674fe",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "daa0c3f946251f33",
      "framework": "next-react",
      "imports": "@/app/api/health/route,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend",
      "component_id": "63e7c290944dd085cab5a3f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client, @/lib/mcp/resources, next/server, uuid | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "da08cb9576ec9e06",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client,@/lib/mcp/resources,next/server,uuid",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/resources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "4ddb35f905d65746ea8f75f6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c4ad18004da68be9",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "b2321ad0aed048fee8924aa2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef8f33d4df292772",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,process,frontend,observability,security",
      "component_id": "76348d6bf02c9173effbff9c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | automation-score:95 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8383e052a61de549",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/dry-run/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,process,frontend,automation",
      "component_id": "73e37693909e916d4d979cfc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/db/workflow-registry, @/lib/workflows/phase1, next/server | backend-score:125 | process-score:80 | frontend-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c850b256ec308381",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/workflow-registry,@/lib/workflows/phase1,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "7d105e1267a6613e6674afc2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eb655e631823bfbf",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/versions/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "eb53764acf3ef4f258c83b26",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4520488a45e03b92",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/publish/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,process,frontend,observability,security",
      "component_id": "c1d9609889ec8a42dc6c8fe0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | automation-score:95 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2cff06f4c161e2ff",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "539ab3de935ad7b30cf64ffb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreateApiKeySchema, GET, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/cosmic/claws-client, @/lib/cosmic/key-generator, @/lib/cosmic/trace-client, @/lib/db/client, crypto, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CreateApiKeySchema,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "22123bd3993b0b78",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/cosmic/claws-client,@/lib/cosmic/key-generator,@/lib/cosmic/trace-client,@/lib/db/client,crypto,next/server,zod",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/api-keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "f264fe1ec63d9440eb6b1096",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid,zod",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, PublishSchema | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/config/env, @/lib/db/client, next/server, uuid, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST,PublishSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c5bc47c35fb2447d",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/config/env,@/lib/db/client,next/server,uuid,zod",
      "lines": 105,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/publish/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "990a50b64360bcb81b13304b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client, @/lib/mcp/prompts, next/server, uuid | backend-score:125 | ai-score:120 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "091308037ba8574d",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client,@/lib/mcp/prompts,next/server,uuid",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/prompts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "f0618ea058eb416482c16827",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/workflow-registry | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "98b77baba2977e0d",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/workflow-registry",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend",
      "component_id": "5c4a6c20a648edba320ee787",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/workflow-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7b42d4516dae1893",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/workflow-registry,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "c9099136dc779f929fcb13d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/workflow-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "658f0e8699733961",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/workflow-registry,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[id]/instantiate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "7579ec9f86b8c16847c361ac",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72b883899eacfa2d",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/approvals/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "98e779c6f353166c1de9c6e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dae1821cd0d026d8",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/approvals/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "090ea722d7bf30d53aa40ec0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0be8855962375d81",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/approvals/[id]/reject/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "a97d4bdc1bb9ac7e86816d64",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf9ae547c35ca789",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/approvals/[id]/approve/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "2630d421cc3b178b61e7f710",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreateRunSchema, GET, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, @/lib/db/workflow-registry, @/lib/workflows/phase1, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "CreateRunSchema,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c3438c70632f096",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,@/lib/db/workflow-registry,@/lib/workflows/phase1,next/server,zod",
      "lines": 141,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "856383c45a1dea773c820a42",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, @/lib/workflows/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7afb9bfa4bfd9d10",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,@/lib/workflows/phase1,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "7b662d8a829494c00c40ab13",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb1ad6e69315dc22",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "28069d975ba7a88626a91d61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b170e82a83e4478e",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/artifacts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "feff795bf08f0b2a12346315",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d972aa31b8610202",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "8dc1d34b5661e2508198872b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, @/lib/workflows/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "264f2f5d21cc4d74",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,@/lib/workflows/phase1,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/steps/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "daf68c5cea7176d55c3e48fb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/api/v1/workflows/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f01b66a60d7560a6",
      "framework": "next-react",
      "imports": "@/app/api/v1/workflows/route,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/flows/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "e222b86a23d1ca785231ff75",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/db/client, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "03b5f38cf1fa7e66",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/db/client,next/server,uuid",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "78f1ab6c2b81dbb73113052e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07c89ca38d665eff",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/db/client,next/server",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/services/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "353faf9e47191abc2045c7de",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth/password, @/lib/auth/session, @/lib/db/client, crypto, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36c9daf89b556c04",
      "framework": "next-react",
      "imports": "@/lib/auth/password,@/lib/auth/session,@/lib/db/client,crypto,next/server,zod",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/signup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "31de505a046f53c44f2f7565",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4b24e89bdf6f19dc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/logout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "28cbbf2c94213de9a8ec8d48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth/session, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4836f5522de9c542",
      "framework": "next-react",
      "imports": "@/lib/auth/session,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/me/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "346c59983253f434d5b5b231",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth/password, @/lib/auth/session, @/lib/db/client, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b4f51af6c92ee71",
      "framework": "next-react",
      "imports": "@/lib/auth/password,@/lib/auth/session,@/lib/db/client,next/server,zod",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/login/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ab98c33860cb2027d78892e0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8a8c234a98ec6493",
      "framework": "next-react",
      "imports": "next/server,uuid",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "ae5c3262e721cea0e4bc513a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, McpError, OPTIONS, POST | imports:@/lib/api/response, @/lib/auth/platform-key, @/lib/config/env, @/lib/db/workflow-registry, @/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/server, @/lib/mcp/tools | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,McpError,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d5bd754fd2da251d",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/auth/platform-key,@/lib/config/env,@/lib/db/workflow-registry,@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/server,@/lib/mcp/tools,@/lib/workflows/phase1",
      "lines": 614,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,observability,security,discovery",
      "component_id": "f3b7860ef28a3612e9b16321",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/response, @/lib/config/service | backend-score:125 | process-score:80 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "97564e07c353dc44",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/config/service",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery",
      "component_id": "7e00f72ad3eb86b3c62a8f56",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/env | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a68e964eff8ba48d",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "3da2660f1d1e85c28bc64aeb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/env, @/lib/db/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b37b6ee973877f43",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/db/client,next/server",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "75c599d17da072f92ecb1a58",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/manifest | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "16a1cac359728b9d",
      "framework": "next-react",
      "imports": "@/lib/standards/manifest",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "651c6632d7ac89501a07815f",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/cosmic/cuid, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91e7c1169e238d16",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,vitest",
      "lines": 8,
      "logic_relevance": "none",
      "name": "smoke.test",
      "normalized_name": "smoke",
      "package_manager": "pnpm",
      "path": "tests/smoke.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "d3b41e4943bc7bc5c728d1ac",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d10140b3fdead9b2",
      "framework": "next-react",
      "imports": "@testing-library/react,react,vitest",
      "lines": 64,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "daf97c5dcd05c16f418e34fa",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/button, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f55d9ece50199222",
      "framework": "next-react",
      "imports": "@/components/ui/button,@testing-library/react,vitest",
      "lines": 76,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "tests/components/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "6ee914aeb1e12fb3384335c2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/builder/flow-canvas, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "37da56fa09f35b28",
      "framework": "next-react",
      "imports": "@/components/builder/flow-canvas,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 133,
      "logic_relevance": "none",
      "name": "flow-canvas.test",
      "normalized_name": "flow-canvas",
      "package_manager": "pnpm",
      "path": "tests/components/flow-canvas.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "96d4fbfdca533c4879597061",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,swr,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/observability/live-run-monitor, @testing-library/react, react, swr, vitest | frontend-score:115 | ui-score:70 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85a7311fbf4cf787",
      "framework": "next-react",
      "imports": "@/components/observability/live-run-monitor,@testing-library/react,react,swr,vitest",
      "lines": 110,
      "logic_relevance": "none",
      "name": "run-activity-feed.test",
      "normalized_name": "run-activity-feed",
      "package_manager": "pnpm",
      "path": "tests/components/run-activity-feed.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "180938f2b43f92d032f42b39",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeConsumer | imports:@/components/providers/theme-provider, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "ThemeConsumer",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2ac72c4383bd60de",
      "framework": "next-react",
      "imports": "@/components/providers/theme-provider,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 204,
      "logic_relevance": "none",
      "name": "theme-provider.test",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "tests/components/theme-provider.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "102452785feb11282773ef27",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/input, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c67a1ed971ff1826",
      "framework": "next-react",
      "imports": "@/components/ui/input,@testing-library/react,vitest",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input.test",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "tests/components/input.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2a3a53254b5dbf2dad87bdba",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/card, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8d9a27892d59f61a",
      "framework": "next-react",
      "imports": "@/components/ui/card,@testing-library/react,vitest",
      "lines": 101,
      "logic_relevance": "none",
      "name": "card.test",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "tests/components/card.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f899493ec642c1d33236fdca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:TestComponent, ToastTestComponent | imports:../../components/ui/toast, @testing-library/react, react, vitest | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "TestComponent,ToastTestComponent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "439793b80689c175",
      "framework": "next-react",
      "imports": "../../components/ui/toast,@testing-library/react,react,vitest",
      "lines": 138,
      "logic_relevance": "none",
      "name": "toast.test",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "tests/components/toast.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cf7c5e80b2a1c30cba51115e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Child, SafeComponent, ThrowError, WrappedComponent, Wrapper | imports:@/components/error-boundary, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Child,SafeComponent,ThrowError,WrappedComponent,Wrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de8be0f7ad7ad739",
      "framework": "next-react",
      "imports": "@/components/error-boundary,@testing-library/react,react,vitest",
      "lines": 177,
      "logic_relevance": "none",
      "name": "error-boundary.test",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "tests/components/error-boundary.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "4d98bc9cf5854858348e5487",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/footer, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab195f94f979f267",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@testing-library/react,vitest",
      "lines": 48,
      "logic_relevance": "none",
      "name": "footer.test",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "tests/components/footer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "f4533be91825f792cf7b2090",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:TestComponent | imports:@/components/ui/toast, @testing-library/react, react, vitest | ui-score:140 | frontend-score:115",
      "exports": "TestComponent",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c1fbbd6f803cdcf7",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@testing-library/react,react,vitest",
      "lines": 139,
      "logic_relevance": "none",
      "name": "toast.test",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "tests/components/ui/toast.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2fda67a0291d47a7cb15f816",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,next,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/command-palette, @testing-library/react, @testing-library/user-event, next/navigation, vitest | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b72a166ce3bc1cc",
      "framework": "next-react",
      "imports": "@/components/layout/command-palette,@testing-library/react,@testing-library/user-event,next/navigation,vitest",
      "lines": 170,
      "logic_relevance": "none",
      "name": "command-palette.test",
      "normalized_name": "command-palette",
      "package_manager": "pnpm",
      "path": "tests/components/layout/command-palette.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "431c08503e37ce72f9c1f81e",
      "component_kind": "ui-provider",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/providers/theme-provider, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3862153fe13a4307",
      "framework": "next-react",
      "imports": "@/components/providers/theme-provider,@testing-library/react,vitest",
      "lines": 153,
      "logic_relevance": "none",
      "name": "theme-provider.test",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "tests/components/providers/theme-provider.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "794bcb2886337dd4ef3f7515",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,swr,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/observability/live-run-monitor, @testing-library/react, react, swr, vitest | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f74b5dcb2f7dad8",
      "framework": "next-react",
      "imports": "@/components/observability/live-run-monitor,@testing-library/react,react,swr,vitest",
      "lines": 190,
      "logic_relevance": "none",
      "name": "live-run-monitor.test",
      "normalized_name": "live-run-monitor",
      "package_manager": "pnpm",
      "path": "tests/components/observability/live-run-monitor.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "0508937cac5067b8ae3dfefd",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/registry/tool-browser, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7f5d0af3d768d05",
      "framework": "next-react",
      "imports": "@/components/registry/tool-browser,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 74,
      "logic_relevance": "none",
      "name": "tool-browser.test",
      "normalized_name": "tool-browser",
      "package_manager": "pnpm",
      "path": "tests/components/registry/tool-browser.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "531ef744dda7e7366a048121",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/builder/run-inspector, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07a57870665e7d12",
      "framework": "next-react",
      "imports": "@/components/builder/run-inspector,@testing-library/react,vitest",
      "lines": 74,
      "logic_relevance": "none",
      "name": "run-inspector.test",
      "normalized_name": "run-inspector",
      "package_manager": "pnpm",
      "path": "tests/components/builder/run-inspector.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "9828f852b2fec0e1562316aa",
      "component_kind": "editor-feature",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/editor/lightweight-editor, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "195bb723891e7b18",
      "framework": "next-react",
      "imports": "@/components/editor/lightweight-editor,@testing-library/react,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "lightweight-editor.test",
      "normalized_name": "lightweight-editor",
      "package_manager": "pnpm",
      "path": "tests/components/editor/lightweight-editor.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "80469270aa8b8cb1ce9c9c31",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockDynamicComponent | imports:@/components/editor/monaco-editor-client, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "MockDynamicComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c23d66c7449f2c9e",
      "framework": "next-react",
      "imports": "@/components/editor/monaco-editor-client,@testing-library/react,vitest",
      "lines": 33,
      "logic_relevance": "none",
      "name": "monaco-editor-client.test",
      "normalized_name": "monaco-editor-client",
      "package_manager": "pnpm",
      "path": "tests/components/editor/monaco-editor-client.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "e89f33eb2c85e303c28fa6d6",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bf5ea0544c51583c",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,logic,ui,security",
      "component_id": "f5e4a7e246e776977b0f3add",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/auth/session, @/lib/db/client, next/headers, vitest | frontend-score:90 | logic-score:70 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ef82a158e146cda",
      "framework": "next-react",
      "imports": "@/lib/auth/session,@/lib/db/client,next/headers,vitest",
      "lines": 69,
      "logic_relevance": "secondary",
      "name": "session-cache.test",
      "normalized_name": "session-cache",
      "package_manager": "pnpm",
      "path": "tests/lib/auth/session-cache.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "fa98e43c1cd835ceadee8356",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/mcp.json/route, @/app/.well-known/network-manifest.json/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6f05ecfff1ec7a35",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json/route,@/app/.well-known/network-manifest.json/route,vitest",
      "lines": 43,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "tests/api/well-known.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "da6e083c9faf459272effdc5",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "508240e0af57e540",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,vitest",
      "lines": 147,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "tests/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "96570ab15dcc3687f7541c40",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/api-keys/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6cef0a27eb51e677",
      "framework": "next-react",
      "imports": "@/app/api/v1/api-keys/route,next/server,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "api-keys-security.test",
      "normalized_name": "api-keys-security",
      "package_manager": "pnpm",
      "path": "tests/api/api-keys-security.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "1c9150a432055a2aaec04e06",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/prompts/route, @/app/api/v1/publish/route, @/app/api/v1/resources/route, @/app/api/v1/runs/route, @/app/api/v1/services/route, @/app/api/v1/stats/runs/route, @/app/api/v1/traces/route, @/app/api/v1/workflows/route | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0214771bf0818c73",
      "framework": "next-react",
      "imports": "@/app/api/v1/prompts/route,@/app/api/v1/publish/route,@/app/api/v1/resources/route,@/app/api/v1/runs/route,@/app/api/v1/services/route,@/app/api/v1/stats/runs/route,@/app/api/v1/traces/route,@/app/api/v1/workflows/route,next/server,vitest",
      "lines": 77,
      "logic_relevance": "none",
      "name": "public-access.test",
      "normalized_name": "public-access",
      "package_manager": "pnpm",
      "path": "tests/api/public-access.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security,discovery,process",
      "component_id": "1321abd0c58f852691852230",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cd041057b426d639",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "tests/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "390e56c3f982e3463c7278f9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,crypto,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/api-keys/route, @/lib/db/client, crypto, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9b319543c6082ab8",
      "framework": "next-react",
      "imports": "@/app/api/v1/api-keys/route,@/lib/db/client,crypto,next/server,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "api-keys.test",
      "normalized_name": "api-keys",
      "package_manager": "pnpm",
      "path": "tests/api/api-keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "4db9d826ebb50170f53f812f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/tools/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1768331809029a27",
      "framework": "next-react",
      "imports": "@/app/api/v1/tools/route,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "tools.test",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "tests/api/tools.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1be7e3cebd442a63a221ef5f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2269d671f77af881",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a8e206edfb1051b283deeabc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/auth/login/route, @/lib/auth/password, @/lib/auth/session, @/lib/db/client, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36fc9bda88869a52",
      "framework": "next-react",
      "imports": "@/app/api/auth/login/route,@/lib/auth/password,@/lib/auth/session,@/lib/db/client,next/server,vitest",
      "lines": 98,
      "logic_relevance": "none",
      "name": "login.test",
      "normalized_name": "login",
      "package_manager": "pnpm",
      "path": "tests/api/auth/login.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "fc3071dd93b6cb9b88684ced",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/auth/signup/route, @/lib/auth/password, @/lib/auth/session, @/lib/db/client, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7db85a9bbc14bc44",
      "framework": "next-react",
      "imports": "@/app/api/auth/signup/route,@/lib/auth/password,@/lib/auth/session,@/lib/db/client,next/server,vitest",
      "lines": 93,
      "logic_relevance": "none",
      "name": "signup.test",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "tests/api/auth/signup.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "b54c389be6358054f29ab509",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f4179f2baa9d71a8",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "9f8481535d549230559078e9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "441b25232d6e341d",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "NETWORK_ALIGNMENT",
      "normalized_name": "network-alignment",
      "package_manager": "pnpm",
      "path": "docs/NETWORK_ALIGNMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "f371eb5459caa1f698f5d3c9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e05ffc60ded9652",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "FEATURES",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "docs/FEATURES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "83dbeb48a8cef9f2c609c0ca",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5907b5546d7e3218",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "TOOL_FLOW_DIAGRAM",
      "normalized_name": "tool-flow-diagram",
      "package_manager": "pnpm",
      "path": "docs/TOOL_FLOW_DIAGRAM.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5b2c4dbea2ce813b76cd9a57",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary, withErrorBoundary | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ErrorBoundary,withErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44ab2c926d2e179d",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 91,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7023ba5edbe342a90d2fb0ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "414bb52b7cd77440",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8136552053f67d1856889aa2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f38cadab541831ae",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 70,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0a0bb684ae081ce3c247d65c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2faab3581e350535",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "90e6a229b5ec6bf6387f33ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Avatar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "76eb73bbb169b399",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "11cdd8cd4e6b36116d27e382",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Dialog,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3ef80f5d814a0f7b",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b06afbd6f25c44a52854c4de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Badge,BadgeProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1eb6e458e42a460e",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability",
      "component_id": "a66a9f0196da2a272f790e35",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader | imports:./avatar, ./badge, ./button, ./card, ./dialog, ./input, ./select, ./skeleton | ui-score:70 | observability-score:55",
      "exports": "Avatar,Badge,Button,Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle,Dialog,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogTitle,DialogTrigger,Input,Select,Skeleton,SkeletonCard,SkeletonTable,Spinner,Tabs,TabsContent,TabsList,TabsTrigger,ToastProvider,Tooltip,type BadgeProps,type ButtonProps,type InputProps,type SelectOption,type SelectProps,type Toast,useToast",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cd4a53cd40d10b48",
      "framework": "next-react",
      "imports": "./avatar,./badge,./button,./card,./dialog,./input,./select,./skeleton,./spinner,./tabs,./toast,./tooltip",
      "lines": 13,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b3b86fcbfc0c49a855c751c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Button,ButtonProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a3a29abb9163c173",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c473afb8e2b792e4c8fa1ce8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastProvider, useToast | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Toast,ToastProvider,useToast",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c32b915f6d4ede47",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5085c05ff9160f1822d2ec05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1c1706bd03aa317e",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "6ea602b1b4650061b988986b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectOption, SelectProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Select,SelectOption,SelectProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7983e90fcccd6248",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1e603d28e802c44d53259b3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input, InputProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input,InputProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "524316eab4e9702b",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend,security",
      "component_id": "bacc83fb5f20945b5ea1c380",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton, SkeletonCard, SkeletonTable | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Skeleton,SkeletonCard,SkeletonTable",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1022e72664bff29d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "73b900bb2b5eea4a2bbfaa57",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileMenu | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MobileMenu",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4afa7ebd2a5a484d",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "mobile-menu",
      "normalized_name": "mobile-menu",
      "package_manager": "pnpm",
      "path": "components/layout/mobile-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d2e81155c97bac406cd4525a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommandPalette | imports:@/lib/utils, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommandPalette",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7124f1b496a46c43",
      "framework": "next-react",
      "imports": "@/lib/utils,next/navigation,react",
      "lines": 286,
      "logic_relevance": "none",
      "name": "command-palette",
      "normalized_name": "command-palette",
      "package_manager": "pnpm",
      "path": "components/layout/command-palette.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e77f98a6fd8886332232bed3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bdbc41ceb979a553",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 119,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "37dcdd5750f44baabe64066c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserMenu | imports:@/lib/utils, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "UserMenu",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "554fd3b921ababaf",
      "framework": "next-react",
      "imports": "@/lib/utils,next/link,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "user-menu",
      "normalized_name": "user-menu",
      "package_manager": "pnpm",
      "path": "components/layout/user-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "79c817cb32dc921067728fab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchTrigger | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SearchTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7df8b71ec5e4fbd2",
      "framework": "next-react",
      "imports": "react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "search-trigger",
      "normalized_name": "search-trigger",
      "package_manager": "pnpm",
      "path": "components/layout/search-trigger.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1bd39cfb86218f8ea9c16218",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarLayout | imports:@/lib/utils, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarLayout",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "51a0d5fdf2a7edbe",
      "framework": "next-react",
      "imports": "@/lib/utils,next/link,next/navigation,react",
      "lines": 274,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c85c2a494f9d223734db252e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:./mobile-menu, ./search-trigger, ./user-menu, @/components/providers/theme-provider, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57b251abd5cf2f71",
      "framework": "next-react",
      "imports": "./mobile-menu,./search-trigger,./user-menu,@/components/providers/theme-provider,next/link,next/navigation,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "79492f207cf79e83878a21c0",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider, ThemeToggle, useTheme | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ThemeProvider,ThemeToggle,useTheme",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ab6e87bdb4388372",
      "framework": "next-react",
      "imports": "react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/providers/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "02408a6332a0d3c228faea21",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveRunMonitor, RunActivityFeed, RunStats | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LiveRunMonitor,RunActivityFeed,RunStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2b2dea88415e664",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,next/link,react,swr",
      "lines": 267,
      "logic_relevance": "none",
      "name": "live-run-monitor",
      "normalized_name": "live-run-monitor",
      "package_manager": "pnpm",
      "path": "components/observability/live-run-monitor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "46de200456d95f04fed3b16d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolBrowser | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ToolBrowser",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6f0f897357063b1e",
      "framework": "next-react",
      "imports": "react",
      "lines": 282,
      "logic_relevance": "none",
      "name": "tool-browser",
      "normalized_name": "tool-browser",
      "package_manager": "pnpm",
      "path": "components/registry/tool-browser.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "35ae58f29ab0d9bba45b02bc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunInspector | imports:@/lib/local/workflow-drafts, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RunInspector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7aa36dadb0ce8caf",
      "framework": "next-react",
      "imports": "@/lib/local/workflow-drafts,next/link,react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "run-inspector",
      "normalized_name": "run-inspector",
      "package_manager": "pnpm",
      "path": "components/builder/run-inspector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "21f927e108038ed4ed35837b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FlowCanvas | imports:@/lib/workflows/phase1, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FlowCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2b49ec8a3697d3b",
      "framework": "next-react",
      "imports": "@/lib/workflows/phase1,react",
      "lines": 613,
      "logic_relevance": "none",
      "name": "flow-canvas",
      "normalized_name": "flow-canvas",
      "package_manager": "pnpm",
      "path": "components/builder/flow-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "ba01e2eeef07d30d9ed9a183",
      "component_kind": "editor-feature",
      "confidence": 95,
      "dependency_roots": "@monaco-editor/react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:MonacoEditorClient | imports:@monaco-editor/react, next/dynamic | frontend-score:115 | ui-score:55",
      "exports": "MonacoEditorClient",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "52040972fce6f151",
      "framework": "next-react",
      "imports": "@monaco-editor/react,next/dynamic",
      "lines": 8,
      "logic_relevance": "none",
      "name": "monaco-editor-client",
      "normalized_name": "monaco-editor-client",
      "package_manager": "pnpm",
      "path": "components/editor/monaco-editor-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "c023e478dceff099dfcd29d0",
      "component_kind": "editor-feature",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:LightweightEditor | frontend-score:85 | ui-score:55",
      "exports": "LightweightEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0ecf026d9052187",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "lightweight-editor",
      "normalized_name": "lightweight-editor",
      "package_manager": "pnpm",
      "path": "components/editor/lightweight-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "69b5d89ec5aa295022ff8f10",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b206e53d9e9b382f",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "3ac565cda5607a278a0d786c",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "809ceac9e0bd7be5",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "testing",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": ".jules/testing.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "3b2491606201c351d2fc71da",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "327a28a702db0d8f",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "pre_commit",
      "normalized_name": "pre-commit",
      "package_manager": "pnpm",
      "path": ".jules/pre_commit.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "055512b602df796b1a96bfb8",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f336805117acc3fb",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,observability,automation",
      "component_id": "5de57d1ca0464c867102df86",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "227e6f93cceccdd8",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6363fce1c0c927289972366e",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useAsync, useFormSubmit, useRetry | imports:react | observability-score:55",
      "exports": "useAsync,useFormSubmit,useRetry",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54f3882b7603c4ac",
      "framework": "next-react",
      "imports": "react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "use-async",
      "normalized_name": "use-async",
      "package_manager": "pnpm",
      "path": "hooks/use-async.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dc5ab30e632b86cea434f997",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useLocalStorage, useSessionStorage | imports:react | security-score:55",
      "exports": "useLocalStorage,useSessionStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c4476857b12d69bf",
      "framework": "next-react",
      "imports": "react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "use-local-storage",
      "normalized_name": "use-local-storage",
      "package_manager": "pnpm",
      "path": "hooks/use-local-storage.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "074454a4c1a843de16400eaa",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless,fs,path,url",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, fs/promises, path, url | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "7e2e450f163d7f2d",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,fs/promises,path,url",
      "lines": 65,
      "logic_relevance": "none",
      "name": "run-migrations",
      "normalized_name": "run-migrations",
      "package_manager": "pnpm",
      "path": "scripts/run-migrations.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "1375033a9f52157a39a7a792",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "492e71419fd24785",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "seed",
      "normalized_name": "seed",
      "package_manager": "pnpm",
      "path": "scripts/seed.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "699e9faae91d9b964b55bb11",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "58dd34bfe19d89f5",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "run-inspector",
      "normalized_name": "run-inspector",
      "package_manager": "pnpm",
      "path": "scripts/run-inspector.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "0ea63e46ec8b5b7f237d62c9",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,crypto,tailwind-merge",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, debounce, formatNumber, formatRelativeTime, generateId, isClient, sleep, truncate | imports:clsx, crypto, tailwind-merge | logic-score:85",
      "exports": "cn,debounce,formatNumber,formatRelativeTime,generateId,isClient,sleep,truncate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ed887fb9a80739d4",
      "framework": "next-react",
      "imports": "clsx,crypto,tailwind-merge",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security,logic",
      "component_id": "e34b5752c261b92ec29b6090",
      "component_kind": "security-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:policy | security-score:55 | logic-score:45",
      "exports": "policy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "702b2c6869096a90",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "policy",
      "normalized_name": "policy",
      "package_manager": "pnpm",
      "path": "lib/config/policy.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "51f021cd1e2e58dda0ca2903",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:env | logic-score:70 | observability-score:55 | uses-env",
      "exports": "env",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b2e8d8018dfe464",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/config/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,logic,automation",
      "component_id": "1345e4d0178825b7190bf266",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:serviceConfig | imports:@/lib/config/env | backend-score:55 | observability-score:55 | logic-score:45 | automation-score:45",
      "exports": "serviceConfig",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8473c2cca5324f0",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "pnpm",
      "path": "lib/config/service.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "dc6ae341429e610d9ca0d958",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:checkRateLimit, generateCSRFToken, isStrongPassword, isValidEmail, isValidURL, sanitizeHTML, sanitizeInput, verifyCSRFToken | logic-score:85 | security-score:55",
      "exports": "checkRateLimit,generateCSRFToken,isStrongPassword,isValidEmail,isValidURL,sanitizeHTML,sanitizeInput,verifyCSRFToken",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c74af3f7fa7cfe93",
      "framework": "next-react",
      "imports": "",
      "lines": 131,
      "logic_relevance": "primary",
      "name": "sanitization",
      "normalized_name": "sanitization",
      "package_manager": "pnpm",
      "path": "lib/security/sanitization.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "6449417771203559b6ba3631",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DIGEST, ITERATIONS, KEY_LENGTH, SALT_LENGTH | imports:crypto | logic-score:60 | security-score:55",
      "exports": "DIGEST,ITERATIONS,KEY_LENGTH,SALT_LENGTH",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0b73e0b9292355bf",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 30,
      "logic_relevance": "primary",
      "name": "password",
      "normalized_name": "password",
      "package_manager": "pnpm",
      "path": "lib/auth/password.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f47489b47c04ee6e2991a85a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getProvidedPlatphormApiKey, isValidPlatphormApiKey, isValidPlatphormRequest | imports:next/server | logic-score:85 | security-score:55 | uses-env",
      "exports": "getProvidedPlatphormApiKey,isValidPlatphormApiKey,isValidPlatphormRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5fbeeb0b32ee32c5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "platform-key",
      "normalized_name": "platform-key",
      "package_manager": "pnpm",
      "path": "lib/auth/platform-key.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "22333dfee4060080f09b7b11",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next,react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Session, User, generateSessionToken, getCurrentUser, getSessionFromCookies, setSessionCookie | imports:@/lib/db/client, crypto, next/headers, react | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Session,User,generateSessionToken,getCurrentUser,getSessionFromCookies,setSessionCookie",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "007e09c9f8673d5c",
      "framework": "next-react",
      "imports": "@/lib/db/client,crypto,next/headers,react",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "session",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "lib/auth/session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "c9bb665413ee2b1a997be4a2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateApiKey | imports:@/lib/config/env, node:crypto | logic-score:60 | security-score:55",
      "exports": "generateApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "54a8cd8e427a7ed4",
      "framework": "next-react",
      "imports": "@/lib/config/env,node:crypto",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "key-generator",
      "normalized_name": "key-generator",
      "package_manager": "pnpm",
      "path": "lib/cosmic/key-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "4fbeee5bf9bde638fb8ff809",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ff771e04ff95784",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "trace-client",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/trace-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "7b939ea251b990a5f9494208",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintContext, getFingerprintContext | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "FingerprintContext,getFingerprintContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eba4d4002dced44d",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/cosmic/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "aa403762574bfdfc30f2a7b6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:makeCosmicId | imports:@/lib/config/env, node:crypto | logic-score:60",
      "exports": "makeCosmicId",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92b643e268c180c4",
      "framework": "next-react",
      "imports": "@/lib/config/env,node:crypto",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "cuid",
      "normalized_name": "cuid",
      "package_manager": "pnpm",
      "path": "lib/cosmic/cuid.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "91c5409c922c13064ad11df6",
      "component_kind": "business-logic",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b774cd21b587cacb",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "claws-client",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/claws-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "4a8bb5ec21a033f7f54ae1f9",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getLlmsText | imports:@/lib/config/service | logic-score:60 | observability-score:55 | discovery-score:55",
      "exports": "getLlmsText",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a2694a553ba0fad",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "lib/discovery/llms.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "e8032d67b86ed744aefbbd4a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getNetworkManifest | imports:@/lib/config/service | logic-score:60 | observability-score:55 | discovery-score:55",
      "exports": "getNetworkManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d41e0395ecb2e26f",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "network-manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "lib/discovery/network-manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,process,observability,security,ai",
      "component_id": "337de098a6075b78d6efe7a5",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BUILT_IN_WORKFLOW_TEMPLATES, WORKFLOW_NODE_TYPES, WorkflowEdge, WorkflowExecutionResult, WorkflowNode, WorkflowNodeType, WorkflowRunStatus, WorkflowRunStepResult | automation-score:95 | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BUILT_IN_WORKFLOW_TEMPLATES,WORKFLOW_NODE_TYPES,WorkflowEdge,WorkflowExecutionResult,WorkflowNode,WorkflowNodeType,WorkflowRunStatus,WorkflowRunStepResult,WorkflowTemplateRecord,WorkflowValidationResult,createTraceId,executeWorkflowLocally,isWorkflowNodeType,makeEdge,makeNode,normalizeWorkflowEdge,normalizeWorkflowNode,redactSecrets,validateWorkflowGraph",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a2ac563993424c62",
      "framework": "next-react",
      "imports": "",
      "lines": 515,
      "logic_relevance": "secondary",
      "name": "phase1",
      "normalized_name": "phase1",
      "package_manager": "pnpm",
      "path": "lib/workflows/phase1.ts",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security",
      "component_id": "b734d2e978c49eda5f8713e4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpResourceDefinition, mcpResourceDefinitions, mcpResources | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "McpResourceDefinition,mcpResourceDefinitions,mcpResources",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aaa584de51a4d0e2",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "resources",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,integration,observability,security",
      "component_id": "48739ff49b3988425b1c3e74",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:McpPromptDefinition, mcpPromptDefinitions, mcpPrompts | ai-score:120 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "McpPromptDefinition,mcpPromptDefinitions,mcpPrompts",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c3b479683f0a1033",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "455cf9a273a393ced9b37441",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpToolDefinition, mcpToolDefinitions, mcpTools | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "McpToolDefinition,mcpToolDefinitions,mcpTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ddc5e8ba7ff0621c",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,security,ai",
      "component_id": "dbb67b6f34fc213fc50db0b5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getMcpServerManifest | imports:@/lib/config/env, @/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/tools | logic-score:85 | backend-score:55 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "getMcpServerManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "700d71ed7f01b4de",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/tools",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/mcp/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,process,observability,security",
      "component_id": "9ca4a162f8887085b3049831",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalWorkflowDraft, createLocalWorkflowDraft, isLocalWorkflowId | imports:@/lib/workflows/phase1 | logic-score:85 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "LocalWorkflowDraft,createLocalWorkflowDraft,isLocalWorkflowId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "761316ec8bf2b277",
      "framework": "next-react",
      "imports": "@/lib/workflows/phase1",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "workflow-drafts",
      "normalized_name": "workflow-drafts",
      "package_manager": "pnpm",
      "path": "lib/local/workflow-drafts.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,backend,observability,security,automation",
      "component_id": "507f90172b7625dbfe484df7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WorkflowRecord, WorkflowStatus, WorkflowStorageMode, WorkflowSyncStatus, WorkflowVisibility, executeWorkflowRun, normalizeWorkflowRow | imports:@/lib/db/client, @/lib/workflows/phase1 | logic-score:85 | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkflowRecord,WorkflowStatus,WorkflowStorageMode,WorkflowSyncStatus,WorkflowVisibility,executeWorkflowRun,normalizeWorkflowRow",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ea7a43cf982a0aed",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/workflows/phase1",
      "lines": 421,
      "logic_relevance": "primary",
      "name": "workflow-registry",
      "normalized_name": "workflow-registry",
      "package_manager": "pnpm",
      "path": "lib/db/workflow-registry.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "9bbb12df977e66ee9341c898",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiKeysRepo, approvalsRepo, flowsRepo, promptsRepo, resourcesRepo, runsRepo, servicesRepo, sessionsRepo | imports:./client, ./types | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "apiKeysRepo,approvalsRepo,flowsRepo,promptsRepo,resourcesRepo,runsRepo,servicesRepo,sessionsRepo,templatesRepo,toolsRepo,usersRepo",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bd1f952bef8a4a70",
      "framework": "next-react",
      "imports": "./client,./types",
      "lines": 627,
      "logic_relevance": "primary",
      "name": "repositories",
      "normalized_name": "repositories",
      "package_manager": "pnpm",
      "path": "lib/db/repositories.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "21347f9cb174fd0bad411422",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiKey, Approval, Flow, FlowDefinition, FlowEdge, FlowNode, FlowRun, NetworkService | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ApiKey,Approval,Flow,FlowDefinition,FlowEdge,FlowNode,FlowRun,NetworkService,PromptRegistryEntry,ResourceRegistryEntry,Session,Template,ToolRegistryEntry,User",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f0a24be366fdcd11",
      "framework": "next-react",
      "imports": "",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/db/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "3215e124062dd1c57e03172f",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getSql | imports:@neondatabase/serverless | backend-score:90 | logic-score:60 | uses-env",
      "exports": "getSql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7480152425c77842",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/db/client.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic",
      "component_id": "aaa22f7090d4336bf92f7d6b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "zod",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:requestAccessSchema | imports:zod | backend-score:90 | logic-score:70",
      "exports": "requestAccessSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ada7607432f77aa4",
      "framework": "next-react",
      "imports": "zod",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "pnpm",
      "path": "lib/api/validation.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "68da7027928eb9281b2c5895",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildCorrelation | imports:@/lib/cosmic/cuid, @/lib/cosmic/fingerprint | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "buildCorrelation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "787571041290df45",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/cosmic/fingerprint",
      "lines": 14,
      "logic_relevance": "primary",
      "name": "correlation",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/api/correlation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "03dddf7654eead7a66507f01",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, AuthenticationError, AuthorizationError, ConflictError, InternalServerError, NotFoundError, RateLimitError, ValidationError | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiError,AuthenticationError,AuthorizationError,ConflictError,InternalServerError,NotFoundError,RateLimitError,ValidationError,getErrorMessage",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1585a001a581b8e0",
      "framework": "next-react",
      "imports": "",
      "lines": 157,
      "logic_relevance": "primary",
      "name": "errors",
      "normalized_name": "errors",
      "package_manager": "pnpm",
      "path": "lib/api/errors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "8d6c761fb0d8e6249936d0cd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createError, createResponse, jsonError, jsonOk, standardError, standardResponse | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "createError,createResponse,jsonError,jsonOk,standardError,standardResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9d3fed55075a043",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "1d11a5c2f5253f5f63652b36",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useWebVitals | imports:./metrics, react | logic-score:60 | observability-score:55",
      "exports": "useWebVitals",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfe79a795f13dddc",
      "framework": "next-react",
      "imports": "./metrics,react",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "web-vitals",
      "normalized_name": "web-vitals",
      "package_manager": "pnpm",
      "path": "lib/performance/web-vitals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "8c65df8906591886bebce5c0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getMemoryUsage, measurePerformance, observePerformanceEntries, reportWebVitals | logic-score:85 | observability-score:55",
      "exports": "getMemoryUsage,measurePerformance,observePerformanceEntries,reportWebVitals",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b833b3ace647bbd0",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "metrics",
      "normalized_name": "metrics",
      "package_manager": "pnpm",
      "path": "lib/performance/metrics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "e81402e07c44dbade6c9019e",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateApiKeyInput, CreateApprovalInput, CreateFlowInput, LoginInput, SignupInput, UpdateFlowInput, UpdateProfileInput, createApiKeySchema | imports:zod | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CreateApiKeyInput,CreateApprovalInput,CreateFlowInput,LoginInput,SignupInput,UpdateFlowInput,UpdateProfileInput,createApiKeySchema,createApprovalSchema,createFlowSchema,loginSchema,signupSchema,updateFlowSchema,updateProfileSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b7cd5eeef920b44d",
      "framework": "next-react",
      "imports": "zod",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "schemas",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "lib/validation/schemas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "14be779bf079a8eb74614adf",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:i18nConfig | logic-score:45",
      "exports": "i18nConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9a1d8a50061dc523",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/standards/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "118e97d10606333dbc526585",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getJsonLd | logic-score:85",
      "exports": "getJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "420983fd69f5c152",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "jsonld",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "lib/standards/jsonld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,discovery",
      "component_id": "ba47eff745f143d0354cdd5e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getWebManifest | logic-score:60 | discovery-score:55",
      "exports": "getWebManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0d88c83f353e6081",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "lib/standards/manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,discovery,logic,automation,ai",
      "component_id": "df7edcd9b1cddb7a90dc5925",
      "component_kind": "security-module",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:defaultMetadata | imports:@/lib/config/service, next | security-score:55 | discovery-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "defaultMetadata",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1eeea8708374f391",
      "framework": "next-react",
      "imports": "@/lib/config/service,next",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/standards/metadata.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-agentui",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "dc2dff8bcd9572b52a61d5e7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef060c4259f461f0",
      "framework": "next-react",
      "imports": "",
      "lines": 4730,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "3a64232044886e1493300a8c",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "621558241f4b2263",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ba700f1dab638a8c6f381eb9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "421e2b8f3f51bfe5",
      "framework": "next-react",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "SETUP",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "SETUP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "71237c896821edec91d988fc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f09293f8eb3462bc",
      "framework": "next-react",
      "imports": "",
      "lines": 1147,
      "logic_relevance": "none",
      "name": "TESTING_PLAN",
      "normalized_name": "testing-plan",
      "package_manager": "pnpm",
      "path": "TESTING_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8218e7393e98e09fb9da5686",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9361dfcd7ba028ea",
      "framework": "next-react",
      "imports": "",
      "lines": 152,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "156f9457f0a31ff9bc4fd612",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2eeb5a2705d7af4b",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "e8ff2386f4cd784ef81a568f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f981d032e907ebd5",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,ai",
      "component_id": "6a52048c81218af4ce636a81",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/app-footer, @/components/app-header, @/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f49acb62c4334bb",
      "framework": "next-react",
      "imports": "@/components/app-footer,@/components/app-header,@/components/ui/button,lucide-react,next/link",
      "lines": 104,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "025a14f960b5877c0ef8988c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e743a1e2a96ceea",
      "framework": "next-react",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9493df2887934820788a6201",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/automation-settings, @/components/google-photos-settings, @/components/queue-monitor, @/components/usage-stats, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "671a957a853edcb5",
      "framework": "next-react",
      "imports": "@/components/automation-settings,@/components/google-photos-settings,@/components/queue-monitor,@/components/usage-stats,@/lib/supabase/server,next/navigation",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "eb4ecafd44399161f88acb34",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39d698af059816da",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "019e398307fd971607aec023",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8dc0ce0468eac82",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c11c1cca67cc6d00933f5926",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7b03b1b8ef0c5ab",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 58,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/error/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3f51079088bcd6ea0cf7de00",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35f99c302e330222",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "75a6e995ba6d307f45c8f853",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/app-footer, @/components/app-header, @/lib/supabase/server, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a20dd36890b7965",
      "framework": "next-react",
      "imports": "@/components/app-footer,@/components/app-header,@/lib/supabase/server,next/navigation,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/dashboard/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "021ffd78a6e79b6d6df88f3a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d60ce9dbb5c82d7e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "5cf1f4ceed861be81618d544",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8c0af9f5afdb4751",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/settings/update/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "9a5f6cfd8aa39d2f585bf595",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2ce06a278e94fd1",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/google/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,ai",
      "component_id": "2a614aefd59de8186a3e0233",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea4350c4e9815188",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 118,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/google/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e0a3063d8fcf265e6bfa85d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/google-photos/client, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d599a30f9dfb5533",
      "framework": "next-react",
      "imports": "@/lib/google-photos/client,@/lib/supabase/server,next/server",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/google-photos/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "ef2946bd11b9d5b17a78159f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5af7726339a83888",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/google-photos/disconnect/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "f443cf7ecb6a91b5dbd4861c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8739aaec9c4340c0",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/queue/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "b10c1c18908a445eea6790e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/automation/auto-enhance, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a1f8a5dc11d94465",
      "framework": "next-react",
      "imports": "@/lib/automation/auto-enhance,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/automation/enhance-all/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "d6b1321be7d9e5a4a47c7001",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/automation/auto-sync, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a0e514d11cd25f0d",
      "framework": "next-react",
      "imports": "@/lib/automation/auto-sync,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/automation/sync-all/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,process,frontend,observability",
      "component_id": "c14c4a620fd3cf0c4c1f7be7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/supabase/server, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "86f340260724600a",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/process-queue/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation,ai",
      "component_id": "fd3b83c01a5408d9ca35a50f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/ai/enhancement, @/lib/google-photos/client, @/lib/storage/blob-storage, @/lib/supabase/server, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c51af0a56c7603f",
      "framework": "next-react",
      "imports": "@/lib/ai/enhancement,@/lib/google-photos/client,@/lib/storage/blob-storage,@/lib/supabase/server,next/server",
      "lines": 174,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/process-job/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "ef2cbf71067363718637627d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f1a98cd45ce918f8",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/photos/batch-enhance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "2279f609409abb9dcbf30439",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3ae39acff67e9843",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/photos/[id]/enhance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,process,frontend,observability,security",
      "component_id": "151e8bc185d9b00942bf0547",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:next/server | backend-score:125 | automation-score:95 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "03caff485613e478",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/process-queue/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,observability",
      "component_id": "5c9c38b799cc0cb00e78758f",
      "component_kind": "layout",
      "confidence": 95,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:MonitoringLayout | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "MonitoringLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02ff660202d7eb1f",
      "framework": "next-react",
      "imports": "react",
      "lines": 5,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/monitoring/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "20ba4d91aedcf20383433cd0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MonitoringPage, StatusBadge | imports:@/components/ui/badge, @/components/ui/card, @/lib/supabase/server, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MonitoringPage,StatusBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4870d8f637c10e07",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/supabase/server,lucide-react,next/navigation",
      "lines": 97,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/monitoring/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "c3ad53148ebe9f200b56aa68",
      "component_kind": "layout",
      "confidence": 95,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotosLayout | imports:react | frontend-score:115 | ui-score:70",
      "exports": "PhotosLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32806f474102bfb1",
      "framework": "next-react",
      "imports": "react",
      "lines": 5,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/photos/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5303a1445db48457ada1110d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotosPage | imports:@/components/photo-filters, @/components/photo-gallery, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PhotosPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1813b73267e8322",
      "framework": "next-react",
      "imports": "@/components/photo-filters,@/components/photo-gallery,@/lib/supabase/server,next/navigation",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/photos/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "574eeb00cac5090bb72b1422",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a98fcd03c963a20",
      "framework": "next-react",
      "imports": "",
      "lines": 1224,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "40cbdca41ee7973fd7314307",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,ai",
      "component_id": "2f1ce138701def174b02accf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QueueMonitor | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "QueueMonitor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dde4f768532a8037",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,lucide-react,react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "queue-monitor",
      "normalized_name": "queue-monitor",
      "package_manager": "pnpm",
      "path": "components/queue-monitor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2587aaa81052ef3a3b4e4ce1",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3690efb267c0ecc9d3578cd8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotoFilters | imports:@/components/ui/badge, @/components/ui/select, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PhotoFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f25fd4c85888d8b0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/select,next/navigation",
      "lines": 80,
      "logic_relevance": "none",
      "name": "photo-filters",
      "normalized_name": "photo-filters",
      "package_manager": "pnpm",
      "path": "components/photo-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a68c4202a78390515fb61b7d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotoGallery | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PhotoGallery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13195fc22752ff9c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,lucide-react,next/image,react",
      "lines": 208,
      "logic_relevance": "none",
      "name": "photo-gallery",
      "normalized_name": "photo-gallery",
      "package_manager": "pnpm",
      "path": "components/photo-gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "49d55b151dff702ff5e407a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnhanceButton | imports:@/components/ui/button, @/hooks/use-toast, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "EnhanceButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0718787c46b6ea2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 67,
      "logic_relevance": "none",
      "name": "enhance-button",
      "normalized_name": "enhance-button",
      "package_manager": "pnpm",
      "path": "components/enhance-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,automation,ui,ai",
      "component_id": "f4e99ce906dc704807f27001",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:AutomationSettings | imports:@/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/hooks/use-toast, lucide-react, next/navigation | frontend-score:115 | automation-score:95 | ui-score:70 | ai-score:45",
      "exports": "AutomationSettings",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77b68fb6e1b4dc56",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 158,
      "logic_relevance": "none",
      "name": "automation-settings",
      "normalized_name": "automation-settings",
      "package_manager": "pnpm",
      "path": "components/automation-settings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a9a7c96a5e7de61162b38285",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GooglePhotosSettings | imports:@/components/ui/button, @/components/ui/card, @/hooks/use-toast, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GooglePhotosSettings",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47f82de545759ddb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "google-photos-settings",
      "normalized_name": "google-photos-settings",
      "package_manager": "pnpm",
      "path": "components/google-photos-settings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d0e1cc57a8e1478090b4fc28",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppHeader | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/supabase/client, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3891c971467793e5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/supabase/client,lucide-react,next/link,next/navigation",
      "lines": 113,
      "logic_relevance": "none",
      "name": "app-header",
      "normalized_name": "app-header",
      "package_manager": "pnpm",
      "path": "components/app-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "55e1f370ea1296a3c459ee94",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:UsageStats | imports:@/components/ui/card, @/lib/supabase/client, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "UsageStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16c6ee6f1a43fc52",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/supabase/client,lucide-react,react",
      "lines": 130,
      "logic_relevance": "none",
      "name": "usage-stats",
      "normalized_name": "usage-stats",
      "package_manager": "pnpm",
      "path": "components/usage-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "fd6d2cbae3d5c8f205d44515",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppFooter | imports:next/link | frontend-score:115 | ui-score:55",
      "exports": "AppFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca4916b1eaa0ff2f",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 61,
      "logic_relevance": "none",
      "name": "app-footer",
      "normalized_name": "app-footer",
      "package_manager": "pnpm",
      "path": "components/app-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "19129ee66389ea5e251db487",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "8315aa0cd5f41f8142fad7dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7d714ba43e1f3b56f882918e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6dc4f166c215681089c8d3f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "006685f94dee171fe5285a21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "df136e8994dccfbcb11c7db1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "95742d6e83ca83027d6a14d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6e2601ded3ef46b849f05d4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e9e49a62590bff949607cc5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cc9b53787f3a35344669939e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ece077bbfbf3b54222395d4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "4011f94f0bd010635af2d73b",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "ajv,ajv-formats,fs,path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:ajv-formats, ajv/dist/2020, fs, path, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe735270bc87daed",
      "framework": "next-react",
      "imports": "ajv-formats,ajv/dist/2020,fs,path,vitest",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "schema.test",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "__tests__/schemas/schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security",
      "component_id": "3cba17b11c1291c240067c6f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/auth/google/callback/route, @/app/api/auth/google/route, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "75bb0534ff7ae4c3",
      "framework": "next-react",
      "imports": "@/app/api/auth/google/callback/route,@/app/api/auth/google/route,next/server,vitest",
      "lines": 82,
      "logic_relevance": "none",
      "name": "oauth.test",
      "normalized_name": "oauth",
      "package_manager": "pnpm",
      "path": "__tests__/api/auth/google/oauth.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "8af8b2b0e3add6033bbc8520",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "10c771387d48afcd",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,observability,automation",
      "component_id": "03cd5a43586ea25fd8d06a8b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "85d73c9b65b5c5e4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "86e00db6b9c11f53bfd76dfe",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateTestPhotoUrl, simulateRateLimit | imports:@/lib/supabase/server | logic-score:60 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "generateTestPhotoUrl,simulateRateLimit",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d0762196c72d26c",
      "framework": "next-react",
      "imports": "@/lib/supabase/server",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "test-helpers",
      "normalized_name": "test-helpers",
      "package_manager": "pnpm",
      "path": "scripts/test-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8d0e0399e09f4df45064aefe",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "3d96842fa01238f29a059544",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GooglePhoto, GooglePhotosClient, GooglePhotosToken | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "GooglePhoto,GooglePhotosClient,GooglePhotosToken",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1af6963b3167c539",
      "framework": "next-react",
      "imports": "",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/google-photos/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,observability,automation",
      "component_id": "d560fb476b140213b7ddbcdc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@vercel/blob",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BlobStorage | imports:@vercel/blob | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "BlobStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b36ae3da78e6c427",
      "framework": "next-react",
      "imports": "@vercel/blob",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "blob-storage",
      "normalized_name": "blob-storage",
      "package_manager": "pnpm",
      "path": "lib/storage/blob-storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "ed08cff98e882ca25c9534bf",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9ad356cf92c397af",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "3a5b4770b1c73f9bf27ad0f7",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "b73961d526a6a49fbb27211e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createServerClient | imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createServerClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "539d4dc00430f850",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "e62a9155c07d708693119b26",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@fal-ai/serverless-client",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIEnhancer, EnhancementOptions, EnhancementResult | imports:@fal-ai/serverless-client | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AIEnhancer,EnhancementOptions,EnhancementResult",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9b8f06106f71b87c",
      "framework": "next-react",
      "imports": "@fal-ai/serverless-client",
      "lines": 76,
      "logic_relevance": "secondary",
      "name": "enhancement",
      "normalized_name": "enhancement",
      "package_manager": "pnpm",
      "path": "lib/ai/enhancement.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "logic,security,automation",
      "component_id": "6244438fa9177785d809f468",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AutoSyncer | imports:@/lib/google-photos/client, @/lib/supabase/server | logic-score:85 | security-score:55 | automation-score:50",
      "exports": "AutoSyncer",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "18fa26e7fbb623bd",
      "framework": "next-react",
      "imports": "@/lib/google-photos/client,@/lib/supabase/server",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "auto-sync",
      "normalized_name": "auto-sync",
      "package_manager": "pnpm",
      "path": "lib/automation/auto-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic,observability,ai",
      "component_id": "0a0b473e3da5778e73237c42",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:AutoEnhancer | imports:@/lib/supabase/server | automation-score:95 | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "AutoEnhancer",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca7bac827bd5a5d2",
      "framework": "next-react",
      "imports": "@/lib/supabase/server",
      "lines": 78,
      "logic_relevance": "secondary",
      "name": "auto-enhance",
      "normalized_name": "auto-enhance",
      "package_manager": "pnpm",
      "path": "lib/automation/auto-enhance.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ai-photo-enrichment",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8f877e776d63324da38c41de",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abd650b66108ac29",
      "framework": "next-react",
      "imports": "",
      "lines": 6271,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "cbe5dbae9c5ed491c95277f4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e2b34dd711b2f47e",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ef47a58a8df554c7acbdce22",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ca4c0da4fa0d5581",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,security,automation",
      "component_id": "4113af58fde0ce2efcc59a95",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4729fd2ee906e6f1",
      "framework": "next-react",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "b9623d9184af8209d3366483",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "664721392623279d",
      "framework": "next-react",
      "imports": "next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,security,discovery",
      "component_id": "314fa8a35c46d2514189d45d",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "47180f30a8159666",
      "framework": "next-react",
      "imports": "next",
      "lines": 65,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3bf556ba5810b964dd3b6a01",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be993fda32e8fa27",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 285,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "b2a9580b28c3a5369cea83da",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "beabf1606f0965af",
      "framework": "next-react",
      "imports": "next",
      "lines": 69,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "d6fec74cbe91412bd77db9c2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZinePage | imports:@/components/cinematic-intro, @/components/zine-reader, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ZinePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "660a7e5684af6582",
      "framework": "next-react",
      "imports": "@/components/cinematic-intro,@/components/zine-reader,framer-motion,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "7e02046f143b69a4f545773c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff6d17c114b3fdfe",
      "framework": "next-react",
      "imports": "",
      "lines": 360,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "147767cafdbb344a2d9183b0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7d79c3fdbc157864",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 83,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "0ce2afe4ab97f6ece1b074ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ed632aef862d48e",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 103,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9f2334d30f2fcda738992e99",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "73ae76b6f82184d4",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 107,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "4e12bad1ebae014e26ff1a56",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b370343a41c14527",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7b03d134fdcd50c8b52619d9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecurityPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SecurityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9788046258d1c9f8",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/security/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "325ae81da89a86f4891e8032",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, SECURITY_TXT | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,SECURITY_TXT",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7d0ecda57d0267de",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "a201d238ef11333ab5fc5482",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AI_PLUGIN, GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "AI_PLUGIN,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fb7db633d9261cf1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "085d976a7ebf93718dda256a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53f0eae417c7b63c",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend,observability",
      "component_id": "5567a2f967f78b0125ade0cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platphorm-network, @/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "61734d2fb69bc74b",
      "framework": "next-react",
      "imports": "@/lib/platphorm-network,@/lib/zine-data,next/server",
      "lines": 103,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "backend,frontend",
      "component_id": "82aff860dd5f4409038a42e7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for design-system; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c6cd9359d265c28",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contributors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "03abdd72a30dd2eb4d9bd67d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19b952f60da9add1",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/zine/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend,observability",
      "component_id": "36f0c15d2fc058cf7aea3b1a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f4fd3075d772ec3d",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/zine/pages/[pageNumber]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "a6ce55f1d807e675f6f43423",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aab29ae654b7b7d8",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "dab966c967b0319b0b7a2c60",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c38a23537f57f97",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 151,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,ai",
      "component_id": "93fab712a912900ec0cb552b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm-network, @/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c373860e53a97a4d",
      "framework": "next-react",
      "imports": "@/lib/platphorm-network,@/lib/zine-data,next/server",
      "lines": 384,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,ui,security",
      "component_id": "6f8b1dde79e273ca7ef6fd27",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "02a136fc647c09ee",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 318,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "634b4142466dfa04095be7e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c7a274d83849ae31",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "bd623ea7979b30aebfa62fd5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b654adbd6e08b5c9a7f38ee0",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8990adc1716e3bf1cecf6643",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DownloadDialog | imports:@/components/ui/button, @/components/ui/dialog, @/lib/zine-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DownloadDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a956ea51c997100d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/lib/zine-data,lucide-react,react",
      "lines": 406,
      "logic_relevance": "none",
      "name": "download-dialog",
      "normalized_name": "download-dialog",
      "package_manager": "pnpm",
      "path": "components/download-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "eedd076f5f6040331b005ab5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicIntro | imports:framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CinematicIntro",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9d0ef88cde5078e1",
      "framework": "next-react",
      "imports": "framer-motion,lucide-react,react",
      "lines": 256,
      "logic_relevance": "none",
      "name": "cinematic-intro",
      "normalized_name": "cinematic-intro",
      "package_manager": "pnpm",
      "path": "components/cinematic-intro.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "9ffa1c964742b851bfa51d43",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookmarkButton | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/use-preferences, framer-motion, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "BookmarkButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d40db3258824535",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/use-preferences,framer-motion,lucide-react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "bookmark-button",
      "normalized_name": "bookmark-button",
      "package_manager": "pnpm",
      "path": "components/bookmark-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "8346b9c130c7258cd91a1c72",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProgressBar | imports:framer-motion | frontend-score:115 | ui-score:55",
      "exports": "ProgressBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "deb4ffbc5e2ed5ad",
      "framework": "next-react",
      "imports": "framer-motion",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress-bar",
      "normalized_name": "progress-bar",
      "package_manager": "pnpm",
      "path": "components/progress-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6a1797733c3f70cca9a0a3c3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZineReader | imports:@/components/bookmark-button, @/components/download-dialog, @/components/progress-bar, @/components/ui/button, @/components/ui/sheet, @/components/ui/tooltip, @/lib/ascii-utils, @/lib/use-preferences | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ZineReader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a4b750e6e49813f",
      "framework": "next-react",
      "imports": "@/components/bookmark-button,@/components/download-dialog,@/components/progress-bar,@/components/ui/button,@/components/ui/sheet,@/components/ui/tooltip,@/lib/ascii-utils,@/lib/use-preferences,@/lib/zine-data,framer-motion,lucide-react,next/image,react",
      "lines": 1044,
      "logic_relevance": "none",
      "name": "zine-reader",
      "normalized_name": "zine-reader",
      "package_manager": "pnpm",
      "path": "components/zine-reader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f3a7ac0d556741bb96681142",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2900c33d3053eab4a892aa1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8300a3c172461740b8e59954",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "47c23f238ff594dac224ec80",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "55a6d492d36c2ebafc7f8baf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f18b75c9fbd9d92cd8f33b53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "59cf54fc4eba3920e9a5c159",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "09d9e29ae6d2a01b656012bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "053ccceda6a80f985d5a61b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "862d35483a918a1b0aaeb720",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ef7df27ba8b582dffb236338",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "68c5a0f78d85c3685c51ac32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6219fcd6e69e5bf9db1e3054",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "318f5ccfa7ae4a1522b509f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5a72387dd11b9164dc472e02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0d8d8da8bd82eb8069840774",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4d26c637a7cbd3caf06221c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "746ca82c4a6b3c7a57c2c71f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1f17e6dc4422869b35b016fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ee3a161fc4cfb5b93e15cfdc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2c0d9a872682a81018ed5e59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "774538bf5ae786951ef9c91a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6bb4b9b08d9b2f6d1a8944e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b6d4dcb93b4752decbed20bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "685a729fb08ae7b3f2defea0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3550d557dafac7e6d241aafd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8e29f4441e7ac44d9bceb61d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "f6a7a36b790c89a326d00cc1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9711ca06e8422b4e75f55033",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "05e87a6495f4df8880cacae0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8ef91211b0e18a81c4aafa5e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7e88542e23dffc92a1aa685d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6ef62abc5e9a819761637fa5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d6f95cc1b808d635d168b2b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b27e8afc409df4072b107865",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "43421002116c3edd54a6e89a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0425641d39ddf687bde9e4ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4173ca6fc6a7b2e44e8be987",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2e46854c066c3e4388b51135",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c362c94592ed385801e9d813",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f8b70a066cc506aa2e590fbb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3a1391b0d4cf1927f9b570df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c4f6a5ca0702c1f52acfa899",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2f7cfe813492e6ce7d2ff8f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "784d1a5d3e7e1e318324845b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8949b24af1a0b16e849e7c8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "82d59e4b4b7799e1b9aa5e10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "c764f72535ef118b453ab8b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "84bb06f3b6ba50f434aa7615",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "86bc7d7648d11c7df5df66bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cab7eaaa1934d2a195b03e8b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1c2e2441cf3c9f510ef81ae3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0843034454c4024a0b7f629a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e0fd2c9fc900204e2cf1b2c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "34f06394a377d66e75b1e880",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "1853c858998e2ffb941a9f96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bdb019e75622df836a240bd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "b5e5a5211c0844557dbd7fe9",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/app,@/components,@testing-library/react,@testing-library/user-event",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout | imports:@/app/layout, @/components/zine-reader, @testing-library/react, @testing-library/user-event | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "RootLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a99e5efe049c603",
      "framework": "next-react",
      "imports": "@/app/layout,@/components/zine-reader,@testing-library/react,@testing-library/user-event",
      "lines": 177,
      "logic_relevance": "none",
      "name": "accessibility.test",
      "normalized_name": "accessibility",
      "package_manager": "pnpm",
      "path": "__tests__/accessibility.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a1034f761fe16e34c2c68a07",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BREAKPOINTS | imports:@/components/zine-reader, @testing-library/react | frontend-score:60 | ui-score:55",
      "exports": "BREAKPOINTS",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7060c1321e1f5eb",
      "framework": "next-react",
      "imports": "@/components/zine-reader,@testing-library/react",
      "lines": 183,
      "logic_relevance": "none",
      "name": "responsive.test",
      "normalized_name": "responsive",
      "package_manager": "pnpm",
      "path": "__tests__/responsive.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "934aefc3d9396d0ef1c77977",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/ascii-utils, @/lib/utils, @/lib/zine-data | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "47fe429a51bc7937",
      "framework": "next-react",
      "imports": "@/lib/ascii-utils,@/lib/utils,@/lib/zine-data",
      "lines": 144,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "8af13b104bbca7b9ee38b48f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/ascii-utils, @/lib/platphorm-network, @/lib/zine-data | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8cd5a4f3e181cde",
      "framework": "next-react",
      "imports": "@/lib/ascii-utils,@/lib/platphorm-network,@/lib/zine-data",
      "lines": 121,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/integration/network.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "8909374c581d609aba260525",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/zine-reader, @testing-library/react, @testing-library/user-event | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9029ea7dedb7bfa4",
      "framework": "next-react",
      "imports": "@/components/zine-reader,@testing-library/react,@testing-library/user-event",
      "lines": 177,
      "logic_relevance": "none",
      "name": "zine-reader.test",
      "normalized_name": "zine-reader",
      "package_manager": "pnpm",
      "path": "__tests__/components/zine-reader.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "d95167ea1ff3d8b356bd79f7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/zine-data | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "698a2bbb86a7c5fa",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "zine-data.test",
      "normalized_name": "zine-data",
      "package_manager": "pnpm",
      "path": "__tests__/lib/zine-data.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "fbb64e198c179512946f0f61",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/zine-data | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "db8bf4f3f72a7477",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 169,
      "logic_relevance": "primary",
      "name": "transcription.test",
      "normalized_name": "transcription",
      "package_manager": "pnpm",
      "path": "__tests__/lib/transcription.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "2ae984d78772389eecfec4cb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/use-preferences, @testing-library/react | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5a14bed3d83b9abd",
      "framework": "next-react",
      "imports": "@/lib/use-preferences,@testing-library/react",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "use-preferences.test",
      "normalized_name": "use-preferences",
      "package_manager": "pnpm",
      "path": "__tests__/lib/use-preferences.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b437c7e6e58ef200394865ed",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "97581a2ab7e6f94b",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "routes.test",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "46f7ee95bc534f20bee14f26",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useGestures, useHaptic | imports:react | logic-score:85",
      "exports": "useGestures,useHaptic",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ce275f615ca210b0",
      "framework": "next-react",
      "imports": "react",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "use-gestures",
      "normalized_name": "use-gestures",
      "package_manager": "pnpm",
      "path": "lib/use-gestures.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "59e26a065a3e9d7ccfc2ee6f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "aa3a150eea4a6bf453feb302",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "Unkempt",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:COMMUNITY_ZINE_TEMPLATE, CommunityZineConfig, DEFAULT_AUTHORS, NEWS_CONTEXT, SITE_CONFIG, ZineContributor, ZineIssue, ZinePage | imports:Unkempt | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "COMMUNITY_ZINE_TEMPLATE,CommunityZineConfig,DEFAULT_AUTHORS,NEWS_CONTEXT,SITE_CONFIG,ZineContributor,ZineIssue,ZinePage,alleycatsZine,contributors,tableOfContents,zineMeta",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2fe3f56e9c227e53",
      "framework": "next-react",
      "imports": "Unkempt",
      "lines": 501,
      "logic_relevance": "primary",
      "name": "zine-data",
      "normalized_name": "zine-data",
      "package_manager": "pnpm",
      "path": "lib/zine-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8d1a8f228c70718ffdff6b84",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ASCII_API, ASCII_ART, ISSUE_THEMES, LOADING_FRAMES, getDaysUntilNextIssue, getShareBanner, imageToAsciiPlaceholder, textToAscii | imports:./zine-data | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ASCII_API,ASCII_ART,ISSUE_THEMES,LOADING_FRAMES,getDaysUntilNextIssue,getShareBanner,imageToAsciiPlaceholder,textToAscii",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c7b546a4fb7f8c11",
      "framework": "next-react",
      "imports": "./zine-data",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "ascii-utils",
      "normalized_name": "ascii-utils",
      "package_manager": "pnpm",
      "path": "lib/ascii-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "dcc443d5fe10890a288a9166",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ViewMode, ZinePreferences, useBookmarks, usePreferences, useReadingStats, useSkipIntro | imports:react | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ViewMode,ZinePreferences,useBookmarks,usePreferences,useReadingStats,useSkipIntro",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2b9b90e438cb708d",
      "framework": "next-react",
      "imports": "react",
      "lines": 184,
      "logic_relevance": "primary",
      "name": "use-preferences",
      "normalized_name": "use-preferences",
      "package_manager": "pnpm",
      "path": "lib/use-preferences.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "88057536f9e5ea780bbf4645",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CommunityZineTemplate, NETWORK_CONFIG, createZineTemplate | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CommunityZineTemplate,NETWORK_CONFIG,createZineTemplate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c9a63b7de950eb30",
      "framework": "next-react",
      "imports": "",
      "lines": 258,
      "logic_relevance": "primary",
      "name": "platphorm-network",
      "normalized_name": "platphorm-network",
      "package_manager": "pnpm",
      "path": "lib/platphorm-network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-alleycats",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "13db7a02198675ee8b99d587",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d01a3cf06e9942e",
      "framework": "next-react",
      "imports": "",
      "lines": 7566,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "8570dad35f664b59824c2ae0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "6d6ba575a4768ad9",
      "framework": "next-react",
      "imports": "next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2240f68c48a2c6c81a5f231a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ee341977280e5015",
      "framework": "next-react",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "85d2a53691db20c163319f5a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6dc50176d3d5549f",
      "framework": "next-react",
      "imports": "",
      "lines": 10377,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6af5454784ea7f9b7d3ba9e4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "42dc8a6ba9656797",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "591b2e611b120a248bd6bdf2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4300ac32d7604bff",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 17,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "8599fb7313a37fcf5966278e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/ascii/platform, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5da8cb8ba5e9eee",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "05f9521b6765c86a34c19922",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "adeb6203ff54ca6a",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 359,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "b5261924fd69bbac40dcd5b5",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ascii-converter | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7853bba5004d7eab",
      "framework": "next-react",
      "imports": "@/components/ascii-converter",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "28098ad760612a6fba252031",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5731074f938e7510",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "d7117e2449d662140a8ff311",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a43ebabc75527690",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "1e3c4ef5d97d643723187f96",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:buildRss | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "buildRss",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee174463919fdabb",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b8c44f646ea57a42de04d484",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a528e9120d09371f",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,process",
      "component_id": "7d9305d0dfe71924583ac277",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/breadcrumbs, next | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "970a4d5a06c45b3a",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,next",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "66cf27d0a2c5f84b024fb42a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f947d7dc39f47086",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "10d3525c3c55994d41c9541a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "729042b1e589c428",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "705a88cd9a1184a051632990",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c926409a7564605b",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "5eec7ec81dc7ece62b177bb5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2fa098d1f213d1a1",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "605795376afcd733cc58d505",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5bb8182943f308de",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "2dadfada6ccc9fd4c30e12f8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/breadcrumbs, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "508632d90d86a294",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,next,next/link",
      "lines": 339,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "f306d9ab060a26556cf8597f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b81ecb00d149b8e",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "54e2eaf5eb8f7b1a63f66365",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e57a8698fdfd67fe",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "c0d336fce0a4aeb7ae0719f6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "11ea9ae7ef846843",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ui,frontend,observability,security",
      "component_id": "107ba54eed8811a9f4a08c4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ALLOWED_EVENTS, OPTIONS, POST | imports:@/lib/platform/http, @/lib/platform/trace, next/server | backend-score:125 | ui-score:70 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "ALLOWED_EVENTS,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e8581e8625fe3ce9",
      "framework": "next-react",
      "imports": "@/lib/platform/http,@/lib/platform/trace,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trace/ui/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,security",
      "component_id": "a6919d8ba4152f2836d8b6de",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/conversion, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5c6918aa6927ad01",
      "framework": "next-react",
      "imports": "@/lib/ascii/conversion,@/lib/platform/http,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/charsets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,security",
      "component_id": "4cfda1098d982b590c2c116e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e15b7acad1b95864",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/charsets/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1129d3565bcaa6f2ace5e3b4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0a73d08d238d7f7",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,security",
      "component_id": "3c0f9c5295a18379aab35c10",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "04f8fd93b0c5fbb7",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/info/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "c398547cd771bb2279d8ffe0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/ascii/webhooks, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42c33f13677b72d3",
      "framework": "next-react",
      "imports": "@/lib/ascii/webhooks,@/lib/platform/http,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "cf9bfe2beb067c078a7bd015",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8973bb7f0fded873",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,@/lib/platform/trace,next/server",
      "lines": 101,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "6a5cf77432c60514697615a0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,sharp",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/ascii/conversion, @/lib/ascii/openapi, @/lib/ascii/platform, @/lib/ascii/webhooks, @/lib/platform/http, @/lib/platform/trace, next/server, sharp | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6a88a70f16a8919e",
      "framework": "next-react",
      "imports": "@/lib/ascii/conversion,@/lib/ascii/openapi,@/lib/ascii/platform,@/lib/ascii/webhooks,@/lib/platform/http,@/lib/platform/trace,next/server,sharp",
      "lines": 580,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery,process",
      "component_id": "7e32142981fef6b8fdf1dbab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/openapi, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77e5311603812389",
      "framework": "next-react",
      "imports": "@/lib/ascii/openapi,@/lib/platform/http,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic,frontend,observability",
      "component_id": "7664baa7197e1c2421611d29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:fs, next/server, path | backend-score:125 | logic-score:85 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1e223558e1de6b7d",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 47,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/schemas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "5b2990aa6235f6f0bae44c34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/ascii/webhooks, @/lib/platform/http, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5acec3d1662ea148",
      "framework": "next-react",
      "imports": "@/lib/ascii/webhooks,@/lib/platform/http,@/lib/platform/trace,next/server",
      "lines": 131,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "1694e876842e351db4af3680",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, OPTIONS | imports:@/lib/ascii/webhooks, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DELETE,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b1ba37fbe016a4c",
      "framework": "next-react",
      "imports": "@/lib/ascii/webhooks,@/lib/platform/http,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "080b69034705b4be04ea9e65",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/ascii/conversion, @/lib/ascii/platform, @/lib/platform/http, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1bc18c15ef470f62",
      "framework": "next-react",
      "imports": "@/lib/ascii/conversion,@/lib/ascii/platform,@/lib/platform/http,@/lib/platform/trace,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/convert/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,observability,security,discovery",
      "component_id": "a6d581576279e512d7e282a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/openapi, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5c1ff8908e647169",
      "framework": "next-react",
      "imports": "@/lib/ascii/openapi,@/lib/platform/http,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,discovery,automation",
      "component_id": "2b251777f6ef30841a264e36",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ce62099e1b5245b",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "7f1c239bbd741d9b58f6e1c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/ascii/platform, @/lib/platform/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "544aa9bb72a66725",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,@/lib/platform/http,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,discovery,automation",
      "component_id": "edb132e62994bef6570100e4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:manifest | imports:@/lib/ascii/platform, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f30b57be78a2ce3e",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "1ffbd54678d74f1f09c17fe1",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test,node:path",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test, node:path | process-score:80",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e3643b374f2a7392",
      "framework": "next-react",
      "imports": "@playwright/test,node:path",
      "lines": 22,
      "logic_relevance": "none",
      "name": "converter.spec",
      "normalized_name": "converter",
      "package_manager": "pnpm",
      "path": "tests/e2e/converter.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "adfca3f1bf2c04447a4546ad",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5731074f938e7510",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "4aa333cc2b53e2c73479cafc",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e64102cd188a56de32fd893e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0b13514b8ec598c8",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 27,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "d89f13dd94cfbd2eae8bbadc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AsciiConverter | imports:@/components/ui/button, @/components/ui/label, @/components/ui/slider, @/components/ui/switch, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AsciiConverter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "509d94a8e39b6f29",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/label,@/components/ui/slider,@/components/ui/switch,@/components/ui/tooltip,lucide-react,react",
      "lines": 1163,
      "logic_relevance": "none",
      "name": "ascii-converter",
      "normalized_name": "ascii-converter",
      "package_manager": "pnpm",
      "path": "components/ascii-converter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 10
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "17ded2e933ce63cc77dc787e",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b033c85a7c1a9172bb844fe5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7121e1ec002c0c8f07165777",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6ee53e609039e3efa10dd61c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5cb0c73c628caa1bb920a3fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "63ce6d9801862f1940a9ee96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "003bd59bdbab83322ce4666d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0d621de6f67c6c9c543fc5c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a4e92cbcd5762fe0fed501bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0cd15101e30b1e5b05f2fed0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6d2c676df027fb6e00282af8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "89a8648fb5935624efe91ced",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "10c7af5e0b0d21a79c9166bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1e3598b042e58fbffd4c8367",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fa6b788378d81d68",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 375,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "56b97760010a76ff3bddc7ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bbd4a20fc6c1d9a55f09c6b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c4362ae1eee63f069a76d1bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "011622d793142525593fb105",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5700dd3b8b1f26f847b0a243",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96363c5abd8fbbaf",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c3b4dc0701cac335adb86cfe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "edec7f1b8a62886849c0d4c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9990774416e19af58fea633c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3eb9397117c7f5a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "852761bf518311a387dece59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b8a3e16e48e4ac1ec4a404cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "77b085523a06694a79e64169",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e0d4d403b1eb7b0318af8c28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "528075e5f35be8b663e54feb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "cbc70c24cef03ab0f2e46ec4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "caac626bd896809799de8a69",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "4454cc80b3932c99ec26ca06",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "91cb47d8f17e896e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8347a81fada7a880bf4f2bc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "018cb9339ee4aaf5d8fb7954",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8a7077028e14d879ed95fe42",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2dcd5a36786be170fe3479cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b7052747d196a0eaaf0f4c36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "ecd0ef47561d4152f3dacf6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d164543bcd73d4df8d808ef8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a87a0ee569cd8cae6ad6b1d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "43fbfa7e62c3d90162b1822a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0b95df7cd02ec4d37ea6b30b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "670eb38d9de18097451520c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "93cf1c1568bbb6f95abfde87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e40f9f9d80800a41f93a9812",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "89b431b0ee574af3af13e4c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "294018ed5128864835122464",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a1f29f91fd742f7cde22bb57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3904ccc9451835e6befeca29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "627e85e0b09234b0ba23edc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e8b501fee1b01ea8527eafd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0026e8bce853ec27181f873e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8319476d3c7589143150150b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "db62f4920fb18a59e1d3457b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "96041d2506aec792335065e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "dc1d6a3ecc917209b3868ed8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b2a5f46d78aee8800f67af8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "2f7cb93839162e7d93e9a6a8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7f5e5fb81c1ef3c4e658af6e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "66006d9735bd61028727943f",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3a2684a6ed074fe1",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "default-ascii-art",
      "normalized_name": "default-ascii-art",
      "package_manager": "pnpm",
      "path": "public/default-ascii-art.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "discovery,automation",
      "component_id": "0f70145a506714921ad98f73",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "286387900471ca4b",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend,ai",
      "component_id": "8fa523b43f31deffa482b551",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e8a5235e4c03e65d",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "8f97633d065f9d7be549e7f3",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c3e8031a572e3d9b",
      "framework": "next-react",
      "imports": "",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "471680388b453024768c381c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "35ac714b57234fdd",
      "framework": "next-react",
      "imports": "",
      "lines": 251,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "f6db2e1fbe671561039ad817",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0e993474843b32f5",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "8b7bfa13f1641fbdd165b972",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e7c4c5d0c8f82e33",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,integration,discovery",
      "component_id": "ea5fe8a23fd5b975cdb10c66",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fcb266537308e147",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/schemas/openapi.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "1948a66a77e472cc52d9021b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "39aa3ccb762553a6",
      "framework": "next-react",
      "imports": "",
      "lines": 223,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "d57a7f1112668f4fc58b6a88",
      "component_kind": "webhook",
      "confidence": 90,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:SITE_URL | imports:@/app/api/v1/webhooks/test/route, @/app/api/webhooks/route, vitest | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "SITE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f7de2eaed6cc784",
      "framework": "next-react",
      "imports": "@/app/api/v1/webhooks/test/route,@/app/api/webhooks/route,vitest",
      "lines": 69,
      "logic_relevance": "none",
      "name": "webhooks-advanced.test",
      "normalized_name": "webhooks-advanced",
      "package_manager": "pnpm",
      "path": "__tests__/webhooks-advanced.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "f88a2c284dec2ea62d03eb8d",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "fs,path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:fs, path, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9c00cc498fc569d",
      "framework": "next-react",
      "imports": "fs,path,vitest",
      "lines": 56,
      "logic_relevance": "primary",
      "name": "schemas.test",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "__tests__/schemas.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "5028fab4450b8b3c9be70809",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a37eaa659754fef7",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security",
      "component_id": "becfd5bdad3fb2af60f4cf10",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../app/api/schemas/route, ../app/llms-index.json/route, next/server, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfc44d1436781b8c",
      "framework": "next-react",
      "imports": "../app/api/schemas/route,../app/llms-index.json/route,next/server,vitest",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "schema-api.test",
      "normalized_name": "schema-api",
      "package_manager": "pnpm",
      "path": "__tests__/schema-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,ai",
      "component_id": "6204d2675cdfbea3c8c3bacc",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ENDPOINT | imports:@/lib/mcp-client, vitest | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "ENDPOINT",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d6e04bb3d581233",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,vitest",
      "lines": 440,
      "logic_relevance": "none",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "__tests__/mcp-client.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability",
      "component_id": "01fa60c383e0288c321bc233",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PNG_DATA_URI | imports:@/lib/ascii/conversion, @/lib/ascii/platform, vitest | observability-score:55",
      "exports": "PNG_DATA_URI",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cf815f605b4ff01",
      "framework": "next-react",
      "imports": "@/lib/ascii/conversion,@/lib/ascii/platform,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "convert-edge-cases.test",
      "normalized_name": "convert-edge-cases",
      "package_manager": "pnpm",
      "path": "__tests__/convert-edge-cases.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,process",
      "component_id": "c5bfc213c4dde29a1399dc54",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../app/roadmap/page, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3feaa2637b6602e0",
      "framework": "next-react",
      "imports": "../app/roadmap/page,@testing-library/react,vitest",
      "lines": 17,
      "logic_relevance": "none",
      "name": "roadmap.test",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "__tests__/roadmap.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5f3797d0f0391e7591312fa5",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/breadcrumbs, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "83c1979c27ff3acd",
      "framework": "next-react",
      "imports": "../components/breadcrumbs,@testing-library/react,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "__tests__/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "604c6b38f3f0a72ace85d1df",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SITE_URL | imports:@/app/.well-known/mcp.json/route, @/app/llms-index.json/route, @/app/llms.txt/route, @/app/sitemap, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SITE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad30fb5414cfa61a",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json/route,@/app/llms-index.json/route,@/app/llms.txt/route,@/app/sitemap,vitest",
      "lines": 53,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "__tests__/discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "integration,security,discovery,process,automation",
      "component_id": "a41e834d0d2aabb4b6f520ea",
      "component_kind": "openapi",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/ascii/openapi, vitest | integration-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "328dad2fce7672a7",
      "framework": "next-react",
      "imports": "@/lib/ascii/openapi,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "openapi-spec.test",
      "normalized_name": "openapi-spec",
      "package_manager": "pnpm",
      "path": "__tests__/openapi-spec.test.ts",
      "primary_category": "integration",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "e44c28ac6a694eaee1b1c56d",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ENDPOINT | imports:@/lib/mcp-client, vitest | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ENDPOINT",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2bdc92f2a1db625b",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,vitest",
      "lines": 368,
      "logic_relevance": "none",
      "name": "mcp-client-advanced.test",
      "normalized_name": "mcp-client-advanced",
      "package_manager": "pnpm",
      "path": "__tests__/mcp-client-advanced.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "fb839eaddcf50822bf7aae52",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PNG_DATA_URI, SITE_URL | imports:@/app/api/convert/route, @/app/api/docs/route, @/app/api/health/route, @/app/api/webhooks/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "PNG_DATA_URI,SITE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67295b9c2578abc3",
      "framework": "next-react",
      "imports": "@/app/api/convert/route,@/app/api/docs/route,@/app/api/health/route,@/app/api/webhooks/route,vitest",
      "lines": 126,
      "logic_relevance": "none",
      "name": "api-routes.test",
      "normalized_name": "api-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "integration,observability,security,automation,ai",
      "component_id": "6fda437a19a88b9498a8960c",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:SITE_URL | imports:@/app/api/mcp/route, vitest | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "SITE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eca112b00eb926d9",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,vitest",
      "lines": 69,
      "logic_relevance": "none",
      "name": "mcp-integration.test",
      "normalized_name": "mcp-integration",
      "package_manager": "pnpm",
      "path": "__tests__/mcp-integration.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "c2e6a1744394b6b2beb5134d",
      "component_kind": "feed",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../app/rss.xml/route, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "571e28c0b263a24a",
      "framework": "next-react",
      "imports": "../app/rss.xml/route,vitest",
      "lines": 12,
      "logic_relevance": "none",
      "name": "rss.test",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "__tests__/rss.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,ai",
      "component_id": "519ae6143d9eccf9b332ef15",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SITE_URL | imports:@/app/api/mcp/route, vitest | observability-score:55 | ai-score:45",
      "exports": "SITE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77c3e81803a3f41f",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,vitest",
      "lines": 53,
      "logic_relevance": "none",
      "name": "save-as-png.test",
      "normalized_name": "save-as-png",
      "package_manager": "pnpm",
      "path": "__tests__/save-as-png.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "782c2ac4b59009d5e875a2cf",
      "component_kind": "mcp-server",
      "confidence": 90,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PNG_DATA_URI, SITE_URL | imports:@/app/api/mcp/route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "PNG_DATA_URI,SITE_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de50bd0ec3c997e3",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,vitest",
      "lines": 118,
      "logic_relevance": "none",
      "name": "mcp-route.test",
      "normalized_name": "mcp-route",
      "package_manager": "pnpm",
      "path": "__tests__/mcp-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "automation",
      "component_id": "a7ac30a03e1e70fe0c133db5",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "PIL,math,os",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:PIL, math, os | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd30c82cf6bdf405",
      "framework": "next-react",
      "imports": "PIL,math,os",
      "lines": 139,
      "logic_relevance": "none",
      "name": "generate-assets",
      "normalized_name": "generate-assets",
      "package_manager": "pnpm",
      "path": "scripts/generate-assets.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "e8270c0fd90b71517dd6d170",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpCapabilities, McpClient, McpClientOptions, McpContent, McpError, McpInitializeResult, McpJsonRpcRequest, McpJsonRpcResponse | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "McpCapabilities,McpClient,McpClientOptions,McpContent,McpError,McpInitializeResult,McpJsonRpcRequest,McpJsonRpcResponse,McpServerInfo,McpToolDefinition,McpToolResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f5cc060a8c316cc0",
      "framework": "next-react",
      "imports": "",
      "lines": 284,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "30804b4a8c6215adf91498df",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "a9541d83ecc1afdfa9f71e1b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:VALID_WEBHOOK_EVENTS, WebhookError, WebhookEvent, WebhookSubscription, createWebhook, deleteWebhook, getWebhook, listWebhooks | imports:node:crypto | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "VALID_WEBHOOK_EVENTS,WebhookError,WebhookEvent,WebhookSubscription,createWebhook,deleteWebhook,getWebhook,listWebhooks,storageMode",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f097e3ed7cbc119c",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "webhooks",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "lib/ascii/webhooks.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "551158477f443a7a6deb0e3e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ASCII_CHARSETS, AsciiCharset, AsciiCharsetCategory, CHARSET_MAP, DISCOVERY_SOURCES, INTEGRATIONS, MAX_OUTPUT_COLUMNS, MAX_OUTPUT_ROWS | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ASCII_CHARSETS,AsciiCharset,AsciiCharsetCategory,CHARSET_MAP,DISCOVERY_SOURCES,INTEGRATIONS,MAX_OUTPUT_COLUMNS,MAX_OUTPUT_ROWS,MAX_UPLOAD_BYTES,MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,PROTECTED_ACTIONS,PROTOCOL_VERSION,PUBLIC_FEED_ITEMS,PUBLIC_ROUTES,SERVICE,SITE_URL,TRUST_POLICY_LINE,VERSION,discoveryCompliance,getCharset,publicServiceInfo,routeCompliance",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c0ec3c0d9fb01dd6",
      "framework": "next-react",
      "imports": "",
      "lines": 311,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/ascii/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "ed05e417f926253c0d8a52a0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto,sharp",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AsciiConversionRecord, AsciiSourceType, ConversionInputError, ConversionRuntimeError, ConvertOptions, ConvertResult, ParsedImageInput, SUPPORTED_IMAGE_MIME_TYPES | imports:./platform, node:crypto, sharp | logic-score:85 | observability-score:55",
      "exports": "AsciiConversionRecord,AsciiSourceType,ConversionInputError,ConversionRuntimeError,ConvertOptions,ConvertResult,ParsedImageInput,SUPPORTED_IMAGE_MIME_TYPES,charsetSummary,clampResolution,isConversionError,parseImageInput",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c76491f960fb9d2e",
      "framework": "next-react",
      "imports": "./platform,node:crypto,sharp",
      "lines": 251,
      "logic_relevance": "primary",
      "name": "conversion",
      "normalized_name": "conversion",
      "package_manager": "pnpm",
      "path": "lib/ascii/conversion.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation,ai",
      "component_id": "1556b36c1e717e5ef356afd3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec | imports:./platform, ./webhooks | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildOpenApiSpec",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "11b03d0a90ad2ea2",
      "framework": "next-react",
      "imports": "./platform,./webhooks",
      "lines": 258,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/ascii/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "289414912cfd4ea56d66fd93",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformAuth, corsHeaders, jsonError, jsonOk, platformAuth, requirePlatformAuth, sanitizeVercelMetadata | imports:next/server, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "PlatformAuth,corsHeaders,jsonError,jsonOk,platformAuth,requirePlatformAuth,sanitizeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9c5bd0ad62554900",
      "framework": "next-react",
      "imports": "next/server,node:crypto",
      "lines": 109,
      "logic_relevance": "primary",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "pnpm",
      "path": "lib/platform/http.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "fdae9fd8719038e4e774a7dc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, getTraceContext, sanitizeTraceAttributes, traceHeaders | imports:@/lib/ascii/platform, node:crypto | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "TraceContext,getTraceContext,sanitizeTraceAttributes,traceHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6c33a92302cef2a6",
      "framework": "next-react",
      "imports": "@/lib/ascii/platform,node:crypto",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-ascii",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "21a304b242d8d15d902c8a02",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "389dbb2cad6c498b",
      "framework": "next-react",
      "imports": "",
      "lines": 4296,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "7b4fe3ae929cd26f7c58434c",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "968d90b30b35e6bc",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "9ece52d73057ebc557eccaef",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "94c2755f6ecf932d",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "daf35540ab68c14542eecd09",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5f62363ea6e117bd",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation",
      "component_id": "0110912a7a351e765d90b97a",
      "component_kind": "roadmap",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:generateAggregateRatingSchema, generateBreadcrumbSchema, generateEventSchema, generateFAQSchema, generateOfferSchema, generateOrganizationSchema, generateProductSchema, generateSearchActionSchema | process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "generateAggregateRatingSchema,generateBreadcrumbSchema,generateEventSchema,generateFAQSchema,generateOfferSchema,generateOrganizationSchema,generateProductSchema,generateSearchActionSchema",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0ed685f6848df0c3",
      "framework": "next-react",
      "imports": "",
      "lines": 297,
      "logic_relevance": "none",
      "name": "ROADMAP-SEO",
      "normalized_name": "roadmap-seo",
      "package_manager": "pnpm",
      "path": "ROADMAP-SEO.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation,ai",
      "component_id": "391572f189abcc739097e13e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cae7bd3777e890dc",
      "framework": "next-react",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "c53dbc9df0f8f1b3a1aca20e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a4a5e72f1724e727",
      "framework": "next-react",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "4c8f2b8bcb397233e15f8ae2",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiResponse, AuctionType, Bid, BidEvent, Category, Conversation, EbayImportedListing, EbayMigration | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ApiResponse,AuctionType,Bid,BidEvent,Category,Conversation,EbayImportedListing,EbayMigration,ItemCondition,Listing,ListingEvent,ListingImage,ListingStatus,Locale,Message,MigrationStatus,Notification,NotificationPreferences,Order,OrderStatus,PaginatedResponse,Profile,Review,SavedSearch,SearchFilters,ShippingAddress,ShippingOption,Storefront,Tenant,UserRole,VerificationStatus,WatchlistItem,WebhookEndpoint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f88b8383c3a8bc8",
      "framework": "next-react",
      "imports": "",
      "lines": 414,
      "logic_relevance": "none",
      "name": "database",
      "normalized_name": "database",
      "package_manager": "pnpm",
      "path": "types/database.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,security,discovery,ai",
      "component_id": "a0160068e0013124a2a21d00",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/config, next | frontend-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3af0287498dfd3d7",
      "framework": "next-react",
      "imports": "@/lib/config,next",
      "lines": 39,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery",
      "component_id": "442726de854fba2495388596",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/config, @/lib/supabase/server, next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8243c69d4c9e5f4",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/supabase/server,next",
      "lines": 99,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "33fc6a52dd20d6091c8f9dbb",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/providers, @/lib/config, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "52e203d9befbf1ed",
      "framework": "next-react",
      "imports": "@/components/providers,@/lib/config,@vercel/analytics/next,next,next/font/google",
      "lines": 124,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery,ai",
      "component_id": "98b7f2370eb78d91a473ae15",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:@/lib/config, next | frontend-score:55 | discovery-score:55 | ai-score:45",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1379021d6c842ee",
      "framework": "next-react",
      "imports": "@/lib/config,next",
      "lines": 77,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2c93acb4558bde4ce19b9514",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/category-grid, @/components/layout/footer, @/components/layout/top-bar, @/components/listing/listing-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/config | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "800651873b35be7c",
      "framework": "next-react",
      "imports": "@/components/category-grid,@/components/layout/footer,@/components/layout/top-bar,@/components/listing/listing-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/config,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,lucide-react,next/link,react",
      "lines": 348,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "60cf2692befc54819ed8e578",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "483504da0112df0b",
      "framework": "next-react",
      "imports": "",
      "lines": 237,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b2869cee664b4c07bc214ad7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4964ea78644114ad",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "876b0ba83c55ba45ad2beceb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellerPage, metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/ui/button, @/components/ui/card, @/lib/mock-auth, @/lib/mock-data, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SellerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2089354c66f254af",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/ui/button,@/components/ui/card,@/lib/mock-auth,@/lib/mock-data,lucide-react,next,next/link,next/navigation",
      "lines": 190,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/seller/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "936398bde90efa35a1d52d46",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellerOnboardingPage | imports:@/components/layout/top-bar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/progress | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SellerOnboardingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcbbf27a5b194307",
      "framework": "next-react",
      "imports": "@/components/layout/top-bar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/progress,@/components/ui/radio-group,@/components/ui/textarea,@/lib/mock-auth,lucide-react,next/link,next/navigation,react",
      "lines": 398,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/seller/onboarding/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "b5c5645bd82d91d26c4f10b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8991e321e3bbbbb6",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 252,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,discovery",
      "component_id": "d43b10cc72b0b999ace94f86",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/mock-data, @/lib/supabase/server | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4daaa43f7495108a",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/mock-data,@/lib/supabase/server",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "5132e611336a0a3d498f670e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/mock-data, @/lib/supabase/server | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "feaf5375985ef3f5",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/mock-data,@/lib/supabase/server",
      "lines": 135,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "25b9c479b573eb7dc8339eb9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/listing/create-listing-form, @/lib/mock-auth, @/lib/mock-data, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a465cbd0baceba6",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/listing/create-listing-form,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,next/navigation",
      "lines": 71,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sell/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "09e882a15aa87781a773777d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/messages/messages-client, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac6af8d99cd285ac",
      "framework": "next-react",
      "imports": "@/components/messages/messages-client,@/lib/supabase/server,next/navigation",
      "lines": 47,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/messages/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "42bb352de8edcf163efdd827",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/lib/config, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce1137bb953564a9",
      "framework": "next-react",
      "imports": "@/lib/config,next",
      "lines": 146,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "434306f5ea275569cc083055",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryListings, CategoryPage | imports:@/components/listing/listing-card, @/components/listing/listing-filters, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/skeleton, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | metadata",
      "exports": "CategoryListings,CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e472d02fcf784e7",
      "framework": "next-react",
      "imports": "@/components/listing/listing-card,@/components/listing/listing-filters,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/skeleton,@/lib/supabase/server,lucide-react,next/navigation,react",
      "lines": 233,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "fac289404cc32c1b5f26c9b3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecurityPage, metadata | imports:@/components/ui/badge, @/components/ui/card, @/lib/config, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SecurityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e3a815196c66d50",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/config,lucide-react,next,next/link",
      "lines": 175,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/security/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3ecadebf1e194449d466bdde",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/mock-auth, @/lib/supabase/client, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb3fed762f7e64ea",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/mock-auth,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "fd352e1531b84fb5729d1d21",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "045fe90a12e2d08a",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "00070aa59cfd0b22bc6d9ea5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LogoutPage | imports:@/lib/mock-auth, @/lib/supabase/client, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LogoutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54f72d3f2a876c14",
      "framework": "next-react",
      "imports": "@/lib/mock-auth,@/lib/supabase/client,next/navigation,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/logout/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "050be2b831f4eb9e183e3f65",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c0766c925e8fdd78",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "73c97699735200d2488f7ab3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71d3fe582bff59ac",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/error/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2dc9fad61571ec41cf9849d9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/mock-auth, @/lib/supabase/client, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4fec4a9bea67e8f2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/mock-auth,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "70e5f2b54f32430c87e3c39d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44d433620938d477",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 207,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "85ea68b4e017d09d281dde2f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/accordion, @/components/ui/card, @/lib/config, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bb9a6552738c913",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/card,@/lib/config,next",
      "lines": 216,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security,ai",
      "component_id": "81d99cf384866e4ddfbe9628",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/lib/config, next | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f5f1118fd31e804",
      "framework": "next-react",
      "imports": "@/lib/config,next",
      "lines": 168,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b17a43da7b3f0e8ff0273c29",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealsPage, metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/listing/listing-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/mock-auth, @/lib/mock-data | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "DealsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0195fdf6880e5f7c",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/listing/listing-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,lucide-react,next,next/link",
      "lines": 222,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/deals/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation,ai",
      "component_id": "3b0f00dba61021a7045d6834",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/supabase-js,crypto,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/lib/config, @supabase/supabase-js, crypto, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f98c043390f4afc3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/lib/config,@supabase/supabase-js,crypto,lucide-react,next/link",
      "lines": 390,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "da7a14db23b68bb435a34b68",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserRoadmapPage, metadata | imports:@/components/ui/badge, @/components/ui/card, @/lib/config, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "UserRoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9964ed0d50dd42bc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/config,lucide-react,next",
      "lines": 213,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/user-roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "8d641d68dd45f6b91ef74cd5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestingRoadmapPage, metadata | imports:@/components/ui/badge, @/components/ui/card, @/lib/config, lucide-react, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TestingRoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a300c29c0684626a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/config,lucide-react,next",
      "lines": 280,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/testing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,process,ui,observability,security",
      "component_id": "4c1951938427a085b798f224",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIRoadmapPage, metadata | imports:@/components/ui/badge, @/components/ui/card, @/lib/config, lucide-react, next | ai-score:120 | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | model-provider",
      "exports": "AIRoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc99e36c0541de9e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/config,lucide-react,next",
      "lines": 286,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/ai-roadmap/page.tsx",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8b41f840212628761f48b4c6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/checkout/checkout-form, @/lib/mock-auth, @/lib/mock-data, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d9422bb0a4f850a",
      "framework": "next-react",
      "imports": "@/components/checkout/checkout-form,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,next/navigation",
      "lines": 103,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/checkout/[orderId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "60c5b8dd0125308d69dc4ca5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage, SearchResults | imports:@/components/listing/listing-card, @/components/listing/listing-filters, @/components/ui/button, @/components/ui/input, @/components/ui/skeleton, @/lib/mock-data, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:70 | security-score:55 | metadata",
      "exports": "SearchPage,SearchResults",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b014af6800cbe38",
      "framework": "next-react",
      "imports": "@/components/listing/listing-card,@/components/listing/listing-filters,@/components/ui/button,@/components/ui/input,@/components/ui/skeleton,@/lib/mock-data,@/lib/supabase/server,lucide-react,react",
      "lines": 225,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "bd7ed8a647b9696678c4ed1d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/mock-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "39d03ea469c58ed7",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/mock-data",
      "lines": 233,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7414367d6aef25dfce9dcb71",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/listing/listing-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/lib/mock-auth | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dff61f9feb33f0e7",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/listing/listing-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/client,@/lib/utils,@/types/database,lucide-react,next/link,react",
      "lines": 324,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "5888a31c7f2ab5effd199007",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardListingsPage | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/listing/listing-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/input | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardListingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3295f9170d2b468d",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/listing/listing-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/tabs,@/lib/mock-auth,@/lib/mock-data,@/lib/utils,lucide-react,next/link,react",
      "lines": 301,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/listings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "25d4315bf1ed64c11c97e714",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketsPage, metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/markets/prediction-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/lib/mock-auth | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MarketsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47f432e4db8de785",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/markets/prediction-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/lib/mock-auth,@/lib/mock-data,@/lib/mock-markets,lucide-react,next,next/link",
      "lines": 290,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/markets/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,integration,security,ai",
      "component_id": "b38b63f67bbe8913e9b3305f",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/products, ../../lib/stripe, next/headers | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ca421a83044694b3",
      "framework": "next-react",
      "imports": "../../lib/products,../../lib/stripe,next/headers",
      "lines": 35,
      "logic_relevance": "none",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "app/actions/stripe.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "182aeaf8479d3b02271826d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ANTI_SNIPE_EXTENSION, ANTI_SNIPE_THRESHOLD, GET, POST | imports:@/lib/supabase/server, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "ANTI_SNIPE_EXTENSION,ANTI_SNIPE_THRESHOLD,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cec27db6cff5822b",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,@/lib/utils,next/server",
      "lines": 200,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/bids/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "f6b4a5d93730e15ae08db82d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/supabase/server, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1a27bc44bbe8aac8",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,@/lib/utils,next/server",
      "lines": 225,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/listings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "437ac4dafd7325bbb6c66f9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "94157a690a2a3e78",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 212,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/listings/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "66b96b04c19bb9ddcbd4211d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PLATFORM_FEE_PERCENT, POST | imports:@/lib/stripe, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "PLATFORM_FEE_PERCENT,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3a56a6820028474c",
      "framework": "next-react",
      "imports": "@/lib/stripe,@/lib/supabase/server,next/server",
      "lines": 130,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/checkout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "038767d8763859a5c83c1924",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c70f1d2c62efe291",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 176,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/orders/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "58d0c5813e8b916b064c1d4e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "12c9d9ddcb35b366",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 280,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/import/ebay/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "c19a5a9a3e0767c25bf0973d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5847ca6e84015806",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/supabase/server,next/server",
      "lines": 230,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4fed0138d8ef1cc66041c982",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/config, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d8bc4b99b3b5c57",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/supabase/server,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "3362a66c3791dcf0d72ac2b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/config, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f6c8a9d887dc4d6",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/supabase/server,next/server",
      "lines": 198,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation",
      "component_id": "fa5779af5d3364a2c4bb3a94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5389ca118aefe993",
      "framework": "next-react",
      "imports": "@/lib/config,next/server",
      "lines": 570,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "060b14d5a01695926b3ffa12",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EventTypes, runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "EventTypes,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca50bec0cc5c41bc",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 192,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "557ae8cef8fbabc4b6ce1cb2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/supabase/server, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4864f33e3736c3f4",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,crypto,next/server",
      "lines": 220,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "689d2cb6874c7453191bb48e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/stripe, @/lib/supabase/server, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b3f164b2cf49efab",
      "framework": "next-react",
      "imports": "@/lib/stripe,@/lib/supabase/server,next/server,stripe",
      "lines": 120,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/stripe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "00eae88026694ded45ba023d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/listing/listing-card, @/components/listing/listing-filters, @/components/ui/badge, @/components/ui/button, @/components/ui/tabs, @/lib/mock-auth | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "858755286bdddf7c",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/listing/listing-card,@/components/listing/listing-filters,@/components/ui/badge,@/components/ui/button,@/components/ui/tabs,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,lucide-react,next,next/link",
      "lines": 192,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/browse/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "5fb2352cd3682a16c7d1fde6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/mock-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "565ad7e2588284a2",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/mock-data",
      "lines": 178,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ed105c50bae53db5f98d6fac",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ListingDetailSkeleton, ListingPage | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/listing/listing-detail, @/lib/config, @/lib/mock-auth, @/lib/mock-data, @/lib/supabase/server, next | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "ListingDetailSkeleton,ListingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45e619982006e839",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/listing/listing-detail,@/lib/config,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,next,next/navigation,react",
      "lines": 229,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/listing/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4434d92fdce0dbc958db944a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/import/ebay-import-wizard, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5378c8587a406f90",
      "framework": "next-react",
      "imports": "@/components/import/ebay-import-wizard,@/lib/supabase/server,next/navigation",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/import/ebay/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "63f9c84f815823176cd51aa0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoriesPage, metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/ui/badge, @/components/ui/card, @/lib/mock-auth, @/lib/mock-data, @/lib/supabase/server, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CategoriesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2f0d18d471d2847",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/ui/badge,@/components/ui/card,@/lib/mock-auth,@/lib/mock-data,@/lib/supabase/server,lucide-react,next,next/link",
      "lines": 182,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "62f67ec21ddbaa634b0e59ae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WatchlistPage | imports:@/components/listing/listing-card, @/components/ui/button, @/components/ui/card, @/lib/supabase/client, @/types/database, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WatchlistPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec73238a5222db5c",
      "framework": "next-react",
      "imports": "@/components/listing/listing-card,@/components/ui/button,@/components/ui/card,@/lib/supabase/client,@/types/database,lucide-react,next/link,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/watchlist/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,ai",
      "component_id": "3512642ff889861582cdf50c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoreContent, StorePage | imports:@/components/listing/listing-card, @/components/ui/badge, @/components/ui/button, @/components/ui/skeleton, @/components/ui/tabs, @/lib/supabase/server, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "StoreContent,StorePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "240a429b1914b5c2",
      "framework": "next-react",
      "imports": "@/components/listing/listing-card,@/components/ui/badge,@/components/ui/button,@/components/ui/skeleton,@/components/ui/tabs,@/lib/supabase/server,@/lib/utils,lucide-react,next/image,next/link,next/navigation,react",
      "lines": 253,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/store/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "ef4bb14cc13249f698744d88",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8037e5b013462dbb",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 88,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "6b70731fccadac0ff5d43a1b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A11Y_REQUIREMENTS, ALL_ROUTES, BASE_URL, BREAKPOINTS, FEATURES, INTERNAL_LINKS, NETWORK_URL, ONBOARD_URL | imports:vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "A11Y_REQUIREMENTS,ALL_ROUTES,BASE_URL,BREAKPOINTS,FEATURES,INTERNAL_LINKS,NETWORK_URL,ONBOARD_URL,PERFORMANCE_TARGETS,PLATPHORM_404,SECURITY_MEASURES",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "25c1b7ec646f6566",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 400,
      "logic_relevance": "none",
      "name": "full-suite.test",
      "normalized_name": "full-suite",
      "package_manager": "pnpm",
      "path": "tests/integration/full-suite.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "bccaed389869c07064767707",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d1dfac3675583a0a",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 275,
      "logic_relevance": "none",
      "name": "ebay-import.test",
      "normalized_name": "ebay-import",
      "package_manager": "pnpm",
      "path": "tests/features/ebay-import.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "bac14d3bd4eaaf984eadc368",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7664172469994d60",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 292,
      "logic_relevance": "none",
      "name": "realtime-bidding.test",
      "normalized_name": "realtime-bidding",
      "package_manager": "pnpm",
      "path": "tests/features/realtime-bidding.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "4aa0b258a75d7853ff8aefaa",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:API_ROUTES, DYNAMIC_ROUTES, EXTERNAL_LINKS, FEED_ROUTES, PLATPHORM_404, PROTECTED_ROUTES, PUBLIC_ROUTES | imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "API_ROUTES,DYNAMIC_ROUTES,EXTERNAL_LINKS,FEED_ROUTES,PLATPHORM_404,PROTECTED_ROUTES,PUBLIC_ROUTES",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c161e65afa6729b",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 200,
      "logic_relevance": "none",
      "name": "routes.test",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "tests/navigation/routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui,security",
      "component_id": "4cb0275f6d587d49328e442f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/listing/listing-card, @/lib/mock-data, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc046c25b900af4c",
      "framework": "next-react",
      "imports": "@/components/listing/listing-card,@/lib/mock-data,@testing-library/react,vitest",
      "lines": 93,
      "logic_relevance": "none",
      "name": "listing-card.test",
      "normalized_name": "listing-card",
      "package_manager": "pnpm",
      "path": "tests/components/listing-card.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "89eb6ef79acd88db05c410d4",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d0593ad1822e80f5",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 191,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "80d1c7573e8ce0d5dfe8eadc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/bids/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6a8d14c29aaaf641",
      "framework": "next-react",
      "imports": "@/app/api/v1/bids/route,next/server,vitest",
      "lines": 104,
      "logic_relevance": "none",
      "name": "bids.test",
      "normalized_name": "bids",
      "package_manager": "pnpm",
      "path": "tests/api/bids.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "5d02db654cb97390685a5d4a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,crypto,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/webhooks/route, crypto, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0b1e64fd613deac",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route,crypto,next/server,vitest",
      "lines": 139,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "tests/api/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "8a7fbe7de40abc61eb97552c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/listings/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b1e44cd6147d0af0",
      "framework": "next-react",
      "imports": "@/app/api/v1/listings/route,next/server,vitest",
      "lines": 99,
      "logic_relevance": "none",
      "name": "listings.test",
      "normalized_name": "listings",
      "package_manager": "pnpm",
      "path": "tests/api/listings.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5825e6f23fa9159ecf16ffb1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd5de265f4871234",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 34,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "65a8eeee6fec6c1b2f931e9c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ae3ef190efbff0e",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 307,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "tests/seo/discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "3b91be13aec0b509092068ea",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ccdeb7b9e99343e8",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 262,
      "logic_relevance": "none",
      "name": "flows.test",
      "normalized_name": "flows",
      "package_manager": "pnpm",
      "path": "tests/e2e/flows.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "3f377987cbf0817282f56d81",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c6ed1214873c5da6",
      "framework": "next-react",
      "imports": "",
      "lines": 379,
      "logic_relevance": "none",
      "name": "SEO-ACCESSIBILITY-ROADMAP",
      "normalized_name": "seo-accessibility-roadmap",
      "package_manager": "pnpm",
      "path": "docs/SEO-ACCESSIBILITY-ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "9d7d080a493234151e43bfdc",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b9bbb5a4e7d4725b78f22d00",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "79b6b8907cfcf1bcdf7503ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@stripe/react-stripe-js,@stripe/stripe-js,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Checkout | imports:../app/actions/stripe, @stripe/react-stripe-js, @stripe/stripe-js, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "Checkout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f3f0ffb998b2277",
      "framework": "next-react",
      "imports": "../app/actions/stripe,@stripe/react-stripe-js,@stripe/stripe-js,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkout",
      "normalized_name": "checkout",
      "package_manager": "pnpm",
      "path": "components/checkout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "d677e4064bcc38a49adc783d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryGrid | imports:@/lib/utils, @/types/database, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CategoryGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6ae1bc3e0ad17bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@/types/database,lucide-react,next/link",
      "lines": 72,
      "logic_relevance": "none",
      "name": "category-grid",
      "normalized_name": "category-grid",
      "package_manager": "pnpm",
      "path": "components/category-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "13eddd6b407ee5cb07806199",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/components,next-themes,swr",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:Providers | imports:@/components/ui/sonner, next-themes, swr | frontend-score:85 | ui-score:55",
      "exports": "Providers",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d492937fd5392fb",
      "framework": "next-react",
      "imports": "@/components/ui/sonner,next-themes,swr",
      "lines": 30,
      "logic_relevance": "none",
      "name": "providers",
      "normalized_name": "providers",
      "package_manager": "pnpm",
      "path": "components/providers.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5449d57d16d690427dd49e93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cd08544e0a76827417f1c037",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "21d14e7ff2c346abd3a53fb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6db3b8e51b9f4d0dcaef7dd6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b24a6882ff8509462e391393",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2c7e6325142346d95d9487a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4c99f896be7e67a3c86134ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "a9d56b2c24939299d4267653",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0a09386a93a5ff3ca50400c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "12a8a18d9c0358673e8a2037",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "b98decdd90c25d04fe815e32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "8807c315c9b080cbed827ee1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7743ed1ff68ca1356363e1ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "285225c0cfa08e43f9099ea5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3cda8211b2e871fcb7f864c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "569133bde9d7a61934899894",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dcce6e20f7abde709cd87a8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8896f297392d94a8db78ffed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "823e4d95d4f77cb944219f0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9b192455b65cdf5ad8298fb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "227dfda6c90ee627f0b46b9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "aa0b6a92b632b8765ba74053",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "54b8cbd34eb86c6bc9162b54",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6cda0a33dc95df4c7f286234",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1f259a82622c3653dc2680aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "1c2af3b044e8257774750777",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f76166912ceabf11f9d9616d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "5a4dea23774c28919b56765c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d5fa632c2916fc26de09b04c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "6f3ddcbf08418bed29648f10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8b69eb1b0d336e36783dd7ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a75f271d0f161218a430b261",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c9768cae782eebe94e4e7e9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dfe489c4c0e12c9121277f4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2afe6e39ef6682bbd5ec35c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "1b9f953aca9a533bf54ee59b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a6862b0c35aecf9887d50691",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "baa7174e1228a134ebfbcee5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "763075de69496eed66b5f77f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "262826e64686de1a8d77d3fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "21bb731607d6599fccf90ea5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e9996143ec78ed08ed9808c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e7c94c3bc3d1af1e1e8e0364",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1149e710bf71510e07fbb180",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ce5b6ea2383e489a6b95c32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "23992645ab5adc8e63f20965",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cff2eb3b51930a30c8330b1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "26d8883a820aa8b5294c7f76",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e1079b4fde89559602f765d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7b8dff831d75c2176dbaf59b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0ae9b9d6678ee5f1e9af2116",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f729722f21bb639ab2d4aed2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "59816f47607b673cf848ddc3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "3e1ff727f3b6d6658f0631f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b90b4d70cffcdd394555995f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "823eaec0e4ad5104df77395d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "018be59df087774c6e3989d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c11bbe7e4fd8e2929cabb675",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessagesClient | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/separator, @/lib/supabase/client, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MessagesClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eea5ae8e99a3e964",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/separator,@/lib/supabase/client,@/lib/utils,lucide-react,next/image,next/link,react",
      "lines": 311,
      "logic_relevance": "none",
      "name": "messages-client",
      "normalized_name": "messages-client",
      "package_manager": "pnpm",
      "path": "components/messages/messages-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b1581dc7574b1b22c558ea9c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/config, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "796d60a21fcf8a45",
      "framework": "next-react",
      "imports": "@/lib/config,lucide-react,next/link",
      "lines": 183,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,ai",
      "component_id": "b783d114381f0c36028a034e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:@/components/ui/button, @/lib/utils, lucide-react, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6849a70e783bd35b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 172,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "fa6e3758c2168a298d8beaaa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/config, @/lib/utils, lucide-react, next-themes | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ba4fb5b187602be",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/config,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 312,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,logic,security",
      "component_id": "5d2eccd8d449344ef44801a1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShippingCalculator | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/integrations/shipments, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "ShippingCalculator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "656d85a21256c1ca",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/integrations/shipments,@/lib/utils,lucide-react,react",
      "lines": 211,
      "logic_relevance": "secondary",
      "name": "shipping-calculator",
      "normalized_name": "shipping-calculator",
      "package_manager": "pnpm",
      "path": "components/shipping/shipping-calculator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bc87c4433f733436235125af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@stripe/react-stripe-js,@stripe/stripe-js,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutForm | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/utils, @stripe/react-stripe-js, @stripe/stripe-js, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CheckoutForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dad42079afc71c8b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/utils,@stripe/react-stripe-js,@stripe/stripe-js,lucide-react,next/image,next/navigation,react",
      "lines": 273,
      "logic_relevance": "none",
      "name": "checkout-form",
      "normalized_name": "checkout-form",
      "package_manager": "pnpm",
      "path": "components/checkout/checkout-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "27a74a01bc754fc75abee6ad",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PredictionCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/progress, @/lib/mock-markets, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PredictionCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b342d19497afa30",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/progress,@/lib/mock-markets,@/lib/utils,lucide-react,react",
      "lines": 209,
      "logic_relevance": "none",
      "name": "prediction-card",
      "normalized_name": "prediction-card",
      "package_manager": "pnpm",
      "path": "components/markets/prediction-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "e9b15aef54a8c33bbe9fa42b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BiddingPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/separator, @/lib/supabase/client, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BiddingPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e624d7a6431f592a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/separator,@/lib/supabase/client,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 371,
      "logic_relevance": "none",
      "name": "bidding-panel",
      "normalized_name": "bidding-panel",
      "package_manager": "pnpm",
      "path": "components/listing/bidding-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "55b4a4d64175fbfb03b73aef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreateListingForm | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator, @/components/ui/switch | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CreateListingForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17cec8ba4b7a42ec",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,@/components/ui/tabs,@/components/ui/textarea,@/lib/supabase/client,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 638,
      "logic_relevance": "none",
      "name": "create-listing-form",
      "normalized_name": "create-listing-form",
      "package_manager": "pnpm",
      "path": "components/listing/create-listing-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0e8e0c68a997b868a26aa622",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketInsights | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, @/lib/integrations/ebay-enrichment, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MarketInsights",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a1cd77c3d60f8d1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,@/lib/integrations/ebay-enrichment,@/lib/utils,lucide-react,react",
      "lines": 240,
      "logic_relevance": "none",
      "name": "market-insights",
      "normalized_name": "market-insights",
      "package_manager": "pnpm",
      "path": "components/listing/market-insights.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "221b6e075255a3099b469155",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BidHistory | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/card, @/components/ui/scroll-area, @/lib/supabase/client, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BidHistory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "451b079fedb4d44e",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/card,@/components/ui/scroll-area,@/lib/supabase/client,@/lib/utils,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "bid-history",
      "normalized_name": "bid-history",
      "package_manager": "pnpm",
      "path": "components/listing/bid-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b0af71dc45c20abc87505a3d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ListingCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, @/types/database, lucide-react, next/image, next/link | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ListingCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a24d8042ca291376",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,@/types/database,lucide-react,next/image,next/link,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "listing-card",
      "normalized_name": "listing-card",
      "package_manager": "pnpm",
      "path": "components/listing/listing-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c7fcc7f1811accb0cf97291f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellerInfo | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, @/types/database, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SellerInfo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "203c7560335a5c9a",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,@/types/database,lucide-react,next/link",
      "lines": 147,
      "logic_relevance": "none",
      "name": "seller-info",
      "normalized_name": "seller-info",
      "package_manager": "pnpm",
      "path": "components/listing/seller-info.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f19c80af7b475a51641dfe69",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ListingFilters | imports:@/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator, @/components/ui/sheet, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ListingFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "891754cd6bcad8c7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/sheet,lucide-react,next/navigation,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "listing-filters",
      "normalized_name": "listing-filters",
      "package_manager": "pnpm",
      "path": "components/listing/listing-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "39c1afb2a37c4a0152d296b9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageGallery | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/lib/utils, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ImageGallery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c86ffe83194cfe5e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/lib/utils,lucide-react,next/image,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "image-gallery",
      "normalized_name": "image-gallery",
      "package_manager": "pnpm",
      "path": "components/listing/image-gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9c3ec56d3644f7b0a45c6837",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ListingDetail | imports:./bid-history, ./bidding-panel, ./image-gallery, ./market-insights, ./seller-info, @/components/markets/prediction-card, @/components/ui/badge, @/components/ui/button | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ListingDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee8882d292bf2b60",
      "framework": "next-react",
      "imports": "./bid-history,./bidding-panel,./image-gallery,./market-insights,./seller-info,@/components/markets/prediction-card,@/components/ui/badge,@/components/ui/button,@/components/ui/tabs,@/lib/mock-markets,@/lib/utils,@/types/database,lucide-react,next/link,react",
      "lines": 294,
      "logic_relevance": "none",
      "name": "listing-detail",
      "normalized_name": "listing-detail",
      "package_manager": "pnpm",
      "path": "components/listing/listing-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "873298fd0c87b550dcaed0d8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EbayImportWizard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/progress, @/components/ui/separator | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EbayImportWizard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7fad8a7ba14f8e70",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/progress,@/components/ui/separator,@/lib/supabase/client,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 448,
      "logic_relevance": "none",
      "name": "ebay-import-wizard",
      "normalized_name": "ebay-import-wizard",
      "package_manager": "pnpm",
      "path": "components/import/ebay-import-wizard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "dd4eec729769d6129a114bb3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationBell | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/popover, @/components/ui/scroll-area, @/lib/supabase/client, @/lib/utils, @/types/database, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NotificationBell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfe2298cc9e4bc6c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/popover,@/components/ui/scroll-area,@/lib/supabase/client,@/lib/utils,@/types/database,lucide-react,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "notification-bell",
      "normalized_name": "notification-bell",
      "package_manager": "pnpm",
      "path": "components/notifications/notification-bell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5c84295d639c59f5bdc1290e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReviewForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/spinner, @/components/ui/textarea, @/lib/supabase/client, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ReviewForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "472f48264d19a7b6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/spinner,@/components/ui/textarea,@/lib/supabase/client,lucide-react,react",
      "lines": 228,
      "logic_relevance": "none",
      "name": "review-form",
      "normalized_name": "review-form",
      "package_manager": "pnpm",
      "path": "components/reviews/review-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "665414ff1ef40643c6e52734",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReviewList | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/lib/utils, @/types/database, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ReviewList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "440c9bcff4068ac5",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/lib/utils,@/types/database,lucide-react,react",
      "lines": 220,
      "logic_relevance": "none",
      "name": "review-list",
      "normalized_name": "review-list",
      "package_manager": "pnpm",
      "path": "components/reviews/review-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "c30c43d0cb66e5349c5b5380",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,@/types,@supabase/supabase-js,react",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:usePlaceBid, useRealtimeListing | imports:@/lib/supabase/client, @/types/database, @supabase/supabase-js, react | observability-score:55 | security-score:55",
      "exports": "usePlaceBid,useRealtimeListing",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8a55e548efd9ba5",
      "framework": "next-react",
      "imports": "@/lib/supabase/client,@/types/database,@supabase/supabase-js,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "use-realtime-listing",
      "normalized_name": "use-realtime-listing",
      "package_manager": "pnpm",
      "path": "hooks/use-realtime-listing.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3bd3b32d85dd9ef5442eb0c9",
      "component_kind": "fingerprinting",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:getStoredFingerprintHash, getStoredFingerprintId, useFingerprint | imports:@/lib/integrations/fingerprint, react | security-score:55",
      "exports": "getStoredFingerprintHash,getStoredFingerprintId,useFingerprint",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f6e0fbbc6384ae4",
      "framework": "next-react",
      "imports": "@/lib/integrations/fingerprint,react",
      "lines": 103,
      "logic_relevance": "none",
      "name": "use-fingerprint",
      "normalized_name": "use-fingerprint",
      "package_manager": "pnpm",
      "path": "hooks/use-fingerprint.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9dd8b650da4043c5e15d65d7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockUser, getMockSession, getMockUser, guestUser, mockUser, setMockLoggedIn, toggleMockAuth | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MockUser,getMockSession,getMockUser,guestUser,mockUser,setMockLoggedIn,toggleMockAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b24054af749bd9a",
      "framework": "next-react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "mock-auth",
      "normalized_name": "mock-auth",
      "package_manager": "pnpm",
      "path": "lib/mock-auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security",
      "component_id": "44ecd19df020e0a9ab9c4140",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "stripe",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isStripeConfigured, stripe | imports:stripe | logic-score:60 | integration-score:55 | security-score:55 | uses-env",
      "exports": "isStripeConfigured,stripe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6999e36c3c706f0f",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 14,
      "logic_relevance": "primary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "34dee78c3dbc60a8a939c432",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateBidIncrement, calculateMinBid, cn, formatCurrency, formatDate, formatNumber, formatRelativeTime, formatTimeLeft | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "calculateBidIncrement,calculateMinBid,cn,formatCurrency,formatDate,formatNumber,formatRelativeTime,formatTimeLeft,generateSlug,truncate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f87e5626c315a11c",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 125,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability",
      "component_id": "686ae91623ea68980a1471a5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarketOption, PredictionMarket, getMockMarket | logic-score:85 | observability-score:55",
      "exports": "MarketOption,PredictionMarket,getMockMarket",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "59bc30589697ca67",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "mock-markets",
      "normalized_name": "mock-markets",
      "package_manager": "pnpm",
      "path": "lib/mock-markets.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "e5e01b9664d24189e52b1887",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SiteConfig, siteConfig | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteConfig,siteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0e11caa26279c92c",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "7f4adfa48b8c02ad6ae849a1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockSeller, getMockBidsForListing, getMockListingBySlug, mockBids, mockCategories, mockListings, mockSellers | imports:@/types/database | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MockSeller,getMockBidsForListing,getMockListingBySlug,mockBids,mockCategories,mockListings,mockSellers",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2b6194520a5ad05e",
      "framework": "next-react",
      "imports": "@/types/database",
      "lines": 407,
      "logic_relevance": "primary",
      "name": "mock-data",
      "normalized_name": "mock-data",
      "package_manager": "pnpm",
      "path": "lib/mock-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "a2a32e6a13fde7223c707fed",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "da5a80a2ab1746e9",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "fa47321132ef173062619ce3",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e8476d533df0153",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "65dbf02390fa50621ce9644b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b0734bcf5d3fa64",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "2ef2ceb7a05288f4c8309af2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarketOption, MarketPosition, MarketResolution, PlaceBetParams, PredictionMarket | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MarketOption,MarketPosition,MarketResolution,PlaceBetParams,PredictionMarket",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f647e6d3024a82fb",
      "framework": "next-react",
      "imports": "",
      "lines": 281,
      "logic_relevance": "primary",
      "name": "polymarkets",
      "normalized_name": "polymarkets",
      "package_manager": "pnpm",
      "path": "lib/integrations/polymarkets.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability,security,ai",
      "component_id": "dc8087a95b325aabca09adff",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AutoBid, AutoListing, Vehicle, VehicleSearchParams | imports:./index | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AutoBid,AutoListing,Vehicle,VehicleSearchParams",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e502e0e7475584f4",
      "framework": "next-react",
      "imports": "./index",
      "lines": 191,
      "logic_relevance": "primary",
      "name": "auto-auctions",
      "normalized_name": "auto-auctions",
      "package_manager": "pnpm",
      "path": "lib/integrations/auto-auctions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2dbd432d92b4763679cad04b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DomainReputation, PolicyData, PolicyRule, RiskAssessment, ThreatData | imports:./index | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DomainReputation,PolicyData,PolicyRule,RiskAssessment,ThreatData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c359f2a8181609b5",
      "framework": "next-react",
      "imports": "./index",
      "lines": 131,
      "logic_relevance": "primary",
      "name": "claws",
      "normalized_name": "claws",
      "package_manager": "pnpm",
      "path": "lib/integrations/claws.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,observability",
      "component_id": "aaedad11af4ddddb7b8be077",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LabelRequest, LabelResponse, RateRequest, RateResponse, ShippingRate, TrackingEvent, TrackingResponse | imports:./index | logic-score:85 | observability-score:55",
      "exports": "LabelRequest,LabelResponse,RateRequest,RateResponse,ShippingRate,TrackingEvent,TrackingResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb7a2a428bbccfc0",
      "framework": "next-react",
      "imports": "./index",
      "lines": 166,
      "logic_relevance": "primary",
      "name": "shipments",
      "normalized_name": "shipments",
      "package_manager": "pnpm",
      "path": "lib/integrations/shipments.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,security,automation",
      "component_id": "aef68df5d7c5129cefc84faf",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpCallResult, McpTool, NetworkEvent, SyndicationTarget | logic-score:85 | integration-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "McpCallResult,McpTool,NetworkEvent,SyndicationTarget",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7fbd6942a0e9935c",
      "framework": "next-react",
      "imports": "",
      "lines": 272,
      "logic_relevance": "primary",
      "name": "platphorm-mcp",
      "normalized_name": "platphorm-mcp",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphorm-mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "ae5f3431d59455822933ef40",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintAnalysis, FingerprintData, FingerprintResult, collectFingerprint, getFingerprintScriptUrl | imports:./index | logic-score:85 | security-score:55",
      "exports": "FingerprintAnalysis,FingerprintData,FingerprintResult,collectFingerprint,getFingerprintScriptUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "189b111c097864eb",
      "framework": "next-react",
      "imports": "./index",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/integrations/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "935e96c9340dcdabb39100c5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EbayAveragePrice, EbaySearchResult, EbaySimilarItem, EbayStoreInfo | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "EbayAveragePrice,EbaySearchResult,EbaySimilarItem,EbayStoreInfo",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f6e47be56a343c71",
      "framework": "next-react",
      "imports": "",
      "lines": 324,
      "logic_relevance": "primary",
      "name": "ebay-enrichment",
      "normalized_name": "ebay-enrichment",
      "package_manager": "pnpm",
      "path": "lib/integrations/ebay-enrichment.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability,security",
      "component_id": "d0c146c36d63a807d0e585c8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_SERVICES, NetworkService | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "NETWORK_SERVICES,NetworkService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ec68e423b23ac139",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/integrations/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "22afceb3b13f7939845ae90c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getLocaleDirection, isValidLocale, localeNames, locales | logic-score:85 | observability-score:55",
      "exports": "Locale,defaultLocale,getLocaleDirection,isValidLocale,localeNames,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7520cd5c4947565a",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-auction-vice",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7ff8ea96d6d52ab50ddbfe42",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f042257e258b93fa",
      "framework": "next-react",
      "imports": "",
      "lines": 6859,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "71f9fea0e914122049472448",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8126212e99c2bd5c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation",
      "component_id": "00eb84125b1319586f5ae416",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "os,playwright.sync_api",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:run_cuj | imports:os, playwright.sync_api | security-score:55 | automation-score:50",
      "exports": "run_cuj",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7360952604ef6e8",
      "framework": "next-react",
      "imports": "os,playwright.sync_api",
      "lines": 38,
      "logic_relevance": "none",
      "name": "verify_job_input",
      "normalized_name": "verify-job-input",
      "package_manager": "pnpm",
      "path": "verify_job_input.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "5fd58b4b8af0dbb8cd17720d",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7de8161a44967c9f",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0d92fe1e938e4bbdccff7b26",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d84cabbc39e291d0",
      "framework": "next-react",
      "imports": "",
      "lines": 267,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "21e58564d7d5c2e47731a2ce",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "765ae9807cc85656",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7c01e2c2e36cf700ca558dab",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7074ff9f9a72a507",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,automation,ai",
      "component_id": "70b8dccea5dde9974e996419",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "193ab50c4732afbd",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "pr_body",
      "normalized_name": "pr-body",
      "package_manager": "pnpm",
      "path": "pr_body.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "c1b0c279fd02495b15829c54",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6236eb44ef8c9190",
      "framework": "next-react",
      "imports": "next",
      "lines": 52,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8a2aea8b01c460fe6ce8dc7f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/providers/trace-provider, @vercel/analytics/next, next, next/font/google, next/script | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "591a0a9f9665fd9e",
      "framework": "next-react",
      "imports": "@/components/providers/trace-provider,@vercel/analytics/next,next,next/font/google,next/script",
      "lines": 302,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "db2e009bc4c6b0ab6e8b0e24",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1ca7350419a57963",
      "framework": "next-react",
      "imports": "next",
      "lines": 72,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "3357567f1fd045f14e830aa7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/home/hero-feed, @/components/layout/app-shell | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a35bea39ed8121e",
      "framework": "next-react",
      "imports": "@/components/home/hero-feed,@/components/layout/app-shell",
      "lines": 17,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "61e0c4adb95256b5ab3dcc03",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4e6894e2cabf53f2",
      "framework": "next-react",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e632a53842eae267adb03525",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/lib/network, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9170e6fb0336342",
      "framework": "next-react",
      "imports": "@/lib/network,next/link",
      "lines": 102,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "46f079fd3613582042b54665",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9c1ed2715470a747",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "cc0889d5c10018b85388008f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91e2fb7d2d8f9a5c",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "4a7adabbe594539277dbabb3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1d08028183c87a0e",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "a1e01d1558b8b28ae13e737d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/layout/app-shell, @/components/ui/breadcrumbs, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72005a5c9b5e52cf",
      "framework": "next-react",
      "imports": "@/components/layout/app-shell,@/components/ui/breadcrumbs,next,next/link",
      "lines": 132,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "155f023f7804f90fab7ecfc5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/layout/app-shell, @/components/ui/breadcrumbs, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1cec321833fbbfa",
      "framework": "next-react",
      "imports": "@/components/layout/app-shell,@/components/ui/breadcrumbs,next,next/link",
      "lines": 220,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "5e10f3d63ec0043afe98b040",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cd143b429176f5e1",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "ad57bdb3d33ba4254835125a",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:../agent.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0d0e2f8ab26161f8",
      "framework": "next-react",
      "imports": "../agent.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "2a64c342bf97844830345944",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c7e00090319bd3e5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "028892a8821c19e2adbd7f89",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "07c6ec258860a36f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "b7d350e508c1408a0f8dcd7f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2182d4f606fcd305",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "6a79027ad663ab89785785de",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a9ccae3150793139",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration",
      "component_id": "f3e4a3e6c817756aa32b447e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2f8ed47907e19d16",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "1de891ca3c3b89ecb96f792a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/layout/app-shell, @/components/network/network-sitemap, @/components/network/route-compliance-panel, @/lib/network, next, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c385b20565b1f7df",
      "framework": "next-react",
      "imports": "@/components/layout/app-shell,@/components/network/network-sitemap,@/components/network/route-compliance-panel,@/lib/network,next,react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "56604c62ca1c055010c53d07",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkCategoryPage | imports:@/components/layout/app-shell, @/components/network/category-site-grid, @/lib/network, next, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | metadata",
      "exports": "NetworkCategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7970a0b445f14eed",
      "framework": "next-react",
      "imports": "@/components/layout/app-shell,@/components/network/category-site-grid,@/lib/network,next,next/link,next/navigation,react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/category/[category]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "c8941421bce4e9e881321d4c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MissingRouteRedirect | imports:next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "MissingRouteRedirect",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "08a64f746ca21710",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[...slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "9adbb5d70bddfc7652f5608b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata, revalidate | imports:@/components/layout/app-shell, @/lib/network, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "metadata,revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26b970da4efbb604",
      "framework": "next-react",
      "imports": "@/components/layout/app-shell,@/lib/network,next,next/link",
      "lines": 337,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/feeds/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "37d3eaa7785b37fef9ad6920",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6f2ac07a43a04a01",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 247,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "ef10289acd989864d7cb46c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b17727c15207c2a7",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4472099ad09461e632157c78",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab125488df8dc8dc",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "84b15f28e349e6dad04dfce0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2cd5e63effe66ff3",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/headlines/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "394ff3c0101ff18b0eb3eb41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, @/lib/trace/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2127e62da1c6c17",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/trace/client,next/server",
      "lines": 70,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "c2bb2d2c32834fe6aebf9e4a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c33621f974fab58e",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability",
      "component_id": "e77c895ecebaa58d8668ddc1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f21936faa446c37d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/jobs/apply/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "1c2e29f305823d464eee5acb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, VERSION | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,VERSION",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6f61c142910502a8",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability",
      "component_id": "dd6a83b0f4609df67de08493",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6458b4849275d7d0",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "31408c32c84dd483e3596a51",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3a9e79beff93fc5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "696cae8b993552f99b36efe2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, POST | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8e85a6f2f88ef328",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 284,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "381dcf6fa30f5e67aab75c4a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/docs/openapi-spec, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21cc8f1e4cd32943",
      "framework": "next-react",
      "imports": "@/lib/docs/openapi-spec,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "963200b4690997da56eb7ca8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d678ad697e802342",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "46831d9263a5ec9e961dbc71",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e6c576a063746262",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 104,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,security,discovery",
      "component_id": "4f905f1e684b029942caa01a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/docs/openapi-spec, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85ea40d5be17adc0",
      "framework": "next-react",
      "imports": "@/lib/docs/openapi-spec,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "33a63d7edcb85348d5853f65",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e58e837117d12115",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security,ai",
      "component_id": "aca18f457a01d567942f71e8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:@/components/jobs/job-listings, @/components/layout/app-shell, @/lib/network, next | frontend-score:115 | automation-score:95 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2a89df24e5ae02c",
      "framework": "next-react",
      "imports": "@/components/jobs/job-listings,@/components/layout/app-shell,@/lib/network,next",
      "lines": 98,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "872b85cf4434ff336bd601c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a74da464d904002f",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "99fd46ec6d48a6c8bc29e5fa",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "feb04e36890f4a8ea33bf9d9",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-themes",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes | frontend-score:85 | ui-score:55",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "efc1443b02c5d96c",
      "framework": "next-react",
      "imports": "next-themes",
      "lines": 10,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "2894e7a22bb5fd2cb9df585c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "13852e0b01c35b12cc9fc2ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "baac056399e87374b53b6289",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "50ffb8c7afb338266d02eee8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5680b8bbdf5e4701cd894566",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "21fd64fee6ad39172754d2f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d69fdc16cb368d201733bd25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "6148d0fcc543583c830b7bc1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6e6be2d521244416965cb199",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "69c67a7cbd39859b385dca2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "17df5407c3ad1b2aad649e8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "2e900b2f83c6c8bbbbc3bfc1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "79318d25700f4fb4c98ec74f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6a24596e73c27828c29afe34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c0ee37904244a9b51ede5bed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f1078a6ab5557a661a5aaecc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9550d26ad9941e6ff1908b36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7912573e8d8fd386f2219f73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ShareButton, ShareModal, useShareModal | imports:react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ShareButton,ShareModal,useShareModal",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69b5c3c6e6181d3a",
      "framework": "next-react",
      "imports": "react",
      "lines": 331,
      "logic_relevance": "none",
      "name": "share-modal",
      "normalized_name": "share-modal",
      "package_manager": "pnpm",
      "path": "components/ui/share-modal.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bd3f6aee5b1db56496a9dc12",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,automation",
      "component_id": "44b6dcb2e82f36bb8b108205",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumbs | imports:next/link, next/navigation | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0162fea562509936",
      "framework": "next-react",
      "imports": "next/link,next/navigation",
      "lines": 107,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumbs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ee53a7469f53178261ea7e07",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0504c0c88b02be096fa519de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "70245a91767beae19bcc7de9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "73ddc1d8fbd0cd9d896c6cbc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1350f510ffe44bfd24de36c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a15938bc54a813f2eb55be4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "738289f388d889c42affd5d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "99aefca5b6513a30ee97cd53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8c9e1c2e26630b90bf8bfb19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "55bd5ca96bcda9793d057efc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "1a432e043b7df143c4aab201",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9b0c0cf607a999ebc3b861df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7dca12e8d61b9ae03b01d4da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "10e0b3953ff45338ace3d5e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5e5ec38c120e960ba85203ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6effd45888acdf8296b9ae6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a145514646bcdcbf793a9e43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a320acda477beda54a545327",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0c810448da7ed6d94d657d3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "60e399ea7f14a4b87a6ce2b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ef66b795a426676c51858528",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6139db35e125ad956d782597",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "822d6244830c1551c1ae37a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2737446c35e3a56a52e30607",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "393d4d3c0aa8feb36242b731",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f8cdff458cc39721435c033c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5e33bacbace958375fd15caf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9a81f843121f81dbd07e966c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "dfeb2303d1c6d98acd7c4fcc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "cfd980dbbe4d09652d205127",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "890b4859eaf83f354b2afb63",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e27fa020c385f0864abf9e26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f3c451bbb22dfedefb38d43c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e7f4f10613690b856a22356a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "48126cde95a06207e8c01c9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "855f1390f96de04cdf7400de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "f06311307ccfae9f3e13b375",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "72dc693a6523ae8773d2500d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "3d5948bcf90e1633daaefe2e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CONTENT_SITE_PRIORITY, FeaturedSites, FeedItemCard, HeroFeed, MissionCta, NetworkCta, NetworkSiteCard, PaginatedFeedItems | imports:@/lib/network, @/lib/network/rss, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "CONTENT_SITE_PRIORITY,FeaturedSites,FeedItemCard,HeroFeed,MissionCta,NetworkCta,NetworkSiteCard,PaginatedFeedItems,PlatformStandards,QuickLinks,RecentHeadlines,RssMarquee,StatsBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43028badc0edd79a",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/network/rss,next/link",
      "lines": 688,
      "logic_relevance": "none",
      "name": "hero-feed",
      "normalized_name": "hero-feed",
      "package_manager": "pnpm",
      "path": "components/home/hero-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ab4659da57ddf2ef400e8e3a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceIndicator, TraceStatus | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "TraceIndicator,TraceStatus",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5a3f7fdfe7859ed3",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 150,
      "logic_relevance": "none",
      "name": "trace-status",
      "normalized_name": "trace-status",
      "package_manager": "pnpm",
      "path": "components/trace/trace-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "74c40da2733f041d9137d871",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/trace/trace-status, @/lib/network, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df9b623526222b9d",
      "framework": "next-react",
      "imports": "@/components/trace/trace-status,@/lib/network,next/link",
      "lines": 273,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,automation",
      "component_id": "7fa93073061f826f7a899971",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarProps | imports:@/components/network/network-sitemap, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Sidebar,SidebarProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e751185e34ea7f7",
      "framework": "next-react",
      "imports": "@/components/network/network-sitemap,next/link,next/navigation,react",
      "lines": 324,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fba0825f5b9ffbe298b70565",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar, TopBarProps | imports:@/components/trace/trace-status, @/lib/config/feature-flags, next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar,TopBarProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fcda70b354af95fa",
      "framework": "next-react",
      "imports": "@/components/trace/trace-status,@/lib/config/feature-flags,next/link,react,swr",
      "lines": 543,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "b15a43155f8b68da1d99f267",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppShell | imports:./footer, ./sidebar, ./top-bar, react | frontend-score:115 | ui-score:70",
      "exports": "AppShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa7e5c9c9aeb162d",
      "framework": "next-react",
      "imports": "./footer,./sidebar,./top-bar,react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "app-shell",
      "normalized_name": "app-shell",
      "package_manager": "pnpm",
      "path": "components/layout/app-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ff7cbacad9545899e160944c",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceProvider, useTraceContext | imports:@/lib/trace/client, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "TraceProvider,useTraceContext",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f876cd44f5935ca4",
      "framework": "next-react",
      "imports": "@/lib/trace/client,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "trace-provider",
      "normalized_name": "trace-provider",
      "package_manager": "pnpm",
      "path": "components/providers/trace-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "06812bfc88d4298ae26e0683",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RouteCompliancePanel | imports:swr | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RouteCompliancePanel",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e182ed2dabfc2f0",
      "framework": "next-react",
      "imports": "swr",
      "lines": 104,
      "logic_relevance": "none",
      "name": "route-compliance-panel",
      "normalized_name": "route-compliance-panel",
      "package_manager": "pnpm",
      "path": "components/network/route-compliance-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0725a55a4fa7d62eb276d11d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategorySiteGrid | imports:./site-tags, @/lib/network, @/lib/network/filters, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CategorySiteGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff8bed8287db5e2c",
      "framework": "next-react",
      "imports": "./site-tags,@/lib/network,@/lib/network/filters,next/navigation,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "category-site-grid",
      "normalized_name": "category-site-grid",
      "package_manager": "pnpm",
      "path": "components/network/category-site-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui,security",
      "component_id": "e4447a528c6148cb7fcae3df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteTags | imports:@/components/ui/badge | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "SiteTags",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a9fbf1723c152f5",
      "framework": "next-react",
      "imports": "@/components/ui/badge",
      "lines": 21,
      "logic_relevance": "none",
      "name": "site-tags",
      "normalized_name": "site-tags",
      "package_manager": "pnpm",
      "path": "components/network/site-tags.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "3c568b825b6c38e315675068",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkLinksCompact, NetworkSitemap | imports:./site-tags, ./sitemap/sitemap-external-links, ./sitemap/sitemap-filters, ./sitemap/sitemap-grid, ./sitemap/sitemap-header, ./sitemap/sitemap-quick-links, @/lib/network, @/lib/network/filters | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "NetworkLinksCompact,NetworkSitemap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f9266f617e6fd9a",
      "framework": "next-react",
      "imports": "./site-tags,./sitemap/sitemap-external-links,./sitemap/sitemap-filters,./sitemap/sitemap-grid,./sitemap/sitemap-header,./sitemap/sitemap-quick-links,@/lib/network,@/lib/network/filters,@/lib/network/types,next/link,next/navigation,react",
      "lines": 224,
      "logic_relevance": "none",
      "name": "network-sitemap",
      "normalized_name": "network-sitemap",
      "package_manager": "pnpm",
      "path": "components/network/network-sitemap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "f532bcd2eecd797b56aaf9f7",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SitemapFilters | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "SitemapFilters",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5998ed8b6e08e4db",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "sitemap-filters",
      "normalized_name": "sitemap-filters",
      "package_manager": "pnpm",
      "path": "components/network/sitemap/sitemap-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "2f431684e33fb0f071c605f0",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:SitemapExternalLinks | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "SitemapExternalLinks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "430a77f8d8843223",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "sitemap-external-links",
      "normalized_name": "sitemap-external-links",
      "package_manager": "pnpm",
      "path": "components/network/sitemap/sitemap-external-links.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "d0840cf8e1c406d7d849e3c2",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SitemapHeader | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "SitemapHeader",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5f48e9338de42b7b",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "sitemap-header",
      "normalized_name": "sitemap-header",
      "package_manager": "pnpm",
      "path": "components/network/sitemap/sitemap-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "f07789a72f5ffdc074eab47b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SitemapQuickLinks | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "SitemapQuickLinks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c1c5beb6d101a292",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "sitemap-quick-links",
      "normalized_name": "sitemap-quick-links",
      "package_manager": "pnpm",
      "path": "components/network/sitemap/sitemap-quick-links.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "1d77f559a0accb7f1bd24813",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SitemapGrid | imports:./site-card, @/lib/network | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "SitemapGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f001e678336d56a4",
      "framework": "next-react",
      "imports": "./site-card,@/lib/network",
      "lines": 52,
      "logic_relevance": "none",
      "name": "sitemap-grid",
      "normalized_name": "sitemap-grid",
      "package_manager": "pnpm",
      "path": "components/network/sitemap/sitemap-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "f6ee9d0e610923bd4590940f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteCard | imports:@/lib/network | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "SiteCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "edfd8b0b9ecbe56a",
      "framework": "next-react",
      "imports": "@/lib/network",
      "lines": 66,
      "logic_relevance": "none",
      "name": "site-card",
      "normalized_name": "site-card",
      "package_manager": "pnpm",
      "path": "components/network/sitemap/site-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "b2a1d1cd0c0ad5a1d80f431f",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JOBS, Job | automation-score:95 | ai-score:45",
      "exports": "JOBS,Job",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2a43b76e92c36aa6",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "data",
      "normalized_name": "data",
      "package_manager": "pnpm",
      "path": "components/jobs/data.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6fb9c31578a963dfe84f053e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobListings | imports:./application-form, ./data, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobListings",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f84d04e28bafc788",
      "framework": "next-react",
      "imports": "./application-form,./data,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "job-listings",
      "normalized_name": "job-listings",
      "package_manager": "pnpm",
      "path": "components/jobs/job-listings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "cca79c1e653717a5f6938ff0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApplicationForm | imports:./data, @/components/ui/spinner, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "ApplicationForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c4cd7c7ea0ae577",
      "framework": "next-react",
      "imports": "./data,@/components/ui/spinner,react",
      "lines": 225,
      "logic_relevance": "none",
      "name": "application-form",
      "normalized_name": "application-form",
      "package_manager": "pnpm",
      "path": "components/jobs/application-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "9c40f72a8c561a4b95a1d650",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1fd7ef7661bce9c9",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,discovery",
      "component_id": "9648904dc1e750e50ba800b5",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../app/rss.history/route, ../../lib/network | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37a4e38b0b7924b0",
      "framework": "next-react",
      "imports": "../../app/rss.history/route,../../lib/network",
      "lines": 59,
      "logic_relevance": "none",
      "name": "rss-history.test",
      "normalized_name": "rss-history",
      "package_manager": "pnpm",
      "path": "__tests__/app/rss-history.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "29dbaac1824ce39df8158745",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../app/.well-known/mcp.json/route, ../../app/.well-known/security.txt/route, ../../app/.well-known/trust.json/route, ../../app/api/v1/health/route, ../../app/llms-index.json/route, ../../app/openapi.yaml/route | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8c9c4b84ad689233",
      "framework": "next-react",
      "imports": "../../app/.well-known/mcp.json/route,../../app/.well-known/security.txt/route,../../app/.well-known/trust.json/route,../../app/api/v1/health/route,../../app/llms-index.json/route,../../app/openapi.yaml/route",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route-standard.test",
      "normalized_name": "route-standard",
      "package_manager": "pnpm",
      "path": "__tests__/app/route-standard.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "e0ad3ccea1716ea430fbdc06",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/rss.xml/route, @/lib/network | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24248ab8bb41eff3",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route,@/lib/network",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/rss.xml/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a6374e79be38587dd5809f13",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/faq/page, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1838d682d2ff33f",
      "framework": "next-react",
      "imports": "@/app/faq/page,@testing-library/react,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/faq/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend",
      "component_id": "0a9f5d5ac57c86f030881601",
      "component_kind": "frontend-feature",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../app/network/category/[category]/page, ../../../lib/network, next/navigation | frontend-score:55 | metadata",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6a17a071254f862",
      "framework": "next-react",
      "imports": "../../../app/network/category/[category]/page,../../../lib/network,next/navigation",
      "lines": 65,
      "logic_relevance": "none",
      "name": "category-page.test",
      "normalized_name": "category-page",
      "package_manager": "pnpm",
      "path": "__tests__/app/network/category-page.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "51e215c44c9cf11e1ef5bc04",
      "component_kind": "feed",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../../../app/feeds/page, ../../../lib/network | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "04126ef7c9f824fd",
      "framework": "next-react",
      "imports": "../../../app/feeds/page,../../../lib/network",
      "lines": 65,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/feeds/page.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,backend,integration,observability,ai",
      "component_id": "2e132e4c5c917f140a428786",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../app/api/mcp/route, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0c124a8bd912d121",
      "framework": "next-react",
      "imports": "../../../app/api/mcp/route,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/mcp.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,backend,observability",
      "component_id": "f0a9fee1b3cc0289e3bc8bf8",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../app/api/v1/network/route, ../../../lib/network, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ccd681d5fc7b2b2",
      "framework": "next-react",
      "imports": "../../../app/api/v1/network/route,../../../lib/network,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/network.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,observability",
      "component_id": "d67a3d4924346c679f8386a3",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../app/api/v1/route-compliance/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d64a876e8647a4ec",
      "framework": "next-react",
      "imports": "../../../app/api/v1/route-compliance/route,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route-compliance.test",
      "normalized_name": "route-compliance",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/route-compliance.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,observability,security",
      "component_id": "2abdfbfd61f656015102b065",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../../../app/api/cron/refresh/route | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e64dd03329c1c049",
      "framework": "next-react",
      "imports": "../../../app/api/cron/refresh/route",
      "lines": 145,
      "logic_relevance": "none",
      "name": "cron.test",
      "normalized_name": "cron",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/cron.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "3b6f284bbcacec4a7b6f18ba",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../app/api/docs/route | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "28d6046a6876132a",
      "framework": "next-react",
      "imports": "../../../app/api/docs/route",
      "lines": 35,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "60b56d9f945b6ba2a7f4b439",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a895398cf5953f1e",
      "framework": "next-react",
      "imports": "../../../app/api/health/route",
      "lines": 19,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,automation",
      "component_id": "0e4ab20804a9a934badf5949",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/jobs/apply/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "847ffee5a530e6b4",
      "framework": "next-react",
      "imports": "@/app/api/v1/jobs/apply/route,next/server",
      "lines": 165,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/v1/jobs/apply/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,observability",
      "component_id": "bd1a8722cc244b1a00b57080",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/network/graph/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7018d1ec73861b00",
      "framework": "next-react",
      "imports": "@/app/api/network/graph/route,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/network/graph/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "f4c817c98467a73f9faa8c34",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../app/sitemap.xml/route, ../../../lib/network | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "59aa96f8fc80efa5",
      "framework": "next-react",
      "imports": "../../../app/sitemap.xml/route,../../../lib/network",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/sitemap.xml/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "414bb7075f01cf3893af1a0e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestComponent | imports:../../../components/providers/trace-provider, ../../../lib/trace/client, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "TestComponent",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e1c747d8eb1243c1",
      "framework": "next-react",
      "imports": "../../../components/providers/trace-provider,../../../lib/trace/client,@testing-library/react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "trace-provider.test",
      "normalized_name": "trace-provider",
      "package_manager": "pnpm",
      "path": "__tests__/components/providers/trace-provider.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "c6acf5d01eae7583f684eea8",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../../components/network/sitemap/sitemap-quick-links, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5b29da169989ed2d",
      "framework": "next-react",
      "imports": "../../../../components/network/sitemap/sitemap-quick-links,@testing-library/react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "sitemap-quick-links.test",
      "normalized_name": "sitemap-quick-links",
      "package_manager": "pnpm",
      "path": "__tests__/components/network/sitemap/sitemap-quick-links.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "29d372d0599dc9217b9b7deb",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/network/sitemap/sitemap-external-links, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b80926190fcdc45",
      "framework": "next-react",
      "imports": "@/components/network/sitemap/sitemap-external-links,@testing-library/react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "sitemap-external-links.test",
      "normalized_name": "sitemap-external-links",
      "package_manager": "pnpm",
      "path": "__tests__/components/network/sitemap/sitemap-external-links.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "17c24d268c3883c7ba679d7b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/network/sitemap/sitemap-grid, @/lib/network, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43a487106cbbd259",
      "framework": "next-react",
      "imports": "@/components/network/sitemap/sitemap-grid,@/lib/network,@testing-library/react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "sitemap-grid.test",
      "normalized_name": "sitemap-grid",
      "package_manager": "pnpm",
      "path": "__tests__/components/network/sitemap/sitemap-grid.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "9018ebeb1e54737087696e36",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/network/sitemap/site-card, @/lib/network, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e28bb5ea99c567b",
      "framework": "next-react",
      "imports": "@/components/network/sitemap/site-card,@/lib/network,@testing-library/react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "site-card.test",
      "normalized_name": "site-card",
      "package_manager": "pnpm",
      "path": "__tests__/components/network/sitemap/site-card.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "52a7d8bd17fc750ad58f3e57",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/utils | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "af134bd97ac2530f",
      "framework": "next-react",
      "imports": "../../lib/utils",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "7d117bd9a1ad9c3b89f0d275",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/network, ../../lib/network/types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7b50d617f858fd2b",
      "framework": "next-react",
      "imports": "../../lib/network,../../lib/network/types",
      "lines": 180,
      "logic_relevance": "primary",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "9f6394bd2b161c09d35b44bd",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/network/rss | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ac2850932a3f173b",
      "framework": "next-react",
      "imports": "../../lib/network/rss",
      "lines": 231,
      "logic_relevance": "primary",
      "name": "rss.test",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "__tests__/lib/rss.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "3ac2c686958db9cf48e5fd82",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/network/filters, ../../lib/network/types | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa73e1901a375f4d",
      "framework": "next-react",
      "imports": "../../lib/network/filters,../../lib/network/types",
      "lines": 113,
      "logic_relevance": "primary",
      "name": "network-filters.test",
      "normalized_name": "network-filters",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network-filters.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "8e470664e501ec59e0fe854a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/trace/client, ../../../lib/trace/hooks, @testing-library/react | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ef1c4e028902290d",
      "framework": "next-react",
      "imports": "../../../lib/trace/client,../../../lib/trace/hooks,@testing-library/react",
      "lines": 148,
      "logic_relevance": "primary",
      "name": "hooks.test",
      "normalized_name": "hooks",
      "package_manager": "pnpm",
      "path": "__tests__/lib/trace/hooks.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "ebc23649033cfff35db69de5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/trace/client | logic-score:60 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49c6720842460669",
      "framework": "next-react",
      "imports": "@/lib/trace/client",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/trace/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,security",
      "component_id": "38178dcbc135502ddcf40175",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/config/feature-flags | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3fb152c526eb7353",
      "framework": "next-react",
      "imports": "../../../lib/config/feature-flags",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "feature-flags.test",
      "normalized_name": "feature-flags",
      "package_manager": "pnpm",
      "path": "__tests__/lib/config/feature-flags.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "064e859547c92fd9d0aa49f6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/network/index, ../../../lib/network/types | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8d8e3f0ebc466058",
      "framework": "next-react",
      "imports": "../../../lib/network/index,../../../lib/network/types",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "index.test",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network/index.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "e68b45aa3d42ea610ba35c31",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/network/types | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "25e87da05ef031be",
      "framework": "next-react",
      "imports": "../../../lib/network/types",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "types.test",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network/types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "ab91f5ebe174a772d3bbf166",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/network/route-compliance, ../../../lib/network/types | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1f6501c9dd5805b9",
      "framework": "next-react",
      "imports": "../../../lib/network/route-compliance,../../../lib/network/types",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "route-compliance.test",
      "normalized_name": "route-compliance",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network/route-compliance.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "051736c7838c76564ffbe402",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/network/discovery, ../../../lib/network/types | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4df484d44a3e1186",
      "framework": "next-react",
      "imports": "../../../lib/network/discovery,../../../lib/network/types",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network/discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "bd75ed88fdf297c601047c85",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/network/feed-pagination, ../../../lib/network/types | logic-score:85 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be2be46065f6f0ab",
      "framework": "next-react",
      "imports": "../../../lib/network/feed-pagination,../../../lib/network/types",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "feed-pagination.test",
      "normalized_name": "feed-pagination",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network/feed-pagination.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5e923f5d026d788ba3f0856b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dde679f8e54f33e7",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "c62f0362cecc5394c5997a31",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e0a4c79d5052e727",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "testing",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": ".jules/testing.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process",
      "component_id": "06ec14340bafedb647cf233d",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "53c7685a0877d717",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "codehealth",
      "normalized_name": "codehealth",
      "package_manager": "pnpm",
      "path": ".jules/codehealth.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,security",
      "component_id": "85eee06a19c2a9b3dd946958",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "203e0bd8b9e626f0",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ff397261d1623cb9ec757345",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2ec5ee64006f77f9",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "0d93c329d7a299bd069f12c8",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "58c6b188af267ec2a16e3d8a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SpanEvent, Trace, TraceAnalysis, TraceClient, TraceClientOptions, TraceSpan, getTraceClient | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "SpanEvent,Trace,TraceAnalysis,TraceClient,TraceClientOptions,TraceSpan,getTraceClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a84193fd0ee337e5",
      "framework": "next-react",
      "imports": "",
      "lines": 387,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/trace/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "1a80933badf4501fde1c74d5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TRACE_API_BASE, TRACE_DASHBOARD_URL, TRACE_DOCS_URL, TraceClient, getTraceClient, type SpanEvent, type Trace, type TraceAnalysis | imports:./client, ./hooks | logic-score:70 | observability-score:55",
      "exports": "TRACE_API_BASE,TRACE_DASHBOARD_URL,TRACE_DOCS_URL,TraceClient,getTraceClient,type SpanEvent,type Trace,type TraceAnalysis,type TraceClientOptions,type TraceSpan,usePageTrace,useTrace,useTraceAnalysis,useTraces",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "75795234dcba2c47",
      "framework": "next-react",
      "imports": "./client,./hooks",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/trace/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "2f34e261a076fabb1b404c28",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:usePageTrace, useTrace, useTraceAnalysis, useTraces | imports:./client, react | logic-score:85 | observability-score:55",
      "exports": "usePageTrace,useTrace,useTraceAnalysis,useTraces",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b965cec3e12ba0fd",
      "framework": "next-react",
      "imports": "./client,react",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "hooks",
      "normalized_name": "hooks",
      "package_manager": "pnpm",
      "path": "lib/trace/hooks.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "d0201a00a3719d6f8a005cdf",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FEATURE_FLAGS, FeatureFlag, getEnabledFeatures, isFeatureEnabled | logic-score:85 | security-score:55",
      "exports": "FEATURE_FLAGS,FeatureFlag,getEnabledFeatures,isFeatureEnabled",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa0225f154a7d489",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "feature-flags",
      "normalized_name": "feature-flags",
      "package_manager": "pnpm",
      "path": "lib/config/feature-flags.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "8380b665fcafd3d61b53c771",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PRIORITY_CONTENT_DOMAINS, ROOT_NEWS_DOMAINS, getPaginationWindow, isPriorityContentItem, isRootPlatPhormNewsItem, paginateFeedItems, prioritizeRootNewsItems | imports:./types | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "PRIORITY_CONTENT_DOMAINS,ROOT_NEWS_DOMAINS,getPaginationWindow,isPriorityContentItem,isRootPlatPhormNewsItem,paginateFeedItems,prioritizeRootNewsItems",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0adee648701dc9dc",
      "framework": "next-react",
      "imports": "./types",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "feed-pagination",
      "normalized_name": "feed-pagination",
      "package_manager": "pnpm",
      "path": "lib/network/feed-pagination.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "73b8413c64882b50f69407ee",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_NETWORK_FILTER_STATE, DeploymentFilter, NetworkFilterState, TierFilter, filterAndSortNetworkSites, filterGroupedNetworkSites, getAvailableSubCategories, normalizeNetworkFilterState | imports:./types | logic-score:85",
      "exports": "DEFAULT_NETWORK_FILTER_STATE,DeploymentFilter,NetworkFilterState,TierFilter,filterAndSortNetworkSites,filterGroupedNetworkSites,getAvailableSubCategories,normalizeNetworkFilterState,siteMatchesNetworkFilters,sortNetworkSites",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d84bfd45a8003fc1",
      "framework": "next-react",
      "imports": "./types",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "filters",
      "normalized_name": "filters",
      "package_manager": "pnpm",
      "path": "lib/network/filters.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "f25409edcbd8a659dd966de6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AggregatedFeed, CATEGORY_CONFIG, NETWORK_SITES_REGISTRY, NetworkDeployment, NetworkDiscoverySource, NetworkGraph, NetworkNode, NetworkSite | imports:./catalog | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AggregatedFeed,CATEGORY_CONFIG,NETWORK_SITES_REGISTRY,NetworkDeployment,NetworkDiscoverySource,NetworkGraph,NetworkNode,NetworkSite,NetworkTier,NetworkTrustStatus,RSSItem,getPortfolioCategoryLabel,getPriorityRssSites,getSitesByCategory,getSitesByPortfolioCategory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bdd760ed16100283",
      "framework": "next-react",
      "imports": "./catalog",
      "lines": 1164,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/network/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "cf7fde3bbccd5b62f9e889ce",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanonicalNetworkSnapshot, CanonicalNetworkSourceStatus, mergeDiscoveredSites, sitesFromNetworkGraph, sitesFromSitemapIndex | imports:./types | logic-score:85 | observability-score:55",
      "exports": "CanonicalNetworkSnapshot,CanonicalNetworkSourceStatus,mergeDiscoveredSites,sitesFromNetworkGraph,sitesFromSitemapIndex",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45ce985232d6fd16",
      "framework": "next-react",
      "imports": "./types",
      "lines": 225,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/network/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,observability,security",
      "component_id": "c76cd8a6ae50cfef1bafd9aa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateNetworkStats, generateNetworkSitemapUrls, getAllSites, getApiSites, getMcpSites, getNetworkStats, getRssSites, getSiteByDomain | imports:./discovery, ./feed-pagination, ./route-compliance, ./rss, ./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "calculateNetworkStats,generateNetworkSitemapUrls,getAllSites,getApiSites,getMcpSites,getNetworkStats,getRssSites,getSiteByDomain,getSiteById,getSitesGrouped,getSitesGroupedByPortfolioCategory,groupSitesByCategory,groupSitesByPortfolioCategory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "81f819c5df257d82",
      "framework": "next-react",
      "imports": "./discovery,./feed-pagination,./route-compliance,./rss,./types",
      "lines": 314,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/network/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "b8e64f77ee22734c969f460e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CORE_PUBLIC_ROUTES, RouteProbeResult, RouteProbeStatus, STANDARD_PUBLIC_ROUTES, SiteRouteCompliance | imports:./types | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CORE_PUBLIC_ROUTES,RouteProbeResult,RouteProbeStatus,STANDARD_PUBLIC_ROUTES,SiteRouteCompliance",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "227469472f029133",
      "framework": "next-react",
      "imports": "./types",
      "lines": 211,
      "logic_relevance": "primary",
      "name": "route-compliance",
      "normalized_name": "route-compliance",
      "package_manager": "pnpm",
      "path": "lib/network/route-compliance.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,automation",
      "component_id": "48bb33268588580c4ea36b1b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:dedupeRssItems, generateCombinedRSS, getFallbackHeadlines | imports:./discovery, ./types | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "dedupeRssItems,generateCombinedRSS,getFallbackHeadlines",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "854ff772281c337f",
      "framework": "next-react",
      "imports": "./discovery,./types",
      "lines": 446,
      "logic_relevance": "primary",
      "name": "rss",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "lib/network/rss.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e36def4fbf61c34c44947721",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PORTFOLIO_SITE_SEEDS, PortfolioSeed | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PORTFOLIO_SITE_SEEDS,PortfolioSeed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0d1d945379a8de18",
      "framework": "next-react",
      "imports": "",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "catalog",
      "normalized_name": "catalog",
      "package_manager": "pnpm",
      "path": "lib/network/catalog.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,process,ai",
      "component_id": "4ff8f488aff09a5ceea5544c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:openApiSpec | imports:@/lib/network | logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "openApiSpec",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6bbaca12cdd8dd95",
      "framework": "next-react",
      "imports": "@/lib/network",
      "lines": 299,
      "logic_relevance": "primary",
      "name": "openapi-spec",
      "normalized_name": "openapi-spec",
      "package_manager": "pnpm",
      "path": "lib/docs/openapi-spec.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-base",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "3df67b47ff50f7d2badaea91",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "258e2af6581fecfe",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_REPORT",
      "normalized_name": "implementation-report",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_REPORT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability",
      "component_id": "9d787f57b55cc4cbe3991885",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eef48ccaf251d1e9",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b1694bae6de3e24411403454",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecd3f3cc8449507f",
      "framework": "next-react",
      "imports": "",
      "lines": 8674,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "708eb2f739994483b9ba2b75",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "968d90b30b35e6bc",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "e4190886109fc48c84194355",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05c2dbd562b39bbf",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "30dbd996de96ac1841db52cd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "499808ccdca7e08d",
      "framework": "next-react",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_SUMMARY",
      "normalized_name": "implementation-summary",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "34309c904ceae4a8134504d4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f0dc73227dbfe35b",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d03d4a5fcfeacb797f907245",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "514851fce6ad1d18",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "1c519f63c7366a829d1ba2f6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1d1d5d642b8e3ca2",
      "framework": "next-react",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "TESTING_GUIDE",
      "normalized_name": "testing-guide",
      "package_manager": "pnpm",
      "path": "TESTING_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "339b3a7953ba76cfc9aafba6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6c538267822f10bc",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "72284344d0d5838c6b3a9ef7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "16824c4aed75e141",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "858fff8fc5ba78b968553572",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Button | process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Button",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d863931cd0a08a4a",
      "framework": "next-react",
      "imports": "",
      "lines": 217,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ad027dc3fc44281d2cba73de",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0c0d3afd893f15c8",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 43,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "bed1b74d402b0f91f88d328b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@testing-library/react, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3beefc807b148aa9",
      "framework": "next-react",
      "imports": "@testing-library/react,vitest",
      "lines": 64,
      "logic_relevance": "none",
      "name": "vitest.setup",
      "normalized_name": "vitest-setup",
      "package_manager": "pnpm",
      "path": "vitest.setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b84cf04550c5bed9ee18cb07",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "23f09d6a60e45ed4",
      "framework": "next-react",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "ed7aebb1291582869afa5c96",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cbd55a5bf81b18f8",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "FIXES_APPLIED",
      "normalized_name": "fixes-applied",
      "package_manager": "pnpm",
      "path": "FIXES_APPLIED.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "21dcf9d3e4488e54bf4b1c40",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "734328e39f2f096e",
      "framework": "next-react",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "bf8e92eafa20b19831527ae5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b4d7b1b205083e8b",
      "framework": "next-react",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery,automation,ai",
      "component_id": "e569670f07d5fd2cbe7a007d",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/bbs/constants, next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3dd351132652c00",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,next",
      "lines": 39,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "cfb58443ff7cfb6820af46af",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/bbs/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e4696a1a5c51292",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next",
      "lines": 7,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "c8c1d68505409d6eaf2b3f91",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/lib/bbs/jsonld, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ac5bfb60b2f8eb8",
      "framework": "next-react",
      "imports": "@/lib/bbs/jsonld,@vercel/analytics/next,next,next/font/google",
      "lines": 126,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "9351693b2368a7d94f269f40",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "848770e62daa3e29",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "91bc563dbce55a4f055d811f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/bbs/announcements, @/components/bbs/online-users, @/components/bbs/quick-stats, @/components/bbs/recent-activity, @/components/bbs/services-grid, @/components/bbs/shell, @/components/bbs/terminal-welcome | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3be85f4df444373a",
      "framework": "next-react",
      "imports": "@/components/bbs/announcements,@/components/bbs/online-users,@/components/bbs/quick-stats,@/components/bbs/recent-activity,@/components/bbs/services-grid,@/components/bbs/shell,@/components/bbs/terminal-welcome",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,security",
      "component_id": "146769e14ee4dc2b0a6e21af",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "20b7e26724c1d4ba",
      "framework": "next-react",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "0b1e26870df4f81d69fb386c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e28d2cee357a9ba6",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "c487ff1418ac795f824cea4c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f9d3aae844be110",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "7feda7cbf39f09125988a448",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/rss, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5052bf9aacc61cbc",
      "framework": "next-react",
      "imports": "@/lib/bbs/rss,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d9e3a535f50d3807c6e8d9af",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d3810725a1176c0b",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "7b292dc851c520fe8f62f49c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8edaaa94503d64bd",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,lucide-react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,ai",
      "component_id": "db8b1c36a4f178f5116f4599",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessagesPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, lucide-react | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "MessagesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2c11335d44962a7",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,lucide-react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/messages/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "eef2867f67108450f0732d84",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PortalPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/lib/bbs/content, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PortalPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc3ffd0f12558e7b",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/lib/bbs/content,lucide-react,next/link",
      "lines": 39,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/portal/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4cb0f41184bc2bb5bbcb1c52",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PrivacyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "609f28e6b88f78a7",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui",
      "component_id": "0cb4d6d879a01f2d521620d5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChatPage, metadata | imports:@/components/bbs/shell, @/components/chat/chat-interface, next | frontend-score:115 | ai-score:75 | ui-score:55",
      "exports": "ChatPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a787ddf8da459d0",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/chat/chat-interface,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/chat/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f6b92989a9747595ad2efe29",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/actions/auth, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "555dcbe8d3614bb1",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/actions/auth,next/link,next/navigation,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "960d384da3f8a153f680becd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c0766c925e8fdd78",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f514bace95d3f494101b8d2d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChallengePage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChallengePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b638c84aeb4493a9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/challenge/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9d5b7a04cb21bddbaa2ea996",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/actions/auth, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed8f1604b706b4c0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/actions/auth,lucide-react,next/link,next/navigation,react",
      "lines": 169,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bd6c3d527459492b695bb5e8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/lib/bbs/discovery, @/lib/bbs/jsonld | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FaqPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9d5140d4de535ef",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/lib/bbs/discovery,@/lib/bbs/jsonld",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "29f858ee838d2ac3f76543da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/constants, @/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90e39bb7d520de16",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,@/lib/bbs/discovery,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "971258194d449501173b2f18",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/constants, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5e363981b82c7ff",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "6eee2aa8ebdc987c78e9fecb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/constants, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2b2376ea20d1eee",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "ed200ab19550677776a5fc77",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/constants, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "874d34c973db6830",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,ai",
      "component_id": "be743ee915725c8c64e9c284",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/constants, @/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d53f03f9718f21dd",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,@/lib/bbs/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f439e97d9c82dfedf044282c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TermsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cda4b26ad049f2da",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "498fb7b3efc202e4373dd02b",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:default, metadata | imports:@/app/telnet/page | frontend-score:85 | ui-score:55",
      "exports": "default,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06c0a4c3ef52418b",
      "framework": "next-react",
      "imports": "@/app/telnet/page",
      "lines": 2,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terminal/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3457ef6f46f902a3ef40c953",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnouncementsPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/lib/bbs/content, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnnouncementsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d67d5bbe8fa3b46",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/lib/bbs/content,lucide-react,next/link",
      "lines": 62,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/announcements/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7f9b8f1375ba3937f333cb8e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnouncementDetailPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/lib/bbs/content, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "AnnouncementDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9eef7b62b345f645",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/lib/bbs/content,lucide-react,next/link",
      "lines": 66,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/announcements/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "c8802662633b109e7cf9c989",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/lib/bbs/content, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SearchPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44916be4b4279cd8",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/lib/bbs/content,lucide-react,next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "d95bfdb4e912c82d4ce50959",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "68afd23086bc7bf3",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "35bcc20f98253793abd7e31c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardsPage, metadata | imports:@/components/bbs/shell, @/components/boards/boards-header, @/components/boards/boards-list, @/components/boards/boards-stats, next | frontend-score:115 | ui-score:55",
      "exports": "BoardsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fe2e7004320560a",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/boards/boards-header,@/components/boards/boards-list,@/components/boards/boards-stats,next",
      "lines": 22,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/boards/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "228cc00bcb8f6b6918da2276",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardPage | imports:@/components/bbs/shell, @/components/boards/board-detail, @/components/boards/topics-list, next | frontend-score:115 | ui-score:55 | metadata",
      "exports": "BoardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5fb3ab4a493b7de6",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/boards/board-detail,@/components/boards/topics-list,next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/boards/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "8f5468704d8deb9132934799",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopicPage | imports:@/components/bbs/shell, @/components/boards/topic-view, next | frontend-score:115 | ui-score:55 | metadata",
      "exports": "TopicPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da9cd8bd2596c3da",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/boards/topic-view,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/boards/[slug]/[topicSlug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5b5fc84564ac1b6c3c284d3a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThreadAliasPage | imports:@/components/bbs/shell, @/components/boards/topic-view | frontend-score:85 | ui-score:55",
      "exports": "ThreadAliasPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df6989d6209803b5",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/boards/topic-view",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/boards/[slug]/threads/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "dd1c2ff7754903564502d17e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FilesPage, metadata | imports:@/components/bbs/shell, @/components/files/files-library, next | frontend-score:115 | ui-score:55",
      "exports": "FilesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "167235a1445f4583",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/files/files-library,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/files/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "36e57df31cea417d1db96ac3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bd3b29b2fb4b1aab",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability,security",
      "component_id": "c24fc08b14c01492ad0e5c19",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api/ascii, @/lib/redis, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "93da4c35092e402f",
      "framework": "next-react",
      "imports": "@/lib/api/ascii,@/lib/redis,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ascii/convert/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "21d421142232762c67108f03",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "476f7e521cbe535b",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/http,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/messages/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "882ed81b672ce410d0fd75b8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "15b03ab70a881976",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/portal/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "fdf4887fece146c4d42f4915",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "649d0c24024e563c",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/posts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "576abef704d965d398fa6b26",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/http, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "172f115a2d1c376a",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/http,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "b3dfd2258e64693eddd51158",
      "component_kind": "ai-chat",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET, POST | imports:@/app/api/v1/chat/route | ai-score:75 | backend-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72b48a73986093c7",
      "framework": "next-react",
      "imports": "@/app/api/v1/chat/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/chat/rooms/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "bc4ede1246848bb18a4254d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/http, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a434389a9ab1c78f",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/http,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/chat/rooms/[roomId]/messages/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "b656c52e2fc5a13063b2718c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c7c3a947d508314d",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/activity/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "29ac05175ce3b659120cdc65",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "43733ef69c4a5625",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "200ca04fb9fcbeaff3c9e455",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e3085ddbcd42335e",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/announcements/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ec29e6fc4078ce36dba848a5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "44b3fcedff82033c",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "96f63ca6bcc547ff148aab1f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e577907407bae673",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/info/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "aeccea5af86ad89999e549c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/http, @/lib/redis, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c279ad319920b61",
      "framework": "next-react",
      "imports": "@/lib/bbs/http,@/lib/redis,next/server",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/presence/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c7d0d32d818950454b2ef48a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d158eae2bdd97035",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/threads/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c2c1239648bdd00dec3b0aa7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8deeebbc73b1088b",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/threads/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e2ff4b9baca0130bb8b86693",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19349e83a0788b79",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/threads/[id]/posts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ba5d923a89cba7e592a761aa",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c4d530de0d81822",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/users/online/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "7c425303e942cf5b09733973",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d66201a69f66bbd9",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "4478547861623523b27e73c4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea03670c3b31615b",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5359d1047debbdbf49905436",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42685035e5ccc33a",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/[slug]/threads/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bd351dc7d043671dd23cd4c4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e12d0f5ce746c3d2",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/files/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "70e0ef4eadf4e25ef0e94088",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "608d0baa4e1dd2bb",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/files/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d6a0364572696c9875a9f067",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1490542e04dae603",
      "framework": "next-react",
      "imports": "@/lib/bbs/http,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/files/[id]/download/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7b02609a80f4292ef1321053",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/files/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "92235cc8005952a6",
      "framework": "next-react",
      "imports": "@/app/api/v1/files/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/files/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a39503d76671bb20a17600b0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5c92087efeb41e0a",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "46a0471a09d7f2284b08456a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c262ee0a3e0ccd8c",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6262327241378f81275c42bd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/bbs/auth, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "79e8beccbd4f6935",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/http,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/[slug]/scores/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "4e0b81f0a5ef14ee7ac547ff",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3180a9a516c3d12",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "96e0dfa10fa9d8ffda8f166d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/api/services, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5aebbce76e1ea40f",
      "framework": "next-react",
      "imports": "@/lib/api/services,@/lib/bbs/http,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/services/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "0cab37f4ff1b746ec3d89d85",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65689db211e9e4fe",
      "framework": "next-react",
      "imports": "@/lib/bbs/http,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/init/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "935c84038aa307a396c624f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/http, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "602b88bbd0478fad",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/http,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/chat/[roomId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "f3a69293cf8e382c95a751df",
      "component_kind": "ai-chat",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET, POST | imports:@/app/api/chat/[roomId]/route | ai-score:75 | backend-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f13d20b0f39d3c29",
      "framework": "next-react",
      "imports": "@/app/api/chat/[roomId]/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/chat/[roomId]/messages/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "b59a6af1705d129029a462ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/http, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6100c3409d903022",
      "framework": "next-react",
      "imports": "@/lib/bbs/http,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/chat/rooms/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bce8893dcb9924fd0f0d702f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c77db700e05c320",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/logout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "bd0509b298aec55adeb6cecd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d380767bf5ca4df",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/user/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "78b2979bfc075f26cc34be9c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24570852cc614f49",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/ip/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "fdee13738c355487da5d5aaf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/bbs/discovery, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e22c0fe8901f65e6",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,@/lib/bbs/http,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "895ccf5dabf0fee4fc0b2d51",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dde6026dcc2d6be9",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/announcements/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "9ef439f6507d162455b30743",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/content, @/lib/bbs/discovery, @/lib/bbs/http, @/lib/bbs/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b7a99453b4f40787",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/discovery,@/lib/bbs/http,@/lib/bbs/mcp,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation,ai",
      "component_id": "7b846a677a8c8ea598a1bc92",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/constants, @/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | ai-score:45 | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f35853eebabbb264",
      "framework": "next-react",
      "imports": "@/lib/bbs/constants,@/lib/bbs/discovery,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "df4f92d60cddb6e0ecccf348",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/v1/files/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6dbd07c700209e19",
      "framework": "next-react",
      "imports": "@/app/api/v1/files/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/file-areas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8ebb20e227b8cc1a591fcfe6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9b296840960c39d2",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/boards/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3284604814857e90eab577f9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/blob,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE | imports:@/lib/supabase/server, @vercel/blob, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DELETE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a1c7453e0bfd8b4e",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,@vercel/blob,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/files/delete/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7e4d8ac396eafc39deaf7f4d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/v1/files/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6dbd07c700209e19",
      "framework": "next-react",
      "imports": "@/app/api/v1/files/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/files/areas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "b6a169547d69ac9e5ff3a715",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0ac267282a67eba",
      "framework": "next-react",
      "imports": "@/lib/bbs/http,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/files/get/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5ef6070a8721b28129d99d53",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/files/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "92235cc8005952a6",
      "framework": "next-react",
      "imports": "@/app/api/v1/files/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/files/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend",
      "component_id": "c0b8c1d63004d1e125014fdf",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/v1/games/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8acc7b9334d16150",
      "framework": "next-react",
      "imports": "@/app/api/v1/games/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/games/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "987c901ffc3d00e60b75092c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, WELCOME_BANNER | imports:@/lib/bbs/content, @/lib/bbs/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST,WELCOME_BANNER",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "237b8623156b540a",
      "framework": "next-react",
      "imports": "@/lib/bbs/content,@/lib/bbs/http,next/server",
      "lines": 149,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/telnet/ws/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "70a3e9c2cbaa0d7b141608fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/bbs/auth, @/lib/bbs/discovery, @/lib/bbs/http, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2efad78b30073a04",
      "framework": "next-react",
      "imports": "@/lib/bbs/auth,@/lib/bbs/discovery,@/lib/bbs/http,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "37b2e5be976fddcda80c411b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa2eb94b1c08049e",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "224637484b217f9d41865397",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SysopPage, metadata | imports:@/components/bbs/shell, @/components/sysop/sysop-dashboard, next | frontend-score:115 | ui-score:55",
      "exports": "SysopPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "021aafd6f047de30",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/sysop/sysop-dashboard,next",
      "lines": 17,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sysop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "4a748ba70755ff419dd1da6e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewAnnouncementPage | imports:@/components/bbs/terminal-panel, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, lucide-react, next/link | frontend-score:115 | ui-score:70",
      "exports": "NewAnnouncementPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89444c60953a1a84",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,lucide-react,next/link,next/navigation,react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sysop/announcements/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "097a5bed710f42a1dfe5f105",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8249242373ff796a",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "11fb662ac868fbd2c0ab66fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d6e61387fd84fa6b",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "d3c520bf355c8633cde130b6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:GamesPage, metadata | imports:@/components/bbs/shell, @/components/games/games-hub, next | frontend-score:115 | ui-score:55",
      "exports": "GamesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5755e5ba71d9e48",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/games/games-hub,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/games/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f5ecea08f63cc3cf9e72f694",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GameDetailPage | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/lib/bbs/content, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GameDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d02affa60cb1428a",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/lib/bbs/content,lucide-react,next/link",
      "lines": 68,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/games/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "89d0087927d52780031710e1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bbs/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1bee48d08271fd44",
      "framework": "next-react",
      "imports": "@/lib/bbs/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2de270fc479cf15002d78274",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TelnetPage, metadata | imports:@/components/bbs/shell, @/components/bbs/terminal-panel, @/components/telnet/terminal-emulator, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TelnetPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9c827aa9c8262f7",
      "framework": "next-react",
      "imports": "@/components/bbs/shell,@/components/bbs/terminal-panel,@/components/telnet/terminal-emulator,lucide-react,next",
      "lines": 126,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/telnet/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "846a71c67958608a4a9eb1da",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fbcba4d6bd162cc5",
      "framework": "next-react",
      "imports": "",
      "lines": 225,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "3dc6324ea2b347414c9a25c3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4b578641fe4badcb",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "51cc3cbb072329c90f87d161",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c5de39e65c68bce7",
      "framework": "next-react",
      "imports": "",
      "lines": 175,
      "logic_relevance": "none",
      "name": "QUICKSTART",
      "normalized_name": "quickstart",
      "package_manager": "pnpm",
      "path": "docs/QUICKSTART.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "b26c103c7e53b671c57a14e2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib,@playwright/test,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/auth/fingerprint, @playwright/test, vitest | process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ac6802cb4dc0d227",
      "framework": "next-react",
      "imports": "@/lib/auth/fingerprint,@playwright/test,vitest",
      "lines": 187,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": "docs/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8fed80b269556bea2c101d13",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8fb8f3ea5f3cb4ea",
      "framework": "next-react",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,observability,security",
      "component_id": "a8609e090b40457d29098b55",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "65e506c3d1c539e8",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "DESIGN",
      "normalized_name": "design",
      "package_manager": "pnpm",
      "path": "docs/DESIGN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "799c2e6a50e0d183fc9ff732",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "38dd94fc08d4c0edab77314f",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "98bc36e95bed796a9ec89ed0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DatabaseInitializer | imports:react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55",
      "exports": "DatabaseInitializer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "41e4753922b2dcf3",
      "framework": "next-react",
      "imports": "react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "database-initializer",
      "normalized_name": "database-initializer",
      "package_manager": "pnpm",
      "path": "components/database-initializer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "92f5ee85274921def7eec33c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/lib/i18n/config, @/lib/utils, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0d60ef804cf3125",
      "framework": "next-react",
      "imports": "@/lib/i18n/config,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "2c3a71fb631e0c3e0ac32b21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9bb41df21fbb853dbcd3ccb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "f6820eee264c8a7e47edc29b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7fc0eabbafeecbfbf7db87fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fe88d9f05d1b40f80ee12f29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d1be71e6efc12d8764f68f5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "740a17b3071b668615e811e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "2106d3708f669d0732ebe10b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "448745a09ac6088a31ddfc24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b9cfa3d0af49ab83b76f1bad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "2d98df6f06da4055d85085e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "4c12dd1bacff8c9ed072d046",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cf3fb43a30026d379976ead5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b363bf36d3463f2b3c649cab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9ac4e7e04e73eed1dd5e6567",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5ae599ca31f33ce2141984b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "847628b56d19efc6b1071797",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8643af71147cd41bd8517188",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "82cffb5795099e693f4c699d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8c67d5d0bbff8258b5eef065",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0351fd6c72487b1292c853a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "731b15384ebec5c942de1516",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a9d3a8380ffeefe73b9ce525",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e4c598a7eba8f7069d01c386",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "94fc64a15b611d9788fb3eee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "10fc4c339a62f615a89e77e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "710632228eb29fcfae8fe2d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "5bbd1ddb8c3a4adb0a95561b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "03b433985906c3480da7ad8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "952a65fc640ebc6c4b0b36b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a7e1adf94414a2f7a9833349",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "42c8751306b68b1759a370fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9bdb5f46cecda04842c292a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2e2fa6443a3bd1df0dc2e1ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d25d741645959b93d3acbf9b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "07fa9a342f3f6cd06e30b0d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ca437e42e3f636c93d5bffdb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d78397ea76deb9e8db5b1361",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "74654e36f29d6c104f85a626",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "028b12e31895b7074ba916e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "91dd4024a035fd3ef54026bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2e22cf18c5a956c76aa69195",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3706860fe0734b640cd79a08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4cb23313b24fa2255cddab88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "511624a650b9e5ccd8ebc399",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7d6e81a0630d819bf43782ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ff73ed3eba7c676e1533d97d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "ab30e3b54290135516b65886",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ec1268b8241f03ac0941acd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d153c72666c9510513ca6362",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d9b232b4e4ddf2ce33e00480",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5cc138d155c51e8e6e6d3b05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1d9969bbf06f00cfe7e9cacc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "81542f1c5a143321c91921de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "296b73aa6a5d70bed1ef1907",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "74fcf212403a0aeea5083c84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "909b4fc18081b85b89f5b11c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability",
      "component_id": "75e84a0eeebdf0b0a85dd3e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatInterface | imports:./chat-room, ./chat-room-list, ./chat-user-list, @/lib/hooks/use-data, @/lib/utils, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ChatInterface",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e7cb826ac1024edf",
      "framework": "next-react",
      "imports": "./chat-room,./chat-room-list,./chat-user-list,@/lib/hooks/use-data,@/lib/utils,lucide-react,react",
      "lines": 164,
      "logic_relevance": "none",
      "name": "chat-interface",
      "normalized_name": "chat-interface",
      "package_manager": "pnpm",
      "path": "components/chat/chat-interface.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "3667f98b204de4806856679c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatUserList | imports:@/components/bbs/terminal-panel, @/lib/hooks/use-data, lucide-react | ai-score:120 | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ChatUserList",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c496031d285b2256",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,@/lib/hooks/use-data,lucide-react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "chat-user-list",
      "normalized_name": "chat-user-list",
      "package_manager": "pnpm",
      "path": "components/chat/chat-user-list.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "2d061823f2b9aa827f4932d4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChatRoomList | imports:@/components/bbs/terminal-panel, @/lib/utils, lucide-react | frontend-score:115 | ai-score:75 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ChatRoomList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff5e80ee9de7b4e3",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,@/lib/utils,lucide-react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "chat-room-list",
      "normalized_name": "chat-room-list",
      "package_manager": "pnpm",
      "path": "components/chat/chat-room-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "55d8e50f66d4093d1da324e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatRoom | imports:@/components/bbs/terminal-panel, @/lib/hooks/use-data, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ChatRoom",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "dc8f474c962e80c9",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,@/lib/hooks/use-data,lucide-react,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "chat-room",
      "normalized_name": "chat-room",
      "package_manager": "pnpm",
      "path": "components/chat/chat-room.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "504b8850c3b2219141f3b88d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardDetail | imports:lucide-react, next/link, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BoardDetail",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8c7a0a01bacb35ab",
      "framework": "next-react",
      "imports": "lucide-react,next/link,swr",
      "lines": 93,
      "logic_relevance": "none",
      "name": "board-detail",
      "normalized_name": "board-detail",
      "package_manager": "pnpm",
      "path": "components/boards/board-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security,ai",
      "component_id": "23b7341dbb4db5549e23ae89",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardsStats | imports:@/lib/hooks/use-data, lucide-react | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "BoardsStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9eb9aeeb690dfd32",
      "framework": "next-react",
      "imports": "@/lib/hooks/use-data,lucide-react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "boards-stats",
      "normalized_name": "boards-stats",
      "package_manager": "pnpm",
      "path": "components/boards/boards-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "1fccb07cc1c18feec7f3fbbe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardsHeader | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BoardsHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4afdf76765ecbd86",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "boards-header",
      "normalized_name": "boards-header",
      "package_manager": "pnpm",
      "path": "components/boards/boards-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "36a57868a038824fee11e0e1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopicView | imports:@/components/bbs/terminal-panel, lucide-react, next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "TopicView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3cf4d39170182aa2",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,lucide-react,next/link,react,swr",
      "lines": 170,
      "logic_relevance": "none",
      "name": "topic-view",
      "normalized_name": "topic-view",
      "package_manager": "pnpm",
      "path": "components/boards/topic-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "d961e975568029c584c73d55",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardsList | imports:@/components/bbs/terminal-panel, @/lib/hooks/use-data, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BoardsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7256a4ac0756c7be",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,@/lib/hooks/use-data,@/lib/utils,lucide-react,next/link",
      "lines": 169,
      "logic_relevance": "none",
      "name": "boards-list",
      "normalized_name": "boards-list",
      "package_manager": "pnpm",
      "path": "components/boards/boards-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "a1c13579b61c96e76e6c0452",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopicsList | imports:@/components/bbs/terminal-panel, lucide-react, next/link, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TopicsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fcee6e785157f9a2",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,lucide-react,next/link,swr",
      "lines": 81,
      "logic_relevance": "none",
      "name": "topics-list",
      "normalized_name": "topics-list",
      "package_manager": "pnpm",
      "path": "components/boards/topics-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e3e2bcd13e7434ab838b5236",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FilesLibrary | imports:@/components/bbs/terminal-panel, lucide-react, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FilesLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f0b8516e3a33c66",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,lucide-react,swr",
      "lines": 85,
      "logic_relevance": "none",
      "name": "files-library",
      "normalized_name": "files-library",
      "package_manager": "pnpm",
      "path": "components/files/files-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8427eba5e334f86840c4cd70",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FilesHeader | imports:@/components/bbs/terminal-panel, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FilesHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd13955e66aa8bd2",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,lucide-react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "files-header",
      "normalized_name": "files-header",
      "package_manager": "pnpm",
      "path": "components/files/files-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "5b1d9c5c51bd5cec7e5760e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FileUpload | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "FileUpload",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67222b739b77fbe1",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "file-upload",
      "normalized_name": "file-upload",
      "package_manager": "pnpm",
      "path": "components/files/file-upload.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "a8dfabba313f1fad071543f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SysopDashboard | imports:@/components/bbs/terminal-panel, lucide-react | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "SysopDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b828898b8947e77",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,lucide-react",
      "lines": 70,
      "logic_relevance": "none",
      "name": "sysop-dashboard",
      "normalized_name": "sysop-dashboard",
      "package_manager": "pnpm",
      "path": "components/sysop/sysop-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "62a0516c081f9eef5a655691",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuickStats | imports:./terminal-panel, @/lib/hooks/use-data, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "QuickStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb69c35ecf2016dd",
      "framework": "next-react",
      "imports": "./terminal-panel,@/lib/hooks/use-data,lucide-react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "quick-stats",
      "normalized_name": "quick-stats",
      "package_manager": "pnpm",
      "path": "components/bbs/quick-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "4ac2e9f79d9d6e4cb18fbf5a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:BBSShell | imports:./footer, ./sidebar, ./topbar, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "BBSShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1dbb9fcdf038f73f",
      "framework": "next-react",
      "imports": "./footer,./sidebar,./topbar,@/lib/utils,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "shell",
      "normalized_name": "shell",
      "package_manager": "pnpm",
      "path": "components/bbs/shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "84f42e043233de2f0c71db04",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesGrid | imports:./terminal-panel, @/lib/types/database, @/lib/utils, lucide-react, next/link, swr | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ServicesGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29f8bbb4568cc4fc",
      "framework": "next-react",
      "imports": "./terminal-panel,@/lib/types/database,@/lib/utils,lucide-react,next/link,swr",
      "lines": 239,
      "logic_relevance": "none",
      "name": "services-grid",
      "normalized_name": "services-grid",
      "package_manager": "pnpm",
      "path": "components/bbs/services-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "59f719a69cf03e666b9226f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TerminalWelcome | imports:./terminal-panel, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TerminalWelcome",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c5370380bf6bd5bc",
      "framework": "next-react",
      "imports": "./terminal-panel,lucide-react,react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "terminal-welcome",
      "normalized_name": "terminal-welcome",
      "package_manager": "pnpm",
      "path": "components/bbs/terminal-welcome.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "6c0af26169ea218dcefb1ce1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentActivity | imports:./terminal-panel, @/lib/hooks/use-data, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RecentActivity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "434b91016a8d008e",
      "framework": "next-react",
      "imports": "./terminal-panel,@/lib/hooks/use-data,@/lib/utils,lucide-react,next/link",
      "lines": 79,
      "logic_relevance": "none",
      "name": "recent-activity",
      "normalized_name": "recent-activity",
      "package_manager": "pnpm",
      "path": "components/bbs/recent-activity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bb2d0cbd23cf40cec16d2a51",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BBSTopbar | imports:@/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BBSTopbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4b0123f5869ee93",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,react",
      "lines": 220,
      "logic_relevance": "none",
      "name": "topbar",
      "normalized_name": "topbar",
      "package_manager": "pnpm",
      "path": "components/bbs/topbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f479c59da0013f459fa97a9e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BBSFooter | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BBSFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f0f0e1d7d29ae4ed",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 80,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/bbs/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f5169512fcfceb3fd1aec34b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ASCIIBox, StatCard, TerminalLine, TerminalPanel | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ASCIIBox,StatCard,TerminalLine,TerminalPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a0c9d65acae8428",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 151,
      "logic_relevance": "none",
      "name": "terminal-panel",
      "normalized_name": "terminal-panel",
      "package_manager": "pnpm",
      "path": "components/bbs/terminal-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,ai",
      "component_id": "8606418bff7760fe9e1f972d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:BBSSidebar | imports:@/lib/utils, lucide-react, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BBSSidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1c709025bed9c1af",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 225,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/bbs/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b1cf20272d434f4c77743e5e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnlineUsers | imports:./terminal-panel, @/lib/hooks/use-data, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OnlineUsers",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21db0fb589ffcc4d",
      "framework": "next-react",
      "imports": "./terminal-panel,@/lib/hooks/use-data,@/lib/utils,lucide-react,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "online-users",
      "normalized_name": "online-users",
      "package_manager": "pnpm",
      "path": "components/bbs/online-users.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3dc8c0ec1d4ff317823ab943",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Announcements | imports:./terminal-panel, @/lib/hooks/use-data, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Announcements",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6df51f285717014",
      "framework": "next-react",
      "imports": "./terminal-panel,@/lib/hooks/use-data,@/lib/utils,lucide-react,next/link",
      "lines": 109,
      "logic_relevance": "none",
      "name": "announcements",
      "normalized_name": "announcements",
      "package_manager": "pnpm",
      "path": "components/bbs/announcements.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3af8126d4c9ce54757e3c493",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GamesHub | imports:@/components/bbs/terminal-panel, @/lib/hooks/use-data, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GamesHub",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95b6d3c5959e2182",
      "framework": "next-react",
      "imports": "@/components/bbs/terminal-panel,@/lib/hooks/use-data,lucide-react,next/link",
      "lines": 89,
      "logic_relevance": "none",
      "name": "games-hub",
      "normalized_name": "games-hub",
      "package_manager": "pnpm",
      "path": "components/games/games-hub.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "40147891357870af1a8cf039",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TerminalEmulator | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TerminalEmulator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79719657260f57e0",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 294,
      "logic_relevance": "none",
      "name": "terminal-emulator",
      "normalized_name": "terminal-emulator",
      "package_manager": "pnpm",
      "path": "components/telnet/terminal-emulator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "57cf9fd71b7e36a3b65f2c0f",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "e64614d21f817a4a",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 45,
      "logic_relevance": "none",
      "name": "setup-db",
      "normalized_name": "setup-db",
      "package_manager": "pnpm",
      "path": "scripts/setup-db.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "8f56d665d851ae9509598173",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "dbe1d473449a763e",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 178,
      "logic_relevance": "none",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "scripts/migrate.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "2da8fe075390370825c0688b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@upstash/redis",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getRedisClient, redis | imports:@upstash/redis | logic-score:85 | security-score:55 | uses-env",
      "exports": "getRedisClient,redis",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e168355fa310266a",
      "framework": "next-react",
      "imports": "@upstash/redis",
      "lines": 327,
      "logic_relevance": "primary",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "lib/redis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "17fd209b20de1dd14de805ce",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,ai",
      "component_id": "4ca417321f5a6a07e44202a3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@upstash/redis,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@upstash/redis, vitest | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "309c68486acba25e",
      "framework": "next-react",
      "imports": "@upstash/redis,vitest",
      "lines": 78,
      "logic_relevance": "primary",
      "name": "redis.test",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "lib/redis.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "cf35665c4a4a9d1d5a232834",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AccessLevel, Announcement, AnnouncementType, ApiError, ApiKey, Attachment, AuditLog, AuditSeverity | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AccessLevel,Announcement,AnnouncementType,ApiError,ApiKey,Attachment,AuditLog,AuditSeverity,BBSEvent,Badge,BadgeRarity,Board,ChatMessage,ChatMessageType,ChatRoom,ChatRoomMember,ChatRoomType,DeviceInfo,FAQ,File,FileArea,Game,GameControls,GameScore,GameSettings,GameType,Job,JobStatus,LocationInfo,Message,Notification,NotificationSettings,PaginatedResponse,PlatphormService,Post,PostLike,PrivacySettings,Report,ReportStatus,ServiceCategory,ServiceHealthStatus,Tenant,TrustedDevice,User,UserBadge,UserRole,UserSession,UserSettings,WebhookEndpoint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5f82d6359c31508a",
      "framework": "next-react",
      "imports": "",
      "lines": 597,
      "logic_relevance": "primary",
      "name": "database",
      "normalized_name": "database",
      "package_manager": "pnpm",
      "path": "lib/types/database.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "c2e05f4c2199af8fbacc6c6e",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "bcryptjs",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:bcryptjs | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b471e5dd284092a3",
      "framework": "next-react",
      "imports": "bcryptjs",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "password",
      "normalized_name": "password",
      "package_manager": "pnpm",
      "path": "lib/auth/password.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "a5458aef51aea3e3eb212e30",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auth/fingerprint, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b2dfdc44b114a8aa",
      "framework": "next-react",
      "imports": "@/lib/auth/fingerprint,vitest",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/auth/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1f0165e520797ec416444460",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DeviceFingerprint, FINGERPRINT_SCRIPT, FingerprintComponents, FingerprintValidation, TrustedDevice, hashFingerprint | imports:@/lib/api/atlas, @/lib/redis | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DeviceFingerprint,FINGERPRINT_SCRIPT,FingerprintComponents,FingerprintValidation,TrustedDevice,hashFingerprint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b9bec8a32cf32954",
      "framework": "next-react",
      "imports": "@/lib/api/atlas,@/lib/redis",
      "lines": 413,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/auth/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "1fa0dc22529ee076f675200d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "75a4ea34855b5069",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "e1aba0446c0cc77ce2f7161b",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e8476d533df0153",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "0f5634700fbecc3e55f44707",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b0734bcf5d3fa64",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,ai",
      "component_id": "1dbd26edd4a39ed23fe45dc0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "swr",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useAnnouncements, useBbsActivity, useBbsStats, useBoards, useChatMessages, useChatRooms, useFileAreas, useGames | imports:swr | logic-score:85 | ai-score:45",
      "exports": "useAnnouncements,useBbsActivity,useBbsStats,useBoards,useChatMessages,useChatRooms,useFileAreas,useGames,useOnlineUsers",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "94a8a1a89461295d",
      "framework": "next-react",
      "imports": "swr",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "use-data",
      "normalized_name": "use-data",
      "package_manager": "pnpm",
      "path": "lib/hooks/use-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,ai",
      "component_id": "83a45501e961736eda900ad1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/supabase/server | logic-score:85 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "12fe409a5ac84c12",
      "framework": "next-react",
      "imports": "@/lib/supabase/server",
      "lines": 204,
      "logic_relevance": "primary",
      "name": "db-init",
      "normalized_name": "db-init",
      "package_manager": "pnpm",
      "path": "lib/actions/db-init.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,backend,observability",
      "component_id": "7a4e6ea19afe1818374311ab",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37e60132325c76d8",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "init-db",
      "normalized_name": "init-db",
      "package_manager": "pnpm",
      "path": "lib/actions/init-db.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "ac8248a4af8c83a4f727e826",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auth/fingerprint, @/lib/auth/password, @/lib/supabase/server, next/navigation | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4801ccaff8112a2f",
      "framework": "next-react",
      "imports": "@/lib/auth/fingerprint,@/lib/auth/password,@/lib/supabase/server,next/navigation",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/actions/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "718313f57426c4cf536533a0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AtlasHealthResponse, FingerprintAnalysis, IPAnalysis, JA4Fingerprint, ThreatFactor, ThreatScore, calculateTrustScore | imports:@/lib/redis | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AtlasHealthResponse,FingerprintAnalysis,IPAnalysis,JA4Fingerprint,ThreatFactor,ThreatScore,calculateTrustScore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5be58abdde774785",
      "framework": "next-react",
      "imports": "@/lib/redis",
      "lines": 363,
      "logic_relevance": "primary",
      "name": "atlas",
      "normalized_name": "atlas",
      "package_manager": "pnpm",
      "path": "lib/api/atlas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "d69f230bd0aeaa180a5d0ccf",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DetectionResponse, MagnifiedText, MagnifyOptions, TranslationRequest, TranslationResponse, readerAPI | imports:@/lib/redis | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DetectionResponse,MagnifiedText,MagnifyOptions,TranslationRequest,TranslationResponse,readerAPI",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "20b369f225eefbf6",
      "framework": "next-react",
      "imports": "@/lib/redis",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "reader",
      "normalized_name": "reader",
      "package_manager": "pnpm",
      "path": "lib/api/reader.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "c2431c50f7a2e28d734b61fc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ASCIIConvertOptions, ASCIIConvertResult, ASCIIHealthResponse, ASCII_DECORATIONS, boxMessage, progressBar | imports:@/lib/redis | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ASCIIConvertOptions,ASCIIConvertResult,ASCIIHealthResponse,ASCII_DECORATIONS,boxMessage,progressBar",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa406c7f3573f4c9",
      "framework": "next-react",
      "imports": "@/lib/redis",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "ascii",
      "normalized_name": "ascii",
      "package_manager": "pnpm",
      "path": "lib/api/ascii.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,backend,observability,security",
      "component_id": "21e43a2d3ec90457735cc897",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Emoji, EmojiCategory, EmojiProposal, EmojiRating, EmojiSearchResult, TrendingEmoji, emojiAPI | imports:@/lib/redis | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Emoji,EmojiCategory,EmojiProposal,EmojiRating,EmojiSearchResult,TrendingEmoji,emojiAPI",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc61a639be0619cc",
      "framework": "next-react",
      "imports": "@/lib/redis",
      "lines": 360,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/api/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "c467f7925871dbbe4f9f4283",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PLATPHORM_SERVICES, SERVICE_ICONS, ServiceWithHealth, getHealthStatusColor, getStatusIndicatorClass | imports:@/lib/redis, @/lib/types/database | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PLATPHORM_SERVICES,SERVICE_ICONS,ServiceWithHealth,getHealthStatusColor,getStatusIndicatorClass",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db0f5d723c899435",
      "framework": "next-react",
      "imports": "@/lib/redis,@/lib/types/database",
      "lines": 425,
      "logic_relevance": "primary",
      "name": "services",
      "normalized_name": "services",
      "package_manager": "pnpm",
      "path": "lib/api/services.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "13ee4eb3b33477b78cd990c8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./content, ./security, vitest | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfdbf814ecd0fc7a",
      "framework": "next-react",
      "imports": "./content,./security,vitest",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "content.test",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "lib/bbs/content.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,ai",
      "component_id": "8e6ca092b0a9afc5899d44b3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./mcp, vitest | logic-score:85 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0f47cf5a6713a3c3",
      "framework": "next-react",
      "imports": "./mcp,vitest",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/bbs/mcp.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "131db96b832d3b1b369043df",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fail, ok, withTrace | imports:./trace, next/server | logic-score:85 | observability-score:55",
      "exports": "fail,ok,withTrace",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2ea224f4d581e663",
      "framework": "next-react",
      "imports": "./trace,next/server",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "pnpm",
      "path": "lib/bbs/http.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "a1eaa4ba67909ddcfa1644e2",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./content, ./discovery | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1bf4d2733e804a15",
      "framework": "next-react",
      "imports": "./content,./discovery",
      "lines": 190,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/bbs/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "b2aba55e8a0e8dcce45aaade",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildActivity, buildStats, gamesPortal, getAnnouncement, getBbsInfo, getBoard, getFile, getGame | imports:./constants, ./types, @/lib/redis | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "buildActivity,buildStats,gamesPortal,getAnnouncement,getBbsInfo,getBoard,getFile,getGame,getPostsForThread,getThread,getThreadsForBoard,portalLinks,publicFiles,searchBbs,starterBoards,starterPosts,starterThreads,staticSource,systemAnnouncements,systemSource",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ede58bc24afef5bf",
      "framework": "next-react",
      "imports": "./constants,./types,@/lib/redis",
      "lines": 560,
      "logic_relevance": "primary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "lib/bbs/content.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "aa19b9f8c2ea0b6d10a9e5e2",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelScaffoldStatus, getModelScaffoldStatus | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "ModelScaffoldStatus,getModelScaffoldStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a7ffae97197853ed",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "model",
      "normalized_name": "model",
      "package_manager": "pnpm",
      "path": "lib/bbs/model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "f499e96c1363713219126cb6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./discovery, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "933a22469bcbcaed",
      "framework": "next-react",
      "imports": "./discovery,vitest",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/bbs/discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "0e719f6e969e87706638cf31",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BbsActivityEvent, BbsAnnouncement, BbsBoard, BbsDataSource, BbsFile, BbsGame, BbsPortalLink, BbsPost | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "BbsActivityEvent,BbsAnnouncement,BbsBoard,BbsDataSource,BbsFile,BbsGame,BbsPortalLink,BbsPost,BbsPresenceSummary,BbsSnapshot,BbsSourceMeta,BbsStats,BbsStatus,BbsThread,BbsVisibility",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c5484e4b4ac8406e",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/bbs/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "bc281b2c2f27c3b4c1374f43",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BBS_BASE_URL, BBS_NAME, BBS_SERVICE, BBS_SOURCE_SITE, BBS_VERSION, PUBLIC_ROUTE_STATEMENT, TRUST_POLICY_LINE | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BBS_BASE_URL,BBS_NAME,BBS_SERVICE,BBS_SOURCE_SITE,BBS_VERSION,PUBLIC_ROUTE_STATEMENT,TRUST_POLICY_LINE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e2f9a44219b9f12",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/bbs/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "de14ad0b65a7e85ceb1047d4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:escapeXml, redactSecrets, sanitizeText, sanitizeVercelMetadata | imports:crypto | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "escapeXml,redactSecrets,sanitizeText,sanitizeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0b77ef51fafaa116",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "lib/bbs/security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "5aa4417fbf492543eaca36be",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:breadcrumbJsonLd, collectionPageJsonLd, discussionForumPostingJsonLd, faqJsonLd, softwareApplicationJsonLd, websiteJsonLd | imports:./constants, ./types | logic-score:85 | security-score:55",
      "exports": "breadcrumbJsonLd,collectionPageJsonLd,discussionForumPostingJsonLd,faqJsonLd,softwareApplicationJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2da23412b67a8a93",
      "framework": "next-react",
      "imports": "./constants,./types",
      "lines": 87,
      "logic_relevance": "primary",
      "name": "jsonld",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "lib/bbs/jsonld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "6a55f2484aca0ff2ff38b1e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiJson, buildOpenApiYaml, buildSitemapIndexXml, buildSitemapXml, getDiscoveryCompliance, getFaq, getPublicPageRoutes, getRouteCompliance | imports:./constants, ./content, ./security | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "buildOpenApiJson,buildOpenApiYaml,buildSitemapIndexXml,buildSitemapXml,getDiscoveryCompliance,getFaq,getPublicPageRoutes,getRouteCompliance,getSitemapEntries,implementedPublicRoutes,mcpPrompts,mcpResources,mcpTools,readResource,validateSitemapRoutes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "165e06ae6aa2c461",
      "framework": "next-react",
      "imports": "./constants,./content,./security",
      "lines": 545,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/bbs/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security,discovery",
      "component_id": "bd7b6b5351d5aed4854385a3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildRssXml | imports:./constants, ./content, ./security | logic-score:85 | security-score:55 | discovery-score:55",
      "exports": "buildRssXml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ceec907c59d406c",
      "framework": "next-react",
      "imports": "./constants,./content,./security",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "rss",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "lib/bbs/rss.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "756fd1aae189ec8deecc5525",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, getTraceContext, getTraceLink | imports:./constants, next/server | logic-score:85 | observability-score:55",
      "exports": "TraceContext,getTraceContext,getTraceLink",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4041907bd6f60482",
      "framework": "next-react",
      "imports": "./constants,next/server",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/bbs/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "11836b6d984068a9f24e5182",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ProtectedAction, authorizeProtectedAction, getProtectedRouteMetadata, hasPlatformApiKey, isApiKeyRequired | imports:next/server | logic-score:85 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "ProtectedAction,authorizeProtectedAction,getProtectedRouteMetadata,hasPlatformApiKey,isApiKeyRequired",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1125f1a30685192b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/bbs/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "5147dcaa0949e4dbe6cfe923",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "next-intl",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./config, next-intl/navigation | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7ad8b278dd693913",
      "framework": "next-react",
      "imports": "./config,next-intl/navigation",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "lib/i18n/navigation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,ai",
      "component_id": "dd4603f439689940ec694d29",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "next,next-intl",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./config, next-intl/server, next/headers | logic-score:85 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ac2e5f208251394b",
      "framework": "next-react",
      "imports": "./config,next-intl/server,next/headers",
      "lines": 37,
      "logic_relevance": "primary",
      "name": "request",
      "normalized_name": "request",
      "package_manager": "pnpm",
      "path": "lib/i18n/request.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "bc283d8528a89e5e25faf25a",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./config, ./navigation | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d3eaf3a50f157f7b",
      "framework": "next-react",
      "imports": "./config,./navigation",
      "lines": 2,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "5970ca96041e4b3b36d41f45",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getDirection, isRtlLocale, localeFlags, localeNames, locales, rtlLocales | logic-score:85 | observability-score:55",
      "exports": "Locale,defaultLocale,getDirection,isRtlLocale,localeFlags,localeNames,locales,rtlLocales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ece2b8fd4e0c998d",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai",
      "component_id": "9a2948f208f94d94b54f93bc",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f5cbf675521d184e",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 48,
      "logic_relevance": "none",
      "name": "bbs.spec",
      "normalized_name": "bbs",
      "package_manager": "pnpm",
      "path": "e2e/bbs.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-bbs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "552bad36548a4ac394783631",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5675920ccc5872b3",
      "framework": "next-react",
      "imports": "",
      "lines": 4930,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,integration",
      "component_id": "55bf4a24b998ef5e8fe9fcf9",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dce8fb024d0c00e9",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "088d47aa8fb8afdfdb52a01a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5d25dc58c3487945",
      "framework": "next-react",
      "imports": "fs",
      "lines": 28,
      "logic_relevance": "none",
      "name": "patch_feed",
      "normalized_name": "patch-feed",
      "package_manager": "pnpm",
      "path": "patch_feed.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "process,automation",
      "component_id": "c133744e2eba3dc1b5f78dc0",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:fs | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9e24e94c1d8daacc",
      "framework": "next-react",
      "imports": "fs",
      "lines": 23,
      "logic_relevance": "none",
      "name": "patch_docs_again",
      "normalized_name": "patch-docs-again",
      "package_manager": "pnpm",
      "path": "patch_docs_again.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "40cf38806ea60104c0ed6a8c",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/components,fs,lucide-react",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DocsPage | imports:@/components/ui/badge, @/components/ui/card, fs, lucide-react | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DocsPage",
      "extension": ".js",
      "extraction_status": "shared-process-candidate",
      "file_hash": "938c64d49054e8fc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,fs,lucide-react",
      "lines": 173,
      "logic_relevance": "none",
      "name": "patch_docs_again_v3",
      "normalized_name": "patch-docs-again-v3",
      "package_manager": "pnpm",
      "path": "patch_docs_again_v3.js",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "19bdd4896f1da931c56d784a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9d6608da2d22d46",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "300d5e835b51d690738a6ad0",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fbae68eda2fe019b",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "58f273b1809c6a4678450e7f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afa0b61c1b5c24cb",
      "framework": "next-react",
      "imports": "",
      "lines": 8518,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d3723021f2f0245980d68088",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1c5423c67adbceab",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "6befbd09942311157a90f4dd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c1e3ba434c3904d0",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "observability",
      "component_id": "132e27b30b760c775f443f28",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:@/lib/config/policy, next/server | observability-score:55",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39066b8acc95e8b9",
      "framework": "next-react",
      "imports": "@/lib/config/policy,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "7ad00209dcc039966ac76a00",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5c616c04d0154a30",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "BUILD_STATUS",
      "normalized_name": "build-status",
      "package_manager": "pnpm",
      "path": "BUILD_STATUS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "de090d0f8ecce671fa058dca",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BrowserArtifact, BrowserArtifactType | observability-score:55",
      "exports": "BrowserArtifact,BrowserArtifactType",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a5dec8c23518943f",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "artifacts",
      "normalized_name": "artifacts",
      "package_manager": "pnpm",
      "path": "types/artifacts.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d08ee84e744708674c9d0ace",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NetworkGraph, NetworkServiceNode | observability-score:55",
      "exports": "NetworkGraph,NetworkServiceNode",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "538dd8beeada7fca",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "types/network.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "9e71fa365c9a7c5c047136bb",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BrowserAssertion, BrowserIntent, BrowserJourney, BrowserRun, BrowserStep | observability-score:55 | automation-score:45",
      "exports": "BrowserAssertion,BrowserIntent,BrowserJourney,BrowserRun,BrowserStep",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d516fb413c0dc37c",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "journeys",
      "normalized_name": "journeys",
      "package_manager": "pnpm",
      "path": "types/journeys.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "336987f0bc7fdd5c13b32511",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CanonicalMetadata | observability-score:55 | discovery-score:55",
      "exports": "CanonicalMetadata",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a4ae7e86c9010b2",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "types/metadata.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e3c8422b96d40799b9a46536",
      "component_kind": "trace-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FingerprintContext, TraceabilityContext | observability-score:55 | security-score:55",
      "exports": "FingerprintContext,TraceabilityContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2a8380727acd7b3b",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "types/trace.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "00fef7d5636d6589a3a6670c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/footer, @/components/layout/top-bar, @/lib/config/service, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "882a91259172e81e",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/lib/config/service,next,next/font/google",
      "lines": 114,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "52e4cff7b20a879ac00440c4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/lib/registry/canonical, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f6ee3e64cac3cc5",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,@/lib/utils,lucide-react,next/link",
      "lines": 160,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,observability,security,automation",
      "component_id": "eefe1f4fa884155aa12c228a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "edf5f28271f420a2",
      "framework": "next-react",
      "imports": "",
      "lines": 565,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "d8389aeec4dfc8e810bd3c97",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/registry/canonical, @/lib/standards/llms | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fd6ba496c2db906f",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,@/lib/standards/llms",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "38669184c1795d345e80a38f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/registry/canonical | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57b6abef834b8d8a",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "035f925e162f5f0e448690bf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/config/service, @/lib/registry/canonical | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cfe7b49917502c1f",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/registry/canonical",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6d5e6fddd4f7f75067976c7b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/network-manifest | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1587fa6a9cc8ff17",
      "framework": "next-react",
      "imports": "@/lib/standards/network-manifest",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network-manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "2d687da4a243e75d7a7dc5df",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41aa002787089504",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e18f2c1270597c50f32ce9fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/contract, @/lib/registry/canonical | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fe8f7d0016508b77",
      "framework": "next-react",
      "imports": "@/lib/platform/contract,@/lib/registry/canonical",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "b554332155b1f661a09e2d36",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/contract | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "31cb554862a7ceee",
      "framework": "next-react",
      "imports": "@/lib/platform/contract",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "87487cf6522209efbb77c971",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/app/.well-known/agents.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "50eafea3b613c3ac",
      "framework": "next-react",
      "imports": "@/app/.well-known/agents.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "1fcdbd0cc4e0c5d70a53d5cc",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b2418194fae387f3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "12b16aaeae07f4d0eef6c3cc",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c6db8255135df643",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "ada2f6d5db951ebfdd5e6d9e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/server | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eadaf53870f75a45",
      "framework": "next-react",
      "imports": "@/lib/mcp/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7db19c04484dcd2c6e2366a3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/lib/registry/canonical, @/lib/utils, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "451591dc639ea007",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,@/lib/utils,lucide-react,next,next/link",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "3fa5dc0b31feace34d6b5b02",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c54fd93c8867581",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "5dbe7ed397c58ec8ab1c7522",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/registry/canonical, @/lib/standards/llms | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba15141c8f2ec253",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,@/lib/standards/llms",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "315512ec2b940fe7f144ba7b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/feed.xml/route | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "03ac075e3b142cee",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f5a751c28558319587bba94f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c8543bd7dd29d33b",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f651a148236ed6ad29ab5301",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6037ab506e42ec54",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/artifacts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "d9989305c0bfe3cfac2ad7ed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "957680b19f248cd0",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/security/auth",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/red-team/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "04aea19ee79eee3895b0a230",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/health/route | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e0b099aa3f40f93",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "97b33d20d18249fa6efd590c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "00dd8b9a429c5061",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "38f0600a3f163990924d67d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b7576ed24fb47fe",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trace-propagation/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "1a9193a4a37a884d2becc40c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b71eb552f30be0e4",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0cdc2e5ffa02fd7d5f87c209",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/network/sync/route | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "50e9a57804391c94",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/sync/route",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "403bec001e72a23a7bb5af62",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bf3dc4182ceaef3f",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a7b46ca9b4c92a7220fd458a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bbf7601a57158d83",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "448ba96124e9eb63db4ceb7e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f9a8d79b3f3bade8",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "eabc58d39c23c5f06599cb52",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e4eff3d703f64d98",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b40443a123fb07db52435072",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a073dcd2fba446c8",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/ui-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "bf6fde0030ba65dcc8a51ff9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0677c1aee50e6f19",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/run-smoke/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "30c2fc59b4016fff14c5b58b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3aa09a1bbf5bfe96",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "451cf46acdc14961b910f2fe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "504a8678a0c9edea",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security,discovery",
      "component_id": "c600c2679ad80d5cad1e49f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b8181b86f1e7e47b",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/security/auth",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ui",
      "component_id": "0ce260da39e9f1838434ad97",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | ui-score:70 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "97195207ca1c4476",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/ui/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "backend,automation,integration,observability",
      "component_id": "2e101cd2cead2bc4d03921e1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for deployment; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | automation-score:95 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4c49a4b7c0193cf",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/vercel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bc6ee9cb304f7e9fcd7d797d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "783484e35576defa",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/journeys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a4e75df79860449d0b6648eb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/network/sync/route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42148df5c1422a97",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/sync/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1a4508223274cb1d4dbf8754",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d91a9f49a22b7027",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/readiness/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "9d9db30d3202bbc9d2a09c3e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/journeys/contracts, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a08a550c59bab0a5",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/journeys/contracts,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/journeys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "8e6cd8166754070955ce3739",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "61002fc5461da096",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/journeys/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "075e704132f1c3385cec317e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d6fba7c8f45d1bb0",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/journeys/[id]/dry-run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "e2af16dffc4f38fd69faae0f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f43281da0736aef",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/journeys/[id]/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "d1c8429975e4ff4e10b0d358",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/api/response, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7025c69f46ec5d2f",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "42a2e1cdfa4b656bc81266a3",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e216d396dc3e6be2",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a086c429bb4b8fe458bad05b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/security/auth | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b9c905566ff7a4f",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/security/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7d6d247ec2a225d01ba4584f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7c94e1af832f43e8",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/artifacts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6e6256fa2d0046c756c1968d",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f1c76ece565e9b7",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/screenshots/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f635e95ac67228740ff2dc68",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fb2b48e1309c23ac",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,process",
      "component_id": "db9fe22d8e4bb54d9aca428a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/platform/contract, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09ace01f6452b2de",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/platform/contract,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/publish-docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "0af7509c4aac06892db059e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/platform/contract, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d869bb8732d9723b",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/platform/contract,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/export-sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation",
      "component_id": "41a7f1a41dbc32439475183a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8335a307dfb8b8c6",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/steps/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1d7a897bfa6426ac2a3efc67",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/registry/canonical | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "47184de55b7049a3",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/canonical",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/report/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "549c2a16239d678454cd7473",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/platform/contract, @/lib/registry/canonical, @/lib/security/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b0b3868586b833e",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/platform/contract,@/lib/registry/canonical,@/lib/security/auth",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/generate-deck/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "9a78bdd89961a204bfdcaaf5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/config/service, @/lib/registry/canonical | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae1ab506aa6ee1bb",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/config/service,@/lib/registry/canonical",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "11ef88c98d8d5372b171280d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/mcp/server | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4efc8f96bb74d09a",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/mcp/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "484a07313ce6b4dd652397e0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/standards/openapi | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ac7a8f95f382f63",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/standards/openapi",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d654bef2e9e85a753896959e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/contract, @/lib/registry/canonical | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bd3f64f3a610c1d",
      "framework": "next-react",
      "imports": "@/lib/platform/contract,@/lib/registry/canonical",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "88258dbd433643feafe0eb96",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/openapi | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1c329e4380b60f8",
      "framework": "next-react",
      "imports": "@/lib/standards/openapi",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a2da9ac19754ce4a1a33e609",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/ui/journey-search, @/lib/registry/canonical, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "394ebf4dbbda1401",
      "framework": "next-react",
      "imports": "@/components/ui/journey-search,@/lib/registry/canonical,lucide-react,next/link,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/journeys/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "43329f39b97d866630b26cda",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21d0f296e9dae0ba",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "ec143e3c051f6fcf71275a38",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/contract, @/lib/registry/canonical | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2e2e228d511ea9f3",
      "framework": "next-react",
      "imports": "@/lib/platform/contract,@/lib/registry/canonical",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "64db4632b3c288da307d57dd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/manifest | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82188827d051aa21",
      "framework": "next-react",
      "imports": "@/lib/standards/manifest",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2bfa1bcaae86b507da144ea6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunsPage, dynamic | imports:@/lib/registry/canonical, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RunsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06dde591c7d81313",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,@/lib/utils,lucide-react,next/link",
      "lines": 88,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3dd8262415d08ccb814a2646",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/lib/registry/canonical, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c309df87453bb591",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,lucide-react,next/link,next/navigation",
      "lines": 77,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "5ceb7e539dd52d68ff4752bb",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "76795f772bca64d4",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 9,
      "logic_relevance": "none",
      "name": "runs.spec",
      "normalized_name": "runs",
      "package_manager": "pnpm",
      "path": "tests-e2e/runs.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "fd531cf618e438837aeb8a92",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "07cda77d94977b9b",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 13,
      "logic_relevance": "none",
      "name": "network.spec",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "tests-e2e/network.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "000031c47210e1cc750b5890",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d4afe7c79743ba99",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 18,
      "logic_relevance": "none",
      "name": "journeys.spec",
      "normalized_name": "journeys",
      "package_manager": "pnpm",
      "path": "tests-e2e/journeys.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "eb3642718f253f9273969838",
      "component_kind": "specification",
      "confidence": 60,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2476200638b11322",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 6,
      "logic_relevance": "none",
      "name": "home.spec",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": "tests-e2e/home.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "54af08892d43134b73fb1637",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/.well-known/agent.json/route, ../app/.well-known/security.txt/route, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d08ef157ccd4ae40",
      "framework": "next-react",
      "imports": "../app/.well-known/agent.json/route,../app/.well-known/security.txt/route,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "tests/well-known.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,security,ai",
      "component_id": "b78cac42668ba5d251c6b8f6",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp/server, vitest | integration-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d11fb80eac13159",
      "framework": "next-react",
      "imports": "@/lib/mcp/server,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "mcp-json-rpc.test",
      "normalized_name": "mcp-json-rpc",
      "package_manager": "pnpm",
      "path": "tests/mcp-json-rpc.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability",
      "component_id": "4cdfb1bc9f4a1ab88266e0ec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/registry/canonical, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f517ab98f0f779ec",
      "framework": "next-react",
      "imports": "@/lib/registry/canonical,vitest",
      "lines": 47,
      "logic_relevance": "none",
      "name": "registry.test",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "tests/registry.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ee982c6f9e637c568d4122db",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/security/redaction, @/lib/security/trusted-domains, @/lib/standards/openapi, @/lib/trace/headers, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c00a2937a088afd8",
      "framework": "next-react",
      "imports": "@/lib/security/redaction,@/lib/security/trusted-domains,@/lib/standards/openapi,@/lib/trace/headers,vitest",
      "lines": 49,
      "logic_relevance": "none",
      "name": "platform-contract.test",
      "normalized_name": "platform-contract",
      "package_manager": "pnpm",
      "path": "tests/platform-contract.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "e03586d5c97ca44b9f0103ed",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2ebfc12fc6df36f7",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "1ebdebefea467b4500d1f981",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6c640d606172f2a",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "INTEGRATIONS",
      "normalized_name": "integrations",
      "package_manager": "pnpm",
      "path": "docs/INTEGRATIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,logic,backend,observability",
      "component_id": "adb45661a73c1b72923c3149",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "991c6987aaee3839",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "SCHEMA",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "docs/SCHEMA.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "3cb42c98d861221c42faa7e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f212c2872ca952d3",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0fc2e9fa59852b586daf2e29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:JourneySearch | imports:lucide-react, next/navigation, react | ui-score:140 | frontend-score:115",
      "exports": "JourneySearch",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8f2a6dc0e75e90fb",
      "framework": "next-react",
      "imports": "lucide-react,next/navigation,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "journey-search",
      "normalized_name": "journey-search",
      "package_manager": "pnpm",
      "path": "components/ui/journey-search.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6e5b3ac417c63217c1f779ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "eb38751ddf154101",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e89265bb826491674e1fe5d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f5c6e25a642510e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f5e704ecb5332862a08d48ca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/config/service, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cff9738cbd07950b",
      "framework": "next-react",
      "imports": "@/lib/config/service,lucide-react,next/link",
      "lines": 116,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,automation",
      "component_id": "17cfeb4122053d09d4c7959a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:@/lib/utils, lucide-react, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "475b2fd0cccffdd9",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 188,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7566e1fa3b3c5bf09e322d8d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9cd7a1e9e2b302ec",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 130,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "1f841c77c95ad0f038f58979",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:JourneyList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/types/journeys, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "JourneyList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c50b120df6b6d543",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/types/journeys,lucide-react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "journey-list",
      "normalized_name": "journey-list",
      "package_manager": "pnpm",
      "path": "components/journeys/journey-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "359a12d3e5423ab8e5e10bcb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReadinessReportCard | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ReadinessReportCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9352fb16070d569b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "readiness-report-card",
      "normalized_name": "readiness-report-card",
      "package_manager": "pnpm",
      "path": "components/runs/readiness-report-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,observability,security",
      "component_id": "585b083df3e0863f9502eab2",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1adfcaaf07f3a14e",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "d5a377d2b0a6cdcaa9555435",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb897f68a6b6b3f6",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3f7824b113145ad265caee73",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d3d1cdf8c54eac91",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "seed",
      "normalized_name": "seed",
      "package_manager": "pnpm",
      "path": "scripts/seed.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,observability",
      "component_id": "23924f7a038e0a0a61b30986",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:capitalize, cn, formatDate, formatDuration, formatNumber, formatPercentage, formatRelativeTime, generateId | imports:clsx, tailwind-merge | logic-score:85 | observability-score:55",
      "exports": "capitalize,cn,formatDate,formatDuration,formatNumber,formatPercentage,formatRelativeTime,generateId,getStatusColor,safeJson,toSlug,truncate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e3b0b8f9233a9ed8",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "d916099fccec65f5b3752eb8",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,@vercel/blob",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env, @vercel/blob | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cf8192e8217fb842",
      "framework": "next-react",
      "imports": "@/lib/config/env,@vercel/blob",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/artifacts/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "2c4da8562e9c4084f497f5c2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceHeaderContext, createSpanId, createTraceHeaders, createTraceId | imports:node:crypto | logic-score:85 | observability-score:55",
      "exports": "TraceHeaderContext,createSpanId,createTraceHeaders,createTraceId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a803530e98d14614",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "headers",
      "normalized_name": "headers",
      "package_manager": "pnpm",
      "path": "lib/trace/headers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "logic,automation",
      "component_id": "2c60c52dd6b750369fe424fe",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for deployment; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:allowedOriginSuffixes, isAllowedOrigin | logic-score:60 | automation-score:45",
      "exports": "allowedOriginSuffixes,isAllowedOrigin",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "67c52de572bc3fe1",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "policy",
      "normalized_name": "policy",
      "package_manager": "pnpm",
      "path": "lib/config/policy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "df70fb5c6897e127b812d6cb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:env | imports:zod | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "env",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe3758eea0b88291",
      "framework": "next-react",
      "imports": "zod",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/config/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation",
      "component_id": "ff832f6daefea58f2db5526a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:serviceMetadata | imports:@/lib/config/env, @/types/metadata | logic-score:70 | backend-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "serviceMetadata",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "880ec800c9c8c219",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/types/metadata",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "pnpm",
      "path": "lib/config/service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,security",
      "component_id": "7e431db8b882303ef0fa7008",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getHostname, isPlatphormTrustedHost, validateTrustedUrl | logic-score:85 | security-score:55",
      "exports": "getHostname,isPlatphormTrustedHost,validateTrustedUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e258704861dd07bc",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "trusted-domains",
      "normalized_name": "trusted-domains",
      "package_manager": "pnpm",
      "path": "lib/security/trusted-domains.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "9ab690ad0818d119b865d4c8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isProtectedRequestAuthorized, requirePlatformKey | imports:@/lib/api/response | logic-score:60 | observability-score:55 | security-score:55 | uses-env",
      "exports": "isProtectedRequestAuthorized,requirePlatformKey",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fafbc3a302af30c8",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/security/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "47c63c439fbfcf0ed556433c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:redactError, redactText, sanitizeHeaders | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "redactError,redactText,sanitizeHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "67d5680ddceea53e",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "redaction",
      "normalized_name": "redaction",
      "package_manager": "pnpm",
      "path": "lib/security/redaction.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "a1caca473f8e44af2f35cda2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createTraceExportPayload | logic-score:85 | observability-score:55",
      "exports": "createTraceExportPayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47fbb5f8b3d0e82e",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "browser-trace-linker",
      "normalized_name": "browser-trace-linker",
      "package_manager": "pnpm",
      "path": "lib/correlation/browser-trace-linker.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "db29c10ac2a3d620a7d37ec0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BROWSEROPS_ENDPOINTS, CROSS_SITE_INTEGRATIONS, MCP_PROMPT_NAMES, MCP_RESOURCE_URIS, MCP_TOOL_NAMES, SITE_URL, STANDARD_ROUTES, StandardRoute | imports:@/lib/config/env | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BROWSEROPS_ENDPOINTS,CROSS_SITE_INTEGRATIONS,MCP_PROMPT_NAMES,MCP_RESOURCE_URIS,MCP_TOOL_NAMES,SITE_URL,STANDARD_ROUTES,StandardRoute,TRUST_POLICY_STATEMENT",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ebaeebdbe0d8cd7",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "contract",
      "normalized_name": "contract",
      "package_manager": "pnpm",
      "path": "lib/platform/contract.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "a8fd415868abf90b5b5cf568",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractFingerprintContext | imports:@/types/trace | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "extractFingerprintContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2c125b5b970d04dc",
      "framework": "next-react",
      "imports": "@/types/trace",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/cosmic/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "a8b724a911aa9f22d56fb40c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createCosmicId | imports:@/lib/config/env, node:crypto | logic-score:60",
      "exports": "createCosmicId",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "085676727f788d5b",
      "framework": "next-react",
      "imports": "@/lib/config/env,node:crypto",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "cuid",
      "normalized_name": "cuid",
      "package_manager": "pnpm",
      "path": "lib/cosmic/cuid.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "logic,automation",
      "component_id": "23188e09c3408d6fa4b529e4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:evaluateReadiness | imports:@/types/journeys | logic-score:85 | automation-score:45",
      "exports": "evaluateReadiness",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6374135592aeb269",
      "framework": "next-react",
      "imports": "@/types/journeys",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "readiness-engine",
      "normalized_name": "readiness-engine",
      "package_manager": "pnpm",
      "path": "lib/release/readiness-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "0417e714e3884f3221a7b6e4",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:browserOpsResources | imports:@/lib/platform/contract | logic-score:85 | integration-score:55",
      "exports": "browserOpsResources",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "26596c45872b7e2f",
      "framework": "next-react",
      "imports": "@/lib/platform/contract",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "resources",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,integration",
      "component_id": "004b5c8c4da5c5a336067a8a",
      "component_kind": "prompt-template",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:browserOpsPrompts | imports:@/lib/platform/contract | ai-score:120 | logic-score:85 | integration-score:55",
      "exports": "browserOpsPrompts",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1bc97426f0a3e206",
      "framework": "next-react",
      "imports": "@/lib/platform/contract",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,security",
      "component_id": "05b6d98536c2af8059aa5dc0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:browserOpsTools | imports:@/lib/platform/contract | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "browserOpsTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6803c518d4b45a2",
      "framework": "next-react",
      "imports": "@/lib/platform/contract",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation,ai",
      "component_id": "af7fa11bce2f6054aa0f736c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getMcpManifest | imports:@/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/tools, @/lib/platform/contract, @/lib/registry/canonical, @/lib/security/auth, @/lib/standards/llms, @/lib/standards/openapi | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "getMcpManifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "927899c3e97ed950",
      "framework": "next-react",
      "imports": "@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/tools,@/lib/platform/contract,@/lib/registry/canonical,@/lib/security/auth,@/lib/standards/llms,@/lib/standards/openapi",
      "lines": 213,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/mcp/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "bd9754dd2dd0f12528c1c5db",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e2697e3437b79d9f",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "agentui",
      "normalized_name": "agentui",
      "package_manager": "pnpm",
      "path": "lib/integrations/agentui.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,automation",
      "component_id": "0fddeb40ddc2c89a4a1df60a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d64eaac0352f14b0",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "webhooklab",
      "normalized_name": "webhooklab",
      "package_manager": "pnpm",
      "path": "lib/integrations/webhooklab.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "f2b8565e832444b9309f7a3a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ee7f730b45ab172",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "network-graph",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "lib/integrations/network-graph.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability",
      "component_id": "7a39068158c3936e8de45fd5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "67d00e2f68f7d26d",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/integrations/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "607d013ab3c19ff46e0b606e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e5e1ac6915878233",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "claws",
      "normalized_name": "claws",
      "package_manager": "pnpm",
      "path": "lib/integrations/claws.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "4838b1585d1a453da8db8fc8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e8d57663aa6ea1ae",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "sandbox",
      "normalized_name": "sandbox",
      "package_manager": "pnpm",
      "path": "lib/integrations/sandbox.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,ai,observability",
      "component_id": "a798cd242f6f1efe71c07977",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | ai-score:75 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "42fe5fa58547118c",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "evals",
      "normalized_name": "evals",
      "package_manager": "pnpm",
      "path": "lib/integrations/evals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,process",
      "component_id": "9c82c80c84fcb19668449fe4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b20efec744b827dd",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "spec",
      "normalized_name": "spec",
      "package_manager": "pnpm",
      "path": "lib/integrations/spec.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,process",
      "component_id": "add2e16ff0e48c4ab4f64c52",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6097a647640a0a4f",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "docs",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "lib/integrations/docs.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "e51e882932bf78eb12badc0e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:currentServiceMarker | logic-score:60",
      "exports": "currentServiceMarker",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e183039bdbfe6fdc",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "browserops",
      "normalized_name": "browserops",
      "package_manager": "pnpm",
      "path": "lib/integrations/browserops.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "5962bea8bf6ac2f5b2103467",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:API_BASE | imports:@/lib/config/env | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "API_BASE",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "643d3f5da7812df8",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/integrations/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "fabbbd5cf427e4256aebde32",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "de9436eb130b16ed",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/integrations/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability",
      "component_id": "8cca984ed5606e0482365dc8",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37a57cee13c2cade",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "accessibility",
      "normalized_name": "accessibility",
      "package_manager": "pnpm",
      "path": "lib/browser/accessibility.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "96c83bac733ae877d5b05884",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,@playwright/test,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlaywrightRunResult | imports:@/lib/artifacts/store, @/lib/browser/accessibility, @/lib/security/redaction, @/lib/security/trusted-domains, @/types/journeys, @playwright/test, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PlaywrightRunResult",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bceae443560926bd",
      "framework": "next-react",
      "imports": "@/lib/artifacts/store,@/lib/browser/accessibility,@/lib/security/redaction,@/lib/security/trusted-domains,@/types/journeys,@playwright/test,node:crypto",
      "lines": 290,
      "logic_relevance": "primary",
      "name": "playwright-runner",
      "normalized_name": "playwright-runner",
      "package_manager": "pnpm",
      "path": "lib/browser/playwright-runner.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "443a932e3fd8f8d55c5618f1",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f3c64be2e22ddaf",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "stagehand-runner",
      "normalized_name": "stagehand-runner",
      "package_manager": "pnpm",
      "path": "lib/browser/stagehand-runner.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,observability,process",
      "component_id": "c54c7d62cf4cb39f95282f9a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:60 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "253ab9af89b93723",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 14,
      "logic_relevance": "primary",
      "name": "docs-verification",
      "normalized_name": "docs-verification",
      "package_manager": "pnpm",
      "path": "lib/publish/docs-verification.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "82c8e597e0367e28aacab849",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a67c444c924be840",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 14,
      "logic_relevance": "primary",
      "name": "trace-export",
      "normalized_name": "trace-export",
      "package_manager": "pnpm",
      "path": "lib/publish/trace-export.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ai,logic,observability",
      "component_id": "d935b95c2d96df1da630e7cd",
      "component_kind": "ai-eval",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "AI component for testing; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/config/env | ai-score:75 | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "93ea1ce920455220",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "evals-export",
      "normalized_name": "evals-export",
      "package_manager": "pnpm",
      "path": "lib/publish/evals-export.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "98287385e4977fe960a983b8",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "drizzle-orm",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiKeys, auditLogs, browserArtifacts, browserArtifactsRelations, browserJourneys, browserJourneysRelations, browserReadinessReports, browserRunSteps | imports:drizzle-orm, drizzle-orm/pg-core | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "apiKeys,auditLogs,browserArtifacts,browserArtifactsRelations,browserJourneys,browserJourneysRelations,browserReadinessReports,browserRunSteps,browserRunStepsRelations,browserRuns,browserRunsRelations,browserTargets,browserTraceLinks,content,events,faqs,jobs,networkServices,networkServicesRelations,sessions,sessionsRelations,tenants,tenantsRelations,users,usersRelations,webhookDeliveries,webhookDeliveriesRelations,webhookEndpoints,webhookEndpointsRelations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "34d76739398b53c8",
      "framework": "next-react",
      "imports": "drizzle-orm,drizzle-orm/pg-core",
      "lines": 483,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/neon/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "aef18071e8bed3aed6b5e338",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@neondatabase/serverless,drizzle-orm",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:db | imports:@/lib/config/env, @/lib/neon/schema, @neondatabase/serverless, drizzle-orm/neon-http | logic-score:70",
      "exports": "db",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "545d71c30c1440c0",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/neon/schema,@neondatabase/serverless,drizzle-orm/neon-http",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/neon/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "7a20b6a4d2f2583de70d5f97",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ComplianceStatus, NetworkInventory, RouteCheckResult, SiteRecord, TracePropagationResult, TrustedDomainRecord, TrustedDomainStatus, UiComplianceResult | imports:@/lib/browser/playwright-runner, @/lib/config/env, @/lib/config/service, @/lib/journeys/synthesizer, @/lib/neon/client, @/lib/platform/contract, @/lib/security/redaction, @/lib/security/trusted-domains | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ComplianceStatus,NetworkInventory,RouteCheckResult,SiteRecord,TracePropagationResult,TrustedDomainRecord,TrustedDomainStatus,UiComplianceResult,getRun,getRunArtifacts,getRuns",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2dca8b6933c71d68",
      "framework": "next-react",
      "imports": "@/lib/browser/playwright-runner,@/lib/config/env,@/lib/config/service,@/lib/journeys/synthesizer,@/lib/neon/client,@/lib/platform/contract,@/lib/security/redaction,@/lib/security/trusted-domains,@/lib/trace/headers,@/types/journeys,@/types/network,node:crypto",
      "lines": 801,
      "logic_relevance": "primary",
      "name": "canonical",
      "normalized_name": "canonical",
      "package_manager": "pnpm",
      "path": "lib/registry/canonical.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "a3095503aff90aded150c262",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@/types,drizzle-orm",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env, @/lib/cosmic/cuid, @/lib/neon/client, @/lib/neon/schema, @/types/network, drizzle-orm | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "320a3d55030fb39f",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/cosmic/cuid,@/lib/neon/client,@/lib/neon/schema,@/types/network,drizzle-orm",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "network-sync",
      "normalized_name": "network-sync",
      "package_manager": "pnpm",
      "path": "lib/registry/network-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "919ce3aa93d7f2fe1f4a965e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createTraceContext | imports:@/lib/cosmic/cuid, @/lib/cosmic/fingerprint, @/types/trace | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "createTraceContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6cb6f9fb09713470",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/cosmic/fingerprint,@/types/trace",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "correlation",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/api/correlation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,observability",
      "component_id": "716d436e07588ecee218239d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AppError | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "AppError",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5e711aa965df799c",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "errors",
      "normalized_name": "errors",
      "package_manager": "pnpm",
      "path": "lib/api/errors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,observability",
      "component_id": "11a0f1a6d237c49e62c2346a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fail, ok | imports:next/server | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "fail,ok",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c18116d6e4297dbf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "388f7f30d4655e1a6e40abc1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:browserAssertionSchema, browserJourneySchema, browserStepSchema | imports:zod | logic-score:70 | automation-score:45",
      "exports": "browserAssertionSchema,browserJourneySchema,browserStepSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "34b9b03d6c07216e",
      "framework": "next-react",
      "imports": "zod",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "contracts",
      "normalized_name": "contracts",
      "package_manager": "pnpm",
      "path": "lib/journeys/contracts.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,automation",
      "component_id": "0a8d12b4cf589b09ae38dc22",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:synthesizeCrossServiceJourneys, synthesizeSmokeJourneys | imports:@/lib/cosmic/cuid, @/types/journeys, @/types/network | logic-score:85 | automation-score:45",
      "exports": "synthesizeCrossServiceJourneys,synthesizeSmokeJourneys",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d97f98a3708237e",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/types/journeys,@/types/network",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "synthesizer",
      "normalized_name": "synthesizer",
      "package_manager": "pnpm",
      "path": "lib/journeys/synthesizer.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,automation,ai",
      "component_id": "198eb2499ab8c29071a6af14",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildLlmsText | imports:@/lib/config/service, @/lib/platform/contract | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildLlmsText",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "96609c30de5680fb",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/platform/contract",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "lib/standards/llms.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "853709d52fd67d7eb8a5dc56",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildNetworkManifest | imports:@/lib/config/service | logic-score:60 | observability-score:55 | discovery-score:55",
      "exports": "buildNetworkManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "54eb73d9fdf674a6",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "network-manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "lib/standards/network-manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "0eb94bfabd5ceefe6a181c51",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec, toYaml | imports:@/lib/config/service, @/lib/platform/contract | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "buildOpenApiSpec,toYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "22513864e3e7f19e",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/platform/contract",
      "lines": 174,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/standards/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,discovery",
      "component_id": "3054b3b86e64b09046ee29a5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildWebManifest | imports:@/lib/config/service | logic-score:60 | observability-score:55 | discovery-score:55",
      "exports": "buildWebManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d81a7836a45c797f",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "lib/standards/manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability",
      "component_id": "2f5dc9b1b3397f4bc4ef4459",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91d1c43004802cd4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": ".last-run",
      "normalized_name": "last-run",
      "package_manager": "pnpm",
      "path": "test-results/.last-run.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-browserops",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1e65eaca53179ca09bbe0932",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "436e51b822618e98",
      "framework": "next-react",
      "imports": "",
      "lines": 6648,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6599cb643557960ee46a4c23",
      "component_kind": "specification",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ba3f24d3c9eb7c4d",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "pnpm",
      "path": "requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "d5750d570992eae7ed603ff7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "37ff1df3db8045c9",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "597eba9fcee00bdeb624c2db",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ace70c78437cf0cc",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "32b325d5b1c727fc44d8f7a1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75dc8eabe4b7bb84",
      "framework": "next-react",
      "imports": "",
      "lines": 11128,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process",
      "component_id": "c4102be1092faa064f0c8ace",
      "component_kind": "agent",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e3447d84251880fb",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "AGENTS",
      "normalized_name": "agents",
      "package_manager": "pnpm",
      "path": "AGENTS.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,process",
      "component_id": "c36fb646ec8bc55cb78ef0ad",
      "component_kind": "ai-integration",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "336cc4fbf19beaad",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "CLAUDE",
      "normalized_name": "claude",
      "package_manager": "pnpm",
      "path": "CLAUDE.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "fb51b0241bc32ff9c1cf503d",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5e9b0f8ae025acd4",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pullData",
      "normalized_name": "pull-data",
      "package_manager": "pnpm",
      "path": "pullData.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "28fdb135e2afde673d26c674",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../src/app/news/page, @testing-library/react | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3debb19333019d10",
      "framework": "next-react",
      "imports": "../src/app/news/page,@testing-library/react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "news.test",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "__tests__/news.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "5c038e01fa02bdd079a14445",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/page, @testing-library/react | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e59dc4dab135aee5",
      "framework": "next-react",
      "imports": "@/app/page,@testing-library/react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "4bbf2380e7b13157e50e4990",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/ui/Navbar, @testing-library/react | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f6aacfa3fd5331b",
      "framework": "next-react",
      "imports": "@/components/ui/Navbar,@testing-library/react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "Navbar.test",
      "normalized_name": "navbar",
      "package_manager": "pnpm",
      "path": "__tests__/Navbar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process,security",
      "component_id": "577f6ecb450280c2497717c0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "60f890c64205173f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "730586b59c7432450608a4df",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:dynamic | process-score:65",
      "exports": "dynamic",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31f19b45fdbd0c87",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "a1c33631c514a38085f2bd5a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "disutils.core,setuptools",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:disutils.core, setuptools | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "772a74035761d677",
      "framework": "next-react",
      "imports": "disutils.core,setuptools",
      "lines": 31,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "lob-python/setup.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "1b0e4606e431889cdad3e440",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "__future__",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:APIConnectionError, APIError, AuthenticationError, InvalidRequestError, LobError | imports:__future__ | observability-score:55 | security-score:55",
      "exports": "APIConnectionError,APIError,AuthenticationError,InvalidRequestError,LobError",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f18824b6dfd93d4b",
      "framework": "next-react",
      "imports": "__future__",
      "lines": 27,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "lob-python/lob/error.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,ai",
      "component_id": "a7f1d12182f5ab3b91c002c4",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "__future__,json,lob,lob.compat",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:APIResource, Address, BankAccount, Check, CreateableAPIResource, DeleteableAPIResource, IntlVerification, Letter | imports:__future__, json, lob, lob.compat | security-score:55 | ai-score:45",
      "exports": "APIResource,Address,BankAccount,Check,CreateableAPIResource,DeleteableAPIResource,IntlVerification,Letter,ListableAPIResource,LobObject,Postcard,USAutocompletion,USVerification,USZipLookup,VerifiableAPIResource,lob_format",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6d14892784decf8",
      "framework": "next-react",
      "imports": "__future__,json,lob,lob.compat",
      "lines": 199,
      "logic_relevance": "none",
      "name": "resource",
      "normalized_name": "resource",
      "package_manager": "pnpm",
      "path": "lob-python/lob/resource.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security,ai",
      "component_id": "c3d11fe53b5ecd4471759d26",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "lob.resource,lob.version",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:lob.resource, lob.version | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac8c954571894dc1",
      "framework": "next-react",
      "imports": "lob.resource,lob.version",
      "lines": 9,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "pnpm",
      "path": "lob-python/lob/__init__.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "dfc8519f0ddf8edbbe74f02f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "__future__,lob,lob.version,requests",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:APIRequestor, _is_file_like | imports:__future__, lob, lob.version, requests | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APIRequestor,_is_file_like",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4ea83ebf01754385",
      "framework": "next-react",
      "imports": "__future__,lob,lob.version,requests",
      "lines": 92,
      "logic_relevance": "none",
      "name": "api_requestor",
      "normalized_name": "api-requestor",
      "package_manager": "pnpm",
      "path": "lob-python/lob/api_requestor.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "42f1947cef00ea75dc1b953c",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestAddressFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "TestAddressFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26865f24385740de",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 57,
      "logic_relevance": "none",
      "name": "lob",
      "normalized_name": "lob",
      "package_manager": "pnpm",
      "path": "lob-python/tests/lob.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "a53185fe610f5132150abf75",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestAddressFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "TestAddressFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4b48fd2266578f4",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "test_address",
      "normalized_name": "test-address",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_address.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "209a5e9c613a287e8c589aae",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:LetterFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "LetterFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4bd6b2d0f30bcbd",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "test_letter",
      "normalized_name": "test-letter",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_letter.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9a3322e058fa8d16c96e6f5a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,unittest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestLob | imports:lob, unittest | security-score:55",
      "exports": "TestLob",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "4daf28dc66777e1e",
      "framework": "next-react",
      "imports": "lob,unittest",
      "lines": 17,
      "logic_relevance": "none",
      "name": "test_lob",
      "normalized_name": "test-lob",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_lob.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,security",
      "component_id": "aac726b232de7d0458730bf4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "lob,os,unittest",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TestIntlVerificationFunctions | imports:lob, os, unittest | observability-score:55 | security-score:55",
      "exports": "TestIntlVerificationFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d565949e8e213e57",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "test_intl_verification",
      "normalized_name": "test-intl-verification",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_intl_verification.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security,ai",
      "component_id": "b55517dba2de3fa9272ba5e2",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestUSAutocompletionFunctions | imports:lob, os, unittest | security-score:55 | ai-score:45",
      "exports": "TestUSAutocompletionFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "154ba00e508060e9",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 18,
      "logic_relevance": "none",
      "name": "test_us_autocompletion",
      "normalized_name": "test-us-autocompletion",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_us_autocompletion.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "c7f4762560bdbac08f00e98f",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestAddressFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "TestAddressFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26865f24385740de",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 57,
      "logic_relevance": "none",
      "name": "import unittest",
      "normalized_name": "import-unittest",
      "package_manager": "pnpm",
      "path": "lob-python/tests/import unittest.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "c34c04dbe5b3b1aaffdaac5f",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:BankAccountFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "BankAccountFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ad94d407e8ae700",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 59,
      "logic_relevance": "none",
      "name": "test_bankaccount",
      "normalized_name": "test-bankaccount",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_bankaccount.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "3151eacbdeec15880c63d760",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestUSVerificationFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "TestUSVerificationFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bdc176d985c5ba8d",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 45,
      "logic_relevance": "none",
      "name": "test_us_verification",
      "normalized_name": "test-us-verification",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_us_verification.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "33a59f20deb0fbd8a102394a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:CheckFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "CheckFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2097be1ed157a7fd",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 95,
      "logic_relevance": "none",
      "name": "test_check",
      "normalized_name": "test-check",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_check.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "fc657ea044dbb546e1767980",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:PostcardFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "PostcardFunctions",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9deec453aea7ebf9",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 138,
      "logic_relevance": "none",
      "name": "test_postcard",
      "normalized_name": "test-postcard",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_postcard.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "eba10460e1203b5e43365b8c",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "lob,os,unittest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TestUSZipLookupFunctions | imports:lob, os, unittest | security-score:55",
      "exports": "TestUSZipLookupFunctions",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a2d5f5b36ff8827",
      "framework": "next-react",
      "imports": "lob,os,unittest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "test_us_zip_lookup",
      "normalized_name": "test-us-zip-lookup",
      "package_manager": "pnpm",
      "path": "lob-python/tests/test_us_zip_lookup.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "process",
      "component_id": "55147090a1e5f746ab74adda",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for game; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ea249c7c700710e1",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "SOURCES",
      "normalized_name": "sources",
      "package_manager": "pnpm",
      "path": "lob-python/lob.egg-info/SOURCES.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "2b8d9a8562a1b39ae73af019",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7cc4959877dbe6b6",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "requires",
      "normalized_name": "requires",
      "package_manager": "pnpm",
      "path": "lob-python/lob.egg-info/requires.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "process",
      "component_id": "5a2db854dd96b0f48b00a871",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for game; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d37021602aaa417b",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "top_level",
      "normalized_name": "top-level",
      "package_manager": "pnpm",
      "path": "lob-python/lob.egg-info/top_level.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "968569d3e0c3213d3423bff4",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "01ba4719c80b6fe9",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dependency_links",
      "normalized_name": "dependency-links",
      "package_manager": "pnpm",
      "path": "lob-python/lob.egg-info/dependency_links.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "decb08cc0d7d2d0b86027009",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "lob,os,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:lob, os, sys | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "c1dfc63b808dab9c",
      "framework": "next-react",
      "imports": "lob,os,sys",
      "lines": 114,
      "logic_relevance": "none",
      "name": "check",
      "normalized_name": "check",
      "package_manager": "pnpm",
      "path": "lob-python/examples/check.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "4a1e5a59cc71d3a262b3bd35",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "lob,os,sys",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:lob, os, sys | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5abf5580af38e523",
      "framework": "next-react",
      "imports": "lob,os,sys",
      "lines": 77,
      "logic_relevance": "none",
      "name": "letter",
      "normalized_name": "letter",
      "package_manager": "pnpm",
      "path": "lob-python/examples/letter.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c0a51ef7b33d22fd63a2e33e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "lob,os,sys",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:lob, os, sys | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "15e2fe4d0faded69",
      "framework": "next-react",
      "imports": "lob,os,sys",
      "lines": 68,
      "logic_relevance": "none",
      "name": "postcard",
      "normalized_name": "postcard",
      "package_manager": "pnpm",
      "path": "lob-python/examples/postcard.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f03e09deb1066be9b126b315",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "csv,datetime,lob,os,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:csv, datetime, lob, os, sys | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "7d86067c45589e21",
      "framework": "next-react",
      "imports": "csv,datetime,lob,os,sys",
      "lines": 90,
      "logic_relevance": "none",
      "name": "verify",
      "normalized_name": "verify",
      "package_manager": "pnpm",
      "path": "lob-python/examples/verify_addresses_from_csv/verify.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "75e4db8f10d6aa6d4e77ee04",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "csv,datetime,lob,os,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:csv, datetime, lob, os, sys | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "aef0c522b043d50e",
      "framework": "next-react",
      "imports": "csv,datetime,lob,os,sys",
      "lines": 158,
      "logic_relevance": "none",
      "name": "letters",
      "normalized_name": "letters",
      "package_manager": "pnpm",
      "path": "lob-python/examples/create_letters_from_csv/letters.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3f9db97777b0d075e5202b84",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "csv,datetime,lob,os,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:csv, datetime, lob, os, sys | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e4146c1b2112ad12",
      "framework": "next-react",
      "imports": "csv,datetime,lob,os,sys",
      "lines": 157,
      "logic_relevance": "none",
      "name": "postcards",
      "normalized_name": "postcards",
      "package_manager": "pnpm",
      "path": "lob-python/examples/create_postcards_from_csv/postcards.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b69b149d2c7fff49fa7d03c5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "csv,datetime,lob,os,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:csv, datetime, lob, os, sys | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5379bdaea2941548",
      "framework": "next-react",
      "imports": "csv,datetime,lob,os,sys",
      "lines": 183,
      "logic_relevance": "none",
      "name": "check",
      "normalized_name": "check",
      "package_manager": "pnpm",
      "path": "lob-python/examples/create_checks_from_csv/check.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "98e4d64918b3bc64c7017578",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "bs4,dotenv,os,os.path,random,selenium",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ConnectWithUser, EndorseConnections, FindProfileURLsInEither, FindProfileURLsInNetworkPage, FindProfileURLsInPeopleAlsoViewed, GetNewProfileURLS, Launch, LinkedInBot | imports:bs4, dotenv, os, os.path, random, selenium | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "ConnectWithUser,EndorseConnections,FindProfileURLsInEither,FindProfileURLsInNetworkPage,FindProfileURLsInPeopleAlsoViewed,GetNewProfileURLS,Launch,LinkedInBot,NavigateToMyNetworkPage,ScrollToBottomAndWaitForLoad,ValidateURL",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bda9e2e5e6f01c0e",
      "framework": "next-react",
      "imports": "bs4,dotenv,os,os.path,random,selenium",
      "lines": 420,
      "logic_relevance": "none",
      "name": "LinkedInBot",
      "normalized_name": "linked-in-bot",
      "package_manager": "pnpm",
      "path": "automation/LinkedInBot.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "0fc04790da90a67078a556d5",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b3fd84d90e6e4098",
      "framework": "next-react",
      "imports": "next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "src/app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "f9c7bb9df2677cb8c3acdd86",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9237b71eb58598e5",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "src/app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,ai",
      "component_id": "a0616c9742bca7fad6433e1f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/ui/Navbar, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20be2651d600a10b",
      "framework": "next-react",
      "imports": "@/components/ui/Navbar,next,next/font/google",
      "lines": 46,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7d5e8c9fd5a1008110002a04",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f395cae88f5a979b",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "a7722403a4dddde4634041e1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "769edf77bd0d101a",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "src/app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery,ai",
      "component_id": "0407f7567312c3f0ff520c1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0cd6f94737ebb60b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend",
      "component_id": "d207ce41d199a083fcc5b9ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ddfd19b8dab5ff7d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/.well-known/nodeinfo/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "5dc82d7e31c919745598376f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "29309f61c1405bfa",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation,ai",
      "component_id": "18eac103e36ceadf6618419a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage | imports:react | frontend-score:115 | ui-score:70 | automation-score:45 | ai-score:45",
      "exports": "AboutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1c3fe7aea524dd9f",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "05483868531a4222484cd7e1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsPage | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NewsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17fcb0ba008104e2",
      "framework": "next-react",
      "imports": "react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/app/news/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "73d60af18c2ba9a4a87460bf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "58c5978596222200",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/lob/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,security",
      "component_id": "6c06204a27cbc2ed3a0fd344",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "59ab29081f09c464",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "0da75f811359df1f626f79fd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2ffdd51bfb1b8bdf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/mcp/resources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "70e5f5c7c091b2d88048c7f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "dc5939307410c265",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/mcp/query/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "348cdd3836537cb846cfb6bd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c891daac6bd0656",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/news/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "afb46e7c4f15ce1548319065",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6b4507b3a1e9cc37",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/llms-index/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b0329c7a66741e25629ad468",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "child_process,next,path,util",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:child_process, next/server, path, util | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d38c28c8b5597fd3",
      "framework": "next-react",
      "imports": "child_process,next/server,path,util",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/scripts/lob/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,frontend,observability,automation",
      "component_id": "1f3e9956fe2e78948a87303f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebd2aadc1b25c9ee",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "src/app/api/scripts/linkedin/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "349eab40e11345e988253094",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Navbar | imports:next/link, next/navigation, react | ui-score:140 | frontend-score:115",
      "exports": "Navbar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c8ddb089c7c2f2bd",
      "framework": "next-react",
      "imports": "next/link,next/navigation,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "Navbar",
      "normalized_name": "navbar",
      "package_manager": "pnpm",
      "path": "src/components/ui/Navbar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4a758a9aacddcb23797b8c4d",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7fb9774e1dbb3253",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "test-opt24",
      "normalized_name": "test-opt24",
      "package_manager": "pnpm",
      "path": "test-opt24.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "48334873446a992fda61b540",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COMPUTE_REGEX, END_IF_REGEX, EVALUATE_REGEX, FILE_OP_REGEX, GO_TO_REGEX, IF_REGEX, PERFORM_REGEX, PROCEDURE_DIVISION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "COMPUTE_REGEX,END_IF_REGEX,EVALUATE_REGEX,FILE_OP_REGEX,GO_TO_REGEX,IF_REGEX,PERFORM_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a62a65041cf6089c",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 117,
      "logic_relevance": "none",
      "name": "test-opt10",
      "normalized_name": "test-opt10",
      "package_manager": "pnpm",
      "path": "test-opt10.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "578794f3c80b30c902d15639",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4db516fcab8edd08",
      "framework": "next-react",
      "imports": "",
      "lines": 4434,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1cec0a464e31b3a766ef940c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6d793e613d93ba50",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 1,
      "logic_relevance": "none",
      "name": "test-opt34",
      "normalized_name": "test-opt34",
      "package_manager": "pnpm",
      "path": "test-opt34.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "590f1cc8a624b0f6b044c448",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COMPUTE_REGEX, END_IF_REGEX, EVALUATE_REGEX, FILE_OP_REGEX, GO_TO_REGEX, IF_REGEX, PERFORM_REGEX, PROCEDURE_DIVISION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "COMPUTE_REGEX,END_IF_REGEX,EVALUATE_REGEX,FILE_OP_REGEX,GO_TO_REGEX,IF_REGEX,PERFORM_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "150903079135aeec",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 117,
      "logic_relevance": "none",
      "name": "test-opt5",
      "normalized_name": "test-opt5",
      "package_manager": "pnpm",
      "path": "test-opt5.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4f25156df9fe1acf2a479aec",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PROCEDURE_DIVISION_REGEX, Y2K_KEYWORDS_REGEX, Y2K_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55 | security-score:55",
      "exports": "PROCEDURE_DIVISION_REGEX,Y2K_KEYWORDS_REGEX,Y2K_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7df42e14e70d1494",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 48,
      "logic_relevance": "none",
      "name": "test-opt14",
      "normalized_name": "test-opt14",
      "package_manager": "pnpm",
      "path": "test-opt14.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "bdade2aa701e56f966d5be0b",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PROCEDURE_DIVISION_REGEX | observability-score:55",
      "exports": "PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "25c286e128125be4",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "test-opt20",
      "normalized_name": "test-opt20",
      "package_manager": "pnpm",
      "path": "test-opt20.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ff6ed22bced062aa911fb611",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COMPUTE_REGEX, END_IF_REGEX, EVALUATE_REGEX, FILE_OP_REGEX, GO_TO_REGEX, IF_REGEX, PERFORM_REGEX, PROCEDURE_DIVISION_REGEX | observability-score:55",
      "exports": "COMPUTE_REGEX,END_IF_REGEX,EVALUATE_REGEX,FILE_OP_REGEX,GO_TO_REGEX,IF_REGEX,PERFORM_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cba79d1560ae8fe2",
      "framework": "next-react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "test-opt30",
      "normalized_name": "test-opt30",
      "package_manager": "pnpm",
      "path": "test-opt30.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "c51e8cad6d98c3955fe4d8c3",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "dc4efaa72655b96216d620b5",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cd8e0666cdffb2c3",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt15",
      "normalized_name": "test-opt15",
      "package_manager": "pnpm",
      "path": "test-opt15.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "35618f32c7157a0c9cc3ad1e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "728b34c8e9fc0408",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt21",
      "normalized_name": "test-opt21",
      "package_manager": "pnpm",
      "path": "test-opt21.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "452620861945c33e801bf9ba",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "86743c69beb8581c",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt31",
      "normalized_name": "test-opt31",
      "package_manager": "pnpm",
      "path": "test-opt31.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "0ba53b92fe1125028047257c",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dd8a37468e65369e",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "567caecd6ebfa67f84a36780",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DIVISION_REGEX, SECTION_REGEX | observability-score:55",
      "exports": "DIVISION_REGEX,SECTION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "366f3051bb34e672",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "test-opt25",
      "normalized_name": "test-opt25",
      "package_manager": "pnpm",
      "path": "test-opt25.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0289ba08fab581bedc673ad8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "261e0680ae98a5ffa98cbe72",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d9ef64477f414800",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt11",
      "normalized_name": "test-opt11",
      "package_manager": "pnpm",
      "path": "test-opt11.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c86a47f199dbb56c32c41aab",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer-test.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9910c25f82f90cbd",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer-test.ts",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt35",
      "normalized_name": "test-opt35",
      "package_manager": "pnpm",
      "path": "test-opt35.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "75b382d65904c3c36dbe1858",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DATA_DIVISION_REGEX, DATA_ITEM_REGEX, PIC_REGEX, PROCEDURE_DIVISION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "DATA_DIVISION_REGEX,DATA_ITEM_REGEX,PIC_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a82496ed5f80e927",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 83,
      "logic_relevance": "none",
      "name": "test-opt4",
      "normalized_name": "test-opt4",
      "package_manager": "pnpm",
      "path": "test-opt4.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "b7b5c3e8867ca538e08bd578",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "92e9643840c51993",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ed5107d88d4996d7e88f0d5a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "bac80f0eb0bc23a8",
      "framework": "next-react",
      "imports": "next",
      "lines": 39,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,ai",
      "component_id": "72523e7ab30188643e3d5b2f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c913c2238e96cb74",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a44a71ebc4d48a85d214bfe7",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COMPUTE_REGEX, END_IF_REGEX, EVALUATE_REGEX, FILE_OP_REGEX, GO_TO_REGEX, IF_REGEX, PERFORM_REGEX, PROCEDURE_DIVISION_REGEX | observability-score:55",
      "exports": "COMPUTE_REGEX,END_IF_REGEX,EVALUATE_REGEX,FILE_OP_REGEX,GO_TO_REGEX,IF_REGEX,PERFORM_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5198a085c2198e4a",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "test-opt28",
      "normalized_name": "test-opt28",
      "package_manager": "pnpm",
      "path": "test-opt28.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "00d4401c86f4f21fc5049dbf",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "56ed474defaee7c2",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "test-opt38",
      "normalized_name": "test-opt38",
      "package_manager": "pnpm",
      "path": "test-opt38.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "88d94831d4cdea39a8f2039f",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DIVISION_REGEX, PARAGRAPH_REGEX, PROCEDURE_DIVISION_REGEX, SECTION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "DIVISION_REGEX,PARAGRAPH_REGEX,PROCEDURE_DIVISION_REGEX,SECTION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f3ec63d138b2b89c",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 67,
      "logic_relevance": "none",
      "name": "test-opt9",
      "normalized_name": "test-opt9",
      "package_manager": "pnpm",
      "path": "test-opt9.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3d06dd8839d5f17cfbb89d93",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COMPUTE_REGEX, END_IF_REGEX, EVALUATE_REGEX, FILE_OP_REGEX, GO_TO_REGEX, IF_REGEX, PERFORM_REGEX, PROCEDURE_DIVISION_REGEX | observability-score:55",
      "exports": "COMPUTE_REGEX,END_IF_REGEX,EVALUATE_REGEX,FILE_OP_REGEX,GO_TO_REGEX,IF_REGEX,PERFORM_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ecffea8f57ac93a9",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "test-opt18",
      "normalized_name": "test-opt18",
      "package_manager": "pnpm",
      "path": "test-opt18.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b7c0a0b3ada59b9fddcba062",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4b61034ded7c6ecb",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2432a1c794f068a224b47af1",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FILE_OP_REGEX | observability-score:55",
      "exports": "FILE_OP_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "35ec16cc67d0a5a0",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "test-opt19",
      "normalized_name": "test-opt19",
      "package_manager": "pnpm",
      "path": "test-opt19.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "196048f9b04a08cbb4d678e5",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4d79e3edbe81133c",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "test-opt29",
      "normalized_name": "test-opt29",
      "package_manager": "pnpm",
      "path": "test-opt29.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d1de25226c1b25f11abf05d5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c36a3a8aa8c04545",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 24,
      "logic_relevance": "none",
      "name": "test-opt8",
      "normalized_name": "test-opt8",
      "package_manager": "pnpm",
      "path": "test-opt8.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1c4ef7c02ba7ffd3cb1afe52",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "35933e78802a47a2",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 8,
      "logic_relevance": "none",
      "name": "test-opt16",
      "normalized_name": "test-opt16",
      "package_manager": "pnpm",
      "path": "test-opt16.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "aef94465980f53fd16d802ec",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "98a28c812f5a6dab",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "test-opt22",
      "normalized_name": "test-opt22",
      "package_manager": "pnpm",
      "path": "test-opt22.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2606695a701489f43331964f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "189745be694754bf",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 24,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "9c1bae6da892c2287e389cc3",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PARAGRAPH_REGEX, PROCEDURE_DIVISION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "PARAGRAPH_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "db5a25b31d86d17d",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 54,
      "logic_relevance": "none",
      "name": "test-opt3",
      "normalized_name": "test-opt3",
      "package_manager": "pnpm",
      "path": "test-opt3.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f2af9905d8576e7de30e25a8",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ac445b2898342d71",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "test-opt32",
      "normalized_name": "test-opt32",
      "package_manager": "pnpm",
      "path": "test-opt32.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2cb122cd71b2cff555e24304",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PARAGRAPH_REGEX, PROCEDURE_DIVISION_REGEX | observability-score:55",
      "exports": "PARAGRAPH_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "49afe58cc7b5ce1a",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "test-opt26",
      "normalized_name": "test-opt26",
      "package_manager": "pnpm",
      "path": "test-opt26.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f36ffa1719d2f6076414bbda",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FILE_OP_REGEX, PROCEDURE_DIVISION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "FILE_OP_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f40fabe6990703d",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 44,
      "logic_relevance": "none",
      "name": "test-opt12",
      "normalized_name": "test-opt12",
      "package_manager": "pnpm",
      "path": "test-opt12.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "8a2e173a1d114c7dee180aa2",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COPY_REGEX, DATA_DIVISION_REGEX, PROCEDURE_DIVISION_REGEX | imports:perf_hooks | observability-score:55",
      "exports": "COPY_REGEX,DATA_DIVISION_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "214c12382848c40a",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 40,
      "logic_relevance": "none",
      "name": "test-opt",
      "normalized_name": "test-opt",
      "package_manager": "pnpm",
      "path": "test-opt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "39b8adfecad558404e63c80f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3069f567e0ecab07ccb23958",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DIVISION_REGEX, SECTION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "DIVISION_REGEX,SECTION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c65491aa7a3aa6b6",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 83,
      "logic_relevance": "none",
      "name": "test-opt7",
      "normalized_name": "test-opt7",
      "package_manager": "pnpm",
      "path": "test-opt7.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c7df900b9fa470087f7f8675",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer-test2.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3c4eb5a72f1da5dd",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer-test2.ts",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt36",
      "normalized_name": "test-opt36",
      "package_manager": "pnpm",
      "path": "test-opt36.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6ba436c69920dd7b7100bde9",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:COMPUTE_REGEX, END_IF_REGEX, EVALUATE_REGEX, FILE_OP_REGEX, GO_TO_REGEX, IF_REGEX, PERFORM_REGEX, PROCEDURE_DIVISION_REGEX | observability-score:55",
      "exports": "COMPUTE_REGEX,END_IF_REGEX,EVALUATE_REGEX,FILE_OP_REGEX,GO_TO_REGEX,IF_REGEX,PERFORM_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7bbb120e98ca8d72",
      "framework": "next-react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "test-opt27",
      "normalized_name": "test-opt27",
      "package_manager": "pnpm",
      "path": "test-opt27.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "af577c8109c5f03bec9c5610",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FILE_OP_REGEX | observability-score:55",
      "exports": "FILE_OP_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c2b7d8661e032487",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt13",
      "normalized_name": "test-opt13",
      "package_manager": "pnpm",
      "path": "test-opt13.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5bc00dec9eac89bc698962ec",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PARAGRAPH_REGEX, PARAGRAPH_REGEX_ORIG, PROCEDURE_DIVISION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "PARAGRAPH_REGEX,PARAGRAPH_REGEX_ORIG,PROCEDURE_DIVISION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "55affe9acfed9fa2",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 60,
      "logic_relevance": "none",
      "name": "test-opt6",
      "normalized_name": "test-opt6",
      "package_manager": "pnpm",
      "path": "test-opt6.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1107703287efff657af4163f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer-test3.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6cae49d2bfedbd2e",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer-test3.ts",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt37",
      "normalized_name": "test-opt37",
      "package_manager": "pnpm",
      "path": "test-opt37.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "700503b33c2ba316e6e1d191",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "405577816d63ecfa",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "test-opt17",
      "normalized_name": "test-opt17",
      "package_manager": "pnpm",
      "path": "test-opt17.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4037fbd5ebbc7d32343d8610",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PROGRAM_ID_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "PROGRAM_ID_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8b4729a3cca23951",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 35,
      "logic_relevance": "none",
      "name": "test-opt23",
      "normalized_name": "test-opt23",
      "package_manager": "pnpm",
      "path": "test-opt23.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6e1b18c3ddebb7a376a6e366",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DIVISION_REGEX, SECTION_REGEX | imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "DIVISION_REGEX,SECTION_REGEX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "daefd12e78670266",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 72,
      "logic_relevance": "none",
      "name": "test-opt2",
      "normalized_name": "test-opt2",
      "package_manager": "pnpm",
      "path": "test-opt2.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "47956a5a087a91333412b89f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/cobol-analyzer.ts | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "728b34c8e9fc0408",
      "framework": "next-react",
      "imports": "./lib/cobol-analyzer.ts",
      "lines": 25,
      "logic_relevance": "none",
      "name": "test-opt33",
      "normalized_name": "test-opt33",
      "package_manager": "pnpm",
      "path": "test-opt33.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "db96f5811f5a4232faac724a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "673956b2fc78016e",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "8d9fcf5b6c06276151886bb3",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0ddc19a7ff6e26a",
      "framework": "next-react",
      "imports": "@/lib/discovery,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "a8d21e5e81408065c08da5df",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/locale-provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d167eed5fb98d919",
      "framework": "next-react",
      "imports": "@/components/locale-provider,@vercel/analytics/next,next,next/font/google",
      "lines": 134,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,discovery",
      "component_id": "e3e68bb10d88e7976b868afa",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f273c3e7585b817",
      "framework": "next-react",
      "imports": "next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "7d1df54b50c4fb7a674b1cf6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/breadcrumbs, @/components/footer, @/components/home/cost-section, @/components/home/features-section, @/components/home/hero-section, @/components/home/how-it-works-section, @/components/home/playground-section, @/components/home/trust-section | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d79498ecc0d56417",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/home/cost-section,@/components/home/features-section,@/components/home/hero-section,@/components/home/how-it-works-section,@/components/home/playground-section,@/components/home/trust-section,@/components/stats-bar,@/components/top-bar",
      "lines": 33,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "54c72c1a06323499464d75b4",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d369e7139ea1404d",
      "framework": "next-react",
      "imports": "",
      "lines": 230,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "d8d2f9e47789229a6f2f5da1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7aaa1daa92bbbda1",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ba979cf7b1682012e777c86a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c0468f07a4ceefc",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2a67465b51064fe6faa4ac32",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c0468f07a4ceefc",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "c8eebfc6f393f66c00b2b59f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/breadcrumbs, @/components/footer, @/components/top-bar, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9bd10ddfcd25b1ea",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/top-bar,lucide-react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "95fc930c69ddf2c461e2c096",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/breadcrumbs, @/components/footer, @/components/top-bar, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8960dbd31269e596",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/top-bar,lucide-react",
      "lines": 91,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "e7407256ddcb8d1f75c94f6b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/http, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a8ec6d89432ddc26",
      "framework": "next-react",
      "imports": "@/lib/http,@/lib/platform",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "888c39ba7b1cbf26bba2e2c7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants, @/lib/http | backend-score:125 | ai-score:120 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d141e47f10522df",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/http",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "f90b11e8ecf9f94b9888b75f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/http | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9f22dba84bfd9774",
      "framework": "next-react",
      "imports": "@/lib/http",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,ai,security",
      "component_id": "b1cb9b44857e904158802d85",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants, @/lib/http | backend-score:125 | ai-score:120 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d54c5d94b33943f",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/http",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,ai",
      "component_id": "40f337536dec743920a104b8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/constants, @/lib/http, @/lib/platform | backend-score:125 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85c37fc3cd6b99a0",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/http,@/lib/platform",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,security",
      "component_id": "2d1d02418a341fc65727425f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d1e0830060328107",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 161,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/og-image.png/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "0307aa72326b2d982338707e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f6177f1a91aad38",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "08c58dc21a018f486c79e3b6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8c714db1851fedde",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bf69bd29a8c88fe2b16542e9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../ascii/route | backend-score:125 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e3e40b3d3c3e4328",
      "framework": "next-react",
      "imports": "../../ascii/route",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "17ab4f8a8d419115e4071995",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../modernize/route | backend-score:125 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2a257976649878dd",
      "framework": "next-react",
      "imports": "../../modernize/route",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/modernize/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "bdbd4e123e80c94be9906593",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, Schema | imports:@/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "POST,Schema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36199b7a5949e787",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/cost-estimate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f9d4e037b7fc1a3400598d3e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "01a64da1c7f0cee7",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "87c9ba26924be95a77bfc641",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, Schema | imports:@/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "POST,Schema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07e3c060916bb980",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/document/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e1137ad56a46e52d3b8dc6ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, Schema | imports:@/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "POST,Schema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a8a3f896cb0e7eda",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c1f531c5e1c1a843b53e0699",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/cobol-operations, @/lib/cobol-samples, @/lib/http | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c55fee9cdf594082",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/cobol-samples,@/lib/http",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/samples/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5eb9ae11100decd782b9215b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, Schema | imports:@/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "POST,Schema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24139e364c49c1e6",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/data-dictionary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "7f9fffaae636e8fcf7d0c872",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:../../kanban/route | backend-score:125 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "286f215643f06e8f",
      "framework": "next-react",
      "imports": "../../kanban/route",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/kanban/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "19b6d6d8f0c0e855ccd68d6b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../analyze/route | backend-score:125 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e286fb6f0fe8a71c",
      "framework": "next-react",
      "imports": "../../analyze/route",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "76a0bbe135b954673e32bfd0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, Schema | imports:@/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "POST,Schema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57b7bf394a049ea2",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/cobol2023/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "6b73d54f0ea4525bb332de32",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../jobs/route | backend-score:125 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d24cf18e6f169d94",
      "framework": "next-react",
      "imports": "../../jobs/route",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "backend",
      "component_id": "e639d5e6dd1527c8593d8bfd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for finance; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/cobol-operations, @/lib/http | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0aecfad098ea0dd1",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/pricing/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9a8917532bf725590c39a2c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "66109614eceb8410",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "310d3bd5a486b2275593215a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/cobol-operations, @/lib/http, @/lib/model-adapter, @/lib/trace, zod | backend-score:160 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24ecb97171d16fb0",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/http,@/lib/model-adapter,@/lib/trace,zod",
      "lines": 141,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/modernize/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "84373098544a7bb59078255b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/constants, @/lib/http, @/lib/model-adapter, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "479bd98646e1fd5d",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/constants,@/lib/http,@/lib/model-adapter,@/lib/platform,@/lib/trace",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,ai",
      "component_id": "198c1e30321b0ffb9fa83032",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route.ts, node:assert, node:test | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5f5d7911a949a49f",
      "framework": "next-react",
      "imports": "./route.ts,node:assert,node:test",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "225919a77e6f06df0fb195e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AsciiArgsSchema, CodeArgsSchema, GET, JsonRpcSchema, MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, POST | imports:@/lib/cobol-operations, @/lib/cobol-samples, @/lib/constants, @/lib/discovery, @/lib/openapi-spec, @/lib/platform, @/lib/trace, zod | backend-score:160 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "AsciiArgsSchema,CodeArgsSchema,GET,JsonRpcSchema,MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,POST,ToolCallParamsSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4c242b00d3d643f",
      "framework": "next-react",
      "imports": "@/lib/cobol-operations,@/lib/cobol-samples,@/lib/constants,@/lib/discovery,@/lib/openapi-spec,@/lib/platform,@/lib/trace,zod",
      "lines": 326,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "66d499cc1e12970542fe43a7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/cobol-samples, @/lib/constants | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "489c3690bdaa4cd8",
      "framework": "next-react",
      "imports": "@/lib/cobol-samples,@/lib/constants",
      "lines": 180,
      "logic_relevance": "primary",
      "name": "handlers",
      "normalized_name": "handlers",
      "package_manager": "pnpm",
      "path": "app/api/mcp/lib/handlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "fcaff0f55234b90b29829be6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/http, @/lib/openapi-spec | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eae924a9b0d8689b",
      "framework": "next-react",
      "imports": "@/lib/http,@/lib/openapi-spec",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bb2a00338257d6402f722d7f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, KanbanRequestSchema, POST | imports:@/lib/auth, @/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,KanbanRequestSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3918776b16c964ae",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/kanban/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "1208c40efc9dff6605222b7a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route.ts, node:assert, node:test | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4fd0ade0f3f295b1",
      "framework": "next-react",
      "imports": "./route.ts,node:assert,node:test",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analyze/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "676a8f8c406c6d61ea361bfe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AnalyzeRequestSchema, POST | imports:@/lib/cobol-analyzer, @/lib/cobol-operations, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "AnalyzeRequestSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1e4420e23f4e37d",
      "framework": "next-react",
      "imports": "@/lib/cobol-analyzer,@/lib/cobol-operations,@/lib/http,@/lib/trace,zod",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "8f11d3cb71ec882d6aa7a0d6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:JobsRequestSchema, POST | imports:@/lib/auth, @/lib/http, @/lib/trace, zod | backend-score:160 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "JobsRequestSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c8eb3d3a7cea2377",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/http,@/lib/trace,zod",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,observability,security",
      "component_id": "28bc343353f4d8506e22f82d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/discovery, @/lib/http, @/lib/trace | backend-score:125 | automation-score:95 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0420057a749f8486",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/discovery,@/lib/http,@/lib/trace",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "73d31550a33ac6154af2ada3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "436e60b4ed7f4076",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "56a48765446562ca1a5bcbad",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/http, @/lib/openapi-spec | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6ec13fc0b679a0ec",
      "framework": "next-react",
      "imports": "@/lib/http,@/lib/openapi-spec",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "03960cd44f9540482ab4c657",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/http | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aca49c68010c3c60",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/http",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2f38faf074d5d85f87b4328f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:@/components/breadcrumbs, @/components/footer, @/components/top-bar, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17db7a016dbf0fc9",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/top-bar,@/components/ui/button,lucide-react,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "cf54c423f7d3f8eb848631c7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/http, @/lib/openapi-spec | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eae924a9b0d8689b",
      "framework": "next-react",
      "imports": "@/lib/http,@/lib/openapi-spec",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a14278239509e8e1fdd65e76",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DATA_ITEM_REGEX_CURRENT, DATA_ITEM_REGEX_OPT, PIC_REGEX_CURRENT, PIC_REGEX_OPT | imports:perf_hooks | observability-score:55",
      "exports": "DATA_ITEM_REGEX_CURRENT,DATA_ITEM_REGEX_OPT,PIC_REGEX_CURRENT,PIC_REGEX_OPT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "d35084508b14ce0b",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 84,
      "logic_relevance": "none",
      "name": "dataItems.bench",
      "normalized_name": "data-items-bench",
      "package_manager": "pnpm",
      "path": "tests/dataItems.bench.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3412a2790ffeddc004052080",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PARAGRAPH_REGEX, PROCEDURE_DIVISION_REGEX | imports:perf_hooks | observability-score:55",
      "exports": "PARAGRAPH_REGEX,PROCEDURE_DIVISION_REGEX",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "e783f35e9dc0c73b",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 52,
      "logic_relevance": "none",
      "name": "analyzer.bench",
      "normalized_name": "analyzer-bench",
      "package_manager": "pnpm",
      "path": "tests/analyzer.bench.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation",
      "component_id": "fd2d3352c91102574acfee89",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@playwright/test | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6b25936c89b41aa1",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 11,
      "logic_relevance": "none",
      "name": "jobs.test",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "tests/e2e/jobs.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "ea6233567c63458731d4d8b0",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b55ea04608c39be0",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 16,
      "logic_relevance": "none",
      "name": "faq-roadmap.test",
      "normalized_name": "faq-roadmap",
      "package_manager": "pnpm",
      "path": "tests/e2e/faq-roadmap.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security,ai",
      "component_id": "57d4a3c2392e69880c2a33bd",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49e96ccd0f9e2e26",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 57,
      "logic_relevance": "none",
      "name": "home.test",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": "tests/e2e/home.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "90e6889a00eb47846146e8cf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "4aaafaf2f98d1d58218b7883",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d9b13e656238db4a69b83060",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsBar | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StatsBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fd442db7d5d0b924",
      "framework": "next-react",
      "imports": "react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "stats-bar",
      "normalized_name": "stats-bar",
      "package_manager": "pnpm",
      "path": "components/stats-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "10d6283f25de55faead206c2",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleProvider, useLocale | imports:@/lib/i18n, @/lib/session, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "LocaleProvider,useLocale",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b9a10a457c76056c",
      "framework": "next-react",
      "imports": "@/lib/i18n,@/lib/session,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "locale-provider",
      "normalized_name": "locale-provider",
      "package_manager": "pnpm",
      "path": "components/locale-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d8e7684879e88aa90cc28ff9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d50aa9cc274f768",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 71,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "48721af7c203ca1a2b76b427",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/constants, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3d5e8a622f66de4",
      "framework": "next-react",
      "imports": "@/lib/constants,lucide-react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "618816f396dd302162298455",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeatureCard | imports:lucide-react | frontend-score:115 | ui-score:55",
      "exports": "FeatureCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1f963b0a56bffea",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "feature-card",
      "normalized_name": "feature-card",
      "package_manager": "pnpm",
      "path": "components/feature-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c41b5ba02fd4b7783e5bcf5c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSwitcher | imports:@/components/locale-provider, @/lib/i18n, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LanguageSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e9fabdaee0abd06",
      "framework": "next-react",
      "imports": "@/components/locale-provider,@/lib/i18n,lucide-react,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "language-switcher",
      "normalized_name": "language-switcher",
      "package_manager": "pnpm",
      "path": "components/language-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "26941e76ce940e476485fceb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/language-switcher, @/components/locale-provider, @/lib/constants, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b629c62084065cd0",
      "framework": "next-react",
      "imports": "@/components/language-switcher,@/components/locale-provider,@/lib/constants,lucide-react,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6febb61cb67b4d4ddb5e3426",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroCodeAnimation | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroCodeAnimation",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b36f72d5b82c7044",
      "framework": "next-react",
      "imports": "react",
      "lines": 232,
      "logic_relevance": "none",
      "name": "hero-code-animation",
      "normalized_name": "hero-code-animation",
      "package_manager": "pnpm",
      "path": "components/hero-code-animation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "87e89440388375bdf0683234",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CobolPlayground | imports:@/components/locale-provider, @/hooks/use-modernize, @/lib/cobol-analyzer, @/lib/cobol-samples, @/lib/constants, @/lib/session, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CobolPlayground",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2cafcd02740e12c",
      "framework": "next-react",
      "imports": "@/components/locale-provider,@/hooks/use-modernize,@/lib/cobol-analyzer,@/lib/cobol-samples,@/lib/constants,@/lib/session,lucide-react,react",
      "lines": 696,
      "logic_relevance": "none",
      "name": "cobol-playground",
      "normalized_name": "cobol-playground",
      "package_manager": "pnpm",
      "path": "components/cobol-playground.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "636e2e9304ca239ad2bd1515",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f10c272f96701de93fe726d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8d1e741eee089d74a964b1ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4c5e83b9d93af14495d100bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8f8338626e16f93c33763736",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "34d5a5b01a713e4e8e6ea4d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "46085b484e4723db70d35821",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "b8e9701186f304074652144c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4410baa3ac4e7c7dbd62b5b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "abeb25143edabd57b3468b05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "55ec459f46f8f80a77187134",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "8b714a04fc1ffd2f5126954c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d74a8e5eb2a9c99fb2bd52dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f058340bb5dc0b6d123e4a13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5e25ce95e5c8d185",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "96c57a78b5bcda5fad4a2424",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e5a8a937f9d5f0c10760d962",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3c9751745f2fb4b3fe9985b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "66a7dc0a27b77b7368080234",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5441d11473ed883936e9f6cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "096c9a907e5bb6af4dbbabb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ebcf330e8aef14382daa7e32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fd46e948fa91bc60009690a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "790e9ce37fc790ad10dabea3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8a3a314b43f48c26da2c05af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7ca4818f8691a533c411b499",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "4431660c499910be6f8ddec5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "84a76b9b5798ccbfbc495559",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "794461427689b6a0859ece0d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e5fff530c3d23bd401cc5eaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "1d17e50e32ed398b1fcbf39c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3a410ac83d40369e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 218,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "70557c66f93636c76a15b5b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "31740b7e2b9cfbb44af7ce41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3533d61604f7e974c9209bbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a41f8bbcdf46560f76e4b9c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3bc45bf917e5c48e910abc34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f209be450957de4707aefb98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "09a2ab351467c2185fb14439",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "21aa9c4f974d1b5000bf4b95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db04114f3deeb138092d84c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b5ec4e7572cb6fc8c0924fca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2b77e69e46c81eaff86470b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9c4693f1bbbb2f1a854dd2c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "36a77ec2fd8b212746504797",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a1a9655732720879cc1a7af7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e929f326b63fe3b7a78f2e04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9d6014183fec26f33e5de60a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "458bce86e0e4ca80ec334ef9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "8ebb00debc22968605ae3af9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "6bbb5a36b29513bd80d2a655",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "090b8ffd8a34ad22d6765e25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8b048f333a00c35a04d1204d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4be4d3430fe8df3c9603f06e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "77cb88f89c4eec79f4739a19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "bfea31da3246d8d249d0db03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1075215f72cee9461735c600",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "4c1c293b43099ab7a1a7a93d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "83a5300a2680dafb1bb80aa5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2abe83a7b9c59d3b64ed55bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrustSection | imports:@/components/locale-provider, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TrustSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79ae16da69562950",
      "framework": "next-react",
      "imports": "@/components/locale-provider,lucide-react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "trust-section",
      "normalized_name": "trust-section",
      "package_manager": "pnpm",
      "path": "components/home/trust-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ec0bc939332913ecb204d927",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CostSection | imports:@/components/locale-provider | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CostSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5df2403329f7d070",
      "framework": "next-react",
      "imports": "@/components/locale-provider",
      "lines": 54,
      "logic_relevance": "none",
      "name": "cost-section",
      "normalized_name": "cost-section",
      "package_manager": "pnpm",
      "path": "components/home/cost-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "9142086d4e82419ffb0695e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlaygroundSection | imports:@/components/cobol-playground, @/components/locale-provider | frontend-score:85 | ui-score:55",
      "exports": "PlaygroundSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8980e03e7abb24e1",
      "framework": "next-react",
      "imports": "@/components/cobol-playground,@/components/locale-provider",
      "lines": 27,
      "logic_relevance": "none",
      "name": "playground-section",
      "normalized_name": "playground-section",
      "package_manager": "pnpm",
      "path": "components/home/playground-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b9c35a8458d0bfeb635e8b2d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/hero-code-animation, @/components/locale-provider, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65dbd7ee627b5695",
      "framework": "next-react",
      "imports": "@/components/hero-code-animation,@/components/locale-provider,lucide-react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/home/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "38940bead6ecdf9cd5fa43d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorksSection | imports:@/components/locale-provider | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HowItWorksSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f02153a916aec08c",
      "framework": "next-react",
      "imports": "@/components/locale-provider",
      "lines": 45,
      "logic_relevance": "none",
      "name": "how-it-works-section",
      "normalized_name": "how-it-works-section",
      "package_manager": "pnpm",
      "path": "components/home/how-it-works-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "c253807d3e41583ded90a6b2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesSection | imports:@/components/feature-card, @/components/locale-provider, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FeaturesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46d10508b90ab5b1",
      "framework": "next-react",
      "imports": "@/components/feature-card,@/components/locale-provider,lucide-react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "features-section",
      "normalized_name": "features-section",
      "package_manager": "pnpm",
      "path": "components/home/features-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f824117873803a4bb6b4d88c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5e207bffabea2b8f",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "981e24dd7ae417a9b69b87bc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3338efb9a225e969",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b27008f2b1e37c920bfcfcfa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f07e8d3df1003c9c",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "857fb9b65b530e38df85739f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:UseModernizeProps, useModernize | imports:@/lib/cobol-analyzer, @/lib/cobol-samples, @/lib/session, react | observability-score:55 | security-score:55",
      "exports": "UseModernizeProps,useModernize",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d005f7044332583",
      "framework": "next-react",
      "imports": "@/lib/cobol-analyzer,@/lib/cobol-samples,@/lib/session,react",
      "lines": 169,
      "logic_relevance": "none",
      "name": "use-modernize",
      "normalized_name": "use-modernize",
      "package_manager": "pnpm",
      "path": "hooks/use-modernize.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4692edf9c6984ef569ebf8b1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:APP_VERSION, SITE_URL | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "APP_VERSION,SITE_URL",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "dd374a4f6c618b4b",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "register-network",
      "normalized_name": "register-network",
      "package_manager": "pnpm",
      "path": "scripts/register-network.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "76b3a36bd808b344bf38f089",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./cobol-analyzer.ts, node:assert, node:test | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2696a84d12605612",
      "framework": "next-react",
      "imports": "./cobol-analyzer.ts,node:assert,node:test",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "cobol-analyzer.test",
      "normalized_name": "cobol-analyzer",
      "package_manager": "pnpm",
      "path": "lib/cobol-analyzer.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "5e097c017fe3ef68ac7d35e0",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./utils, node:assert, node:test | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8f8b48d318c7e236",
      "framework": "next-react",
      "imports": "./utils,node:assert,node:test",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "bc642663a7ee48c7ac293b56",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelMode, getModelState, modelUnavailableResponse | imports:./cobol-operations, ./http, ai | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "ModelMode,getModelState,modelUnavailableResponse",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c35d0d97ef4d2436",
      "framework": "next-react",
      "imports": "./cobol-operations,./http,ai",
      "lines": 70,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "41ae1f6c70b8b98ae5d7b4f1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CobolAnalysis, CodeMetrics, ComplexityResult, CostEstimate, DataItemInfo, DivisionInfo, RiskItem, analyzeCobol | imports:./constants.ts | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CobolAnalysis,CodeMetrics,ComplexityResult,CostEstimate,DataItemInfo,DivisionInfo,RiskItem,analyzeCobol,computeComplexity,detectRisks,extractDataItems,extractProgramId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7415b778fd90c1b",
      "framework": "next-react",
      "imports": "./constants.ts",
      "lines": 462,
      "logic_relevance": "primary",
      "name": "cobol-analyzer",
      "normalized_name": "cobol-analyzer",
      "package_manager": "pnpm",
      "path": "lib/cobol-analyzer.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "b19f775498635ee145562531",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LOCALE_FLAGS, LOCALE_NAMES, Locale, getLocales, t | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "LOCALE_FLAGS,LOCALE_NAMES,Locale,getLocales,t",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a209441b52b44cc7",
      "framework": "next-react",
      "imports": "",
      "lines": 710,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,observability",
      "component_id": "ef8fec14bc89782185107115",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorBody, ApiOkBody, error, ok, publicJson, streamTextResponse, textResponse | imports:next/server | logic-score:85 | observability-score:55",
      "exports": "ApiErrorBody,ApiOkBody,error,ok,publicJson,streamTextResponse,textResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d48516d02f93d4da",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "pnpm",
      "path": "lib/http.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "fb2c0ee3a084128cd6964d91",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateTaskPayload, KanbanBoard, KanbanTask, MoveTaskPayload, kanban | imports:./constants.ts | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "CreateTaskPayload,KanbanBoard,KanbanTask,MoveTaskPayload,kanban",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2974570d433844cc",
      "framework": "next-react",
      "imports": "./constants.ts",
      "lines": 206,
      "logic_relevance": "primary",
      "name": "kanban-client",
      "normalized_name": "kanban-client",
      "package_manager": "pnpm",
      "path": "lib/kanban-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "72c308361c1f495a51adbfec",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "133b79087e3810d210849149",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:COBOL_PROMPTS, COBOL_RESOURCES, COBOL_TOOL_NAMES, PUBLIC_PAGES, REQUIRED_PUBLIC_ROUTES, TRUST_POLICY_LINE, getPlatformInfo | imports:./constants | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "COBOL_PROMPTS,COBOL_RESOURCES,COBOL_TOOL_NAMES,PUBLIC_PAGES,REQUIRED_PUBLIC_ROUTES,TRUST_POLICY_LINE,getPlatformInfo",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4f376f978ebfe3b1",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 114,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "9de1812f1371f59d08a2949e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CobolCodeSchema, TargetLanguage, TargetLanguageSchema, buildKanbanPreview, dataDictionary, deterministicModernizationUnavailable, enrichAnalysis, generateDocumentation | imports:./cobol-analyzer, ./cobol-samples, ./constants, zod | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CobolCodeSchema,TargetLanguage,TargetLanguageSchema,buildKanbanPreview,dataDictionary,deterministicModernizationUnavailable,enrichAnalysis,generateDocumentation,pricingTiers,renderAsciiLocally,runCompliance,sampleIndex,scoreRisk,stableInputHash,suggestCobol2023",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1571e4aca744f808",
      "framework": "next-react",
      "imports": "./cobol-analyzer,./cobol-samples,./constants,zod",
      "lines": 352,
      "logic_relevance": "primary",
      "name": "cobol-operations",
      "normalized_name": "cobol-operations",
      "package_manager": "pnpm",
      "path": "lib/cobol-operations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "1122f6b9cf8d81be8472f278",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SessionData, SessionDataSchema, SessionHistoryItem, SessionHistoryItemSchema | imports:zod | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "SessionData,SessionDataSchema,SessionHistoryItem,SessionHistoryItemSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ca798ca59c29e076",
      "framework": "next-react",
      "imports": "zod",
      "lines": 234,
      "logic_relevance": "primary",
      "name": "session",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "lib/session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9dc19b92bb2a52d92fad2b27",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APP_NAME, APP_VERSION, ASCII_API_URL, ASCII_CHARSETS, AsciiCharset, COINBASE_ADDRESS, COMPLEXITY_TIERS, ComplexityTier | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "APP_NAME,APP_VERSION,ASCII_API_URL,ASCII_CHARSETS,AsciiCharset,COINBASE_ADDRESS,COMPLEXITY_TIERS,ComplexityTier,KANBAN_API_URL,KANBAN_COLUMNS,KanbanColumn,MCP_HUB_URL,NETWORK_URL,SITE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ce06fe574aea596",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,integration,discovery,process",
      "component_id": "f5f18933be82ad970f283f5c",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./openapi-spec.ts, node:assert, node:test | logic-score:60 | integration-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f71f11bf33930291",
      "framework": "next-react",
      "imports": "./openapi-spec.ts,node:assert,node:test",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "openapi-spec.test",
      "normalized_name": "openapi-spec",
      "package_manager": "pnpm",
      "path": "lib/openapi-spec.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "c2da685a11234f6164141341",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../app/api/analyze/route.ts, ../app/api/ascii/route.ts, ../app/api/docs/route.ts, ../app/api/health/route.ts, ../app/api/jobs/route.ts, ../app/api/kanban/route.ts, ../app/api/modernize/route.ts, node:assert | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "46a9741d0102f910",
      "framework": "next-react",
      "imports": "../app/api/analyze/route.ts,../app/api/ascii/route.ts,../app/api/docs/route.ts,../app/api/health/route.ts,../app/api/jobs/route.ts,../app/api/kanban/route.ts,../app/api/modernize/route.ts,node:assert,node:test",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "api-routes.test",
      "normalized_name": "api-routes",
      "package_manager": "pnpm",
      "path": "lib/api-routes.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "ed35ffe97277f6638a949fbb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:absoluteUrl, llmsFullTxt, llmsIndexJson, llmsTxt, rssXml, sitemapEntries, sitemapIndexXml, sitemapXml | imports:./auth, ./cobol-operations, ./constants, ./model-adapter, ./platform | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "absoluteUrl,llmsFullTxt,llmsIndexJson,llmsTxt,rssXml,sitemapEntries,sitemapIndexXml,sitemapXml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ce0a4bcaf51fc69b",
      "framework": "next-react",
      "imports": "./auth,./cobol-operations,./constants,./model-adapter,./platform",
      "lines": 261,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "0ebec3bdc3d113ef4e30e609",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./session, node:assert, node:test | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a8dc686db6293ff2",
      "framework": "next-react",
      "imports": "./session,node:assert,node:test",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "session.test",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "lib/session.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,observability",
      "component_id": "9b5f949183760200c4656157",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./kanban-client, node:assert, node:test | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e3d7c396bc7c6a78",
      "framework": "next-react",
      "imports": "./kanban-client,node:assert,node:test",
      "lines": 77,
      "logic_relevance": "primary",
      "name": "kanban-client.test",
      "normalized_name": "kanban-client",
      "package_manager": "pnpm",
      "path": "lib/kanban-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "6162051f3ecffdf6e72bbf67",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:COBOL_SAMPLES, CobolSample, ExtendedMode, ModernizeMode, TARGET_LANGUAGES, TargetLanguage | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "COBOL_SAMPLES,CobolSample,ExtendedMode,ModernizeMode,TARGET_LANGUAGES,TargetLanguage",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c4ec6cdf2d5d58cc",
      "framework": "next-react",
      "imports": "",
      "lines": 347,
      "logic_relevance": "primary",
      "name": "cobol-samples",
      "normalized_name": "cobol-samples",
      "package_manager": "pnpm",
      "path": "lib/cobol-samples.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "41fcdbec8dfdf843a4b8aad3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./i18n, node:assert, node:test | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "773d3d7afeafbc20",
      "framework": "next-react",
      "imports": "./i18n,node:assert,node:test",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,integration,observability,security,discovery,automation,ai",
      "component_id": "2bcbf3f4262bacdaa184ab83",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getOpenApiSpec, toYaml | imports:./constants, ./platform | logic-score:85 | process-score:80 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "getOpenApiSpec,toYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3abcf23b6ce02a7",
      "framework": "next-react",
      "imports": "./constants,./platform",
      "lines": 261,
      "logic_relevance": "primary",
      "name": "openapi-spec",
      "normalized_name": "openapi-spec",
      "package_manager": "pnpm",
      "path": "lib/openapi-spec.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ba9b10a2f2077259df856f83",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OperationContext, createOperationContext, localSpan, platformHeaders, sanitizeVercelHeaders, traceMetadata | imports:./constants | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "OperationContext,createOperationContext,localSpan,platformHeaders,sanitizeVercelHeaders,traceMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b67b421a24a9c304",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security,ai",
      "component_id": "f5398ff4e7b18263ab602c4f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ProtectedAction, authPolicySummary, hasPlatformApiKey, isApiKeyRequired, isPublicSafePhase1, requirePlatformApiKey | imports:./http | logic-score:85 | security-score:55 | ai-score:45 | uses-env",
      "exports": "ProtectedAction,authPolicySummary,hasPlatformApiKey,isApiKeyRequired,isPublicSafePhase1,requirePlatformApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "794efeeeda36ebe2",
      "framework": "next-react",
      "imports": "./http",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-cobol",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "da51cd52c0148f06f5a16d71",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a8c9850b7f33f7f",
      "framework": "next-react",
      "imports": "",
      "lines": 6961,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "4e7817d21621040bf62a78dd",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "20886a4c3866f3a0b4d7553c",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "17df2a9a21f68682",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "452706172de5d4d20bb3dfca",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "6b53a8a2453d354cb4ee1d87",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "71a7f416089b12e5",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "51ed5b4602482ff00b2b9c0f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ac1d477372df87a5",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "7f4d1e3e0661729d4aab490c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5b660b788bea9eb3d65178b8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "cypress",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:cypress | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "20ac32cfad81a270",
      "framework": "next-react",
      "imports": "cypress",
      "lines": 37,
      "logic_relevance": "none",
      "name": "cypress.config",
      "normalized_name": "cypress-config",
      "package_manager": "pnpm",
      "path": "cypress.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ed536024b6da1b7ff072031d",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2e3ac82d246707b8",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "e2e",
      "normalized_name": "e2e",
      "package_manager": "pnpm",
      "path": "cypress/support/e2e.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f201d6176cb35c494f5e401f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "75d8287369fd8496",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "cinematic-slideshow.cy",
      "normalized_name": "cinematic-slideshow",
      "package_manager": "pnpm",
      "path": "cypress/e2e/cinematic-slideshow.cy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "ce09fbbfb6f6f5b6d16fda14",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/codex/discovery, @/lib/codex/static-data, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77d4a5f60ab7ce29",
      "framework": "next-react",
      "imports": "@/lib/codex/discovery,@/lib/codex/static-data,next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1ef02c9614f8870aaf1df6ca",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/cursor/precision-cursor, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90faf749f16a2fdc",
      "framework": "next-react",
      "imports": "@/components/cursor/precision-cursor,next,next/font/google",
      "lines": 154,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "ac3b08e86b54d282f642754e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, metadata | imports:@/components/seo/json-ld, @/components/slides/cinematic-slides, next | frontend-score:115 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "HomePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0fc449cde63c210f",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@/components/slides/cinematic-slides,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,observability,security,automation",
      "component_id": "7acfcfa52452e95b9a3d9bf5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e01e247a6856ff0a",
      "framework": "next-react",
      "imports": "",
      "lines": 895,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "94c0a35fc2a9f481fd8526b7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "380433566e029de1",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/discovery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "a7b6056fca83400d6fd51a94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/static-data | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c5f28f16cf1b706f",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/static-data",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "2000e5a724dc0df1dd34f770",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/static-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "40e32d8deb803767",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/static-data",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "19b34c02917fb5028dad1b02",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/codex/tool-catalog, @/lib/codex/catalog, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4532499e343b77f7",
      "framework": "next-react",
      "imports": "@/components/codex/tool-catalog,@/lib/codex/catalog,next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tools/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "07fe2e557552e264f406c6e8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolDetailPage | imports:@/lib/codex/catalog, lucide-react, next, next/image, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "ToolDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "226c6580f7779c9c",
      "framework": "next-react",
      "imports": "@/lib/codex/catalog,lucide-react,next,next/image,next/link,next/navigation",
      "lines": 92,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tools/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "848ebd342b053f210f0f181d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/seo/json-ld, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/card | frontend-score:85 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88783518ab57961f",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/card",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "7e5b3437cce73e7325cdb046",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage | imports:@/components/seo/json-ld, @/components/ui/accordion, @/components/ui/breadcrumb | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "FaqPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58b8290d9c5a1135",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@/components/ui/accordion,@/components/ui/breadcrumb",
      "lines": 72,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "1e5ec20ba05ce698905e58f2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c849faaf53207f6f",
      "framework": "next-react",
      "imports": "@/lib/codex/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "13dbe6bc908c12e0c3830542",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/static-data, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f205441ba3f407f0",
      "framework": "next-react",
      "imports": "@/lib/codex/static-data,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "6bf8eeedbebd977ff77f9dac",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/static-data | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a5e94af9be35132",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/static-data",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "49b290fe1b395d63f3349283",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/static-data, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6fbfa3f834139b99",
      "framework": "next-react",
      "imports": "@/lib/codex/static-data,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "6c7e055f21d95d4f2e19e1db",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/mcp, @/lib/codex/static-data, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2aef0eb8ccba5abd",
      "framework": "next-react",
      "imports": "@/lib/codex/mcp,@/lib/codex/static-data,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "0eb2a084a8aaa952a1ccfd1d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkPage, metadata | imports:@/components/network/network-directory, @/components/network/network-footer, @/components/network/network-nav, next | frontend-score:115 | ui-score:55",
      "exports": "NetworkPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99c69c316eabbc34",
      "framework": "next-react",
      "imports": "@/components/network/network-directory,@/components/network/network-footer,@/components/network/network-nav,next",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c145ec7a9250e848b19cdd8c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/config,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteDetailPage | imports:@/components/network/network-footer, @/components/network/network-nav, @/components/network/site-detail, @/config/network.config, next, next/navigation | frontend-score:115 | ui-score:55 | metadata",
      "exports": "SiteDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1f823cc3adbd68b",
      "framework": "next-react",
      "imports": "@/components/network/network-footer,@/components/network/network-nav,@/components/network/site-detail,@/config/network.config,next,next/navigation",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/[siteId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "3b30da5a90c13a632a66ac63",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SlidesPage, metadata | imports:@/components/slides/cinematic-slides, next, next/script | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "SlidesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef9f64a2b61e53d7",
      "framework": "next-react",
      "imports": "@/components/slides/cinematic-slides,next,next/script",
      "lines": 81,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/slides/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "0d95c64880ef4d33750ff528",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6aefc553076fee49",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/discovery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4bdbfe46632a992c677d562c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollProgress | imports:framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ScrollProgress",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e6019a8b82e4719a",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "scroll-progress",
      "normalized_name": "scroll-progress",
      "package_manager": "pnpm",
      "path": "app/cinematic-scroll-v2/scroll-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "6b36b6c6f266d951b701fbdc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicScrollDemo | imports:./scroll-progress, @/components/cinematic-scroll/announcement-section, @/components/cinematic-scroll/hero-section, @/components/cinematic-scroll/masked-text-section, @/components/cinematic-scroll/narrative-section, @/components/ui/button | frontend-score:85 | ui-score:55",
      "exports": "CinematicScrollDemo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4581e489a71d79e6",
      "framework": "next-react",
      "imports": "./scroll-progress,@/components/cinematic-scroll/announcement-section,@/components/cinematic-scroll/hero-section,@/components/cinematic-scroll/masked-text-section,@/components/cinematic-scroll/narrative-section,@/components/ui/button",
      "lines": 117,
      "logic_relevance": "none",
      "name": "cinematic-scroll-demo",
      "normalized_name": "cinematic-scroll-demo",
      "package_manager": "pnpm",
      "path": "app/cinematic-scroll-v2/cinematic-scroll-demo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "62efa3da7410ab67da9cde7c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicScrollV2Page, metadata | imports:./cinematic-scroll-demo, next | frontend-score:115 | ui-score:55",
      "exports": "CinematicScrollV2Page,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6e6535adfbb3bbf8",
      "framework": "next-react",
      "imports": "./cinematic-scroll-demo,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/cinematic-scroll-v2/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "12dbac7149bf62ecb78ca41d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/static-data | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fe04b9800d049516",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/static-data",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "3011a5fee6949259bb082a1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog, @/lib/codex/trace | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42e023085a4680ef",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog,@/lib/codex/trace",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "674df89d484b2515b55bb6b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/catalog, @/lib/codex/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a79a772454b793c",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/catalog,@/lib/codex/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8983ac1d648b8ba40fd18689",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog, @/lib/codex/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0bb5721c1840bdc4",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog,@/lib/codex/trace",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f7e5822926d0d306384b708b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog, @/lib/codex/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f2bd84f730996301",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog,@/lib/codex/trace",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/[slug]/screenshot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "481b2b1cacf748213013895e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/catalog, @/lib/codex/schema, @/lib/codex/storage, @/lib/codex/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae7db22e26a4a363",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/catalog,@/lib/codex/schema,@/lib/codex/storage,@/lib/codex/trace",
      "lines": 114,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/[slug]/screenshot/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7d61905879aa41cdcc92652f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fbaf837357eea8d0",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/[slug]/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5fd8851aaee3e842c31c92e8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f600f61579d2a8f7",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/[slug]/relationships/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "dc767e812b0c71b524be9bd6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "db0263e9f0a9d6d6",
      "framework": "next-react",
      "imports": "@/lib/codex/api",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/inspect/runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "92d2e89ba7d8a5c6d14742dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/catalog, @/lib/codex/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2df7addb9a4098ea",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/catalog,@/lib/codex/trace",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/inspect/tool/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "61b658bb17d56134ab7d8578",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d6846932d53c7e45",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/trace",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trace/spans/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9ff43d9d8eb76f7fa26cd424",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "766649d0b93000cf",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/chapters/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0bec72dd7d27e0c27073ce2f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "347c7c876539ae07",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/chapters/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ab4f4e36494b764b6b159c36",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf58e69fd4f2fcee",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "deployment",
      "categories": "backend,observability",
      "component_id": "e23852716748e66e8901fdef",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for deployment; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99534a7050c94b86",
      "framework": "next-react",
      "imports": "@/lib/codex/api",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/browserops/captures/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4d279ca325bf9842ad15391c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/catalog, @/lib/codex/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "54c34d4f4a35fbed",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/catalog,@/lib/codex/trace",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/browserops/capture/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability",
      "component_id": "cbfa2980c9ae4d8f838cb476",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/codex/api, @/lib/codex/network | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c4064b466ca22936",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/network",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "cd81fb4da8daef1d50c051a6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/network | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8792ba9d2a904714",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/network",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security",
      "component_id": "c4cc2024ef5135a71e2e06c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/network | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4aec7ce9e6298a64",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/network",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "aa540f78b6066835f069cb4d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca37a50e9f0a7572",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "23a453408ed1c2a1f6ddd5a0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/discovery, @/lib/codex/network | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6891077d539b9fda",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/discovery,@/lib/codex/network",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "a6df100119bcb3383e8458c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/network | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7880ed1df3ae0888",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/network",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "df02d322701af43461774057",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/network | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "95c5a4516a05023d",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/network",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "38a357ca8fbec638b057616f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee0c50eb063d24f0",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/slides/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "72478f2aed31e0ae7bfb4d00",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/catalog | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90a6f2c0838af38c",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/catalog",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/slides/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "acaec346f77af77520cb764e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/catalog | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7caa43463f6e65ea",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/catalog",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/slides/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "42596125cc015884f9ad4a77",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/dns/cloudflare, @/lib/dns/types, @/lib/dns/utils, @/lib/dns/utils.server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6cfaf7562dab6772",
      "framework": "next-react",
      "imports": "@/lib/dns/cloudflare,@/lib/dns/types,@/lib/dns/utils,@/lib/dns/utils.server,@/lib/supabase/server,next/server",
      "lines": 151,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/zones/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "3b19ebdcc36e9306837bf95a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@/lib/dns/cloudflare, @/lib/dns/types, @/lib/dns/utils.server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0a99662241481c2",
      "framework": "next-react",
      "imports": "@/lib/dns/cloudflare,@/lib/dns/types,@/lib/dns/utils.server,@/lib/supabase/server,next/server",
      "lines": 209,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/zones/[zoneId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e2f708458f5cf8f1aef905e8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/dns/types, @/lib/dns/utils, @/lib/dns/utils.server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "17a1593f84c2c1ff",
      "framework": "next-react",
      "imports": "@/lib/dns/types,@/lib/dns/utils,@/lib/dns/utils.server,@/lib/supabase/server,next/server",
      "lines": 238,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/files/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "fe9a98b73dccd636c0d9824b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/lib/dns/types, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a112a6d3e13c7b60",
      "framework": "next-react",
      "imports": "@/lib/dns/types,@/lib/supabase/server,next/server",
      "lines": 140,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/files/[fileId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "8c9b278f899532567c35fc97",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/dns/types, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "281d10bdfe9424e3",
      "framework": "next-react",
      "imports": "@/lib/dns/types,@/lib/supabase/server,next/server",
      "lines": 89,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/files/[fileId]/stripes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "193ac728c61a7281cd6665d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/dns/types, @/lib/supabase/server, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eda7a7cd41b5e8ae",
      "framework": "next-react",
      "imports": "@/lib/dns/types,@/lib/supabase/server,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "7eac5207efa61013818c4b14",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/lib/dns/types, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "df7134413fb990ac",
      "framework": "next-react",
      "imports": "@/lib/dns/types,@/lib/supabase/server,next/server",
      "lines": 159,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dns/jobs/[jobId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "ad02c5a306f774c0529ce0d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/discovery, @/lib/codex/network, @/lib/codex/static-data, @/lib/codex/storage, @/lib/codex/trace | backend-score:125 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa8d86395ee6f1d8",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/discovery,@/lib/codex/network,@/lib/codex/static-data,@/lib/codex/storage,@/lib/codex/trace",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "72622a390542085da3ce34a5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/static-data, @/lib/codex/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e8590c08e2fc4729",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/static-data,@/lib/codex/trace",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "bbd442a14c5c46102847b14b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/codex/api, @/lib/codex/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "965c08fe9bb3db77",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/mcp,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "315c8bea4df8d7ca628ced22",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/discovery | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa3585fa06eb9981",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a15a4bda58973a36496da20a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/v1/slides/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "98e1f18244517afb",
      "framework": "next-react",
      "imports": "@/app/api/v1/slides/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/slides/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "2e28dcf4ecd15722c5fc5760",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "06809693684c2ce9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 166,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh-network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "a8688552a10d5213293c15a6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, INDEXNOW_KEY, POST | imports:@/lib/codex/api, @/lib/codex/auth, @/lib/codex/static-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,INDEXNOW_KEY,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a1da884bc3c4ba14",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/auth,@/lib/codex/static-data,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/indexnow/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "def8e51e565cbf24c0458ad5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "33c5f5ee824331be",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/discovery",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "5908bebabc8e79ee71e2634c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/api, @/lib/codex/static-data | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c645f9d0a80ea833",
      "framework": "next-react",
      "imports": "@/lib/codex/api,@/lib/codex/static-data",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "fecdd501d039eb7319972f6f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "25ddb7d38458fda4",
      "framework": "next-react",
      "imports": "@/lib/codex/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security",
      "component_id": "e3736dec3be4dbf1597422bc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | automation-score:95 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a4b15242ac202b37",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 232,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "1a2e99f04ac0f7fb89fcf0fd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/codex/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fdfd3ebff2f2464d",
      "framework": "next-react",
      "imports": "@/lib/codex/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "98700188090e80e50ce14977",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DnsLayout, metadata | imports:next | frontend-score:115 | ui-score:55",
      "exports": "DnsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7afa9065364c4654",
      "framework": "next-react",
      "imports": "next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/dns/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "5b2400260fea9b54dc0a3f89",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DnsPage | imports:@/components/dns/dns-dashboard, @/components/dns/dns-header, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "DnsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2b82e75a362d9d5",
      "framework": "next-react",
      "imports": "@/components/dns/dns-dashboard,@/components/dns/dns-header,@/components/ui/skeleton,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "766029798dab347ec43ce165",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZonesPage | imports:@/components/dns/dns-header, @/components/dns/zones-list, @/components/ui/button, @/components/ui/skeleton, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ZonesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44699ed49b542f74",
      "framework": "next-react",
      "imports": "@/components/dns/dns-header,@/components/dns/zones-list,@/components/ui/button,@/components/ui/skeleton,next/link,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/zones/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "76b1f889694f9635fbc81814",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewZonePage | imports:@/components/dns/dns-header, @/components/dns/zone-form | frontend-score:85 | ui-score:55",
      "exports": "NewZonePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "041eb45d77c60d18",
      "framework": "next-react",
      "imports": "@/components/dns/dns-header,@/components/dns/zone-form",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/zones/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "e060bdb2fad62ba1c12e3d77",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FilesPage | imports:@/components/dns/dns-header, @/components/dns/files-list, @/components/ui/button, @/components/ui/skeleton, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "FilesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e9e81185c7504ab",
      "framework": "next-react",
      "imports": "@/components/dns/dns-header,@/components/dns/files-list,@/components/ui/button,@/components/ui/skeleton,next/link,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/files/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "c3cec8db9853993b1e070647",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:FileDetailPage, FileDetailSkeleton | imports:@/components/dns/dns-header, @/components/dns/file-detail, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70",
      "exports": "FileDetailPage,FileDetailSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19c7b8273105f7a7",
      "framework": "next-react",
      "imports": "@/components/dns/dns-header,@/components/dns/file-detail,@/components/ui/skeleton,react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/files/[fileId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "2d2ca0ee52568a6cba226191",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:UploadPage | imports:@/components/dns/dns-header, @/components/dns/file-uploader | frontend-score:85 | ui-score:55",
      "exports": "UploadPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a7da44344df8198",
      "framework": "next-react",
      "imports": "@/components/dns/dns-header,@/components/dns/file-uploader",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/files/upload/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "067ab528d6eee4ec512a4232",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:@/components/dns/dns-header, @/components/dns/jobs-list, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8010eff62b2aa987",
      "framework": "next-react",
      "imports": "@/components/dns/dns-header,@/components/dns/jobs-list,@/components/ui/skeleton,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dns/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "3ba3b7c56e449875e1912a65",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EasingName, SectionType, accessibilityConfig, announcementPreset, characterRevealPreset, easings, getEasingCss, getResponsiveAdjustments | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EasingName,SectionType,accessibilityConfig,announcementPreset,characterRevealPreset,easings,getEasingCss,getResponsiveAdjustments,globalAnimationSettings,heroPreset,inputConfig,interpolate,maskedTextPreset,narrativeTextPreset,performanceConfig,progressIndicatorConfig,responsiveAdjustments,scrollSectionConfig,sectionPresets,shouldReduceMotion",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3011e3dc1781daf8",
      "framework": "next-react",
      "imports": "",
      "lines": 646,
      "logic_relevance": "none",
      "name": "animations.config",
      "normalized_name": "animations-config",
      "package_manager": "pnpm",
      "path": "config/animations.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9cd5a41bf2b720c363b51359",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CinematicTransition, TransitionConfig, cinematicChapters, cinematicSlidesConfig, cinematicSlidesStats, cinematicTransitions | imports:./network-slides-v3.config | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CinematicTransition,TransitionConfig,cinematicChapters,cinematicSlidesConfig,cinematicSlidesStats,cinematicTransitions",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d29dbe251b50b74",
      "framework": "next-react",
      "imports": "./network-slides-v3.config",
      "lines": 771,
      "logic_relevance": "none",
      "name": "cinematic-slides.config",
      "normalized_name": "cinematic-slides-config",
      "package_manager": "pnpm",
      "path": "config/cinematic-slides.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "788d89cce271f6490e38cb20",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:codexSlides, getCodexSlideById, getCodexSlideIndex, totalCodexSlides | imports:./slides.config | observability-score:55 | security-score:55",
      "exports": "codexSlides,getCodexSlideById,getCodexSlideIndex,totalCodexSlides",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e34c95bf06f89df1",
      "framework": "next-react",
      "imports": "./slides.config",
      "lines": 335,
      "logic_relevance": "none",
      "name": "codex-slides.config",
      "normalized_name": "codex-slides-config",
      "package_manager": "pnpm",
      "path": "config/codex-slides.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6b468945d1cddee3499cfdff",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AnimationOverrides, CTAConfig, LayoutConfig, MediaConfig, SlideConfig, SlideType, StyleOverrides, getDescriptionLines | imports:./animations.config | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AnimationOverrides,CTAConfig,LayoutConfig,MediaConfig,SlideConfig,SlideType,StyleOverrides,getDescriptionLines,getSlideAtProgress,getSlideById,getSlideIndex,getSlideScrollHeight,getSlidesByType,getTotalScrollHeight,isStaggeredDescription,slidesConfig,totalSlides",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ce51a963e23da0f",
      "framework": "next-react",
      "imports": "./animations.config",
      "lines": 485,
      "logic_relevance": "none",
      "name": "slides.config",
      "normalized_name": "slides-config",
      "package_manager": "pnpm",
      "path": "config/slides.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,logic,security",
      "component_id": "b1bb7936a4a2372598575822",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "zod",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AnimationPhase, EasingPreset, GlobalSettings, LayoutConfig, MediaConfig, SectionAnimation, SlideConfig, SlideshowConfig | imports:zod | backend-score:90 | logic-score:85 | security-score:55",
      "exports": "AnimationPhase,EasingPreset,GlobalSettings,LayoutConfig,MediaConfig,SectionAnimation,SlideConfig,SlideshowConfig,TextStyleConfig,defaultAnimations,easingPresets,getEasingArray,mergeWithDefaults,slideshowConfigSchema,validateSlide,validateSlideshowConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4682546b2f749561",
      "framework": "next-react",
      "imports": "zod",
      "lines": 449,
      "logic_relevance": "secondary",
      "name": "slideshow.schema",
      "normalized_name": "slideshow-schema",
      "package_manager": "pnpm",
      "path": "config/slideshow.schema.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a12e0a2e9b37d84e04770010",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CodexSite, NetworkVertical, VerticalInfo, codexSites, getFeaturedSites, getMcpEnabledSites, getSiteByDomain, getSiteById | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CodexSite,NetworkVertical,VerticalInfo,codexSites,getFeaturedSites,getMcpEnabledSites,getSiteByDomain,getSiteById,getSitesByVertical,getVerticalInfo,networkStats,totalMcpSites,totalSites,verticals",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e150e1790c517e0d",
      "framework": "next-react",
      "imports": "",
      "lines": 728,
      "logic_relevance": "none",
      "name": "codex.config",
      "normalized_name": "codex-config",
      "package_manager": "pnpm",
      "path": "config/codex.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1a4f73a034826be65988bbb3",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ThemeConfig, themeConfig | observability-score:55",
      "exports": "ThemeConfig,themeConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8f2000e2347502fd",
      "framework": "next-react",
      "imports": "",
      "lines": 158,
      "logic_relevance": "none",
      "name": "theme.config",
      "normalized_name": "theme-config",
      "package_manager": "pnpm",
      "path": "config/theme.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "41ba3690031f4b899f1378fb",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NetworkSlideV3, PreviewMode, chapters, getNetworkSlideV3ById, getNetworkSlideV3BySiteId, getNetworkSlidesV3ByChapter, getNetworkSlidesV3TotalScrollHeight, hydratedNetworkSlidesV3 | imports:./codex.config, ./slides.config, @/lib/codex/static-data | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NetworkSlideV3,PreviewMode,chapters,getNetworkSlideV3ById,getNetworkSlideV3BySiteId,getNetworkSlidesV3ByChapter,getNetworkSlidesV3TotalScrollHeight,hydratedNetworkSlidesV3,networkSlidesV3Config,networkSlidesV3Stats,totalNetworkSlidesV3",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab4a5e75a84f5420",
      "framework": "next-react",
      "imports": "./codex.config,./slides.config,@/lib/codex/static-data",
      "lines": 1463,
      "logic_relevance": "none",
      "name": "network-slides-v3.config",
      "normalized_name": "network-slides-v3-config",
      "package_manager": "pnpm",
      "path": "config/network-slides-v3.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "bbe19f38e0c80ffec8e99b7c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NetworkCategory, NetworkCategoryInfo, NetworkSite, featuredSites, getCategoryInfo, getSiteById, getSitesByCategory, networkCategories | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "NetworkCategory,NetworkCategoryInfo,NetworkSite,featuredSites,getCategoryInfo,getSiteById,getSitesByCategory,networkCategories,networkSites,totalSites",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0ff37ca18c260179",
      "framework": "next-react",
      "imports": "",
      "lines": 460,
      "logic_relevance": "none",
      "name": "network.config",
      "normalized_name": "network-config",
      "package_manager": "pnpm",
      "path": "config/network.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "43d04e1e9c70707e56cd384d",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:accessibilityConfig, easings, sectionPresets | process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "accessibilityConfig,easings,sectionPresets",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a60adad5e62ce6d9",
      "framework": "next-react",
      "imports": "",
      "lines": 409,
      "logic_relevance": "none",
      "name": "SLIDES_PLATFORM_ARCHITECTURE",
      "normalized_name": "slides-platform-architecture",
      "package_manager": "pnpm",
      "path": "docs/SLIDES_PLATFORM_ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,security,automation",
      "component_id": "f95cdfd4525169bf23341b6c",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:animationConfig, easingPresets | process-score:145 | security-score:55 | automation-score:45",
      "exports": "animationConfig,easingPresets",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "525daed68ceae5b6",
      "framework": "next-react",
      "imports": "",
      "lines": 813,
      "logic_relevance": "none",
      "name": "CINEMATIC_SCROLL_ENHANCEMENT_PLAN",
      "normalized_name": "cinematic-scroll-enhancement-plan",
      "package_manager": "pnpm",
      "path": "docs/CINEMATIC_SCROLL_ENHANCEMENT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "2459447e440b037d6580536f",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "34db65f640a81066",
      "framework": "next-react",
      "imports": "",
      "lines": 287,
      "logic_relevance": "none",
      "name": "SLIDES_ROADMAP",
      "normalized_name": "slides-roadmap",
      "package_manager": "pnpm",
      "path": "docs/SLIDES_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "856a270b34863a8304b6c78e",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f913162d6849aeac",
      "framework": "next-react",
      "imports": "",
      "lines": 421,
      "logic_relevance": "none",
      "name": "SLIDES_PLATFORM_SPEC",
      "normalized_name": "slides-platform-spec",
      "package_manager": "pnpm",
      "path": "docs/SLIDES_PLATFORM_SPEC.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "82b14cd0187bc6e1a2849cf5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "64ef36ac66ae7fd428c5831f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "48365e45477b2d6f11c9546b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a54f1de4ebf6151862f85359",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5b5d3935d307f9185489fcaa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5db18bfe0266099924afff62",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "71500d2b5c53b141390a01cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8690ad269fa3cd09b89f7013",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7f133a7682343abc",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "5b0fe9d959e484b9d45c9fdb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "461eb342213129c6464550a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4b416ced14d8384b0f08dbfc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "23b6c1ba0b38dcf0bc1d70f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "059e4b2a4159affafb99b00d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d38ccbe543133690ee90475d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "93bb91097db5de9a197c3b7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "517a17eb33bff88062e5912d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d0b29c2e7b75159ae812a0f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f388c96beb1667d60d05e8f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6fafa9684aa3d4018df217ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "49bc48b67a8a7521b8774174",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "522c47a16d9a7fd4408b7cef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9cd6594daa4792262e0ecb28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "eb2907db59ef404ebb1a8e84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3472ace54ac97e47753cf1c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ab62dd6bcf0f648b837e2878",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a58b312b5af891964f5f77f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "f458f633362a3eefbf6f9698",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4f74918a0340287d191e74e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "22ff80753998d18dfe379eff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b9f105f3aee4ec665cb676d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "0edc5647242c04783e4df8a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4e76d925ea12a8c40760c0cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0b59c2207012c2a624c0c903",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "73eafc32897a4f7a71242182",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "060e28265b85091b4912fae1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f2b46d1e7062082dbf8ed59e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f7d0f2ecadf8e8c59f869fa7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bf3eb5f5060ec6c0925e0813",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ead6a8fdddc0ed21e18a25fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "276c1926d04de3c4d8264001",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "df003776d57d6ef1d65a6353",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8f903cdb2300caa290416f9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4d288638cb2693c204a91531",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "56c988e2ba3641436ee384f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a019eebb54b7eb7215e461da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f77daa236926a02b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f9623992af6205ddd5b81f45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f1dae8b70af602cdeb29887e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d6b4ddcf640285b0a55477ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "f82f6c393164c93d9e68a65c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "0ef187a463b6eb2eb3b3c736",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0363a83e331cb7020307407f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "87c3e62e66f920ab2c0a83b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f72a6e1835ac24573c5e824b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "eb85f0d7d75f985ee8e12ab0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ee466995f3cb6af0",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "f5dfb54425b9d1c5dc1b5351",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c2dc0d65ee5d87be61600a6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "133d9016cdf6b0282514e2ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5bc540a84c2d1e858090cd18",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "0d4e9b5f3e5e6363900448fe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrecisionCursor | imports:framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "PrecisionCursor",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7444f3ff368b8ddf",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 270,
      "logic_relevance": "none",
      "name": "precision-cursor",
      "normalized_name": "precision-cursor",
      "package_manager": "pnpm",
      "path": "components/cursor/precision-cursor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "82cd75100d1dbc749268231b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteDetail | imports:./site-icon, @/config/network.config, framer-motion, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16c94d218d9c716a",
      "framework": "next-react",
      "imports": "./site-icon,@/config/network.config,framer-motion,lucide-react,next/link",
      "lines": 329,
      "logic_relevance": "none",
      "name": "site-detail",
      "normalized_name": "site-detail",
      "package_manager": "pnpm",
      "path": "components/network/site-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9984be67e53292767518f76a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,@/hooks,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkDirectory | imports:./site-icon, @/config/network.config, @/hooks/use-network-data, framer-motion, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkDirectory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a636257abb33ab8",
      "framework": "next-react",
      "imports": "./site-icon,@/config/network.config,@/hooks/use-network-data,framer-motion,lucide-react,next/link,react",
      "lines": 446,
      "logic_relevance": "none",
      "name": "network-directory",
      "normalized_name": "network-directory",
      "package_manager": "pnpm",
      "path": "components/network/network-directory.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e69297606fc574b5bc09a889",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkStats | imports:@/config/network.config, framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43450bbf447878a6",
      "framework": "next-react",
      "imports": "@/config/network.config,framer-motion,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "network-stats",
      "normalized_name": "network-stats",
      "package_manager": "pnpm",
      "path": "components/network/network-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1c08219adf7e699f59a3a4e0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkFooter | imports:@/config/codex.config, @/config/network.config, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NetworkFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6a48eeb7ebbc06c",
      "framework": "next-react",
      "imports": "@/config/codex.config,@/config/network.config,lucide-react,next/link",
      "lines": 174,
      "logic_relevance": "none",
      "name": "network-footer",
      "normalized_name": "network-footer",
      "package_manager": "pnpm",
      "path": "components/network/network-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f33319983214d7932f2875e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,@/hooks,@/lib,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkNav | imports:@/config/network.config, @/hooks/use-network-data, @/lib/utils, framer-motion, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4dd8a05b9a978d21",
      "framework": "next-react",
      "imports": "@/config/network.config,@/hooks/use-network-data,@/lib/utils,framer-motion,lucide-react,next/link,next/navigation,react",
      "lines": 201,
      "logic_relevance": "none",
      "name": "network-nav",
      "normalized_name": "network-nav",
      "package_manager": "pnpm",
      "path": "components/network/network-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "16955d8177bde848fd9b0f30",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkCategories | imports:./site-icon, @/config/network.config, framer-motion, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkCategories",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf5306d156e23d75",
      "framework": "next-react",
      "imports": "./site-icon,@/config/network.config,framer-motion,lucide-react,next/link,react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "network-categories",
      "normalized_name": "network-categories",
      "package_manager": "pnpm",
      "path": "components/network/network-categories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b48b973a8672fb7408fe72ba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkShowcase | imports:./site-icon, @/config/network.config, framer-motion, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "383b24f43b5710c5",
      "framework": "next-react",
      "imports": "./site-icon,@/config/network.config,framer-motion,lucide-react,next/image,next/link,react",
      "lines": 172,
      "logic_relevance": "none",
      "name": "network-showcase",
      "normalized_name": "network-showcase",
      "package_manager": "pnpm",
      "path": "components/network/network-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "dfdf73029edc969f9279dc37",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkCTA | imports:framer-motion, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NetworkCTA",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "300c2e096a1da467",
      "framework": "next-react",
      "imports": "framer-motion,lucide-react,next/link,react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "network-cta",
      "normalized_name": "network-cta",
      "package_manager": "pnpm",
      "path": "components/network/network-cta.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0e7c1d0ac516b714e83ad0b5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for security; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteIcon | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SiteIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e739942d6f811ac",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "site-icon",
      "normalized_name": "site-icon",
      "package_manager": "pnpm",
      "path": "components/network/site-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "5149d348916ddf63f6b622f7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkHero | imports:@/hooks/use-network-data, framer-motion, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "NetworkHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0de54fed10f908f9",
      "framework": "next-react",
      "imports": "@/hooks/use-network-data,framer-motion,lucide-react,next/image,next/link,react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "network-hero",
      "normalized_name": "network-hero",
      "package_manager": "pnpm",
      "path": "components/network/network-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e2af735321a7dbea478b0547",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolCatalog | imports:@/lib/codex/schema, @/lib/utils, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ToolCatalog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c6cf629f75b5750",
      "framework": "next-react",
      "imports": "@/lib/codex/schema,@/lib/utils,lucide-react,next/image,next/link,react",
      "lines": 323,
      "logic_relevance": "none",
      "name": "tool-catalog",
      "normalized_name": "tool-catalog",
      "package_manager": "pnpm",
      "path": "components/codex/tool-catalog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0961dea2d191df71a113b791",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/config,@/hooks,@/lib,framer-motion,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicSlides | imports:@/components/codex/tool-catalog, @/config/cinematic-slides.config, @/config/codex-slides.config, @/config/network-slides-v3.config, @/hooks/use-ambient-audio, @/hooks/use-cinematic-scroll, @/hooks/use-network-data, @/hooks/use-webgl-effects | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CinematicSlides",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e1ad1822f55c5d6",
      "framework": "next-react",
      "imports": "@/components/codex/tool-catalog,@/config/cinematic-slides.config,@/config/codex-slides.config,@/config/network-slides-v3.config,@/hooks/use-ambient-audio,@/hooks/use-cinematic-scroll,@/hooks/use-network-data,@/hooks/use-webgl-effects,@/lib/codex/static-data,@/lib/utils,framer-motion,next/image,next/link,react",
      "lines": 1266,
      "logic_relevance": "none",
      "name": "cinematic-slides",
      "normalized_name": "cinematic-slides",
      "package_manager": "pnpm",
      "path": "components/slides/cinematic-slides.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "70b49b5944f3a9d01d4e364a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnouncementSection, AnnouncementSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "AnnouncementSection,AnnouncementSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7beaf51047231129",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "announcement-section",
      "normalized_name": "announcement-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/announcement-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "27069b4b52371ef1441a8620",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MaskedTextSection, MaskedTextSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MaskedTextSection,MaskedTextSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d10944975f18fbcb",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "masked-text-section",
      "normalized_name": "masked-text-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/masked-text-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "frontend,ui",
      "component_id": "25b991380cc7a2a5699317a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for logic; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollSection, ScrollSectionBackground, ScrollSectionContent, ScrollSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "ScrollSection,ScrollSectionBackground,ScrollSectionContent,ScrollSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "753fbcd34de51e50",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 245,
      "logic_relevance": "none",
      "name": "scroll-section",
      "normalized_name": "scroll-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/scroll-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0afdd7fbffb5c1fe3c032f7f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection, HeroSectionProps | imports:@/hooks/use-section-progress, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "HeroSection,HeroSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aca8635729f35b63",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/utils,react",
      "lines": 208,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "da1882bcd06f0055b2cb2c62",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:NarrativeItem, NarrativeSection, NarrativeSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NarrativeItem,NarrativeSection,NarrativeSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb044e94fe10afee",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 234,
      "logic_relevance": "none",
      "name": "narrative-section",
      "normalized_name": "narrative-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/narrative-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "b7ffacae867f38f6b720568d",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbJsonLd, FaqJsonLd, ItemListJsonLd, JsonLd, OrganizationJsonLd, WebSiteJsonLd | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55",
      "exports": "BreadcrumbJsonLd,FaqJsonLd,ItemListJsonLd,JsonLd,OrganizationJsonLd,WebSiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2be89647ae7adacb",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security",
      "component_id": "b2337e7532299384615238d0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/lib/dns/types, @/lib/dns/utils, next/link, react | frontend-score:115 | automation-score:95 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "JobsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ef4178de4e51066",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/lib/dns/types,@/lib/dns/utils,next/link,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "jobs-list",
      "normalized_name": "jobs-list",
      "package_manager": "pnpm",
      "path": "components/dns/jobs-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c3599b51fd8bb97cde36cb44",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FilesList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/table, @/lib/dns/types, @/lib/dns/utils, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FilesList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "372a6c81e7b5b9aa",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/table,@/lib/dns/types,@/lib/dns/utils,next/link,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "files-list",
      "normalized_name": "files-list",
      "package_manager": "pnpm",
      "path": "components/dns/files-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "826eec40c6c54cc4193c5f64",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZoneForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/spinner, @/lib/dns/types, next/navigation | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ZoneForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bccb8408ba7a009a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/spinner,@/lib/dns/types,next/navigation,react",
      "lines": 155,
      "logic_relevance": "none",
      "name": "zone-form",
      "normalized_name": "zone-form",
      "package_manager": "pnpm",
      "path": "components/dns/zone-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "63f19c664b303b93c8f95cf3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DnsHeader | imports:./dns-nav, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "DnsHeader",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "352da4cc3b94b9a6",
      "framework": "next-react",
      "imports": "./dns-nav,next/link",
      "lines": 40,
      "logic_relevance": "none",
      "name": "dns-header",
      "normalized_name": "dns-header",
      "package_manager": "pnpm",
      "path": "components/dns/dns-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "95cb1c72935b18086e714cb1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZonesList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/dns/types, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ZonesList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5162f3c0dbc69b66",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/dns/types,next/link,react",
      "lines": 151,
      "logic_relevance": "none",
      "name": "zones-list",
      "normalized_name": "zones-list",
      "package_manager": "pnpm",
      "path": "components/dns/zones-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0fce53dd13ed916e8ce08045",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FileUploader | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/progress, @/components/ui/spinner, @/lib/dns/types | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FileUploader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1acf956a20f09715",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/progress,@/components/ui/spinner,@/lib/dns/types,@/lib/dns/utils,next/navigation,react",
      "lines": 360,
      "logic_relevance": "none",
      "name": "file-uploader",
      "normalized_name": "file-uploader",
      "package_manager": "pnpm",
      "path": "components/dns/file-uploader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7e892517d8c51899f27c31cb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DnsNav | imports:@/lib/utils, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DnsNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e1a3a5f863e8f16",
      "framework": "next-react",
      "imports": "@/lib/utils,next/link,next/navigation",
      "lines": 83,
      "logic_relevance": "none",
      "name": "dns-nav",
      "normalized_name": "dns-nav",
      "package_manager": "pnpm",
      "path": "components/dns/dns-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "c4432dbbb63ed2a0a8175a63",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DnsDashboard | imports:@/components/ui/button, @/components/ui/card, @/components/ui/progress, @/lib/dns/types, @/lib/dns/utils, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DnsDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd0780927304dd5a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/lib/dns/types,@/lib/dns/utils,next/link,react",
      "lines": 320,
      "logic_relevance": "none",
      "name": "dns-dashboard",
      "normalized_name": "dns-dashboard",
      "package_manager": "pnpm",
      "path": "components/dns/dns-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "46516437964fe1489b3dd797",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FileDetail | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/table, @/lib/dns/types, @/lib/dns/utils, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FileDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a309a86baeb569e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/table,@/lib/dns/types,@/lib/dns/utils,next/link,next/navigation,react",
      "lines": 304,
      "logic_relevance": "none",
      "name": "file-detail",
      "normalized_name": "file-detail",
      "package_manager": "pnpm",
      "path": "components/dns/file-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "6f258b7156961f9b3397ff79",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b08b3b8a33b8b19b",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "53c17f90e376f2471640174f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability",
      "component_id": "ece2dc4136a9e7b63b814e2a",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp/client, vitest | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d647495fe777f15",
      "framework": "next-react",
      "imports": "@/lib/mcp/client,vitest",
      "lines": 249,
      "logic_relevance": "none",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "__tests__/mcp/client.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fb9a3b2af004c99b5523f7ab",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/codex/tool-catalog, @/lib/codex/static-data, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33dccda62ea4d9d4",
      "framework": "next-react",
      "imports": "@/components/codex/tool-catalog,@/lib/codex/static-data,@testing-library/react,react,vitest",
      "lines": 38,
      "logic_relevance": "none",
      "name": "cinematic-slideshow.test",
      "normalized_name": "cinematic-slideshow",
      "package_manager": "pnpm",
      "path": "__tests__/components/cinematic-slideshow.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "32b23c5446f839eef6cbcc49",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scroll-engine/interpolators, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2d11bad327051e04",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine/interpolators,vitest",
      "lines": 343,
      "logic_relevance": "primary",
      "name": "interpolators.test",
      "normalized_name": "interpolators",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/interpolators.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "b958db0f3fa5a505a8362bad",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "@/hooks,@/lib,@testing-library/react,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/hooks/use-parallax, @/hooks/use-scroll-engine, @/hooks/use-section-progress, @/lib/scroll-engine, @testing-library/react, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db80745f322cad53",
      "framework": "next-react",
      "imports": "@/hooks/use-parallax,@/hooks/use-scroll-engine,@/hooks/use-section-progress,@/lib/scroll-engine,@testing-library/react,vitest",
      "lines": 276,
      "logic_relevance": "primary",
      "name": "hooks.test",
      "normalized_name": "hooks",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/hooks.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "bc8040f7be36180c6bc1f261",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scroll-engine/section-manager, @/lib/scroll-engine/types, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53ecb5c58e3d67dc",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine/section-manager,@/lib/scroll-engine/types,vitest",
      "lines": 274,
      "logic_relevance": "primary",
      "name": "section-manager.test",
      "normalized_name": "section-manager",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/section-manager.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "fc9e45842305729cc060ad34",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scroll-engine/scroll-engine, @/lib/scroll-engine/types, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6da3dfef1735e54",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine/scroll-engine,@/lib/scroll-engine/types,vitest",
      "lines": 337,
      "logic_relevance": "primary",
      "name": "scroll-engine.test",
      "normalized_name": "scroll-engine",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/scroll-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "ab650c0d664ecea8a55f26d8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,node:fs,node:os,node:path,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, @/app/api/health/route, @/app/api/mcp/route, @/app/api/v1/tools/[slug]/relationships/route, @/app/api/v1/tools/[slug]/screenshot/refresh/route, @/app/api/v1/tools/route, @/app/sitemap, @/lib/codex/schema | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f69f5f67f542f713",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/app/api/health/route,@/app/api/mcp/route,@/app/api/v1/tools/[slug]/relationships/route,@/app/api/v1/tools/[slug]/screenshot/refresh/route,@/app/api/v1/tools/route,@/app/sitemap,@/lib/codex/schema,@/lib/codex/static-data,next/server,node:fs,node:os,node:path,vitest",
      "lines": 256,
      "logic_relevance": "none",
      "name": "routes.test",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "8a4a2b78ec611a8bbc3a5bc7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4acde2d611cc6d74",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,automation",
      "component_id": "14dd860b94ab68f2995c7edd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "884a8f8d2f2fe37d",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "ad02a9fe44f8c34a26827a03",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useCinematicScroll | imports:react | security-score:55",
      "exports": "useCinematicScroll",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "00ee5fd05283e63f",
      "framework": "next-react",
      "imports": "react",
      "lines": 305,
      "logic_relevance": "none",
      "name": "use-cinematic-scroll",
      "normalized_name": "use-cinematic-scroll",
      "package_manager": "pnpm",
      "path": "hooks/use-cinematic-scroll.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability",
      "component_id": "e034a0dd5734b99d7df457b8",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useWebGLEffects | imports:react | observability-score:55",
      "exports": "useWebGLEffects",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8f8c58cc34d772f",
      "framework": "next-react",
      "imports": "react",
      "lines": 359,
      "logic_relevance": "none",
      "name": "use-webgl-effects",
      "normalized_name": "use-webgl-effects",
      "package_manager": "pnpm",
      "path": "hooks/use-webgl-effects.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "0c3f57db2652fa767586bed5",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UseScrollEngineOptions, UseScrollEngineReturn, useScrollEngine, useScrollProgress | imports:@/lib/scroll-engine, react | logic-score:85",
      "exports": "UseScrollEngineOptions,UseScrollEngineReturn,useScrollEngine,useScrollProgress",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9c2db8bed2e252c",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine,react",
      "lines": 245,
      "logic_relevance": "primary",
      "name": "use-scroll-engine",
      "normalized_name": "use-scroll-engine",
      "package_manager": "pnpm",
      "path": "hooks/use-scroll-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "ce02010cc9701a9d2e2ad44c",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/config,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollActions, ScrollContext, ScrollContextValue, ScrollProgressProvider, ScrollState, useResponsiveAdjustments, useScrollInterpolate, useScrollProgress | imports:@/config/animations.config, @/config/slides.config, react | frontend-score:90 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "ScrollActions,ScrollContext,ScrollContextValue,ScrollProgressProvider,ScrollState,useResponsiveAdjustments,useScrollInterpolate,useScrollProgress,useScrollVisibility,useStaggeredProgress",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f11a05b9028a2b52",
      "framework": "next-react",
      "imports": "@/config/animations.config,@/config/slides.config,react",
      "lines": 421,
      "logic_relevance": "none",
      "name": "use-scroll-progress",
      "normalized_name": "use-scroll-progress",
      "package_manager": "pnpm",
      "path": "hooks/use-scroll-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability",
      "component_id": "39e9d59dd61994a12afa9ecd",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "swr",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NetworkData, NetworkSite, useMCPSites, useNetworkData, useSiteById, useSitesByVertical | imports:swr | observability-score:55",
      "exports": "NetworkData,NetworkSite,useMCPSites,useNetworkData,useSiteById,useSitesByVertical",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6497c7922ba0c05c",
      "framework": "next-react",
      "imports": "swr",
      "lines": 88,
      "logic_relevance": "none",
      "name": "use-network-data",
      "normalized_name": "use-network-data",
      "package_manager": "pnpm",
      "path": "hooks/use-network-data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "security,automation",
      "component_id": "c30955f5328d85ecdcb03a5f",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useAmbientAudio | imports:react | security-score:55 | automation-score:45",
      "exports": "useAmbientAudio",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a883d3a7d95d7800",
      "framework": "next-react",
      "imports": "react",
      "lines": 261,
      "logic_relevance": "none",
      "name": "use-ambient-audio",
      "normalized_name": "use-ambient-audio",
      "package_manager": "pnpm",
      "path": "hooks/use-ambient-audio.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "514abd539c8d401e10f01bfa",
      "component_kind": "feed",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "exports:useSnappyFeedback | imports:react | discovery-score:55",
      "exports": "useSnappyFeedback",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dfc0cc64fd2facef",
      "framework": "next-react",
      "imports": "react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "use-snappy-feedback",
      "normalized_name": "use-snappy-feedback",
      "package_manager": "pnpm",
      "path": "hooks/use-snappy-feedback.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "cbfdca59cb07f3a37555ce6c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "01d42d288b925399b1568941",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CodexSlide, RouteComplianceResult, ScreenshotSource, ScreenshotStatus, ToolCatalogEntry, ToolScreenshot, ToolStatus, codexSlideSchema | imports:zod | backend-score:90 | logic-score:70 | observability-score:55",
      "exports": "CodexSlide,RouteComplianceResult,ScreenshotSource,ScreenshotStatus,ToolCatalogEntry,ToolScreenshot,ToolStatus,codexSlideSchema,routeComplianceResultSchema,screenshotSourceSchema,screenshotStatusSchema,slideBackgroundModeSchema,toolCatalogEntrySchema,toolScreenshotSchema,toolStatusSchema",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c060ff40926c8abd",
      "framework": "next-react",
      "imports": "zod",
      "lines": 81,
      "logic_relevance": "secondary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/codex/schema.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "1e89eae9660912e1965e81dc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_SITEMAP_INDEX_URL, CODEX_BASE_URL, CODEX_VERSION, NETWORK_GRAPH_URL, REQUIRED_TRUST_POLICY_LINE, SCREENSHOT_CAPTURED_AT, staticCodexSlides, staticToolCatalog | imports:./schema | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BASE_SITEMAP_INDEX_URL,CODEX_BASE_URL,CODEX_VERSION,NETWORK_GRAPH_URL,REQUIRED_TRUST_POLICY_LINE,SCREENSHOT_CAPTURED_AT,staticCodexSlides,staticToolCatalog,staticToolScreenshots",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "561838ac36375987",
      "framework": "next-react",
      "imports": "./schema",
      "lines": 475,
      "logic_relevance": "primary",
      "name": "static-data",
      "normalized_name": "static-data",
      "package_manager": "pnpm",
      "path": "lib/codex/static-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "c51e9f18955f290d2b3f830e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkGraphNode, NetworkGraphSnapshot, SitemapIndexSnapshot, TrustedDomainRecord, graphNodesToSites | imports:./static-data, ./storage, ./trace | logic-score:85 | observability-score:55",
      "exports": "NetworkGraphNode,NetworkGraphSnapshot,SitemapIndexSnapshot,TrustedDomainRecord,graphNodesToSites",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "15c4e93e42256341",
      "framework": "next-react",
      "imports": "./static-data,./storage,./trace",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/codex/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "1046f9ef218aa14752c900af",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:localStorageInfo | imports:./network, ./schema, node:fs/promises, node:path, zod | logic-score:85 | observability-score:55 | uses-env",
      "exports": "localStorageInfo",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba53a3eeb14ff0f5",
      "framework": "next-react",
      "imports": "./network,./schema,node:fs/promises,node:path,zod",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "pnpm",
      "path": "lib/codex/storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "6c2097a3380977b8c7d64ff0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonRpcRequest, codexMcpPrompts, codexMcpResources, codexMcpTools | imports:./auth, ./catalog, ./discovery | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JsonRpcRequest,codexMcpPrompts,codexMcpResources,codexMcpTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "787aa5e34892a106",
      "framework": "next-react",
      "imports": "./auth,./catalog,./discovery",
      "lines": 239,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/codex/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend,observability",
      "component_id": "10e0ed18e252194a8ec14dc4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, fail, getRequestBaseUrl, ok, text, xml | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "ApiError,fail,getRequestBaseUrl,ok,text,xml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3389a87ea505f3d8",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "lib/codex/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3b65ed082588a5fcc428951c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildManifest, buildOpenApiSpec, buildOpenApiYaml, buildTrustPolicy, protectedRoutes, routeStandard | imports:./catalog, ./network, ./static-data | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "buildManifest,buildOpenApiSpec,buildOpenApiYaml,buildTrustPolicy,protectedRoutes,routeStandard",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e63ee0c01f8d3229",
      "framework": "next-react",
      "imports": "./catalog,./network,./static-data",
      "lines": 312,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/codex/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "1242d6b42d3963c3dffaae02",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createTraceContext, sanitizeVercelMetadata, withPlatphormTraceHeaders | imports:node:crypto | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "TraceContext,createTraceContext,sanitizeVercelMetadata,withPlatphormTraceHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d3a8035292398c44",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 105,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/codex/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "fc351ce9cd49bdc045c4c52e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getProvidedPlatphormKey, isProtectedRequestAuthorized, requirePlatphormApiKey | imports:./api | logic-score:85 | security-score:55 | uses-env",
      "exports": "getProvidedPlatphormKey,isProtectedRequestAuthorized,requirePlatphormApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be87ad417df05326",
      "framework": "next-react",
      "imports": "./api",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/codex/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "9ddc59e4ae4df00511d6cac9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getScreenshotByToolSlug, getSlideById, getStaticCodexSlides, getStaticToolCatalog, getStaticToolScreenshots, getToolRelationships, searchToolCatalog | imports:./network, ./schema, ./static-data, ./storage | logic-score:85 | observability-score:55",
      "exports": "getScreenshotByToolSlug,getSlideById,getStaticCodexSlides,getStaticToolCatalog,getStaticToolScreenshots,getToolRelationships,searchToolCatalog",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c40a751f7f32a198",
      "framework": "next-react",
      "imports": "./network,./schema,./static-data,./storage",
      "lines": 269,
      "logic_relevance": "primary",
      "name": "catalog",
      "normalized_name": "catalog",
      "package_manager": "pnpm",
      "path": "lib/codex/catalog.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,ai",
      "component_id": "c36ab688283e8329face9a3b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, MCPClientConfig, MCPRequest, MCPResponse, clawsClient, createMCPClient, docsClient | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "MCPClient,MCPClientConfig,MCPRequest,MCPResponse,clawsClient,createMCPClient,docsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "589bb21df7453c06",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "1fcd732a40c01e87b65845f1",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e8476d533df0153",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "f929ddab30adebb8a4ca873c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b0734bcf5d3fa64",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "81e083869a01d684209846d3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SectionManager | imports:./interpolators, ./types | logic-score:85",
      "exports": "SectionManager",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b59c1ef264312e2c",
      "framework": "next-react",
      "imports": "./interpolators,./types",
      "lines": 263,
      "logic_relevance": "primary",
      "name": "section-manager",
      "normalized_name": "section-manager",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/section-manager.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "072c25d0341e66801eb2f9b1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ScrollEngineInstance, createScrollEngine | imports:./interpolators, ./section-manager, ./types | logic-score:85 | security-score:55",
      "exports": "ScrollEngineInstance,createScrollEngine",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a36d0e757186f1ec",
      "framework": "next-react",
      "imports": "./interpolators,./section-manager,./types",
      "lines": 397,
      "logic_relevance": "primary",
      "name": "scroll-engine",
      "normalized_name": "scroll-engine",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/scroll-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "879e6a613d8ae655a58927c8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:clamp, cubicBezier, easingFunctions, getEasing, interpolateColor, interpolateInRange, inverseLerp, lerp | imports:./types | logic-score:85",
      "exports": "clamp,cubicBezier,easingFunctions,getEasing,interpolateColor,interpolateInRange,inverseLerp,lerp,mapRange,smoothDamp,spring,staggeredProgress",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "30f4af8b6468aa0b",
      "framework": "next-react",
      "imports": "./types",
      "lines": 325,
      "logic_relevance": "primary",
      "name": "interpolators",
      "normalized_name": "interpolators",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/interpolators.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,security,automation",
      "component_id": "93b55a64604eeb9edc34b204",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnimationKeyframe, EasingFunction, EasingName, EasingTuple, ElementAnimation, KeyboardInputConfig, ScrollCallbacks, ScrollEngineConfig | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "AnimationKeyframe,EasingFunction,EasingName,EasingTuple,ElementAnimation,KeyboardInputConfig,ScrollCallbacks,ScrollEngineConfig,ScrollState,SectionBounds,SectionConfig,SectionType,TouchInputConfig,WheelInputConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efcf958ac3cdd72f",
      "framework": "next-react",
      "imports": "",
      "lines": 223,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "58f0eb4d7540bc393160d6de",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:// Easing\n  easingFunctions, // Interpolation\n  lerp, // Physics\n  spring, SectionManager, clamp, createScrollEngine, cubicBezier, getEasing | imports:./interpolators, ./scroll-engine, ./section-manager, ./types | logic-score:70 | security-score:55",
      "exports": "// Easing\n  easingFunctions,// Interpolation\n  lerp,// Physics\n  spring,SectionManager,clamp,createScrollEngine,cubicBezier,getEasing,interpolateColor,interpolateInRange,inverseLerp,mapRange,smoothDamp,staggeredProgress",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "af5e18adb1bda50b",
      "framework": "next-react",
      "imports": "./interpolators,./scroll-engine,./section-manager,./types",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3b13a21927fc55bb0f995625",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAX_TXT_RECORD_SIZE, calculateProgress, calculateRequiredZones, formatBytes, generateFilePrefix, generateMetaRecordName, generateRecordName, isValidZoneName | logic-score:85 | observability-score:55",
      "exports": "MAX_TXT_RECORD_SIZE,calculateProgress,calculateRequiredZones,formatBytes,generateFilePrefix,generateMetaRecordName,generateRecordName,isValidZoneName",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b984f92d39d575f",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/dns/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "96745176437001df5e16153d",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "crypto,pako",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAX_TXT_RECORD_SIZE, calculateProgress, calculateRequiredZones, chunkBuffer, compressData, decompressData, decryptToken, encryptToken | imports:./utils, crypto, pako | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "MAX_TXT_RECORD_SIZE,calculateProgress,calculateRequiredZones,chunkBuffer,compressData,decompressData,decryptToken,encryptToken,formatBytes,generateFilePrefix,generateMetaRecordName,generateRecordName,hashSha256,isValidZoneName",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c84ce5bc5f6ef3ab",
      "framework": "next-react",
      "imports": "./utils,crypto,pako",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "utils.server",
      "normalized_name": "utils-server",
      "package_manager": "pnpm",
      "path": "lib/dns/utils.server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "7e3c1faa5da5a2f97143e864",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, CloudflareRecordPayload, CreateZoneRequest, DnsFile, DnsStripe, DnsStripeMeta, DnsUploadJob, DnsZone | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "ApiResponse,CloudflareRecordPayload,CreateZoneRequest,DnsFile,DnsStripe,DnsStripeMeta,DnsUploadJob,DnsZone,UploadFileRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "711890d6033826b6",
      "framework": "next-react",
      "imports": "",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/dns/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,ai",
      "component_id": "51d4414bb4215c33321e7927",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CloudflareClient, createCloudflareClient | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CloudflareClient,createCloudflareClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "23bb2d9c47bbc06f",
      "framework": "next-react",
      "imports": "./types",
      "lines": 196,
      "logic_relevance": "primary",
      "name": "cloudflare",
      "normalized_name": "cloudflare",
      "package_manager": "pnpm",
      "path": "lib/dns/cloudflare.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-codex",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2356e1ae900415bfa92c0b4b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2dfa592834dccb5f",
      "framework": "next-react",
      "imports": "",
      "lines": 6074,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0348d8fff75cb5fb0e4b1d37",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e40a9a4c84b36504",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "65e2863ff150868b7eca0d64",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e1fa8e485e653a2b",
      "framework": "next-react",
      "imports": "",
      "lines": 324,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ddcf570312c06aa7a5db936f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "408027777a328198",
      "framework": "next-react",
      "imports": "",
      "lines": 342,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b06627630c0f624aafc227e1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2871ec55a367fd4",
      "framework": "next-react",
      "imports": "",
      "lines": 200,
      "logic_relevance": "none",
      "name": "LAUNCH_CHECKLIST",
      "normalized_name": "launch-checklist",
      "package_manager": "pnpm",
      "path": "LAUNCH_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "623ad7a0580fa8cbea8a82a6",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ef7ab4a9a4ae7c94",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f3d7b6b35d432d366e1dc9b2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d46b9dcec66aa7a0",
      "framework": "next-react",
      "imports": "",
      "lines": 7556,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7df55d7757acd0edb529ebcb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d09ab2aa51872968",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "747673d62dd591cd5aa6dd49",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c7e55f5374c1aef4",
      "framework": "next-react",
      "imports": "next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "bc3f343e5b6f906c60f6da76",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ad6a4cc0926c16a2",
      "framework": "next-react",
      "imports": "next",
      "lines": 82,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "84421ad62d052a635bda5916",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/breadcrumbs, @/components/ui/sonner, @/lib/user-state-context, @vercel/analytics/react, @vercel/speed-insights/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3089777168cde7bc",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/ui/sonner,@/lib/user-state-context,@vercel/analytics/react,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 233,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "869e2b78a50640587051c38b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "72c9f90e56d3cc810b627c14",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/home-content, @/lib/get-user, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3ceccefbff2b93f",
      "framework": "next-react",
      "imports": "@/components/home-content,@/lib/get-user,next",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "ba678162654cf37db7ab4e1d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "787ed6ec8621240b",
      "framework": "next-react",
      "imports": "",
      "lines": 824,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "86db585a78fed172d853c821",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtistToolsPage, metadata | imports:@/components/artist-tools-content, @/components/navigation, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ArtistToolsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f062a37629f57b2c",
      "framework": "next-react",
      "imports": "@/components/artist-tools-content,@/components/navigation,next",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/artist-tools/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "436e7528b4db2b85b2870fff",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "73c01ce1ba636013",
      "framework": "next-react",
      "imports": "next",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,automation,process,ui,observability,security",
      "component_id": "d934ce77b32cb88d0f341067",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowsPage, metadata | imports:@/components/navigation, @/components/workflows-content, next | frontend-score:115 | automation-score:95 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "WorkflowsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fcd808f6082044b",
      "framework": "next-react",
      "imports": "@/components/navigation,@/components/workflows-content,next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/workflows/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "d0f4964693f38f5ed4e3fb6e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreatorDemoPage, metadata | imports:@/components/creator-flow-hub, @/components/navigation, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CreatorDemoPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69650510d1ce1f39",
      "framework": "next-react",
      "imports": "@/components/creator-flow-hub,@/components/navigation,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/creator-demo/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "de6f1303b41298c236b85c91",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/products, @/lib/stripe, @neondatabase/serverless | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6a19e0ea6bb5fbb",
      "framework": "next-react",
      "imports": "@/lib/products,@/lib/stripe,@neondatabase/serverless",
      "lines": 92,
      "logic_relevance": "none",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "app/actions/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2e4e39cb320c01c962d23c0c",
      "component_kind": "auth",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/auth | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77c091ecf5b79744",
      "framework": "next-react",
      "imports": "@/lib/auth",
      "lines": 63,
      "logic_relevance": "none",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "app/actions/auth.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "febc114982013ba8075d9e54",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api-data.json, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5aa0aa9c8130d38c",
      "framework": "next-react",
      "imports": "@/lib/api-data.json,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b6c3f4310153efcd5be19941",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api-data.json, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b561420fc9366354",
      "framework": "next-react",
      "imports": "@/lib/api-data.json,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/revenue/summary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e0c9297015f2be720e97983d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api-data.json, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b6d772c95138b3e",
      "framework": "next-react",
      "imports": "@/lib/api-data.json,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/artist/[artistId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "dfdfae6782fe765fcd12de89",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "84b744d84e757a2d",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/waitlist/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "8bbb2bcd4d2348527e7a203b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7f3eb60629daf86d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register-network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "3e3b5a2d1ea01138de947639",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3d9441039d0274cd",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/signup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability",
      "component_id": "15280186db4650683e6d71c3",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c6c088f5e5b0c615",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b9935696815e0d6ea95d8099",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PUT | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,PUT",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d410aa393a8a5c7b",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 83,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e0dff7d9fe48f20d91db49b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,crypto,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, POST | imports:@neondatabase/serverless, crypto, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "25c09e742743e337",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto,next/server",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/api-keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ce827846830a81c1b4c0116e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "aa4f1a8f7ecb90df",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/profile/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "196d0a524f723e74b343412a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,PATCH,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4d32b7beea180349",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 144,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/monitored-urls/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "d698547736e367618054594e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, TOOLS | imports:@/lib/api-data.json, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST,TOOLS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3bb6d301efaef108",
      "framework": "next-react",
      "imports": "@/lib/api-data.json,@neondatabase/serverless,next/server",
      "lines": 306,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security,discovery,process,automation,ai",
      "component_id": "8f6dda8f452ca7dc019a621e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2d50daa35501d0e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 376,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "c9abf3e567b77e25dd7cefc6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f77ef5f61f1ccfe",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/url/status/[processingId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,ai",
      "component_id": "1aea361a1594ce00dd46eb61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | process-score:80 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2939dda1af8652fd",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/url/process/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "d7678c6b9b29465adbb8c8a1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "41189afa17d1fdbc",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/track-event/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "7acb4666b01411c6535ff6a2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e645522da10aab69",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register-mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6f6139d96dffe6de66eb7903",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ae0e3b01b6de5a30",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/errors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "4468cc63a52f36e4d73329e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9a3be5b1cd7707fb",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 169,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,integration,observability,automation",
      "component_id": "5280ba01325a39abac37c274",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "94198c7ef3319e6b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/subscribe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "a863b5e96778ce21a181a2d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server, stripe | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ddfa07a818b14f53",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server,stripe",
      "lines": 147,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/stripe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "66387480ff91f130560b9179",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "283aa1c5e17ab817",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/notifications/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "d7fa7a21b9476df93aec04f0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0954bce6e02b5814",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/session/migrate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "0f19bb0fff4d0845c8f0cf31",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "875abbe1872082dc",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/session/data/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation,ai",
      "component_id": "3643ab46b8820c3069c5d1e9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:next | frontend-score:115 | ui-score:55 | automation-score:50 | ai-score:45",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "546d774efb887515",
      "framework": "next-react",
      "imports": "next",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process,automation",
      "component_id": "a3689371f00ab960bdad5a23",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsPage, metadata | imports:@/components/api-docs-content, @/components/navigation, next | frontend-score:115 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "ApiDocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa48ee95deb34abe",
      "framework": "next-react",
      "imports": "@/components/api-docs-content,@/components/navigation,next",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api-docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "e3b6c8e4f2af41d795274afd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPage | imports:@/components/navigation, @/components/pricing-content, @/lib/get-user | frontend-score:85 | ui-score:55",
      "exports": "PricingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f6efbc90ac1fc35",
      "framework": "next-react",
      "imports": "@/components/navigation,@/components/pricing-content,@/lib/get-user",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/pricing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "e8ca40e69d7762705fdfc4b9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtistDetailPage, generateStaticParams | imports:@/components/artist-detail-content, @/components/navigation, @/lib/mock-data, next, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "ArtistDetailPage,generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3fccc88bfb1b0e7",
      "framework": "next-react",
      "imports": "@/components/artist-detail-content,@/components/navigation,@/lib/mock-data,next,next/navigation",
      "lines": 73,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/artist/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,process,ui,observability",
      "component_id": "70d2d7c5ffe8d2cc216a0c85",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingPage, metadata | imports:@/components/onboarding-orchestrator, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55",
      "exports": "OnboardingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "874a3af211f641d8",
      "framework": "next-react",
      "imports": "@/components/onboarding-orchestrator,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/onboarding/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "fbb98c89d30b7ab2f33852d6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/analytics/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "d517bba2b6d2d2d7970874cd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/analytics-content, @/components/navigation, @/lib/get-user, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32d46f681cc046d4",
      "framework": "next-react",
      "imports": "@/components/analytics-content,@/components/navigation,@/lib/get-user,next",
      "lines": 54,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ad6210933c6573e21a7bf8fa",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4b118047def1b576ff5f7efe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccountabilityDashboard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AccountabilityDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6623740d06dfc341",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 237,
      "logic_relevance": "none",
      "name": "accountability-dashboard",
      "normalized_name": "accountability-dashboard",
      "package_manager": "pnpm",
      "path": "components/accountability-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f72854575e20352fddbabc43",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdAnalysis | imports:@/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdAnalysis",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec21764232823021",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react,recharts",
      "lines": 412,
      "logic_relevance": "none",
      "name": "ad-analysis",
      "normalized_name": "ad-analysis",
      "package_manager": "pnpm",
      "path": "components/ad-analysis.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "d0f57d32688aee71841b0ef4",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1f012a8c4f007ccb02ad6598",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevenueImpact | imports:@/components/ui/card, @/components/ui/tooltip, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RevenueImpact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a952fcb6e824d7f",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/tooltip,lucide-react,recharts",
      "lines": 135,
      "logic_relevance": "none",
      "name": "revenue-impact",
      "normalized_name": "revenue-impact",
      "package_manager": "pnpm",
      "path": "components/revenue-impact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1abffb4a0b3ddd20588f9067",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SunkCostsVisualization | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SunkCostsVisualization",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a9c3a99ee4a4405",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react,recharts",
      "lines": 135,
      "logic_relevance": "none",
      "name": "sunk-costs-visualization",
      "normalized_name": "sunk-costs-visualization",
      "package_manager": "pnpm",
      "path": "components/sunk-costs-visualization.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "08b6d6a23d0039a31230c6d0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BotDetectionDashboard | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BotDetectionDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2556a4efefe9ca0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react,react",
      "lines": 318,
      "logic_relevance": "none",
      "name": "bot-detection-dashboard",
      "normalized_name": "bot-detection-dashboard",
      "package_manager": "pnpm",
      "path": "components/bot-detection-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d984f2292900b62e66da3f52",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OpportunityMaximizer | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OpportunityMaximizer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67fbc9496527f1b1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react,recharts",
      "lines": 484,
      "logic_relevance": "none",
      "name": "opportunity-maximizer",
      "normalized_name": "opportunity-maximizer",
      "package_manager": "pnpm",
      "path": "components/opportunity-maximizer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "266ea8b8011ea3aa12bfd3fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtistTools | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ArtistTools",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e4df3fbb65bbf33",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "artist-tools",
      "normalized_name": "artist-tools",
      "package_manager": "pnpm",
      "path": "components/artist-tools.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "01361e2316d63ac43a9a95c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionRecoveryOverlay | imports:@/components/ui/card, framer-motion, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "SessionRecoveryOverlay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16059127b5bd2ba6",
      "framework": "next-react",
      "imports": "@/components/ui/card,framer-motion,lucide-react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "session-recovery-overlay",
      "normalized_name": "session-recovery-overlay",
      "package_manager": "pnpm",
      "path": "components/session-recovery-overlay.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b3d2f0eca1d8512191ff9de1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreatorFlowHub | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/tabs, @/components/ui/tooltip, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CreatorFlowHub",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "191fd1af39ba1ae1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/tabs,@/components/ui/tooltip,lucide-react,next/navigation,react",
      "lines": 456,
      "logic_relevance": "none",
      "name": "creator-flow-hub",
      "normalized_name": "creator-flow-hub",
      "package_manager": "pnpm",
      "path": "components/creator-flow-hub.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "66311100528ec2778a0583a1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RadialMonitoringChart | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RadialMonitoringChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7803abd120c51dbc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 284,
      "logic_relevance": "none",
      "name": "radial-monitoring-chart",
      "normalized_name": "radial-monitoring-chart",
      "package_manager": "pnpm",
      "path": "components/radial-monitoring-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4767120a880d219e5c645565",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingContent | imports:@/components/auth-dialog, @/components/ui/button, @/components/ui/card, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PricingContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d25eaafb763ae16c",
      "framework": "next-react",
      "imports": "@/components/auth-dialog,@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 215,
      "logic_relevance": "none",
      "name": "pricing-content",
      "normalized_name": "pricing-content",
      "package_manager": "pnpm",
      "path": "components/pricing-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c86f3185167a1598cb281222",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InteractiveTooltipSystem | imports:@/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "InteractiveTooltipSystem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82a009678106ef67",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "interactive-tooltip-system",
      "normalized_name": "interactive-tooltip-system",
      "package_manager": "pnpm",
      "path": "components/interactive-tooltip-system.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "f13be111d652e10c66dffc85",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrustSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TrustSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f63b52ce2e35ffc",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "trust-section",
      "normalized_name": "trust-section",
      "package_manager": "pnpm",
      "path": "components/trust-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5af5ab7d922c632f8d8002f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalysisProgress | imports:@/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnalysisProgress",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e05023cc7a7ff011",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "analysis-progress",
      "normalized_name": "analysis-progress",
      "package_manager": "pnpm",
      "path": "components/analysis-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bfe0aa69effe7754ad538759",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeatureToggle | imports:@/lib/user-state-context, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FeatureToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41a279b1efaa677b",
      "framework": "next-react",
      "imports": "@/lib/user-state-context,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "feature-toggle",
      "normalized_name": "feature-toggle",
      "package_manager": "pnpm",
      "path": "components/feature-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1080f62f130c8bb7d5b4b175",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreatorTransparencyOverlay | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CreatorTransparencyOverlay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed4df030474b99cd",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 379,
      "logic_relevance": "none",
      "name": "creator-transparency-overlay",
      "normalized_name": "creator-transparency-overlay",
      "package_manager": "pnpm",
      "path": "components/creator-transparency-overlay.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "65c93d081836a075d2a977df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:URLEntryExperience | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/user-state-context, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "URLEntryExperience",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4853233a9f2dbf8d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/user-state-context,framer-motion,lucide-react,react",
      "lines": 254,
      "logic_relevance": "none",
      "name": "url-entry-experience",
      "normalized_name": "url-entry-experience",
      "package_manager": "pnpm",
      "path": "components/url-entry-experience.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "e2da850c91f5f4c4fe520084",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowStatus | imports:@/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkflowStatus",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91b954cf5a96857c",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "workflow-status",
      "normalized_name": "workflow-status",
      "package_manager": "pnpm",
      "path": "components/workflow-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9f453d380d9340cd10ac6a41",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintingTechnology | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FingerprintingTechnology",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf76a0169ba92b45",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "fingerprinting-technology",
      "normalized_name": "fingerprinting-technology",
      "package_manager": "pnpm",
      "path": "components/fingerprinting-technology.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "06e66599221301fd97a04d13",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingOrchestrator | imports:./processing-progress, ./seamless-onboarding-flow, ./signed-in-dashboard, ./url-entry-experience, @/lib/analytics-tracker, @/lib/session-manager, @/lib/user-state-context, framer-motion | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "OnboardingOrchestrator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "795a8d5426595357",
      "framework": "next-react",
      "imports": "./processing-progress,./seamless-onboarding-flow,./signed-in-dashboard,./url-entry-experience,@/lib/analytics-tracker,@/lib/session-manager,@/lib/user-state-context,framer-motion,react",
      "lines": 223,
      "logic_relevance": "none",
      "name": "onboarding-orchestrator",
      "normalized_name": "onboarding-orchestrator",
      "package_manager": "pnpm",
      "path": "components/onboarding-orchestrator.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a27b9c0dec5452a39416cfbf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentTypeBreakdown | imports:@/components/ui/card, @/components/ui/tooltip, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ContentTypeBreakdown",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d33962bd13cd39e4",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/tooltip,lucide-react,recharts",
      "lines": 122,
      "logic_relevance": "none",
      "name": "content-type-breakdown",
      "normalized_name": "content-type-breakdown",
      "package_manager": "pnpm",
      "path": "components/content-type-breakdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "eeb6d25811ab7d3ffb0ecfb4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevenuePredictionEngine | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "RevenuePredictionEngine",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "365b68ec3be7b2d3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react,recharts",
      "lines": 241,
      "logic_relevance": "secondary",
      "name": "revenue-prediction-engine",
      "normalized_name": "revenue-prediction-engine",
      "package_manager": "pnpm",
      "path": "components/revenue-prediction-engine.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "0919e97bc98655f141d70e6e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MetadataAggregation | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "MetadataAggregation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b72e9cd34467c60a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "metadata-aggregation",
      "normalized_name": "metadata-aggregation",
      "package_manager": "pnpm",
      "path": "components/metadata-aggregation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0e7b4ad091e003c5f68e0b6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShowbackDashboard | imports:@/components/info-tooltip, @/components/ui/card, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ShowbackDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9ead0eef1207a27",
      "framework": "next-react",
      "imports": "@/components/info-tooltip,@/components/ui/card,lucide-react,recharts",
      "lines": 166,
      "logic_relevance": "none",
      "name": "showback-dashboard",
      "normalized_name": "showback-dashboard",
      "package_manager": "pnpm",
      "path": "components/showback-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6067392c29b9e342e0fc37bf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataSourceTransparency | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/lib/nested-play-data, date-fns, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DataSourceTransparency",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b0cc19c1dd3aaec",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/lib/nested-play-data,date-fns,lucide-react",
      "lines": 177,
      "logic_relevance": "none",
      "name": "data-source-transparency",
      "normalized_name": "data-source-transparency",
      "package_manager": "pnpm",
      "path": "components/data-source-transparency.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "df1e2dc700ac9c274e137740",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InteractiveChartWrapper | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "InteractiveChartWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4a24f376c256487",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,lucide-react,react",
      "lines": 151,
      "logic_relevance": "none",
      "name": "interactive-chart-wrapper",
      "normalized_name": "interactive-chart-wrapper",
      "package_manager": "pnpm",
      "path": "components/interactive-chart-wrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e515b406a56ba83b79cbf7fe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ClaimYourDataBanner | imports:@/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ClaimYourDataBanner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ad2c5eb08c7449b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 112,
      "logic_relevance": "none",
      "name": "claim-your-data-banner",
      "normalized_name": "claim-your-data-banner",
      "package_manager": "pnpm",
      "path": "components/claim-your-data-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,process,ui,backend,observability,security,automation",
      "component_id": "d4539fc176ea9a0cf3d2e8e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiIntegrationGuide | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/components/ui/tooltip, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiIntegrationGuide",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8caff11eed226e67",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/ui/tooltip,lucide-react",
      "lines": 365,
      "logic_relevance": "none",
      "name": "api-integration-guide",
      "normalized_name": "api-integration-guide",
      "package_manager": "pnpm",
      "path": "components/api-integration-guide.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "722dc5d569d3a66dd72830ac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvancedFilteringSystem | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/popover, @/components/ui/slider, @/components/ui/switch | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdvancedFilteringSystem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf7a2d9fca158f74",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/popover,@/components/ui/slider,@/components/ui/switch,lucide-react,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "advanced-filtering-system",
      "normalized_name": "advanced-filtering-system",
      "package_manager": "pnpm",
      "path": "components/advanced-filtering-system.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8286ee5596ca89ee3356eb9c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FreeTierBanner | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FreeTierBanner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a46b02523b949f6b",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "free-tier-banner",
      "normalized_name": "free-tier-banner",
      "package_manager": "pnpm",
      "path": "components/free-tier-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "113bb3f8a56b4aae11f8865d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmailCapture | imports:@/app/actions/stripe, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "EmailCapture",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8a93e7ddf032721",
      "framework": "next-react",
      "imports": "@/app/actions/stripe,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "email-capture",
      "normalized_name": "email-capture",
      "package_manager": "pnpm",
      "path": "components/email-capture.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9d24539da5c93568f4869f12",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SmartInsightsPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SmartInsightsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae2c4be0cd025699",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 327,
      "logic_relevance": "none",
      "name": "smart-insights-panel",
      "normalized_name": "smart-insights-panel",
      "package_manager": "pnpm",
      "path": "components/smart-insights-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c1efadb23f9b166d3f8ff178",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveAnalytics | imports:@/components/ui/card, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LiveAnalytics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31315570bd5da589",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,recharts",
      "lines": 140,
      "logic_relevance": "none",
      "name": "live-analytics",
      "normalized_name": "live-analytics",
      "package_manager": "pnpm",
      "path": "components/live-analytics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4da6527d76a252f2e0a272e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MetricsOverview | imports:@/components/info-tooltip, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MetricsOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6bc548dd847e217",
      "framework": "next-react",
      "imports": "@/components/info-tooltip,@/components/ui/card,lucide-react",
      "lines": 94,
      "logic_relevance": "none",
      "name": "metrics-overview",
      "normalized_name": "metrics-overview",
      "package_manager": "pnpm",
      "path": "components/metrics-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "9fc99abbd8215ee72cad73b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiPlayground | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/tabs, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiPlayground",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac8be38cda82d1fe",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/components/ui/tooltip,lucide-react,react",
      "lines": 325,
      "logic_relevance": "none",
      "name": "api-playground",
      "normalized_name": "api-playground",
      "package_manager": "pnpm",
      "path": "components/api-playground.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,integration,security",
      "component_id": "330a6cf668eb4e73952058d5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@stripe/react-stripe-js,@stripe/stripe-js,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:StripeCheckout | imports:@/app/actions/stripe, @stripe/react-stripe-js, @stripe/stripe-js, react | frontend-score:115 | ui-score:70 | integration-score:55 | security-score:55 | uses-env",
      "exports": "StripeCheckout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bedd830750d830f",
      "framework": "next-react",
      "imports": "@/app/actions/stripe,@stripe/react-stripe-js,@stripe/stripe-js,react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "stripe-checkout",
      "normalized_name": "stripe-checkout",
      "package_manager": "pnpm",
      "path": "components/stripe-checkout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "639173fdb5967ae1f3cc8eec",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiKeyGenerator | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiKeyGenerator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1cc603a900dcc36",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/tooltip,lucide-react,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "api-key-generator",
      "normalized_name": "api-key-generator",
      "package_manager": "pnpm",
      "path": "components/api-key-generator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "faa1109da37f38ffee65a74c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,recharts",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:EquityDistribution | imports:@/components/ui/card, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "EquityDistribution",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd7422c1e32fe9a1",
      "framework": "next-react",
      "imports": "@/components/ui/card,recharts",
      "lines": 73,
      "logic_relevance": "none",
      "name": "equity-distribution",
      "normalized_name": "equity-distribution",
      "package_manager": "pnpm",
      "path": "components/equity-distribution.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3058cce5955b51495a24fb5a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DevSecOpsMetrics | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DevSecOpsMetrics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36b544270d53a09c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react",
      "lines": 199,
      "logic_relevance": "none",
      "name": "devsecops-metrics",
      "normalized_name": "devsecops-metrics",
      "package_manager": "pnpm",
      "path": "components/devsecops-metrics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "6c37053ebd49b84a762ac610",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RealTimeCollaboration | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RealTimeCollaboration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "317234a1a2ff712f",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 212,
      "logic_relevance": "none",
      "name": "real-time-collaboration",
      "normalized_name": "real-time-collaboration",
      "package_manager": "pnpm",
      "path": "components/real-time-collaboration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "46bb145e709ca81c4b255b1e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TechnologyShowcase | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TechnologyShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99b7a75a27aa3663",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "technology-showcase",
      "normalized_name": "technology-showcase",
      "package_manager": "pnpm",
      "path": "components/technology-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3958bc4e3eafb60bab67875a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsContent | imports:@/components/ai-confidence-indicator, @/components/automated-test-results, @/components/creator-transparency-overlay, @/components/d3-revenue-chart, @/components/device-analytics-chart, @/components/devsecops-metrics, @/components/export-menu, @/components/geographic-heatmap | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AnalyticsContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8e8d1909b8540ff",
      "framework": "next-react",
      "imports": "@/components/ai-confidence-indicator,@/components/automated-test-results,@/components/creator-transparency-overlay,@/components/d3-revenue-chart,@/components/device-analytics-chart,@/components/devsecops-metrics,@/components/export-menu,@/components/geographic-heatmap,@/components/keyboard-shortcuts,@/components/miracle-insights-panel,@/components/nested-play-detection,@/components/onboarding-tour,@/components/phantom-costs-tracker,@/components/platform-efficiency-score,@/components/platform-network-3d,@/components/revenue-opportunity-matrix,@/components/revenue-recovery-chart,@/components/smart-insights-panel,@/components/sunk-costs-visualization,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/components/ui/tooltip,@/components/violation-timeline,@/lib/mock-data,lucide-react,next/link,react,recharts",
      "lines": 684,
      "logic_relevance": "none",
      "name": "analytics-content",
      "normalized_name": "analytics-content",
      "package_manager": "pnpm",
      "path": "components/analytics-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f7f24baf8ea7165b2a1de42e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AutomatedTestResults | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/nested-play-data, date-fns, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AutomatedTestResults",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "868c7aefea3bfdac",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/nested-play-data,date-fns,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "automated-test-results",
      "normalized_name": "automated-test-results",
      "package_manager": "pnpm",
      "path": "components/automated-test-results.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "82e105e56c56e8fbab9d788f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProcessingProgress | imports:@/components/ui/card, @/components/ui/progress, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ProcessingProgress",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d30688a90f65f484",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/progress,lucide-react,react",
      "lines": 245,
      "logic_relevance": "none",
      "name": "processing-progress",
      "normalized_name": "processing-progress",
      "package_manager": "pnpm",
      "path": "components/processing-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b2bb9dba42540d8302c816dd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WelcomeExperience | imports:@/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WelcomeExperience",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e27d8ab49d95771",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 279,
      "logic_relevance": "none",
      "name": "welcome-experience",
      "normalized_name": "welcome-experience",
      "package_manager": "pnpm",
      "path": "components/welcome-experience.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e4addf58ad62fd999a45f66f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3028d6d07a71de2",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 38,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3cf5875c8fa1a84ec86eab88",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BigBangWinShowcase | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BigBangWinShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3406196ebc15e4e6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,recharts",
      "lines": 223,
      "logic_relevance": "none",
      "name": "big-bang-win-showcase",
      "normalized_name": "big-bang-win-showcase",
      "package_manager": "pnpm",
      "path": "components/big-bang-win-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2ca4bf48b24efefafe12a85b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValueUnlockTimeline | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ValueUnlockTimeline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1c352efb1ceb414",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "value-unlock-timeline",
      "normalized_name": "value-unlock-timeline",
      "package_manager": "pnpm",
      "path": "components/value-unlock-timeline.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "971bced71d6f88deac2f1ec4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataAccumulationTracker | imports:@/components/ui/card, @/components/ui/progress, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DataAccumulationTracker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a21b69080ee024b",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/progress,framer-motion,lucide-react,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "data-accumulation-tracker",
      "normalized_name": "data-accumulation-tracker",
      "package_manager": "pnpm",
      "path": "components/data-accumulation-tracker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "6a7e0339093d3f007f77ffe0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:InfoTooltip | imports:@/components/ui/enhanced-tooltip, @/lib/tooltip-content | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "InfoTooltip",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3544bb98244af282",
      "framework": "next-react",
      "imports": "@/components/ui/enhanced-tooltip,@/lib/tooltip-content",
      "lines": 29,
      "logic_relevance": "none",
      "name": "info-tooltip",
      "normalized_name": "info-tooltip",
      "package_manager": "pnpm",
      "path": "components/info-tooltip.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0e0f3fdb0409f652c8d08013",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdTimeline | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdTimeline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "899919a1df4521ae",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "ad-timeline",
      "normalized_name": "ad-timeline",
      "package_manager": "pnpm",
      "path": "components/ad-timeline.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5244800adce2f1c513f2ac38",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DetailedAnalytics | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DetailedAnalytics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4309e21d4e274c6f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/tooltip,lucide-react,react",
      "lines": 269,
      "logic_relevance": "none",
      "name": "detailed-analytics",
      "normalized_name": "detailed-analytics",
      "package_manager": "pnpm",
      "path": "components/detailed-analytics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "0237586b13799cdd481692d4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ListenerImpactTracker | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ListenerImpactTracker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cd7ec499770cb57",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "listener-impact-tracker",
      "normalized_name": "listener-impact-tracker",
      "package_manager": "pnpm",
      "path": "components/listener-impact-tracker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,automation,process,ui,observability,security",
      "component_id": "2c1b76afa75792aa5d126808",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowsContent | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/hooks/use-toast, lucide-react, next/link, react | frontend-score:115 | automation-score:95 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WorkflowsContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a367e72ed721592f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/hooks/use-toast,lucide-react,next/link,react",
      "lines": 426,
      "logic_relevance": "none",
      "name": "workflows-content",
      "normalized_name": "workflows-content",
      "package_manager": "pnpm",
      "path": "components/workflows-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "710e717c624547abb73a6de0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MiracleInsightsPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MiracleInsightsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10d9b76bdcd84014",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react,react",
      "lines": 443,
      "logic_relevance": "none",
      "name": "miracle-insights-panel",
      "normalized_name": "miracle-insights-panel",
      "package_manager": "pnpm",
      "path": "components/miracle-insights-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "88e58d58143664f945d387b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowsOverview | imports:@/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "WorkflowsOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa8e66524412c1a3",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "workflows-overview",
      "normalized_name": "workflows-overview",
      "package_manager": "pnpm",
      "path": "components/workflows-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "410127f88334f1d15b7abbae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserTypeSelection | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UserTypeSelection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72927bcf38c72826",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "user-type-selection",
      "normalized_name": "user-type-selection",
      "package_manager": "pnpm",
      "path": "components/user-type-selection.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "28633c1541d2c43296ad3670",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MoneyFlowTracker | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MoneyFlowTracker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24bd599ede0fbe61",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "money-flow-tracker",
      "normalized_name": "money-flow-tracker",
      "package_manager": "pnpm",
      "path": "components/money-flow-tracker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d23884b12d023335d75c3d0f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataTransparencyModal | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/dialog, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DataTransparencyModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a78d9d91f5ff3de",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/dialog,lucide-react",
      "lines": 177,
      "logic_relevance": "none",
      "name": "data-transparency-modal",
      "normalized_name": "data-transparency-modal",
      "package_manager": "pnpm",
      "path": "components/data-transparency-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "0b5446dcaa4729af33d98bb6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "d3,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:D3PlatformChart | imports:d3, react | frontend-score:115 | ui-score:70",
      "exports": "D3PlatformChart",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "86e0d383c5a8a010",
      "framework": "next-react",
      "imports": "d3,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "d3-platform-chart",
      "normalized_name": "d3-platform-chart",
      "package_manager": "pnpm",
      "path": "components/d3-platform-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c73afff29907f1eadae66cc7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnomalyDetection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AnomalyDetection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec57245fd4e34b3c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/tooltip,lucide-react,react",
      "lines": 268,
      "logic_relevance": "none",
      "name": "anomaly-detection",
      "normalized_name": "anomaly-detection",
      "package_manager": "pnpm",
      "path": "components/anomaly-detection.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "375851b2965e67331eeb344e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProgressiveUpdates | imports:@/components/pricing-modal, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProgressiveUpdates",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c87bab2e5fb39f77",
      "framework": "next-react",
      "imports": "@/components/pricing-modal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/navigation,react",
      "lines": 187,
      "logic_relevance": "none",
      "name": "progressive-updates",
      "normalized_name": "progressive-updates",
      "package_manager": "pnpm",
      "path": "components/progressive-updates.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "51a4f558d13069f38e08d90c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ViolationTimeline | imports:@/components/ui/badge, @/components/ui/card, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ViolationTimeline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b618a1bb399b36e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,react,recharts",
      "lines": 297,
      "logic_relevance": "none",
      "name": "violation-timeline",
      "normalized_name": "violation-timeline",
      "package_manager": "pnpm",
      "path": "components/violation-timeline.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "17d382481db0cd9adb632e47",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevenueRecoveryChart | imports:@/components/ui/card, @/components/ui/tooltip, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RevenueRecoveryChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1da0ec2f74711a3",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/tooltip,lucide-react,recharts",
      "lines": 130,
      "logic_relevance": "none",
      "name": "revenue-recovery-chart",
      "normalized_name": "revenue-recovery-chart",
      "package_manager": "pnpm",
      "path": "components/revenue-recovery-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a47fdfde6ed663338839e757",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevenueFlowSankey | imports:@/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RevenueFlowSankey",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bea034c4d5f1b539",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 279,
      "logic_relevance": "none",
      "name": "revenue-flow-sankey",
      "normalized_name": "revenue-flow-sankey",
      "package_manager": "pnpm",
      "path": "components/revenue-flow-sankey.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,logic,observability,security,automation,ai",
      "component_id": "7d0c2897d0246d7aceea8d6b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:MiracleInsightsEngine | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MiracleInsightsEngine",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6f3a9fb5d59d09f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 344,
      "logic_relevance": "secondary",
      "name": "miracle-insights-engine",
      "normalized_name": "miracle-insights-engine",
      "package_manager": "pnpm",
      "path": "components/miracle-insights-engine.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2c7cb8863e097dcedd36de50",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserMenu | imports:@/app/actions/auth, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/auth, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UserMenu",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d3d1a74f57ad8d8",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/auth,lucide-react,next/navigation,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "user-menu",
      "normalized_name": "user-menu",
      "package_manager": "pnpm",
      "path": "components/user-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8fd2c21943c9b043f9227e1c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevenueRecovery | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "RevenueRecovery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca6bc2e542f516af",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "revenue-recovery",
      "normalized_name": "revenue-recovery",
      "package_manager": "pnpm",
      "path": "components/revenue-recovery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "0501c7e49684ec83fdb70acb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnhancedOnboardingFlow | imports:./data-transparency-modal, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, framer-motion, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EnhancedOnboardingFlow",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b9dd70682295772",
      "framework": "next-react",
      "imports": "./data-transparency-modal,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,framer-motion,lucide-react,react",
      "lines": 362,
      "logic_relevance": "none",
      "name": "enhanced-onboarding-flow",
      "normalized_name": "enhanced-onboarding-flow",
      "package_manager": "pnpm",
      "path": "components/enhanced-onboarding-flow.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e82ca7450ecf9bc71471f9f3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NestedPlayDetection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/nested-play-data, date-fns, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NestedPlayDetection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a48f2f03b7db899f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/nested-play-data,date-fns,lucide-react,react",
      "lines": 266,
      "logic_relevance": "none",
      "name": "nested-play-detection",
      "normalized_name": "nested-play-detection",
      "package_manager": "pnpm",
      "path": "components/nested-play-detection.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ef4b3911cf448ecfb34941df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChannelInput | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ChannelInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb26d022c471e5ec",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react",
      "lines": 151,
      "logic_relevance": "none",
      "name": "channel-input",
      "normalized_name": "channel-input",
      "package_manager": "pnpm",
      "path": "components/channel-input.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fdcc33c1d410d3c6e04e52a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KeyboardShortcuts | imports:@/components/ui/badge, @/components/ui/dialog, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "KeyboardShortcuts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "875316268297ab45",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/dialog,lucide-react,next/navigation,react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "keyboard-shortcuts",
      "normalized_name": "keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "components/keyboard-shortcuts.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process,automation,ai",
      "component_id": "6ca8f91d2234797cb92cdf2e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,axios,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsContent | imports:./api-architecture-diagram, ./api-integration-guide, ./api-key-generator, ./api-playground, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "ApiDocsContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "558c0fa8f121a0cb",
      "framework": "next-react",
      "imports": "./api-architecture-diagram,./api-integration-guide,./api-key-generator,./api-playground,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,axios,lucide-react,next/link,react",
      "lines": 755,
      "logic_relevance": "none",
      "name": "api-docs-content",
      "normalized_name": "api-docs-content",
      "package_manager": "pnpm",
      "path": "components/api-docs-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f5906cec5e9f1c3622d9b2be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/auth-dialog, @/components/ui/badge, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5af36a50345573da",
      "framework": "next-react",
      "imports": "@/components/auth-dialog,@/components/ui/badge,@/components/ui/button,lucide-react,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "bbafe2f8a3b529f0f5f579c6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportMenu | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/hooks/use-toast, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ExportMenu",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "190d3a7c3187d72c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/hooks/use-toast,lucide-react,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "export-menu",
      "normalized_name": "export-menu",
      "package_manager": "pnpm",
      "path": "components/export-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "78720e5b28207eb99ecfe982",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorks | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HowItWorks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c9a78dfda81a59f4",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "how-it-works",
      "normalized_name": "how-it-works",
      "package_manager": "pnpm",
      "path": "components/how-it-works.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "af695d0a7bcfe8fbde765875",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtistDetailContent | imports:@/components/accountability-dashboard, @/components/ad-analysis, @/components/big-bang-win-showcase, @/components/creator-transparency-overlay, @/components/d3-revenue-chart, @/components/device-analytics-chart, @/components/export-menu, @/components/geographic-heatmap | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ArtistDetailContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d8e35e6f4c51736",
      "framework": "next-react",
      "imports": "@/components/accountability-dashboard,@/components/ad-analysis,@/components/big-bang-win-showcase,@/components/creator-transparency-overlay,@/components/d3-revenue-chart,@/components/device-analytics-chart,@/components/export-menu,@/components/geographic-heatmap,@/components/miracle-insights-engine,@/components/money-flow-tracker,@/components/opportunity-maximizer,@/components/pricing-modal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/ui/tooltip,lucide-react,next/link,react",
      "lines": 414,
      "logic_relevance": "none",
      "name": "artist-detail-content",
      "normalized_name": "artist-detail-content",
      "package_manager": "pnpm",
      "path": "components/artist-detail-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability",
      "component_id": "967869734f7c7b30b4805258",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingHero | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55",
      "exports": "OnboardingHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e469c32d77156433",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "onboarding-hero",
      "normalized_name": "onboarding-hero",
      "package_manager": "pnpm",
      "path": "components/onboarding-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3ab23d749a4d7bbd3097f270",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomeContent | imports:@/components/navigation, @/components/onboarding-orchestrator, @/components/session-recovery-overlay, @/components/signed-in-dashboard, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/welcome-experience | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomeContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5796a396acb0de5",
      "framework": "next-react",
      "imports": "@/components/navigation,@/components/onboarding-orchestrator,@/components/session-recovery-overlay,@/components/signed-in-dashboard,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/welcome-experience,@/lib/auth,@/lib/session-manager,@/lib/user-state-context,lucide-react,next/link,react",
      "lines": 300,
      "logic_relevance": "none",
      "name": "home-content",
      "normalized_name": "home-content",
      "package_manager": "pnpm",
      "path": "components/home-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "5c64aff0be5890397cefd7b8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingTour | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "OnboardingTour",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62b26fa7947b8521",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "onboarding-tour",
      "normalized_name": "onboarding-tour",
      "package_manager": "pnpm",
      "path": "components/onboarding-tour.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a129792376c95a4a96b378ed",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImmediateInsights | imports:@/components/ad-analysis, @/components/ad-timeline, @/components/anomaly-detection, @/components/email-capture, @/components/locked-feature-preview, @/components/pricing-modal, @/components/ui/button, @/components/ui/card | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ImmediateInsights",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69cd3509ec94e4f7",
      "framework": "next-react",
      "imports": "@/components/ad-analysis,@/components/ad-timeline,@/components/anomaly-detection,@/components/email-capture,@/components/locked-feature-preview,@/components/pricing-modal,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react,recharts",
      "lines": 434,
      "logic_relevance": "none",
      "name": "immediate-insights",
      "normalized_name": "immediate-insights",
      "package_manager": "pnpm",
      "path": "components/immediate-insights.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6860eb612d97a07de8a98494",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhantomCostsTracker | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PhantomCostsTracker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dccd1189ebd17f43",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 198,
      "logic_relevance": "none",
      "name": "phantom-costs-tracker",
      "normalized_name": "phantom-costs-tracker",
      "package_manager": "pnpm",
      "path": "components/phantom-costs-tracker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ac1c7d60e68aab0ae034c66d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthDialog | imports:@/app/actions/auth, @/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/tabs, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AuthDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b99ea8e8b32d235d",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/tabs,lucide-react,next/navigation,react",
      "lines": 158,
      "logic_relevance": "none",
      "name": "auth-dialog",
      "normalized_name": "auth-dialog",
      "package_manager": "pnpm",
      "path": "components/auth-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a3046cbfdbe543dc24147f7a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "d3,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:D3RevenueChart | imports:d3, react | frontend-score:115 | ui-score:70",
      "exports": "D3RevenueChart",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "83edf967f6ee8fc7",
      "framework": "next-react",
      "imports": "d3,react",
      "lines": 300,
      "logic_relevance": "none",
      "name": "d3-revenue-chart",
      "normalized_name": "d3-revenue-chart",
      "package_manager": "pnpm",
      "path": "components/d3-revenue-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ef40d289ce506b79d435daa5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GeographicHeatmap | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GeographicHeatmap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "216b2389742997a5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/tooltip,lucide-react,react",
      "lines": 585,
      "logic_relevance": "none",
      "name": "geographic-heatmap",
      "normalized_name": "geographic-heatmap",
      "package_manager": "pnpm",
      "path": "components/geographic-heatmap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e6d9b91e0a3c31d3b409395d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeviceAnalyticsChart | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DeviceAnalyticsChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1ec701943c77d58",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react,react,recharts",
      "lines": 727,
      "logic_relevance": "none",
      "name": "device-analytics-chart",
      "normalized_name": "device-analytics-chart",
      "package_manager": "pnpm",
      "path": "components/device-analytics-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "04c44714ecf1de3fde39dd89",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemoNavigation | imports:@/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "DemoNavigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7251e8896492f6b4",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 74,
      "logic_relevance": "none",
      "name": "demo-navigation",
      "normalized_name": "demo-navigation",
      "package_manager": "pnpm",
      "path": "components/demo-navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability",
      "component_id": "bf1f8bbc0738d9638bdb68b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveDemoBanner | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/demo-data-service, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "LiveDemoBanner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d76615cf28e3e20a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/demo-data-service,lucide-react,react",
      "lines": 123,
      "logic_relevance": "none",
      "name": "live-demo-banner",
      "normalized_name": "live-demo-banner",
      "package_manager": "pnpm",
      "path": "components/live-demo-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a746466e6a1e5e446684c84b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PolicyViolations | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PolicyViolations",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b623d16cc3505891",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "policy-violations",
      "normalized_name": "policy-violations",
      "package_manager": "pnpm",
      "path": "components/policy-violations.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "19f1dcef510d8cbd34c5b7c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArtistToolsContent | imports:@/components/accountability-dashboard, @/components/creator-transparency-overlay, @/components/device-analytics-chart, @/components/geographic-heatmap, @/components/money-flow-tracker, @/components/pricing-modal, @/components/ui/badge, @/components/ui/button | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ArtistToolsContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9df325c99656e826",
      "framework": "next-react",
      "imports": "@/components/accountability-dashboard,@/components/creator-transparency-overlay,@/components/device-analytics-chart,@/components/geographic-heatmap,@/components/money-flow-tracker,@/components/pricing-modal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/tooltip,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 1209,
      "logic_relevance": "none",
      "name": "artist-tools-content",
      "normalized_name": "artist-tools-content",
      "package_manager": "pnpm",
      "path": "components/artist-tools-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f354de3604060d08c791afab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvertiserAccountability | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdvertiserAccountability",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0f27ed19a92ae57",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 218,
      "logic_relevance": "none",
      "name": "advertiser-accountability",
      "normalized_name": "advertiser-accountability",
      "package_manager": "pnpm",
      "path": "components/advertiser-accountability.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "04412f2c0036590f4b90ded4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatformNetwork3D | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PlatformNetwork3D",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ffcb0b718feba294",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/tooltip,lucide-react,react",
      "lines": 739,
      "logic_relevance": "none",
      "name": "platform-network-3d",
      "normalized_name": "platform-network-3d",
      "package_manager": "pnpm",
      "path": "components/platform-network-3d.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "19ded0186bc0b6cbf21ae07d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingModal | imports:@/components/stripe-checkout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/lib/products, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PricingModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "436f07ed4b94d6d2",
      "framework": "next-react",
      "imports": "@/components/stripe-checkout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/lib/products,lucide-react,react",
      "lines": 411,
      "logic_relevance": "none",
      "name": "pricing-modal",
      "normalized_name": "pricing-modal",
      "package_manager": "pnpm",
      "path": "components/pricing-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0d1791808159f962add11b37",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserSettingsPanel | imports:@/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/select, @/components/ui/separator, @/components/ui/switch, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "UserSettingsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc96a397e05351ae",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,lucide-react,react",
      "lines": 272,
      "logic_relevance": "none",
      "name": "user-settings-panel",
      "normalized_name": "user-settings-panel",
      "package_manager": "pnpm",
      "path": "components/user-settings-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e1263540be2092facb016952",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatformInsights | imports:@/components/d3-platform-chart, @/components/device-analytics-chart, @/components/geographic-heatmap, @/components/radial-monitoring-chart, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/components/violation-timeline-chart | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PlatformInsights",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7127b98aa933b435",
      "framework": "next-react",
      "imports": "@/components/d3-platform-chart,@/components/device-analytics-chart,@/components/geographic-heatmap,@/components/radial-monitoring-chart,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/components/violation-timeline-chart,lucide-react",
      "lines": 152,
      "logic_relevance": "none",
      "name": "platform-insights",
      "normalized_name": "platform-insights",
      "package_manager": "pnpm",
      "path": "components/platform-insights.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "42e4c63f89653fceb8a4f826",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,date-fns,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationCenter | imports:@/components/ui/button, @/components/ui/card, @/components/ui/scroll-area, date-fns, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NotificationCenter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4be5e8bd2fbfc508",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/scroll-area,date-fns,framer-motion,lucide-react,react",
      "lines": 239,
      "logic_relevance": "none",
      "name": "notification-center",
      "normalized_name": "notification-center",
      "package_manager": "pnpm",
      "path": "components/notification-center.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "356c7fffc9e91b068d4ac471",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserTypeSelector | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UserTypeSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1846a43dfadfff94",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 106,
      "logic_relevance": "none",
      "name": "user-type-selector",
      "normalized_name": "user-type-selector",
      "package_manager": "pnpm",
      "path": "components/user-type-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "7ad4e2b04b5c2ca0b6e3e1ab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:LockedFeaturePreview | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "LockedFeaturePreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f36adac70040f31a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "locked-feature-preview",
      "normalized_name": "locked-feature-preview",
      "package_manager": "pnpm",
      "path": "components/locked-feature-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "a0495711b384c474a84fb372",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SeamlessOnboardingFlow | imports:./data-accumulation-tracker, ./data-transparency-modal, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SeamlessOnboardingFlow",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eafee0dd327ae79e",
      "framework": "next-react",
      "imports": "./data-accumulation-tracker,./data-transparency-modal,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,react",
      "lines": 403,
      "logic_relevance": "none",
      "name": "seamless-onboarding-flow",
      "normalized_name": "seamless-onboarding-flow",
      "package_manager": "pnpm",
      "path": "components/seamless-onboarding-flow.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3c6dc9869cc7a19f580d5591",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatformEfficiencyScore | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PlatformEfficiencyScore",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed6f0afcfcd0da08",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react",
      "lines": 195,
      "logic_relevance": "none",
      "name": "platform-efficiency-score",
      "normalized_name": "platform-efficiency-score",
      "package_manager": "pnpm",
      "path": "components/platform-efficiency-score.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7596f14ecdff62c4fddfa180",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeatureCountdownTimer | imports:@/components/ui/badge, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FeatureCountdownTimer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc634065366eed8c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 164,
      "logic_relevance": "none",
      "name": "feature-countdown-timer",
      "normalized_name": "feature-countdown-timer",
      "package_manager": "pnpm",
      "path": "components/feature-countdown-timer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c1b10b5ac6399ba53f0d2dfc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MysteriousTeaser | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MysteriousTeaser",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "edaa721b2d4269da",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 204,
      "logic_relevance": "none",
      "name": "mysterious-teaser",
      "normalized_name": "mysterious-teaser",
      "package_manager": "pnpm",
      "path": "components/mysterious-teaser.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "56357d1cdfa0cc350b314793",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardHeader | imports:@/components/auth-dialog, @/components/ui/button, @/lib/auth, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "620af79635e292cd",
      "framework": "next-react",
      "imports": "@/components/auth-dialog,@/components/ui/button,@/lib/auth,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "dashboard-header",
      "normalized_name": "dashboard-header",
      "package_manager": "pnpm",
      "path": "components/dashboard-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2508aab1a0a7526167a39ea1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navigation | imports:@/components/auth-dialog, @/components/ui/button, @/components/user-menu, @/lib/auth, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Navigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e78516831cd315d",
      "framework": "next-react",
      "imports": "@/components/auth-dialog,@/components/ui/button,@/components/user-menu,@/lib/auth,lucide-react,next/link,next/navigation,react",
      "lines": 165,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "components/navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "de3530fe3a889265799e20be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/auth-dialog, @/components/ui/button, @/components/ui/input, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "09c564e598e44291",
      "framework": "next-react",
      "imports": "@/components/auth-dialog,@/components/ui/button,@/components/ui/input,lucide-react,next/link,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "ff78c373361782d38ebe1459",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProcessSection | imports:@/components/ui/card | frontend-score:85 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ProcessSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f9f522c03364f21",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 57,
      "logic_relevance": "none",
      "name": "process-section",
      "normalized_name": "process-section",
      "package_manager": "pnpm",
      "path": "components/process-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,automation",
      "component_id": "5a04cc9774c9f1d034c080aa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ForensicAnalysisEngine | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ForensicAnalysisEngine",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cb60c3c19cadbef",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react,react",
      "lines": 362,
      "logic_relevance": "secondary",
      "name": "forensic-analysis-engine",
      "normalized_name": "forensic-analysis-engine",
      "package_manager": "pnpm",
      "path": "components/forensic-analysis-engine.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "65f214a10bb9f5e14da7564a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ViolationTimelineChart | imports:@/components/ui/card, @/components/ui/tooltip, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ViolationTimelineChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d0eeafbf85318229",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/tooltip,lucide-react,recharts",
      "lines": 127,
      "logic_relevance": "none",
      "name": "violation-timeline-chart",
      "normalized_name": "violation-timeline-chart",
      "package_manager": "pnpm",
      "path": "components/violation-timeline-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a29fc20cacb5711234491788",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatformTargets | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PlatformTargets",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3488a007b0dd4281",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "platform-targets",
      "normalized_name": "platform-targets",
      "package_manager": "pnpm",
      "path": "components/platform-targets.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "64a617df3ddc6f69ca57c01e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,date-fns,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiKeyManager | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, date-fns, lucide-react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiKeyManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83a1fde2684fd49f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,date-fns,lucide-react,react",
      "lines": 232,
      "logic_relevance": "none",
      "name": "api-key-manager",
      "normalized_name": "api-key-manager",
      "package_manager": "pnpm",
      "path": "components/api-key-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0e9d958a1c4a7c493b8534a6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RevenueOpportunityMatrix | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RevenueOpportunityMatrix",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89d4c83254f427a7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "revenue-opportunity-matrix",
      "normalized_name": "revenue-opportunity-matrix",
      "package_manager": "pnpm",
      "path": "components/revenue-opportunity-matrix.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "16c310e00418500027884efd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportReportingSystem | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/popover, @/components/ui/switch, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ExportReportingSystem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54347509c2bff659",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/popover,@/components/ui/switch,@/hooks/use-toast,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "export-reporting-system",
      "normalized_name": "export-reporting-system",
      "package_manager": "pnpm",
      "path": "components/export-reporting-system.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cd1c704ac301a904605febac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignedInDashboard | imports:./feature-countdown-timer, ./feature-toggle, ./onboarding-tour, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/user-state-context, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignedInDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9205743c574f69cc",
      "framework": "next-react",
      "imports": "./feature-countdown-timer,./feature-toggle,./onboarding-tour,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/user-state-context,lucide-react,react",
      "lines": 331,
      "logic_relevance": "none",
      "name": "signed-in-dashboard",
      "normalized_name": "signed-in-dashboard",
      "package_manager": "pnpm",
      "path": "components/signed-in-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "04cfd60c3d7cc3a524c13661",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiArchitectureDiagram | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiArchitectureDiagram",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7b9ab990338eabe",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 162,
      "logic_relevance": "none",
      "name": "api-architecture-diagram",
      "normalized_name": "api-architecture-diagram",
      "package_manager": "pnpm",
      "path": "components/api-architecture-diagram.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "6286ba2b89e1eea32607f2c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIConfidenceIndicator | imports:@/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react | ai-score:120 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AIConfidenceIndicator",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d065482da6186cde",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "ai-confidence-indicator",
      "normalized_name": "ai-confidence-indicator",
      "package_manager": "pnpm",
      "path": "components/ai-confidence-indicator.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d11d8b673335f2a4c0e68c29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "00502af2758c3a50f29c4742",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "bc9926988cae05bf9adbfeb9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ace2743a3583940e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a813c3e9f88f9f1c12cda5f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e18290e242ba6c294aea8701",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,react,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, react, sonner | ui-score:140 | frontend-score:115",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e78b9b20bfe8d1b4",
      "framework": "next-react",
      "imports": "next-themes,react,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "19bed5ed2340cf93abdc1714",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7cb239c1f74dd3fbb15ad6bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1165aec2c558ca7314669e2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4fad9a9d9994f1f49e8d66a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fbdbf57167d82f5cf483ec37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "02f509d185d392bd83ab95a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bb3c5af7204c1428e9312f1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8b0f8dcd5dd24cb3fc566a6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "18336a9b467d53d277e1e2bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "3b1d4d58e9647a16c680639a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7ffb98837bcb03b2",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d7a891a2cb63d03066e72629",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aad1b9e55e676e09",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "66101ec02f8b0a943d291c2a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dadba2ffea4b9b8a",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "5688b953512a4c2b9d1db6ad",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8a532d5542b2e021",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "ef6647263e0cba373d5872de",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f5c79e00634ed6a",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "fb954aa7b4b1d075b2cf5db3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cf828d62a3cf7b49",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "c3f639d8a6157c7c96e31f9f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "266aa55b84d55807",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "d39f8221230de4b8a39e4ef7",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "21f7877d0961e150",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "131105041f359c57a90f134d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/error-tracker, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6a7c8034ed59493",
      "framework": "next-react",
      "imports": "@/lib/error-tracker,vitest",
      "lines": 173,
      "logic_relevance": "none",
      "name": "error-tracker.test",
      "normalized_name": "error-tracker",
      "package_manager": "pnpm",
      "path": "__tests__/error-tracker.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,ai",
      "component_id": "178277dffdcf50120eff1728",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "fs,path,vitest",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:fs, path, vitest | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b7199d5b8aa3edc8",
      "framework": "next-react",
      "imports": "fs,path,vitest",
      "lines": 33,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "__tests__/well-known.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "99edd427ebda29a6cef765cc",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/mock-data, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c63a6c2697092d7",
      "framework": "next-react",
      "imports": "@/lib/mock-data,vitest",
      "lines": 125,
      "logic_relevance": "none",
      "name": "mock-data.test",
      "normalized_name": "mock-data",
      "package_manager": "pnpm",
      "path": "__tests__/mock-data.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "2429109df127806cf07b27dd",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3ac934f7b69f326f",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,observability,ai",
      "component_id": "e074d0eecbef13b1df4d61ca",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@neondatabase/serverless,next,vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../app/api/mcp/route, @neondatabase/serverless, next/server, vitest | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "028559ff47be061d",
      "framework": "next-react",
      "imports": "../app/api/mcp/route,@neondatabase/serverless,next/server,vitest",
      "lines": 291,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/mcp.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a92f7499dea2b0fee8b04a01",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/session-manager, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc836fbfa552c6ff",
      "framework": "next-react",
      "imports": "@/lib/session-manager,vitest",
      "lines": 179,
      "logic_relevance": "none",
      "name": "session-manager.test",
      "normalized_name": "session-manager",
      "package_manager": "pnpm",
      "path": "__tests__/session-manager.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "54077d6717d0d1a03ab5bd1b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/notifications/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9867f1ffff48565",
      "framework": "next-react",
      "imports": "@/app/api/notifications/route,next/server,vitest",
      "lines": 164,
      "logic_relevance": "none",
      "name": "api-notifications.test",
      "normalized_name": "api-notifications",
      "package_manager": "pnpm",
      "path": "__tests__/api-notifications.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "7e8400e6259f95d16f50f235",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/performance-monitor, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "140de30e8fbea96e",
      "framework": "next-react",
      "imports": "@/lib/performance-monitor,vitest",
      "lines": 163,
      "logic_relevance": "none",
      "name": "performance-monitor.test",
      "normalized_name": "performance-monitor",
      "package_manager": "pnpm",
      "path": "__tests__/performance-monitor.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d76495b6251b80ac13b86066",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../middleware, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bdb738e239f745d9",
      "framework": "next-react",
      "imports": "../middleware,next/server,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "8d57febbe0ce531165ed6b73",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/notification-service, vitest | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9ea5fdd2b141090",
      "framework": "next-react",
      "imports": "@/lib/notification-service,vitest",
      "lines": 218,
      "logic_relevance": "none",
      "name": "notification-service.test",
      "normalized_name": "notification-service",
      "package_manager": "pnpm",
      "path": "__tests__/notification-service.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "bf151403f80c5b003f2a9e83",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/artist/[artistId]/route, @/app/api/v1/content/analyze/route, @/app/api/v1/revenue/summary/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d12918aca728b596",
      "framework": "next-react",
      "imports": "@/app/api/v1/artist/[artistId]/route,@/app/api/v1/content/analyze/route,@/app/api/v1/revenue/summary/route,next/server,vitest",
      "lines": 228,
      "logic_relevance": "none",
      "name": "api-v1.test",
      "normalized_name": "api-v1",
      "package_manager": "pnpm",
      "path": "__tests__/api-v1.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "a5ad2e31cfb1825b482c3571",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/signup/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "890260403b765e6a",
      "framework": "next-react",
      "imports": "@/app/api/signup/route,next/server,vitest",
      "lines": 99,
      "logic_relevance": "none",
      "name": "api-signup.test",
      "normalized_name": "api-signup",
      "package_manager": "pnpm",
      "path": "__tests__/api-signup.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,integration,observability,discovery,process,automation",
      "component_id": "463d8383c108b2e85509c3ed",
      "component_kind": "api-docs",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e8a3cea9b5a94806",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 49,
      "logic_relevance": "none",
      "name": "api-docs.test",
      "normalized_name": "api-docs",
      "package_manager": "pnpm",
      "path": "__tests__/api-docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability",
      "component_id": "a294dc1181433ff39033ee29",
      "component_kind": "mcp-server",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/register-mcp/route, vitest | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f1fd2c1bfdbdb968",
      "framework": "next-react",
      "imports": "@/app/api/register-mcp/route,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "api-register-mcp.test",
      "normalized_name": "api-register-mcp",
      "package_manager": "pnpm",
      "path": "__tests__/api-register-mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability",
      "component_id": "cdb29eeeafffd0db36db43c6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/session/migrate/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ad423e03f5ff603",
      "framework": "next-react",
      "imports": "@/app/api/session/migrate/route,next/server,vitest",
      "lines": 156,
      "logic_relevance": "none",
      "name": "api-session-migrate.test",
      "normalized_name": "api-session-migrate",
      "package_manager": "pnpm",
      "path": "__tests__/api-session-migrate.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "6e1679662b17738f02fb44ba",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/user/api-keys/route, @/app/api/user/monitored-urls/route, @/app/api/user/profile/route, @/app/api/user/settings/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e84478db727ac27c",
      "framework": "next-react",
      "imports": "@/app/api/user/api-keys/route,@/app/api/user/monitored-urls/route,@/app/api/user/profile/route,@/app/api/user/settings/route,next/server,vitest",
      "lines": 460,
      "logic_relevance": "none",
      "name": "api-user.test",
      "normalized_name": "api-user",
      "package_manager": "pnpm",
      "path": "__tests__/api-user.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d264f7353221043a379cb0d9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/errors/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58cd121a7e80ba30",
      "framework": "next-react",
      "imports": "@/app/api/errors/route,next/server,vitest",
      "lines": 89,
      "logic_relevance": "none",
      "name": "api-errors.test",
      "normalized_name": "api-errors",
      "package_manager": "pnpm",
      "path": "__tests__/api-errors.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability",
      "component_id": "d7f864d23d8d88a34f6e657e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/track-event/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25172345818c9f54",
      "framework": "next-react",
      "imports": "@/app/api/track-event/route,next/server,vitest",
      "lines": 88,
      "logic_relevance": "none",
      "name": "api-track-event.test",
      "normalized_name": "api-track-event",
      "package_manager": "pnpm",
      "path": "__tests__/api-track-event.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "19993280ee79145a70708fd4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/waitlist/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "625bf427ff6becfe",
      "framework": "next-react",
      "imports": "@/app/api/waitlist/route,next/server,vitest",
      "lines": 96,
      "logic_relevance": "none",
      "name": "api-waitlist.test",
      "normalized_name": "api-waitlist",
      "package_manager": "pnpm",
      "path": "__tests__/api-waitlist.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability",
      "component_id": "fb4f42aa30405e5d3265320e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/session/data/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83d3c75a6128565e",
      "framework": "next-react",
      "imports": "@/app/api/session/data/route,next/server,vitest",
      "lines": 99,
      "logic_relevance": "none",
      "name": "api-session.test",
      "normalized_name": "api-session",
      "package_manager": "pnpm",
      "path": "__tests__/api-session.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability",
      "component_id": "0cc930bf672e807f0af7738e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/url/process/route, @/app/api/url/status/[processingId]/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74443f009f079c5d",
      "framework": "next-react",
      "imports": "@/app/api/url/process/route,@/app/api/url/status/[processingId]/route,next/server,vitest",
      "lines": 152,
      "logic_relevance": "none",
      "name": "api-url.test",
      "normalized_name": "api-url",
      "package_manager": "pnpm",
      "path": "__tests__/api-url.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,automation",
      "component_id": "31f2d8eb5da1ba872f0cf2c8",
      "component_kind": "webhook-handler",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/webhooks/subscribe/route, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7aecd245b0116fdc",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/subscribe/route,next/server,vitest",
      "lines": 110,
      "logic_relevance": "none",
      "name": "api-webhooks.test",
      "normalized_name": "api-webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/api-webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "73fa9b44963ec48d9941d1d3",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/faq/page, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f81c735995f840d6",
      "framework": "next-react",
      "imports": "@/app/faq/page,@testing-library/react,vitest",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/faq/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8efb5e2533f2895bcf60a82a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48e38a68648ce156",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 11,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "c90ba9a15091bd4bbc484ce0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5301ffdb0ca8be9c",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "998d59f7f12291f0e88d6f1e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c377288a3c9f0b11",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "68abe0d6eaf22c890b0e8056",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless,fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, fs, path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8adc2bc1fb6c1037",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,fs,path",
      "lines": 113,
      "logic_relevance": "none",
      "name": "seed_data",
      "normalized_name": "seed-data",
      "package_manager": "pnpm",
      "path": "scripts/seed_data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,backend,observability,automation",
      "component_id": "068d222cf577d96aadfc6438",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MonitoringJob, MonitoringUpdate, monitoringService | imports:./analytics-tracker | logic-score:85 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "MonitoringJob,MonitoringUpdate,monitoringService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f76ee10f58b7cee1",
      "framework": "next-react",
      "imports": "./analytics-tracker",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "monitoring-service",
      "normalized_name": "monitoring-service",
      "package_manager": "pnpm",
      "path": "lib/monitoring-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "40b7bd012f235f45f062c517",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./auth, next/headers | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "60147bb49c575667",
      "framework": "next-react",
      "imports": "./auth,next/headers",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "get-user",
      "normalized_name": "get-user",
      "package_manager": "pnpm",
      "path": "lib/get-user.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability",
      "component_id": "4c4617b9e5cad916b522c7a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserStateProvider, useUserState | imports:./session-manager, react | frontend-score:90 | ui-score:70 | logic-score:70 | observability-score:55",
      "exports": "UserStateProvider,useUserState",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d244df84d453e812",
      "framework": "next-react",
      "imports": "./session-manager,react",
      "lines": 125,
      "logic_relevance": "secondary",
      "name": "user-state-context",
      "normalized_name": "user-state-context",
      "package_manager": "pnpm",
      "path": "lib/user-state-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "96b4cbe77375f9f3a98c9534",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DemoDataService, generateTimeSeriesData, useDemoData | imports:react | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DemoDataService,generateTimeSeriesData,useDemoData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "01ca65e83cfbae77",
      "framework": "next-react",
      "imports": "react",
      "lines": 215,
      "logic_relevance": "primary",
      "name": "demo-data-service",
      "normalized_name": "demo-data-service",
      "package_manager": "pnpm",
      "path": "lib/demo-data-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,logic",
      "component_id": "ab3abefae3061d06cf36f2f3",
      "component_kind": "integration-module",
      "confidence": 95,
      "dependency_roots": "stripe",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:stripe | imports:stripe | integration-score:55 | security-score:55 | logic-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "acb58336b47a900b",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "a8f0d57b78f5f822be80f4d1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ce48f98b820f321e",
      "framework": "next-react",
      "imports": "",
      "lines": 202,
      "logic_relevance": "secondary",
      "name": "api-data",
      "normalized_name": "api-data",
      "package_manager": "pnpm",
      "path": "lib/api-data.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "a1bfc26db74f58013c32ac5f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NestedPlay, PlaylistHierarchy, automatedTestResults, dataSourceMap, nestedPlays, playlistHierarchies | logic-score:70 | observability-score:55",
      "exports": "NestedPlay,PlaylistHierarchy,automatedTestResults,dataSourceMap,nestedPlays,playlistHierarchies",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1f203f1f6499367b",
      "framework": "next-react",
      "imports": "",
      "lines": 239,
      "logic_relevance": "primary",
      "name": "nested-play-data",
      "normalized_name": "nested-play-data",
      "package_manager": "pnpm",
      "path": "lib/nested-play-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "31d382aa29640e88d3d78911",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "cf440b9f7da357e766c927f3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SessionData, SessionManager, setupNavigationGuard | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SessionData,SessionManager,setupNavigationGuard",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d7aca64d2025224c",
      "framework": "next-react",
      "imports": "",
      "lines": 160,
      "logic_relevance": "primary",
      "name": "session-manager",
      "normalized_name": "session-manager",
      "package_manager": "pnpm",
      "path": "lib/session-manager.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,observability",
      "component_id": "a26d6477f6ab38634067264a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PRODUCTS, Product | logic-score:70 | observability-score:55",
      "exports": "PRODUCTS,Product",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4ac84ea6660a9c96",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "dd7c13224c38e91597923da8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:analyticsTracker, trackEvent | imports:@vercel/analytics | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "analyticsTracker,trackEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b7a823303e5aadcb",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "analytics-tracker",
      "normalized_name": "analytics-tracker",
      "package_manager": "pnpm",
      "path": "lib/analytics-tracker.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "47cc810887eb93dad49073c1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ErrorLog, errorTracker | imports:./analytics-tracker | logic-score:85 | observability-score:55 | uses-env",
      "exports": "ErrorLog,errorTracker",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e102520e5e89b5b5",
      "framework": "next-react",
      "imports": "./analytics-tracker",
      "lines": 159,
      "logic_relevance": "primary",
      "name": "error-tracker",
      "normalized_name": "error-tracker",
      "package_manager": "pnpm",
      "path": "lib/error-tracker.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "9cb567e4703f0dd55db5240d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "web-vitals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:measureSync, performanceMonitor, recordMetric | imports:web-vitals | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "measureSync,performanceMonitor,recordMetric",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ac0e45e92d860b17",
      "framework": "next-react",
      "imports": "web-vitals",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "performance-monitor",
      "normalized_name": "performance-monitor",
      "package_manager": "pnpm",
      "path": "lib/performance-monitor.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,backend",
      "component_id": "e9d49ffc377fa99f3e496b12",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "sonner",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Notification, notificationService | imports:sonner | logic-score:85 | backend-score:55",
      "exports": "Notification,notificationService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a19f53d5ea26e89c",
      "framework": "next-react",
      "imports": "sonner",
      "lines": 175,
      "logic_relevance": "primary",
      "name": "notification-service",
      "normalized_name": "notification-service",
      "package_manager": "pnpm",
      "path": "lib/notification-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "65c17eccfc3f86915ab0a026",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TooltipContent, TooltipKey, getTooltipContent, tooltipContent | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "TooltipContent,TooltipKey,getTooltipContent,tooltipContent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "14828b8dd518f3c4",
      "framework": "next-react",
      "imports": "",
      "lines": 410,
      "logic_relevance": "primary",
      "name": "tooltip-content",
      "normalized_name": "tooltip-content",
      "package_manager": "pnpm",
      "path": "lib/tooltip-content.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "4b5f4406e13ed6df1b3b668e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DeviceData, GeographicData, PlatformData, RevenueDataPoint, ViolationData, contentTypeData, deviceAnalyticsData, geographicRevenueData | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DeviceData,GeographicData,PlatformData,RevenueDataPoint,ViolationData,contentTypeData,deviceAnalyticsData,geographicRevenueData,hourlyActivityData,platformPerformanceData,recentViolations,revenueTimeSeriesData,weeklyTrendsData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba4dd419a840b9d1",
      "framework": "next-react",
      "imports": "",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "enhanced-mock-data",
      "normalized_name": "enhanced-mock-data",
      "package_manager": "pnpm",
      "path": "lib/enhanced-mock-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,logic,ai",
      "component_id": "4b7eb6c1c50b42ad8f94e3ec",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ArtistSlug, allArtists, artists | observability-score:55 | security-score:55 | logic-score:45 | ai-score:45",
      "exports": "ArtistSlug,allArtists,artists",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5675a90e242fc847",
      "framework": "next-react",
      "imports": "",
      "lines": 850,
      "logic_relevance": "secondary",
      "name": "mock-data",
      "normalized_name": "mock-data",
      "package_manager": "pnpm",
      "path": "lib/mock-data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "a83396572aa0860b915face5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:User | imports:next/headers | logic-score:85 | security-score:55 | uses-env",
      "exports": "User",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "63f39bfa83f38069",
      "framework": "next-react",
      "imports": "next/headers",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-content-showback-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "82906c9192a18493a3765492",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bdf1ab6ed81efb42",
      "framework": "next-react",
      "imports": "",
      "lines": 7477,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "e6fc9421d2be2a7c79090d17",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d787901fd1661611",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "aba25e0e4800a8bfdb24fb1f",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9b07db003a100724b48f368d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "948a74bf02a8fedf46f50737",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "71b8b34ddb9a9e3a",
      "framework": "next-react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "034b1d18302a513a13ea52cd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0caa1bb49f9f4460",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "201ed76cc22398f46c3ea0aa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3eff1ee718aff530eac3e25b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "cypress",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:cypress | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6313d69a3bc2288b",
      "framework": "next-react",
      "imports": "cypress",
      "lines": 37,
      "logic_relevance": "none",
      "name": "cypress.config",
      "normalized_name": "cypress-config",
      "package_manager": "pnpm",
      "path": "cypress.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d4a16e59ad920a2d9df8955c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9d63ed4c40f4a861",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "e2e",
      "normalized_name": "e2e",
      "package_manager": "pnpm",
      "path": "cypress/support/e2e.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "9a5345affd5a8978c312e5a4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6e4f6e4e23a0760",
      "framework": "next-react",
      "imports": "",
      "lines": 429,
      "logic_relevance": "none",
      "name": "cinematic-slideshow.cy",
      "normalized_name": "cinematic-slideshow",
      "package_manager": "pnpm",
      "path": "cypress/e2e/cinematic-slideshow.cy.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "e21789ad2df9deaff4dc8033",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "18d095186a1839c4",
      "framework": "next-react",
      "imports": "next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f4f3a2b2c234b02db9316d7c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/custom-cursor, @/components/seo/json-ld, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f756d4cbf6d7f0e9",
      "framework": "next-react",
      "imports": "@/components/custom-cursor,@/components/seo/json-ld,next,next/font/google",
      "lines": 163,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a9c425cda359de86cfeb7bf8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/cinematic-scroll, @/components/page-loader | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca13229a4691af95",
      "framework": "next-react",
      "imports": "@/components/cinematic-scroll,@/components/page-loader",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "109346e628a4157bb6ac1c66",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1aeaab73dc1c6e0c",
      "framework": "next-react",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "aef342abf6a6dbbd4f0383ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, SITE_NAME, SITE_URL | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,SITE_NAME,SITE_URL",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "df0eba32fd6b81ef",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "964877a81022eaccef09cf82",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, SITE_NAME, SITE_URL | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,SITE_NAME,SITE_URL",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "431c459773114b2c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "0d4a0a87a170dcbcee9256fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5800f0705360485d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e283452e717f7a6d3a188dfa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "538b4e917d813ccf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "5cb7d4ae69eeba37dd96a3aa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ae28c65c982f554a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6f35e1a8cb366c1b3f78acdd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollProgress | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ScrollProgress",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b0273532013f5d7b",
      "framework": "next-react",
      "imports": "react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "scroll-progress",
      "normalized_name": "scroll-progress",
      "package_manager": "pnpm",
      "path": "app/cinematic-scroll-v2/scroll-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "707a921275e0e2b42ec6c961",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicScrollDemo | imports:./scroll-progress, @/components/cinematic-scroll/announcement-section, @/components/cinematic-scroll/hero-section, @/components/cinematic-scroll/masked-text-section, @/components/cinematic-scroll/narrative-section, @/components/ui/button | frontend-score:85 | ui-score:55",
      "exports": "CinematicScrollDemo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4581e489a71d79e6",
      "framework": "next-react",
      "imports": "./scroll-progress,@/components/cinematic-scroll/announcement-section,@/components/cinematic-scroll/hero-section,@/components/cinematic-scroll/masked-text-section,@/components/cinematic-scroll/narrative-section,@/components/ui/button",
      "lines": 117,
      "logic_relevance": "none",
      "name": "cinematic-scroll-demo",
      "normalized_name": "cinematic-scroll-demo",
      "package_manager": "pnpm",
      "path": "app/cinematic-scroll-v2/cinematic-scroll-demo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "5bbbd6ec9ad1e7e7acf38097",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicScrollV2Page, metadata | imports:./cinematic-scroll-demo, next | frontend-score:115 | ui-score:55",
      "exports": "CinematicScrollV2Page,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6e6535adfbb3bbf8",
      "framework": "next-react",
      "imports": "./cinematic-scroll-demo,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/cinematic-scroll-v2/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ddf629ac4c1ea62804c50f65",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e69e5de39d97c163",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "024893e51894989d95efaaa4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b459a49cbd224f1c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1b18ee7c0963ee42622ea29e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, NETWORK_GRAPH_URL, POST, SITE_URL | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,NETWORK_GRAPH_URL,POST,SITE_URL",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ed1043446e61309c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 114,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "a4e62568ba79db9e82e2153b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MCP_VERSION, POST, SERVICE | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,MCP_VERSION,POST,SERVICE",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d096fce6965faef1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 121,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "8964e68654db2321c09cc769",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, SITE_URL | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET,SITE_URL",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4c182673e44a1470",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 177,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "a44c244f9249f5101c33528e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/config,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/config/slides.config, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e9f3004f6efa9e8f",
      "framework": "next-react",
      "imports": "@/config/slides.config,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/slides/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,security",
      "component_id": "498b0944669cb673e7fc4dd1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, INDEXNOW_KEY, POST, SITE_URL | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,INDEXNOW_KEY,POST,SITE_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "126f5cb0b2ab60f8",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/indexnow/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security",
      "component_id": "b845a32f8b31525d7290dddc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | automation-score:95 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a4b15242ac202b37",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 232,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "569e74e6b6fab102ac3c4379",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EasingName, SectionType, accessibilityConfig, announcementPreset, characterRevealPreset, easings, getEasingCss, getResponsiveAdjustments | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EasingName,SectionType,accessibilityConfig,announcementPreset,characterRevealPreset,easings,getEasingCss,getResponsiveAdjustments,globalAnimationSettings,heroPreset,inputConfig,interpolate,maskedTextPreset,narrativeTextPreset,performanceConfig,progressIndicatorConfig,responsiveAdjustments,scrollSectionConfig,sectionPresets,shouldReduceMotion",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3011e3dc1781daf8",
      "framework": "next-react",
      "imports": "",
      "lines": 646,
      "logic_relevance": "none",
      "name": "animations.config",
      "normalized_name": "animations-config",
      "package_manager": "pnpm",
      "path": "config/animations.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7c263cb4c52b756ca2e137ef",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AnimationOverrides, CTAConfig, LayoutConfig, MediaConfig, SlideConfig, SlideType, StyleOverrides, getDescriptionLines | imports:./animations.config | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AnimationOverrides,CTAConfig,LayoutConfig,MediaConfig,SlideConfig,SlideType,StyleOverrides,getDescriptionLines,getSlideAtProgress,getSlideById,getSlideIndex,getSlideScrollHeight,getSlidesByType,getTotalScrollHeight,isStaggeredDescription,slidesConfig,totalSlides",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "64019bcb0b306c72",
      "framework": "next-react",
      "imports": "./animations.config",
      "lines": 484,
      "logic_relevance": "none",
      "name": "slides.config",
      "normalized_name": "slides-config",
      "package_manager": "pnpm",
      "path": "config/slides.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,logic,security",
      "component_id": "6a0e74b6c1a7f446d234d3d7",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "zod",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AnimationPhase, EasingPreset, GlobalSettings, LayoutConfig, MediaConfig, SectionAnimation, SlideConfig, SlideshowConfig | imports:zod | backend-score:90 | logic-score:85 | security-score:55",
      "exports": "AnimationPhase,EasingPreset,GlobalSettings,LayoutConfig,MediaConfig,SectionAnimation,SlideConfig,SlideshowConfig,TextStyleConfig,defaultAnimations,easingPresets,getEasingArray,mergeWithDefaults,slideshowConfigSchema,validateSlide,validateSlideshowConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4682546b2f749561",
      "framework": "next-react",
      "imports": "zod",
      "lines": 449,
      "logic_relevance": "secondary",
      "name": "slideshow.schema",
      "normalized_name": "slideshow-schema",
      "package_manager": "pnpm",
      "path": "config/slideshow.schema.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "df6901d8f3fa359428d201be",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ThemeConfig, themeConfig | observability-score:55",
      "exports": "ThemeConfig,themeConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8f2000e2347502fd",
      "framework": "next-react",
      "imports": "",
      "lines": 158,
      "logic_relevance": "none",
      "name": "theme.config",
      "normalized_name": "theme-config",
      "package_manager": "pnpm",
      "path": "config/theme.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,security,automation",
      "component_id": "905726218e68e76ad7917409",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:animationConfig, easingPresets | process-score:145 | security-score:55 | automation-score:45",
      "exports": "animationConfig,easingPresets",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "525daed68ceae5b6",
      "framework": "next-react",
      "imports": "",
      "lines": 813,
      "logic_relevance": "none",
      "name": "CINEMATIC_SCROLL_ENHANCEMENT_PLAN",
      "normalized_name": "cinematic-scroll-enhancement-plan",
      "package_manager": "pnpm",
      "path": "docs/CINEMATIC_SCROLL_ENHANCEMENT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a919711a1c9504831ab16170",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6675b6cb3789b2b37d3b7665",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "578d09ec332383076c7cefad",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicScroll | imports:./navigation, @/config/slides.config, @/config/theme.config, framer-motion, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CinematicScroll",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6de4ec702b0f763c",
      "framework": "next-react",
      "imports": "./navigation,@/config/slides.config,@/config/theme.config,framer-motion,next/image,react",
      "lines": 364,
      "logic_relevance": "none",
      "name": "cinematic-scroll",
      "normalized_name": "cinematic-scroll",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "10217c898670bc9c29bd9b3b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PageLoader | imports:@/config/theme.config, framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PageLoader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1365084eeee4ca92",
      "framework": "next-react",
      "imports": "@/config/theme.config,framer-motion,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "page-loader",
      "normalized_name": "page-loader",
      "package_manager": "pnpm",
      "path": "components/page-loader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "ee26a75154f7ba21f3f023cd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomCursor | imports:framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "CustomCursor",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "230e1086dece35e0",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "custom-cursor",
      "normalized_name": "custom-cursor",
      "package_manager": "pnpm",
      "path": "components/custom-cursor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "76077fb3ca72eaf6fa40796d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,framer-motion,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navigation | imports:@/config/slides.config, @/config/theme.config, framer-motion, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Navigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1203384fd238a108",
      "framework": "next-react",
      "imports": "@/config/slides.config,@/config/theme.config,framer-motion,next/link,react",
      "lines": 324,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "components/navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "c64b8150e74ab906c31c70e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "305dd43a5095dbbcb0bc6baa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "78697d6fab99303442040c33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "854050906ff71721479951b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a9c1e556dd58e5e666667e27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "167ee5b82633abb290a82991",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db528782c0d4405a2cad0d47",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "61cd0cad5a45d049946a7935",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e4700f479b6c5a17f3bdf50a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3412dc37c61f9268256eafd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "1e29618cf0415170a54c4a1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "6bd7f272293b4a3f664e9328",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fac249d73fa71dc07007a121",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0f44bc478d81bf1568d64531",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5a12b4e52b402c385d7f0fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a695f5a06b768d336cfdde02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e63ae816231bd8419ec23240",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b05529bbae3469a848b88fbb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3b368235e6a38263ee9ba461",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1e0eea66d8e1831099122c7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a87f352803878db2ec3bbf8b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d51b52e0c08fb34781b8b0ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4a1879413cde149223560704",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7e9b0c4ab95cea61892aa540",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c1af731948fd155a05ca9e24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "0bc9aa836faab98ac24b9b0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "80ba062b1aaa0d6a5afaa6ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "f1b1e2b4f0fdf16a99ad1cc0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fc6ae1f349602b999f010404",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "c471bd13e59023c473c181a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0f7827f6d217edbf9b271a64",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fe2771e515d73f8cd2cc3dd1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6a0d9c4cea31b5d51396e882",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2b2a6662c0e47813aff363da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3f78592f210b1739c887b471",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5b49492f7a12f9b0ab66e391",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db79e3ed89aaf4a836cea4e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "22291564a6ae8d0276bba995",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d57d7f3e45b10204c4e91e2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "921ead5307052a04f07428e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8f5ab82e20928232fc4b6d90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "181036fc26c41a10a0a4e7de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dcca49471cfb1db4ca160d23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "960243a3f658676d782018d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b8e07036f744853eb914fec6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b8a2f893a9b597ce8a12e669",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0ed4862e84fe88217f877e4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "f21e0ccdef978f39df98dcc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1d56bc5f7bdb32154c6697ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "322e15dc6db676599507b135",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "23ea29769249ed91504e5c41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2f36833b09d27cd06b210782",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "56e7edba84cd4a38b6249a22",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b372ee05833941a40e0502e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f5f1cfd3d7e4d55f1d38f3d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "017ccd389cb3a3640f263bb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "320bbdaebc311310705c1ec1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "861cf144df84ab1fe41f10fe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnouncementSection, AnnouncementSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "AnnouncementSection,AnnouncementSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7beaf51047231129",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "announcement-section",
      "normalized_name": "announcement-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/announcement-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "241a8b0f6a4c1b56e418e783",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MaskedTextSection, MaskedTextSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MaskedTextSection,MaskedTextSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d10944975f18fbcb",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "masked-text-section",
      "normalized_name": "masked-text-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/masked-text-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "frontend,ui",
      "component_id": "b7558d808651be1fecc1cc3b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for logic; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollSection, ScrollSectionBackground, ScrollSectionContent, ScrollSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "ScrollSection,ScrollSectionBackground,ScrollSectionContent,ScrollSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "753fbcd34de51e50",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 245,
      "logic_relevance": "none",
      "name": "scroll-section",
      "normalized_name": "scroll-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/scroll-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "43c0a7f58ee5b9854d689e68",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection, HeroSectionProps | imports:@/hooks/use-section-progress, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "HeroSection,HeroSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aca8635729f35b63",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/utils,react",
      "lines": 208,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "c89a47f814f4d38cba744efc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:NarrativeItem, NarrativeSection, NarrativeSectionProps | imports:@/hooks/use-section-progress, @/lib/scroll-engine, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NarrativeItem,NarrativeSection,NarrativeSectionProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb044e94fe10afee",
      "framework": "next-react",
      "imports": "@/hooks/use-section-progress,@/lib/scroll-engine,@/lib/utils,react",
      "lines": 234,
      "logic_relevance": "none",
      "name": "narrative-section",
      "normalized_name": "narrative-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-scroll/narrative-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "49d1371a07f2cec0276b375b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | imports:next/script | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "71f8d8a01303487b",
      "framework": "next-react",
      "imports": "next/script",
      "lines": 124,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4328999fbac1d73c8d4f64dc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MaskedTextReveal, MultiLineMaskedText | imports:@/lib/utils, framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MaskedTextReveal,MultiLineMaskedText",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bf2efb46154ee35",
      "framework": "next-react",
      "imports": "@/lib/utils,framer-motion,react",
      "lines": 396,
      "logic_relevance": "none",
      "name": "masked-text-reveal",
      "normalized_name": "masked-text-reveal",
      "package_manager": "pnpm",
      "path": "components/cinematic-slideshow/masked-text-reveal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ec86add45f680659a26032ad",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnouncementSection, SimpleDateAnnouncement | imports:@/lib/utils, framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AnnouncementSection,SimpleDateAnnouncement",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "917036106ecae0dc",
      "framework": "next-react",
      "imports": "@/lib/utils,framer-motion,react",
      "lines": 323,
      "logic_relevance": "none",
      "name": "announcement-section",
      "normalized_name": "announcement-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-slideshow/announcement-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "c3a0dff2823e3bbac86c32ef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/config,@/lib,framer-motion,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicSlideshow, useSlideshowContext | imports:@/config/slideshow.schema, @/lib/utils, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CinematicSlideshow,useSlideshowContext",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fea098393510620a",
      "framework": "next-react",
      "imports": "@/config/slideshow.schema,@/lib/utils,framer-motion,react",
      "lines": 753,
      "logic_relevance": "none",
      "name": "cinematic-slideshow",
      "normalized_name": "cinematic-slideshow",
      "package_manager": "pnpm",
      "path": "components/cinematic-slideshow/cinematic-slideshow.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 10
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,security",
      "component_id": "a80fde29af122d0033122dc4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:NarrativeSection | imports:@/lib/utils, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NarrativeSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8640e18eff39af9",
      "framework": "next-react",
      "imports": "@/lib/utils,framer-motion,react",
      "lines": 281,
      "logic_relevance": "none",
      "name": "narrative-section",
      "normalized_name": "narrative-section",
      "package_manager": "pnpm",
      "path": "components/cinematic-slideshow/narrative-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery",
      "component_id": "96d3f7dfa598bcad2e1ae204",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "80def75e7a44d629",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "6b5a0f45134a23b2269c8adc",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b08b3b8a33b8b19b",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "4857563ab316f9c0688b8786",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "70d693da1c32d3a7",
      "framework": "next-react",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "1547e35979c3054a68121444",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cc607beda37ba323",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "b2697c1c3c25cc703c6b37d1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e22723cff5367dd5",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "2c10fc26661caa456d32e2c3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "929447306d73f713",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "e699e9fa4c606c055581ae91",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb19ef1505e660ee",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability",
      "component_id": "1f7a1acf5d83971264fc81b5",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp/client, vitest | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b4bdd689123b538",
      "framework": "next-react",
      "imports": "@/lib/mcp/client,vitest",
      "lines": 249,
      "logic_relevance": "none",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "__tests__/mcp/client.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "adb9fac98ae43e70f67ec547",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/config,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/cinematic-slideshow/announcement-section, @/components/cinematic-slideshow/cinematic-slideshow, @/components/cinematic-slideshow/masked-text-reveal, @/components/cinematic-slideshow/narrative-section, @/config/slideshow.schema, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fae73c0b4519e526",
      "framework": "next-react",
      "imports": "@/components/cinematic-slideshow/announcement-section,@/components/cinematic-slideshow/cinematic-slideshow,@/components/cinematic-slideshow/masked-text-reveal,@/components/cinematic-slideshow/narrative-section,@/config/slideshow.schema,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 578,
      "logic_relevance": "none",
      "name": "cinematic-slideshow.test",
      "normalized_name": "cinematic-slideshow",
      "package_manager": "pnpm",
      "path": "__tests__/components/cinematic-slideshow.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "c3b6361ce4e86a59df3d9896",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scroll-engine/interpolators, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2d11bad327051e04",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine/interpolators,vitest",
      "lines": 343,
      "logic_relevance": "primary",
      "name": "interpolators.test",
      "normalized_name": "interpolators",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/interpolators.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "38ef6b62998d9dd9d8245d0e",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "@/hooks,@/lib,@testing-library/react,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/hooks/use-parallax, @/hooks/use-scroll-engine, @/hooks/use-section-progress, @/lib/scroll-engine, @testing-library/react, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "937ebaf5bac43857",
      "framework": "next-react",
      "imports": "@/hooks/use-parallax,@/hooks/use-scroll-engine,@/hooks/use-section-progress,@/lib/scroll-engine,@testing-library/react,vitest",
      "lines": 270,
      "logic_relevance": "primary",
      "name": "hooks.test",
      "normalized_name": "hooks",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/hooks.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "c1bd8bcf939ef9360349118b",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scroll-engine/section-manager, @/lib/scroll-engine/types, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3bc1887a5e0eb4e7",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine/section-manager,@/lib/scroll-engine/types,vitest",
      "lines": 274,
      "logic_relevance": "primary",
      "name": "section-manager.test",
      "normalized_name": "section-manager",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/section-manager.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "1c94c0b10c489151ecbfda85",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scroll-engine/scroll-engine, @/lib/scroll-engine/types, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "05db4a6a9cd2e905",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine/scroll-engine,@/lib/scroll-engine/types,vitest",
      "lines": 337,
      "logic_relevance": "primary",
      "name": "scroll-engine.test",
      "normalized_name": "scroll-engine",
      "package_manager": "pnpm",
      "path": "__tests__/scroll-engine/scroll-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7967f10b5596999c99e173b8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, @/app/api/health/route, @/app/api/network/register/route, @/app/api/slides/route, @/app/sitemap, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "38d212a6780d01a6",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/app/api/health/route,@/app/api/network/register/route,@/app/api/slides/route,@/app/sitemap,vitest",
      "lines": 138,
      "logic_relevance": "none",
      "name": "routes.test",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "2f71982693a7bb7b99b82b67",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bbce7e6d0fd3a7f2",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "368aeb61d6c3bdc26726ff1c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f2e38ded6f34e4b",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "f2a630b550c5f8bc1f1e3a15",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "76e52d42f4352a11",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "e3a6e4f1e18ce916c935b7fd",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UseScrollEngineOptions, UseScrollEngineReturn, useScrollEngine, useScrollProgress | imports:@/lib/scroll-engine, react | logic-score:85",
      "exports": "UseScrollEngineOptions,UseScrollEngineReturn,useScrollEngine,useScrollProgress",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd7ca7d29e5c4210",
      "framework": "next-react",
      "imports": "@/lib/scroll-engine,react",
      "lines": 264,
      "logic_relevance": "primary",
      "name": "use-scroll-engine",
      "normalized_name": "use-scroll-engine",
      "package_manager": "pnpm",
      "path": "hooks/use-scroll-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "3392c6540ce0482f555e066e",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "@/config,react",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ScrollActions, ScrollContext, ScrollContextValue, ScrollProgressProvider, ScrollState, useResponsiveAdjustments, useScrollInterpolate, useScrollProgress | imports:@/config/animations.config, @/config/slides.config, react | security-score:55 | automation-score:45",
      "exports": "ScrollActions,ScrollContext,ScrollContextValue,ScrollProgressProvider,ScrollState,useResponsiveAdjustments,useScrollInterpolate,useScrollProgress,useScrollVisibility,useStaggeredProgress",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f11a05b9028a2b52",
      "framework": "next-react",
      "imports": "@/config/animations.config,@/config/slides.config,react",
      "lines": 421,
      "logic_relevance": "none",
      "name": "use-scroll-progress",
      "normalized_name": "use-scroll-progress",
      "package_manager": "pnpm",
      "path": "hooks/use-scroll-progress.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "1d8e81958fb13d1bf7aa5f26",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,ai",
      "component_id": "b860943eb0b9277aec76de67",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, MCPClientConfig, MCPRequest, MCPResponse, clawsClient, createMCPClient, docsClient | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "MCPClient,MCPClientConfig,MCPRequest,MCPResponse,clawsClient,createMCPClient,docsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5e47957533993a23",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "0cb5fe0e6aa9aa35d5602939",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SectionManager | imports:./interpolators, ./types | logic-score:85",
      "exports": "SectionManager",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b59c1ef264312e2c",
      "framework": "next-react",
      "imports": "./interpolators,./types",
      "lines": 263,
      "logic_relevance": "primary",
      "name": "section-manager",
      "normalized_name": "section-manager",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/section-manager.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "7542f23b0433e84582ae2929",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ScrollEngineInstance, createScrollEngine | imports:./interpolators, ./section-manager, ./types | logic-score:85 | security-score:55",
      "exports": "ScrollEngineInstance,createScrollEngine",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a36d0e757186f1ec",
      "framework": "next-react",
      "imports": "./interpolators,./section-manager,./types",
      "lines": 397,
      "logic_relevance": "primary",
      "name": "scroll-engine",
      "normalized_name": "scroll-engine",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/scroll-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "e07711b85ad4b682164f692a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:clamp, cubicBezier, easingFunctions, getEasing, interpolateColor, interpolateInRange, inverseLerp, lerp | imports:./types | logic-score:85",
      "exports": "clamp,cubicBezier,easingFunctions,getEasing,interpolateColor,interpolateInRange,inverseLerp,lerp,mapRange,smoothDamp,spring,staggeredProgress",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2dba30c2a2d1f9f8",
      "framework": "next-react",
      "imports": "./types",
      "lines": 325,
      "logic_relevance": "primary",
      "name": "interpolators",
      "normalized_name": "interpolators",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/interpolators.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,security,automation",
      "component_id": "d68cca9b0fc3398f95ea39f6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnimationKeyframe, EasingFunction, EasingName, EasingTuple, ElementAnimation, KeyboardInputConfig, ScrollCallbacks, ScrollEngineConfig | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "AnimationKeyframe,EasingFunction,EasingName,EasingTuple,ElementAnimation,KeyboardInputConfig,ScrollCallbacks,ScrollEngineConfig,ScrollState,SectionBounds,SectionConfig,SectionType,TouchInputConfig,WheelInputConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efcf958ac3cdd72f",
      "framework": "next-react",
      "imports": "",
      "lines": 223,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "25c8392ee7e74a2449ab28ef",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:// Easing\n  easingFunctions, // Interpolation\n  lerp, // Physics\n  spring, SectionManager, clamp, createScrollEngine, cubicBezier, getEasing | imports:./interpolators, ./scroll-engine, ./section-manager, ./types | logic-score:70 | security-score:55",
      "exports": "// Easing\n  easingFunctions,// Interpolation\n  lerp,// Physics\n  spring,SectionManager,clamp,createScrollEngine,cubicBezier,getEasing,interpolateColor,interpolateInRange,inverseLerp,mapRange,smoothDamp,staggeredProgress",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "af5e18adb1bda50b",
      "framework": "next-react",
      "imports": "./interpolators,./scroll-engine,./section-manager,./types",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/scroll-engine/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-decks",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4354c692f2f4dde9ccdd1913",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d84574ef2fe8bdc",
      "framework": "next-react",
      "imports": "",
      "lines": 7036,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "8ed162f3d15b2dc9cbe39367",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "d496e13045ad4cea43eb7dbc",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e3d0be13ab5c580",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2988925214ebde60e40b4ac1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "babfb521a356a18ca3ea3f23",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b60403a415289563",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6408f3564f4e5dec61e06643",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "243886844fefe670",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a0c6334c83b07c3590ed1dfb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "847ce58a2098abcd",
      "framework": "next-react",
      "imports": "",
      "lines": 6919,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8875b1604951b21e6ff785db",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dbb9fdf02bb7c937",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "38548617c35cd3668a0f68c6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1364051d5190edb313233139",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/db, crypto | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8c623e7ac8e812cc",
      "framework": "next-react",
      "imports": "./lib/db,crypto",
      "lines": 152,
      "logic_relevance": "none",
      "name": "benchmark",
      "normalized_name": "benchmark",
      "package_manager": "pnpm",
      "path": "benchmark.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,security,discovery",
      "component_id": "9b5dc4523d173ba4f020bd95",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "804b3cc042f1380c",
      "framework": "next-react",
      "imports": "next",
      "lines": 46,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b2506ee1c730653ee8a076bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OGImage, alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "OGImage,alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2923d2463c816362",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 102,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "c04e4dbfa292e0c3e2dc7ad7",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/platform/constants, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32b17ec777bb0baf",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation",
      "component_id": "65e894c1d8c45a540ab75e6d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,sonner",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/footer, @/components/layout/topbar, @/components/providers/theme-provider, @/components/seo/json-ld, @vercel/analytics/next, next, next/font/google, sonner | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5f27fffeb8bd882",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/topbar,@/components/providers/theme-provider,@/components/seo/json-ld,@vercel/analytics/next,next,next/font/google,sonner",
      "lines": 160,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "dc61e65da958faa26ba3f60d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:TwitterImage, alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "TwitterImage,alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89e72283e48af2cc",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 68,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,security,discovery",
      "component_id": "5539fec349603931c95c034b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "79d26815969542cd",
      "framework": "next-react",
      "imports": "next",
      "lines": 109,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5aacf187f48620f588bb750f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyzePage | imports:@/components/analysis/results-panel, @/components/analysis/threat-score, @/components/editor/code-editor, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/resizable | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AnalyzePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "decd9d080813e320",
      "framework": "next-react",
      "imports": "@/components/analysis/results-panel,@/components/analysis/threat-score,@/components/editor/code-editor,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/resizable,@/components/ui/select,@/components/ui/tooltip,@/lib/analysis/engine,@/lib/analysis/ioc-extractor,@/lib/types,@/lib/utils,lucide-react,react,sonner",
      "lines": 924,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "41033a32789d3a676870e4bb",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "58ddec5a446cd5a6",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "a39892a31704c42e02d3ac20",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4bba2894ecc746f6",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6178313489107d57f455bbe5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2dff82039124a45e",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "e8dbc862e8000ccc01bfc5cd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a528e9120d09371f",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b2675503f86f24581f71249f",
      "component_kind": "layout",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SettingsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a3a50d8e24566610",
      "framework": "next-react",
      "imports": "next",
      "lines": 10,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/settings/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "46de0f4d4105be28545347f9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react,sonner",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38f96929ddb21087",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,lucide-react,next-themes,react,sonner",
      "lines": 425,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6b82319c17354d97a3c73516",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/seo/json-ld, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a752c8f08bd06dd6",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,next,next/link",
      "lines": 29,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f995eb74bfb14ca668f7b3d2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LicensePage, metadata | imports:@/components/seo/json-ld, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "LicensePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb523cc4445acb5e",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,next,next/link",
      "lines": 29,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/license/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,process,ui,security",
      "component_id": "9489412aad401148bbaa04af",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/roadmap/integration-grid, @/components/roadmap/roadmap-hero, @/components/roadmap/roadmap-stats, @/components/roadmap/roadmap-timeline, @/components/seo/roadmap-json-ld, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | security-score:55",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e7c604b27ab6fb9",
      "framework": "next-react",
      "imports": "@/components/roadmap/integration-grid,@/components/roadmap/roadmap-hero,@/components/roadmap/roadmap-stats,@/components/roadmap/roadmap-timeline,@/components/seo/roadmap-json-ld,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "15e43c683be370a0efad72a4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UXRoadmapPage, metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, lucide-react, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "UXRoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c39de241fa309c7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,lucide-react,next,next/link",
      "lines": 450,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/ux/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8cd3612d491d9f80df6ef448",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GuidancePage, metadata | imports:@/components/seo/json-ld, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GuidancePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb3f328521cda905",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,next,next/link",
      "lines": 38,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/guidance/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "865c45eee94d9cebf4d64e82",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/seo/json-ld, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92c4d1f6acd6f667",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,next,next/link",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "a0b4f51694af4e0e40861095",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/auth, @/lib/platform/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "798a3d3813ea7215",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/constants,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "a26d5311cdfaa31b26de894c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/constants, @/lib/platform/discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23baf90a10a20428",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/discovery,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "1c4915a3ceff674c7f7b40e4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/.well-known/mcp.json/route | backend-score:55 | integration-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "59c7a0b95cca5cfb",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "20a32bd2a8d55b571d79fe13",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4632e57beb311d8c",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "ebbc770c2717d918a8cbd264",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f113afe85a11eefc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "0237217e05e2e947056ccb91",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f44375cd1f01701a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "3d5eb78490da80ad56988c65",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0607cc1469fae390",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security,process",
      "component_id": "6d7f0b07cd26bfd7a0f14500",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "DocsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f9fe87c82dc39c1",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/docs/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "464ddf5495abb2943bbe7b64",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/collapsible, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86e87c786b3d390a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/collapsible,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/tabs,lucide-react,react,sonner",
      "lines": 388,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security",
      "component_id": "300484d09ebbb4a205af8e0d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScriptDetailPage | imports:@/components/analysis/threat-score, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/scroll-area, @/components/ui/skeleton, @/components/ui/tabs, lucide-react | frontend-score:115 | automation-score:95 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ScriptDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6610eb1224ddb13f",
      "framework": "next-react",
      "imports": "@/components/analysis/threat-score,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/scroll-area,@/components/ui/skeleton,@/components/ui/tabs,lucide-react,next/link,react,sonner,swr",
      "lines": 448,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/script/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1284e9ec0e832e0998385c21",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContributorsPage, metadata | imports:@/components/seo/json-ld, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ContributorsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5848dc9f2f961f98",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,next,next/link",
      "lines": 29,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contributors/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "5ea8d6d872fff53ac0fb847a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "44cfe400da7a8808",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "7d74d4fa58f7769661c5349f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "IntegrationsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f8480b0dd4acacaa",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/integrations/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "72b9d9f3f8a11bb709d0ad4e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/scroll-area, @/components/ui/select, @/components/ui/skeleton | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IntegrationsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c74de006c614b30",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/scroll-area,@/components/ui/select,@/components/ui/skeleton,@/components/ui/tabs,@/components/ui/textarea,lucide-react,next/navigation,react,sonner,swr",
      "lines": 697,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/integrations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7caf09f87ab7a6ab772012b4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HistoryLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d5ca34b8f3462ef9",
      "framework": "next-react",
      "imports": "next",
      "lines": 30,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/history/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "67f4c2be25eb40ac668e5247",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/select, @/components/ui/skeleton, @/components/ui/table | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HistoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01dde3134c21be46",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/select,@/components/ui/skeleton,@/components/ui/table,lucide-react,next/link,react,swr",
      "lines": 464,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/history/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,logic,ui,security",
      "component_id": "6e54a1c4a18ce1c784c8f412",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RulesLayout, metadata | imports:next | frontend-score:115 | logic-score:70 | ui-score:55 | security-score:55",
      "exports": "RulesLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9e2323c0cd92fbdb",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/rules/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,automation",
      "component_id": "8807610c9d77b4bea0904ede",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RulesPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/scroll-area, @/components/ui/select | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RulesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "593155615cb47dce",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/scroll-area,@/components/ui/select,@/components/ui/separator,@/components/ui/skeleton,@/components/ui/switch,@/components/ui/table,@/components/ui/tabs,@/components/ui/textarea,lucide-react,react,sonner,swr",
      "lines": 1291,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/rules/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "18af44eb3ff5e75196bd2f6f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api/helpers, @/lib/platform/trace, @/lib/platform/url-safety, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18be164101e55373",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/platform/trace,@/lib/platform/url-safety,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/url-preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "025fe2ed01de5e15de3a0162",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0a73d08d238d7f7",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3c497dae6a88c35702211ad4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, INTEGRATION_ENDPOINTS, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,INTEGRATION_ENDPOINTS,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "590527e9e49307a2",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 159,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "454afc0395e94451673f83ec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, SVG_API_BASE | imports:@/lib/api/helpers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST,SVG_API_BASE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1a39fbde32a584ec",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/svg/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "975f0f0e07c81a9a6d207b00",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ASCII_SERVICE_URL, GET, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "ASCII_SERVICE_URL,GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85b28bfab4b4812e",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 149,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "01261a148722c380adb9367d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MSI_BASE, POST | imports:@/lib/api/helpers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,MSI_BASE,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48555afa5be99e2f",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/msi/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "cafe658ce8fcfeaebd7edc5d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DESA_MCP_TOOLS | imports:@/lib/analysis/decoders, @/lib/analysis/engine, @/lib/analysis/exporters, @/lib/analysis/ioc-extractor, @/lib/api/helpers, @/lib/model/adapter, @/lib/platform/constants, @/lib/platform/discovery | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "DESA_MCP_TOOLS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72a0075d89f23f61",
      "framework": "next-react",
      "imports": "@/lib/analysis/decoders,@/lib/analysis/engine,@/lib/analysis/exporters,@/lib/analysis/ioc-extractor,@/lib/api/helpers,@/lib/model/adapter,@/lib/platform/constants,@/lib/platform/discovery,@/lib/platform/trace,@/lib/rules-store,next/server",
      "lines": 258,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "daad8600e424ab521b254046",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST, XML_SERVICE_URL | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST,XML_SERVICE_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b2ab917ea2350eb",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 159,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a534a0f31191e8808f5f9ada",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, JSON_SERVICE_URL, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,JSON_SERVICE_URL,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b8b6360eb53d0e32",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "94d87437396f398043dd7d87",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/helpers, @/lib/integrations/virustotal, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2d877dabc130c527",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/integrations/virustotal,next/server",
      "lines": 131,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/virustotal/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,security",
      "component_id": "9fb73bc6cdec2ee3d98775c6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/platform/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4d4aaad4a1f43868",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/platform/constants,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/samples/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ad2a3fed6573aa3e3b7079e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/analysis/decoders, @/lib/api/helpers, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2c112e18afcae59",
      "framework": "next-react",
      "imports": "@/lib/analysis/decoders,@/lib/api/helpers,@/lib/platform/trace,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/decode/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9f00adaf555f535caf67a90e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/analysis/ioc-extractor, @/lib/api/helpers, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1023afb04b5435f1",
      "framework": "next-react",
      "imports": "@/lib/analysis/ioc-extractor,@/lib/api/helpers,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/extract-iocs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "6029aa879c37789ab890cb11",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT_ID, GET, OPTIONS | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "DEFAULT_TENANT_ID,GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fba63f0266c67b0a",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 91,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scripts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "ae152d2a1b236242ede51789",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, OPTIONS | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "DELETE,GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e6748ec4a8101e28",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scripts/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "1f21a8de4db293770a9b1c6d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1c6ffe55fea8e844",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scripts/[id]/analysis/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "5cfa46e7c1ae68da4914b6bc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "18bc6f6787ea3534",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scripts/[id]/iocs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e58d0d4dc6e5f13f286d35f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/analysis/exporters, @/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "570144704dc6a6c2",
      "framework": "next-react",
      "imports": "@/lib/analysis/exporters,@/lib/api/helpers,@/lib/db,next/server",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scripts/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "672f1f8523896e416e72730d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/v1/scripts/route | backend-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84a34ca71af318d2",
      "framework": "next-react",
      "imports": "@/app/api/v1/scripts/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,logic,frontend,observability,security",
      "component_id": "5857fc51a18ace6fb91ce097",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT_ID, GET, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/db, @/lib/rules-store, @/lib/types, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT_ID,GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "edb0544151425576",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,@/lib/rules-store,@/lib/types,next/server",
      "lines": 175,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rules/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,logic,frontend,observability,security",
      "component_id": "ad0ec8c330b25888a00e10f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, OPTIONS, PUT | imports:@/lib/api/helpers, @/lib/db, @/lib/rules-store, next/server, zod | backend-score:160 | logic-score:85 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,OPTIONS,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a5d370a99ecb7f4",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,@/lib/rules-store,next/server,zod",
      "lines": 163,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rules/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "b6e977b5d8a73255bcb6e2ac",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT_ID, MAX_CONTENT_SIZE, OPTIONS, POST | imports:@/lib/analysis/engine, @/lib/api/helpers, @/lib/db, @/lib/platform/auth, @/lib/platform/trace, @/lib/platform/url-safety, @/lib/platform/vercel, @/lib/types | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "DEFAULT_TENANT_ID,MAX_CONTENT_SIZE,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "197f93f6fd6aafd7",
      "framework": "next-react",
      "imports": "@/lib/analysis/engine,@/lib/api/helpers,@/lib/db,@/lib/platform/auth,@/lib/platform/trace,@/lib/platform/url-safety,@/lib/platform/vercel,@/lib/types,crypto,next/server",
      "lines": 456,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security",
      "component_id": "0b3850f56029e4c339392de4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "73a2fc8eb0f300da",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/iocs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "5a2a334b0e5c2756e14d16d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/analysis/engine, @/lib/analysis/exporters, @/lib/api/helpers, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d30f405fb0b6a094",
      "framework": "next-react",
      "imports": "@/lib/analysis/engine,@/lib/analysis/exporters,@/lib/api/helpers,@/lib/platform/trace,next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "3d6d5abd71b08a2ab2f8d65f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api/helpers, @/lib/virustotal, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24d58bd6776beebe",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/virustotal,next/server",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/virustotal/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "c4ce4c37c6392c5b800cb2ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/virustotal, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "84060ac347263153",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/virustotal,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/virustotal/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability,security",
      "component_id": "13aafa9257d952c7ed943f84",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "eb7f08629cf6f416",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,next/server",
      "lines": 80,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "681936d43aa8da0e008d1114",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/analysis/engine, @/lib/api/helpers, @/lib/platform/trace, @/lib/platform/url-safety, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d111a964d90d9710",
      "framework": "next-react",
      "imports": "@/lib/analysis/engine,@/lib/api/helpers,@/lib/platform/trace,@/lib/platform/url-safety,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze-url/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "9885bc413987d159f2167ace",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/db, crypto, next/server, zod | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "391da33ecd21aa7e",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,crypto,next/server,zod",
      "lines": 156,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "1db55b544f0a1168554c93ad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, OPTIONS | imports:@/lib/api/helpers, @/lib/mcp/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "68a11551cf246c00",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/mcp/discovery,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/faq/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b36b0d049684a5ee54a24739",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/db, @/lib/platform/auth, @/lib/platform/constants, @/lib/platform/trace, @/lib/platform/vercel, @/lib/rules-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "667ea2546f2b532d",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/db,@/lib/platform/auth,@/lib/platform/constants,@/lib/platform/trace,@/lib/platform/vercel,@/lib/rules-store,next/server",
      "lines": 80,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "b3abe820a5d7503f22dcc75e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/helpers, @/lib/mcp/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d4c2f2101c09a21c",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/mcp/discovery,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "a537d496e409aff03f316c57",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/analysis/decoders, @/lib/analysis/engine, @/lib/analysis/exporters, @/lib/analysis/ioc-extractor, @/lib/api/helpers, @/lib/model/adapter, @/lib/platform/constants, @/lib/platform/discovery | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e455b6c7b0c2f588",
      "framework": "next-react",
      "imports": "@/lib/analysis/decoders,@/lib/analysis/engine,@/lib/analysis/exporters,@/lib/analysis/ioc-extractor,@/lib/api/helpers,@/lib/model/adapter,@/lib/platform/constants,@/lib/platform/discovery,@/lib/platform/openapi,@/lib/platform/trace,@/lib/rules-store,next/server",
      "lines": 281,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "46fd32d2b3072fcd37a197e0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform/openapi, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71345d73014202ea",
      "framework": "next-react",
      "imports": "@/lib/platform/openapi,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,process,frontend,observability,security,discovery",
      "component_id": "c82df5b991359eaeda06724a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8eb397e831b20041",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "c7aead27478a07047e1c3748",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api/helpers, @/lib/platform/auth, @/lib/platform/discovery, @/lib/platform/openapi, @/lib/platform/trace, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "64d1861d2be1b0cb",
      "framework": "next-react",
      "imports": "@/lib/api/helpers,@/lib/platform/auth,@/lib/platform/discovery,@/lib/platform/openapi,@/lib/platform/trace,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "34989c31a52b3db980f7505f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5a879a9750febde6",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "57bfeee8622ec1b419ef2354",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:default | imports:@/app/page | frontend-score:85 | ui-score:55",
      "exports": "default",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a8e7701e9e97bae",
      "framework": "next-react",
      "imports": "@/app/page",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analyze/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "756efe3abd20a42d9cb105a3",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:IOCsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "IOCsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b311a8cb3913c527",
      "framework": "next-react",
      "imports": "next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/iocs/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c4e7db4e78566143922c2007",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IOCsPage | imports:@/components/ioc-viewer/ioc-viewer, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IOCsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "901426cfef22c6a7",
      "framework": "next-react",
      "imports": "@/components/ioc-viewer/ioc-viewer,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,lucide-react,react,sonner",
      "lines": 399,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/iocs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "9fe80b1524fb5aeaeca3aa2c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/openapi | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "768f7386fd6752d0",
      "framework": "next-react",
      "imports": "@/lib/platform/openapi",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "21b306c8087c064dbb588155",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b4b7cb5845f91af5",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "9f32c6ffb404e7bd9781fd30",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6c0fa21538992264",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "feadc025a19e12217ebfe2ac",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0410b98e16d3ef0a",
      "framework": "next-react",
      "imports": "",
      "lines": 208,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "aadc7e98fff9212f0f5e6837",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "122eba6b7e58239d",
      "framework": "next-react",
      "imports": "",
      "lines": 222,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,integration,security,automation,ai",
      "component_id": "79022a0d0b210db665a59be0",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/mcp/client | process-score:145 | integration-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a513446a159da0ba",
      "framework": "next-react",
      "imports": "@/lib/mcp/client",
      "lines": 199,
      "logic_relevance": "none",
      "name": "MCP",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "docs/MCP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,ai",
      "component_id": "c71786431be7f06115fe8e8e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e5c8e8d838f19dc",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "GUIDANCE",
      "normalized_name": "guidance",
      "package_manager": "pnpm",
      "path": "docs/GUIDANCE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d20a54acdeaf6a29dd586f18",
      "component_kind": "roadmap",
      "confidence": 75,
      "dependency_roots": "submit script, get findings",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:submit script, get findings | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0d885bf7934087c6",
      "framework": "next-react",
      "imports": "submit script, get findings",
      "lines": 300,
      "logic_relevance": "none",
      "name": "PRODUCT_ROADMAP",
      "normalized_name": "product-roadmap",
      "package_manager": "pnpm",
      "path": "docs/PRODUCT_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "58b41d980e7a116525aeaae4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92b7f2e558fa06ad",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "PRIVACY",
      "normalized_name": "privacy",
      "package_manager": "pnpm",
      "path": "docs/PRIVACY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,security,ai",
      "component_id": "3cf12263d0d4895bcc2e6a54",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5334b3e408b47897",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "DATA",
      "normalized_name": "data",
      "package_manager": "pnpm",
      "path": "docs/DATA.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6f8c69d2960884dd6231a51b",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0a0b46a24c06bdaf",
      "framework": "next-react",
      "imports": "",
      "lines": 505,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "8843a59ae4e4802755275690",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1cbc0fbabf4e2d39",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "CONTRIBUTORS",
      "normalized_name": "contributors",
      "package_manager": "pnpm",
      "path": "docs/CONTRIBUTORS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "8415a0e4977fcc3ceae5f4b7",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "crypto",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:crypto | process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "063a3707030c5f2e",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 656,
      "logic_relevance": "none",
      "name": "API_SPECIFICATION",
      "normalized_name": "api-specification",
      "package_manager": "pnpm",
      "path": "docs/API_SPECIFICATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "82cf3cdaba03a8d491b1dae7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6aaad9d1d9df547",
      "framework": "next-react",
      "imports": "",
      "lines": 438,
      "logic_relevance": "none",
      "name": "MAINTENANCE",
      "normalized_name": "maintenance",
      "package_manager": "pnpm",
      "path": "docs/MAINTENANCE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "cd21cf8d70d639fb04f10d20",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ffa83ff2b9dcb4d3",
      "framework": "next-react",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "PLATPHORMNEWS",
      "normalized_name": "platphormnews",
      "package_manager": "pnpm",
      "path": "docs/PLATPHORMNEWS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8572383324571a6b144dab50",
      "component_kind": "roadmap",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:CACHE_CONFIG, EXPANDED_MCP_TOOLS | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CACHE_CONFIG,EXPANDED_MCP_TOOLS",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4797869e58b041eb",
      "framework": "next-react",
      "imports": "",
      "lines": 647,
      "logic_relevance": "none",
      "name": "INTEGRATION_ROADMAP",
      "normalized_name": "integration-roadmap",
      "package_manager": "pnpm",
      "path": "docs/roadmap/INTEGRATION_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4a81e196a8210e9929c1541d",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0ef17338e09d7114",
      "framework": "next-react",
      "imports": "",
      "lines": 412,
      "logic_relevance": "none",
      "name": "UX_UI_ROADMAP",
      "normalized_name": "ux-ui-roadmap",
      "package_manager": "pnpm",
      "path": "docs/roadmap/UX_UI_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,observability,security,automation",
      "component_id": "4e9d7d4e2eda82f748170d62",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@playwright/test,vitest",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:createIOC, createScript | imports:../analysis/decoders, ../analysis/engine, ../analysis/ioc-extractor, ../analysis/rules, ../json/client, ../lib/analysis/engine, ../mcp/client, ../xml/client | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "createIOC,createScript",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "366339687e50963a",
      "framework": "next-react",
      "imports": "../analysis/decoders,../analysis/engine,../analysis/ioc-extractor,../analysis/rules,../json/client,../lib/analysis/engine,../mcp/client,../xml/client,@playwright/test,vitest",
      "lines": 883,
      "logic_relevance": "none",
      "name": "TESTING_GUIDE",
      "normalized_name": "testing-guide",
      "package_manager": "pnpm",
      "path": "docs/testing/TESTING_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "59705db2e0b737ac859910e7",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@desa/sdk",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@desa/sdk | process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "347ba516a9b110b4",
      "framework": "next-react",
      "imports": "@desa/sdk",
      "lines": 860,
      "logic_relevance": "none",
      "name": "API_SPECIFICATION",
      "normalized_name": "api-specification",
      "package_manager": "pnpm",
      "path": "docs/architecture/API_SPECIFICATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "838796a3ef30be1c41fb6ece",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "35199ad67c98cf2d",
      "framework": "next-react",
      "imports": "",
      "lines": 551,
      "logic_relevance": "none",
      "name": "SYSTEM_ARCHITECTURE",
      "normalized_name": "system-architecture",
      "package_manager": "pnpm",
      "path": "docs/architecture/SYSTEM_ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "3c0c36afc1dce03356da8405",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:CACHE_CONFIG, RATE_LIMITS | imports:@/lib/integrations | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "CACHE_CONFIG,RATE_LIMITS",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4571df503ffa7522",
      "framework": "next-react",
      "imports": "@/lib/integrations",
      "lines": 585,
      "logic_relevance": "none",
      "name": "MAINTENANCE",
      "normalized_name": "maintenance",
      "package_manager": "pnpm",
      "path": "docs/architecture/MAINTENANCE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e28903e3e9d2a151bde29ba7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "f99fbb08a190150d1a884449",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f6218df109f2156170925efa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d839b2a3680448456c875f29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "30ba64b99b469edcb37b9eba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7349eb33429edb3d5f948627",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1a54628b5db3fcce414fedd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a027eba3bcfaf72633be02b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "8aad6a1f2a155968537e6332",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "83c8851ba073138f795bc0d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bd6d6fbbbd543069062fd3e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "852a349546fe0a5896d2c368",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "f4336c4f59691b7680cd6adc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "855a153c7bc822a8ee7ea007",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f1ff0008c8aac9941cd24a36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1bb0475e2d2816a2",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 381,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b0da8688e47e5a2362bdc479",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5fe54d702bbbd4c6ec25210e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "63a00062a93be698a9fef4c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "400be4ce9539ee339c6f5f3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1bb55bb707a350bc21fb3655",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "10b57bdd9e8dd64eaa667ed2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8374d2422062a3b9cdacfd31",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "608c28647f980611f9e4dc00",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cb7c4bd9d6af5c903d58b19f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "50ef8ddffc9b4be18043826f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5b658cf968f00170d2ae83b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "87ddcb2a837099cd68042d25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4dc9ec9e162f39eadde5efb7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c7ea46d065c1a53a4995ec4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "22e076e48942968d426c795c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b6f90bfc29578c8cda93b0bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "de93ddb84badf265bd43eb77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "30b96b4c6a2b66eff0513e37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a555aa18425aea2b95cbb28a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "09083f39186961e13ba13531",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "7029a19c60dd0b0dd0ec7d71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4eb783005d7d9f60dfbf445c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "109babcd4d1801c8e0aac13d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4d7bc867517eb456c8a38e4a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0fa060798370af0e6b9005a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f1e12886c5e6d4f0590aff50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9c2ef7d7a53070c9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 732,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "01dc8250d09f7dd6f4d4f523",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f49480e62e50242db2a20b57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "83276d29faa57db94a58a5ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5fd61057824ba24601b1db96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "187cc0e30e9bb0e27a5dbd5e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9d20631afb1706ce896b1e1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "f4a8304c065a2f380aa6fe30",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "aae62af8815ab09e534a5315",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b552b8e87ebb46eed6b624eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "13d0fe38fc33efcfe9cf1190",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ca409fef81a231c396badd57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1a1c7026a14b28da6383d102",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c45e157ac8c5ec94351a4048",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "775a5aa2acfb5d0bcad0986a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "f945ee3ca8f22b3a16fad90b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b548744187f9622bfba492cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,security",
      "component_id": "5c92592e5f68bbf044d48f9b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizeObserver | imports:../chart, @testing-library/react, react, vitest | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ResizeObserver",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "152ace520a0325a2",
      "framework": "next-react",
      "imports": "../chart,@testing-library/react,react,vitest",
      "lines": 99,
      "logic_relevance": "none",
      "name": "chart.test",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/__tests__/chart.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "90dcdc24c1e5ec4f226c5c08",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmissionHistoryItem, VTIcon, VTPanelProps, VTReportSummary, VirusTotalPanel, detectionRatio, relativeTime, vtRiskBg | imports:@/components/ui/alert-dialog, @/components/ui/badge, @/components/ui/button, @/components/ui/collapsible, @/components/ui/progress, @/components/ui/scroll-area, @/components/ui/tooltip, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SubmissionHistoryItem,VTIcon,VTPanelProps,VTReportSummary,VirusTotalPanel,detectionRatio,relativeTime,vtRiskBg,vtRiskColor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f36e1f660d558e4",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/badge,@/components/ui/button,@/components/ui/collapsible,@/components/ui/progress,@/components/ui/scroll-area,@/components/ui/tooltip,@/lib/utils,@/lib/virustotal,@/lib/vt-submissions-store,lucide-react,react",
      "lines": 879,
      "logic_relevance": "none",
      "name": "virustotal-panel",
      "normalized_name": "virustotal-panel",
      "package_manager": "pnpm",
      "path": "components/analysis/virustotal-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e1a711e0928323c744069d15",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThreatScore, ThreatScoreBadge, ThreatScoreGauge | imports:@/components/ui/tooltip, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ThreatScore,ThreatScoreBadge,ThreatScoreGauge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "774fa7e8e57d62bb",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/lib/utils,lucide-react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "threat-score",
      "normalized_name": "threat-score",
      "package_manager": "pnpm",
      "path": "components/analysis/threat-score.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "84e756091a0e5dd438d8210d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResultsPanel | imports:@/components/analysis/virustotal-panel, @/components/ui/badge, @/components/ui/button, @/components/ui/collapsible, @/components/ui/tabs, @/components/ui/tooltip, @/lib/analysis/ioc-extractor, @/lib/types | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ResultsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "199059267cdba736",
      "framework": "next-react",
      "imports": "@/components/analysis/virustotal-panel,@/components/ui/badge,@/components/ui/button,@/components/ui/collapsible,@/components/ui/tabs,@/components/ui/tooltip,@/lib/analysis/ioc-extractor,@/lib/types,@/lib/utils,lucide-react,next/link,react",
      "lines": 931,
      "logic_relevance": "none",
      "name": "results-panel",
      "normalized_name": "results-panel",
      "package_manager": "pnpm",
      "path": "components/analysis/results-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security",
      "component_id": "ab1e752d97a1b5ce1032b01b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../virustotal-panel, @/lib/virustotal, @/lib/vt-submissions-store, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e05569dc0d5793a4",
      "framework": "next-react",
      "imports": "../virustotal-panel,@/lib/virustotal,@/lib/vt-submissions-store,@testing-library/react,vitest",
      "lines": 390,
      "logic_relevance": "none",
      "name": "virustotal-panel.test",
      "normalized_name": "virustotal-panel",
      "package_manager": "pnpm",
      "path": "components/analysis/__tests__/virustotal-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "frontend,ui,security,automation",
      "component_id": "16efeb5f92166ff6799d43ff",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:../threat-score, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d2329054f66c4ee9",
      "framework": "next-react",
      "imports": "../threat-score,@testing-library/react,vitest",
      "lines": 161,
      "logic_relevance": "none",
      "name": "threat-score.test",
      "normalized_name": "threat-score",
      "package_manager": "pnpm",
      "path": "components/analysis/__tests__/threat-score.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "866dfd19069e3e283507561f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../results-panel, @/lib/types, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8b41bd2ab75128f",
      "framework": "next-react",
      "imports": "../results-panel,@/lib/types,@testing-library/react,vitest",
      "lines": 327,
      "logic_relevance": "none",
      "name": "results-panel.test",
      "normalized_name": "results-panel",
      "package_manager": "pnpm",
      "path": "components/analysis/__tests__/results-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,process,ui,security",
      "component_id": "2b759b7e8ee5e1c8cf492638",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapStats | imports:lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | security-score:55",
      "exports": "RoadmapStats",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "10d14b7f34cb3bae",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "roadmap-stats",
      "normalized_name": "roadmap-stats",
      "package_manager": "pnpm",
      "path": "components/roadmap/roadmap-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "d0e2e986ce064944dd326eb2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationGrid | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "IntegrationGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1196681e2c52a2f7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 180,
      "logic_relevance": "none",
      "name": "integration-grid",
      "normalized_name": "integration-grid",
      "package_manager": "pnpm",
      "path": "components/roadmap/integration-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "22b57c6b981939c95eb6cd26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapHero | imports:@/components/ui/badge | frontend-score:85 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f8bf15e9a4e1d68",
      "framework": "next-react",
      "imports": "@/components/ui/badge",
      "lines": 65,
      "logic_relevance": "none",
      "name": "roadmap-hero",
      "normalized_name": "roadmap-hero",
      "package_manager": "pnpm",
      "path": "components/roadmap/roadmap-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "2486d5a4a5dbc0dedd98edbf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapTimeline | imports:@/components/ui/card, @/components/ui/progress, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RoadmapTimeline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd08311a3bc03f39",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/progress,lucide-react",
      "lines": 309,
      "logic_relevance": "none",
      "name": "roadmap-timeline",
      "normalized_name": "roadmap-timeline",
      "package_manager": "pnpm",
      "path": "components/roadmap/roadmap-timeline.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "afd64314185d1d84e6ee7bd3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Topbar | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/tooltip, @/lib/utils, lucide-react, next-themes, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Topbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f9f931a2b9381ef",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/tooltip,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "topbar",
      "normalized_name": "topbar",
      "package_manager": "pnpm",
      "path": "components/layout/topbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "640832a100d7f43b2c76d1c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d6b729287854ee7a",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 149,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "df564bcd29230a4a9f34f0fd",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../footer, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "434f11f84a5472f8",
      "framework": "next-react",
      "imports": "../footer,@testing-library/react,vitest",
      "lines": 66,
      "logic_relevance": "none",
      "name": "footer.test",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/__tests__/footer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "437bc05041ebc500c767e6d4",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c2a21741f955797a",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/providers/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security",
      "component_id": "35eeb6c5ce6f1841c856368b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:IOCEntry, IOCType, IOCViewer, IOCViewerProps | imports:./ioc-json-tree, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/separator, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IOCEntry,IOCType,IOCViewer,IOCViewerProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab6162377f49cd52",
      "framework": "next-react",
      "imports": "./ioc-json-tree,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/separator,@/components/ui/tabs,@/components/ui/tooltip,@/lib/analysis/ioc-extractor,@/lib/utils,lucide-react,react,sonner",
      "lines": 1011,
      "logic_relevance": "none",
      "name": "ioc-viewer",
      "normalized_name": "ioc-viewer",
      "package_manager": "pnpm",
      "path": "components/ioc-viewer/ioc-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5e6391af7f44a8b6e4d16596",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IocJsonTree, IocJsonTreeProps, TreeNode | imports:@/lib/utils, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IocJsonTree,IocJsonTreeProps,TreeNode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56a736d38fe31eec",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,sonner",
      "lines": 277,
      "logic_relevance": "none",
      "name": "ioc-json-tree",
      "normalized_name": "ioc-json-tree",
      "package_manager": "pnpm",
      "path": "components/ioc-viewer/ioc-json-tree.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "0cca4ad47e6d050aec3c48e1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../ioc-viewer, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa658650d7c275a3",
      "framework": "next-react",
      "imports": "../ioc-viewer,@testing-library/react,vitest",
      "lines": 164,
      "logic_relevance": "none",
      "name": "ioc-viewer.test",
      "normalized_name": "ioc-viewer",
      "package_manager": "pnpm",
      "path": "components/ioc-viewer/__tests__/ioc-viewer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "b4212fa8fe46b8e51e874cd5",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../ioc-json-tree, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4c727de0a02d709",
      "framework": "next-react",
      "imports": "../ioc-json-tree,@testing-library/react,vitest",
      "lines": 221,
      "logic_relevance": "none",
      "name": "ioc-json-tree.test",
      "normalized_name": "ioc-json-tree",
      "package_manager": "pnpm",
      "path": "components/ioc-viewer/__tests__/ioc-json-tree.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "50963be37d5f87876229a040",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbJsonLd, DeveloperApiJsonLd, FAQJsonLd, MCPServiceJsonLd, TechArticleJsonLd, WebsiteJsonLd | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "BreadcrumbJsonLd,DeveloperApiJsonLd,FAQJsonLd,MCPServiceJsonLd,TechArticleJsonLd,WebsiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8621659a332efd6",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 232,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,process,ui,security,discovery,ai",
      "component_id": "62cdf94ef3ddef4bcea60dd7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapJsonLd | imports:@/lib/utils | frontend-score:85 | process-score:80 | ui-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "RoadmapJsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21e191a0724b4375",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 78,
      "logic_relevance": "none",
      "name": "roadmap-json-ld",
      "normalized_name": "roadmap-json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/roadmap-json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "b2830004e4a85169cc3de8d5",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:../json-ld, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bda1c509b03e6b4a",
      "framework": "next-react",
      "imports": "../json-ld,@testing-library/react,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "json-ld.test",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/__tests__/json-ld.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "ac897eeff18f25a68b4bebdf",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@monaco-editor/react,next-themes,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor | imports:@monaco-editor/react, next-themes, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CodeEditor",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d2186ed88031eca5",
      "framework": "next-react",
      "imports": "@monaco-editor/react,next-themes,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/editor/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "9f94ab3ad95338afb87ff79e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1d52e3b433934beb",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security,discovery",
      "component_id": "3c5e135e7c85cef1a634f49b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0630649bd273c4de",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "4019104a714e081037daa1f4",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/json/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a91f50aca314439",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/json/route,next/server,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/api/v1/integrations/json/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "e06a0e12c94e39c63ed038c3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "70421381e827ab0b",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,security",
      "component_id": "5dda581c5bc723011644f0ab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a080cc82969eb674",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "af69d24ecdab3073577ab679",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "47290555073cec28",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic,observability,security",
      "component_id": "84a11ac6f9196d792d0086d2",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAX_VT_SUBMISSION_ENTRIES, VTSubmission, VTSubmissionStatus, generateSubmissionId, vtSubmissionsStore | imports:@/lib/virustotal | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MAX_VT_SUBMISSION_ENTRIES,VTSubmission,VTSubmissionStatus,generateSubmissionId,vtSubmissionsStore",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a0041ef990169c5",
      "framework": "next-react",
      "imports": "@/lib/virustotal",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "vt-submissions-store",
      "normalized_name": "vt-submissions-store",
      "package_manager": "pnpm",
      "path": "lib/vt-submissions-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "74e402b592f81ad31c6f98a5",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, safeJsonStringify, safeStringify | imports:clsx, tailwind-merge | logic-score:85 | security-score:55",
      "exports": "cn,safeJsonStringify,safeStringify",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "46e37a50c5c768d3",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "33e4483c6b83e9866106dc6c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalysisOptions, AnalysisResult, AnalysisType, AnalyzeRequest, AnalyzeResponse, ApiError, ApiKey, ApiMeta | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AnalysisOptions,AnalysisResult,AnalysisType,AnalyzeRequest,AnalyzeResponse,ApiError,ApiKey,ApiMeta,ApiResponse,Artifact,ArtifactType,AuditLog,Content,DeobfuscationStep,DeobfuscationTechnique,DetectionRule,EncodingType,Event,EventType,Finding,FindingCategory,IOC,IOCMetadata,IntegrationConfig,IntegrationLink,IntegrationPayload,IntegrationResponse,IntegrationType,Job,JobType,PaginationParams,RuleMetadata,Script,ScriptMetadata,ScriptVersion,Session,StoredIOCType,Tenant,TenantSettings,TestCase,User,UserPreferences,WebhookDelivery,WebhookEndpoint",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3712d6b55b549021",
      "framework": "next-react",
      "imports": "",
      "lines": 540,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "e9d50d5fcbbfa7e5f003421b",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DetectionRuleRecord, inMemoryRuleStore | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DetectionRuleRecord,inMemoryRuleStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7006eaf65c839724",
      "framework": "next-react",
      "imports": "",
      "lines": 569,
      "logic_relevance": "primary",
      "name": "rules-store",
      "normalized_name": "rules-store",
      "package_manager": "pnpm",
      "path": "lib/rules-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "da2fdc597f4ac242cc05f852",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:VTEngineResult, VTReport, VTStats, VTSubmissionResult | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "VTEngineResult,VTReport,VTStats,VTSubmissionResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9c75ea13fb3a196f",
      "framework": "next-react",
      "imports": "",
      "lines": 298,
      "logic_relevance": "primary",
      "name": "virustotal",
      "normalized_name": "virustotal",
      "package_manager": "pnpm",
      "path": "lib/virustotal.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "backend,logic",
      "component_id": "7a696f621189f3d586bae183",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for finance; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SqlQueryResult, db, query, sql, transaction | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "SqlQueryResult,db,query,sql,transaction",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d0e505eadb8bd59c",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 51,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "logic,security,automation,ai",
      "component_id": "d6a94b2519f5d70cd3f76882",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CsvExportTarget, ExportArtifact, ExportFinding, ExportFormat, ExportIOC, ExportPayload, ExportResult, ExportScript | imports:@/lib/utils | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CsvExportTarget,ExportArtifact,ExportFinding,ExportFormat,ExportIOC,ExportPayload,ExportResult,ExportScript,JsonExportOptions,exportAnalysis,exportToCSV,exportToJSON,exportToMISP,exportToMarkdown,exportToOpenIOC,exportToSARIF,exportToSTIX",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8348982127c883a8",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 858,
      "logic_relevance": "primary",
      "name": "exporters",
      "normalized_name": "exporters",
      "package_manager": "pnpm",
      "path": "lib/analysis/exporters.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "ca1606fba8ba70f15cfb835e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalysisArtifact, AnalysisEngineResult, AnalysisFinding, AnalysisIOC, AnalysisSummary, calculateThreatScore, detectCompoundThreats, detectEncodings | imports:./decoders, ./ioc-extractor, ./patterns, @/lib/types, crypto | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "AnalysisArtifact,AnalysisEngineResult,AnalysisFinding,AnalysisIOC,AnalysisSummary,calculateThreatScore,detectCompoundThreats,detectEncodings,getRiskLevel,scanHighEntropyStrings",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e04cf3200554aaa",
      "framework": "next-react",
      "imports": "./decoders,./ioc-extractor,./patterns,@/lib/types,crypto",
      "lines": 808,
      "logic_relevance": "primary",
      "name": "engine",
      "normalized_name": "engine",
      "package_manager": "pnpm",
      "path": "lib/analysis/engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "5e5677f46771b2fd70db3149",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:C2Config, ExtractedIOC, IOCExtractor, JA4Fingerprint, MSIReference, XORKeyResult, categorizeIOC, classifyIOC | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "C2Config,ExtractedIOC,IOCExtractor,JA4Fingerprint,MSIReference,XORKeyResult,categorizeIOC,classifyIOC,extractASNNumbers,extractAWSCredentials,extractAWSKeys,extractAzureStorageKeys,extractBase64Strings,extractC2Config,extractCVEs,extractCloudMetadataURLs,extractCobaltStrikeWatermarks,extractCryptoWallets,extractDiscordWebhooks,extractDomains,extractEmails,extractFilePaths,extractGUIDs,extractGitHubPATs,extractHashes,extractIPv4,extractIPv6,extractJA3Fingerprints,extractJA4Fingerprints,extractJA4HFingerprints,extractJA4LFingerprints,extractJA4SFingerprints,extractJA4SSHFingerprints,extractJA4Suite,extractJA4TFingerprints,extractJA4XFingerprints,extractJWTTokens,extractMSIReferences,extractNamedPipes,extractRegistryKeys,extractSSDeepHashes,extractSSHKeys,extractSlackTokens,extractTelegramBotTokens,extractTorOnions,extractTunnellingDomains,extractURLs,extractXORKeys,extractYARARuleNames,iocExtractor",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "83e5384c95af3793",
      "framework": "next-react",
      "imports": "",
      "lines": 1404,
      "logic_relevance": "primary",
      "name": "ioc-extractor",
      "normalized_name": "ioc-extractor",
      "package_manager": "pnpm",
      "path": "lib/analysis/ioc-extractor.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,security",
      "component_id": "695563b3c900007c789ec334",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zlib",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Decoder, DecoderResult, XORBruteForceResult, calculateEntropy, decodeBase64, decodeBase64Unicode, decodeCharCodes, decodeDeflate | imports:@/lib/types, zlib | logic-score:85 | security-score:55",
      "exports": "Decoder,DecoderResult,XORBruteForceResult,calculateEntropy,decodeBase64,decodeBase64Unicode,decodeCharCodes,decodeDeflate,decodeEncodingGetString,decodeGzip,decodeHTMLEntities,decodeHex,decodeHexEscapes,decodeROT13,decodeROT47,decodeSecureString,decodeURLEncoding,decodeUnicodeEscapes,decodeXOR,decoders,deobfuscateBackticks,deobfuscateBitwiseOps,deobfuscateCaret,deobfuscateEnvVarChars,deobfuscateFormatString,deobfuscateInvokeOperator,deobfuscateJoinSplit,deobfuscatePsSpecialVars,deobfuscateReversedStrings,deobfuscateScriptBlock,deobfuscateStringConcatenation,deobfuscateStringIndex,deobfuscateStringMethods,extractEncodedCommand,extractPayloadURLs,isHighEntropy,isPrintable,xorBruteForce,xorBruteForcePayloads",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7dc6b2feddbaeb19",
      "framework": "next-react",
      "imports": "@/lib/types,zlib",
      "lines": 2448,
      "logic_relevance": "primary",
      "name": "decoders",
      "normalized_name": "decoders",
      "package_manager": "pnpm",
      "path": "lib/analysis/decoders.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "65e7290a16f9b374222c5a98",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ADCS_PATTERNS, ADVANCED_C2_PATTERNS, AD_ATTACK_PATTERNS, ANTI_FORENSICS_PATTERNS, AnalyzeResult, C2_PATTERNS, CLOUD_PATTERNS, CRYPTOMINER_PATTERNS | imports:@/lib/types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "ADCS_PATTERNS,ADVANCED_C2_PATTERNS,AD_ATTACK_PATTERNS,ANTI_FORENSICS_PATTERNS,AnalyzeResult,C2_PATTERNS,CLOUD_PATTERNS,CRYPTOMINER_PATTERNS,DATA_EXFILTRATION_PATTERNS,DELEGATION_ABUSE_PATTERNS,DISCOVERY_PATTERNS,EVASION_PATTERNS,EXECUTION_PATTERNS,INJECTION_PATTERNS,KEYLOGGER_PATTERNS,LATERAL_MOVEMENT_PATTERNS,LOLBAS_PATTERNS,NTLM_RELAY_PATTERNS,O365_EXCHANGE_PATTERNS,OBFUSCATION_PATTERNS,PERSISTENCE_PATTERNS,PRIVILEGE_ESCALATION_PATTERNS,PatternDefinition,PatternMatch,PatternMatchResult,PatternMatcher,RANSOMWARE_PATTERNS,STEGANOGRAPHY_PATTERNS,SUPPLY_CHAIN_PATTERNS,allPatterns,matchPatterns,patternMatchers",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afa0906f4d5ddc8f",
      "framework": "next-react",
      "imports": "@/lib/types",
      "lines": 3459,
      "logic_relevance": "primary",
      "name": "patterns",
      "normalized_name": "patterns",
      "package_manager": "pnpm",
      "path": "lib/analysis/patterns.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "8a40ab0e94c8cf375bd65a90",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:C2Indicator, XorResult, extractC2Indicators, extractXorPayloads | logic-score:85 | security-score:55",
      "exports": "C2Indicator,XorResult,extractC2Indicators,extractXorPayloads",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "20dd30da93cbf7ec",
      "framework": "next-react",
      "imports": "",
      "lines": 432,
      "logic_relevance": "primary",
      "name": "c2-extractor",
      "normalized_name": "c2-extractor",
      "package_manager": "pnpm",
      "path": "lib/analysis/c2-extractor.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "9861d69d6b07f6f0ac368470",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../c2-extractor, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8b416f1d1ccca381",
      "framework": "next-react",
      "imports": "../c2-extractor,vitest",
      "lines": 155,
      "logic_relevance": "primary",
      "name": "c2-extractor.test",
      "normalized_name": "c2-extractor",
      "package_manager": "pnpm",
      "path": "lib/analysis/__tests__/c2-extractor.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "004bf4e909d1cfa3c5f8ed9b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DESA_BASE_URL, DESA_SERVICE, DESA_TRUST_POLICY_LINE, DESA_VERSION, INTEGRATION_TARGETS, PLATPHORM_BASE_SITEMAP_INDEX_URL, PLATPHORM_ROOT_GRAPH_URL, PUBLIC_ROUTES | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DESA_BASE_URL,DESA_SERVICE,DESA_TRUST_POLICY_LINE,DESA_VERSION,INTEGRATION_TARGETS,PLATPHORM_BASE_SITEMAP_INDEX_URL,PLATPHORM_ROOT_GRAPH_URL,PUBLIC_ROUTES,PublicRoute,SAMPLE_SCRIPTS,absoluteUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a99eb3c8fd53110",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/platform/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,ai",
      "component_id": "2f5f102f75691cd4b3f148cd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec, toYaml | imports:./constants | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "buildOpenApiSpec,toYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d05d2a1fe3e2c8e2",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 195,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/platform/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "cd6d5be78fd12b8df10ee26d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PUBLIC_FEED_ITEMS, buildLlmsFullTxt, buildLlmsIndex, buildLlmsTxt, buildRssXml, buildSitemapXml | imports:./auth, ./constants, @/lib/rules-store | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PUBLIC_FEED_ITEMS,buildLlmsFullTxt,buildLlmsIndex,buildLlmsTxt,buildRssXml,buildSitemapXml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "59726a7e849a9495",
      "framework": "next-react",
      "imports": "./auth,./constants,@/lib/rules-store",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/platform/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration",
      "component_id": "3c9735512c34d6ab98db1145",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureSafeVercelMetadata | imports:crypto, next/server | automation-score:95 | logic-score:85 | integration-score:55",
      "exports": "captureSafeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d7e7d6a45ce3dca5",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/platform/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "4d129a4ad1560f4f23dcbc5d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createTraceContext, traceHeaders | imports:crypto, next/server | logic-score:85 | observability-score:55",
      "exports": "TraceContext,createTraceContext,traceHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b130557c12375ec7",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "fc9c819273ee03ca8b905458",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "dns,net,util",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAX_PUBLIC_FETCH_BYTES, PUBLIC_FETCH_TIMEOUT_MS, isAcceptableScriptContentType | imports:dns, net, util | logic-score:85 | observability-score:55",
      "exports": "MAX_PUBLIC_FETCH_BYTES,PUBLIC_FETCH_TIMEOUT_MS,isAcceptableScriptContentType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a6e750964775d52",
      "framework": "next-react",
      "imports": "dns,net,util",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "url-safety",
      "normalized_name": "url-safety",
      "package_manager": "pnpm",
      "path": "lib/platform/url-safety.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "7e2d4332fd6858b02c67b4c2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthPolicy, AuthRequirement, PLATFORM_AUTH_POLICY, assertPlatphormAuth, isApiKeyRequired, isPlatphormApiKeyValid, readPlatphormApiKey | imports:crypto, next/server | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AuthPolicy,AuthRequirement,PLATFORM_AUTH_POLICY,assertPlatphormAuth,isApiKeyRequired,isPlatphormApiKeyValid,readPlatphormApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e02ebd0809436499",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "a154319e0ace562301b55914",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, MCPClientOptions, MCPContent, MCPError, MCPServerInfo, MCPTool, MCPToolResult, createDESAMCPClient | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MCPClient,MCPClientOptions,MCPContent,MCPError,MCPServerInfo,MCPTool,MCPToolResult,createDESAMCPClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b50e639e17582c4c",
      "framework": "next-react",
      "imports": "",
      "lines": 364,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "f1acbc4197f18f37ed505004",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPNetworkCatalog, MCPProviderInfo, MCPRegisteredTool, MCPRegistrationRequest, MCPRegistrationResult, MCPToolRegistry, NETWORK_SERVICES, createMCPToolRegistry | imports:./client | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MCPNetworkCatalog,MCPProviderInfo,MCPRegisteredTool,MCPRegistrationRequest,MCPRegistrationResult,MCPToolRegistry,NETWORK_SERVICES,createMCPToolRegistry,getMCPToolRegistry",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "90cd18cb2691b9e5",
      "framework": "next-react",
      "imports": "./client",
      "lines": 321,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/mcp/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "b2578d89809a0b4ced53f6f8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BreadcrumbItem, DEFAULT_FAQS, DOCUMENTATION_SLUGS, DiscoveryResponse, FAQEntry, LocaleInfo, NetworkServiceInfo, SUPPORTED_LOCALES | imports:./registry | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "BreadcrumbItem,DEFAULT_FAQS,DOCUMENTATION_SLUGS,DiscoveryResponse,FAQEntry,LocaleInfo,NetworkServiceInfo,SUPPORTED_LOCALES,ServiceEndpoints,buildDiscoveryJsonLd,buildDiscoveryResponse,buildNetworkServices,buildServiceEndpoints",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b1297df7cf8f9616",
      "framework": "next-react",
      "imports": "./registry",
      "lines": 265,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/mcp/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "d533c714d7dbb7c87181da3c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp/discovery, vitest | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "776ce012b6385740",
      "framework": "next-react",
      "imports": "@/lib/mcp/discovery,vitest",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "612923a118d5c9ae466a463d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp/registry, vitest | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3df66828b0d9040d",
      "framework": "next-react",
      "imports": "@/lib/mcp/registry,vitest",
      "lines": 175,
      "logic_relevance": "primary",
      "name": "registry.test",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/registry.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "8de11918a0504e4098adcfa0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../client, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a632ca9a7b0669c",
      "framework": "next-react",
      "imports": "../client,vitest",
      "lines": 351,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "083c6f0437460a18ab43aa98",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:VTAnalysisObject, VTAnalysisResult, VTAnalysisStats, VTConfig, VTEngineResult, VTError, VTFileAttributes, VTObject | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "VTAnalysisObject,VTAnalysisResult,VTAnalysisStats,VTConfig,VTEngineResult,VTError,VTFileAttributes,VTObject,VTResult,VTURLAttributes,createVTClient,vtDetectionRate,vtThreatLevel",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0162c75035220f7e",
      "framework": "next-react",
      "imports": "",
      "lines": 255,
      "logic_relevance": "primary",
      "name": "virustotal",
      "normalized_name": "virustotal",
      "package_manager": "pnpm",
      "path": "lib/integrations/virustotal.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,observability,security",
      "component_id": "47bdba5ee48273278a033d68",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ValidationResult, calculateBackoff, defangIOC, detectHashType, formatSVGRequest, normalizeHash, parseMCPResponse, refangIOC | imports:./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ValidationResult,calculateBackoff,defangIOC,detectHashType,formatSVGRequest,normalizeHash,parseMCPResponse,refangIOC,transformToMISP,transformToSTIX,validateKanbanCard,validateMSISubmission",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eed7e5c3d5d94e31",
      "framework": "next-react",
      "imports": "./types",
      "lines": 480,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "7fc00261d6d5033aecea7999",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IntegrationHealthStatus, JSONConfig, JSONExportRequest, JSONExportResponse, JSONImportRequest, JSONImportResponse, JSONQueryRequest, JSONQueryResponse | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "IntegrationHealthStatus,JSONConfig,JSONExportRequest,JSONExportResponse,JSONImportRequest,JSONImportResponse,JSONQueryRequest,JSONQueryResponse,JSONSchemaDefinition,JSONWebhookConfig,KanbanAttachment,KanbanBoard,KanbanBoardSettings,KanbanCard,KanbanChecklist,KanbanComment,KanbanConfig,KanbanCreateCardRequest,KanbanExternalLink,KanbanLabel,KanbanList,KanbanMember,KanbanMoveCardRequest,KanbanWebSocketEvent,MCPConfig,MCPContext,MCPPromptDefinition,MCPQueryRequest,MCPQueryResponse,MCPResourceDefinition,MCPToolCallRequest,MCPToolCallResponse,MCPToolDefinition,MSIConfig,MSIEnrichment,MSISample,MSISearchRequest,MSISearchResponse,MSISubmitRequest,MSISubmitResponse,PlatphormNewsClient,PlatphormNewsConfig,PlatphormNewsEvent,PlatphormNewsEventType,PlatphormNewsResponse,PlatphormNewsService,SVGConfig,SVGGenerateRequest,SVGGenerateResponse,SVGReportType,SVGTemplate,SVGTheme,XMLConfig,XMLFeedFormat,XMLFeedItem,XMLFeedRequest,XMLFeedResponse,XMLImportRequest,XMLImportResponse,XMLSitemapEntry",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "346bbcf9e819ac4e",
      "framework": "next-react",
      "imports": "",
      "lines": 696,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "bbe9f05b59858b633be94b31",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SERVICE_URLS, createPlatphormNewsClient, getPlatphormNewsClient | imports:./types, ./utils | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "SERVICE_URLS,createPlatphormNewsClient,getPlatphormNewsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "515c9bfcdbeaf8c5",
      "framework": "next-react",
      "imports": "./types,./utils",
      "lines": 410,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "eef58191136d9d3add646ab9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SERVICE_URLS, createPlatphormNewsClient, formatSVGRequest, getPlatphormNewsClient, parseMCPResponse, transformToMISP, transformToSTIX, usePlatphormNews | imports:./client, ./hooks, ./types, ./utils | logic-score:70 | observability-score:55",
      "exports": "SERVICE_URLS,createPlatphormNewsClient,formatSVGRequest,getPlatphormNewsClient,parseMCPResponse,transformToMISP,transformToSTIX,usePlatphormNews,usePlatphormNewsHealth,validateKanbanCard,validateMSISubmission",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "94a1f41b264a28fe",
      "framework": "next-react",
      "imports": "./client,./hooks,./types,./utils",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "83fd90081e3106c9816aabed",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "swr",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useJSONExport, useJSONQuery, useJSONSchemas, useKanbanBoard, useKanbanBoards, useKanbanCard, useKanbanCreateCard, useMCPQuery | imports:./client, ./types, swr, swr/mutation | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "useJSONExport,useJSONQuery,useJSONSchemas,useKanbanBoard,useKanbanBoards,useKanbanCard,useKanbanCreateCard,useMCPQuery,useMCPResources,useMCPTools,useMSIEnrichment,useMSISample,useMSISearch,useMSISubmit,usePlatphormNews,usePlatphormNewsHealth,useSVGGenerate,useSVGReport,useSVGTemplates",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "212ca2c868fe70d7",
      "framework": "next-react",
      "imports": "./client,./types,swr,swr/mutation",
      "lines": 363,
      "logic_relevance": "primary",
      "name": "hooks",
      "normalized_name": "hooks",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/hooks.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "b4411b9068661b38df3d5b6c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../utils, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45888d81e6cb0410",
      "framework": "next-react",
      "imports": "../utils,vitest",
      "lines": 584,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "17fdc809e9c7f832af660023",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../client, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cfa07e3625739b7f",
      "framework": "next-react",
      "imports": "../client,vitest",
      "lines": 729,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/__tests__/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "691889b5822b1a2a2b79e0b6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../client, ../utils, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0bbabce23f6f01ce",
      "framework": "next-react",
      "imports": "../client,../utils,vitest",
      "lines": 567,
      "logic_relevance": "primary",
      "name": "integration.test",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "lib/integrations/platphormnews/__tests__/integration.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security,ai",
      "component_id": "53bce2b209a926566c4a840f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DESA_MCP_TOOLS, JSON_SERVICE_URL, KANBAN_SERVICE_URL, MCP_SERVICE_URL, MSI_SERVICE_URL, SVG_SERVICE_URL, XML_SERVICE_URL | imports:@/lib/db, next/server, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DESA_MCP_TOOLS,JSON_SERVICE_URL,KANBAN_SERVICE_URL,MCP_SERVICE_URL,MSI_SERVICE_URL,SVG_SERVICE_URL,XML_SERVICE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efd5390da8e445de",
      "framework": "next-react",
      "imports": "@/lib/db,next/server,vitest",
      "lines": 1137,
      "logic_relevance": "primary",
      "name": "platphormnews.test",
      "normalized_name": "platphormnews",
      "package_manager": "pnpm",
      "path": "lib/integrations/__tests__/platphormnews.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "logic,security,automation",
      "component_id": "835f82e76f632778b6da8e5e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../virustotal, vitest | logic-score:60 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8f95f2b2a45de6fe",
      "framework": "next-react",
      "imports": "../virustotal,vitest",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "virustotal.test",
      "normalized_name": "virustotal",
      "package_manager": "pnpm",
      "path": "lib/integrations/__tests__/virustotal.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "5e06aa7b7989d1287ada1477",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/ioc-extractor, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d6530bb3e7b2c145",
      "framework": "next-react",
      "imports": "../analysis/ioc-extractor,vitest",
      "lines": 153,
      "logic_relevance": "primary",
      "name": "ioc-extractor-categorization.test",
      "normalized_name": "ioc-extractor-categorization",
      "package_manager": "pnpm",
      "path": "lib/__tests__/ioc-extractor-categorization.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "1e6651f75fc7077f47ba748e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/ioc-extractor, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "585632e5d25f6095",
      "framework": "next-react",
      "imports": "../analysis/ioc-extractor,vitest",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "ioc-extractor.test",
      "normalized_name": "ioc-extractor",
      "package_manager": "pnpm",
      "path": "lib/__tests__/ioc-extractor.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ee86648f14f786bc2c04db8a",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "94effa57ae14242d",
      "framework": "next-react",
      "imports": "../utils,vitest",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "e37bf1c4e5d81f6710005ad3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SERVER_URL | imports:@/lib/mcp/client, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "SERVER_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e40ddbd767eea31",
      "framework": "next-react",
      "imports": "@/lib/mcp/client,vitest",
      "lines": 512,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/__tests__/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,observability,security",
      "component_id": "dabb241a0441f45ccdb962fb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DB_RULE_ROW, UPDATE_PAYLOAD, VALID_PAYLOAD | imports:../../app/api/v1/rules/[id]/route, ../../app/api/v1/rules/route, ../rules-store, @/lib/db, next/server, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DB_RULE_ROW,UPDATE_PAYLOAD,VALID_PAYLOAD",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c6506d62b42f75f",
      "framework": "next-react",
      "imports": "../../app/api/v1/rules/[id]/route,../../app/api/v1/rules/route,../rules-store,@/lib/db,next/server,vitest",
      "lines": 912,
      "logic_relevance": "primary",
      "name": "rules-api.test",
      "normalized_name": "rules-api",
      "package_manager": "pnpm",
      "path": "lib/__tests__/rules-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "533a182de6967254a063fdc9",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../db, @neondatabase/serverless, vitest | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb6223867820f0a8",
      "framework": "next-react",
      "imports": "../db,@neondatabase/serverless,vitest",
      "lines": 183,
      "logic_relevance": "secondary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/__tests__/db.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "593364f26d036461305b3849",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/engine, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3ac7d7e1c47ded3c",
      "framework": "next-react",
      "imports": "../analysis/engine,vitest",
      "lines": 203,
      "logic_relevance": "primary",
      "name": "engine.test",
      "normalized_name": "engine",
      "package_manager": "pnpm",
      "path": "lib/__tests__/engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "e3cbd0fe4f3e3ff76facbb92",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../rules-store, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2281d48764f64a6a",
      "framework": "next-react",
      "imports": "../rules-store,vitest",
      "lines": 614,
      "logic_relevance": "primary",
      "name": "rules-store.test",
      "normalized_name": "rules-store",
      "package_manager": "pnpm",
      "path": "lib/__tests__/rules-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "77031e80db29bd132c74ef67",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/decoders, ../analysis/engine, ../analysis/ioc-extractor, ../analysis/patterns, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "eb3668be0b4d7ab2",
      "framework": "next-react",
      "imports": "../analysis/decoders,../analysis/engine,../analysis/ioc-extractor,../analysis/patterns,vitest",
      "lines": 2491,
      "logic_relevance": "primary",
      "name": "analysis.test",
      "normalized_name": "analysis",
      "package_manager": "pnpm",
      "path": "lib/__tests__/analysis.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "b7de5d0b71741241146af64b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/patterns, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5f1f4e2a4541c5df",
      "framework": "next-react",
      "imports": "../analysis/patterns,vitest",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "patterns.test",
      "normalized_name": "patterns",
      "package_manager": "pnpm",
      "path": "lib/__tests__/patterns.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "7d11e7f65b3c1eac36db83a3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/c2-extractor, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "38d4af62d346813b",
      "framework": "next-react",
      "imports": "../analysis/c2-extractor,vitest",
      "lines": 196,
      "logic_relevance": "primary",
      "name": "c2-extractor.test",
      "normalized_name": "c2-extractor",
      "package_manager": "pnpm",
      "path": "lib/__tests__/c2-extractor.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "0c88722ce78c1c72bb0e4c15",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/decoders, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4ad64dc024d887aa",
      "framework": "next-react",
      "imports": "../analysis/decoders,vitest",
      "lines": 191,
      "logic_relevance": "primary",
      "name": "decoders.test",
      "normalized_name": "decoders",
      "package_manager": "pnpm",
      "path": "lib/__tests__/decoders.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability,security",
      "component_id": "dbfd727b756c61f3e501a023",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:STORAGE_KEY | imports:../vt-submissions-store, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "STORAGE_KEY",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5435419ef4615e0b",
      "framework": "next-react",
      "imports": "../vt-submissions-store,vitest",
      "lines": 394,
      "logic_relevance": "primary",
      "name": "vt-submissions-store.test",
      "normalized_name": "vt-submissions-store",
      "package_manager": "pnpm",
      "path": "lib/__tests__/vt-submissions-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "logic,security,automation",
      "component_id": "8cd00e62c382774f712bfe02",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FORMATS | imports:../analysis/exporters, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "FORMATS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3623fd4d2b720273",
      "framework": "next-react",
      "imports": "../analysis/exporters,vitest",
      "lines": 429,
      "logic_relevance": "primary",
      "name": "exporters.test",
      "normalized_name": "exporters",
      "package_manager": "pnpm",
      "path": "lib/__tests__/exporters.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "17a24737cfe2edcf5343ca00",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analysis/decoders, ../analysis/engine, ../analysis/ioc-extractor, ../analysis/patterns, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "92c936670c06a14e",
      "framework": "next-react",
      "imports": "../analysis/decoders,../analysis/engine,../analysis/ioc-extractor,../analysis/patterns,vitest",
      "lines": 870,
      "logic_relevance": "primary",
      "name": "integration.test",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "lib/__tests__/integration.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation,ai",
      "component_id": "5756116a1aebd4a354f30f5b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/app/api/v1/integrations/mcp/route, next/server, vitest | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1211d2e6d12f39c8",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/mcp/route,next/server,vitest",
      "lines": 199,
      "logic_relevance": "primary",
      "name": "mcp-route.test",
      "normalized_name": "mcp-route",
      "package_manager": "pnpm",
      "path": "lib/__tests__/mcp-route.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,backend,observability,security",
      "component_id": "c2014395fb1ad123ff865d2d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "API Response Formats,next,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../api/helpers, API Response Formats, next/server, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e2689da33feaa8b",
      "framework": "next-react",
      "imports": "../api/helpers,API Response Formats,next/server,vitest",
      "lines": 547,
      "logic_relevance": "primary",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "lib/__tests__/api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability",
      "component_id": "79d08283e77a3b4c5769f439",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:DefensiveModelRequest, DefensiveModelResponse, DefensiveModelTask | imports:@/lib/platform/trace | ai-score:120 | logic-score:85 | observability-score:55 | uses-env",
      "exports": "DefensiveModelRequest,DefensiveModelResponse,DefensiveModelTask",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "da4f2d2df0bcb9d0",
      "framework": "next-react",
      "imports": "@/lib/platform/trace",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "adapter",
      "normalized_name": "adapter",
      "package_manager": "pnpm",
      "path": "lib/model/adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "b54917e5ec2b307d95ff8f84",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiResponse, checkRateLimit, corsHeaders, error, generateId, generateRequestId, parsePagination | imports:@/lib/types, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "apiError,apiResponse,checkRateLimit,corsHeaders,error,generateId,generateRequestId,parsePagination,success,withCors",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b665f1a055b6297",
      "framework": "next-react",
      "imports": "@/lib/types,next/server",
      "lines": 118,
      "logic_relevance": "primary",
      "name": "helpers",
      "normalized_name": "helpers",
      "package_manager": "pnpm",
      "path": "lib/api/helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "f52bc2dbf5fe6e74ec9ef426",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "next,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../helpers, next/server, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5eda5e0dd707a95b",
      "framework": "next-react",
      "imports": "../helpers,next/server,vitest",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "helpers.test",
      "normalized_name": "helpers",
      "package_manager": "pnpm",
      "path": "lib/api/__tests__/helpers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-desa",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0ac188347ec5e4b3fb1a7dec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65d70c9efac99142",
      "framework": "next-react",
      "imports": "",
      "lines": 5016,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "29a716f44487e2304bec3cbc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9b3a8febd9b00a83",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_COMPLETE",
      "normalized_name": "implementation-complete",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_COMPLETE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "2912ae4977de253a8c3c429d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff5226ea330c1de6",
      "framework": "next-react",
      "imports": "next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "6b0d52fe6f18b176f0efe7a4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f80a60301f687f27",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8610bbcdc1dc915eae4b5f70",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "78320aaa67b2ca7c",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0e44680a26f74651d82488bd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "776b0ee4553100da",
      "framework": "next-react",
      "imports": "",
      "lines": 9727,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ee119c79037c9ec06e65541c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a3604ff19f739344",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1ec6b5aefe62f8daef8167f7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3be9a2d861b40d61",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 33,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "0729ae9ea3830c0c89824588",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@testing-library/react, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1c2e09ffd5062a30",
      "framework": "next-react",
      "imports": "@testing-library/react,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "vitest.setup",
      "normalized_name": "vitest-setup",
      "package_manager": "pnpm",
      "path": "vitest.setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "9c8abf8589cbc434e35f9aa3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e137df16c3a64573",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "QUICK_START",
      "normalized_name": "quick-start",
      "package_manager": "pnpm",
      "path": "QUICK_START.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "7a46acbd2c1aa88c607f4733",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/phorm/platform, next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7486d16c9b35ad5",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "77a1cea994ebc3e58c6d5c42",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, for, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "alt,contentType,for,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c60b931b2c758719",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 168,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "a885fc459179a548f181f12b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/phorm/design, @/lib/phorm/platform, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "078c4f7af0e61e26",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "1f03fbbc1addd3708d4a0663",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, for, metadata, viewport | imports:@/components/theme-provider, @/components/ui/sonner, @/lib/phorm/platform, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,for,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c4c01cf40048b54",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/components/ui/sonner,@/lib/phorm/platform,@vercel/analytics/next,next,next/font/google",
      "lines": 168,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5b773d31a25bde30cfdd7914",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, for, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "alt,contentType,for,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e7d3123f082d1d5e",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 165,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "d5c4090cf7ae54d523833996",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "42036fe0f1c147dd",
      "framework": "next-react",
      "imports": "next",
      "lines": 57,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "bd0ba219e25f6a14e9a0f069",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DesignEditor, for | imports:@/components/design/ai-assistant, @/components/design/canvas, @/components/design/export-panel, @/components/design/header, @/components/design/image-uploader, @/components/design/integrations-panel, @/components/design/layers-panel, @/components/design/template-library | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DesignEditor,for",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94d11b089c524f94",
      "framework": "next-react",
      "imports": "@/components/design/ai-assistant,@/components/design/canvas,@/components/design/export-panel,@/components/design/header,@/components/design/image-uploader,@/components/design/integrations-panel,@/components/design/layers-panel,@/components/design/template-library,@/components/design/toolbar,@/components/phorm-loader,@/components/ui/button,@/components/ui/drawer,@/components/ui/resizable,@/components/ui/tabs,@/components/ui/use-toast,@/hooks/use-design-persistence,@/hooks/use-mobile,@/lib/analytics,lucide-react,next/dynamic,react",
      "lines": 708,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "6707f67659eaf1256c355dd7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d6ae58785b95c8f9",
      "framework": "next-react",
      "imports": "",
      "lines": 406,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "c5c0ede92edc871562347147",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f89045bfcc313bb",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a142e378aa5e76735fecba0b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99919f608d27f571",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6353c368c66c36e977141b2e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72ff0676392c3707",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "841d873a1ed8fec3d6a3d65d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, for | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/separator, @/components/ui/tabs, lucide-react, next/link | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RoadmapPage,for",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f04e4577fd345c78",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/separator,@/components/ui/tabs,lucide-react,next/link,react",
      "lines": 547,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "4fae3e15cafc25a9913a6500",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, for, metadata | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b06130c1596f899",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 270,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security",
      "component_id": "f9154da34c1b7769b4b372c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "25153c98357c435b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/platphorm.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "df507e2ce5970a4ab183a7f9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "647e0c29f5057e93",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "0812aaf7f365dfad31dc5b17",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ddad761e5d4b51ca",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "51bac064407941bccc4f6ccc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "aabfe1d53607354d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d019987d72b6d5b9657f18d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "df95673ca779cff1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "139d1cb62395404185a7ece0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bf75f3d1bcb514ea",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "ca4fbc2b8a2cc04a3d2945cd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/middleware, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f9eec1047dffe34f",
      "framework": "next-react",
      "imports": "@/lib/api/middleware,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,security,ai",
      "component_id": "7b59bce96db9f668d0e30b29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform | backend-score:125 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d36357fd342d31d",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation",
      "component_id": "0d457e589bd8be6b18daadba",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsLayout, for | imports:@/components/ui/button, @/components/ui/scroll-area, @/lib/utils, lucide-react, next-themes, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "DocsLayout,for",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2bfff7ca2f138b8c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/scroll-area,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/docs/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "f4376ca4580490dbaebea295",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, for, metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DocsPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "519e5f74f5349145",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 247,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "cb541fcf6556f605f212be22",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SharingPage, for, metadata | imports:@/components/design/share-dialog, @/components/ui/alert, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/hooks/use-share, lucide-react, next | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SharingPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e6f06f6d9d27f36",
      "framework": "next-react",
      "imports": "@/components/design/share-dialog,@/components/ui/alert,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/hooks/use-share,lucide-react,next,react",
      "lines": 689,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/sharing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,integration,observability,security,automation,ai",
      "component_id": "77aa39422ee2aea5386a7aaf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MCPDocsPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, next | frontend-score:115 | process-score:80 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MCPDocsPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f82f9f6e104c0610",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,next",
      "lines": 273,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "57c4ac7db851aac762f57777",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuickStartPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "QuickStartPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ee30d090cd72ceb",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,next",
      "lines": 220,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/quickstart/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "1038b26bcf509f09c489100c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CanvasPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CanvasPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13e9982a03ba5691",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,next",
      "lines": 437,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/canvas/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "abb0e2cef8537741c050f098",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsPage, for, metadata | imports:@/components/design/integrations-panel, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "IntegrationsPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23a43b5dbad37974",
      "framework": "next-react",
      "imports": "@/components/design/integrations-panel,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 362,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/integrations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "0f6e8bf711dc5f8ed2ceac69",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SVGIntegrationPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/hooks/use-svg-import, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SVGIntegrationPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40ba7465f24a0b64",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/hooks/use-svg-import,next",
      "lines": 447,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/integrations/svg/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "0f4b1b9d4e0a65e144e8bfa6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataBindingPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/hooks/use-batch-generate, @/hooks/use-data-binding, @/hooks/use-sheet-subscription, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DataBindingPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a784949aefe8949e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/hooks/use-batch-generate,@/hooks/use-data-binding,@/hooks/use-sheet-subscription,next",
      "lines": 572,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/integrations/data/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "225dcc2df46294d13935207a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ElementsPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/design/store, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ElementsPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d699460b84d77b90",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/design/store,next",
      "lines": 640,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/elements/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "5082b9cd9f4e54cefc99d33f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArchitecturePage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ArchitecturePage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1126b9805d4a59cf",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,next",
      "lines": 430,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/architecture/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,process",
      "component_id": "414791f92b45aebf1d35798f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APIDocsPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, next | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "APIDocsPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "87b2105a06356e3d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,next",
      "lines": 290,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "639ad1dd97fefac596400691",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportPage, exportToSvg, for, metadata | imports:@/components/design/export-panel, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/hooks/use-export, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ExportPage,exportToSvg,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68a9f1e2fbc9a712",
      "framework": "next-react",
      "imports": "@/components/design/export-panel,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/hooks/use-export,next",
      "lines": 482,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/export/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,process,backend,ui,integration,observability,security,automation",
      "component_id": "f5afbbe0ebce1e0a3be63429",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,crypto,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:WebhooksPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, crypto, next | frontend-score:115 | process-score:80 | backend-score:70 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "WebhooksPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ed7268931c2e89f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,crypto,next",
      "lines": 609,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/webhooks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "1cb78dd19437bdba99801241",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@dnd-kit/core,@dnd-kit/modifiers,@dnd-kit/sortable,@dnd-kit/utilities,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DragDropPage, for, metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/hooks/use-drag-drop, @dnd-kit/core, @dnd-kit/modifiers, @dnd-kit/sortable, @dnd-kit/utilities | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DragDropPage,for,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94c1dc675af005b0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/hooks/use-drag-drop,@dnd-kit/core,@dnd-kit/modifiers,@dnd-kit/sortable,@dnd-kit/utilities,next,react",
      "lines": 811,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/drag-drop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "27f05a0d44a95726f535435a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7d8e689ef22812e6",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "febdeb60cb73498081f015b7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "68f0a75f35768503",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "21a7de26e24e9803464dfd36",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/phorm/discovery, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0282dd1790fcc5dd",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "dd8cdd629dc445865e8f4745",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5965bf2a4a542500",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/artifacts/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "47e813f6f2f27fd0ab2cc4a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d6b5435b8be64577",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server,zod",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "43211cb3afdf61149bbfdfbf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cae3f01864cfe238",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server,zod",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2fcea9b25b805bb84cad6629",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "15b36fd09756326c",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/artifacts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9d591a8091cfc7d161e7871c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e761fc63867eb861",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/screenshot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "79a28af5858b0695c38115b8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f8109e066e9259c",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/review/evals/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c0b207960006c44e75a75b21",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "93b4321530ef14b2",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/review/browserops/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "3d78fb030ca44f9bff7e0bf7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8ea6ae5ca88ea563",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/prompts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5814791c62cc75e5b4cca66f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/phorm/design, @/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "edbbdc98be77963a",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "007f22efcf0110590d640d9a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cee75852631eecdb",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bfd1a3c404c797c414de513c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b59fe0eb1ed218a5",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/designs/[id]/reviews/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5b4a1ff43071410694d66f7a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba82f9e5f034b5a7",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submit/design/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3cb86764aafe88e854090ca6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "374f17712d1c48a6",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c119306e9640bf2e40db96b8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "987e37cd7f2c72c1",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "443c643ebcf7f886a82e8a25",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0bd50b97b171039f",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "dbf1f421ef389b1f53f15d9f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d191f4d1925f837b",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "9ee32c18daf2d65ea6bf514e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1eb12b53222f7288",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "501d0683474deb8c7545f877",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "04f721d8f31fdc58",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "aea5451921f793b6e2502901",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2092478d2adc127",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6e69733cb73562a9e0c01b54",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62dd63f8843b9eef",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3d78ca4facb7ef61e1fbed84",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28a9337b5e642e74",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generation-runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "091e841ba1707080d81ed271",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "224c9707b7b6efea",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "9d86b71fef08239a00a4661b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/design, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf5d3feb8bd08586",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "91d7a34361b47a4f2440c2e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/design, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48918371f367e01e",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "46b714001a1a8e8a200a10c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/design, @/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a58f503ec475f062",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[id]/instantiate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "17f666196dc018b8ddc43bb7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/phorm/design, @/lib/phorm/platform, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7a3e62a244774b2d",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,next/server,zod",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "01f5f4af18f2a7100b0813e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/design, @/lib/phorm/platform, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2348ad095e5fd2a5",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/platform,next/server,zod",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/svg/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4111f08d73bb928e59ede8f3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83a2d116ad05adcd",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "f37a523b7960b3819fed6f93",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f187c4871a70aa5d",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ba6f06df5d64c8f32acf51de",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d24bd693fbee2ef5",
      "framework": "next-react",
      "imports": "@/lib/phorm/platform,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "8f8518022a49e9496d5e7b31",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/phorm/network, @/lib/phorm/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "500cefa7aafbe537",
      "framework": "next-react",
      "imports": "@/lib/phorm/network,@/lib/phorm/platform,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "692ade077c80f6cc793754e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/phorm/design, @/lib/phorm/discovery, @/lib/phorm/network, @/lib/phorm/platform, @/lib/phorm/server-store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba5128ea454441b8",
      "framework": "next-react",
      "imports": "@/lib/phorm/design,@/lib/phorm/discovery,@/lib/phorm/network,@/lib/phorm/platform,@/lib/phorm/server-store,next/server",
      "lines": 205,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "bc3107e3ba743aacb64afbd6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a931b39871887b64",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "64f88041916e7b391dce8b34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api/middleware, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1132791cd91a076",
      "framework": "next-react",
      "imports": "@/lib/api/middleware,next/server",
      "lines": 264,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/jsonld/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "ab88e5c918979b229661cf7a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, @/lib/phorm/platform | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "278fa9eaf3fe2154",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,@/lib/phorm/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "1b248598d88f90bcc3385570",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phorm/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9d1b6fa7fe539e8c",
      "framework": "next-react",
      "imports": "@/lib/phorm/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "659f05bcb65b7c28e709fa9e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResizeObserver | imports:../../app/page, ../../components/ui/use-toast, ../../hooks/use-mobile, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "ResizeObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f33f097cdf1a5d81",
      "framework": "next-react",
      "imports": "../../app/page,../../components/ui/use-toast,../../hooks/use-mobile,@testing-library/react,react,vitest",
      "lines": 222,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "tests/app/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "82fec21dfad0a21b84c31c5b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/design/canvas, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6211a6106e0544b0",
      "framework": "next-react",
      "imports": "../../components/design/canvas,@testing-library/react,react,vitest",
      "lines": 91,
      "logic_relevance": "none",
      "name": "canvas.test",
      "normalized_name": "canvas",
      "package_manager": "pnpm",
      "path": "tests/components/canvas.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend",
      "component_id": "5488e57abce8b92e03eb6989",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/button, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a79ef0e2c0615855",
      "framework": "next-react",
      "imports": "@/components/ui/button,@testing-library/react,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "tests/components/ui/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "8b8d156e1cf16449b343a0a5",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "@testing-library/react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:../../../components/ui/badge, @testing-library/react | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11bf6782c13b087d",
      "framework": "next-react",
      "imports": "../../../components/ui/badge,@testing-library/react",
      "lines": 9,
      "logic_relevance": "none",
      "name": "badge.test",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "tests/components/ui/badge.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "8e782065ae11b4716d5a71e3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../components/design/header, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e46fa34bc65b82a2",
      "framework": "next-react",
      "imports": "../../../components/design/header,@testing-library/react,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "header.test",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "tests/components/design/header.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "8862b1bd9f62ad3e6cd35e24",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/design/toolbar, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39a94fccdc985c40",
      "framework": "next-react",
      "imports": "@/components/design/toolbar,@testing-library/react,vitest",
      "lines": 113,
      "logic_relevance": "none",
      "name": "toolbar.test",
      "normalized_name": "toolbar",
      "package_manager": "pnpm",
      "path": "tests/components/design/toolbar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability",
      "component_id": "12203becbff7a25944439b90",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileStatus | imports:../../hooks/use-mobile, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | observability-score:55",
      "exports": "MobileStatus",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c701ea4b5b2f206",
      "framework": "next-react",
      "imports": "../../hooks/use-mobile,@testing-library/react,react,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "use-mobile.test",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-mobile.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "6bf64957a4a6366ca2801415",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "78837a5fb07e2f7c",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "2a060fff58291b6a20de4259",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/export/svg/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d35be584e6ad88e9",
      "framework": "next-react",
      "imports": "@/app/api/v1/export/svg/route,next/server,vitest",
      "lines": 50,
      "logic_relevance": "none",
      "name": "v1-export.test",
      "normalized_name": "v1-export",
      "package_manager": "pnpm",
      "path": "tests/api/v1-export.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "bc9e89d9fcaa440dc8b11460",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "424b666885f0a33e",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/route,next/server,vitest",
      "lines": 52,
      "logic_relevance": "none",
      "name": "v1-integrations.test",
      "normalized_name": "v1-integrations",
      "package_manager": "pnpm",
      "path": "tests/api/v1-integrations.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "35dfe495b1917414b058120a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/submit/design/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8e67a470df7254b3",
      "framework": "next-react",
      "imports": "@/app/api/v1/submit/design/route,next/server,vitest",
      "lines": 43,
      "logic_relevance": "none",
      "name": "submit-design.test",
      "normalized_name": "submit-design",
      "package_manager": "pnpm",
      "path": "tests/api/submit-design.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "7e3d8a9515bde9420401b7e8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, @/app/feed.xml/route, @/app/llms-index.json/route, @/app/openapi.yaml/route, @/app/rss.xml/route, @/app/sitemap, @/app/sitemap-index.xml/route, next/server | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f9e4a284b635c7ef",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/app/feed.xml/route,@/app/llms-index.json/route,@/app/openapi.yaml/route,@/app/rss.xml/route,@/app/sitemap,@/app/sitemap-index.xml/route,next/server,vitest",
      "lines": 64,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "tests/api/discovery.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,process",
      "component_id": "d945846508ac7b6a2be116f6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "822a51cc613148a3",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "tests/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "e7a671ed870e56b1bec47e0d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/designs/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b3ed2f2ffd22446",
      "framework": "next-react",
      "imports": "@/app/api/v1/designs/route,next/server,vitest",
      "lines": 76,
      "logic_relevance": "none",
      "name": "v1-designs.test",
      "normalized_name": "v1-designs",
      "package_manager": "pnpm",
      "path": "tests/api/v1-designs.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "253de1cf68e16279be61515d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1205f361a8ab4da3",
      "framework": "next-react",
      "imports": "@/app/api/health/route,next/server,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "666d815d219e17079dfd92c7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ddf63142824c12c2",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "ax-ux",
      "normalized_name": "ax-ux",
      "package_manager": "pnpm",
      "path": "docs/ax-ux.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "9818fcada176e0493be09776",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/hooks",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:MyComponent, translations | imports:@/hooks/use-i18n | process-score:145 | observability-score:55 | security-score:55",
      "exports": "MyComponent,translations",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "250045c80406440f",
      "framework": "next-react",
      "imports": "@/hooks/use-i18n",
      "lines": 57,
      "logic_relevance": "none",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "docs/i18n.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7e61e298aa0473c21e687021",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6123457f99bb86e7",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "architecture",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/architecture.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "41f58fc2188f3be26f140b66",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "583acf8b3789372f",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/api.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,ai",
      "component_id": "afb6eb7e9f20169a376d769f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2470de81f1e68b0c",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0ab93cd51d63b02a408ef723",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "41a525218993a060",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "seo-aeo",
      "normalized_name": "seo-aeo",
      "package_manager": "pnpm",
      "path": "docs/seo-aeo.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "01b9ed6c89039d757339964b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f2f0787b1b3e4151",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "FEATURES_IMPLEMENTED",
      "normalized_name": "features-implemented",
      "package_manager": "pnpm",
      "path": "docs/FEATURES_IMPLEMENTED.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c555975632190e4381bbf3f1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5224587ee5c91bab4e0dd7ca",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9fea04b89c17d056",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0cf353aa19da46e3e1cbff9d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhormLoader | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PhormLoader",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "444544f852234e08",
      "framework": "next-react",
      "imports": "react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "phorm-loader",
      "normalized_name": "phorm-loader",
      "package_manager": "pnpm",
      "path": "components/phorm-loader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a18363427c3e24a6ef9dfc54",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8fa0e1aef610d511ab88dc09",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "03ad4201fca9311951100622",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dd90a4da5aeafb93",
      "framework": "next-react",
      "imports": "react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "acdb63d2c970325a08ef9fd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "67d8b71a4b382d6d84b0ac3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "eb967024ea665bef5dae521e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "32106868acfc7b9ba4b1c59e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "40365141ed4f35dd14711747",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f9e508d0f94b33b4586f80cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "efbcebd25a6f3275d40dadb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6e42d79f63d4cbb85c74f18d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "70e79d083e611a2ed4d59dc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5acd6f680ce07afd",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 40,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "57de94252525e7bc595cf9ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "59a9ac1735fdfad83035fa2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5a65351fad52655f4812ee8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "78e6a74c311dfcbfaeba6384",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5f292b66393de8e31bdde4e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c76159c22e44cc4c9d4b48dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e7c2c574d632f8c410a7601c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ab3cd34125d38e1c5f9663d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "482d7883a3ed1e212707b3f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "353d86f4f8019b5830a76d9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "23a09f42daa5ee42b62582d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b8b77c60bc75fc0174a23237",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e77ca6f7a80d860adf924aac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "30d6685cac677f25d866d4cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bfe2b771b7251aaee3ac9aa2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "880b8368716e878caab49407",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f22fed25cdc05aa",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5ecebf7d229b9a99bca30f99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "e4e60262fcbe4b395fc5dae9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2ded2d18ceca2c6fbdcc84ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "48d2c5c9431483f720a7986b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ebe51d50243d3f0b512fbe04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4a814f51337b708bf2dad76e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "482370d446a498cd444b0be3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "542f3f74498ee770a356f00b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1090b01bb2bbe6fd6b1fe17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0e5cd348080aa9c03f3e40d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d64e13cb0c346d74f026f024",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dfc228dd1a76beccb254566b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "47cb10c3db37af5347a30d4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6047147344937b0122aa6e3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "adff7d7d467c327d14af31bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "082840461b08039543816adc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "04ab4d1fb0b9fd396a06e177",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f8d166b0e9bf61ecad9d4e66",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "505a51bc8096d25ab461b2eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "4b30717c424c56c74a8f703f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "da5bd7bc596f2f97fb057afb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a7fed6c3096a1f5536d1d6c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "076d34e2d5b6331af5ad298f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d6cd19e990012097f055792e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a531c3eb8d38a1617112fc19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ad61db237c473f943c51f128",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8ffa369aec10d9f52a0fc924",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "3a9bd90512481d676b87c0e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6b15497aaa25ee57f7ba3fb4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "63c6a6518bf55af98ad6dd3e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsPanel | imports:./canvas, @/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/lib/phorm/design, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IntegrationsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aff2aba30bcdc85d",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/lib/phorm/design,lucide-react,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "integrations-panel",
      "normalized_name": "integrations-panel",
      "package_manager": "pnpm",
      "path": "components/design/integrations-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "236a7f41c82eaec250fa000c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:TemplateLibrary | imports:./canvas, @/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/lib/phorm/design, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TemplateLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e364cc23ce7ee81",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/lib/phorm/design,lucide-react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "template-library",
      "normalized_name": "template-library",
      "package_manager": "pnpm",
      "path": "components/design/template-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "120fa962f33f25ce48e7a1de",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DropZone | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DropZone",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "caf2e18d3adfc052",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 112,
      "logic_relevance": "none",
      "name": "drop-zone",
      "normalized_name": "drop-zone",
      "package_manager": "pnpm",
      "path": "components/design/drop-zone.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f72fa1764361b01134e860f6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Toolbar | imports:./canvas, @/components/ui/button, @/components/ui/popover, @/components/ui/separator, @/components/ui/slider, @/components/ui/tooltip, @/lib/analytics, @/lib/utils | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Toolbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "875ff757bfe61d79",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/button,@/components/ui/popover,@/components/ui/separator,@/components/ui/slider,@/components/ui/tooltip,@/lib/analytics,@/lib/utils,lucide-react",
      "lines": 514,
      "logic_relevance": "none",
      "name": "toolbar",
      "normalized_name": "toolbar",
      "package_manager": "pnpm",
      "path": "components/design/toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5b6007b68040d341b256e05d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareDialog | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/api/mcp-client, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ShareDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9fd5d4bdac0c1fb9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/api/mcp-client,lucide-react,react",
      "lines": 317,
      "logic_relevance": "none",
      "name": "share-dialog",
      "normalized_name": "share-dialog",
      "package_manager": "pnpm",
      "path": "components/design/share-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b060568f7aa383e21d059edc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@dnd-kit/core,@dnd-kit/sortable,@dnd-kit/utilities,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LayersPanel | imports:./canvas, @/components/ui/button, @/components/ui/scroll-area, @/lib/utils, @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LayersPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fea7d00f1e3d0040",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/button,@/components/ui/scroll-area,@/lib/utils,@dnd-kit/core,@dnd-kit/sortable,@dnd-kit/utilities,lucide-react",
      "lines": 268,
      "logic_relevance": "none",
      "name": "layers-panel-dnd",
      "normalized_name": "layers-panel-dnd",
      "package_manager": "pnpm",
      "path": "components/design/layers-panel-dnd.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6d2b8870e981f0cb788aea26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,next-themes,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/separator, lucide-react, next-themes, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f52b7cb8075ca9c6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/separator,lucide-react,next-themes,next/link,react,sonner",
      "lines": 265,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/design/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,frontend,ui,security,automation",
      "component_id": "55531326781897db425c96b1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIAssistant, generationToCanvasElements | imports:./canvas, @/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/select, @/components/ui/textarea, @/lib/phorm/design, @/lib/utils | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "AIAssistant,generationToCanvasElements",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "073f6053b2755ead",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/select,@/components/ui/textarea,@/lib/phorm/design,@/lib/utils,lucide-react,react",
      "lines": 142,
      "logic_relevance": "none",
      "name": "ai-assistant",
      "normalized_name": "ai-assistant",
      "package_manager": "pnpm",
      "path": "components/design/ai-assistant.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "e96eb013b99fa48849b3aa11",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportPanel | imports:./canvas, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/scroll-area, @/components/ui/select, @/components/ui/separator | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ExportPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9c8e98ecda6848a",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/scroll-area,@/components/ui/select,@/components/ui/separator,@/components/ui/slider,@/components/ui/switch,@/components/ui/tabs,lucide-react,react",
      "lines": 402,
      "logic_relevance": "none",
      "name": "export-panel",
      "normalized_name": "export-panel",
      "package_manager": "pnpm",
      "path": "components/design/export-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1a7dc9bf43c0b5ad03ca0783",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Canvas, CanvasElement, Tool | imports:@/lib/analytics, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Canvas,CanvasElement,Tool",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01a80267a55ae790",
      "framework": "next-react",
      "imports": "@/lib/analytics,@/lib/utils,react",
      "lines": 607,
      "logic_relevance": "none",
      "name": "canvas",
      "normalized_name": "canvas",
      "package_manager": "pnpm",
      "path": "components/design/canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8686aebf29ce072117358c4c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageUploader | imports:./canvas, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/scroll-area, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ImageUploader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f181ada9af54c98",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/scroll-area,@/components/ui/tabs,@/lib/utils,lucide-react,react",
      "lines": 440,
      "logic_relevance": "none",
      "name": "image-uploader",
      "normalized_name": "image-uploader",
      "package_manager": "pnpm",
      "path": "components/design/image-uploader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "68d888063f277c02569c0e70",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LayersPanel | imports:./canvas, @/components/ui/button, @/components/ui/scroll-area, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LayersPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69b481cfbe8fe8ef",
      "framework": "next-react",
      "imports": "./canvas,@/components/ui/button,@/components/ui/scroll-area,@/lib/utils,lucide-react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "layers-panel",
      "normalized_name": "layers-panel",
      "package_manager": "pnpm",
      "path": "components/design/layers-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "6fdd22b5c1dbdafd3da92fa0",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nContext, I18nProvider, useI18n | imports:@/lib/i18n, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "I18nContext,I18nProvider,useI18n",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67d874c6fcc93742",
      "framework": "next-react",
      "imports": "@/lib/i18n,react",
      "lines": 148,
      "logic_relevance": "none",
      "name": "use-i18n",
      "normalized_name": "use-i18n",
      "package_manager": "pnpm",
      "path": "hooks/use-i18n.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "43d0b8fc7a19aefc6dd8246c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@dnd-kit/core,@dnd-kit/sortable,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DragDropContextConfig, DragItem, useDragDrop, useSortableItem | imports:@dnd-kit/core, @dnd-kit/sortable, react | observability-score:55 | security-score:55",
      "exports": "DragDropContextConfig,DragItem,useDragDrop,useSortableItem",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c39178dbe670f21e",
      "framework": "next-react",
      "imports": "@dnd-kit/core,@dnd-kit/sortable,react",
      "lines": 142,
      "logic_relevance": "none",
      "name": "use-drag-drop",
      "normalized_name": "use-drag-drop",
      "package_manager": "pnpm",
      "path": "hooks/use-drag-drop.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "7cf201a92829dec40441c121",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DesignDocument, useDesignPersistence | imports:react | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DesignDocument,useDesignPersistence",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f53279e94cb591fb",
      "framework": "next-react",
      "imports": "react",
      "lines": 315,
      "logic_relevance": "none",
      "name": "use-design-persistence",
      "normalized_name": "use-design-persistence",
      "package_manager": "pnpm",
      "path": "hooks/use-design-persistence.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "9e4158a0ffbe55e69ce758b1",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsEvent, EventType, analytics | logic-score:85 | observability-score:55 | uses-env",
      "exports": "AnalyticsEvent,EventType,analytics",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b466d66fb5d83a2d",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "logic,automation",
      "component_id": "8d76a882183de1632a1cb82b",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85 | automation-score:45",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d96bb648e2796501",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "d80cfe3350211067284c053d",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:clamp, createBaseElement, createDefaultCanvas, createEllipse, createImage, createLine, createPath, createRectangle | imports:./types | logic-score:85",
      "exports": "clamp,createBaseElement,createDefaultCanvas,createEllipse,createImage,createLine,createPath,createRectangle,createText,deepClone,distance,documentToSVG,elementToSVG,escapeXML,generateId,getPathBounds,isPointInElement,pathPointsToD,snapToGrid",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6c098fab5fb2189d",
      "framework": "next-react",
      "imports": "./types",
      "lines": 372,
      "logic_relevance": "primary",
      "name": "canvas-utils",
      "normalized_name": "canvas-utils",
      "package_manager": "pnpm",
      "path": "lib/design/canvas-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "01ac29ead08be14e6b2818ba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DesignAction, DesignProvider, DesignState, useDesign, useDesignActions, useDesignDocument, useDesignEditor, useSelectedElements | imports:./canvas-utils, ./types, react | frontend-score:90 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "DesignAction,DesignProvider,DesignState,useDesign,useDesignActions,useDesignDocument,useDesignEditor,useSelectedElements",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f25a546bfa2d58b",
      "framework": "next-react",
      "imports": "./canvas-utils,./types,react",
      "lines": 624,
      "logic_relevance": "secondary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/design/store.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "efc132e962080d20437b55e6",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/components,jspdf",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ExportHistory, ExportPreset, addToHistory, clearHistory, defaultPresets, deletePreset, getHistory, loadPresets | imports:@/components/design/canvas, jspdf | logic-score:85 | observability-score:55",
      "exports": "ExportHistory,ExportPreset,addToHistory,clearHistory,defaultPresets,deletePreset,getHistory,loadPresets,savePreset",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9684b40cbd9b16b3",
      "framework": "next-react",
      "imports": "@/components/design/canvas,jspdf",
      "lines": 242,
      "logic_relevance": "primary",
      "name": "export-utils",
      "normalized_name": "export-utils",
      "package_manager": "pnpm",
      "path": "lib/design/export-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9413335ee3b2089bdd89beda",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, BaseElement, BlurEffect, CanvasSettings, CollaborationState, CollaboratorCursor, DEFAULT_EXPORT_PRESETS, DataBinding | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "APIResponse,BaseElement,BlurEffect,CanvasSettings,CollaborationState,CollaboratorCursor,DEFAULT_EXPORT_PRESETS,DataBinding,DesignDocument,DesignElement,DocumentMetadata,EditorState,ElementEffects,ElementType,EllipseElement,ExportPreset,ExportSettings,FrameElement,GroupElement,HistoryEntry,ImageElement,IntegrationSettings,LineElement,PaginatedResponse,PathElement,PathPoint,RectangleElement,ShadowEffect,ShapeStyles,TextElement,TextStyles,ToolType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c80e252927874c53",
      "framework": "next-react",
      "imports": "",
      "lines": 360,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/design/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "3674600b6064f3d49ed2918f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_EXPORT_PRESETS, DesignProvider, clamp, createBaseElement, createDefaultCanvas, createEllipse, createImage, createLine | imports:./canvas-utils, ./store, ./types | logic-score:70",
      "exports": "DEFAULT_EXPORT_PRESETS,DesignProvider,clamp,createBaseElement,createDefaultCanvas,createEllipse,createImage,createLine,createPath,createRectangle,createText,deepClone,distance,documentToSVG,elementToSVG,escapeXML,generateId,getPathBounds,isPointInElement,pathPointsToD,snapToGrid,useDesign,useDesignActions,useDesignDocument,useDesignEditor,useSelectedElements",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b9a7efd1bf307bc8",
      "framework": "next-react",
      "imports": "./canvas-utils,./store,./types",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/design/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "f305f2e3d38e9d06cd1f9b83",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIErrorResponse, APISuccessResponse, checkRateLimit, createErrorResponse, createSuccessResponse, generateRequestId, getCORSHeaders, getClientIP | imports:next/headers, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "APIErrorResponse,APISuccessResponse,checkRateLimit,createErrorResponse,createSuccessResponse,generateRequestId,getCORSHeaders,getClientIP,isTrustedOrigin,logRequest,schemas,validateAPIKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ff3b3b1d363967df",
      "framework": "next-react",
      "imports": "next/headers,next/server",
      "lines": 368,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/api/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "9819f135a607e78edd1c2709",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AIInteraction, ContextData, MCPContextPayload, createContextFromDesign, createMCPPayload, deleteLocalContext, getLocalContexts, saveContextLocally | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "AIInteraction,ContextData,MCPContextPayload,createContextFromDesign,createMCPPayload,deleteLocalContext,getLocalContexts,saveContextLocally",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2056d61b534f43b5",
      "framework": "next-react",
      "imports": "",
      "lines": 183,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/api/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "e1f9e6504db17123dc4bfe15",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:// API key validation\n  validateAPIKey, // CORS\n  isTrustedOrigin, // Middleware wrapper\n  withAPIMiddleware, // Rate limiting\n  checkRateLimit, // Request utilities\n  generateRequestId, // Response helpers\n  createErrorResponse, // Validation schemas\n  schemas, createSuccessResponse | imports:./middleware | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "// API key validation\n  validateAPIKey,// CORS\n  isTrustedOrigin,// Middleware wrapper\n  withAPIMiddleware,// Rate limiting\n  checkRateLimit,// Request utilities\n  generateRequestId,// Response helpers\n  createErrorResponse,// Validation schemas\n  schemas,createSuccessResponse,getCORSHeaders,getClientIP,logRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6440b2e7e41db2b6",
      "framework": "next-react",
      "imports": "./middleware",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/api/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,observability,security,ai",
      "component_id": "acf4724c5f8929388c2fca06",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TranslationKey, getTranslations, t, translations | imports:./config | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TranslationKey,getTranslations,t,translations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6cea7facbcf4d186",
      "framework": "next-react",
      "imports": "./config",
      "lines": 594,
      "logic_relevance": "primary",
      "name": "translations",
      "normalized_name": "translations",
      "package_manager": "pnpm",
      "path": "lib/i18n/translations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "e206d30ba2b764c31768ee73",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, TranslationDict, defaultLocale, detectLocale, en, es, formatDate, formatNumber | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Locale,TranslationDict,defaultLocale,detectLocale,en,es,formatDate,formatNumber,formatRelativeTime,getTranslations,localeDirections,localeNames,locales,t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0e1e1e67ca193a39",
      "framework": "next-react",
      "imports": "",
      "lines": 347,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "e982f040345b85e42b1a0e82",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getLocaleFromHeaders, isValidLocale, localeDirections, localeNames, localeRegions, locales | logic-score:85",
      "exports": "Locale,defaultLocale,getLocaleFromHeaders,isValidLocale,localeDirections,localeNames,localeRegions,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "441a66d6ddad5d1f",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "96f45ac4444b5df63c894bab",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkSite, routeComplianceSummary | imports:./platform | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "NetworkSite,routeComplianceSummary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b1802d756b7eacc",
      "framework": "next-react",
      "imports": "./platform",
      "lines": 152,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/phorm/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "94534c53566d34c9ceacfd87",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addPrompt, createDegradedReview, createDesign, createExportArtifact, createGenerationRun, createLocalReview, deleteDesign, getArtifact | imports:./design, ./platform | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "addPrompt,createDegradedReview,createDesign,createExportArtifact,createGenerationRun,createLocalReview,deleteDesign,getArtifact,getDesign,getGenerationRun,listArtifacts,listDesigns,listPrompts,listReviews,phormStore,updateDesign",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "79ee2fefa52cc8da",
      "framework": "next-react",
      "imports": "./design,./platform",
      "lines": 258,
      "logic_relevance": "primary",
      "name": "server-store",
      "normalized_name": "server-store",
      "package_manager": "pnpm",
      "path": "lib/phorm/server-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "36f8528c697d9235b1191ed9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorCode, BASE_SITEMAP_INDEX_URL, PHORM_BASE_URL, PHORM_SERVICE, PHORM_SERVICE_NAME, PHORM_VERSION, PlatformTraceContext, ROOT_GRAPH_URL | imports:crypto, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "ApiErrorCode,BASE_SITEMAP_INDEX_URL,PHORM_BASE_URL,PHORM_SERVICE,PHORM_SERVICE_NAME,PHORM_VERSION,PlatformTraceContext,ROOT_GRAPH_URL,TRUST_POLICY_LINE,corsHeaders,createTraceContext,emitSpan,error,generateRequestId,getServerPersistenceStatus,isPlatformAuthenticated,ok,platformIntegrations,publicRouteStandard,redactForPublicTrace,requirePlatformAuth,textResponse,traceHeaders,vercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "40be2d3fd91f901c",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 310,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/phorm/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "3a1e91a1ff4ebf6de8648c8b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanvasElement, DESIGN_TEMPLATES, DesignSession, DesignSessionInput, DesignTemplate, GenerationResult, PhormDesignExport, ThemeTokenSet | imports:./platform, zod | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CanvasElement,DESIGN_TEMPLATES,DesignSession,DesignSessionInput,DesignTemplate,GenerationResult,PhormDesignExport,ThemeTokenSet,canvasElementSchema,designSessionSchema,elementsToHtml,elementsToReact,elementsToSvg,generateDesignFromPrompt,getTemplate,instantiateTemplate,publicFeedItems,reviewDesign",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "263cc15cb962e5dc",
      "framework": "next-react",
      "imports": "./platform,zod",
      "lines": 481,
      "logic_relevance": "primary",
      "name": "design",
      "normalized_name": "design",
      "package_manager": "pnpm",
      "path": "lib/phorm/design.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "d7a11a0e4c2c42247e2f9215",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:atomXml, llmsFullText, llmsIndexData, llmsText, openApiSpec, openApiYaml, robotsText, rssXml | imports:./design, ./platform | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "atomXml,llmsFullText,llmsIndexData,llmsText,openApiSpec,openApiYaml,robotsText,rssXml,sitemapIndexXml,sitemapXml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d0cbde73617fe2d5",
      "framework": "next-react",
      "imports": "./design,./platform",
      "lines": 369,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/phorm/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "1602ad1b7039af7b157f6d5c",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7d564bc2572f2cf2",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 15,
      "logic_relevance": "none",
      "name": "navigation.spec",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "e2e/navigation.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "6336bda6e60cac0b63fe799a",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7c3ecb87854b412b",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 63,
      "logic_relevance": "none",
      "name": "layers.spec",
      "normalized_name": "layers",
      "package_manager": "pnpm",
      "path": "e2e/layers.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "process",
      "component_id": "2d6c2fc0f381ed9ca6b129f4",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for media; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "92154884e62234a6",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 40,
      "logic_relevance": "none",
      "name": "submit.spec",
      "normalized_name": "submit",
      "package_manager": "pnpm",
      "path": "e2e/submit.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "185fec931efb9190640916a2",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1f3b2358764f2343",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 18,
      "logic_relevance": "none",
      "name": "theme.spec",
      "normalized_name": "theme",
      "package_manager": "pnpm",
      "path": "e2e/theme.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-design",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "615e323dc9f9e92d4d0acccf",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e79bec53f2663add",
      "framework": "next-react",
      "imports": "",
      "lines": 4947,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f317bb81ba357c709a1bd4d8",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:./lib/i18n, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1ddb7122a4056277",
      "framework": "next-react",
      "imports": "./lib/i18n,next/server",
      "lines": 120,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "91ecf15f3052ebdf9b88c52a",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9caf181def98bdcd",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "14ece006a6a1ca3dba83068e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "81c160e4812677e4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "52194f79060c30e802ab757a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ae118eac9a1cb298",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "54af981840c094d695f5139e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "472b4594189405d5",
      "framework": "next-react",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "47339cd7414eb34b8b6f89b7",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/network, next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5800c8c7a305edad",
      "framework": "next-react",
      "imports": "@/lib/network,next",
      "lines": 40,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,observability,discovery",
      "component_id": "185450f72be115dc2aa7c4a6",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/db, @/lib/i18n, @/lib/network, @/lib/seed-data, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e4dc4fea425cc78",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/i18n,@/lib/network,@/lib/seed-data,next",
      "lines": 95,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0334855e4046df4d292fdfe9",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @/lib/network, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67ce29ee05167e4c",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/lib/network,@vercel/analytics/next,next,next/font/google",
      "lines": 107,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "db21324c6b57cd202b0470c5",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1c205b110517aaf5",
      "framework": "next-react",
      "imports": "next",
      "lines": 77,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "bbd3410c9a4efac165b921c5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootPage | imports:@/lib/i18n, next/headers, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "RootPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f06c99e690d6210",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/headers,next/navigation",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c266ddae8647f1fd15e8b2dc",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b171214b049e5d90",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c0d3ecc25437d5beeffe360a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/lib/network, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad802abac2df238f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/network,lucide-react,next/link,react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "d2c03b54cc768c54074aeec0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8afa8190b4ec3a37",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "d8cc8634e7aa0c83bc4b5fa3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/network, @/lib/seed-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b8a85566a6d9100c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network,@/lib/seed-data,next/server",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "4f098b66448998021ab03afc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/network, @/lib/seed-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b914435a4b08eff3",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network,@/lib/seed-data,next/server",
      "lines": 80,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "30cdcf87bdf7bd50ff3a39f2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/footer, @/components/header, @/components/secret-modal, @/lib/i18n, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "042d4f90333fa3af",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/secret-modal,@/lib/i18n,next/navigation",
      "lines": 35,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "57b73271c1797a479e3d0e82",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, TermCardSkeleton, TermsList | imports:@/components/search-bar, @/components/term-card, @/components/ui/button, @/components/ui/skeleton, @/lib/db, @/lib/i18n, @/lib/seed-data, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HomePage,TermCardSkeleton,TermsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a161707eb142219",
      "framework": "next-react",
      "imports": "@/components/search-bar,@/components/term-card,@/components/ui/button,@/components/ui/skeleton,@/lib/db,@/lib/i18n,@/lib/seed-data,lucide-react,next/link,react",
      "lines": 322,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e33562e7fddba2810259a225",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleNotFound | imports:@/components/ui/button, @/lib/network, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "LocaleNotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23857348400b5477",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/network,lucide-react,next/link,react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/[locale]/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c599e12edb674357e5663086",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage | imports:@/components/breadcrumbs, @/components/submit-form, @/lib/i18n, @/lib/network | frontend-score:85 | ui-score:55 | metadata",
      "exports": "SubmitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27ed862f470c38ec",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/submit-form,@/lib/i18n,@/lib/network",
      "lines": 55,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "d1a106fef6cb3dd4b72d7e64",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:PolymathPage | imports:@/components/term-detail, @/lib/i18n, @/lib/network, @/lib/seed-data, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55 | metadata",
      "exports": "PolymathPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90d9302a62ea2529",
      "framework": "next-react",
      "imports": "@/components/term-detail,@/lib/i18n,@/lib/network,@/lib/seed-data,lucide-react,next/link,next/navigation",
      "lines": 103,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/define/polymath/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "9e59cce67af541b92077f02c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermPage | imports:@/components/breadcrumbs, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/components/vote-buttons, @/lib/db, @/lib/i18n | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "TermPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e81caaf2acbee7aa",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/components/vote-buttons,@/lib/db,@/lib/i18n,@/lib/network,@/lib/seed-data,lucide-react,next/link,next/navigation",
      "lines": 327,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/define/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ca3d15cde85ae3d20ddf0d54",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/breadcrumbs, @/lib/i18n | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23432fb9d8cd85a0",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/lib/i18n",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "d0f86e829ae824b7c3cb3e44",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/ui/badge, @/components/ui/card, @/lib/i18n, @/lib/network, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | metadata",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0a0247d37667797",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/i18n,@/lib/network,lucide-react,next/link",
      "lines": 242,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a3fb161d3904f106b059a619",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage, SearchResultSkeleton, SearchResults | imports:@/components/breadcrumbs, @/components/search-bar, @/components/term-card, @/components/ui/button, @/components/ui/skeleton, @/lib/db, @/lib/i18n, @/lib/seed-data | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | metadata",
      "exports": "SearchPage,SearchResultSkeleton,SearchResults",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d319dfd180d0344",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/search-bar,@/components/term-card,@/components/ui/button,@/components/ui/skeleton,@/lib/db,@/lib/i18n,@/lib/seed-data,lucide-react,next/link,react",
      "lines": 249,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9c5dd9122ecd4a3953ae0b40",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrendingError | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "TrendingError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85329feb410d0069",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/[locale]/trending/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "f5ce4771736323d13562eda6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrendingLoading | imports:@/components/ui/skeleton, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TrendingLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cdad44dba0d4066d",
      "framework": "next-react",
      "imports": "@/components/ui/skeleton,lucide-react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/[locale]/trending/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "16ceaca951f45e3729a4869a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrendingPage, TrendingTermsList, TrendingTermsSkeleton | imports:@/components/breadcrumbs, @/components/search-bar, @/components/term-card, @/components/ui/skeleton, @/components/ui/tabs, @/lib/db, @/lib/i18n, @/lib/seed-data | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | metadata",
      "exports": "TrendingPage,TrendingTermsList,TrendingTermsSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b7d0ab7dedd3e1c",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/search-bar,@/components/term-card,@/components/ui/skeleton,@/components/ui/tabs,@/lib/db,@/lib/i18n,@/lib/seed-data,@/lib/telemetry,lucide-react,react",
      "lines": 237,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/trending/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability",
      "component_id": "9445cb93d48d30ec099e9255",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RandomPage | imports:@/lib/db, @/lib/seed-data, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "RandomPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ba2bdc30d28799c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/seed-data,next/navigation",
      "lines": 40,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/random/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,frontend,observability",
      "component_id": "407e2f97163186790119c2e9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5abcfe2c8ffdb2f5",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/webfinger/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "10ce1ade8c9158529e7cf572",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/network, @/lib/seed-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5fdd0d22561e3798",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network,@/lib/seed-data,next/server",
      "lines": 164,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "51ef296e97b3e866af77fadf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "842848003a1f5695",
      "framework": "next-react",
      "imports": "@/lib/db,nanoid,next/server",
      "lines": 139,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2da77f57fb1c3c50fc9f5fb5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f47407e4978b3d8",
      "framework": "next-react",
      "imports": "@/lib/db,nanoid,next/server",
      "lines": 178,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/terms/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "01abd8441ab6ab054fc976a0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d54112c587959cf",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/terms/random/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "36e8da9b4ce6b52790ffa593",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e484cdce0659b241",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 89,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/terms/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e6e5254005fc8767ad23f5ad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2ab468ea24718205",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 115,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "c686d32025621fb26fa2a9b4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/export-generators, @/lib/network, @/lib/seed-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fbc59f2722164c43",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/export-generators,@/lib/network,@/lib/seed-data,next/server",
      "lines": 158,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/[format]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f6b993047057e77d47872405",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/docs-publisher, @/lib/network, next/cache, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b2d9836a141fb84",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/docs-publisher,@/lib/network,next/cache,next/server",
      "lines": 218,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/definitions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security",
      "component_id": "760c6181401ab025c329bd19",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "366a4957b093db3a",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 132,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/definitions/[id]/vote/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e90a2499c403216ecbf7ca5b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6cb7d422d3f0a2b0",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/definitions/[id]/flag/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4216119d8e4fa0ad3a854f69",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/docs-publisher, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78cd71fe0cbf1466",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/docs-publisher,next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/definitions/[id]/approve/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "32acc9647c23f5fbece49a7b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0cf8dee792829e09",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery",
      "component_id": "70264c75ae34a001ea5ff4f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/network, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "391bf150bd0c9530",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 306,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "15626a3c7677bd37a5becbe8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/network, @/lib/telemetry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48d39273a7a03e6e",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/telemetry,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/telemetry/404/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "dcb33c746c39ec47832da885",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "921ee1eb7b55a885",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "5273d4dd3d307bcc87b08e8f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8ab67113fac974b9",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "7fe03e7d58be6e77451d98d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/lib/db, @/lib/network, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fe62245382c5433c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network,next/server",
      "lines": 189,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/daily-maintenance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2ed6e906bfa6aa1a2343c5a5",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "ajv,ajv-formats,fs,path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:ajv-formats, ajv/dist/2020, fs, path, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7eee0137d2e6c11e",
      "framework": "next-react",
      "imports": "ajv-formats,ajv/dist/2020,fs,path,vitest",
      "lines": 173,
      "logic_relevance": "primary",
      "name": "schemas.test",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "tests/schemas.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "5aa67b945beefbaaee81b63a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,crypto,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/network, crypto, vitest | logic-score:60 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b072e0d975fa39ab",
      "framework": "next-react",
      "imports": "@/lib/network,crypto,vitest",
      "lines": 77,
      "logic_relevance": "primary",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "tests/lib/network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,process",
      "component_id": "3a75a75a909e0f1ccbd09030",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/docs-publisher, @/lib/network, vitest | logic-score:60 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ec2491283e095185",
      "framework": "next-react",
      "imports": "@/lib/docs-publisher,@/lib/network,vitest",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "docs-publisher.test",
      "normalized_name": "docs-publisher",
      "package_manager": "pnpm",
      "path": "tests/lib/docs-publisher.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "8c4474efb3e17c1a4216380c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "en,es,hi,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/i18n, en, es, hi, vitest | logic-score:60 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b46e158b8b00ee46",
      "framework": "next-react",
      "imports": "../../lib/i18n,en,es,hi,vitest",
      "lines": 88,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "tests/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a49d9001550559d94e252d82",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2abccf288f04b20077ae3a25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermDetail | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/network, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TermDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd9f5c2bb1fc4fd2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/network,lucide-react,react",
      "lines": 229,
      "logic_relevance": "none",
      "name": "term-detail",
      "normalized_name": "term-detail",
      "package_manager": "pnpm",
      "path": "components/term-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "a84431917ff9fb7cdca2274e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "140ba2710e5d5562efcdec6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Term, TermCard, TermCardProps | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/i18n, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Term,TermCard,TermCardProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fbc4207d2c452d9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/i18n,lucide-react,next/link,react",
      "lines": 258,
      "logic_relevance": "none",
      "name": "term-card",
      "normalized_name": "term-card",
      "package_manager": "pnpm",
      "path": "components/term-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fee6355597c1dd6a164f2b53",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3548de1338bc45fa",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 61,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2357e5b02d2b1aabd7ed273c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchBar | imports:@/components/ui/button, @/lib/seed-data, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SearchBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20446b75b4a225c0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/seed-data,lucide-react,next/navigation,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "search-bar",
      "normalized_name": "search-bar",
      "package_manager": "pnpm",
      "path": "components/search-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "bd1690a0a35895811e65d3fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/i18n, @/lib/network, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "585faf64a3202d28",
      "framework": "next-react",
      "imports": "@/lib/i18n,@/lib/network,lucide-react,next/link",
      "lines": 166,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d8a2a76b86d7e69a2d440f75",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecretModal | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/lib/network, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SecretModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "471b3ee4f4b5d31e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/lib/network,lucide-react,next/link,react",
      "lines": 152,
      "logic_relevance": "none",
      "name": "secret-modal",
      "normalized_name": "secret-modal",
      "package_manager": "pnpm",
      "path": "components/secret-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "af20893a251e2f741bc7154d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitForm | imports:@/components/emoji-picker, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/components/ui/tooltip, @/lib/i18n | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SubmitForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dd3f046d2365172",
      "framework": "next-react",
      "imports": "@/components/emoji-picker,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/components/ui/tooltip,@/lib/i18n,lucide-react,next/link,next/navigation,react",
      "lines": 433,
      "logic_relevance": "none",
      "name": "submit-form",
      "normalized_name": "submit-form",
      "package_manager": "pnpm",
      "path": "components/submit-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5ed9d7e71e68ef3bcab53e25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/theme-toggle, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, @/lib/i18n, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54c8cd581edcb3b4",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,@/lib/i18n,lucide-react,next/link,next/navigation,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3e3d2b8c97e29834f2a48b64",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,dompurify,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkIcon, NetworkLogo | imports:@/lib/network, dompurify, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NetworkIcon,NetworkLogo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ebfcd0fe09b3d088",
      "framework": "next-react",
      "imports": "@/lib/network,dompurify,react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "network-icon",
      "normalized_name": "network-icon",
      "package_manager": "pnpm",
      "path": "components/network-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "400e940f8938532ec947f79c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSelector | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LocaleSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3485711f53a368e2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n,lucide-react,next/navigation",
      "lines": 56,
      "logic_relevance": "none",
      "name": "locale-selector",
      "normalized_name": "locale-selector",
      "package_manager": "pnpm",
      "path": "components/locale-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e99e27499088015b54dce357",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VoteButtons | imports:@/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "VoteButtons",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba6252fe628ec68f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "vote-buttons",
      "normalized_name": "vote-buttons",
      "package_manager": "pnpm",
      "path": "components/vote-buttons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3db74b0fff95e24cf65aac93",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2de7b4d9020fa9e4",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next-themes,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "53ea5810d2a3efe26bd1f6f2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmojiPicker | imports:@/components/ui/button, @/components/ui/input, @/components/ui/popover, @/components/ui/tooltip, @/lib/network, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EmojiPicker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2060996971257c14",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/popover,@/components/ui/tooltip,@/lib/network,lucide-react,react",
      "lines": 201,
      "logic_relevance": "none",
      "name": "emoji-picker",
      "normalized_name": "emoji-picker",
      "package_manager": "pnpm",
      "path": "components/emoji-picker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "02deaa620bb93810156b09d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "77fac2a293117c07765ee2d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c733af08669d90f885ff1d44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "683f2f1bfe3952d13635a785",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ca37170bc986ebdc3c20e7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9bef8134fc6fb6d40cb07d18",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "435d59e1885cc1eeecf71f04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "19645be6c6767cf76c8e5928",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "849e20377b08231518fca262",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c605022c22c94573cdd98cf7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "2acbd3057dc2509c746dd40a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2d42139c897040b6488f0df2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ee19fbd19e9060b9e11b388f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fc9329fcd19ade05bad90a43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "96b450fc0ceae9ebc5e187c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f30a3007443d7fda",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "51005375f7307809b721e3e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "45dd064e8c660de396c9831a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ba370cb7420fc32e09be5628",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fc1931d4bf606a007c2cfdca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5c4f050cdb01925ba3220550",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "128a0fe75d6e31e8126bcd0f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d3188c86e59be03368d4acab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4fd555db50e09e9dca3d819a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d49b7e737df88247cb001e67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "01de4f099ea647ca5fc45411",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7402296fd80c7a794514985a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6c0be78c67324029da77ee41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "9ead28a3b60ab1bbd2cf7211",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a460923440cb8a2c77e274fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2a4355b04438eef6cd06db17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6088907d3cd0d61ad80eda75",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7df97bc0456c9084c75bb2bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9fb1c5541bd5543263668178",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "469fc73bad061850d2448c38",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9b530079e4327c3a27ed898c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "e5029f69bffb8df04f595bcb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "00e7dab694703a1aa506b81a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d092833d9d7e4976",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "93a10c780e8040b683b9e1da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "38c9d376ca2d982ed8ca6166",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6d0d08927ba7d1ad9a06d5a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f3a54cbdea54c77d9ab95c73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "22c7d0be4b9ba4a8e99c781b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "97702573781a6a4238c83486",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "366a863d8ed8bd2f7171a2e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bad5122b5cd985a596f96e4a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "b4ac2d362ad2250afc3f2188",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9e00378bbcd5173bd31bd7f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "95be964451c22ba62e7ee0ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "548e597d3182d224c378f0c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9cd4814509463e9ebfbbcbbd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4f3ffbc313e6e039ffbbbafb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "73853a6330fdd4a93dbd6a43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "327e849488b4580a5870f95e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "b5dfdba5e91b22151535cd3a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "28bc52c87671770b5362c664",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "1e28423897038e3742bbada6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../term-card, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "19780d7036de2c58",
      "framework": "next-react",
      "imports": "../term-card,@testing-library/react,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "term-card.test",
      "normalized_name": "term-card",
      "package_manager": "pnpm",
      "path": "components/__tests__/term-card.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "850c92b781d3972553bdae8d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,dompurify,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../network-icon, @testing-library/react, dompurify, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0c0e399f95725adb",
      "framework": "next-react",
      "imports": "../network-icon,@testing-library/react,dompurify,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "network-icon.test",
      "normalized_name": "network-icon",
      "package_manager": "pnpm",
      "path": "components/__tests__/network-icon.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,automation",
      "component_id": "3c580d98998b9b70e48d2927",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:../search-bar, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "82ef63348f6b9268",
      "framework": "next-react",
      "imports": "../search-bar,@testing-library/react,vitest",
      "lines": 33,
      "logic_relevance": "none",
      "name": "search-bar.test",
      "normalized_name": "search-bar",
      "package_manager": "pnpm",
      "path": "components/__tests__/search-bar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "8151af0cb9d3a1fe640ae370",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eaa6a61d0301dd6e",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "trace-realm.schema",
      "normalized_name": "trace-realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/trace-realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "fdeb2d391706ad1325506471",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "52f2ca71749d8a7d",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "6a1b8d61b0d2f27725b34345",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "37d7cff416f1541e",
      "framework": "next-react",
      "imports": "",
      "lines": 161,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "85a0bcda95fa1176f8fd1506",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b8af4f2489987fec",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "faf56c8f2c40ae594fedba9b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2aeae158b5c250e4",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "9d2f099df7019b07107d7c1a",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e29de584f40d40ab",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "0047ed426a9740d1812b6ab4",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e2633638abb69ca7",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,ai",
      "component_id": "65d22f88ad8934eff32a2403",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "19eccad11e7f436d",
      "framework": "next-react",
      "imports": "",
      "lines": 225,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/schemas/openapi.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "82d7d866d610c55a7d7b70fa",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a9b833d868180b5",
      "framework": "next-react",
      "imports": "",
      "lines": 689,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "1513bd3192c73d233be33ff6",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "8bc73f10660fab34",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f098ebf71e7ac1e2ca45c049",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d10c03dcf6988654",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a085a44c42620eb0018cf710",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "893ffc420353b405",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "008b045d5cfc3385b8a78e02",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7e988f2e9270fdda",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "f24d0e102e20a642f47cdd17",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BASE_URL, NETWORK_SITES | automation-score:95 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "BASE_URL,NETWORK_SITES",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ddfb3897fe6bdfa",
      "framework": "next-react",
      "imports": "",
      "lines": 284,
      "logic_relevance": "none",
      "name": "run-tests",
      "normalized_name": "run-tests",
      "package_manager": "pnpm",
      "path": "scripts/run-tests.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "23108fb02b4b8be6acb6e0e0",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f6a8b72b5d0b1911",
      "framework": "next-react",
      "imports": "",
      "lines": 246,
      "logic_relevance": "none",
      "name": "test-api",
      "normalized_name": "test-api",
      "package_manager": "pnpm",
      "path": "scripts/test-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "854a3f09229ce230f07f01d6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ExportTerm, generateAscii, generateMarkdown, generateUSL | imports:@/lib/network | logic-score:85 | security-score:55",
      "exports": "ExportTerm,generateAscii,generateMarkdown,generateUSL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e4c17a5303be010",
      "framework": "next-react",
      "imports": "@/lib/network",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "export-generators",
      "normalized_name": "export-generators",
      "package_manager": "pnpm",
      "path": "lib/export-generators.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,process,observability,security,automation",
      "component_id": "e872305aca8bdba9572de678",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DefinitionArticle, formatDefinitionAsMarkdown, generateDefinitionApprovedEvent | imports:./network | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DefinitionArticle,formatDefinitionAsMarkdown,generateDefinitionApprovedEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1bc5e30bd5b29454",
      "framework": "next-react",
      "imports": "./network",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "docs-publisher",
      "normalized_name": "docs-publisher",
      "package_manager": "pnpm",
      "path": "lib/docs-publisher.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "6c3d0f69485f25fd318a617e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getDirection, getTranslations, localeNames, locales, messages, rtlLocales | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Locale,defaultLocale,getDirection,getTranslations,localeNames,locales,messages,rtlLocales,t",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c8f55fac98ac9e5a",
      "framework": "next-react",
      "imports": "",
      "lines": 497,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "a150c44293a0d015534a5ec2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SeedDefinition, SeedTerm, getRandomSeedTerm, getSeedTermBySlug, getSeedTerms, getTrendingSeedTerms, searchSeedTerms, seedTerms | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "SeedDefinition,SeedTerm,getRandomSeedTerm,getSeedTermBySlug,getSeedTerms,getTrendingSeedTerms,searchSeedTerms,seedTerms",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "21a542dd8de8c0d2",
      "framework": "next-react",
      "imports": "",
      "lines": 403,
      "logic_relevance": "primary",
      "name": "seed-data",
      "normalized_name": "seed-data",
      "package_manager": "pnpm",
      "path": "lib/seed-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "8ec88556e96f65a8acd8a99d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_BASE_PATH, API_VERSION, CORS_CONFIG, LogEntry, NETWORK, RATE_LIMITS, generateIdempotencyKey, generateRequestId | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "API_BASE_PATH,API_VERSION,CORS_CONFIG,LogEntry,NETWORK,RATE_LIMITS,generateIdempotencyKey,generateRequestId,generateTraceId,getCorsHeaders,isAllowedOrigin,log",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e2d2e3db7678245",
      "framework": "next-react",
      "imports": "",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f7132593476ee807616951b1",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "ccb6509eeb3fe1155a2952a6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ErrorEvent, NotFoundEvent, TelemetryEvent, build404RedirectUrl | imports:./network | logic-score:85 | observability-score:55 | uses-env",
      "exports": "ErrorEvent,NotFoundEvent,TelemetryEvent,build404RedirectUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bad3369844676090",
      "framework": "next-react",
      "imports": "./network",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "telemetry",
      "normalized_name": "telemetry",
      "package_manager": "pnpm",
      "path": "lib/telemetry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "3440349ba8ff47b28c858ec6",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Definition, Locale, Term, TermWithDefinitions, User, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Definition,Locale,Term,TermWithDefinitions,User,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f16f1445a10d4936",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 277,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "e1592478745f99af5a2f9c1d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../network, ../telemetry, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "940c95177ae9edce",
      "framework": "next-react",
      "imports": "../network,../telemetry,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "telemetry.test",
      "normalized_name": "telemetry",
      "package_manager": "pnpm",
      "path": "lib/__tests__/telemetry.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-dictionary",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3a7ede6cdbf3f792fd7779b7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c27a781ad284360a",
      "framework": "next-react",
      "imports": "",
      "lines": 4828,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "e35f962099905025776c915a",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "3f38911b2078c82d6431fcdc",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a93cc47b6fc42512",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ef4fc52388fa70fba7e6cfe9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "28d3abc91e9b5d8503cffa03",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "5ac5b5530aa635cf",
      "framework": "next-react",
      "imports": "next",
      "lines": 37,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "22c457f94230d9bdfabb6c67",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a723ffab66badc5a",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "commit_message",
      "normalized_name": "commit-message",
      "package_manager": "pnpm",
      "path": "commit_message.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a5a7b8b60a2dc8112fb58fa2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8b60a3df6928589a",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "a5a1f764303e11a4d80b56bb",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0b0cc1f1b106326",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 108,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "08f14237005545b184bf7e63",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ce07f6b8cc8649db",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "03fa46ebc0946bbea4b60a16",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:next/server | observability-score:55 | security-score:55",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "99616024d8522701",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "add271885e3c5dc162a3aa75",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "b8fee523efec2abe29ac09b4",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/config, next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5461c1d370783bf9",
      "framework": "next-react",
      "imports": "@/lib/config,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "8ce95e8552ae18c0babdbda2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26f42206026a2df3",
      "framework": "next-react",
      "imports": "@/lib/discovery,next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "83d3fcb8a156d120a0920db2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/ph3ar-easter-egg, @/components/site-footer, @/components/site-header, @/components/theme-provider, @/components/ui/sonner, @/lib/config, @/lib/i18n, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94f6b12b0962d644",
      "framework": "next-react",
      "imports": "@/components/ph3ar-easter-egg,@/components/site-footer,@/components/site-header,@/components/theme-provider,@/components/ui/sonner,@/lib/config,@/lib/i18n,next",
      "lines": 256,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "3767bcc36138e24ebccf1595",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b93dcc1c1a231a75",
      "framework": "next-react",
      "imports": "next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "82cc3859d3d421a49b076e3c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/landing/cta-section, @/components/landing/emoji-score-hero, @/components/landing/factors-section, @/components/landing/proposal-cta-section, @/components/landing/sentiment-score-panel | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d1b62b863966527",
      "framework": "next-react",
      "imports": "@/components/landing/cta-section,@/components/landing/emoji-score-hero,@/components/landing/factors-section,@/components/landing/proposal-cta-section,@/components/landing/sentiment-score-panel",
      "lines": 17,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "7a38793c028a1afbeeeea97c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7ab169cee9ce7092",
      "framework": "next-react",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "61157eee7d2f1aa4a5c04190",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:default, metadata | imports:@/app/submit/page | frontend-score:85 | ui-score:55",
      "exports": "default,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d9d0b40803382c73",
      "framework": "next-react",
      "imports": "@/app/submit/page",
      "lines": 2,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/propose/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "c8997c0c3f9c233546bd7f3f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca8ea94bb9ea59d9",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "be8589bcf6b2ca8b20f1f749",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentlyAddedPage, metadata | imports:@/components/page-breadcrumbs, @/components/recent/recent-emoji-view, next | frontend-score:115 | ui-score:55",
      "exports": "RecentlyAddedPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6b50d88a0e3e063",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/recent/recent-emoji-view,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/recently-added/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "7418db8cad7771aa52c79e13",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "230b08c1bac8bca2",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "03860ae2d902d08f13842496",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42ee7cb55d2292b9",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "1a0aaa95c37be20576081daa",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage, metadata | imports:@/components/page-breadcrumbs, @/components/submit/proposal-form, next | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "SubmitPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1c7eb52284f91d4",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/submit/proposal-form,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "8dc665c903e42b461b92d716",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/page-breadcrumbs, @/components/ui/card, @/lib/config, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59b382b8501149b6",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/ui/card,@/lib/config,next",
      "lines": 93,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a17daf4ad1ece1461724ba9d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "894622b39edba2ef",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "6aeb335a362221e247713fad",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8998e9d43b4f1a59",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "8f322c0617202d95561f647b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5eb40fb431bc64b3",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6464f7fc40165dd5df71f917",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f7933210ef01786",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "ec95dbbc407ca4e1fbd9bba7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f96f143da6673c37",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "d71a1590ba3951593144f4f3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d8b72fa83db6189f",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-index/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai,frontend",
      "component_id": "69abb9e43c8d71f88f5c861b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5f98a68ed09ffc71",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "cd80f49b3b606394478106e0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp-server, @/lib/platform | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c0b85eb16228e8c",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "95f5b705891450fcd5d9a115",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/page-breadcrumbs, @/components/ui/button, @/components/ui/card, @/lib/config, @/lib/types, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8657ceba9e0b605d",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/ui/button,@/components/ui/card,@/lib/config,@/lib/types,lucide-react,next,next/link",
      "lines": 234,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security,process,ai",
      "component_id": "14e449b7a20d013bbcd487a0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/page-breadcrumbs, @/components/ui/badge, @/components/ui/card, @/lib/config, @/lib/discovery, @/lib/mcp-server, next | frontend-score:115 | ui-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f3e1eb612443641",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/ui/badge,@/components/ui/card,@/lib/config,@/lib/discovery,@/lib/mcp-server,next",
      "lines": 106,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,logic,integration,discovery",
      "component_id": "0cca6eb010409ca0c2a3c221",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | logic-score:60 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70b53ceba31d806d",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi/usl-emoji-validation.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "789bd8af28e21e00cb220e92",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExplorePage, metadata | imports:@/components/explore/emoji-explorer, @/components/page-breadcrumbs, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ExplorePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2780061ae9e15867",
      "framework": "next-react",
      "imports": "@/components/explore/emoji-explorer,@/components/page-breadcrumbs,next",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/explore/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "724308cae8129324b25df78d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4ef2b9f92b6df580",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "aee690f4194fcdcd24f0bea0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/page-breadcrumbs, @/components/results/result-detail, next | frontend-score:115 | ui-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49677f1ede8f5447",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/results/result-detail,next",
      "lines": 22,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/results/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c2362513aae783812c37599e",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:default, metadata | imports:@/app/recently-added/page | frontend-score:85 | ui-score:55",
      "exports": "default,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91f9efaecbc8f27c",
      "framework": "next-react",
      "imports": "@/app/recently-added/page",
      "lines": 2,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,backend,security,ai",
      "component_id": "429ca21c9e1c6c4b91fdbec5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiPage, metadata | imports:@/components/page-breadcrumbs, @/components/ui/badge, @/components/ui/card, @/lib/config, @/lib/discovery, @/lib/mcp-server, next | frontend-score:115 | ui-score:55 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "ApiPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ac608369ba94604",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/ui/badge,@/components/ui/card,@/lib/config,@/lib/discovery,@/lib/mcp-server,next",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "34d5d9cebfec03d36e4de294",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-intelligence, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5679a454e2b64a4e",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/combinations/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "5a62f1f4d3588d89e27225a6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/emoji-intelligence, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b7de2b88a3ab33f7",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/emoji-intelligence,@/lib/platform",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/unicode/snapshot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "62e469e2d54fbe1722e422d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/emoji-database, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e39475a41ebef7cf",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/unicode/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "c7c51e0a610439847ed165de",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/mcp-server, @/lib/model-adapter, @/lib/platform | backend-score:125 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a704c08cf7a78787",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/mcp-server,@/lib/model-adapter,@/lib/platform",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability,security",
      "component_id": "c776021759a346c753da1aff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4aff2810ba13d272",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/datasets/emoji/inventory/exists/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "4a9e1d7ca4f0667cf59430b2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6cd66d0c1e85d61f",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/datasets/emoji/inventory/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "27b1685666af9abceb2efb50",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6fd8f8d3cfcef497",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/datasets/emoji/keywords/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c0d24f51d44d81f3c9138e9c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-intelligence, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "847c649b21774a73",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/emoji/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "fe17c7bf3ee3db0c4034e78f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65a799bf2f784569",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 129,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/emoji/from-description/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "fe416b45f85d30fec871403f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp-server, @/lib/platform | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b825bc5dbe7f25f6",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,@/lib/platform",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "2eaeb8987334c60724acae14",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp-client, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2f6363eb28b6402d",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,@/lib/platform,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/discover/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "627af695a29b6fa13b4a6452",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/mcp-client, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "98412c485c35e145",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,@/lib/platform,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5209a85322dabcc282d36bca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-intelligence, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5112e7e0dc628397",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,ai,logic,observability,security",
      "component_id": "a5b27f06855800c77a1b1209",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/model-adapter, @/lib/platform | backend-score:125 | ai-score:120 | logic-score:60 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3470b2925fb77c67",
      "framework": "next-react",
      "imports": "@/lib/model-adapter,@/lib/platform",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/proposal-draft/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,ai,logic,observability,security",
      "component_id": "5381c17a18197c48b8ea99f6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/model-adapter, @/lib/platform | backend-score:125 | ai-score:120 | logic-score:60 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07fc63f1e4ded18f",
      "framework": "next-react",
      "imports": "@/lib/model-adapter,@/lib/platform",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/improve-proposal/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,logic,observability,security",
      "component_id": "8b601efdf26825ead7b8e883",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/model-adapter, @/lib/platform | backend-score:125 | ai-score:120 | logic-score:60 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "20c41deea3f848e6",
      "framework": "next-react",
      "imports": "@/lib/model-adapter,@/lib/platform",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/image-prompt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai,logic,observability",
      "component_id": "5a54566479e1f24c7ec53ce5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/model-adapter, @/lib/platform | backend-score:125 | ai-score:120 | logic-score:60 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f643e996b14b0748",
      "framework": "next-react",
      "imports": "@/lib/model-adapter,@/lib/platform",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,ai,logic,observability,security",
      "component_id": "d43d2ac0107254c3269e4756",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/model-adapter, @/lib/platform | backend-score:125 | ai-score:120 | logic-score:60 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e1f3ae409c3dadf9",
      "framework": "next-react",
      "imports": "@/lib/model-adapter,@/lib/platform",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/accessibility-review/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,ai,logic,observability,security",
      "component_id": "59afaeac887a2132029923da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/model-adapter, @/lib/platform | backend-score:125 | ai-score:120 | logic-score:60 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1eca326a5a9040cc",
      "framework": "next-react",
      "imports": "@/lib/model-adapter,@/lib/platform",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/explain-sentiment/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a4478fb612493c55f232b306",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b00a5725788af0e1",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/emojis/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "4cbf39e2588c765e9cb88e74",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "672a1d759fd83d67",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/emojis/[codepoint]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e35acf37bac1ba34b6fa3702",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0c6c5447acb8eaa2",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/emojis/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "5fa6cde7fbfcf6a90a24e9a7",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "01847a1fb4c1baf6",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/emojis/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c098b9a60d29ddf11d8854e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-intelligence, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0bc0b3a8a503304c",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sentiment/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f48b99db0b4ce81d3f3ea249",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6b4eaf5259bd20cc",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/timeline/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "f857c4ba34d3ab7af0842294",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform, @/lib/store | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "35ab203f2c5cab5c",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/store",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/proposals/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "af3084bd06464a369641a17d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-intelligence, @/lib/platform, @/lib/store | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa92f49c20596ff6",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform,@/lib/store",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/proposals/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "c1ce1d7141c80c82c5596912",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/platform, @/lib/store | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e3d7597541967e13",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/store",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/proposals/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d598517350d797105764deb0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/store | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a565be4c4dabcc0a",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/store",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/proposals/[id]/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4a66b7c302f20fd587444ed8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-intelligence, @/lib/platform, @/lib/store | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "119a5cb942508b32",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform,@/lib/store",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/proposals/[id]/download/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0749f85f4ce6ea722b269310",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/emoji-intelligence, @/lib/platform, @/lib/store | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e71420396ecd475",
      "framework": "next-react",
      "imports": "@/lib/emoji-intelligence,@/lib/platform,@/lib/store",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/proposals/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "fa287dc0cc02ade347f3c7f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, @/lib/mcp-server, @/lib/model-adapter, @/lib/platform | backend-score:125 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "34cc6d6ef8c8734c",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/mcp-server,@/lib/model-adapter,@/lib/platform",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "708ea7b4fab66520d7f95555",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/types | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3e57a4048543fa4f",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/types",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/factors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "80c643b9ec41f72034a53fdd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c52b5dbfcbd6b9e",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/suggest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability",
      "component_id": "5030128655a07afee6f53272",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "df679b37c3849fda",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/local-search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security",
      "component_id": "acd716917e23e53f22655f22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "102c644c7eed70bf",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/all/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "33415cd74466b94c31b7408d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "285a81eec773328a",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,observability,security",
      "component_id": "f411abe49b151ae284de3955",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:scoreFromLocalEntry, slugToGroup | imports:@/lib/emoji-database, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "scoreFromLocalEntry,slugToGroup",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6843cda574000fd1",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform,next/server",
      "lines": 134,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "aac4a0c809161b7d663f6edb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e27ac58e18f17df5",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/timeline/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,frontend,observability,automation",
      "component_id": "3c58476e8b2d95bcd0a7c774",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9739ad80345df67d",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "8cd7356a687825a7022a7bfa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/emoji-database, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "de08cc853fb80d84",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/emoji/recent/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "9ef59336d77bca2b553932b7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/mcp-server, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "01a1f015ba1035e4",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,@/lib/platform,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,discovery,process,ai",
      "component_id": "f2306bd8c50c7163804c500d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/mcp-server, @/lib/platform | backend-score:125 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d1bff2f631224d1",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/mcp-server,@/lib/platform",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "b42fe010e0ec64aa69f2c419",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/store, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f1879acc1d64c11",
      "framework": "next-react",
      "imports": "@/lib/store,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/results/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "5c4dd74ee1d5305f3487c6f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03ca135ee0525224",
      "framework": "next-react",
      "imports": "@/lib/store,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/results/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,frontend,observability",
      "component_id": "1a16533b7a0b81310046a1f6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/scoring-engine, @/lib/store, @/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f5c946571df623e",
      "framework": "next-react",
      "imports": "@/lib/scoring-engine,@/lib/store,@/lib/types,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation,observability,security",
      "component_id": "b9bb8b1317c61dc7374f68cc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/discovery, @/lib/emoji-database, @/lib/platform | backend-score:125 | automation-score:95 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "98fd58b1aeacab22",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/emoji-database,@/lib/platform",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9bc607b0b2bf8e9cd4ad5c12",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4780bdcf3c6e219b",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "af20554c79fafb1780a08e96",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70b53ceba31d806d",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "00b77252a9f074ba3d0b4b0e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e1c5bb912fa94cd",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "49614370098d6e510e27bed0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TimelinePage, metadata | imports:@/components/page-breadcrumbs, @/components/timeline/timeline-view, next | frontend-score:115 | ui-score:55",
      "exports": "TimelinePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a64d7edea12649e0",
      "framework": "next-react",
      "imports": "@/components/page-breadcrumbs,@/components/timeline/timeline-view,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/timeline/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,security,automation",
      "component_id": "f4a5d859d5f6dd5b4ff62651",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/store, @/lib/types, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8eee2a5b2b587b2e",
      "framework": "next-react",
      "imports": "@/lib/store,@/lib/types,vitest",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "store.test",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "tests/store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "dde39bd689a845c6b14d50be",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8628dce792bf242b",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,ai",
      "component_id": "f6a4a95dc75c46734a3ff4cc",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:PRODUCTION_URL | imports:@/lib/mcp-client, @/lib/mcp-server, vitest | integration-score:55 | ai-score:45",
      "exports": "PRODUCTION_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8445fd6f6526c600",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,@/lib/mcp-server,vitest",
      "lines": 63,
      "logic_relevance": "none",
      "name": "mcp-registration.test",
      "normalized_name": "mcp-registration",
      "package_manager": "pnpm",
      "path": "tests/mcp-registration.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "5f362d6d1988af11c13a4749",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:TEST_BASE_URL | imports:@/lib/mcp-client, vitest | integration-score:55 | observability-score:55",
      "exports": "TEST_BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d644b83681ac8a01",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,vitest",
      "lines": 465,
      "logic_relevance": "none",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "tests/mcp-client.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "ac33e8a9fb818f7bc3a08de0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/types, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e311d73388fd640",
      "framework": "next-react",
      "imports": "@/lib/types,vitest",
      "lines": 199,
      "logic_relevance": "none",
      "name": "types.test",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "tests/types.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d8d5cddffadca16bd91d2cd6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/emoji-database, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3600d90a55272078",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,vitest",
      "lines": 199,
      "logic_relevance": "none",
      "name": "emoji-from-description.test",
      "normalized_name": "emoji-from-description",
      "package_manager": "pnpm",
      "path": "tests/emoji-from-description.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,discovery,ai",
      "component_id": "ccd93ed9fb9efe468a5a2c2a",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp-server, vitest | integration-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "625ffd7bd2246a5b",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,vitest",
      "lines": 40,
      "logic_relevance": "none",
      "name": "mcp-manifest.test",
      "normalized_name": "mcp-manifest",
      "package_manager": "pnpm",
      "path": "tests/mcp-manifest.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security",
      "component_id": "569370c0d8356b11dbca27a6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/emoji-database, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68ebe0228d064dfa",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,vitest",
      "lines": 349,
      "logic_relevance": "none",
      "name": "emoji-database.test",
      "normalized_name": "emoji-database",
      "package_manager": "pnpm",
      "path": "tests/emoji-database.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ddc0d8322c93e665996059ba",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/scoring-engine, @/lib/types, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b7973ede6727f4c8",
      "framework": "next-react",
      "imports": "@/lib/scoring-engine,@/lib/types,vitest",
      "lines": 149,
      "logic_relevance": "primary",
      "name": "scoring-engine.test",
      "normalized_name": "scoring-engine",
      "package_manager": "pnpm",
      "path": "tests/scoring-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "9d0e9d43d90a76c8c8682742",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/emoji/score/route, @/app/api/v1/datasets/emoji/inventory/search/route, @/lib/config, @/lib/emoji-database, @/lib/mcp-client, @/lib/scoring-engine, @/lib/store, @/lib/types | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4fab78ec702b39b",
      "framework": "next-react",
      "imports": "@/app/api/emoji/score/route,@/app/api/v1/datasets/emoji/inventory/search/route,@/lib/config,@/lib/emoji-database,@/lib/mcp-client,@/lib/scoring-engine,@/lib/store,@/lib/types,vitest",
      "lines": 656,
      "logic_relevance": "none",
      "name": "api-routes.test",
      "normalized_name": "api-routes",
      "package_manager": "pnpm",
      "path": "tests/api-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery,ai",
      "component_id": "4bd27ec2a4c0702b274928c5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/config, vitest | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de9361d3d52a3c8b",
      "framework": "next-react",
      "imports": "@/lib/config,vitest",
      "lines": 381,
      "logic_relevance": "none",
      "name": "llms-discovery.test",
      "normalized_name": "llms-discovery",
      "package_manager": "pnpm",
      "path": "tests/llms-discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5f42ae1128e8789943435ba3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/config, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "563494d5dbadd14b",
      "framework": "next-react",
      "imports": "@/lib/config,vitest",
      "lines": 79,
      "logic_relevance": "none",
      "name": "config.test",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "tests/config.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security,ai",
      "component_id": "4ba5b13cb25c98a7dc01aed2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/i18n, vitest | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a33e78536fc3dca",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 131,
      "logic_relevance": "none",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "tests/i18n.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability",
      "component_id": "6c74760650943fecff80aa56",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:TEST_BASE, TEST_REGISTRY | imports:@/lib/config, @/lib/mcp-client, vitest | integration-score:55 | observability-score:55",
      "exports": "TEST_BASE,TEST_REGISTRY",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b6e84c544903eab",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/mcp-client,vitest",
      "lines": 770,
      "logic_relevance": "none",
      "name": "mcp-client-mock.test",
      "normalized_name": "mcp-client-mock",
      "package_manager": "pnpm",
      "path": "tests/mcp-client-mock.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "06705adf4c4d3d8dbc2b384f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/datasets/emoji/inventory/exists/route, @/lib/emoji-database, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e48ce3e07c1ec773",
      "framework": "next-react",
      "imports": "@/app/api/v1/datasets/emoji/inventory/exists/route,@/lib/emoji-database,vitest",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/datasets/emoji/inventory/exists/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "673212614438f0f15b386a88",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21a6ac9361b134ad",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "PROJECT_PLAN",
      "normalized_name": "project-plan",
      "package_manager": "pnpm",
      "path": "docs/PROJECT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,integration,observability,security,ai",
      "component_id": "40788164c6cd5794bca8a6cb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/mcp-client | process-score:110 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5bcb33b127a0e2a8",
      "framework": "next-react",
      "imports": "@/lib/mcp-client",
      "lines": 280,
      "logic_relevance": "none",
      "name": "MCP_INTEGRATION",
      "normalized_name": "mcp-integration",
      "package_manager": "pnpm",
      "path": "docs/MCP_INTEGRATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "1fe5c1fddccdb12625627d99",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "81d41ff2d0272ab707956fa8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PageBreadcrumbs | imports:@/lib/config, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PageBreadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "000fb1bcfb32f773",
      "framework": "next-react",
      "imports": "@/lib/config,next/link",
      "lines": 46,
      "logic_relevance": "none",
      "name": "page-breadcrumbs",
      "normalized_name": "page-breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/page-breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d41bc1c03ea50692eb4d4918",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/theme-toggle, @/components/ui/button, @/lib/config, @/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e7b334d363c26f8",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@/components/ui/button,@/lib/config,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b582c3bbf1e3851ed2fcf492",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:@/lib/config, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f53219fb469ddd0",
      "framework": "next-react",
      "imports": "@/lib/config,next/link",
      "lines": 124,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "696bcdc662dd500834417a74",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3AREasterEgg | imports:@/components/ui/button, @/components/ui/dialog, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PH3AREasterEgg",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0425f95ceea5c75c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,next-themes,react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "ph3ar-easter-egg",
      "normalized_name": "ph3ar-easter-egg",
      "package_manager": "pnpm",
      "path": "components/ph3ar-easter-egg.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "e2589e707d554577b66df5c4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, lucide-react, next-themes | frontend-score:115 | ui-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01e1f51d3dab5151",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next-themes",
      "lines": 21,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "21e959ba88d62f27c939cff3",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f50bde94cb911ac5553a5440",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "88ad8fc8bc0ccaf477f6b01c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4144b946d48e79bd90bd414d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5df01a42b6984edbfae2ee8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fd5b49627128e85e617fbdcc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e37b3a3aff31ca805c246603",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "aa81e87b71428726ac04c276",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "9145f4f57dfe816b249be0f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "16e1c202c4629635fb7a3e99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d1c6f767f513bd840335e95b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "fa1371be5c44e25ffd0efc02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c1ca6aac8281828b",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 374,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cfa3d299d84794e8b4c4286f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d1057f8f9e253fc4b2f415aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f7297948ea270cc9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "35cbef4cedf798325278b141",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "07d8431df413642b82d05e2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "01c09d4a3d9556b691fbc22c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "803c9e600e726935923cdf9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b7a253260f5f65d58be1a9f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e794d2f27ad557c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "426ffde447f64dd33d65418d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6c1e70c271f86af4573bd417",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2b47907771cfe8dda622e139",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ff863e3d002f29681e12ac04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "8cbaf9b2a1610051b67cf80a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6dc78724e393ff5894f4f2f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc4b630210277529",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "f888757ed07e904147070008",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "39fb600f5b4a7d1e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 71,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "103ba7b7a5b574383ae9d166",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "29d78ad58d6056bbf38bf7cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "42232f1471e937eb02b203a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "41cecae76327ecb5173155e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4eed77b77ca2df65e78cda6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f85ac9451b6ca3cf62f8fbaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "960475981ef6c4bf21a2d7fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6ad3ab93fb1701744a1445a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8507bdff0e707352",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "999b560de796d2b43bb58411",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b7529e3b9bf0befc5f52806d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "676612378ee6a04c5b5fb3c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fe1053de3367b9d7f1684c9d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "111269a0cdbdb02c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "37380d0b76e0a7c3a4735d6e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "eb0e3dd9151917db81b1e550",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4ae1e0be6aa70b349324a1b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "59e01c2de4795a4e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "0f4b766db74245c2e8a3af3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bf7ce16a0540cb5080b73467",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cac8dbe9af41c782e34789e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dccf0b1d85bafa8987afd8da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "597de0e8baf263d464c75443",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "a1d32f7082fccd1ea06bc5e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ab230cc66b9f492a78840d9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "aa87bd60e3db227cade5b0e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c27d824d31efd3e61059e685",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "e59aef2f4ea0864def7eb64b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SentimentScorePanel | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/textarea, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SentimentScorePanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1dab4c8c293b908",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/textarea,@/components/ui/tooltip,lucide-react,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "sentiment-score-panel",
      "normalized_name": "sentiment-score-panel",
      "package_manager": "pnpm",
      "path": "components/landing/sentiment-score-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b10aa823afdaa4983abd0bf2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FactorsSection | imports:@/lib/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FactorsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69fa9b7d87353377",
      "framework": "next-react",
      "imports": "@/lib/types,lucide-react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "factors-section",
      "normalized_name": "factors-section",
      "package_manager": "pnpm",
      "path": "components/landing/factors-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "dafc5fb058cba9f4b0fa7f7c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProposalCTASection | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ProposalCTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e43687ae240b205c",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "proposal-cta-section",
      "normalized_name": "proposal-cta-section",
      "package_manager": "pnpm",
      "path": "components/landing/proposal-cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "69fe9a85ffab98d7c045c3c9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmojiScoreHero | imports:@/components/ui/button, @/components/ui/input, @/components/ui/tooltip, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EmojiScoreHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8cd0bbc88b856045",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/tooltip,@/lib/utils,lucide-react,next/link,react",
      "lines": 444,
      "logic_relevance": "none",
      "name": "emoji-score-hero",
      "normalized_name": "emoji-score-hero",
      "package_manager": "pnpm",
      "path": "components/landing/emoji-score-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "37643faa8f251970eec98766",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c3c48fad1b8cd76a",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 76,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/landing/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "64ae0aac0ac39790fa1e74f9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorksSection | imports:lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "HowItWorksSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c58c8cbfe80aa232",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "how-it-works-section",
      "normalized_name": "how-it-works-section",
      "package_manager": "pnpm",
      "path": "components/landing/how-it-works-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "088c1a549cdb04da28bd385e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72f0151bf78e3dd9",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 33,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/landing/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "8dc52137aa161e130964df5d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProposalForm | imports:@/components/submit/local-proposal-draft, @/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/components/ui/tooltip | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ProposalForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f2b2d0bbece9945",
      "framework": "next-react",
      "imports": "@/components/submit/local-proposal-draft,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/components/ui/tooltip,@/lib/types,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 590,
      "logic_relevance": "none",
      "name": "proposal-form",
      "normalized_name": "proposal-form",
      "package_manager": "pnpm",
      "path": "components/submit/proposal-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "security",
      "component_id": "c86f5a940a398d3208c62a07",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for finance; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:LocalDraftEnvelope | security-score:55",
      "exports": "LocalDraftEnvelope",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13fbe4c13b538cea",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "local-proposal-draft",
      "normalized_name": "local-proposal-draft",
      "package_manager": "pnpm",
      "path": "components/submit/local-proposal-draft.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "16eafa29f6932770fbe09a7c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProposalGenerator | imports:@/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/types, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProposalGenerator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81c161a452131f6a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/types,lucide-react,react,sonner",
      "lines": 406,
      "logic_relevance": "none",
      "name": "proposal-generator",
      "normalized_name": "proposal-generator",
      "package_manager": "pnpm",
      "path": "components/submit/proposal-generator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "521462f91ed793b237d9712b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmojiExplorer | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EmojiExplorer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e382b350a042804",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/utils,lucide-react,next/link,react",
      "lines": 429,
      "logic_relevance": "none",
      "name": "emoji-explorer",
      "normalized_name": "emoji-explorer",
      "package_manager": "pnpm",
      "path": "components/explore/emoji-explorer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dd1c2010a40991f5becbc512",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResultDetail | imports:./factor-scores, ./score-radar-chart, ./tier-badge, @/components/submit/proposal-generator, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/types | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResultDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98a091c0e946f898",
      "framework": "next-react",
      "imports": "./factor-scores,./score-radar-chart,./tier-badge,@/components/submit/proposal-generator,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/types,lucide-react,next/link,react,swr",
      "lines": 250,
      "logic_relevance": "none",
      "name": "result-detail",
      "normalized_name": "result-detail",
      "package_manager": "pnpm",
      "path": "components/results/result-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7fed5c2ebbf047bc7bbc3abd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TierBadge | imports:@/lib/types, @/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "TierBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5f7ba83e5f696f1",
      "framework": "next-react",
      "imports": "@/lib/types,@/lib/utils",
      "lines": 29,
      "logic_relevance": "none",
      "name": "tier-badge",
      "normalized_name": "tier-badge",
      "package_manager": "pnpm",
      "path": "components/results/tier-badge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "487b88939bf4cfed824c623b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FactorScores | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/lib/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FactorScores",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9de884f94525efae",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/lib/types,lucide-react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "factor-scores",
      "normalized_name": "factor-scores",
      "package_manager": "pnpm",
      "path": "components/results/factor-scores.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "ffce95b559a2599c442017d9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,recharts",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScoreRadarChart | imports:@/components/ui/card, @/lib/types, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ScoreRadarChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5dad8278e1e7d8e",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/types,recharts",
      "lines": 69,
      "logic_relevance": "none",
      "name": "score-radar-chart",
      "normalized_name": "score-radar-chart",
      "package_manager": "pnpm",
      "path": "components/results/score-radar-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5752c7ad103eef79811bf2b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TimelineView | imports:@/components/ui/button, @/components/ui/card, lucide-react, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TimelineView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01b34f451e6a0e3e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react,swr",
      "lines": 271,
      "logic_relevance": "none",
      "name": "timeline-view",
      "normalized_name": "timeline-view",
      "package_manager": "pnpm",
      "path": "components/timeline/timeline-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bf22422b4f4ebccd388acc08",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentEmojiView | imports:@/components/ui/button, @/components/ui/card, lucide-react, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RecentEmojiView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee8b25455c6601c8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react,swr",
      "lines": 248,
      "logic_relevance": "none",
      "name": "recent-emoji-view",
      "normalized_name": "recent-emoji-view",
      "package_manager": "pnpm",
      "path": "components/recent/recent-emoji-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,security,automation",
      "component_id": "1f629a04b7a0e87405daff5c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a04b5a709984f2a8",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "27b43c1dd6c2ff9f11e0900b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1add2aed4261a34c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "testing",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": ".Jules/testing.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "9dd02fcdc30cd1da5aeea93a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7b5f528238d75505",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ec6318167e33e7fe2a3147af",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "799fcdcbe55f6e86",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9975d261a2c25bc3cc9865aa",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "03fcc377e44fc80433e01232",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmojiEntry, clientSearch, useUnicodeEmojiStore | imports:react | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "EmojiEntry,clientSearch,useUnicodeEmojiStore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "23fae97022ede623",
      "framework": "next-react",
      "imports": "react",
      "lines": 250,
      "logic_relevance": "primary",
      "name": "use-unicode-emoji-store",
      "normalized_name": "use-unicode-emoji-store",
      "package_manager": "pnpm",
      "path": "hooks/use-unicode-emoji-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "185ee2df09d6855b02d5f3f7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EMOJI_TEST_URL | observability-score:55 | automation-score:50",
      "exports": "EMOJI_TEST_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "97978097d4fa9594",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "fetch-emoji-data",
      "normalized_name": "fetch-emoji-data",
      "package_manager": "pnpm",
      "path": "scripts/fetch-emoji-data.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "a4418db39ffe1996efdcf985",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:EMOJI_TEST_URL | imports:fs, path | automation-score:95 | backend-score:55 | observability-score:55",
      "exports": "EMOJI_TEST_URL",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a556e32e55e0f33c",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 109,
      "logic_relevance": "none",
      "name": "build-emoji-db",
      "normalized_name": "build-emoji-db",
      "package_manager": "pnpm",
      "path": "scripts/build-emoji-db.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "f35f20f3d25fd6b6ae030cc2",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:fs, path | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c9e3609efd5d2fe",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 172,
      "logic_relevance": "none",
      "name": "parse-emoji-list",
      "normalized_name": "parse-emoji-list",
      "package_manager": "pnpm",
      "path": "scripts/parse-emoji-list.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "5641bf1159ef5708e260fbed",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelPurpose, ModelRunInput, ModelRunResult, getModelStatus | imports:@/lib/platform | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "ModelPurpose,ModelRunInput,ModelRunResult,getModelStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "52e5fe71fbe6e93e",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 136,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "4fc069855dfaba47b4851d17",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CombinationScorePayload, EmojiScorePayload, EnhancedProposalScore, SentimentScorePayload, buildImagePrompt, buildProposalIllustrationPrompt, coerceProposalFormData, exportProposalMarkdown | imports:@/lib/emoji-database, @/lib/platform, @/lib/scoring-engine, @/lib/types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CombinationScorePayload,EmojiScorePayload,EnhancedProposalScore,SentimentScorePayload,buildImagePrompt,buildProposalIllustrationPrompt,coerceProposalFormData,exportProposalMarkdown,getEmojiDatasetSummary,normalizeEmojiInput,scoreEmojiCombination,scoreEmojiInput,scoreEnhancedProposal,scoreSentimentExpression",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d130855140346f60",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/platform,@/lib/scoring-engine,@/lib/types",
      "lines": 589,
      "logic_relevance": "primary",
      "name": "emoji-intelligence",
      "normalized_name": "emoji-intelligence",
      "package_manager": "pnpm",
      "path": "lib/emoji-intelligence.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "69f25bb0ad921b2df1e44e6d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, McpPrompt, McpResource, McpTool, buildMcpMetadata, getDiscoveryCompliance | imports:@/lib/emoji-database, @/lib/emoji-intelligence, @/lib/model-adapter, @/lib/platform, @/lib/types | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,McpPrompt,McpResource,McpTool,buildMcpMetadata,getDiscoveryCompliance,getRouteCompliance",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4da9742c68c1b80f",
      "framework": "next-react",
      "imports": "@/lib/emoji-database,@/lib/emoji-intelligence,@/lib/model-adapter,@/lib/platform,@/lib/types",
      "lines": 351,
      "logic_relevance": "primary",
      "name": "mcp-server",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "lib/mcp-server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "50693347cce68af71d4b42b6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:scoreProposal | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "scoreProposal",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "62c12db98e7211c4",
      "framework": "next-react",
      "imports": "./types",
      "lines": 337,
      "logic_relevance": "primary",
      "name": "scoring-engine",
      "normalized_name": "scoring-engine",
      "package_manager": "pnpm",
      "path": "lib/scoring-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "872969a28d7fcc1b52258029",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getHreflangAlternates, locales, messages | imports:@/lib/config | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "Locale,defaultLocale,getHreflangAlternates,locales,messages",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a57a34bd47aa2220",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "7658b04352273fd37e0c8596",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpClient, McpDiscoveryResult, McpManifest, McpRegistrationPayload, McpRegistrationResult, McpToolCallResult, McpToolDefinition, buildManifest | imports:@/lib/config | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "McpClient,McpDiscoveryResult,McpManifest,McpRegistrationPayload,McpRegistrationResult,McpToolCallResult,McpToolDefinition,buildManifest,getMcpClient,getToolDefinitions",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49aad56e767d746c",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 562,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "7a82e656366e120925b633cf",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "07e7eaf580ff52cb52661035",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorPayload, OperationContext, PLATFORM_AUTH_HEADER, PLATFORM_INTEGRATIONS, PlatformSpanInput, SERVICE_ID, SERVICE_NAME, TRUSTED_DOMAIN_POLICY | imports:@/lib/config, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiErrorPayload,OperationContext,PLATFORM_AUTH_HEADER,PLATFORM_INTEGRATIONS,PlatformSpanInput,SERVICE_ID,SERVICE_NAME,TRUSTED_DOMAIN_POLICY,errorJson,getOperationContext,getPropagationHeaders,hasPlatformAuth,okJson,requirePlatformAuth,responseHeaders,sanitizeText,sanitizeVercelMetadata,serviceInfo,summarizeForTrace",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6785cc772897024f",
      "framework": "next-react",
      "imports": "@/lib/config,next/server",
      "lines": 270,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,security,automation",
      "component_id": "8c982a9db74c0ab43912781b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CATEGORY_LABELS, EmojiAPIResult, FACTORS, FACTOR_KEYS, FACTOR_MAP, FactorDefinition, FactorKey, FactorScore | imports:zod | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "CATEGORY_LABELS,EmojiAPIResult,FACTORS,FACTOR_KEYS,FACTOR_MAP,FactorDefinition,FactorKey,FactorScore,ProposalFormData,ScoreResult,TIERS,Tier,TierDefinition,proposalSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "30883843fff8636d",
      "framework": "next-react",
      "imports": "zod",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,backend,security,automation",
      "component_id": "cb2091c2dfa619d95e684f33",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmojiDatabase, EmojiEntry, TimelineEntry, VERSION_YEARS, computeEmojiPopularityScore, getEmojiByCharacter, getEmojiByGroup, getEmojiDatabase | imports:fs, path | logic-score:85 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "EmojiDatabase,EmojiEntry,TimelineEntry,VERSION_YEARS,computeEmojiPopularityScore,getEmojiByCharacter,getEmojiByGroup,getEmojiDatabase,getEmojiGroups,getEmojisByVersion,getRecentEmojis,getTimeline,searchEmojis,suggestEmojis",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "338d5886c568dd52",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 457,
      "logic_relevance": "primary",
      "name": "emoji-database",
      "normalized_name": "emoji-database",
      "package_manager": "pnpm",
      "path": "lib/emoji-database.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "270791b95aa15652a531fb03",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PUBLIC_ROUTES, PublicRoute, absoluteUrl, buildAgentsJson, buildAiPluginJson, buildFeedXml, buildLlmsIndex, buildLlmsText | imports:@/lib/config, @/lib/emoji-database, @/lib/emoji-intelligence, @/lib/mcp-server, @/lib/model-adapter, @/lib/platform, @/lib/types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "PUBLIC_ROUTES,PublicRoute,absoluteUrl,buildAgentsJson,buildAiPluginJson,buildFeedXml,buildLlmsIndex,buildLlmsText,buildOpenApiYaml,buildRobotsTxt,buildSecurityTxt,buildTrustPolicy,getEndpointInventory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "64302371ca6b171b",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/emoji-database,@/lib/emoji-intelligence,@/lib/mcp-server,@/lib/model-adapter,@/lib/platform,@/lib/types",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security,ai",
      "component_id": "7f337684aa2013003a2689c8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:siteConfig | logic-score:70 | security-score:55 | ai-score:45",
      "exports": "siteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e29e5de892fb5d6b",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "47a208f3a69b447d6aa70bd8",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addResult, clearResults, getResultById, getResults | imports:./types | logic-score:85",
      "exports": "addResult,clearResults,getResultById,getResults",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4a4645d69c8f3a5e",
      "framework": "next-react",
      "imports": "./types",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,security",
      "component_id": "059f07e9a2909cbf3e3d1a29",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74f12bdf2549c4cd",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "emoji-db",
      "normalized_name": "emoji-db",
      "package_manager": "pnpm",
      "path": "data/emoji-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "63bd69a325bf99fe42f6b4d6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ed1a3f47f4979b26",
      "framework": "next-react",
      "imports": "",
      "lines": 18060,
      "logic_relevance": "none",
      "name": "emoji-list-v17",
      "normalized_name": "emoji-list-v17",
      "package_manager": "pnpm",
      "path": "data/emoji-list-v17.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-emoji",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,integration,observability,security",
      "component_id": "fa126210f65cbfda7509945b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3565c1e68793d171",
      "framework": "next-react",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "vercel_output",
      "normalized_name": "vercel-output",
      "package_manager": "pnpm",
      "path": "vercel_output.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9acecc45b79901b7c5216a14",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d294a6be8b791655",
      "framework": "next-react",
      "imports": "",
      "lines": 7492,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "44c0d3b9e08137c26448040b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "94ae0fbc79f184c0",
      "framework": "next-react",
      "imports": "",
      "lines": 213,
      "logic_relevance": "none",
      "name": "PRODUCTION_BUILD_SUMMARY",
      "normalized_name": "production-build-summary",
      "package_manager": "pnpm",
      "path": "PRODUCTION_BUILD_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "459c80bb915ce530d9b02458",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "40a29529177f24ad",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 31,
      "logic_relevance": "none",
      "name": "test-neon2",
      "normalized_name": "test-neon2",
      "package_manager": "pnpm",
      "path": "test-neon2.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "9728ca6a7194085767bfd0f9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cf30d37247bf24cf",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 31,
      "logic_relevance": "none",
      "name": "test-neon3",
      "normalized_name": "test-neon3",
      "package_manager": "pnpm",
      "path": "test-neon3.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,integration,security",
      "component_id": "4ce3da445e8d00dde3701b3d",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "014bad18c1041c16",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2730c712dbeaef7e0b6313a6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cf51f9aadb742af6",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "COMMIT_MESSAGE",
      "normalized_name": "commit-message",
      "package_manager": "pnpm",
      "path": "COMMIT_MESSAGE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "e863ae27401419cf47a22605",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9d40394e8e3539de",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f6d33d846cdd700d1e1a5e55",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cb9314b00a3714b9",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 26,
      "logic_relevance": "none",
      "name": "test-neon",
      "normalized_name": "test-neon",
      "package_manager": "pnpm",
      "path": "test-neon.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "634dd3dbe812912f77483028",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f6809fcedbeaba6",
      "framework": "next-react",
      "imports": "",
      "lines": 12093,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "439e0d1baefde7afafd494a2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cdc05feed61250ac",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0dc4d9fd9aeaa6c5b5787a5c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "05fb4e6228399fe5",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "BUILD_FIX_SUMMARY",
      "normalized_name": "build-fix-summary",
      "package_manager": "pnpm",
      "path": "BUILD_FIX_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "2118769eaa9c491b7908da3e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dc33490ced1e5953",
      "framework": "next-react",
      "imports": "",
      "lines": 224,
      "logic_relevance": "none",
      "name": "BUILD_INDEX",
      "normalized_name": "build-index",
      "package_manager": "pnpm",
      "path": "BUILD_INDEX.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "4d982f83809c7bd780c211aa",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./lib/neon/client | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b2c7d711112670b6",
      "framework": "next-react",
      "imports": "./lib/neon/client",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "test-db-schema",
      "normalized_name": "test-db-schema",
      "package_manager": "pnpm",
      "path": "test-db-schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "ad9fff66750a16b46a38e360",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "eslint-config-next",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:eslint-config-next/core-web-vitals, eslint-config-next/typescript | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "300daaf28a18edaf",
      "framework": "next-react",
      "imports": "eslint-config-next/core-web-vitals,eslint-config-next/typescript",
      "lines": 23,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "pnpm",
      "path": "eslint.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ai,observability,security",
      "component_id": "32b4fc5a6761bff7ce6eee0a",
      "component_kind": "ai-eval",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for testing; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:EvalPolicy, EvalSuite, EvalThreshold | imports:./targets | ai-score:75 | observability-score:55 | security-score:55",
      "exports": "EvalPolicy,EvalSuite,EvalThreshold",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6456ba37e83fc1e9",
      "framework": "next-react",
      "imports": "./targets",
      "lines": 33,
      "logic_relevance": "none",
      "name": "evals",
      "normalized_name": "evals",
      "package_manager": "pnpm",
      "path": "types/evals.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "94501d9c1a8f85442fcf4eaa",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Grader, GraderType, GraderVersion | automation-score:45 | ai-score:45",
      "exports": "Grader,GraderType,GraderVersion",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6cac5d3c13b94c15",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "graders",
      "normalized_name": "graders",
      "package_manager": "pnpm",
      "path": "types/graders.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability",
      "component_id": "9710cd78efb148bfa229f20e",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GateEvaluation, ReleaseGate, ReleaseGateRule | observability-score:55",
      "exports": "GateEvaluation,ReleaseGate,ReleaseGateRule",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "841cadadd953e318",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "gates",
      "normalized_name": "gates",
      "package_manager": "pnpm",
      "path": "types/gates.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3a4de9f0170a04dd189781e1",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RegressionSummary, ReleaseRecommendation, ScoreMetric, Scorecard | observability-score:55 | security-score:55",
      "exports": "RegressionSummary,ReleaseRecommendation,ScoreMetric,Scorecard",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0e3126186abbb34a",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "scorecards",
      "normalized_name": "scorecards",
      "package_manager": "pnpm",
      "path": "types/scorecards.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "4e9bb0564f172321dd8bbe88",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Dataset, DatasetItem, DatasetVersion | observability-score:55 | automation-score:45",
      "exports": "Dataset,DatasetItem,DatasetVersion",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d61f358c28488b9e",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "datasets",
      "normalized_name": "datasets",
      "package_manager": "pnpm",
      "path": "types/datasets.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "59d22d42e229f472947d67a7",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CanonicalMetadata | observability-score:55 | discovery-score:55",
      "exports": "CanonicalMetadata",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "88b7dae6928d475c",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "types/metadata.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "2869875a89013280e3c2a47d",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EvalMode, EvalTarget, EvalTargetType | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EvalMode,EvalTarget,EvalTargetType",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db6a7882de7a4119",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "targets",
      "normalized_name": "targets",
      "package_manager": "pnpm",
      "path": "types/targets.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fbd432c5abfee1727bc5a37e",
      "component_kind": "trace-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FingerprintContext, TraceabilityContext | observability-score:55 | security-score:55",
      "exports": "FingerprintContext,TraceabilityContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7e96557cd0718d9c",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "types/trace.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c684bb61a17371c7ddd520ff",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/app-shell, next, next/font/google | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0543afbd17ead770",
      "framework": "next-react",
      "imports": "@/components/layout/app-shell,next,next/font/google",
      "lines": 46,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "02aa5b1ab1c4e526851f08a6",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5964b1bdd318a52d",
      "framework": "next-react",
      "imports": "",
      "lines": 279,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "b62d6e7a823bbbc2ae86ecfe",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/llms, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70e12249e299147e",
      "framework": "next-react",
      "imports": "@/lib/standards/llms,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ac05aa2a217e7063a94c9113",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b33e0db28ac39d1d",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "105278d713929045ffe8ff80",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, @/lib/evals/suite-service, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e528c3dac5356d81",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/evals/suite-service,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "40a6759ad67a2b6c405e1346",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dca28f3485d41342",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e7652a6fb57b1096d349bbe4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GatesPage, SeverityDot, StatusBadge | imports:@/lib/gates/release-gate-service, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GatesPage,SeverityDot,StatusBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2b30f06634d47b0",
      "framework": "next-react",
      "imports": "@/lib/gates/release-gate-service,next/link",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/gates/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "efb32b85e73f26c9d5ce23d5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:EvalsPage, StatusBadge, TypeBadge | imports:@/lib/evals/suite-service, next/link | ai-score:120 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EvalsPage,StatusBadge,TypeBadge",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2ce11988fe58af5c",
      "framework": "next-react",
      "imports": "@/lib/evals/suite-service,next/link",
      "lines": 147,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/evals/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "60d38b43f67cb35086c97d2c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/network-manifest, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f731b04c0b2b4e1e",
      "framework": "next-react",
      "imports": "@/lib/standards/network-manifest,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network-manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "944d279543c24db23f5bcc56",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TargetCapabilityPage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | model-provider",
      "exports": "TargetCapabilityPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ada1b8f798f7c7cd",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 158,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/targets/[service]/[capability]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "348128513c7a7cde3eacdd19",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c942c50d35e8a743",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/changelog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "ad435e6a613ee4e48d2f32fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b5f528fe96180437",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "e0241de21da2e1583ad17c26",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/app/.well-known/agent.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "440609fd82961789",
      "framework": "next-react",
      "imports": "@/app/.well-known/agent.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "e7eda629137bc1cee82b20c9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f8fb0847cb72d70",
      "framework": "next-react",
      "imports": "@/lib/config/service,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "14147f7895669ee9e347211d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ea6e4122938fe28a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "1fac73fad54886d0c91abc88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eb4deb638f7d3ede",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,ai,frontend,security",
      "component_id": "f573c18c6fbd4bc3e0bf017f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0346fa0bf16cac01",
      "framework": "next-react",
      "imports": "@/lib/config/service,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "9ad0e824d44d69f32ecc1faf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62958ef33c20878f",
      "framework": "next-react",
      "imports": "@/lib/config/service,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "11cfea77c694f3529a6bb035",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55 | ai-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99c12ffa61a02460",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/methodology/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "be79b79b18c187ca636f9be0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DatasetsPage, SourceBadge | imports:@/lib/datasets/dataset-service, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DatasetsPage,SourceBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ffe1508e55c02b9",
      "framework": "next-react",
      "imports": "@/lib/datasets/dataset-service,next/link",
      "lines": 103,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/datasets/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability",
      "component_id": "5aef2d7845d5131b83cedc68",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c3ef5733f95a1e4c",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/features/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "009dbb97981ed06f7030bffc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CatchAllPage | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CatchAllPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "71194589da894d1e",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[...slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "71fc7c5996753e44801fa61e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1d5c5ce3e5a97b3",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/usage/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "71dbf0e2623540088b9df4d1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,node:fs,node:path",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:next/link, node:fs/promises, node:path | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d63efbe4e18bf995",
      "framework": "next-react",
      "imports": "next/link,node:fs/promises,node:path",
      "lines": 66,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "ac5dd7e5375407d4d2fedaca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, @/lib/standards/llms, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0948c73c69cd5575",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/standards/llms,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bd76413d6e5d0cd73c5616f3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/lib/local/persistent-store, @/lib/neon/client, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8735cd4e8606f75",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,next,next/link",
      "lines": 253,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,observability",
      "component_id": "f347ac7cac57b42450cfe7e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e69410a55001f3ed",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/benchmarks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "a5936519cafca4d4255437c9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/coverage/network-coverage-graph, @/components/evals/suite-overview, @/lib/local/persistent-store, @/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f50d97fdb4248ce",
      "framework": "next-react",
      "imports": "@/components/coverage/network-coverage-graph,@/components/evals/suite-overview,@/lib/local/persistent-store,@/lib/neon/client,next/link",
      "lines": 164,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability",
      "component_id": "1a5988705a24bebaaed92406",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/registry/registry-sync-button, @/components/registry/service-grid, @/lib/local/persistent-store, @/lib/neon/client, @/lib/registry/services, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "817667d9b8830d43",
      "framework": "next-react",
      "imports": "@/components/registry/registry-sync-button,@/components/registry/service-grid,@/lib/local/persistent-store,@/lib/neon/client,@/lib/registry/services,next,next/link",
      "lines": 164,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/registry/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "13a4e2091d6c2d5ba8e25a8d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65c4037be496f549",
      "framework": "next-react",
      "imports": "@/lib/config/service,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "f6e89a1008c7857496ca16ee",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/gates/release-gate-service, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a22bdfbdb7d6430f",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/gates/release-gate-service,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/gates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "4107f44854cb45331fe2e5c7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/evals/suite-service, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dad4a7ac8cd6df30",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/evals/suite-service,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/evals/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,ai,frontend",
      "component_id": "f7bef3e2de3316475a0d134f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/evals/suite-service, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f7a660d279d32a6e",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/evals/suite-service,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/evals/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "4724af9518d4ecb32de71091",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/registry/claws-sync, @/lib/registry/mcp-sync | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7303f4e7505009cc",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/registry/claws-sync,@/lib/registry/mcp-sync",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/targets/import/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ae400050093dc9b606cc1c3a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0e724de2c90c64a",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "7c3c67308a7b87bfcc4ad54b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/datasets/dataset-service, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d6870a93b62efdad",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/datasets/dataset-service,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/datasets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "d4543be50334b0835f6a4bc3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/datasets/dataset-service, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "952380df340360ec",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/datasets/dataset-service,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/datasets/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,security",
      "component_id": "d04662258277dcc3aa41c32a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/api/response, @/lib/api/with-auth, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "881634ba1cf497a4",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/api/with-auth,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/publish/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b8cbb18008c8f51e064b44ad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/neon/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71ce3015bd9a3cb0",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/neon/client,next/server",
      "lines": 207,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/compare/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "f945e04e28b2ca2b87e06749",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/registry/claws-sync, @/lib/registry/mcp-sync, @/lib/registry/sync | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6198c8b93f2c14a5",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/registry/claws-sync,@/lib/registry/mcp-sync,@/lib/registry/sync",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registry/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "a35b1b901ed855ff28bfe79a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/registry/services, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bc5d7af46049255",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/registry/services,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registry/services/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2d7e9908fd4900d0f7cb70ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/registry/service-probing | backend-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d073d5af30ea2d27",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/registry/service-probing",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registry/probe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "a5adfe59c1ebc25b71c194c9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/evals/suite-service | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "57121ef6c2eb1840",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/evals/suite-service",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "50241d9c7ff44e7cfc123ce1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/neon/client, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c899b50b56ec9357",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/neon/client,next/server",
      "lines": 80,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/regressions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,security",
      "component_id": "f03d43372916f6cbe0fd4ad9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/neon/client, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "016d4d814619756f",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/neon/client,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/regressions/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "85c1ba0f3a37c6ee0d2ca199",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/evals/run-orchestrator, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b5d7568364640607",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/evals/run-orchestrator,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "48732a1e5fc65c20b91ba28a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/evals/run-orchestrator, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cc8cfb27a0fb829a",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/evals/run-orchestrator,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,ai",
      "component_id": "f5c592099f285b8561d0ea49",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/graders/grader-service, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09bfe80d8900dd30",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/graders/grader-service,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/graders/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "937e13fc6a6d3f09eace51bf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/graders/grader-service, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d5ee9849e1618da4",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/graders/grader-service,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/graders/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "c570df7fecd9db5f97689c41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,drizzle-orm",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/config/service, @/lib/neon/client, drizzle-orm | backend-score:125 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13bdc9f9a3b0a149",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/config/service,@/lib/neon/client,drizzle-orm",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "8f013a0624984c40af3cda4e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/auth, @/lib/api/response, @/lib/evals/run-orchestrator, @/lib/evals/suite-service, @/lib/gates/release-gate-service, @/lib/mcp, @/lib/mcp/server, @/lib/registry/mcp-sync | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "edac6810a85b1366",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/evals/run-orchestrator,@/lib/evals/suite-service,@/lib/gates/release-gate-service,@/lib/mcp,@/lib/mcp/server,@/lib/registry/mcp-sync,@/lib/registry/sync,@/lib/scorecards/scorecard-service,next/server",
      "lines": 283,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "8f099b902ada120a165c7a23",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/discovery/openapi | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bdcb4ff278248ad3",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/discovery/openapi",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,observability",
      "component_id": "8b2890b010fe1074f3deba8a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31e83faf5eddaa27",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/templates/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "269283ef57415de06cda3eed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b9dbcda3ddfc1073",
      "framework": "next-react",
      "imports": "@/lib/config/service,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "b9409679ad0191f9db627e2b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegressionsPage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RegressionsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39446b4ba0d48f60",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 81,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/regressions/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,security",
      "component_id": "c329024085e3e111588bcab0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegressionDetailPage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RegressionDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "016ee9fd991d5ba1",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 90,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/regressions/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "bfe961271b3c6f8fb7726798",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a8e0236138c42f1",
      "framework": "next-react",
      "imports": "@/lib/discovery/openapi,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "56c3889a995de910b582ef2d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9c9bc0c95b8cd896",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "c3f58f93e683cf1fff010c5e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/llms, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e0d981582706229",
      "framework": "next-react",
      "imports": "@/lib/standards/llms,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "bcb14e04f1042089802f5c69",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/standards/manifest, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef6bcce050ba1fcf",
      "framework": "next-react",
      "imports": "@/lib/standards/manifest,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,observability",
      "component_id": "b6eaf9f4e015d7a4360d5f98",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/status/honest-status-page | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c300376efd6381a4",
      "framework": "next-react",
      "imports": "@/components/status/honest-status-page",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/approvals/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "4caa904695e5fc227f89dad1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewGatePage | imports:@/lib/gates/release-gate-service, next/cache, next/link, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "NewGatePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9078185e8cadd4d5",
      "framework": "next-react",
      "imports": "@/lib/gates/release-gate-service,next/cache,next/link,next/navigation",
      "lines": 89,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/gates/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bc5fa6477b8c3ebb822d7964",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4ed68a6f7ced850f",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/gates/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ai,ui,observability",
      "component_id": "9f05c1eaa8ccc7825c9c52c9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewEvalSuitePage | imports:@/lib/evals/suite-service, next/cache, next/link, next/navigation | frontend-score:115 | ai-score:75 | ui-score:55 | observability-score:55",
      "exports": "NewEvalSuitePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "988c2f6abfd9212d",
      "framework": "next-react",
      "imports": "@/lib/evals/suite-service,next/cache,next/link,next/navigation",
      "lines": 78,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/evals/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "4aa1034f8c07d50f3a27fe3a",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ai-score:75 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4bb5f04e7c52a133",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/evals/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "95334dc63650521ded4ec7a5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewDatasetPage | imports:@/lib/datasets/dataset-service, next/cache, next/link, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "NewDatasetPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1d6dfd3b6b2d94d",
      "framework": "next-react",
      "imports": "@/lib/datasets/dataset-service,next/cache,next/link,next/navigation",
      "lines": 67,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/datasets/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c49b72132a172c9426397a4a",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "63ae0f4d42ead389",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/datasets/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,ai",
      "component_id": "465af7355ba7cca2e56b51ed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewGraderPage | imports:@/lib/graders/grader-service, next/cache, next/link, next/navigation | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "NewGraderPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7079b7a6c34165d2",
      "framework": "next-react",
      "imports": "@/lib/graders/grader-service,next/cache,next/link,next/navigation",
      "lines": 82,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/graders/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1ba03f07f0e21c95a30812de",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5ff95b2dcaae4f84",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/builder/graders/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "337c4bea1780dcfb972d73f4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunsPage, StatusBadge | imports:@/lib/evals/run-orchestrator, @/lib/evals/suite-service, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RunsPage,StatusBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c59c5ff083ea4817",
      "framework": "next-react",
      "imports": "@/lib/evals/run-orchestrator,@/lib/evals/suite-service,next/link",
      "lines": 180,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "86f9020c4f6cbc6164037c44",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunDetailPage, ScoreBar, StatusBadge | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RunDetailPage,ScoreBar,StatusBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9814c4af940d836d",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 270,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,integration,security,automation",
      "component_id": "156a7e41b3381d5db648fc40",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunWebhookPage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "RunWebhookPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe6d04aaebc10753",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/[id]/webhook/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9db9c5f49845404bf8430578",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunTracePage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RunTracePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b491ba7e5b828e5c",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 117,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/[id]/trace/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "ce615320b538a3282a9aa630",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunBrowserPage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RunBrowserPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fd66dd03c3db081",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/[id]/browser/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9a3a350a2f1a9fef718cc80b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RunComparePage | imports:@/lib/neon/client, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RunComparePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ffed409c38024c6a",
      "framework": "next-react",
      "imports": "@/lib/neon/client,next/link",
      "lines": 135,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/runs/[id]/compare/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "44281d133069bbfc81de72f1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GraderTypeIcon, GradersPage | imports:@/lib/graders/grader-service, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GraderTypeIcon,GradersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "296ac5d49737d6ed",
      "framework": "next-react",
      "imports": "@/lib/graders/grader-service,next/link",
      "lines": 139,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/graders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "1808873dff1eb2f4244aee49",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "74b0373b5601884e",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "2cce85b5f6db8ee699b408da",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2177c66dcccb754c",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "403872a836333f545edc68ae",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7a2da9f1ee9d9dee",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "07f1ae36ee39c9456a5120b5",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "8c5ea3f3f16d1921",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,ai",
      "component_id": "5d6089b9ea6e1dc013636255",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9b1c6c5c9387a325",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/openapi.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "c38e9b21de5d53c8213f1c62",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "85ec5f098e6f801c",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "platphorm_schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "3f19c2e41a0d28d24aac4aed",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../lib/graders/grader-service, ../types/graders, vitest | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1a59f92fc14627dc",
      "framework": "next-react",
      "imports": "../lib/graders/grader-service,../types/graders,vitest",
      "lines": 284,
      "logic_relevance": "none",
      "name": "grader-service.test",
      "normalized_name": "grader-service",
      "package_manager": "pnpm",
      "path": "tests/grader-service.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "339745081192690c112d426f",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/lib/config/service, @/lib/standards/manifest, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d29ef0a26709cff3",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/standards/manifest,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "manifest.test",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "tests/manifest.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d39327e1ed5545be7fc6e16f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/standards/network-manifest, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5aa80e2409d25e04",
      "framework": "next-react",
      "imports": "@/lib/standards/network-manifest,vitest",
      "lines": 11,
      "logic_relevance": "none",
      "name": "service-config.test",
      "normalized_name": "service-config",
      "package_manager": "pnpm",
      "path": "tests/service-config.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "f7fadb32c2db49db296273b7",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/integrations/network-graph-client, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14f5c2be517ee250",
      "framework": "next-react",
      "imports": "@/lib/integrations/network-graph-client,vitest",
      "lines": 115,
      "logic_relevance": "none",
      "name": "network-graph-client.test",
      "normalized_name": "network-graph-client",
      "package_manager": "pnpm",
      "path": "tests/network-graph-client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "158f81114fca875012978395",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "vitest,zod",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../lib/mcp, vitest, zod | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f79a4aab6974bc1c",
      "framework": "next-react",
      "imports": "../lib/mcp,vitest,zod",
      "lines": 119,
      "logic_relevance": "none",
      "name": "mcp-tools.test",
      "normalized_name": "mcp-tools",
      "package_manager": "pnpm",
      "path": "tests/mcp-tools.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability,ai",
      "component_id": "319c175a64a2e8e71a5b2b37",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/integrations/mcp-hub-client, vitest | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba3d9a72f9426ec5",
      "framework": "next-react",
      "imports": "@/lib/integrations/mcp-hub-client,vitest",
      "lines": 74,
      "logic_relevance": "none",
      "name": "mcp-hub-client.test",
      "normalized_name": "mcp-hub-client",
      "package_manager": "pnpm",
      "path": "tests/mcp-hub-client.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,ai",
      "component_id": "04d427c11895c8fc70639afa",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/app,@testing-library/react,react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:JSX | imports:@/app/graders/page, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | ai-score:45 | uses-env",
      "exports": "JSX",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b6130320f219bb6",
      "framework": "next-react",
      "imports": "@/app/graders/page,@testing-library/react,react,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "graders-page.test",
      "normalized_name": "graders-page",
      "package_manager": "pnpm",
      "path": "tests/graders-page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "f525d25a50731da5d0de2f23",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/integrations/claws-client, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f87fa40e9d7e2e77",
      "framework": "next-react",
      "imports": "@/lib/integrations/claws-client,vitest",
      "lines": 96,
      "logic_relevance": "none",
      "name": "claws-client.test",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "tests/claws-client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "e6e644d044faa1b8ccf757fe",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../lib/evals/suite-service, ../lib/neon/client, ../types/evals, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c3828571b35c01ab",
      "framework": "next-react",
      "imports": "../lib/evals/suite-service,../lib/neon/client,../types/evals,vitest",
      "lines": 121,
      "logic_relevance": "none",
      "name": "suite-service.test",
      "normalized_name": "suite-service",
      "package_manager": "pnpm",
      "path": "tests/suite-service.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "de2382acc5f1c831ade9a287",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/evals/run-orchestrator, ../lib/neon/client, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2fdb1c315827c698",
      "framework": "next-react",
      "imports": "../lib/evals/run-orchestrator,../lib/neon/client,vitest",
      "lines": 141,
      "logic_relevance": "none",
      "name": "run-orchestrator.test",
      "normalized_name": "run-orchestrator",
      "package_manager": "pnpm",
      "path": "tests/run-orchestrator.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "938d4abab0dafc58d3fa9013",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/components,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/components/coverage/network-coverage-graph, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8aac7e264cb55810",
      "framework": "next-react",
      "imports": "@/components/coverage/network-coverage-graph,vitest",
      "lines": 30,
      "logic_relevance": "none",
      "name": "network-coverage-graph.test",
      "normalized_name": "network-coverage-graph",
      "package_manager": "pnpm",
      "path": "tests/network-coverage-graph.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "8ac5c5382bd3c20c4abbea24",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/auth, @/lib/config/env, next/server, vitest | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a54f202c05f19c2",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/config/env,next/server,vitest",
      "lines": 71,
      "logic_relevance": "none",
      "name": "api-auth.test",
      "normalized_name": "api-auth",
      "package_manager": "pnpm",
      "path": "tests/api-auth.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "b12a6878d42cd8dabbf7c323",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/registry/services, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2eafd3b7d6783a5",
      "framework": "next-react",
      "imports": "@/lib/registry/services,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "registry-services.test",
      "normalized_name": "registry-services",
      "package_manager": "pnpm",
      "path": "tests/registry-services.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,security,ai",
      "component_id": "6d1e8afc0a1049df94d2b9c8",
      "component_kind": "mcp-server",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, next/server, vitest | backend-score:55 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c6dc65d85a3687da",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "mcp-route.test",
      "normalized_name": "mcp-route",
      "package_manager": "pnpm",
      "path": "tests/mcp-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "57db61e534a0921e0efbfd6b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,@/types,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/correlation, @/lib/cosmic/cuid, @/lib/cosmic/fingerprint, @/types/trace, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "428cf7187922e277",
      "framework": "next-react",
      "imports": "@/lib/api/correlation,@/lib/cosmic/cuid,@/lib/cosmic/fingerprint,@/types/trace,next/server,vitest",
      "lines": 133,
      "logic_relevance": "none",
      "name": "api-correlation.test",
      "normalized_name": "api-correlation",
      "package_manager": "pnpm",
      "path": "tests/api-correlation.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,ai",
      "component_id": "e4a1687cdc5462995a981b98",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp, @/lib/mcp/server, vitest | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4faaf2136478f023",
      "framework": "next-react",
      "imports": "@/lib/mcp,@/lib/mcp/server,vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "tests/integration/mcp.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,discovery",
      "component_id": "44bb8cdb38dbb28b8c0f770f",
      "component_kind": "openapi",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/discovery/openapi, vitest | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef5fa9f984c27b72",
      "framework": "next-react",
      "imports": "@/lib/discovery/openapi,vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "openapi.test",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "tests/integration/openapi.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a641136c6337e6228c0589bb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/registry/service-probing, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "890e626e95e5e482",
      "framework": "next-react",
      "imports": "@/lib/registry/service-probing,vitest",
      "lines": 31,
      "logic_relevance": "none",
      "name": "service-probing.test",
      "normalized_name": "service-probing",
      "package_manager": "pnpm",
      "path": "tests/integration/service-probing.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "16c8ebaae40627911f3617c7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/standards/llms, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db9c2faa8932a291",
      "framework": "next-react",
      "imports": "@/lib/standards/llms,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "tests/integration/discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0037172118ab3e7211e0152",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,@testing-library/react,next,react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/regressions/route, @/app/regressions/page, @/lib/neon/client, @testing-library/react, next/server, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7cc9f15d5528aa86",
      "framework": "next-react",
      "imports": "@/app/api/v1/regressions/route,@/app/regressions/page,@/lib/neon/client,@testing-library/react,next/server,react,vitest",
      "lines": 75,
      "logic_relevance": "none",
      "name": "regressions-ui-data-flow.test",
      "normalized_name": "regressions-ui-data-flow",
      "package_manager": "pnpm",
      "path": "tests/integration/regressions-ui-data-flow.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d20defee11ff2bfd3e274143",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/[...slug]/page, @/app/regressions/[id]/page, @/app/runs/[id]/compare/page, @/app/runs/[id]/page, @/app/runs/[id]/trace/page, @/app/settings/page, @/app/targets/[service]/[capability]/page, @testing-library/react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a360aeef4e8ee7d0",
      "framework": "next-react",
      "imports": "@/app/[...slug]/page,@/app/regressions/[id]/page,@/app/runs/[id]/compare/page,@/app/runs/[id]/page,@/app/runs/[id]/trace/page,@/app/settings/page,@/app/targets/[service]/[capability]/page,@testing-library/react,react,vitest",
      "lines": 66,
      "logic_relevance": "none",
      "name": "no-404-ui.test",
      "normalized_name": "no-404-ui",
      "package_manager": "pnpm",
      "path": "tests/integration/no-404-ui.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3691659a8133beef04400950",
      "component_kind": "health-check",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/config/service, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c2e76bb7a4c83c9",
      "framework": "next-react",
      "imports": "@/lib/config/service,vitest",
      "lines": 14,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/integration/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "b3af1f464088677ad957b663",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,@neondatabase/serverless,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MockNetworkGraphClient | imports:@/lib/integrations/network-graph-client, @/lib/neon/client, @/lib/registry/sync, @neondatabase/serverless, vitest | observability-score:55",
      "exports": "MockNetworkGraphClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecbdd403deb578a3",
      "framework": "next-react",
      "imports": "@/lib/integrations/network-graph-client,@/lib/neon/client,@/lib/registry/sync,@neondatabase/serverless,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "sync.test",
      "normalized_name": "sync",
      "package_manager": "pnpm",
      "path": "tests/registry/sync.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "3fd7198cb5474ba82e04cd43",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "550e85bd505918b9",
      "framework": "next-react",
      "imports": "",
      "lines": 391,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_CHECKLIST",
      "normalized_name": "implementation-checklist",
      "package_manager": "pnpm",
      "path": "docs/IMPLEMENTATION_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "32f18a5827d7d3744f9928b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ee0c2ef02652cda4",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,ai,logic,observability,security,automation",
      "component_id": "b84f0b7e230a9fed1f6caddc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:120 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8a3811eab212e870",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "secondary",
      "name": "DATA_MODEL",
      "normalized_name": "data-model",
      "package_manager": "pnpm",
      "path": "docs/DATA_MODEL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "7ff71ede039acd93a0fb35c9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "841e612d971613d5",
      "framework": "next-react",
      "imports": "",
      "lines": 322,
      "logic_relevance": "none",
      "name": "TROUBLESHOOTING",
      "normalized_name": "troubleshooting",
      "package_manager": "pnpm",
      "path": "docs/TROUBLESHOOTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,automation",
      "component_id": "d7078b11b87b33d539d84457",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb0565ea41aca809",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "API_SURFACE",
      "normalized_name": "api-surface",
      "package_manager": "pnpm",
      "path": "docs/API_SURFACE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "396176b24a1d97ad9b256333",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f2b2b01c26151fc9",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "INTEGRATIONS",
      "normalized_name": "integrations",
      "package_manager": "pnpm",
      "path": "docs/INTEGRATIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "128326a1979d15e8c9019b2c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2bc4ba5dd0be8888",
      "framework": "next-react",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "BUILD_GUIDE",
      "normalized_name": "build-guide",
      "package_manager": "pnpm",
      "path": "docs/BUILD_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "56dfa4f5734bafdeec7b77de",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3cfec8133cbd3740",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "dbe23f099b332fef6d9a6822",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "49f8dba74b1f66bb",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "BUILD_CHECKLIST",
      "normalized_name": "build-checklist",
      "package_manager": "pnpm",
      "path": "docs/BUILD_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2cb117e7fc62e4b612d1b941",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:EVALS_MCP_PROMPTS, EVALS_MCP_RESOURCES, EVALS_MCP_TOOLS, PLATPHORM_ALLOWED_ORIGINS | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "EVALS_MCP_PROMPTS,EVALS_MCP_RESOURCES,EVALS_MCP_TOOLS,PLATPHORM_ALLOWED_ORIGINS",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7fa186ab75db9d81",
      "framework": "next-react",
      "imports": "",
      "lines": 804,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_PLAN",
      "normalized_name": "implementation-plan",
      "package_manager": "pnpm",
      "path": "docs/IMPLEMENTATION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "b3102c5101c91b73f57c51da",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusBadge, SuiteOverview | imports:@/lib/local/persistent-store, @/lib/neon/client, next/link | frontend-score:115 | ai-score:75 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StatusBadge,SuiteOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e3d5eb968172c61",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,next/link",
      "lines": 193,
      "logic_relevance": "none",
      "name": "suite-overview",
      "normalized_name": "suite-overview",
      "package_manager": "pnpm",
      "path": "components/evals/suite-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ea87340e6ceec710cb7dfe93",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppShell | imports:next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppShell",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "47a03c4048c0dd28",
      "framework": "next-react",
      "imports": "next/link,next/navigation",
      "lines": 232,
      "logic_relevance": "none",
      "name": "app-shell",
      "normalized_name": "app-shell",
      "package_manager": "pnpm",
      "path": "components/layout/app-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,observability,security",
      "component_id": "ccc3366d324bd3d919278d89",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:HonestStatusPage | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HonestStatusPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec14ebd7580d049d",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "honest-status-page",
      "normalized_name": "honest-status-page",
      "package_manager": "pnpm",
      "path": "components/status/honest-status-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "2acc08bfbd1c8de519441220",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegistrySyncButton | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RegistrySyncButton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96d3cb2ff3b311cb",
      "framework": "next-react",
      "imports": "react",
      "lines": 86,
      "logic_relevance": "none",
      "name": "registry-sync-button",
      "normalized_name": "registry-sync-button",
      "package_manager": "pnpm",
      "path": "components/registry/registry-sync-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "0a640f104fd29db8aa504992",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceGrid | imports:next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ServiceGrid",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2de7b2dba91ac0d6",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 127,
      "logic_relevance": "none",
      "name": "service-grid",
      "normalized_name": "service-grid",
      "package_manager": "pnpm",
      "path": "components/registry/service-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,observability,security,ai",
      "component_id": "dab45c64e3426e2f4ffb575d",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET | process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GET",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7977bb7879bef5a9",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "914c84dd133221d94c63125c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "165563b7768a4b75",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process,security",
      "component_id": "bfc4b363c24c0b6a27edce81",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "479b951b3647a5d4",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "b427c08aafe0ac198444b01e",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dada09084f153f94",
      "framework": "next-react",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "summary",
      "normalized_name": "summary",
      "package_manager": "pnpm",
      "path": "scripts/summary.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "a0c682510d08f3cd2a99c6d1",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "json",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:json | automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8fd94e6890461bb0",
      "framework": "next-react",
      "imports": "json",
      "lines": 18,
      "logic_relevance": "none",
      "name": "fix_package",
      "normalized_name": "fix-package",
      "package_manager": "pnpm",
      "path": "scripts/fix_package.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "d9d4602eef576f3ced6d76e1",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DATABASE_URL | imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "DATABASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f599d8550556176",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 99,
      "logic_relevance": "none",
      "name": "seed-default-suites",
      "normalized_name": "seed-default-suites",
      "package_manager": "pnpm",
      "path": "scripts/seed-default-suites.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability,security",
      "component_id": "c38c1a614664aa5510059f16",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "03d41c6f65182550",
      "framework": "next-react",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "diagnose",
      "normalized_name": "diagnose",
      "package_manager": "pnpm",
      "path": "scripts/diagnose.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "7413e0e93521f7f9a6a09d05",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fbc84c3dac4cd980",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "test-build",
      "normalized_name": "test-build",
      "package_manager": "pnpm",
      "path": "scripts/test-build.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "f3a8914a6ff35f99e7b266d6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ReleaseGateService | imports:@/lib/local/persistent-store, @/lib/neon/client, @/lib/scorecards/scorecard-service, @/types/gates, @/types/scorecards | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ReleaseGateService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "243759bacbe87fe9",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,@/lib/scorecards/scorecard-service,@/types/gates,@/types/scorecards",
      "lines": 306,
      "logic_relevance": "primary",
      "name": "release-gate-service",
      "normalized_name": "release-gate-service",
      "package_manager": "pnpm",
      "path": "lib/gates/release-gate-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,ai,backend,observability",
      "component_id": "200c68a82b82036cb9f16fac",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EvalSuiteService | imports:@/lib/local/persistent-store, @/lib/neon/client, @/types/evals | logic-score:85 | ai-score:75 | backend-score:55 | observability-score:55",
      "exports": "EvalSuiteService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb69015e05919c48",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,@/types/evals",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "suite-service",
      "normalized_name": "suite-service",
      "package_manager": "pnpm",
      "path": "lib/evals/suite-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,ai,observability",
      "component_id": "d7b23e80c63f9e4be68754b1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EvalRun, RunInput, RunOrchestrator | imports:@/lib/cosmic/cuid, @/lib/datasets/dataset-service, @/lib/evals/suite-service, @/lib/graders/grader-service, @/lib/local/persistent-store, @/lib/neon/client | logic-score:85 | ai-score:75 | observability-score:55",
      "exports": "EvalRun,RunInput,RunOrchestrator",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8c8a9ef6de60ceb2",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/datasets/dataset-service,@/lib/evals/suite-service,@/lib/graders/grader-service,@/lib/local/persistent-store,@/lib/neon/client",
      "lines": 405,
      "logic_relevance": "primary",
      "name": "run-orchestrator",
      "normalized_name": "run-orchestrator",
      "package_manager": "pnpm",
      "path": "lib/evals/run-orchestrator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "407f7dd7d365611f40ec80b5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getAllowedOrigins, isOriginAllowed | imports:@/lib/config/env | logic-score:85",
      "exports": "getAllowedOrigins,isOriginAllowed",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db71010e6172ff1b",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "policy",
      "normalized_name": "policy",
      "package_manager": "pnpm",
      "path": "lib/config/policy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "98d7e9d58f9b6349df47679e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:env | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "env",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4424733e58c30d97",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/config/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "1880a8b0ebce566f1b21df1c",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, buildInfo, validateBuildEnvironment | imports:@/lib/utils/logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiResponse,buildInfo,validateBuildEnvironment",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e9bddf74fd34e296",
      "framework": "next-react",
      "imports": "@/lib/utils/logger",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "build-validation",
      "normalized_name": "build-validation",
      "package_manager": "pnpm",
      "path": "lib/config/build-validation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation",
      "component_id": "4a74c94de4bb249f48e3f17a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:serviceConfig | imports:@/types/metadata | logic-score:85 | backend-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "serviceConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ab0d16b4e1c7ef1",
      "framework": "next-react",
      "imports": "@/types/metadata",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "pnpm",
      "path": "lib/config/service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "6837b4c242586598188c223c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GeneratedApiKey, generateApiKey | imports:@/lib/config/env, node:crypto | logic-score:85 | security-score:55",
      "exports": "GeneratedApiKey,generateApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0b71c40af02756c4",
      "framework": "next-react",
      "imports": "@/lib/config/env,node:crypto",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "key-generator",
      "normalized_name": "key-generator",
      "package_manager": "pnpm",
      "path": "lib/cosmic/key-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "cdf6efa08c99ce3fa794a1b5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceClient, TraceRegistration | imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "TraceClient,TraceRegistration",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1624ab920eb4094b",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "trace-client",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/trace-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "23fa36262f6090375f43d683",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractFingerprintContext | imports:@/types/trace, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "extractFingerprintContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "51fc70fd8180689c",
      "framework": "next-react",
      "imports": "@/types/trace,next/server",
      "lines": 14,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/cosmic/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "7d3d1876cfc080bd93fe8fcb",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createCuid, generateCosmicIdSync, generateCuid | logic-score:85 | uses-env",
      "exports": "createCuid,generateCosmicIdSync,generateCuid",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4cca1ef9ec513663",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "cuid",
      "normalized_name": "cuid",
      "package_manager": "pnpm",
      "path": "lib/cosmic/cuid.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "d7f1634584097af468a7f661",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClawsClient | imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "ClawsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "39c5e343cba5d710",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "claws-client",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/claws-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,observability",
      "component_id": "57000c87cf21852c41cf7100",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DatasetService | imports:@/lib/local/persistent-store, @/lib/neon/client, @/types/datasets | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "DatasetService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "026123ed6821c2a7",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,@/types/datasets",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "dataset-service",
      "normalized_name": "dataset-service",
      "package_manager": "pnpm",
      "path": "lib/datasets/dataset-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,ai",
      "component_id": "6878897a5335907b21e95ae4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiDocument | imports:@/lib/config/service | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "buildOpenApiDocument",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e4130127ee59be49",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 308,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/discovery/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "e0add7af42834aba407c1f33",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkGraphClient | imports:@/lib/registry/sync, vitest | logic-score:60 | observability-score:55",
      "exports": "NetworkGraphClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "388ff8139978369f",
      "framework": "next-react",
      "imports": "@/lib/registry/sync,vitest",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "sync.test",
      "normalized_name": "sync",
      "package_manager": "pnpm",
      "path": "lib/tests/registry/sync.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "b3e6a13745c318330e6e2db1",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "80a6a6b1e18d4fc0",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "cn",
      "normalized_name": "cn",
      "package_manager": "pnpm",
      "path": "lib/utils/cn.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "84cd4b5e735df870eef59146",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:logger | logic-score:60 | observability-score:55 | uses-env",
      "exports": "logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3a34c64b9470578b",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/utils/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "49ccb162600e2954859c4a5d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpResource, mcpResources | logic-score:70 | integration-score:55 | observability-score:55",
      "exports": "McpResource,mcpResources",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c4b5264efb3f9b59",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "resources",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,ai",
      "component_id": "51e0d4d9f9572402592f90f5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:toolInputSchemas | imports:zod | logic-score:70 | integration-score:55 | ai-score:45",
      "exports": "toolInputSchemas",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b75dfaef9dbef2e",
      "framework": "next-react",
      "imports": "zod",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "schemas",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "lib/mcp/schemas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,integration",
      "component_id": "1570f788c9cf5c73138e332e",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:McpPrompt, mcpPrompts | ai-score:120 | logic-score:70 | integration-score:55",
      "exports": "McpPrompt,mcpPrompts",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1c71bb7fc006f57b",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "04c7b2ee605efada58b97a57",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpTool, mcpTools | logic-score:70 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "McpTool,mcpTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8944b4fc67efb1ad",
      "framework": "next-react",
      "imports": "",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,ai",
      "component_id": "18efe8c29bab898f44559b91",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./prompts, ./resources, ./schemas, ./tools | logic-score:70 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ad58bab9f71931ec",
      "framework": "next-react",
      "imports": "./prompts,./resources,./schemas,./tools",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/mcp/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation,ai",
      "component_id": "d3fbdc038af6fcb96f8f8015",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildMcpServerDescriptor, getMcpManifest | imports:@/lib/config/service, @/lib/mcp | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildMcpServerDescriptor,getMcpManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f1b5c5749c506123",
      "framework": "next-react",
      "imports": "@/lib/config/service,@/lib/mcp",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/mcp/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "6b3034593bb63cb6939239b0",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,node:crypto,node:fs,node:path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalSyncRun, createLocalDataset, createLocalGate, createLocalGrader, createLocalRun, createLocalSuite, newLocalId, nowIso | imports:@/lib/integrations/network-graph-client, @/types/datasets, @/types/evals, @/types/gates, @/types/graders, @/types/scorecards, node:crypto, node:fs | logic-score:85 | observability-score:55 | uses-env",
      "exports": "LocalSyncRun,createLocalDataset,createLocalGate,createLocalGrader,createLocalRun,createLocalSuite,newLocalId,nowIso,readLocalStore,slugify,updateLocalStore,writeLocalStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f5417b564c082d6d",
      "framework": "next-react",
      "imports": "@/lib/integrations/network-graph-client,@/types/datasets,@/types/evals,@/types/gates,@/types/graders,@/types/scorecards,node:crypto,node:fs,node:path",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "persistent-store",
      "normalized_name": "persistent-store",
      "package_manager": "pnpm",
      "path": "lib/local/persistent-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "9f64ebbcf9c1f742fd72c6bb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BrowserOpsClient | imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "BrowserOpsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2ac1bcbefeee494e",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "browserops-client",
      "normalized_name": "browserops-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/browserops-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "d2fb6b8b3e8f0bab83f4de85",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AgentUiClient | imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "AgentUiClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cdc1410e4d40ebf9",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "agentui-client",
      "normalized_name": "agentui-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/agentui-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,automation",
      "component_id": "0a766d6547ac3c8804d02cce",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WebhookLabClient | imports:@/lib/config/env | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "WebhookLabClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0e4bca4c98692996",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "webhooklab-client",
      "normalized_name": "webhooklab-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/webhooklab-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,process",
      "component_id": "a9b14450edf4e72db7b4fd07",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocsClient | imports:@/lib/config/env | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "DocsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "147d8d9ba362345a",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "docs-client",
      "normalized_name": "docs-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/docs-client.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "94f955a0f71e9ff58612e96f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TracePlatformClient | imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "TracePlatformClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f1591946bebf2ff2",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "trace-client",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/trace-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "adfa83a0a1e875332a126cfa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkCapability, NetworkGraphClient, NetworkGraphResponse, NetworkService | imports:@/lib/config/env | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "NetworkCapability,NetworkGraphClient,NetworkGraphResponse,NetworkService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b27e230c75ca65c2",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 300,
      "logic_relevance": "primary",
      "name": "network-graph-client",
      "normalized_name": "network-graph-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/network-graph-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "da6afeebb2c8eea9f96891d6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpHubCapabilitiesResponse, McpHubClient, McpHubDescriptor, McpHubPrompt, McpHubResource, McpHubTool | imports:@/lib/config/env | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "McpHubCapabilitiesResponse,McpHubClient,McpHubDescriptor,McpHubPrompt,McpHubResource,McpHubTool",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c26bc0725af32c5e",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "mcp-hub-client",
      "normalized_name": "mcp-hub-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/mcp-hub-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,process",
      "component_id": "3039716641695afcd3d03dfe",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SpecClient | imports:@/lib/config/env | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "SpecClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9775fa2f65036fbf",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "spec-client",
      "normalized_name": "spec-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/spec-client.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "48116cd87831ae7128624ee6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SandboxClient | imports:@/lib/config/env | logic-score:85 | observability-score:55",
      "exports": "SandboxClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bdf16780a9556d31",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "sandbox-client",
      "normalized_name": "sandbox-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/sandbox-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "f76b31de69ac918e219c9aa0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClawsDiscoveryManifest, ClawsFederationOverview, ClawsPlatformClient | imports:@/lib/config/env | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ClawsDiscoveryManifest,ClawsFederationOverview,ClawsPlatformClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f9b196de23411adc",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "claws-client",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/claws-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "fb17745ee662f070eb6eddde",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "drizzle-orm",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:auditLogs, browserRunLinks, coverageSnapshots, datasetItems, datasetVersions, datasets, evalCases, evalRunArtifacts | imports:drizzle-orm/pg-core | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "auditLogs,browserRunLinks,coverageSnapshots,datasetItems,datasetVersions,datasets,evalCases,evalRunArtifacts,evalRunCases,evalRunSteps,evalRuns,evalSuiteTargets,evalSuites,graderVersions,graders,networkCapabilities,networkServices,publishTargets,registrySyncRuns,regressions,releaseGates,scorecardMetrics,scorecards,traceLinks,webhookRunLinks",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "15ab0135a72cbd6b",
      "framework": "next-react",
      "imports": "drizzle-orm/pg-core",
      "lines": 282,
      "logic_relevance": "primary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/neon/schema.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "5dd0edc1d98704db63681dba",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,drizzle-orm",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getDb, getRequiredSql, getSql, isDatabaseAvailable | imports:@/lib/utils/logger, @neondatabase/serverless, drizzle-orm/neon-http | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "getDb,getRequiredSql,getSql,isDatabaseAvailable",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "86d68ed69dc00b77",
      "framework": "next-react",
      "imports": "@/lib/utils/logger,@neondatabase/serverless,drizzle-orm/neon-http",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/neon/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "5e4371bc329fc53ab43fef3b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClawsImportResult | imports:@/lib/config/env, @/lib/integrations/claws-client, @/lib/integrations/network-graph-client, @/lib/neon/client, @/lib/registry/local-upsert, node:crypto | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ClawsImportResult",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dcd74216fb8fa714",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/integrations/claws-client,@/lib/integrations/network-graph-client,@/lib/neon/client,@/lib/registry/local-upsert,node:crypto",
      "lines": 326,
      "logic_relevance": "primary",
      "name": "claws-sync",
      "normalized_name": "claws-sync",
      "package_manager": "pnpm",
      "path": "lib/registry/claws-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,integration,observability,security",
      "component_id": "1260fc0d8402d7cb88844f34",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalUpsertStats, resolveLocalServiceSlugs, upsertLocalCapabilities, upsertLocalRegistryService | imports:@/lib/integrations/network-graph-client, @/lib/local/persistent-store | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "LocalUpsertStats,resolveLocalServiceSlugs,upsertLocalCapabilities,upsertLocalRegistryService",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ebb16438ec64e020",
      "framework": "next-react",
      "imports": "@/lib/integrations/network-graph-client,@/lib/local/persistent-store",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "local-upsert",
      "normalized_name": "local-upsert",
      "package_manager": "pnpm",
      "path": "lib/registry/local-upsert.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "85f6406f3cb98360012aee91",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpImportResult | imports:@/lib/config/env, @/lib/integrations/mcp-hub-client, @/lib/integrations/network-graph-client, @/lib/neon/client, @/lib/registry/local-upsert, node:crypto | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "McpImportResult",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "151cebc281fb5b5d",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/integrations/mcp-hub-client,@/lib/integrations/network-graph-client,@/lib/neon/client,@/lib/registry/local-upsert,node:crypto",
      "lines": 446,
      "logic_relevance": "primary",
      "name": "mcp-sync",
      "normalized_name": "mcp-sync",
      "package_manager": "pnpm",
      "path": "lib/registry/mcp-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "11df6ec5d524fef043ff8493",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RegistryCapabilitySummary, RegistryServiceList, RegistryServiceSummary | imports:@/lib/local/persistent-store, @/lib/neon/client | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RegistryCapabilitySummary,RegistryServiceList,RegistryServiceSummary",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a97c165afe4cf18a",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client",
      "lines": 245,
      "logic_relevance": "primary",
      "name": "services",
      "normalized_name": "services",
      "package_manager": "pnpm",
      "path": "lib/registry/services.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "c39e22f93a24e69ae8d3c950",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CANONICAL_SERVICES, CanonicalService, DiscoveredCapability, EndpointProbeResult, ServiceProbeResult | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CANONICAL_SERVICES,CanonicalService,DiscoveredCapability,EndpointProbeResult,ServiceProbeResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f45eaca4545a1701",
      "framework": "next-react",
      "imports": "",
      "lines": 294,
      "logic_relevance": "primary",
      "name": "service-probing",
      "normalized_name": "service-probing",
      "package_manager": "pnpm",
      "path": "lib/registry/service-probing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "fd5061efb48e95ccc7acfa08",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SyncResult | imports:@/lib/cosmic/cuid, @/lib/integrations/network-graph-client, @/lib/local/persistent-store, @/lib/neon/client | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "SyncResult",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "242ee9755b5d8d73",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/integrations/network-graph-client,@/lib/local/persistent-store,@/lib/neon/client",
      "lines": 550,
      "logic_relevance": "primary",
      "name": "sync",
      "normalized_name": "sync",
      "package_manager": "pnpm",
      "path": "lib/registry/sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic",
      "component_id": "31b9e0f12c721014b081f50b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "zod",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:paginationSchema | imports:zod | backend-score:90 | logic-score:70",
      "exports": "paginationSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c685ebe7d84864bf",
      "framework": "next-react",
      "imports": "zod",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "pnpm",
      "path": "lib/api/validation.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "024c2e55b0fc6e2f614caa0c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:correlationHeaders, createCorrelationContext | imports:@/lib/cosmic/cuid, @/lib/cosmic/fingerprint, @/types/trace, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "correlationHeaders,createCorrelationContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5b523633dc28bb3d",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/cosmic/fingerprint,@/types/trace,next/server",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "correlation",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/api/correlation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,observability",
      "component_id": "4211ebebbbfbaa16a6cbb075",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "ApiError",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b8a8c2dae0b61df2",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "errors",
      "normalized_name": "errors",
      "package_manager": "pnpm",
      "path": "lib/api/errors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "d0755fc9e09a53186e81b522",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:withAuth | imports:@/lib/api/auth, @/lib/api/response, next/server | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "withAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3db5600e48a8b76a",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,next/server",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "with-auth",
      "normalized_name": "with-auth",
      "package_manager": "pnpm",
      "path": "lib/api/with-auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "135a085d1f17de448a97d202",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:badRequest, conflict, created, fail, forbidden, noContent, notFound, ok | imports:next/server | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "badRequest,conflict,created,fail,forbidden,noContent,notFound,ok,serverError,tooManyRequests,unauthorized,unprocessable",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ff8982549a61a842",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "6d0f1163b8a03d935813478b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next,node:crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateRequest, withAuth | imports:@/lib/api/response, @/lib/config/env, next/server, node:crypto | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "validateRequest,withAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "978ed0cf0058a019",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/config/env,next/server,node:crypto",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/api/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,automation,ai",
      "component_id": "b23ee7da8a6fdc934faa25ad",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GraderService | imports:@/lib/local/persistent-store, @/lib/neon/client, @/types/graders | logic-score:85 | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "GraderService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f335f42ba467ecc9",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,@/types/graders",
      "lines": 314,
      "logic_relevance": "primary",
      "name": "grader-service",
      "normalized_name": "grader-service",
      "package_manager": "pnpm",
      "path": "lib/graders/grader-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "47ddcf8a17f5ef607fc820ec",
      "component_kind": "algorithm",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RegressionService | imports:@/lib/neon/client, @/lib/scorecards/scorecard-service | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RegressionService",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eac514c6b7cfbc2c",
      "framework": "next-react",
      "imports": "@/lib/neon/client,@/lib/scorecards/scorecard-service",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "regression-service",
      "normalized_name": "regression-service",
      "package_manager": "pnpm",
      "path": "lib/scorecards/regression-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "a5e0d5989858e2b17ed5334a",
      "component_kind": "algorithm",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ScorecardService | imports:@/lib/local/persistent-store, @/lib/neon/client, @/types/scorecards | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ScorecardService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8860634574d4a4a7",
      "framework": "next-react",
      "imports": "@/lib/local/persistent-store,@/lib/neon/client,@/types/scorecards",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "scorecard-service",
      "normalized_name": "scorecard-service",
      "package_manager": "pnpm",
      "path": "lib/scorecards/scorecard-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,automation,ai",
      "component_id": "58b3122cb4ff9e88e9df7791",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildLlmsIndexJson, buildLlmsTxt | imports:@/lib/config/service | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildLlmsIndexJson,buildLlmsTxt",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "224cde47f9b28b85",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "lib/standards/llms.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,automation",
      "component_id": "1220ce8464f1ea8715640f4f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildNetworkManifest | imports:@/lib/config/env, @/lib/config/service | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "buildNetworkManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "65876df443169b0a",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/config/service",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "network-manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "lib/standards/network-manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "5a3a460405f7c3a0c499dd73",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildManifest | imports:@/lib/config/service | logic-score:60 | discovery-score:55",
      "exports": "buildManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4150468412820fa2",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "lib/standards/manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,discovery",
      "component_id": "675b2247eb7034def488badb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildMetadata | imports:@/lib/config/service, next | logic-score:85 | discovery-score:55",
      "exports": "buildMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "68492b821ba59b13",
      "framework": "next-react",
      "imports": "@/lib/config/service,next",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/standards/metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-evals",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9a3140b15719600fa488e17d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7512a2c73fb1c81b",
      "framework": "next-react",
      "imports": "",
      "lines": 3231,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "ea632235e67a2ffaa52f9f8c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:next | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "de40b48d3099e78c",
      "framework": "next-react",
      "imports": "next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a7bc1f89670494dd7f029624",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1c3f5e4ca3012d8e",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "99ac1e33ebc8f43a787bbe9a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, next/font/google | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1bec53f907f0d2b5",
      "framework": "next-react",
      "imports": "@/components/theme-provider,next/font/google",
      "lines": 28,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "1f11244d9f517bce60669d05",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b5789d388c7d326",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 6,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "538537143fe48f4bc5f1eaf4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed5f4ea058f3237a",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "f60a8700c21991e574e15916",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/kokonutui/dashboard | frontend-score:85 | ui-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48375d3c36d7d875",
      "framework": "next-react",
      "imports": "@/components/kokonutui/dashboard",
      "lines": 6,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d48e4e0cf615a1ce24ee8e3f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "04bb162b18338db0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "c86363c87301b99a3e504fa2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9768ceef9d95787c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "8d231240c8bff9929cf88646",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cb0270f2d136a448",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0e7497b74c8b51f8c052102e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed5f4ea058f3237a",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "08b3be5ad3ee78592e6089c1",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-themes",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes | frontend-score:85 | ui-score:55",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a49baefa483237bf",
      "framework": "next-react",
      "imports": "next-themes",
      "lines": 8,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f77612195c75fb73aac3e52f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "718c36eee0f3f5c5",
      "framework": "next-react",
      "imports": "lucide-react,next-themes,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "cba429ec62f96f59e9352526",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d0c5ffc1e34812eb2dc97996",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "bc8a267bcebeab672c1a4581",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "90ccc87ff287748912f84524",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "68f71d768d283ebb1c62b2d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "27d8050a3837bf296e47e4d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f17072a0b1807886",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8d5db951214a8ab14738b9a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "66fc17469841a49d71f0f02f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "369520073b19a6e4060b8b2b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a2e35da98eb1eb529d903944",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3b8eef2f2be08670ae2a89ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "85ba8de3264a93a84261154a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8f8f50ccb54d2b44c294d8f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f1804c7afb6f75bf",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "22f07a73ac6fda6db43c9d95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d4896318988e8b68",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "98547a957ee1749890dbfde7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d76e0b7086b4666fe372b4ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "738f22114cbeede37837abc0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2be4549bdc2726f",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "93f9c6e8c385242c6481c082",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a420e84e8a8b7460",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6c2897dfca8ce9fd110705b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "21f8c457b6e6c174052818f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c565fc14448760550f2b07e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "87f54f6760c0d7278fa7d2b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0a593032bb567863",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "15e790179576da1e9087b9e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "246beef13e2bc29b23d7e0f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8fb70247f8691e769065cb2b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e8831486b70cf3980340fc9b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "38e1f26d25d297c284925990",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "b3b5ef342e8da4ad8307fda2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "813bfe4d143a80d7c07f68bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "f7202abac8c0677fa6e8a71d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "aae00af53792038b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "04300e18ad80f5483bc54eb7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7ded249baa05c2a4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1552627d45d54be324bd019e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db0a4e9c70492425ac43f35b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f7f18f4aa21915d",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "01798b58510aeb84385492d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "866659f79bc2a361",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7cfaa5389be583d18f221331",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "2244a0aa5ba8be3c45b007e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ebeb8a968c6483684887d8fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e1537f4fd231255b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "844910ca703725ede574fdb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96c292a1922e3f05",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "41e536a732330d48946a15d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "29dc233c814745b1e1fb9ed5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "15be02526e67ee4ca9c320ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e653a30a4a7764c3",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "74216cf81afcb92c42fdfa72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4c3f385fcd9ba79e3462e7f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f5e93264a7fe3fe4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8b34e513f39b61cb64b9b80d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "68b773089230f8e14e1fb2dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5743e1a88eb4d6a3b1f197be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1e307b97ea5a9533",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "edc1bc1d29d2481ed113a20d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "6ac3795c7d74df755727494b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e5626bf6e799456ae3b87492",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "95337bad4bc01e256438b951",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "55506db5ac24499f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "94f59b0b8809e72c1aebe431",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a8ae8b09110da9d5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "851e3c5550f2a2c22a8c998b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "195fb23843b96f4370fe1516",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e2cdb8dd2867deb9cbb73d2b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fc53998a5840a7cbf8b4a479",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "44e5c45fb6bf1b04",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "cdb83e08d56679983e3b323e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c808e4f93f1d0c19f2fc9851",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "531f2afbe3105f5f5ecb769a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopNav | imports:../theme-toggle, ./profile-01, @/components/ui/dropdown-menu, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TopNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b96617ae39b95920",
      "framework": "next-react",
      "imports": "../theme-toggle,./profile-01,@/components/ui/dropdown-menu,lucide-react,next/image,next/link",
      "lines": 73,
      "logic_relevance": "none",
      "name": "top-nav",
      "normalized_name": "top-nav",
      "package_manager": "pnpm",
      "path": "components/kokonutui/top-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "79cbffa28738bd468ada256a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Dashboard | imports:./content, ./layout | frontend-score:85 | ui-score:55",
      "exports": "Dashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65955dc44aa44de5",
      "framework": "next-react",
      "imports": "./content,./layout",
      "lines": 11,
      "logic_relevance": "none",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "pnpm",
      "path": "components/kokonutui/dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "b294211a76dc9b9c6aac2cae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Content | imports:./list-01, ./list-02, ./list-03, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "Content",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88cb5b3b81114c17",
      "framework": "next-react",
      "imports": "./list-01,./list-02,./list-03,lucide-react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "components/kokonutui/content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "3c5df652fca05979b4372b42",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Profile01 | imports:lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "Profile01",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ec813c98846efd0b",
      "framework": "next-react",
      "imports": "lucide-react,next/image,next/link",
      "lines": 114,
      "logic_relevance": "none",
      "name": "profile-01",
      "normalized_name": "profile-01",
      "package_manager": "pnpm",
      "path": "components/kokonutui/profile-01.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "620226ab210daf2cde7d4871",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Layout | imports:./sidebar, ./top-nav, next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "Layout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c8d0d1ab3b84334",
      "framework": "next-react",
      "imports": "./sidebar,./top-nav,next-themes,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "components/kokonutui/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,ai",
      "component_id": "793aed31377ef1b41e151275",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:lucide-react, next/image, next/link, react | ui-score:140 | frontend-score:115 | observability-score:55 | ai-score:45",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3641614b6adb19e7",
      "framework": "next-react",
      "imports": "lucide-react,next/image,next/link,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/kokonutui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e1a3f8506b87feaf821b386e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:List03 | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "List03",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86f1f94a924596f0",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 183,
      "logic_relevance": "none",
      "name": "list-03",
      "normalized_name": "list-03",
      "package_manager": "pnpm",
      "path": "components/kokonutui/list-03.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7067714ebf6e87f214bbc628",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:List02 | imports:@/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "List02",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d7db40046b8f003",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "list-02",
      "normalized_name": "list-02",
      "package_manager": "pnpm",
      "path": "components/kokonutui/list-02.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fb316c297c829aebf8feb18f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:List01 | imports:@/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "List01",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21a5a9f85309414c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 195,
      "logic_relevance": "none",
      "name": "list-01",
      "normalized_name": "list-01",
      "package_manager": "pnpm",
      "path": "components/kokonutui/list-01.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "e1dbd3ac9ae67eb492779618",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d3d2fcabfeb43842",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "5e355bd4a00f7d6103b359a8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f63860c173071482",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "5c2c96a5c05bce326a0c1e5d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6514dcbde6adc274",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "4c04b3ce6d3ad86c77d4ca8d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "609f0a1fd85d854c",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "2cdcd41a472c7ac463a1acdc",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e68a7b04bbdc4694",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "919162c338efe1c1c2e8662b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4f23a0cf727a43e9",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,process",
      "component_id": "10069ca8898a5b2cbed917de",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "71669d5e85c25f38",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "67862e503d1a4d19b258927c",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1289f1a12dd6ee04",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "cc1480ec69c9715abd219ee4",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2db87f82a459675d",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "0fc6e1c1fd3e2cc975e4c1a8",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2b52bcaeca3a1ba0",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "74f627f9358b2dc6d9003832",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,backend",
      "component_id": "42898e1574473afff539ce36",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "982e29ca71a17d3a",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,discovery,logic",
      "component_id": "9ed68a2c92004944ed31ec57",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | discovery-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0a6226cb2a9321b7",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/schemas/openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "c418d750f048eb9b1e4507af",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "44c0aa3d42b0297b",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "cdbeb6fcdeccacf20f5c3257",
      "component_kind": "ai-eval",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3e71fb548c4f54f4",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "e042cd6d3a1d5851fa8d1023",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-finance",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e075153deda191b076186e1c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08558ce03293bac1",
      "framework": "next-react",
      "imports": "",
      "lines": 6351,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "a5629d703d5154d40d60dec5",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23a661c40a99a3b6",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e29ef3768c429934fc19e9f7",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4fe191dff63dc595",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "8a448e2f72d9e4449d73b488",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4de405a1fcf00e81",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e1a2ed83c7be09791fd87ba6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c3c8f978fd79af9a",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "8f993c769ae55a72b9917af0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "69eb4564405fc669",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 23,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,security,discovery,automation",
      "component_id": "69655ee22d3284528cfdbcdc",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/platform/site, next | frontend-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c049023f493043d",
      "framework": "next-react",
      "imports": "@/lib/platform/site,next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "5765a6a0350fb25f5aca77f4",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/platform/site, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8fd1cb48197f4cf",
      "framework": "next-react",
      "imports": "@/lib/platform/site,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "7a9d54e327626db955beb351",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e77a63c8067ed004",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 104,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,security,discovery",
      "component_id": "3e9dadc3fbb4f962161b5660",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5ff942de6d2197f2",
      "framework": "next-react",
      "imports": "next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "bb5eea31e2e79a1e07aad79d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/fingerprint/fingerprint-dashboard, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e67522b2d5161d80",
      "framework": "next-react",
      "imports": "@/components/fingerprint/fingerprint-dashboard,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "2b2d124613611d5567724471",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f93444c383c109ba",
      "framework": "next-react",
      "imports": "",
      "lines": 184,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "b20fe7e90f7172fa507fb53e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e07d1d25cc0c0fa5",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "31721cc2170a872f12de64ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "351a1deece7c68e1",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "510623c62fdf08e561a8baf4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2527b7852e8dcd70",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1df5f019854a457bf7a90ed2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, @/lib/platform/site, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0712cf74201ebb3",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,@/lib/platform/site,next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "61b8f4af489208a8f8183b79",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalysisPage, metadata | imports:@/components/analysis/analysis-dashboard, @/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "AnalysisPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e391176d83f4b2c",
      "framework": "next-react",
      "imports": "@/components/analysis/analysis-dashboard,@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analysis/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "5fc390c7845a3f502bd533b4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0eb688b6be8d15f6",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "2308b12a42104e16e405623c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "513b695be63861d4",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,next",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "184ddf22ed2d9a290a6dad62",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b4bd274cb21f38e6",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "fab7971aa9e0e122d67da9aa",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery/generators, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e12268ca132dc879",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,security",
      "component_id": "d3661f742ff2005ee12ec2b9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "aaad9d965fb3a073",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,ai,frontend",
      "component_id": "206c8dff815e31765251a90e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery/generators, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5327d1b4f83f3a79",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "c9dfe5aab6062ee1eef8ba16",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc528140f8fff762",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "f97a6864daa1e7053ab4933b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:EducationPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "EducationPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d4bd53d1fecc666",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,next",
      "lines": 40,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/education/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "55c1b9f4c758e09c7ae97cd3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d66f44fc0e7d298",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "95f80f9cd28458573459fee9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, lucide-react, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc3507abba46d982",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,lucide-react,next,next/link",
      "lines": 276,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "debc4eeb8190cf82e0454e8d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f09bbffe912c91a",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "93e419e21352ff7ab80ff76a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComponentsPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/components/ui/badge, @/lib/discovery/generators, @/lib/platform/site, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ComponentsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "542117b63c5c6d2d",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/components/ui/badge,@/lib/discovery/generators,@/lib/platform/site,next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/components/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "ed7ec6d5c3c22798e0d77059",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComparePage, metadata | imports:@/components/fingerprint/compare-view, @/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/lib/discovery/generators, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ComparePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56bb419b90fccfec",
      "framework": "next-react",
      "imports": "@/components/fingerprint/compare-view,@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/lib/discovery/generators,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/compare/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "2b7356ad0343965ded9bb638",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9073f00a2814699",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "6098cde4e98b0146273c6c00",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/fingerprint/modules/vercel, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c4396b3020929fe8",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/modules/vercel,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/edge-info/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c9529697ddd6fea00467a8ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/fingerprint/analysis, @/lib/fingerprint/types, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ff470da35022041a",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/fingerprint/types,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,@/lib/supabase/server,next/server",
      "lines": 195,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fingerprint/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "b4d2fa20c1b20cbbc385985c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/compare/route | backend-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0ed02656510aaa78",
      "framework": "next-react",
      "imports": "@/app/api/v1/compare/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fingerprint/compare/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e516f167a66f1c8b100e1b24",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/fingerprint/analysis, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cb8c9be363a3832d",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,@/lib/supabase/server,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fingerprint/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "819a0e48f6d7b358357252a2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d431d88445c09e53",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analysis/headless/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6d502410dd61d73c783d4c9b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf58e69fd4f2fcee",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "4a8c5ac0319f83774d3e40c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/model/provider, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b9d9911007510e12",
      "framework": "next-react",
      "imports": "@/lib/model/provider,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/provider/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "b01e451e7d37535789f57066",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/model/provider, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/site, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "154ddc1effa662f9",
      "framework": "next-react",
      "imports": "@/lib/model/provider,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/site,@/lib/platform/trace,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1cba55ab9b026142ed48ea3a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5220cc809a9341d5",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/atlas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "63d07dfa4342dafe007078e9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eabaec72ccd39172",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/atlas/ja4/batch/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c206264ecfb4012a6a41e8cd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1a4076a9fa6fa31b",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/atlas/ja4/[fingerprint]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "dd1b7c8b26ac9c0ffa603930",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/fingerprint/compare, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "129469d9e2f9aa8b",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/fingerprint/compare,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/compare/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1159f27a423bbaf5dab76af4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5b2062f71740a30",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/resistance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a8376303359dc231ca24e8d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d54d9690914aedfa",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/local/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ab378db3ed7977eb4c969490",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b577220a6f71c8d8",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/components/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "15110e5101ad4415ccbe9253",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac1a2e820196d2f2",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/bot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "651d31ea5a30cf380558fcb3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "30ac51480c6ed57b",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/lies/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "d4e60bceec9afb7791da9b10",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint/analysis, @/lib/model/provider, @/lib/platform/response, @/lib/platform/site, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa58f71aa207300f",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/model/provider,@/lib/platform/response,@/lib/platform/site,@/lib/platform/trace,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "7deee20f0df6ac26155e1ec4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/fingerprint/analysis, @/lib/platform/response, @/lib/platform/trace, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac826468101bd5f0",
      "framework": "next-react",
      "imports": "@/lib/fingerprint/analysis,@/lib/platform/response,@/lib/platform/trace,@/lib/supabase/server,next/server",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/overview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "e595276eaee8398374ae53b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/model/provider, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/site, @/lib/platform/trace, @/lib/platform/vercel, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d374e1e477b5b76",
      "framework": "next-react",
      "imports": "@/lib/model/provider,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/site,@/lib/platform/trace,@/lib/platform/vercel,@/lib/supabase/server,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "af99b9ec40eb14e78ae6ac4e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/handler, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5752bc0f8617bbaa",
      "framework": "next-react",
      "imports": "@/lib/mcp/handler,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "775626fe2c9e4f079d43307c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/openapi, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "196e6ae0a5aea05b",
      "framework": "next-react",
      "imports": "@/lib/discovery/openapi,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2c6c1c0fc70a25e1424c7e9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b26dccb506fdfe9",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "772912a9d1fa8a597d66e151",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "946b795448cf4806",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "a25cf09379c3b19180f45368",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/site, @/lib/platform/trace, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1a49ef68b7cca095",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/site,@/lib/platform/trace,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "f89bbe8ecb924a2e0f2d4995",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "40c13ff6ed21baf7",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "c7cd20efc827679c0829844e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "92d25806befcc36f",
      "framework": "next-react",
      "imports": "@/lib/discovery/openapi,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "e4da2f97d4146e94f704b884",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/generators, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5e36eb3f499efc4b",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "cf5e7ad24b842804ccc62b0b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/discovery/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "196e6ae0a5aea05b",
      "framework": "next-react",
      "imports": "@/lib/discovery/openapi,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "9f97ef260eeb4b57ef4a6c1c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsPage, metadata | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/json-ld, @/components/layout/topbar, @/components/stats/stats-overview, @/lib/discovery/generators | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "StatsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97542b6b8097c0d8",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/json-ld,@/components/layout/topbar,@/components/stats/stats-overview,@/lib/discovery/generators",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/stats/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c470ba372aeff412eb358508",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "node:assert,node:fs,node:path,node:test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:assert/strict, node:fs, node:path, node:test | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "94bba0049bbdb244",
      "framework": "next-react",
      "imports": "node:assert/strict,node:fs,node:path,node:test",
      "lines": 89,
      "logic_relevance": "none",
      "name": "phase1-contract.test",
      "normalized_name": "phase1-contract",
      "package_manager": "pnpm",
      "path": "tests/phase1-contract.test.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "32de654419d9c1b5b462eae9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f936d5815fce1b7a",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 42,
      "logic_relevance": "none",
      "name": "fingerprint.spec",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "tests/e2e/fingerprint.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c529f4716aa47ff6d45ca238",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b2c9bd28604d2b840cd55d71",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "eaccf7fc656253d44c141379",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a062069daf1897f01e2f3c39",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "27de6119739a25d1a1acc9cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4761b6a2fe1623e6fe1c426b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "316c616e446a22cf7dfc2456",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ff0d9d3d6110269abd7290ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cf6b816db253fce58b9e8594",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "0415a9a53b0ca79c0a082c56",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "10fc09871733732a03dc0096",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e81cea8a508c3631c2b93cc4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "4420ff0745ae0eba80d22df4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "0bccd1e6e40439feba3dbd60",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d227fa7a77fe22a137a262fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "967d40c9427bbd0abb134dfd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e40858e9e74e9e0f844311d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7e5c4cba510945c9fc6a3e5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "781ac9e1208190ae6f86d9ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "506fba1d347c2c94003fecd4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9972b0e86eac9b5dea38c598",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "38aa1b4aadf728de74a899bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "87dd0e86fcb1b76bc77f3edd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1d132be78683a5f4654a8ddc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f4f98790cb5e40d8000fb391",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8ebb27f0392865652acaf0cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InfoTooltip | imports:@/components/ui/tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "InfoTooltip",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3fbac2e194c34c83",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "info-tooltip",
      "normalized_name": "info-tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/info-tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b0f78a93da2c6330e30e1ab0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5945698630182f73cb8c73cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "122bb13d234acc2d0718861e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3ac20c8d3d5fef20ed6caac7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "ad80892173dbcd4d7fad67aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "725b3cc19259b6b5eae15894",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "49360b94d9cf46c328a39d0f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "342a7cf65eff6f32ac2ee379",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "79e1ce62364d4d9884675439",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4a3c3b4bb033b83aa1d51d43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cec0d0eb4bfd9e68174805f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9060727ea2dad0d59b067e3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "e2f8a2a1cf6ee00de7470487",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "92816fff41ea8dd4364271a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "f3f8c9afafe6711e27de391f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7a13c48b0455d2c6d513c85b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d51c8d0cbe8d465cbbaa8f06",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "abcbadba4a13488e8a795049",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1bd32a48f39bd54a5836f4d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a90d245bb0cf4c78fc59bae9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "86eced242e0af3824ec44b24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "94b37475a431f34ad1fc644b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "36eb9b4863c8c547baf38944",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "da316c71c72d720940b3cc6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "4e61a083dbfa31c4d7ad9c2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "bf6a412e6fbd3affbfd95d34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d47162b55e06fab072808b26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "741302c09abfff2b71e9720e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c043b324c850da9f434580c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2c96c52aa6a9bb3bd7447795",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4b3459bbedee1e4053ef0cb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "78ea59516edaf5dac0824511",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "34ef282d91d9392cc85ff157",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0ba5e45e7bc381bb29c96570",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a4d2eebc82cf943a631ad052",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThreatIndicators | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/progress, @/lib/fingerprint/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ThreatIndicators",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21926e10a70d2d8a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/progress,@/lib/fingerprint/types,lucide-react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "threat-indicators",
      "normalized_name": "threat-indicators",
      "package_manager": "pnpm",
      "path": "components/fingerprint/threat-indicators.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8e9f69810ee5fb1af4c1f88f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintDashboard | imports:./component-grid, ./confidence-gauge, ./threat-indicators, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/info-tooltip, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FingerprintDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00b98d077f771979",
      "framework": "next-react",
      "imports": "./component-grid,./confidence-gauge,./threat-indicators,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/info-tooltip,@/components/ui/tabs,@/lib/fingerprint/collector,@/lib/fingerprint/local-store,@/lib/fingerprint/types,lucide-react,react",
      "lines": 382,
      "logic_relevance": "none",
      "name": "fingerprint-dashboard",
      "normalized_name": "fingerprint-dashboard",
      "package_manager": "pnpm",
      "path": "components/fingerprint/fingerprint-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0aa2969bbd69dd68e4707b27",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CompareView | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/info-tooltip, @/components/ui/progress, @/components/ui/tabs, @/lib/fingerprint/collector, @/lib/fingerprint/compare | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CompareView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6628ce9df68104b6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/info-tooltip,@/components/ui/progress,@/components/ui/tabs,@/lib/fingerprint/collector,@/lib/fingerprint/compare,@/lib/fingerprint/local-store,@/lib/fingerprint/types,lucide-react,react",
      "lines": 440,
      "logic_relevance": "none",
      "name": "compare-view",
      "normalized_name": "compare-view",
      "package_manager": "pnpm",
      "path": "components/fingerprint/compare-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b031ca890324519d6b523283",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComponentGrid | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/card, @/components/ui/info-tooltip, @/components/ui/progress, @/lib/fingerprint/analysis, @/lib/fingerprint/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ComponentGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8adcf60b1210a458",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/card,@/components/ui/info-tooltip,@/components/ui/progress,@/lib/fingerprint/analysis,@/lib/fingerprint/types,lucide-react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "component-grid",
      "normalized_name": "component-grid",
      "package_manager": "pnpm",
      "path": "components/fingerprint/component-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d3cf69cfa4722c69ec48855a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConfidenceGauge | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ConfidenceGauge",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b30b803ab0ac43f1",
      "framework": "next-react",
      "imports": "react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "confidence-gauge",
      "normalized_name": "confidence-gauge",
      "package_manager": "pnpm",
      "path": "components/fingerprint/confidence-gauge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3f9329cf6935ba5ee936bca8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalysisDashboard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/info-tooltip, @/components/ui/progress, @/components/ui/tabs, @/lib/fingerprint/modules/headless, @/lib/fingerprint/modules/lies | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AnalysisDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "872287f1d055e298",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/info-tooltip,@/components/ui/progress,@/components/ui/tabs,@/lib/fingerprint/modules/headless,@/lib/fingerprint/modules/lies,@/lib/fingerprint/modules/resistance,@/lib/fingerprint/types,lucide-react,react",
      "lines": 337,
      "logic_relevance": "none",
      "name": "analysis-dashboard",
      "normalized_name": "analysis-dashboard",
      "package_manager": "pnpm",
      "path": "components/analysis/analysis-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f42b82107fcba04ac16ad1e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e067e669a34ad56d",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "topbar",
      "normalized_name": "topbar",
      "package_manager": "pnpm",
      "path": "components/layout/topbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c219fb5142704b3ff31dcc05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "18d8416abc100828",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 20,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/layout/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "21c7db4ed7cd280c5f1ed3f2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "57b5501942ca9bd8",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/layout/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "17424f5c6d328b06320f3e03",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48e84def028c3b2b",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 98,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security",
      "component_id": "44b90e0ee68aa30eb56067a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,recharts",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsOverview | imports:@/components/ui/card, @/components/ui/info-tooltip, @/components/ui/skeleton, @/lib/fingerprint/types, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StatsOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d46ca13bddb2e36",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/info-tooltip,@/components/ui/skeleton,@/lib/fingerprint/types,lucide-react,react,recharts",
      "lines": 352,
      "logic_relevance": "none",
      "name": "stats-overview",
      "normalized_name": "stats-overview",
      "package_manager": "pnpm",
      "path": "components/stats/stats-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f270251446e5d6245a66a7c5",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "0f08c005249735cf7b990e6f",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalFingerprintSnapshot, toLocalSnapshot | imports:./types | logic-score:85 | security-score:55",
      "exports": "LocalFingerprintSnapshot,toLocalSnapshot",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61eef12b4cb15fd2",
      "framework": "next-react",
      "imports": "./types",
      "lines": 140,
      "logic_relevance": "primary",
      "name": "local-store",
      "normalized_name": "local-store",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/local-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation",
      "component_id": "95adef0b6e632d7b54448787",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ComparisonAnalysis, ComparisonResult, ComponentDiff, ComponentMatch, analyzeTemporalChanges, calculateFuzzySimilarity, compareFingerprints | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ComparisonAnalysis,ComparisonResult,ComponentDiff,ComponentMatch,analyzeTemporalChanges,calculateFuzzySimilarity,compareFingerprints",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ae3736158c0e592a",
      "framework": "next-react",
      "imports": "./types",
      "lines": 374,
      "logic_relevance": "primary",
      "name": "compare",
      "normalized_name": "compare",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/compare.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic,security",
      "component_id": "1f4ba4a6de5a21c9ecde1bb1",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateSimilarity, fuzzyHash, generateVisitorId, hashAudioBuffer, hashCanvas, murmurhash3 | logic-score:85 | security-score:55",
      "exports": "calculateSimilarity,fuzzyHash,generateVisitorId,hashAudioBuffer,hashCanvas,murmurhash3",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "504d8365d040fd58",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "hash",
      "normalized_name": "hash",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/hash.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "5c8c8a4d1d1eed1f8884c562",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, AudioData, CanvasData, ComponentType, DOMRectData, DeviceType, EventOutbox, FingerprintComparison | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APIResponse,AudioData,CanvasData,ComponentType,DOMRectData,DeviceType,EventOutbox,FingerprintComparison,FingerprintComponent,FingerprintData,FontsData,HeadlessIndicators,LieIndicator,NavigatorData,PaginatedResponse,PlatformStats,ResistanceProfile,ScreenData,ThreatAssessment,ThreatIndicator,TimezoneData,WebGLData,WebRTCData,WebhookPayload,WorkerData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "18f55af4e524f968",
      "framework": "next-react",
      "imports": "",
      "lines": 281,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "1073b620c09d266dcd945467",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CollectionOptions, analyzeTemporalChanges, calculateFuzzySimilarity, collectAudio, collectCanvas, collectConnectionInfo, collectDOMRect, collectFonts | imports:./compare, ./hash, ./modules/audio, ./modules/canvas, ./modules/domrect, ./modules/fonts, ./modules/headless, ./modules/ja4 | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "CollectionOptions,analyzeTemporalChanges,calculateFuzzySimilarity,collectAudio,collectCanvas,collectConnectionInfo,collectDOMRect,collectFonts,collectJA4H,collectNavigator,collectScreen,collectTimezone,collectWebGL,compareFingerprints,detectHeadless,detectLies,detectResistance",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2630ef132480ca0f",
      "framework": "next-react",
      "imports": "./compare,./hash,./modules/audio,./modules/canvas,./modules/domrect,./modules/fonts,./modules/headless,./modules/ja4,./modules/lies,./modules/navigator,./modules/resistance,./modules/screen,./modules/timezone,./modules/vercel,./modules/webgl,./types",
      "lines": 257,
      "logic_relevance": "primary",
      "name": "collector",
      "normalized_name": "collector",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/collector.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "154cb8dc8a07bc12a92aed87",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalysisFinding, FingerprintAnalysisResult, RedactedComponent, analyzeFingerprintPayload, capabilitySummary, emptyStats, publicFingerprintRecord, redactComponent | imports:./types, @/lib/platform/site | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AnalysisFinding,FingerprintAnalysisResult,RedactedComponent,analyzeFingerprintPayload,capabilitySummary,emptyStats,publicFingerprintRecord,redactComponent,sanitizeFingerprintForStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ab184cc7f18c2f0",
      "framework": "next-react",
      "imports": "./types,@/lib/platform/site",
      "lines": 375,
      "logic_relevance": "primary",
      "name": "analysis",
      "normalized_name": "analysis",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/analysis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,security",
      "component_id": "977db9d51fb69a910320277f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getCanvasPreview | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "getCanvasPreview",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0e14eddc49ad99c9",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 154,
      "logic_relevance": "primary",
      "name": "canvas",
      "normalized_name": "canvas",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/canvas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "e6f1721458e0197dec68d634",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getLocale, getTimezone | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "getLocale,getTimezone",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fbe0afd3ffab6bf1",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "timezone",
      "normalized_name": "timezone",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/timezone.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,security",
      "component_id": "a83ef488c0ada63f21a86aec",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getFontCount | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "getFontCount",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "43a2a6196a1c213a",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "fonts",
      "normalized_name": "fonts",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/fonts.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "3394428a8b9b7f1f85c5cc5d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LieDetectionResult, detectLies, getLieScore | imports:../types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LieDetectionResult,detectLies,getLieScore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd6c388719256205",
      "framework": "next-react",
      "imports": "../types",
      "lines": 284,
      "logic_relevance": "primary",
      "name": "lies",
      "normalized_name": "lies",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/lies.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic,security",
      "component_id": "bf726160bb8c12686b736730",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AudioContext | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "AudioContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c370501c00b22cf9",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "audio",
      "normalized_name": "audio",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/audio.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "786e1d439fbfdc1ee4157e39",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JA4Fingerprint, JA4ThreatInfo, ja4Similarity | imports:../types | logic-score:85 | security-score:55",
      "exports": "JA4Fingerprint,JA4ThreatInfo,ja4Similarity",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "acace0f875a912c3",
      "framework": "next-react",
      "imports": "../types",
      "lines": 172,
      "logic_relevance": "primary",
      "name": "ja4",
      "normalized_name": "ja4",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/ja4.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "9ca9f1fb9be1a23fc64fa7ed",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getBrowserInfo, parseUserAgent | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "getBrowserInfo,parseUserAgent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d0ec97e1b9b3b519",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "navigator",
      "normalized_name": "navigator",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/navigator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9808fcdddf776e2c1a0406f2",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../hash, ../types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d3caccbc8187a472",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "domrect",
      "normalized_name": "domrect",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/domrect.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "30e6f88ecaa998b7ec79e94b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:detectResistance, getResistanceMode, isPrivacyMode | imports:../types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "detectResistance,getResistanceMode,isPrivacyMode",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7bb5e9a9f231ad0d",
      "framework": "next-react",
      "imports": "../types",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "resistance",
      "normalized_name": "resistance",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/resistance.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "372031231633e4f783416d02",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getGPUInfo | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "getGPUInfo",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d6d8d1e0bc3895d8",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "webgl",
      "normalized_name": "webgl",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/webgl.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "security",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "2ff02a3a9d096dae67889813",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Automation component for security; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VercelEdgeData, VercelRequestContext, createVercelComponent, parseVercelHeaders | imports:../types | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "VercelEdgeData,VercelRequestContext,createVercelComponent,parseVercelHeaders",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0bdffe48c7d99918",
      "framework": "next-react",
      "imports": "../types",
      "lines": 179,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "4af597d4e99964e88bff2afc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HeadlessDetectionResult, detectHeadless, getAutomationScore, isBot | imports:../types | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "HeadlessDetectionResult,detectHeadless,getAutomationScore,isBot",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7aa59b1ad54a7913",
      "framework": "next-react",
      "imports": "../types",
      "lines": 205,
      "logic_relevance": "primary",
      "name": "headless",
      "normalized_name": "headless",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/headless.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "logic,security",
      "component_id": "a7f0e365d7dc6f5e83d895e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getScreenResolution, getViewportSize | imports:../hash, ../types | logic-score:85 | security-score:55",
      "exports": "getScreenResolution,getViewportSize",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ecb1247c00446ad6",
      "framework": "next-react",
      "imports": "../hash,../types",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "screen",
      "normalized_name": "screen",
      "package_manager": "pnpm",
      "path": "lib/fingerprint/modules/screen.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "9908753034ed09f242f9dbce",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ANALYSIS_CAPABILITIES, FINGERPRINT_COMPONENTS, INTEGRATIONS, LOCAL_ONLY_CAPABILITIES, PROTECTED_CAPABILITIES, ROUTES, RouteRecord, SERVICE_HOST | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "ANALYSIS_CAPABILITIES,FINGERPRINT_COMPONENTS,INTEGRATIONS,LOCAL_ONLY_CAPABILITIES,PROTECTED_CAPABILITIES,ROUTES,RouteRecord,SERVICE_HOST,SERVICE_NAME,SERVICE_VERSION,SITE_URL,TRUST_POLICY_LINE,absoluteUrl,sitemapRoutes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3094d4d65c4b6bd4",
      "framework": "next-react",
      "imports": "",
      "lines": 205,
      "logic_relevance": "primary",
      "name": "site",
      "normalized_name": "site",
      "package_manager": "pnpm",
      "path": "lib/platform/site.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3583e51c934015e5664f56ea",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, fail, ok | imports:./trace, next/server | logic-score:85 | observability-score:55",
      "exports": "ApiError,fail,ok",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "401397cba1d4b20a",
      "framework": "next-react",
      "imports": "./trace,next/server",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration",
      "component_id": "04f4e2ca85da35fa0a69d334",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:sanitizeResponseMetadata, sanitizeVercelHeaders | imports:node:crypto | automation-score:95 | logic-score:85 | integration-score:55",
      "exports": "sanitizeResponseMetadata,sanitizeVercelHeaders",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9d2a62264705978f",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 54,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/platform/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "af688cfd52e6e377e1aee4b9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createTraceContext, outboundTraceHeaders, traceHeaders | imports:./site | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "TraceContext,createTraceContext,outboundTraceHeaders,traceHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fd9e8fe75a5557c3",
      "framework": "next-react",
      "imports": "./site",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation",
      "component_id": "c7fbdeaddfc3487ea684468b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthPolicy, authRequiredError, getAuthPolicy, hasValidPlatformCredential, protectedAccessStatus, readPlatformCredential, redactSecretText, shouldExposeProtectedData | imports:next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "AuthPolicy,authRequiredError,getAuthPolicy,hasValidPlatformCredential,protectedAccessStatus,readPlatformCredential,redactSecretText,shouldExposeProtectedData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c4e6046382e1047d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "37ceabdd25a681f36ed8935d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:breadcrumbJsonLd, buildAgentsManifest, buildAiPluginManifest, buildAtomXml, buildLlmsFullText, buildLlmsIndex, buildLlmsText, buildMcpManifest | imports:./openapi, @/lib/model/provider, @/lib/platform/auth, @/lib/platform/site | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "breadcrumbJsonLd,buildAgentsManifest,buildAiPluginManifest,buildAtomXml,buildLlmsFullText,buildLlmsIndex,buildLlmsText,buildMcpManifest,buildOpenApiSpec,buildRobotsTxt,buildRssXml,buildSecurityTxt,buildSitemapIndexXml,buildSitemapXml,buildTrustPolicy,faqJsonLd,mcpPrompts,mcpResources,mcpTools,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dfd9cbbf731b6f3a",
      "framework": "next-react",
      "imports": "./openapi,@/lib/model/provider,@/lib/platform/auth,@/lib/platform/site",
      "lines": 487,
      "logic_relevance": "primary",
      "name": "generators",
      "normalized_name": "generators",
      "package_manager": "pnpm",
      "path": "lib/discovery/generators.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation,ai",
      "component_id": "b742ec0b8eb3e7e7112e07b0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec, toYaml | imports:@/lib/platform/auth, @/lib/platform/site | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildOpenApiSpec,toYaml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "75675f5d35b64688",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/site",
      "lines": 294,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/discovery/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "0fe97518d3c861967f725742",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mcpMetadata | imports:@/lib/discovery/generators, @/lib/fingerprint/analysis, @/lib/fingerprint/compare, @/lib/platform/site | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "mcpMetadata",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5fbedcedd1a035f0",
      "framework": "next-react",
      "imports": "@/lib/discovery/generators,@/lib/fingerprint/analysis,@/lib/fingerprint/compare,@/lib/platform/site",
      "lines": 257,
      "logic_relevance": "primary",
      "name": "handler",
      "normalized_name": "handler",
      "package_manager": "pnpm",
      "path": "lib/mcp/handler.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "a492828877e3464aa7c3f8d4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/supabase-js | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4725519d24578489",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "c3cc671f4bc2927c6292135a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/supabase-js | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e7866212c3aafb9",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "c73b888da46a979edcb9c271",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelProviderStatus, getModelProviderStatus | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "ModelProviderStatus,getModelProviderStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ade104c13649cabe",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "secondary",
      "name": "provider",
      "normalized_name": "provider",
      "package_manager": "pnpm",
      "path": "lib/model/provider.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-fingerprint-service",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "fb9f05c07127b563f7dc3917",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba2382698a69cc91",
      "framework": "next-react",
      "imports": "",
      "lines": 9259,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "3e9087e818599a7ec8bd1cb2",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b3affe669c72b731",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "118e39ec688f23e54c11ffe8",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/db | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "208d1bf4316ce9b4",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 243,
      "logic_relevance": "none",
      "name": "VERIFICATION_CHECKLIST",
      "normalized_name": "verification-checklist",
      "package_manager": "pnpm",
      "path": "VERIFICATION_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,observability,automation,ai",
      "component_id": "1483623f163dd8c347ab0d29",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/integrations/server-insights, @neondatabase/serverless | backend-score:105 | process-score:100 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e84e07fab959dd11",
      "framework": "next-react",
      "imports": "@/lib/integrations/server-insights,@neondatabase/serverless",
      "lines": 402,
      "logic_relevance": "none",
      "name": "INTEGRATION_EXAMPLES",
      "normalized_name": "integration-examples",
      "package_manager": "pnpm",
      "path": "INTEGRATION_EXAMPLES.md",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "11a9eda03ea42f905f985757",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ba69c18a80e0d9a3",
      "framework": "next-react",
      "imports": "",
      "lines": 158,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "191e88a7986f87dd1070ea57",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e2478fafb565b90c",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ai",
      "component_id": "dd3dfc61d779a94d40a67ce8",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@/lib,next-intl",
      "description": "AI component for i18n; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/i18n/config, next-intl/server | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e8e0e295665ba3ce",
      "framework": "next-react",
      "imports": "@/lib/i18n/config,next-intl/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "i18n.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,process,observability,security,automation",
      "component_id": "6732978d7b7334ec16f08aec",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "17fc17254b97e2bd",
      "framework": "next-react",
      "imports": "",
      "lines": 340,
      "logic_relevance": "none",
      "name": "PROJECT_COMPLETION_SUMMARY",
      "normalized_name": "project-completion-summary",
      "package_manager": "pnpm",
      "path": "PROJECT_COMPLETION_SUMMARY.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "c84a72c9d1332aeeb0717d8c",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:POST | imports:@/lib/integrations/server-insights | process-score:100 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8332ebe4530027c3",
      "framework": "next-react",
      "imports": "@/lib/integrations/server-insights",
      "lines": 390,
      "logic_relevance": "none",
      "name": "PAGEINSIGHTS_IMPLEMENTATION",
      "normalized_name": "pageinsights-implementation",
      "package_manager": "pnpm",
      "path": "PAGEINSIGHTS_IMPLEMENTATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b4bee479475bd07ac08a21af",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "70b8db6a14783f82",
      "framework": "next-react",
      "imports": "",
      "lines": 261,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d26a0424427c354a0507aec1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "85c1c9deef3aed9b",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "REFERENCES",
      "normalized_name": "references",
      "package_manager": "pnpm",
      "path": "REFERENCES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "782d2b7ef4422cd32ad4f82a",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "10d046af6c092a06",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "f486cd80d42220e4d8f85619",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "261c930b49f30edf",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2a8b4b3fa6682c05e63c3df7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "07bbd47a61d73b2f",
      "framework": "next-react",
      "imports": "",
      "lines": 387,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_VERIFICATION_CHECKLIST",
      "normalized_name": "implementation-verification-checklist",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_VERIFICATION_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "983f378c5ced7492a4ffa93f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/scoring/readability, vitest | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cb6b3563c4589cb5",
      "framework": "next-react",
      "imports": "@/lib/scoring/readability,vitest",
      "lines": 240,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "db80c0692580301de15289b9",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,next,next-intl",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, middleware | imports:@/lib/i18n/routing, @/lib/integrations/trace-sdk, next-intl/middleware, next/server | observability-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a09f51bc7cff21f4",
      "framework": "next-react",
      "imports": "@/lib/i18n/routing,@/lib/integrations/trace-sdk,next-intl/middleware,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c43922e7f0742a9adf7aeba1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "931793d3e990cbe8",
      "framework": "next-react",
      "imports": "",
      "lines": 209,
      "logic_relevance": "none",
      "name": "STANDARDS",
      "normalized_name": "standards",
      "package_manager": "pnpm",
      "path": "STANDARDS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4263e1a51790bb8cf3fb92c6",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/db | process-score:100 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e9129d2ac03a6417",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 389,
      "logic_relevance": "none",
      "name": "COMPLETE_INTEGRATION_SUMMARY",
      "normalized_name": "complete-integration-summary",
      "package_manager": "pnpm",
      "path": "COMPLETE_INTEGRATION_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "f968b9839d8415eff74232b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "240ba2bddbf6e03e",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "112623e5d4a901d2c0c82514",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "633848b382b837d5",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "messages/zh.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "0991b21e3e9e6843edef63b2",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "159092cb08639861",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "pnpm",
      "path": "messages/ja.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "293919b1d104b4cfb08ccd5a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b2ba3121ef6b0418",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "pnpm",
      "path": "messages/de.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "5bec5cfdc84bc830e8e6df46",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3da7e287e18279c6",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "pnpm",
      "path": "messages/pt.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8715e8775aef1d1c54d131c7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "67b868ce61880550",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5356ac3423f6a0c64868e43e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "740608d7aa39015a",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "messages/fr.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "77911eda51a713a7726638ce",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9919a6aa218263f7",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "hi",
      "normalized_name": "hi",
      "package_manager": "pnpm",
      "path": "messages/hi.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "e51355a9df673c256eebd485",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "13402722d1204c89",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "pnpm",
      "path": "messages/ko.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "07e7937dfbc1961fee67aac3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7771af5cf7cde056",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "22a080b39fb966cde6d70642",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "404bbcb4727a8409",
      "framework": "next-react",
      "imports": "",
      "lines": 201,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "pnpm",
      "path": "messages/ar.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "ea31faead497a03a323a9e76",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:InsightsContextValue, LayoutShift, PerformanceEventTiming, PerformanceLargestContentfulPaint, QueuedEvent, WebVitalMetric | observability-score:55",
      "exports": "InsightsContextValue,LayoutShift,PerformanceEventTiming,PerformanceLargestContentfulPaint,QueuedEvent,WebVitalMetric",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "022aa900933010d1",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "insights",
      "normalized_name": "insights",
      "package_manager": "pnpm",
      "path": "types/insights.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "5fc61a0ec5d13ec85d417f67",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | uses-env | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a656f60b3e3e5130",
      "framework": "next-react",
      "imports": "next",
      "lines": 117,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "063a087c9f101e34d250bcb8",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/db, @/lib/i18n/config, next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce92a04ed482abdc",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/i18n/config,next",
      "lines": 197,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "93766ab5f3f5a8c958b3fb80",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/insights-provider, @vercel/analytics/next, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "866c803e994e61ff",
      "framework": "next-react",
      "imports": "@/components/insights-provider,@vercel/analytics/next,next",
      "lines": 134,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,observability,security,discovery",
      "component_id": "2e0645b03d4c64f6c760dbcc",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "86ba19c9021af563",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "3200dc550afe973cfc821d41",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootPage | imports:next/headers, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "RootPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "eb2b03594987d2ee",
      "framework": "next-react",
      "imports": "next/headers,next/navigation",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "f4354f97565eb67cd085b1c5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "db9ff3b2b603a3fa",
      "framework": "next-react",
      "imports": "",
      "lines": 462,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "b17b3792912c5f3bbd9779d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/mcp/tools, @/lib/phase2/ranking, @/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bdd263e8ea68816f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp/tools,@/lib/phase2/ranking,@/lib/phase2/test-registry,next/server",
      "lines": 151,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4bc00de34ffcc65ad84a6eed",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b2817300994e635",
      "framework": "next-react",
      "imports": "../feed.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "f65e9295baecf98d25df18db",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac7ce63bce1ad551",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,ai",
      "component_id": "143766f5466d9df810c4f992",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,next-intl,next-themes",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/footer, @/components/layout/header, @/components/seo/json-ld, @/components/ui/sonner, @/lib/i18n/config, next-intl, next-intl/server, next-themes | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0442f2a60f76e370",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/seo/json-ld,@/components/ui/sonner,@/lib/i18n/config,next-intl,next-intl/server,next-themes,next/navigation",
      "lines": 59,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2ac36505eb0d3f7bfaa18483",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/analysis/site-suggestions, @/components/analysis/url-input, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/i18n/config, @/lib/mcp/tools, @/lib/phase2/ranking | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5759fbc8f842b0e6",
      "framework": "next-react",
      "imports": "@/components/analysis/site-suggestions,@/components/analysis/url-input,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/i18n/config,@/lib/mcp/tools,@/lib/phase2/ranking,@/lib/phase2/test-registry,lucide-react,next-intl/server,next/link",
      "lines": 357,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "0b524246968619bae284f7e6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/card, @/lib/i18n/config, next-intl/server | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d97d86917708ab30",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/card,@/lib/i18n/config,next-intl/server",
      "lines": 251,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a73e4b3f8c5f776af445a0f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/card, @/lib/i18n/config, lucide-react, next-intl/server, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1efc265fc0b1904",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/card,@/lib/i18n/config,lucide-react,next-intl/server,next/link",
      "lines": 260,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/data-policy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "2d7062ae818f1548b49535f2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/accordion, @/components/ui/card, @/lib/i18n/config, next-intl/server | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c6ee8db4efb86e9",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/accordion,@/components/ui/card,@/lib/i18n/config,next-intl/server",
      "lines": 230,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0d9a79482c96481fbf17229a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/i18n/config, @/lib/platform/network-discovery, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "dynamic,generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b25d64730355a0b0",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/i18n/config,@/lib/platform/network-discovery,lucide-react,next-intl/server",
      "lines": 358,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f0c4e6c59cacf1875eb6fd3a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/card, @/lib/i18n/config, next-intl/server | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6942821ad1b589d1",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/card,@/lib/i18n/config,next-intl/server",
      "lines": 241,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a17cd21ecdb896ef03c13fc3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestsPage, metadata | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, @/lib/config/site, @/lib/phase2/test-registry, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TestsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fee2f7b64d7f182d",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,@/lib/config/site,@/lib/phase2/test-registry,lucide-react,next,next/link",
      "lines": 197,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/tests/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "dfe965f55a5ac4f546c559e5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage | imports:@/components/ph3ar-modal, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/hooks/use-ph3ar, lucide-react, next-intl | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AboutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1b4381b75bbdd6e",
      "framework": "next-react",
      "imports": "@/components/ph3ar-modal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/hooks/use-ph3ar,lucide-react,next-intl,next/link,react",
      "lines": 335,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,ai",
      "component_id": "4bb425f49f2d9048583c31f4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/layout/breadcrumbs, @/components/ui/card, @/components/ui/tabs, @/lib/mcp/tools, next-intl, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49b652a428c84b0c",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/ui/card,@/components/ui/tabs,@/lib/mcp/tools,next-intl,next/link",
      "lines": 222,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "88d3bc8ec87174a929cdd35f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardClient | imports:@/components/analysis/stats-overview, @/components/analysis/trend-chart, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/lib/i18n/routing | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "635cb391c58bb01a",
      "framework": "next-react",
      "imports": "@/components/analysis/stats-overview,@/components/analysis/trend-chart,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/lib/i18n/routing,@/lib/utils,date-fns,lucide-react,react,swr",
      "lines": 415,
      "logic_relevance": "none",
      "name": "dashboard-client",
      "normalized_name": "dashboard-client",
      "package_manager": "pnpm",
      "path": "app/[locale]/dashboard/dashboard-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "f1f20755448614d07170b645",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-intl",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:./dashboard-client, @/components/layout/breadcrumbs, @/components/ui/badge, @/lib/config/site, lucide-react, next, next-intl/server | frontend-score:115 | ui-score:55 | metadata",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84d34273f9e6394e",
      "framework": "next-react",
      "imports": "./dashboard-client,@/components/layout/breadcrumbs,@/components/ui/badge,@/lib/config/site,lucide-react,next,next-intl/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "251be6c1a105c7a3ea65ab43",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResultsPage | imports:./components/accessibility-tab, ./components/check-result, ./components/compare-tab, ./components/discovery-tab, ./components/i18n-tab, ./components/security-tab, ./components/seo-tab, ./components/validation-tab | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResultsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85687306bc64acd2",
      "framework": "next-react",
      "imports": "./components/accessibility-tab,./components/check-result,./components/compare-tab,./components/discovery-tab,./components/i18n-tab,./components/security-tab,./components/seo-tab,./components/validation-tab,@/components/analysis/ai-recommendations,@/components/analysis/analysis-progress,@/components/analysis/carbon-footprint,@/components/analysis/category-score-card,@/components/analysis/comprehensive-test-panel,@/components/analysis/cwv-cards,@/components/analysis/history-trend,@/components/analysis/opportunities-list,@/components/analysis/score-gauge,@/components/analysis/screenshot-viewer,@/components/analysis/test-results-panel,@/components/layout/breadcrumbs,@/components/share-modal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,@/lib/db,@/lib/i18n/routing,@/lib/scoring,@/lib/utils,lucide-react,next-intl,next/navigation,react",
      "lines": 916,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "651404f8b02ab1ef71b04b62",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SeoTab | imports:./check-result, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SeoTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e4276a17113ea7a",
      "framework": "next-react",
      "imports": "./check-result,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,@/lib/utils,lucide-react",
      "lines": 106,
      "logic_relevance": "none",
      "name": "seo-tab",
      "normalized_name": "seo-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/seo-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "c107b88e38a67510d9257594",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:CompareTab | imports:@/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/lib/i18n/routing, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "CompareTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8deb30ddea1e9982",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/lib/i18n/routing,lucide-react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "compare-tab",
      "normalized_name": "compare-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/compare-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6ae354c3f12f01505630a403",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecurityTab | imports:./check-result, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SecurityTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b38bbefc6a43af86",
      "framework": "next-react",
      "imports": "./check-result,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,@/lib/utils,lucide-react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "security-tab",
      "normalized_name": "security-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/security-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "04972c79b863aa4724d07ecf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nTab | imports:@/components/ui/card, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "I18nTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3f1c99ea2b70ed9",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/tabs,lucide-react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "i18n-tab",
      "normalized_name": "i18n-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/i18n-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "73fd69c3a7be3aa1ac18c8b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValidationTab | imports:./check-result, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, @/lib/utils, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ValidationTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a9d28dc74bf6ae4",
      "framework": "next-react",
      "imports": "./check-result,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,@/lib/utils,lucide-react",
      "lines": 75,
      "logic_relevance": "secondary",
      "name": "validation-tab",
      "normalized_name": "validation-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/validation-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cba566bc0c3c990c38d35f2a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibilityTab | imports:./check-result, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AccessibilityTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26fbdcb25300e994",
      "framework": "next-react",
      "imports": "./check-result,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,@/lib/utils,lucide-react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "accessibility-tab",
      "normalized_name": "accessibility-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/accessibility-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "eca9c507535cbd12233e08c9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckResult | imports:@/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CheckResult",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c344ae9ec5581d4a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "check-result",
      "normalized_name": "check-result",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/check-result.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "7aa499f0a519ff3898341c69",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiscoveryTab | imports:@/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "DiscoveryTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02ba680e916f603d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "discovery-tab",
      "normalized_name": "discovery-tab",
      "package_manager": "pnpm",
      "path": "app/[locale]/results/components/discovery-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "7743a9ea6761bf7597f65476",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, @/lib/config/site, @/lib/db, @/lib/phase2/ranking | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c24d72d3589d4d7f",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,@/lib/config/site,@/lib/db,@/lib/phase2/ranking,@/lib/phase2/test-registry,lucide-react,next,next/link",
      "lines": 217,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/rankings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "9bc02a7aad472c292d1e1f35",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryPage | imports:@/components/analysis/score-gauge, @/components/layout/breadcrumbs, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/select, @/components/ui/skeleton | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HistoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b91a156bb6e4922a",
      "framework": "next-react",
      "imports": "@/components/analysis/score-gauge,@/components/layout/breadcrumbs,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/select,@/components/ui/skeleton,@/lib/db,@/lib/i18n/routing,lucide-react,next-intl,react",
      "lines": 548,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/history/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "976294489ed517b9b13b379a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComparePage | imports:@/components/analysis/score-gauge, @/components/layout/breadcrumbs, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ComparePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b335c930605bd9b",
      "framework": "next-react",
      "imports": "@/components/analysis/score-gauge,@/components/layout/breadcrumbs,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/progress,@/components/ui/switch,@/components/ui/tabs,@/lib/utils,lucide-react,next-intl,react",
      "lines": 583,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/compare/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security,ai",
      "component_id": "fedc2a0040f19bac4fbe0949",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/i18n/config, lucide-react, next-intl/server | frontend-score:115 | automation-score:95 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d10e15fd9f4add1e",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/i18n/config,lucide-react,next-intl/server",
      "lines": 279,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5a983989ab2c64d73e327172",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/layout/breadcrumbs, @/components/seo/json-ld, @/components/ui/card, @/lib/i18n/config, lucide-react, next-intl/server | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "401b19815f560704",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/seo/json-ld,@/components/ui/card,@/lib/i18n/config,lucide-react,next-intl/server",
      "lines": 216,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/accessibility/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f841118b1ea155f5b0db1740",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,date-fns,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TimelineClient | imports:@/components/analysis/score-gauge, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/hooks/use-debounce, @/lib/i18n/routing | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TimelineClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d283f133fab06679",
      "framework": "next-react",
      "imports": "@/components/analysis/score-gauge,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/hooks/use-debounce,@/lib/i18n/routing,@/lib/utils,date-fns,lucide-react,react,swr",
      "lines": 531,
      "logic_relevance": "none",
      "name": "timeline-client",
      "normalized_name": "timeline-client",
      "package_manager": "pnpm",
      "path": "app/[locale]/timeline/timeline-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "f12a6318d5aa1af67d748bc4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-intl",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TimelinePage | imports:./timeline-client, @/components/layout/breadcrumbs, @/components/ui/badge, @/lib/config/site, lucide-react, next, next-intl/server | frontend-score:115 | ui-score:55 | metadata",
      "exports": "TimelinePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b6cb7ed61ee03fa8",
      "framework": "next-react",
      "imports": "./timeline-client,@/components/layout/breadcrumbs,@/components/ui/badge,@/lib/config/site,lucide-react,next,next-intl/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/timeline/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "508af43dd47fa13c329f7717",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/site, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c2a4cce416e481d",
      "framework": "next-react",
      "imports": "@/lib/config/site,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "backend,frontend,observability,automation",
      "component_id": "d1a6b34ac9ba798a35af5e1e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a77dd2d3ecc0fe15",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "92fa82456b0baab934b25f9e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/site, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1ed7f45758f07067",
      "framework": "next-react",
      "imports": "@/lib/config/site,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,observability,security",
      "component_id": "6d8c1face5d1f1b64fea0c72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ef72f0b1e61800ff",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,ai,frontend,security",
      "component_id": "ac041e5f31b577e474fe2b41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/site, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "41d43a66036e87dc",
      "framework": "next-react",
      "imports": "@/lib/config/site,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "d3836f3466c6235df4ed3dcf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/site, @/lib/mcp/tools, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48e69d6aaeda005e",
      "framework": "next-react",
      "imports": "@/lib/config/site,@/lib/mcp/tools,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "f96bebd8318f981c08a36989",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/mcp/tools, @/lib/phase2/model, @/lib/phase2/ranking, @/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "edfd0eab0142dd46",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp/tools,@/lib/phase2/model,@/lib/phase2/ranking,@/lib/phase2/test-registry,next/server",
      "lines": 257,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "3f89eed84f5b0d07908a74da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/site, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dbdfc59fe39f323f",
      "framework": "next-react",
      "imports": "@/lib/config/site,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3b1e49c560a699d7f3dade8b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/fingerprint, @/lib/insights, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0cb28fa01bb191d0",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/fingerprint,@/lib/insights,@/lib/logger,next/server,zod",
      "lines": 428,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/insights/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "a55976cb5177a8c0e8f574f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/lib/api/security, @/lib/integrations/trace-sdk, @/lib/scoring/compliance, @/lib/scoring/design, @/lib/scoring/i18n, @/lib/utils, @/lib/validators/accessibility, @/lib/validators/w3c | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2ffa4dfd26688b1d",
      "framework": "next-react",
      "imports": "@/lib/api/security,@/lib/integrations/trace-sdk,@/lib/scoring/compliance,@/lib/scoring/design,@/lib/scoring/i18n,@/lib/utils,@/lib/validators/accessibility,@/lib/validators/w3c,next/server",
      "lines": 499,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "b6da0f8bcf39127be0ef209d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de1def98796eb0f3",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/sitemap/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "f908d69d41e4e756e53538be",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "265853787397ffa7",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,observability,discovery",
      "component_id": "46e3d95fda474b6e7ed48cb9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "87ff0badbddb88aa",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/openapi/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "b856702692d393c86f278647",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3537e75cbbb07d9a",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/url/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "7bbf2af0bae731b72bc693de",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e994dd3c05945057",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/feed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "b8c89c45df1d3c84697c1a1b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "949008eb14f65a76",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/structured-data/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "582fbc03c24a62e04bc43b48",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71b510017a759cbd",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/llms/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "0100d2c96836f8ad46a5bdf7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/phase2/validation, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "06f9e8a0bf114270",
      "framework": "next-react",
      "imports": "@/lib/phase2/validation,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/routes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "b5d7474b922b266232d2c530",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/scoring, @/lib/utils, next/server, zod | backend-score:160 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a32f44e9c25bd5a3",
      "framework": "next-react",
      "imports": "@/lib/scoring,@/lib/utils,next/server,zod",
      "lines": 141,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/llm-instructions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "6897266f193559140157dcdb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/with-trace, @/lib/db, @/lib/platform/auth, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aab5a71c0eeb88d7",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/db,@/lib/platform/auth,@/lib/utils,next/server",
      "lines": 218,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/bulk/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "c971d20b058e61f47ff63d1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b782297b914bf82a",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/suites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "ad69486048c5d503d9f6efd9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49b6f3a6b0174873",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/suites/[suiteId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend",
      "component_id": "258f8128a95eb1bdbbdb6320",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "30b3b9e07af26a63",
      "framework": "next-react",
      "imports": "@/lib/phase2/ranking,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ranking-profiles/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "2b0584422c0f2f661184a684",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3007bfa79874f961",
      "framework": "next-react",
      "imports": "@/lib/phase2/ranking,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ranking-profiles/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d13066519141d0a14d30ad73",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a8567b4e6e29704b",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "4d14e26174e3eeac6b65fa2b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1ec4573a14e6eb3",
      "framework": "next-react",
      "imports": "@/lib/platform/network-discovery,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability",
      "component_id": "671209f5aa67ca0e8a1ed97c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, @/lib/platform/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e13b6038ebe501cf",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,@/lib/platform/network-discovery,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "932b538486312b16f68d0352",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a11cfa5f302b517a",
      "framework": "next-react",
      "imports": "@/lib/platform/network-discovery,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0fd1f87299fd805590caa994",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../rankings/network/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7270f414a9539ff9",
      "framework": "next-react",
      "imports": "../../rankings/network/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/rankings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "706793b9ec5f66c817ef397d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1bf0b184d20b5210",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "858833a688268c59534f1cc5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cb3e159061a2ab26",
      "framework": "next-react",
      "imports": "@/lib/platform/network-discovery,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "671d18de557d58ac8fee3de1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/auth, @/lib/platform/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2586c8e12c48d0a9",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/network-discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability",
      "component_id": "37601f49577d2e2409af6c7c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "02e132e72912de8b",
      "framework": "next-react",
      "imports": "@/lib/platform/network-discovery,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/reports/latest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "3e933588d8c94069823c4070",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "50d168bbf20d76f8",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "97fe18d7ccea35c82184514f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "95c2e84f88a3cc37",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/[testId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "200db1e3cfede3d0fbec1e95",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "add402c27d3e463d",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/registry/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "1fcdc585e2f8fb75a1f8b69d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6e5cf81839a38f03",
      "framework": "next-react",
      "imports": "@/lib/phase2/test-registry,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/registry/[version]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "51da1cd34b5a1504b5a9b186",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/phase2/model, @/lib/phase2/ranking, @/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec5eca60825c4b37",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/model,@/lib/phase2/ranking,@/lib/phase2/test-registry,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dashboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "eb231b0e3dac641de1d0bdf2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/platphorm, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8add585035eb65d4",
      "framework": "next-react",
      "imports": "@/lib/api/platphorm,next/server,zod",
      "lines": 159,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/platphorm/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security",
      "component_id": "b2b5e6294ea16a8ca44507dc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6ba1ce639f5dccf2",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "80c2e1aaefbd4e75f3f9f810",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0653d554fcfd53d1",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/ranking/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "880d8d10e2d66eedaf5c6a45",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5291ae805125ee81",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "9d2b5489cde6019eddea8210",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e8936c94137370c5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/test-registry,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/tests/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "0400ac08a593afa7e0b5c762",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3bfd84d3a50f10d1",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/recommendations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security",
      "component_id": "d1323770aabc1e5f0ec172e4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c493b2f42310d211",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "4e7631ad380f7daee087b6e7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18d34aac01020efb",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/results/[id]/issues/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "babd929450be14f53fc09b21",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "84140dbf1dc72912",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rankings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "fbba3a267e071a1598748c94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c0d863b8fd258e29",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rankings/domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e135d47295e0306f7189535a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "26f129968c9fcf23",
      "framework": "next-react",
      "imports": "../route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rankings/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "f6b170dd23e56b56b03c859b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/phase2/ranking, @/lib/platform/auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71fad0be54e64c86",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,@/lib/platform/auth,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rankings/recalculate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "ccac5dd045a2c79cb232f8a9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac737f55f88a4ef8",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rankings/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "50a44d24482510844dc50725",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "26f129968c9fcf23",
      "framework": "next-react",
      "imports": "../route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rankings/routes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e725f964e8490fd7496ea78a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/with-trace, @/lib/scoring, @/lib/utils, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f244b1f42f0e5160",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/scoring,@/lib/utils,next/server,zod",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/advanced-scores/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "4094864446d8a365396e23b7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/with-trace, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc7fbea5fd61ae57",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/db,next/server",
      "lines": 165,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "514f0e99df2ee6932e3497d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/with-trace, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "137125a3ff6e4052",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/db,next/server",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyses/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,frontend,observability,automation",
      "component_id": "018a0d8c3f52fc129af22931",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e3a6c34276871c4d",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyses/[id]/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security",
      "component_id": "77ba7cef7a772e4bd07d1794",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/db, @/lib/testing/executor, @/lib/testing/export, @/lib/testing/registry, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ba603d7fba93823",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/testing/executor,@/lib/testing/export,@/lib/testing/registry,next/server,zod",
      "lines": 209,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyses/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "d6e4c3db4d01f03f45529a70",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/pagespeed, @/lib/api/with-trace, @/lib/db, @/lib/logger, @/lib/utils, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7ed855915cb85bca",
      "framework": "next-react",
      "imports": "@/lib/api/pagespeed,@/lib/api/with-trace,@/lib/db,@/lib/logger,@/lib/utils,next/server,zod",
      "lines": 568,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/compare/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "37b92ee0dd608598ba9982a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db6e24102e6c04d7",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/compare/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,frontend,observability",
      "component_id": "2f12820c7d35c8d3073109d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/phase2/ranking, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8cc2deb14ead7787",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/new-internet/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "96ecbda46ab08b8df69961be",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/with-trace, @/lib/scoring, @/lib/utils, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e98ea140eb0d5b2e",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/scoring,@/lib/utils,next/server,zod",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/searchability/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,observability,security",
      "component_id": "99c1f5a5ef48de7c2f68e292",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/security, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03d9d4e6bba425a6",
      "framework": "next-react",
      "imports": "@/lib/api/security,@/lib/utils,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/security/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "2d7722cedad92aa619d5e2a7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/carbon, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "857933ff39b399b4",
      "framework": "next-react",
      "imports": "@/lib/api/carbon,@/lib/utils,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/carbon/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability",
      "component_id": "419621192e570bc73b588df0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/phase2/ranking, @/lib/phase2/validation, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71dbbda9e824d680",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,@/lib/phase2/validation,@/lib/utils,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation,ai",
      "component_id": "526901c18b6c7439eb443309",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/with-trace, @/lib/scoring, @/lib/utils, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "02787d36a3b6a31c",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/scoring,@/lib/utils,next/server,zod",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/answerability/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability",
      "component_id": "5f0adfaf414d46918e5dd96b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/phase2/ranking, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "84fd760d992879b5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/agent-readiness/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability",
      "component_id": "7f01289c9b419f137987ce39",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/scoring/i18n, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3eec91657bd6d0a8",
      "framework": "next-react",
      "imports": "@/lib/scoring/i18n,@/lib/utils,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/i18n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "d042bc05300db6fdbb8714b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/with-trace, @/lib/scoring, @/lib/utils, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "964cda41c40dc639",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/scoring,@/lib/utils,next/server,zod",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/audience/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "59c75f2b55ff0cc250fa50ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/with-trace, @/lib/scoring, @/lib/utils, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71f29d8a882c3255",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/scoring,@/lib/utils,next/server,zod",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scoring/readability/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "290cd9b78d40c3daf5e23db2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PAGE_SPEED_CATEGORIES, POST | imports:@/lib/api/ai-analysis, @/lib/api/carbon, @/lib/api/pagespeed, @/lib/api/security, @/lib/api/with-trace, @/lib/db, @/lib/integrations/server-insights, @/lib/logger | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,PAGE_SPEED_CATEGORIES,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c519e207363e4426",
      "framework": "next-react",
      "imports": "@/lib/api/ai-analysis,@/lib/api/carbon,@/lib/api/pagespeed,@/lib/api/security,@/lib/api/with-trace,@/lib/db,@/lib/integrations/server-insights,@/lib/logger,@/lib/quality/bridge,@/lib/scoring,@/lib/testing/executor,@/lib/testing/registry,@/lib/utils,next/server,zod",
      "lines": 896,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "340acaa21ddc8f30b0b34fb3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CURATED_SITES, GET | imports:@/lib/db, @/lib/rate-limit, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "CURATED_SITES,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4659c4a421cdc795",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/rate-limit,next/server,zod",
      "lines": 228,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/suggestions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "bdedad113736d7d1bcb4edcf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "17982ca1bfe6b833",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 381,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/timeline/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "61287f895dc27ff1f0503b1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/mcp/tools, @/lib/testing/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "88812bb9401b0d06",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp/tools,@/lib/testing/registry,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,logic,frontend,observability",
      "component_id": "fbd89470fa5c984df3e1891d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | logic-score:60 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c9a36aad9a5c3124",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validation/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "921e9537e6f40075a250dc37",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b53cc17e75fcd36c",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "48b6f310be9ab205ed365427",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1a0d331c22a4d64e",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "a810d91f8b132d8821327666",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "87ddb09be865b6ec",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability,security",
      "component_id": "90cbe02a1f13967d1120a0dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "26c892df43f7b2d5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "9909babefec8177e0a2936d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/with-trace, @/lib/config/site, @/lib/db, @/lib/phase2/model, @/lib/phase2/ranking, @/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d190ebc8371816eb",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,@/lib/config/site,@/lib/db,@/lib/phase2/model,@/lib/phase2/ranking,@/lib/phase2/test-registry,next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "7e15b0e723bea905a24c6d06",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_HTML_BYTES, OPTIONS, POST | imports:@/lib/api/ai-analysis, @/lib/api/carbon, @/lib/api/pagespeed, @/lib/api/security, @/lib/api/with-trace, @/lib/config/site, @/lib/db, @/lib/phase2/ranking | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,MAX_HTML_BYTES,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2a7144285bffe37a",
      "framework": "next-react",
      "imports": "@/lib/api/ai-analysis,@/lib/api/carbon,@/lib/api/pagespeed,@/lib/api/security,@/lib/api/with-trace,@/lib/config/site,@/lib/db,@/lib/phase2/ranking,@/lib/phase2/test-registry,@/lib/phase2/validation,@/lib/scoring,@/lib/utils,@/lib/validators/accessibility,@/lib/validators/seo,@/lib/validators/w3c,next/server,zod",
      "lines": 710,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery,ai",
      "component_id": "c6f153907c78a35ad4d9dd70",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:openApiSpec | imports:@/lib/phase2/ranking, @/lib/phase2/test-registry, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "openApiSpec",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "55f8f056474ef362",
      "framework": "next-react",
      "imports": "@/lib/phase2/ranking,@/lib/phase2/test-registry,next/server",
      "lines": 671,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8e589d87bee1f6544cfe6597",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "693757e55afbe7ed",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability",
      "component_id": "18e977c76377bc4184a7c1c5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ed4cd30952c9c661",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 232,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "6bc26b1fa8476ee3bfd4e3f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@neondatabase/serverless, crypto, next/server | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e935b431b7a78c36",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto,next/server",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security,ai",
      "component_id": "b074b581b65572c9ee433bd8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/db, @/lib/platform/auth, @/lib/utils, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4173bb00839d7b51",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/auth,@/lib/utils,next/server",
      "lines": 184,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/scheduled-analyses/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security,ai",
      "component_id": "f4e3f92ae082cee5e2b3f9ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/db, @/lib/platform/auth, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c39ba6540bdd1be7",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/auth,next/server",
      "lines": 184,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/mcp-ping/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security,ai",
      "component_id": "5f29f511ac8bfe4c26037647",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/db, @/lib/platform/auth, @/lib/screenshots, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc5a2eba7970294a",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/auth,@/lib/screenshots,next/server",
      "lines": 123,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/cleanup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "138a732e23fc855a082ae950",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/config/site, @/lib/db, @/lib/platform/auth, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bc58d6c639fb56e6",
      "framework": "next-react",
      "imports": "@/lib/config/site,@/lib/db,@/lib/platform/auth,next/server",
      "lines": 226,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/maintenance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security,discovery,ai",
      "component_id": "a43c66a31566bf2c7f52f81e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/db, @/lib/platform/auth, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "107efb737a1e1af9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/auth,next/server",
      "lines": 210,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/sitemap-update/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "eea1f08f5f50acce44ddd227",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/sitemap, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "964997a845cd8015",
      "framework": "next-react",
      "imports": "@/app/sitemap,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,security,discovery",
      "component_id": "8d0d46e92f341b0c24ecc717",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d841f2de61240ba",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "54e71c0246cb9c76479cd9ed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/site, @/lib/db, @/lib/mcp/tools, @/lib/phase2/ranking, @/lib/phase2/test-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "81fee4a1c589746d",
      "framework": "next-react",
      "imports": "@/lib/config/site,@/lib/db,@/lib/mcp/tools,@/lib/phase2/ranking,@/lib/phase2/test-registry,next/server",
      "lines": 187,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "b6eeb24212e9701008535616",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba0bb96dc92b1afd",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "c299941b96fa4ce435f34b3c",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "55252d32e9c8c232",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "custom-dictionary-workspace",
      "normalized_name": "custom-dictionary-workspace",
      "package_manager": "pnpm",
      "path": ".cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,automation",
      "component_id": "b6ad1970cf697a530e94b6b0",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../lib/utils, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08c0e966065bc67a",
      "framework": "next-react",
      "imports": "../lib/utils,vitest",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "8a538dec3888c56082af7d3c",
      "component_kind": "sitemap",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "exports:MOCK_DOMAINS | imports:vitest | discovery-score:55",
      "exports": "MOCK_DOMAINS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "734c70e23adaf065",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 207,
      "logic_relevance": "none",
      "name": "sitemap_perf.test",
      "normalized_name": "sitemap-perf",
      "package_manager": "pnpm",
      "path": "tests/sitemap_perf.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "d745a90343cec72e3e257c32",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@testing-library/react, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d3ad2b04b21d3b6",
      "framework": "next-react",
      "imports": "@testing-library/react,vitest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "0633c5c68a887a99e200ff7a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c596e8708478d0b2",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap_bulk_neon",
      "normalized_name": "sitemap-bulk-neon",
      "package_manager": "pnpm",
      "path": "tests/sitemap_bulk_neon.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui",
      "component_id": "b6902e1e1865207949dfc892",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:vitest | ui-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b585b7e72b018e25",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 244,
      "logic_relevance": "none",
      "name": "score-gauge.test",
      "normalized_name": "score-gauge",
      "package_manager": "pnpm",
      "path": "tests/ui/score-gauge.test.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "9e14978e0fa5c54c2730606f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69a28de02f237764",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 275,
      "logic_relevance": "primary",
      "name": "core-web-vitals.test",
      "normalized_name": "core-web-vitals",
      "package_manager": "pnpm",
      "path": "tests/analysis/core-web-vitals.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,security",
      "component_id": "9c5485f4ade6fdd20e026d22",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/analysis/engine, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ecd246ffc4100f63",
      "framework": "next-react",
      "imports": "../../lib/analysis/engine,vitest",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "engine.test",
      "normalized_name": "engine",
      "package_manager": "pnpm",
      "path": "tests/analysis/engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "efd4260703ea31e413a32424",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fe05de25d321b683",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 400,
      "logic_relevance": "none",
      "name": "internationalization.test",
      "normalized_name": "internationalization",
      "package_manager": "pnpm",
      "path": "tests/analysis/internationalization.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "1c2e23555c2b29fe072b1fe2",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/analysis/engine, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f78aa8c879363545",
      "framework": "next-react",
      "imports": "../../lib/analysis/engine,vitest",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "discovery_engine.test",
      "normalized_name": "discovery-engine",
      "package_manager": "pnpm",
      "path": "tests/analysis/discovery_engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "66045df312787aaa21e85649",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/analysis/engine, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "760828b2e08204de",
      "framework": "next-react",
      "imports": "../../lib/analysis/engine,vitest",
      "lines": 50,
      "logic_relevance": "none",
      "name": "discovery_engine2.test",
      "normalized_name": "discovery-engine2",
      "package_manager": "pnpm",
      "path": "tests/analysis/discovery_engine2.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "a545e71f1dd1ea89788589b9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f20b6747a76604bd",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 406,
      "logic_relevance": "none",
      "name": "security-headers.test",
      "normalized_name": "security-headers",
      "package_manager": "pnpm",
      "path": "tests/security/security-headers.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "99e60fc5bfc08609f6d7a24f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "562decfb638b2ca3",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 525,
      "logic_relevance": "none",
      "name": "rate-limit.test",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "tests/security/rate-limit.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "74993e9459e0370dc0e6f03b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee83b5545a35aa91",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 627,
      "logic_relevance": "none",
      "name": "e2e.test",
      "normalized_name": "e2e",
      "package_manager": "pnpm",
      "path": "tests/integration/e2e.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6d72fe70f52367468fbe05db",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/db, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1796109e9368ec18",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 390,
      "logic_relevance": "none",
      "name": "full-flow.test",
      "normalized_name": "full-flow",
      "package_manager": "pnpm",
      "path": "tests/integration/full-flow.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "21199d97025e59d77ec0959c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c13cfb54478fccfd",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 292,
      "logic_relevance": "none",
      "name": "pages.test",
      "normalized_name": "pages",
      "package_manager": "pnpm",
      "path": "tests/integration/pages.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "694283cd6cb5459e4285ebd7",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/phase2/ranking, @/lib/phase2/test-registry, @/lib/phase2/validation, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cce4059464cf9dc2",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/phase2/ranking,@/lib/phase2/test-registry,@/lib/phase2/validation,vitest",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "registry-ranking-validation.test",
      "normalized_name": "registry-ranking-validation",
      "package_manager": "pnpm",
      "path": "tests/phase2/registry-ranking-validation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,observability,security",
      "component_id": "f7753a497f223a4c54ef7202",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../../lib/db, ../../lib/mcp/tools, vitest | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b2a43e03091e7dd6",
      "framework": "next-react",
      "imports": "../../lib/db,../../lib/mcp/tools,vitest",
      "lines": 149,
      "logic_relevance": "none",
      "name": "tools.test",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "tests/mcp/tools.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,observability,security,automation,ai",
      "component_id": "d8b0cefa5745d0d278543b16",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../../lib/mcp/client, vitest | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "00ba6115f63aa9fa",
      "framework": "next-react",
      "imports": "../../lib/mcp/client,vitest",
      "lines": 188,
      "logic_relevance": "none",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "tests/mcp/client.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "9ced7ebc60d4eac8c7e83a7b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/testing/executor, ../../lib/testing/export, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fdd07a99fc6b8575",
      "framework": "next-react",
      "imports": "../../lib/testing/executor,../../lib/testing/export,vitest",
      "lines": 150,
      "logic_relevance": "none",
      "name": "export.test",
      "normalized_name": "export",
      "package_manager": "pnpm",
      "path": "tests/testing/export.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a01bf2b642b67df903dec7d3",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3f203a2bd73e3cf0",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 307,
      "logic_relevance": "none",
      "name": "analysis-progress.test",
      "normalized_name": "analysis-progress",
      "package_manager": "pnpm",
      "path": "tests/components/analysis-progress.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "840ebb3de5224e4274c44ef8",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/ph3ar-modal, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9419cddebd1f8bff",
      "framework": "next-react",
      "imports": "../../components/ph3ar-modal,@testing-library/react,vitest",
      "lines": 100,
      "logic_relevance": "none",
      "name": "ph3ar-modal.test",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "tests/components/ph3ar-modal.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security",
      "component_id": "5bac322f8782743abfe76461",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a75bdd629b4cdec5",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 276,
      "logic_relevance": "none",
      "name": "screenshot-viewer.test",
      "normalized_name": "screenshot-viewer",
      "package_manager": "pnpm",
      "path": "tests/components/screenshot-viewer.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ui",
      "component_id": "c3b78c1532c5a6faee9c067c",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "@/components,vitest",
      "description": "UI component for seo-and-metadata; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/smart-tooltip, vitest | ui-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3bf2f8b0e68f02e",
      "framework": "next-react",
      "imports": "@/components/ui/smart-tooltip,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "smart-tooltip.test",
      "normalized_name": "smart-tooltip",
      "package_manager": "pnpm",
      "path": "tests/components/ui/smart-tooltip.test.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "ce39b89756ba4a3dba10952c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,next-themes,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/ph3ar-modal, @/components/layout/theme-toggle, @testing-library/react, next-themes, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e14b07e3e4dd684",
      "framework": "next-react",
      "imports": "@/components/layout/ph3ar-modal,@/components/layout/theme-toggle,@testing-library/react,next-themes,vitest",
      "lines": 82,
      "logic_relevance": "none",
      "name": "theme-toggle.test",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "tests/components/layout/theme-toggle.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a131977cd33080d1712c28ac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResizeObserver | imports:@/components/layout/locale-switcher, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ResizeObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "045d44a3de1b0362",
      "framework": "next-react",
      "imports": "@/components/layout/locale-switcher,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 126,
      "logic_relevance": "none",
      "name": "locale-switcher.test",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "tests/components/layout/locale-switcher.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4f187c8938276b991d712732",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/ph3ar-modal, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a6afa22db962dbb",
      "framework": "next-react",
      "imports": "@/components/layout/ph3ar-modal,@testing-library/react,vitest",
      "lines": 76,
      "logic_relevance": "none",
      "name": "ph3ar-modal.test",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "tests/components/layout/ph3ar-modal.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "af9f37dfc30b6790262f0751",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/hooks,@testing-library/react,swr,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/hooks/use-analysis, @testing-library/react, swr, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3849e0ce8513d65a",
      "framework": "next-react",
      "imports": "@/hooks/use-analysis,@testing-library/react,swr,vitest",
      "lines": 348,
      "logic_relevance": "none",
      "name": "use-analysis.test",
      "normalized_name": "use-analysis",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-analysis.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "672bba69c5b47e08abce16e5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/components,react,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../hooks/use-toast, @/components/ui/toast, react, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f774e6fe0417eb62",
      "framework": "next-react",
      "imports": "../../hooks/use-toast,@/components/ui/toast,react,vitest",
      "lines": 148,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-toast.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "50bbd6f1f790073165cedf0b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/scoring/design, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f757a301be924ede",
      "framework": "next-react",
      "imports": "@/lib/scoring/design,vitest",
      "lines": 164,
      "logic_relevance": "none",
      "name": "design.test",
      "normalized_name": "design",
      "package_manager": "pnpm",
      "path": "tests/scoring/design.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e2363b5418e003ac5ce24cf2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/scoring, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5c42d1fee9a7f9b",
      "framework": "next-react",
      "imports": "@/lib/scoring,vitest",
      "lines": 256,
      "logic_relevance": "none",
      "name": "readability.test",
      "normalized_name": "readability",
      "package_manager": "pnpm",
      "path": "tests/scoring/readability.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5ca6e60b03eabd0a3d86133d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/analysis/engine, ../../lib/scoring/discovery, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ae910730ffc47da2",
      "framework": "next-react",
      "imports": "../../lib/analysis/engine,../../lib/scoring/discovery,vitest",
      "lines": 92,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "tests/scoring/discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "552df2b5b559c98f121df17e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/scoring/index, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b5d58e54b284bf25",
      "framework": "next-react",
      "imports": "../../lib/scoring/index,vitest",
      "lines": 97,
      "logic_relevance": "none",
      "name": "human.test",
      "normalized_name": "human",
      "package_manager": "pnpm",
      "path": "tests/scoring/human.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "dce250923ce324ed5471e3fe",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/scoring, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7b38b181d3109e8",
      "framework": "next-react",
      "imports": "@/lib/scoring,vitest",
      "lines": 218,
      "logic_relevance": "none",
      "name": "answerability.test",
      "normalized_name": "answerability",
      "package_manager": "pnpm",
      "path": "tests/scoring/answerability.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9202131ad3bfcb9de2956bbb",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/scoring/compliance, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "62fb2ca6e3a50511",
      "framework": "next-react",
      "imports": "../../lib/scoring/compliance,vitest",
      "lines": 147,
      "logic_relevance": "none",
      "name": "compliance.test",
      "normalized_name": "compliance",
      "package_manager": "pnpm",
      "path": "tests/scoring/compliance.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "62a815e2ba2b195307765854",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/scoring/ai, vitest | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "cc37eaf80373f54a",
      "framework": "next-react",
      "imports": "@/lib/scoring/ai,vitest",
      "lines": 271,
      "logic_relevance": "none",
      "name": "ai.test",
      "normalized_name": "ai",
      "package_manager": "pnpm",
      "path": "tests/scoring/ai.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c042dbbaf2e7d0098631c85a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/trace-sdk, vitest | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3a7c64a05bab6b44",
      "framework": "next-react",
      "imports": "../../lib/trace-sdk,vitest",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "trace-sdk.test",
      "normalized_name": "trace-sdk",
      "package_manager": "pnpm",
      "path": "tests/lib/trace-sdk.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "a29d77ab61067cf420df29a0",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/screenshots, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5ec5d9eec5638c1",
      "framework": "next-react",
      "imports": "@/lib/screenshots,vitest",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "screenshots.test",
      "normalized_name": "screenshots",
      "package_manager": "pnpm",
      "path": "tests/lib/screenshots.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,ai",
      "component_id": "173b49890b2138d92313bc23",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9a693e0270902952",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 87,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "tests/lib/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "ac61622ac998456ff0d2cefb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/logger, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "801bf75b03d3452f",
      "framework": "next-react",
      "imports": "../../lib/logger,vitest",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "tests/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "91e7b7083ad7277f56741381",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/insights/page-insights-sdk, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0438fbee7979f49e",
      "framework": "next-react",
      "imports": "../../../lib/insights/page-insights-sdk,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "page-insights-sdk.test",
      "normalized_name": "page-insights-sdk",
      "package_manager": "pnpm",
      "path": "tests/lib/insights/page-insights-sdk.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,security,automation",
      "component_id": "4834ec77ae70a699ff4a6008",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/testing/executor, @/lib/testing/registry, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0817ac72dd03f873",
      "framework": "next-react",
      "imports": "@/lib/testing/executor,@/lib/testing/registry,vitest",
      "lines": 154,
      "logic_relevance": "primary",
      "name": "executor.test",
      "normalized_name": "executor",
      "package_manager": "pnpm",
      "path": "tests/lib/testing/executor.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "681677cd391ee3544160aab9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/testing/registry, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "35e0adaefdfc9b5a",
      "framework": "next-react",
      "imports": "@/lib/testing/registry,vitest",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "registry.test",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "tests/lib/testing/registry.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "3641f0cd17804d30eeceffd9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/api/network, vitest | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d775fe770b9a18c1",
      "framework": "next-react",
      "imports": "../../../lib/api/network,vitest",
      "lines": 107,
      "logic_relevance": "primary",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "tests/lib/api/network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "ea55397b6835df3c54a3a8fe",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api/with-trace, next/server, vitest | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4c809bfe2fc44d75",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,next/server,vitest",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "with-trace.test",
      "normalized_name": "with-trace",
      "package_manager": "pnpm",
      "path": "tests/lib/api/with-trace.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "96522fb32ddced7e0bf75909",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@vercel/analytics,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/analytics/events, @vercel/analytics, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b2e0d11d0643583d",
      "framework": "next-react",
      "imports": "@/lib/analytics/events,@vercel/analytics,vitest",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "tests/lib/analytics/events.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "cc9c640e90c5aeb0ed5e1a40",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e6c26786f9f4969e",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 454,
      "logic_relevance": "primary",
      "name": "enhanced-schema.test",
      "normalized_name": "enhanced-schema",
      "package_manager": "pnpm",
      "path": "tests/db/enhanced-schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "bcacb09e8db87c1736d90caf",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/humans.txt/route, @/app/.well-known/security.txt/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1f1dc7bad29d31c8",
      "framework": "next-react",
      "imports": "@/app/.well-known/humans.txt/route,@/app/.well-known/security.txt/route,vitest",
      "lines": 31,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "tests/api/well-known.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "0ded6b5ccd01f0b91f69a7ac",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/security, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dc19ac3303fa1adc",
      "framework": "next-react",
      "imports": "@/lib/api/security,vitest",
      "lines": 41,
      "logic_relevance": "none",
      "name": "security.test",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "tests/api/security.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0e78b621e2353f06b944cc39",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6e21790332ace33",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 301,
      "logic_relevance": "none",
      "name": "compare.test",
      "normalized_name": "compare",
      "package_manager": "pnpm",
      "path": "tests/api/compare.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "dde5d2334b44b5576e5ac12c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aaaee1bbd36e101c",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 510,
      "logic_relevance": "none",
      "name": "compare-enhanced.test",
      "normalized_name": "compare-enhanced",
      "package_manager": "pnpm",
      "path": "tests/api/compare-enhanced.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,security,ai",
      "component_id": "9f3478d471fc64d854e0cc1a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/mcp/tools, vitest | backend-score:55 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de68e94d844c1bee",
      "framework": "next-react",
      "imports": "@/lib/mcp/tools,vitest",
      "lines": 48,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "tests/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "85411330e916e1155765e92f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/utils, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "25195162c5e51f09",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 384,
      "logic_relevance": "none",
      "name": "analyze.test",
      "normalized_name": "analyze",
      "package_manager": "pnpm",
      "path": "tests/api/analyze.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,observability,security",
      "component_id": "3cda871e024506a36478a344",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/sitemap-update/route, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c8c00c5755b3cbf5",
      "framework": "next-react",
      "imports": "@/app/api/cron/sitemap-update/route,next/server,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "cron.test",
      "normalized_name": "cron",
      "package_manager": "pnpm",
      "path": "tests/api/cron.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3f91a3aa16d30fb9491ab985",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/api/pagespeed, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ceee4d48bd18abce",
      "framework": "next-react",
      "imports": "../../lib/api/pagespeed,vitest",
      "lines": 37,
      "logic_relevance": "none",
      "name": "pagespeed.bench.test",
      "normalized_name": "pagespeed-bench",
      "package_manager": "pnpm",
      "path": "tests/api/pagespeed.bench.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "12883e96ef280ed50aefa10d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fdb4f62f4cdc1d5d",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 158,
      "logic_relevance": "none",
      "name": "validate.test",
      "normalized_name": "validate",
      "package_manager": "pnpm",
      "path": "tests/api/validate.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security",
      "component_id": "0656beaab2663f6a15bd66e3",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/platphorm, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fe7cf3a5d23ebfad",
      "framework": "next-react",
      "imports": "@/lib/api/platphorm,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "platphorm.test",
      "normalized_name": "platphorm",
      "package_manager": "pnpm",
      "path": "tests/api/platphorm.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "72dbdccb71a4c2ae19efd206",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/compare/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "db7140f25d392717",
      "framework": "next-react",
      "imports": "@/app/api/v1/compare/route,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "sitemap-perf.test",
      "normalized_name": "sitemap-perf",
      "package_manager": "pnpm",
      "path": "tests/api/sitemap-perf.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "b6726f47084c9ef3cea6329c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/rate-limit, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "33ff5982051c6233",
      "framework": "next-react",
      "imports": "@/lib/rate-limit,vitest",
      "lines": 228,
      "logic_relevance": "none",
      "name": "suggestions.test",
      "normalized_name": "suggestions",
      "package_manager": "pnpm",
      "path": "tests/api/suggestions.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "backend,automation",
      "component_id": "6bd8defa52c6f409af8cdfb1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/api/carbon, ../../lib/db, vitest | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b948b6e4762d840f",
      "framework": "next-react",
      "imports": "../../lib/api/carbon,../../lib/db,vitest",
      "lines": 122,
      "logic_relevance": "none",
      "name": "carbon.test",
      "normalized_name": "carbon",
      "package_manager": "pnpm",
      "path": "tests/api/carbon.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "a433c930c6bdcae975e06f77",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a1a33dbeb32f8a48",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 170,
      "logic_relevance": "none",
      "name": "timeline.test",
      "normalized_name": "timeline",
      "package_manager": "pnpm",
      "path": "tests/api/timeline.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "12b0ed566dd583c70c463fe7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9156d1393d69d85b",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 424,
      "logic_relevance": "none",
      "name": "llms-txt.test",
      "normalized_name": "llms-txt",
      "package_manager": "pnpm",
      "path": "tests/api/llms-txt.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "990c860ff7d1875d9ea6c710",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "79ee68e0959c8232",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/db,next/server,vitest",
      "lines": 87,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "afa6e26cfe16fd3a2fe862fd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../app/api/health/route, @/lib/config/site, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c746bd8875a86ab8",
      "framework": "next-react",
      "imports": "../../../app/api/health/route,@/lib/config/site,@/lib/db,next/server,vitest",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "213ab08504356e299d079772",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,crypto,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/webhooks/route, crypto, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1cd86505d2f7fdee",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route,crypto,next/server,vitest",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/api/webhooks/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,discovery",
      "component_id": "86d99e19ec1361446a93386d",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/sitemap-update/route, @/lib/db, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "483ef822f4f05946",
      "framework": "next-react",
      "imports": "@/app/api/cron/sitemap-update/route,@/lib/db,next/server,vitest",
      "lines": 119,
      "logic_relevance": "none",
      "name": "sitemap-update.test",
      "normalized_name": "sitemap-update",
      "package_manager": "pnpm",
      "path": "tests/api/cron/sitemap-update.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "4cf171b6a498e881afda897a",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/validators/seo, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "19d33d1eb7bc4aaf",
      "framework": "next-react",
      "imports": "@/lib/validators/seo,vitest",
      "lines": 359,
      "logic_relevance": "primary",
      "name": "seo.test",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "tests/validators/seo.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,automation",
      "component_id": "f039589b9313c3d7970028a4",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/validators/accessibility, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b002da2a878b8005",
      "framework": "next-react",
      "imports": "@/lib/validators/accessibility,vitest",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "accessibility.test",
      "normalized_name": "accessibility",
      "package_manager": "pnpm",
      "path": "tests/validators/accessibility.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,automation",
      "component_id": "69f027f052617005268c389a",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "@/lib,jsdom,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/validators/w3c, jsdom, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7171c4bb91c7ecdd",
      "framework": "next-react",
      "imports": "@/lib/validators/w3c,jsdom,vitest",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "w3c.test",
      "normalized_name": "w3c",
      "package_manager": "pnpm",
      "path": "tests/validators/w3c.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4ab3dcd1bbb2b2cc259bf62a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/db, @/lib/rate-limit, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "392bbb31a31d2842",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/rate-limit,vitest",
      "lines": 117,
      "logic_relevance": "none",
      "name": "check-rate-limit.test",
      "normalized_name": "check-rate-limit",
      "package_manager": "pnpm",
      "path": "tests/rate-limit/check-rate-limit.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "5288a4eb8ca5f3cd0f1f18ec",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/rate-limit, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae833f225b0b2b7a",
      "framework": "next-react",
      "imports": "@/lib/rate-limit,vitest",
      "lines": 208,
      "logic_relevance": "none",
      "name": "rate-limit.test",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "tests/rate-limit/rate-limit.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "36e86fe73efd65adb6c493f9",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "bbb6493cec0549f15bb3c4dd",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "c6a6e4acf25199ef47511b0d",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4260e899e3a90e13",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "PH3AR_ARCHITECTURE",
      "normalized_name": "ph3-ar-architecture",
      "package_manager": "pnpm",
      "path": "components/PH3AR_ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a291999d78727c52d6714de1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareModal | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShareModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "635c7a0f425392ed",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,@/components/ui/textarea,@/lib/utils,lucide-react,next-intl,react",
      "lines": 581,
      "logic_relevance": "none",
      "name": "share-modal",
      "normalized_name": "share-modal",
      "package_manager": "pnpm",
      "path": "components/share-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c10f0910678113da8d485704",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3ARModal | imports:@/components/ui/button, @/components/ui/dialog, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PH3ARModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "facfdb9a4530d262",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,lucide-react,react",
      "lines": 106,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b5be9ded6ce7cef8605e3c85",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InsightsProvider, useInsights | imports:../types/insights, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "InsightsProvider,useInsights",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e8dd357d1a9af2b",
      "framework": "next-react",
      "imports": "../types/insights,next/navigation,react",
      "lines": 444,
      "logic_relevance": "none",
      "name": "insights-provider",
      "normalized_name": "insights-provider",
      "package_manager": "pnpm",
      "path": "components/insights-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "950ae0c02c0f52e8e8ad9327",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5f01029a75029993bf4ce4ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "64a6e6de3b292aa77e1f7562",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "596bd07050d806ce81d4f957",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4a6c4b15d6552b24c182a2a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1df8bcca4966b1082ae79f67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "e33ba4d852e7878b2493fafe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b8d992e33117cfb99f8e998b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9d1595d16873f1f12b8358b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ebb9c630c169890e9873f242",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "05eb7a9cf9435d3be9f06111",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ec0a00f70fe146f1f3d7abda",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a3fee8a5bc6e521730fff0bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b7b5ebd65aff891675d39642",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7172cf7fa8b37a8d42cfb230",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "29f4c46261e3ab1ee0f495d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ui,frontend,observability,security,automation,ai",
      "component_id": "dc971addc7fce318942b38a8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SmartTooltip, TOOLTIP_DEFINITIONS, getTermsByCategory, hasTooltip, tooltipDefinitions, useTooltipDefinition | imports:@/components/ui/tooltip, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SmartTooltip,TOOLTIP_DEFINITIONS,getTermsByCategory,hasTooltip,tooltipDefinitions,useTooltipDefinition",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "767207bfdd42db4a",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 345,
      "logic_relevance": "none",
      "name": "smart-tooltip",
      "normalized_name": "smart-tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/smart-tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b4b9dd9e62817f2f2daa1451",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "06e2658c25f42c2bd8ddf94e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ba27eaa960799028df1a7043",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "90137f806144af963cb83662",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d37eafb7bb10555d40efd615",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3d084475170970f73e471e1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "12f0a60cb39fa40978d88891",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f198174de05893e818624e84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "cba0198732a509a605285201",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "189627c8437f8ec57007b396",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "a0f380af0c7a2ba0741a2f20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c13f441e3b49af45616b3890",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "8e536b66aa562897d77ba01a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8940e4e2e047f20fbe9d0519",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "166c22a442af67987990d3f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f038e0a10a9ec637710b5fa3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cea0f1a487e2bc4ae38f8b5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7680f40ac56015f953b7f008",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "c061fc573ba06647d6e4b120",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "203a23b83c56a4d9cb36b131",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c746a65d4496e1c1883aaed0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0cd07cf50f752b4dd5215183",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7d8e02ab5976c519c9d10758",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "263fb3c0e43905861c99c5b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7cf936988ab90f90",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 727,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "67874393c0c98157c0aa6ce3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "22f9bcb98ba9f968e8448f48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6dbd9e737ac38db895fb8dca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "053642389e538b20b8459033",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e21e3f227f35fcf612e790d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ab71d5bf331390ef82985330",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "cc99c1479a6a64b40c8956e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b6fe4c8417f7fb84ae2e2a7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "80630c00b2e5a957f296068e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b173e2e30bc911a46e7cbd99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ba3198c21f861ba30536f185",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3e5f93018b1fdbf80b4c696f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1d04342e0a8d16de285b0bb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d3ebe6c4bc7fcdea64b69607",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "5fa8ea167e741f5eed379360",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7e7891c9052f3c06a3f42f82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6eefe45eb22a4c9c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 243,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6f318a0a69f3d47749433347",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComprehensiveTestPanel | imports:./command-viewer, ./export-button, @/components/ui/badge, @/components/ui/button, @/components/ui/collapsible, @/components/ui/input, @/components/ui/progress, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ComprehensiveTestPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f103699dd6e8f8c",
      "framework": "next-react",
      "imports": "./command-viewer,./export-button,@/components/ui/badge,@/components/ui/button,@/components/ui/collapsible,@/components/ui/input,@/components/ui/progress,@/components/ui/select,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 601,
      "logic_relevance": "none",
      "name": "comprehensive-test-panel",
      "normalized_name": "comprehensive-test-panel",
      "package_manager": "pnpm",
      "path": "components/analysis/comprehensive-test-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a88f75e6b979cc0b1f674a05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestCategory, TestResult, TestResultsPanel, TestStatus, validationToTestResults | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/collapsible, @/components/ui/input, @/components/ui/progress, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TestCategory,TestResult,TestResultsPanel,TestStatus,validationToTestResults",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86ee3b40908c808a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/collapsible,@/components/ui/input,@/components/ui/progress,@/lib/utils,lucide-react,react",
      "lines": 572,
      "logic_relevance": "none",
      "name": "test-results-panel",
      "normalized_name": "test-results-panel",
      "package_manager": "pnpm",
      "path": "components/analysis/test-results-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "92123c281b66d53554d2baac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalysisInsight, AnalysisProgress, AnalysisStep | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tabs, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AnalysisInsight,AnalysisProgress,AnalysisStep",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e68a5a9a8382133a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tabs,@/lib/utils,lucide-react,react",
      "lines": 691,
      "logic_relevance": "none",
      "name": "analysis-progress",
      "normalized_name": "analysis-progress",
      "package_manager": "pnpm",
      "path": "components/analysis/analysis-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f679c1971e97a930c0d2b23d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:URLInput | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/input, @/lib/i18n/routing, @/lib/utils, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "URLInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ea63b8130c7f7b8",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/input,@/lib/i18n/routing,@/lib/utils,lucide-react,next-intl,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "url-input",
      "normalized_name": "url-input",
      "package_manager": "pnpm",
      "path": "components/analysis/url-input.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "67ab2072b1ecff006d690835",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecurityHeaders | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SecurityHeaders",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2dd6a14f1d1cbe65",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "security-headers",
      "normalized_name": "security-headers",
      "package_manager": "pnpm",
      "path": "components/analysis/security-headers.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,security,automation",
      "component_id": "110739555f79d15485ade6a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteSuggestions | imports:@/components/ui/button, @/lib/i18n/routing, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "SiteSuggestions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67d990061c774fad",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/i18n/routing,lucide-react,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "site-suggestions",
      "normalized_name": "site-suggestions",
      "package_manager": "pnpm",
      "path": "components/analysis/site-suggestions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f31f22364513ca9ae90a6afb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportButton, ExportButtonCompact | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ExportButton,ExportButtonCompact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba9ad72708b41e88",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/utils,lucide-react,react",
      "lines": 212,
      "logic_relevance": "none",
      "name": "export-button",
      "normalized_name": "export-button",
      "package_manager": "pnpm",
      "path": "components/analysis/export-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "675fbd041548953e33710d70",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryDashboard, CategoryDashboardProps, CategoryIssue, CategoryScoreCard, CategoryScoreCardProps | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/progress, @/components/ui/tooltip, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CategoryDashboard,CategoryDashboardProps,CategoryIssue,CategoryScoreCard,CategoryScoreCardProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d68ebc009c01fe4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/progress,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 409,
      "logic_relevance": "none",
      "name": "category-score-card",
      "normalized_name": "category-score-card",
      "package_manager": "pnpm",
      "path": "components/analysis/category-score-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6370cbadbebaf7c2e2584694",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CarbonFootprintCard | imports:@/components/ui/badge, @/components/ui/card, @/lib/db, @/lib/utils, lucide-react, next-intl | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CarbonFootprintCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8508b70a0b0a5eb",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/db,@/lib/utils,lucide-react,next-intl",
      "lines": 114,
      "logic_relevance": "none",
      "name": "carbon-footprint",
      "normalized_name": "carbon-footprint",
      "package_manager": "pnpm",
      "path": "components/analysis/carbon-footprint.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2970d0db5b700fba502e0cfd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActivityItem, MiniStat, MiniStatProps, RecentActivity, RecentActivityProps, ScoreSummary, ScoreSummaryProps, StatCard | imports:@/components/ui/card, @/components/ui/tooltip, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ActivityItem,MiniStat,MiniStatProps,RecentActivity,RecentActivityProps,ScoreSummary,ScoreSummaryProps,StatCard,StatCardProps,StatsGrid,StatsGridProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d10c20024c9ed31",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 309,
      "logic_relevance": "none",
      "name": "stats-overview",
      "normalized_name": "stats-overview",
      "package_manager": "pnpm",
      "path": "components/analysis/stats-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "988a7601d49f0b7747705a77",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComparisonResult, InlineTestComparison, InlineTestComparisonProps, TestComparison, TestComparisonProps, TestResult | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/components/ui/tooltip, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ComparisonResult,InlineTestComparison,InlineTestComparisonProps,TestComparison,TestComparisonProps,TestResult",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8515c03dcbf6b870",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 495,
      "logic_relevance": "none",
      "name": "test-comparison",
      "normalized_name": "test-comparison",
      "package_manager": "pnpm",
      "path": "components/analysis/test-comparison.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "98a7a9d1dca8ab367c1b8369",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryTrend | imports:@/components/ui/card, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HistoryTrend",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e8a1f36d03ed7ee",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,recharts",
      "lines": 106,
      "logic_relevance": "none",
      "name": "history-trend",
      "normalized_name": "history-trend",
      "package_manager": "pnpm",
      "path": "components/analysis/history-trend.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9adb16b83fd3855e64f7b381",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MultiTrendChart, MultiTrendChartProps, MultiTrendDataPoint, TrendChart, TrendChartProps, TrendDataPoint | imports:@/components/ui/card, @/components/ui/chart, @/lib/utils, lucide-react, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MultiTrendChart,MultiTrendChartProps,MultiTrendDataPoint,TrendChart,TrendChartProps,TrendDataPoint",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b35d2c335958a35f",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/chart,@/lib/utils,lucide-react,react,recharts",
      "lines": 398,
      "logic_relevance": "none",
      "name": "trend-chart",
      "normalized_name": "trend-chart",
      "package_manager": "pnpm",
      "path": "components/analysis/trend-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8a00f228e4e771bdd12931a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CWVCards | imports:@/components/ui/card, @/lib/db, @/lib/utils, next-intl | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CWVCards",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e077a8a17e74b6c",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/db,@/lib/utils,next-intl",
      "lines": 81,
      "logic_relevance": "none",
      "name": "cwv-cards",
      "normalized_name": "cwv-cards",
      "package_manager": "pnpm",
      "path": "components/analysis/cwv-cards.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a409836b9508ab0f075b1168",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OpportunitiesList | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/card, @/lib/db, @/lib/utils, lucide-react, next-intl | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "OpportunitiesList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a95029271798954",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/card,@/lib/db,@/lib/utils,lucide-react,next-intl",
      "lines": 107,
      "logic_relevance": "none",
      "name": "opportunities-list",
      "normalized_name": "opportunities-list",
      "package_manager": "pnpm",
      "path": "components/analysis/opportunities-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "78d275544b95d4443f4453a6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScreenshotViewer, ScreenshotViewerSkeleton | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/skeleton, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ScreenshotViewer,ScreenshotViewerSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74d585a180772442",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/skeleton,@/lib/utils,lucide-react,react",
      "lines": 366,
      "logic_relevance": "none",
      "name": "screenshot-viewer",
      "normalized_name": "screenshot-viewer",
      "package_manager": "pnpm",
      "path": "components/analysis/screenshot-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "241b6afed5f2b5709c3c1554",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommandViewer, CommandViewerInline | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CommandViewer,CommandViewerInline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "507e591d596fd055",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 204,
      "logic_relevance": "none",
      "name": "command-viewer",
      "normalized_name": "command-viewer",
      "package_manager": "pnpm",
      "path": "components/analysis/command-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "e128311bad5d8d7ec91e2c47",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIRecommendations | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/db, @/lib/utils, lucide-react, next-intl | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AIRecommendations",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1db3b4ec8d6b04eb",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/db,@/lib/utils,lucide-react,next-intl,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "ai-recommendations",
      "normalized_name": "ai-recommendations",
      "package_manager": "pnpm",
      "path": "components/analysis/ai-recommendations.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "adffbb954c78749622e6c470",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalysisProgress, AnalysisSkeleton | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalysisProgress,AnalysisSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "09ed4b2b791bda3c",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 113,
      "logic_relevance": "none",
      "name": "analysis-skeleton",
      "normalized_name": "analysis-skeleton",
      "package_manager": "pnpm",
      "path": "components/analysis/analysis-skeleton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0fcd20d1c447601a3f78d384",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScoreGauge | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ScoreGauge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cc7e96547ab45df",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 80,
      "logic_relevance": "none",
      "name": "score-gauge",
      "normalized_name": "score-gauge",
      "package_manager": "pnpm",
      "path": "components/analysis/score-gauge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bfae2d940327f4899e2789c6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbItem, Breadcrumbs | imports:@/lib/config/site, @/lib/i18n/routing, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BreadcrumbItem,Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "022cb946dbde894c",
      "framework": "next-react",
      "imports": "@/lib/config/site,@/lib/i18n/routing,lucide-react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/layout/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c488a56e1f6acc2b93dfbc74",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/config/site, @/lib/i18n/routing, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c262879d946c751",
      "framework": "next-react",
      "imports": "@/lib/config/site,@/lib/i18n/routing,lucide-react,next-intl,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c1bf3af8f85726ae5df423af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n/config, @/lib/i18n/routing, lucide-react, next-intl, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa905874957f39b8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n/config,@/lib/i18n/routing,lucide-react,next-intl,next/navigation,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/layout/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "251ea6ad8af16f916b132c55",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@radix-ui/react-visually-hidden,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3ARModal, useSecretModal | imports:@/components/ui/dialog, @radix-ui/react-visually-hidden, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PH3ARModal,useSecretModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f4c5794413d1ff5",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@radix-ui/react-visually-hidden,lucide-react,react",
      "lines": 213,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/layout/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9f22e7def9ab7c4c0f11479c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:./locale-switcher, ./theme-toggle, @/components/ui/button, @/components/ui/tooltip, @/lib/i18n/routing, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4415b291364e25df",
      "framework": "next-react",
      "imports": "./locale-switcher,./theme-toggle,@/components/ui/button,@/components/ui/tooltip,@/lib/i18n/routing,lucide-react,next-intl,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6a6fe7b45b5cda285515f2fe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:./ph3ar-modal, @/components/ui/button, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ffa86fe55aecaab6",
      "framework": "next-react",
      "imports": "./ph3ar-modal,@/components/ui/button,lucide-react,next-themes,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/layout/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "f7074f6b0b7370f91d527ab2",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQJsonLd, JsonLd, OrganizationJsonLd, SoftwareApplicationJsonLd, WebApplicationJsonLd | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "FAQJsonLd,JsonLd,OrganizationJsonLd,SoftwareApplicationJsonLd,WebApplicationJsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69dfafe28bce4f59",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "89f3804996034de93d149927",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cda0667b9ae2c327",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "a60fc5c7215aa3c4a8f413b1",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability",
      "component_id": "907e2635cd1c298bee3ad846",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/quality/bridge, @/lib/quality/types, @/lib/testing/executor, @/lib/testing/registry, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8273596a6237dd65",
      "framework": "next-react",
      "imports": "@/lib/quality/bridge,@/lib/quality/types,@/lib/testing/executor,@/lib/testing/registry,vitest",
      "lines": 231,
      "logic_relevance": "none",
      "name": "bridge.test",
      "normalized_name": "bridge",
      "package_manager": "pnpm",
      "path": "__tests__/quality/bridge.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "19e7175ba3d0fb4406aabb43",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MOCK_HTML_FIXTURES, QualityFrameworkTestHelper, SuiteTestContext, TestResultAggregator | imports:@/lib/quality/scoring, @/lib/quality/types, @/lib/testing/registry, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MOCK_HTML_FIXTURES,QualityFrameworkTestHelper,SuiteTestContext,TestResultAggregator",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9844a55552e4f422",
      "framework": "next-react",
      "imports": "@/lib/quality/scoring,@/lib/quality/types,@/lib/testing/registry,vitest",
      "lines": 267,
      "logic_relevance": "primary",
      "name": "framework-helpers",
      "normalized_name": "framework-helpers",
      "package_manager": "pnpm",
      "path": "__tests__/quality/framework-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "e4a3c87df91565ccfd6d2e39",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/insights/page-insights-sdk, @/lib/integrations/server-insights, @/lib/trace-sdk, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d12401403cea3a09",
      "framework": "next-react",
      "imports": "@/lib/insights/page-insights-sdk,@/lib/integrations/server-insights,@/lib/trace-sdk,vitest",
      "lines": 286,
      "logic_relevance": "none",
      "name": "pageinsights-integration.test",
      "normalized_name": "pageinsights-integration",
      "package_manager": "pnpm",
      "path": "__tests__/integrations/pageinsights-integration.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "470a19f581b51ab0edfa0031",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/with-trace, next/server, vitest | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99cd5febd82faa6b",
      "framework": "next-react",
      "imports": "@/lib/api/with-trace,next/server,vitest",
      "lines": 142,
      "logic_relevance": "none",
      "name": "trace-propagation.test",
      "normalized_name": "trace-propagation",
      "package_manager": "pnpm",
      "path": "__tests__/api/trace-propagation.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "70b16a77c00bdca907a1c9a8",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b31b065cab2894f6",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 257,
      "logic_relevance": "none",
      "name": "full-integration.test",
      "normalized_name": "full-integration",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/full-integration.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "dc14bb1d553f0b5eae4afb12",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "88f71e882c13bd2a",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "eb843eb0380088f34359668e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "30ec0c00217b6963",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e8a907079b53420d25175750",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "02f2f00b151e2876",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "3be84256ce55626cd722142d",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:usePH3AR | imports:react | security-score:55",
      "exports": "usePH3AR",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3ae928b0f4a02c4",
      "framework": "next-react",
      "imports": "react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "use-ph3ar",
      "normalized_name": "use-ph3ar",
      "package_manager": "pnpm",
      "path": "hooks/use-ph3ar.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "46b4fbf8377046bc8e5a6c13",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "react,swr",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useAnalysis, useAnalysisHistory, useCompareUrls, useRunAnalysis | imports:react, swr | observability-score:55 | security-score:55",
      "exports": "useAnalysis,useAnalysisHistory,useCompareUrls,useRunAnalysis",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a84bd24f63911642",
      "framework": "next-react",
      "imports": "react,swr",
      "lines": 260,
      "logic_relevance": "none",
      "name": "use-analysis",
      "normalized_name": "use-analysis",
      "package_manager": "pnpm",
      "path": "hooks/use-analysis.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "f22d8419048475b04b31d13c",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "443127edf8196111",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "check-build",
      "normalized_name": "check-build",
      "package_manager": "pnpm",
      "path": "scripts/check-build.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "f28e3b3cf874b8efd4308c98",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "57f1f652c9c2b2e8",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "verify-build",
      "normalized_name": "verify-build",
      "package_manager": "pnpm",
      "path": "scripts/verify-build.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "dc1e335b644693491ebd9f69",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ITERS, NUM_ITEMS | imports:perf_hooks | observability-score:55 | automation-score:50",
      "exports": "ITERS,NUM_ITEMS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "30da8d8b33eb310e",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 71,
      "logic_relevance": "none",
      "name": "benchmark_array_alloc",
      "normalized_name": "benchmark-array-alloc",
      "package_manager": "pnpm",
      "path": "scripts/benchmarks/benchmark_array_alloc.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "bbc7945c789aa070460b31a3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fbfd6d0175f9e7e7",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "benchmark_bulk",
      "normalized_name": "benchmark-bulk",
      "package_manager": "pnpm",
      "path": "scripts/benchmarks/benchmark_bulk.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "157c2e3d6cb9fbb84e2ab5c6",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/api/platphorm | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a11bf2d2ad5befb2",
      "framework": "next-react",
      "imports": "./lib/api/platphorm",
      "lines": 56,
      "logic_relevance": "none",
      "name": "benchmark_jsonld",
      "normalized_name": "benchmark-jsonld",
      "package_manager": "pnpm",
      "path": "scripts/benchmarks/benchmark_jsonld.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation",
      "component_id": "7d6fffbc6767f457d57bbe64",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NUM_ITEMS | imports:./lib/db, perf_hooks | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:50",
      "exports": "NUM_ITEMS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e1f12df3dda9bb48",
      "framework": "next-react",
      "imports": "./lib/db,perf_hooks",
      "lines": 98,
      "logic_relevance": "none",
      "name": "benchmark_sitemap_update",
      "normalized_name": "benchmark-sitemap-update",
      "package_manager": "pnpm",
      "path": "scripts/benchmarks/benchmark_sitemap_update.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "dfc0298ec8b30a414a1e9d50",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/api/pagespeed | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "673b5e8bbee44784",
      "framework": "next-react",
      "imports": "./lib/api/pagespeed",
      "lines": 63,
      "logic_relevance": "none",
      "name": "benchmark_pagespeed_batch",
      "normalized_name": "benchmark-pagespeed-batch",
      "package_manager": "pnpm",
      "path": "scripts/benchmarks/benchmark_pagespeed_batch.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "5da89b774a96bcbbe9d334c0",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./lib/api/security.ts | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "000964975cf43daa",
      "framework": "next-react",
      "imports": "./lib/api/security.ts",
      "lines": 9,
      "logic_relevance": "none",
      "name": "test_sec",
      "normalized_name": "test-sec",
      "package_manager": "pnpm",
      "path": "scripts/db-tests/test_sec.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "a7015af944545fd442d82bcd",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./lib/scoring/index.ts | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "24835b86224a6e4d",
      "framework": "next-react",
      "imports": "./lib/scoring/index.ts",
      "lines": 11,
      "logic_relevance": "none",
      "name": "test_score",
      "normalized_name": "test-score",
      "package_manager": "pnpm",
      "path": "scripts/db-tests/test_score.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "a11e2835fd1e2883722e639d",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./lib/scoring/index.ts | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "968bd9164bd662b6",
      "framework": "next-react",
      "imports": "./lib/scoring/index.ts",
      "lines": 7,
      "logic_relevance": "none",
      "name": "test_scoring",
      "normalized_name": "test-scoring",
      "package_manager": "pnpm",
      "path": "scripts/db-tests/test_scoring.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "f30199f4ee5b4a7066e77c11",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@neondatabase/serverless | backend-score:90 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e1613f66ddd16161",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 3,
      "logic_relevance": "none",
      "name": "test_db_bulk",
      "normalized_name": "test-db-bulk",
      "package_manager": "pnpm",
      "path": "scripts/db-tests/test_db_bulk.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "f403c5ee614860d4d2103360",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./lib/scoring/index.ts | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fde677f911023b80",
      "framework": "next-react",
      "imports": "./lib/scoring/index.ts",
      "lines": 5,
      "logic_relevance": "none",
      "name": "test_searchability",
      "normalized_name": "test-searchability",
      "package_manager": "pnpm",
      "path": "scripts/db-tests/test_searchability.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,automation",
      "component_id": "8029b17dfe92fa793ba1ba0a",
      "component_kind": "ai-eval",
      "confidence": 85,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./lib/scoring/index.ts | ai-score:75 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f6b04d12c7d4ede5",
      "framework": "next-react",
      "imports": "./lib/scoring/index.ts",
      "lines": 22,
      "logic_relevance": "none",
      "name": "run_eval_audience",
      "normalized_name": "run-eval-audience",
      "package_manager": "pnpm",
      "path": "scripts/evaluation/run_eval_audience.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,automation",
      "component_id": "1318851f39342cef58e0d8e5",
      "component_kind": "ai-eval",
      "confidence": 80,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./lib/scoring/index.ts | ai-score:75 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "da8ac8c9086c29d2",
      "framework": "next-react",
      "imports": "./lib/scoring/index.ts",
      "lines": 5,
      "logic_relevance": "none",
      "name": "run_eval",
      "normalized_name": "run-eval",
      "package_manager": "pnpm",
      "path": "scripts/evaluation/run_eval.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "6bec1ede973ea05631f6d0bf",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, isPubliclyFetchableUrl, isSafeWebhookUrl, isValidDomain, normalizeUrl | imports:clsx, tailwind-merge | logic-score:85 | automation-score:45",
      "exports": "cn,isPubliclyFetchableUrl,isSafeWebhookUrl,isValidDomain,normalizeUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7461d88fdb28485c",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 98,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "5cdafe1ca66b2fb9001bf809",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ServerInsightsCollector, TraceContext, generateTraceIds, getCollectorFromHeaders | imports:crypto | logic-score:85 | observability-score:55",
      "exports": "ServerInsightsCollector,TraceContext,generateTraceIds,getCollectorFromHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09d705fc4b1631cd",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "trace-sdk",
      "normalized_name": "trace-sdk",
      "package_manager": "pnpm",
      "path": "lib/trace-sdk.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "54bb4fbeab079d44693c2717",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, createRequestLogger, generateRequestId, logger | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LogContext,LogLevel,createRequestLogger,generateRequestId,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d99b14bc877db477",
      "framework": "next-react",
      "imports": "",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,ai",
      "component_id": "0d7320c99ae8815fec23d4fa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BrowserInfo, ClientHints, ConnectionInfo, DeviceInfo, FingerprintData, FingerprintSignals, OSInfo, getFingerprintSummary | imports:crypto, next/headers | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "BrowserInfo,ClientHints,ConnectionInfo,DeviceInfo,FingerprintData,FingerprintSignals,OSInfo,getFingerprintSummary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "29c38864cf77aea7",
      "framework": "next-react",
      "imports": "crypto,next/headers",
      "lines": 383,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "d167e53d6a1c4250719f4828",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SaveScreenshotParams, Screenshot, generateThumbnailDataUri | imports:./db | logic-score:85 | automation-score:45",
      "exports": "SaveScreenshotParams,Screenshot,generateThumbnailDataUri",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "329c78e16b22596e",
      "framework": "next-react",
      "imports": "./db",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "screenshots",
      "normalized_name": "screenshots",
      "package_manager": "pnpm",
      "path": "lib/screenshots.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c97f2b90742fadc1fc1bc714",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RATE_LIMIT_CONFIGS, RATE_LIMIT_TIERS, RateLimitConfig, RateLimitResult, generateFingerprintFromHeaders, generateFingerprintSync, getClientFingerprint, getRateLimitHeaders | imports:./db, crypto, next/headers | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RATE_LIMIT_CONFIGS,RATE_LIMIT_TIERS,RateLimitConfig,RateLimitResult,generateFingerprintFromHeaders,generateFingerprintSync,getClientFingerprint,getRateLimitHeaders,rateLimitExceededResponse,withRateLimit",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7a17385cbafcf063",
      "framework": "next-react",
      "imports": "./db,crypto,next/headers",
      "lines": 326,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "7d23c510df943b749811a150",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AISuggestion, Analysis, AnalysisHistory, AnalysisResult, AnalysisTag, CarbonFootprint, Comparison, ComparisonHistory | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AISuggestion,Analysis,AnalysisHistory,AnalysisResult,AnalysisTag,CarbonFootprint,Comparison,ComparisonHistory,ComparisonHistoryRecord,ComparisonSummary,Diagnostic,MetricValue,Opportunity,ReusableResult,ScheduledAnalysis,SecurityHeaders,StorageMode,StructuredDataResult,V1Analysis,V1Artifact,V1Badge,V1Profile,V1Suite,V1Test,V1TestResult,getEphemeralTimeline,getStorageStatus,hasDatabase,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aca7cb44790f9bbb",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 1587,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "67e6b29b975a5aca778a8331",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WebVitalsOptions, collectAllWebVitals, collectCLS, collectFCP, collectFID, collectINP, collectLCP, collectTTFB | imports:./page-insights-sdk | logic-score:85 | observability-score:55",
      "exports": "WebVitalsOptions,collectAllWebVitals,collectCLS,collectFCP,collectFID,collectINP,collectLCP,collectTTFB,getPerformanceSummary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61da742166e4726c",
      "framework": "next-react",
      "imports": "./page-insights-sdk",
      "lines": 490,
      "logic_relevance": "primary",
      "name": "web-vitals",
      "normalized_name": "web-vitals",
      "package_manager": "pnpm",
      "path": "lib/insights/web-vitals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d44dc9852e05df328ac836ac",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CorrelationContext, CustomEvent, ErrorEvent, InsightEvent, InsightMetrics, InsightsBatch, InsightsConfig, InteractionEvent | imports:../../types/insights, @/lib/db, @/lib/logger, crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "CorrelationContext,CustomEvent,ErrorEvent,InsightEvent,InsightMetrics,InsightsBatch,InsightsConfig,InteractionEvent,PageInsightsData,PageInsightsSDK,PageViewEvent,PerformanceEvent,SDK_VERSION,TraceIds,WEB_VITAL_THRESHOLDS,createChildSpan,createCorrelationContext,createCorrelationHeaders,extractCorrelationFromHeaders,generateCorrelationId,generateCosmologicalId,generateSessionId,generateSpanId,generateTraceId,generateXTraceId,getMetricRating,getPageInsights,initPageInsights",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88c2164ab18229e6",
      "framework": "next-react",
      "imports": "../../types/insights,@/lib/db,@/lib/logger,crypto",
      "lines": 745,
      "logic_relevance": "primary",
      "name": "page-insights-sdk",
      "normalized_name": "page-insights-sdk",
      "package_manager": "pnpm",
      "path": "lib/insights/page-insights-sdk.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "f6ad835d95ab5b2eedb1922b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:// Correlation utilities\n  createCorrelationContext, // Types\n  type InsightsConfig, PageInsightsSDK, SDK_VERSION, WEB_VITAL_THRESHOLDS, collectAllWebVitals, collectCLS, collectFCP | imports:./page-insights-sdk, ./web-vitals | logic-score:70 | observability-score:55",
      "exports": "// Correlation utilities\n  createCorrelationContext,// Types\n  type InsightsConfig,PageInsightsSDK,SDK_VERSION,WEB_VITAL_THRESHOLDS,collectAllWebVitals,collectCLS,collectFCP,collectFID,collectINP,collectLCP,collectTTFB,createChildSpan,createCorrelationHeaders,extractCorrelationFromHeaders,generateCorrelationId,generateCosmologicalId,generateSessionId,generateSpanId,generateTraceId,generateXTraceId,getMetricRating,getPageInsights,getPerformanceSummary,initPageInsights,type CorrelationContext,type CustomEvent,type ErrorEvent,type InsightEvent,type InsightMetrics,type InsightsBatch,type InteractionEvent,type PageInsightsData,type PageViewEvent,type PerformanceEvent,type TraceIds,type WebVitalMetric,type WebVitalsOptions",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4e10677eb87c944f",
      "framework": "next-react",
      "imports": "./page-insights-sdk,./web-vitals",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/insights/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "af94f02bba6a74063edc162e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AEOResult, AccessibilityIssue, AccessibilityResult, AnalysisCategory, AnalysisConfig, AnalysisEngine, AnalysisScores, ComprehensiveAnalysis | imports:../validators/w3c, zod | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "AEOResult,AccessibilityIssue,AccessibilityResult,AnalysisCategory,AnalysisConfig,AnalysisEngine,AnalysisScores,ComprehensiveAnalysis,ContentSEO,CoreWebVitals,DiscoveryResult,GEOResult,HeadingStructure,INLINE_EVENT_HANDLERS,ImageAnalysis,LinkAnalysis,METRIC_THRESHOLDS,MetricResult,OpenGraphData,PageMetadata,PerformanceIssue,ResourceAnalysis,ResourceItem,SECURITY_HEADERS,SEOIssue,SEOResult,SchemaItem,SecurityAnalysis,SecurityHeader,SocialSEO,StructuredData,SustainabilityResult,TechnicalSEO,TwitterCardData,USER_AGENTS,VIEWPORTS,ValidationError,ValidationResult,W3CValidation",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cc54caf5356930e0",
      "framework": "next-react",
      "imports": "../validators/w3c,zod",
      "lines": 1990,
      "logic_relevance": "primary",
      "name": "engine",
      "normalized_name": "engine",
      "package_manager": "pnpm",
      "path": "lib/analysis/engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "5e30c45c4e35437b7adfd032",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ArtifactResult, COMPLIANCE_CLASS_THRESHOLDS, ComplianceClassResult, ComplianceRequirement, FRAMEWORK_VERSION, FrameworkConfig, PROFILE_VERSION, QUALITY_SUITES | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ArtifactResult,COMPLIANCE_CLASS_THRESHOLDS,ComplianceClassResult,ComplianceRequirement,FRAMEWORK_VERSION,FrameworkConfig,PROFILE_VERSION,QUALITY_SUITES,QualityReport,QualityScore,SUITE_WEIGHTS,ScoreBreakdown,ScoreLayer,SuiteDefinition,SuiteScore,TestDefinition,TestEvidence,TestResult,TestThreshold,calculateGrade",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cf372f531c4188df",
      "framework": "next-react",
      "imports": "",
      "lines": 406,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/quality/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "41fe700c07813803494f9c39",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LegacySuiteSummary, bridgeLegacyResults, buildQualityReportFromLegacy, legacyToQualityTestResult, mapLegacySummaryToSuites | imports:./scoring, ./types, @/lib/insights, @/lib/testing/executor, @/lib/testing/registry | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "LegacySuiteSummary,bridgeLegacyResults,buildQualityReportFromLegacy,legacyToQualityTestResult,mapLegacySummaryToSuites",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5bce3ae92f3ddc27",
      "framework": "next-react",
      "imports": "./scoring,./types,@/lib/insights,@/lib/testing/executor,@/lib/testing/registry",
      "lines": 194,
      "logic_relevance": "primary",
      "name": "bridge",
      "normalized_name": "bridge",
      "package_manager": "pnpm",
      "path": "lib/quality/bridge.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,ai",
      "component_id": "ad55827f5785b31d8fe1cc6e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateAIHumanReadinessScore, calculateComplianceClasses, calculateNormativeScore, calculateOperationalScore, calculateOverallScore, calculateQualityScore, calculateSuiteScore, generateQualityReport | imports:./registry, ./types, @/lib/insights | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "calculateAIHumanReadinessScore,calculateComplianceClasses,calculateNormativeScore,calculateOperationalScore,calculateOverallScore,calculateQualityScore,calculateSuiteScore,generateQualityReport",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d0c4d7cf0f4bbd8",
      "framework": "next-react",
      "imports": "./registry,./types,@/lib/insights",
      "lines": 544,
      "logic_relevance": "primary",
      "name": "scoring",
      "normalized_name": "scoring",
      "package_manager": "pnpm",
      "path": "lib/quality/scoring.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security,ai",
      "component_id": "9532a8740c9b14de4210d1a4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SUITE_DEFINITIONS, getAIAnalysisTests, getAllTests, getNormativeTests, getSuiteByCode, getTestByCode, getTestById, getTestCount | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SUITE_DEFINITIONS,getAIAnalysisTests,getAllTests,getNormativeTests,getSuiteByCode,getTestByCode,getTestById,getTestCount,getTestsByImpact,getTestsBySuite,getTestsByTag,getWCAGTests,suite01Tests,suite02Tests,suite03Tests,suite04Tests,suite05Tests,suite06Tests,suite07Tests,suite08Tests,suite09Tests,suite10Tests",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a4ffa9455ce011e2",
      "framework": "next-react",
      "imports": "./types",
      "lines": 2296,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/quality/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "3ac1e720c596aade102dad64",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SUITE_DEFINITIONS, bridgeLegacyResults, buildQualityReportFromLegacy, calculateComplianceClasses, calculateOverallScore, calculateQualityScore, calculateSuiteScore, generateQualityReport | imports:./bridge, ./registry, ./scoring, ./types | logic-score:70",
      "exports": "SUITE_DEFINITIONS,bridgeLegacyResults,buildQualityReportFromLegacy,calculateComplianceClasses,calculateOverallScore,calculateQualityScore,calculateSuiteScore,generateQualityReport,getAIAnalysisTests,getAllTests,getNormativeTests,getSuiteByCode,getTestByCode,getTestById,getTestCount,getTestsByImpact,getTestsBySuite,getTestsByTag,getWCAGTests,legacyToQualityTestResult,mapLegacySummaryToSuites,type LegacySuiteSummary",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7193812451438aac",
      "framework": "next-react",
      "imports": "./bridge,./registry,./scoring,./types",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/quality/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "47cf283d51c6e19d73a3a634",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SiteConfig, SupportedLocale, siteConfig | logic-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SiteConfig,SupportedLocale,siteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "26a146bee621cb83",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "site",
      "normalized_name": "site",
      "package_manager": "pnpm",
      "path": "lib/config/site.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability",
      "component_id": "7c9d5b07c0d707cf1d653964",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_SITEMAP_INDEX_URL, DiscoveredSite, ONBOARD_URL, ROOT_GRAPH_URL | logic-score:85 | observability-score:55",
      "exports": "BASE_SITEMAP_INDEX_URL,DiscoveredSite,ONBOARD_URL,ROOT_GRAPH_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "292bfe7926391775",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "primary",
      "name": "network-discovery",
      "normalized_name": "network-discovery",
      "package_manager": "pnpm",
      "path": "lib/platform/network-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "233d445ea6fcc22e1a5c249f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:authRequiredResponse, hasPlatphormApiKey | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "authRequiredResponse,hasPlatphormApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ea696425071d872",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "bfb5180fd8b4e57e91a978b1",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:VALIDATION_ENGINE_VERSION, ValidationIssue, ValidationResult, ValidationStatus | imports:@/lib/utils | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "VALIDATION_ENGINE_VERSION,ValidationIssue,ValidationResult,ValidationStatus",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d6c4749fb28e22cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 280,
      "logic_relevance": "primary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "pnpm",
      "path": "lib/phase2/validation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "2cdc2895acaf37a753b1f3ad",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PHASE2_DIMENSIONS, PHASE2_TEST_REGISTRY_VERSION, Phase2Dimension, Phase2QualitySuite, Phase2QualityTest, getPhase2RegistrySummary, getPhase2SuiteById, getPhase2Suites | imports:@/lib/quality/registry, @/lib/quality/types, @/lib/testing/registry | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PHASE2_DIMENSIONS,PHASE2_TEST_REGISTRY_VERSION,Phase2Dimension,Phase2QualitySuite,Phase2QualityTest,getPhase2RegistrySummary,getPhase2SuiteById,getPhase2Suites,getPhase2TestById,getPhase2Tests,mapSuiteCodeToPhase2Dimension,toPhase2QualityTest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "669e20dbfa81f661",
      "framework": "next-react",
      "imports": "@/lib/quality/registry,@/lib/quality/types,@/lib/testing/registry",
      "lines": 255,
      "logic_relevance": "primary",
      "name": "test-registry",
      "normalized_name": "test-registry",
      "package_manager": "pnpm",
      "path": "lib/phase2/test-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "53d07b17d6d1d89334e380c2",
      "component_kind": "algorithm",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NEW_INTERNET_ALGORITHM_VERSION, NewInternetScore, RANKING_ALGORITHM_VERSION, RANKING_PROFILES, RankingProfile, RankingResult, RankingScope, calculateNewInternetScore | imports:./test-registry, @/lib/db | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "NEW_INTERNET_ALGORITHM_VERSION,NewInternetScore,RANKING_ALGORITHM_VERSION,RANKING_PROFILES,RankingProfile,RankingResult,RankingScope,calculateNewInternetScore,calculateRankingScore,getRankingProfile,rankAnalyses,suiteScoresFromAnalysis",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4358b5b37dd3b6ed",
      "framework": "next-react",
      "imports": "./test-registry,@/lib/db",
      "lines": 377,
      "logic_relevance": "primary",
      "name": "ranking",
      "normalized_name": "ranking",
      "package_manager": "pnpm",
      "path": "lib/phase2/ranking.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "5e5ea6e91a19035824a0624d",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MODEL_ADAPTER_VERSION, ModelAdapterInput, ModelAdapterOutput, getModelAdapterStatus | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MODEL_ADAPTER_VERSION,ModelAdapterInput,ModelAdapterOutput,getModelAdapterStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6487ab4e4deb8de6",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "secondary",
      "name": "model",
      "normalized_name": "model",
      "package_manager": "pnpm",
      "path": "lib/phase2/model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "dd1364ae3129c9d6b7446953",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "jsdom",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:safeParseHTML | imports:jsdom | logic-score:85",
      "exports": "safeParseHTML",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9fcbc01717dd14d6",
      "framework": "next-react",
      "imports": "jsdom",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "safe-html-parser",
      "normalized_name": "safe-html-parser",
      "package_manager": "pnpm",
      "path": "lib/utils/safe-html-parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "513b1d77efdd4aa79ab2c099",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@platphormnews/insights-mcp-client",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClientConfig, PlatPhormInsightsMCPClient, insightsClient | imports:@platphormnews/insights-mcp-client | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "MCPClientConfig,PlatPhormInsightsMCPClient,insightsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7e7907afd0c59741",
      "framework": "next-react",
      "imports": "@platphormnews/insights-mcp-client",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,security",
      "component_id": "f6da3076404d421dc8bd238b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPErrorCodes, MCPRequest, MCPResponse, MCPToolCall, MCPToolName, formatAnalysisForMCP, mcpTools | imports:@/lib/db | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "MCPErrorCodes,MCPRequest,MCPResponse,MCPToolCall,MCPToolName,formatAnalysisForMCP,mcpTools",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "074ba20b58aca997",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 315,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "565346fcd0aaf513fe9fcd0c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ServerInsightsCollector, getCollectorFromHeaders | imports:@/lib/db, @/lib/insights | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "ServerInsightsCollector,getCollectorFromHeaders",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "67b7ea769eb9435b",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/insights",
      "lines": 373,
      "logic_relevance": "primary",
      "name": "server-insights",
      "normalized_name": "server-insights",
      "package_manager": "pnpm",
      "path": "lib/integrations/server-insights.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d339e03bf169e917c24a246e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceSDK, generateTraceIds, getTrace, initTrace | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "TraceSDK,generateTraceIds,getTrace,initTrace",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "259b9228ca2f62ab",
      "framework": "next-react",
      "imports": "",
      "lines": 369,
      "logic_relevance": "primary",
      "name": "trace-sdk",
      "normalized_name": "trace-sdk",
      "package_manager": "pnpm",
      "path": "lib/integrations/trace-sdk.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "083dcce91d3f0aeb6dc4383d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CategorySummary, ExecutionContext, LighthouseData, ResourceData, TestExecutionResult, filterResultsByCategory, filterResultsBySeverity, getFailedCriticalTests | imports:./registry | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CategorySummary,ExecutionContext,LighthouseData,ResourceData,TestExecutionResult,filterResultsByCategory,filterResultsBySeverity,getFailedCriticalTests,getQuickWins",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab5c4cb21c66c158",
      "framework": "next-react",
      "imports": "./registry",
      "lines": 1051,
      "logic_relevance": "primary",
      "name": "executor",
      "normalized_name": "executor",
      "package_manager": "pnpm",
      "path": "lib/testing/executor.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "89e2611daa546e23fd33fbf0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CSVExportOptions, ExportFormat, ExportOptions, HTMLExportOptions, JSONExportOptions, MarkdownExportOptions, exportTestResults, exportToCSV | imports:./executor, ./registry | logic-score:85 | observability-score:55",
      "exports": "CSVExportOptions,ExportFormat,ExportOptions,HTMLExportOptions,JSONExportOptions,MarkdownExportOptions,exportTestResults,exportToCSV,exportToHTML,exportToJSON,exportToMarkdown,getExportFormats",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e75c898770bff45a",
      "framework": "next-react",
      "imports": "./executor,./registry",
      "lines": 543,
      "logic_relevance": "primary",
      "name": "export",
      "normalized_name": "export",
      "package_manager": "pnpm",
      "path": "lib/testing/export.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,security",
      "component_id": "e4317323f9c4c4cd38f3f661",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TEST_CATEGORIES, TEST_REGISTRY, TestCategory, TestDefinition, TestImpact, TestResult, TestSeverity, TestThreshold | logic-score:70 | security-score:55",
      "exports": "TEST_CATEGORIES,TEST_REGISTRY,TestCategory,TestDefinition,TestImpact,TestResult,TestSeverity,TestThreshold,getCriticalTests,getTestById,getTestsByCategory,getTestsBySeverity,getTestsByTags,getWCAGTests",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fc773de6b79477c7",
      "framework": "next-react",
      "imports": "",
      "lines": 1895,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/testing/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic",
      "component_id": "fc0564cd166b5a340ce2f745",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TEST_CATEGORIES, TEST_REGISTRY, executeAllTests, exportTestResults, exportToCSV, exportToHTML, exportToJSON, exportToMarkdown | imports:./executor, ./export, ./registry | logic-score:70",
      "exports": "TEST_CATEGORIES,TEST_REGISTRY,executeAllTests,exportTestResults,exportToCSV,exportToHTML,exportToJSON,exportToMarkdown,filterResultsByCategory,filterResultsBySeverity,getCriticalTests,getExportFormats,getFailedCriticalTests,getQuickWins,getTestById,getTestsByCategory,getTestsBySeverity,getTestsByTags,getWCAGTests,type CSVExportOptions,type CategorySummary,type ExecutionContext,type ExportFormat,type ExportOptions,type HTMLExportOptions,type JSONExportOptions,type LighthouseData,type MarkdownExportOptions,type ResourceData,type TestCategory,type TestDefinition,type TestExecutionResult,type TestImpact,type TestResult,type TestSeverity,type TestThreshold",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54c303ce82dbd624",
      "framework": "next-react",
      "imports": "./executor,./export,./registry",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/testing/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8dac5b607c092fcb100f4ea9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CharacterEncoding, ContentLocalization, HreflangAnalysis, HreflangTag, I18NScore, LanguageDeclaration, LocaleUrlAnalysis, RTLSupport | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CharacterEncoding,ContentLocalization,HreflangAnalysis,HreflangTag,I18NScore,LanguageDeclaration,LocaleUrlAnalysis,RTLSupport,analyzeI18N",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cd601896dd8c3712",
      "framework": "next-react",
      "imports": "",
      "lines": 431,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/scoring/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "9ade4d4e8305c036f17b22bd",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ColorAnalysis, DesignScore, LayoutAnalysis, SpacingAnalysis, TypographyAnalysis, VisualHierarchyAnalysis, analyzeDesign | logic-score:85 | security-score:55",
      "exports": "ColorAnalysis,DesignScore,LayoutAnalysis,SpacingAnalysis,TypographyAnalysis,VisualHierarchyAnalysis,analyzeDesign",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "39ba718f0efe9e52",
      "framework": "next-react",
      "imports": "",
      "lines": 476,
      "logic_relevance": "primary",
      "name": "design",
      "normalized_name": "design",
      "package_manager": "pnpm",
      "path": "lib/scoring/design.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "caeb823d96019cf319d3140e",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIScore, analyzeAIReadiness, analyzeEmojiScore, analyzeStandardFiles, generateAIRecommendations | imports:./index | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AIScore,analyzeAIReadiness,analyzeEmojiScore,analyzeStandardFiles,generateAIRecommendations",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f45266d98c3efc44",
      "framework": "next-react",
      "imports": "./index",
      "lines": 567,
      "logic_relevance": "secondary",
      "name": "ai",
      "normalized_name": "ai",
      "package_manager": "pnpm",
      "path": "lib/scoring/ai.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "a739575dfe1f4afd26985a69",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AccessibilityCompliance, ComplianceScore, DataHandling, LegalCompliance, PrivacyCompliance, SecurityCompliance, analyzeCompliance | logic-score:85 | security-score:55",
      "exports": "AccessibilityCompliance,ComplianceScore,DataHandling,LegalCompliance,PrivacyCompliance,SecurityCompliance,analyzeCompliance",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "107ffbbcf55cfbd5",
      "framework": "next-react",
      "imports": "",
      "lines": 520,
      "logic_relevance": "primary",
      "name": "compliance",
      "normalized_name": "compliance",
      "package_manager": "pnpm",
      "path": "lib/scoring/compliance.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "84fd60b19558feb846e3f4e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DiscoveryScore, calculateDiscoveryScore | imports:../analysis/engine | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "DiscoveryScore,calculateDiscoveryScore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bb66be6756444ba4",
      "framework": "next-react",
      "imports": "../analysis/engine",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/scoring/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "fba8058d1699767a0ef50689",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AIReadinessScore, AIScore, AnswerabilityScore, AudienceScore, HumanScore, LLMInstructions, ReadabilityScore, SearchabilityScore | imports:./ai, ./compliance, ./design, ./discovery, ./i18n | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AIReadinessScore,AIScore,AnswerabilityScore,AudienceScore,HumanScore,LLMInstructions,ReadabilityScore,SearchabilityScore,TextContext,analyzeAIReadiness,analyzeCompliance,analyzeDesign,analyzeI18N,calculateAnswerabilityScore,calculateAudienceScore,calculateHumanScore,calculateReadabilityScore,calculateSearchabilityScore,countSyllables,createTextContext,extractSentences,extractTextContent,extractWords,generateLLMInstructions,getContext,type ComplianceScore,type DesignScore,type I18NScore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a57977056219804",
      "framework": "next-react",
      "imports": "./ai,./compliance,./design,./discovery,./i18n",
      "lines": 1745,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/scoring/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "e7790b713de72dd2347e2d01",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonTreeNode, MarkdownEdge, MarkdownNode, OutlineItem, PlatphormHealthStatus, PlatphormJsonDiffResult, PlatphormJsonParseResult, PlatphormJsonValidateResult | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "JsonTreeNode,MarkdownEdge,MarkdownNode,OutlineItem,PlatphormHealthStatus,PlatphormJsonDiffResult,PlatphormJsonParseResult,PlatphormJsonValidateResult,PlatphormMarkdownResult,PlatphormXmlParseResult,StructuredDataAnalysis,XmlTreeNode,platphormApi",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b129c84d274e1f1",
      "framework": "next-react",
      "imports": "",
      "lines": 692,
      "logic_relevance": "primary",
      "name": "platphorm",
      "normalized_name": "platphorm",
      "package_manager": "pnpm",
      "path": "lib/api/platphorm.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,backend,logic,observability,security,automation",
      "component_id": "f5c769b408627c6238083feb",
      "component_kind": "ai-integration",
      "confidence": 85,
      "dependency_roots": "@/lib,ai,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/db, ai, zod | ai-score:120 | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "87b91399281e6fa4",
      "framework": "next-react",
      "imports": "@/lib/db,ai,zod",
      "lines": 197,
      "logic_relevance": "secondary",
      "name": "ai-analysis",
      "normalized_name": "ai-analysis",
      "package_manager": "pnpm",
      "path": "lib/api/ai-analysis.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "bde7052d5ff329d3176223de",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkGraph, NetworkInsight, NetworkSite, NetworkSpan, getNetworkBadge | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NetworkGraph,NetworkInsight,NetworkSite,NetworkSpan,getNetworkBadge",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d4defccdf3b47179",
      "framework": "next-react",
      "imports": "",
      "lines": 188,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/api/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "71db015b03277581a6aee31c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PageWeightData, calculateCarbonFootprint, estimateAnnualCarbon, getSustainabilityTips | imports:@/lib/db | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "PageWeightData,calculateCarbonFootprint,estimateAnnualCarbon,getSustainabilityTips",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c3b9d2380cdd9125",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "carbon",
      "normalized_name": "carbon",
      "package_manager": "pnpm",
      "path": "lib/api/carbon.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,backend,observability,security",
      "component_id": "4524c37f4674808fd4d4f170",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getSecurityGrade | imports:@/lib/db, @/lib/utils | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "getSecurityGrade",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9210f1dab4513fc",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/utils",
      "lines": 166,
      "logic_relevance": "primary",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "lib/api/security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "eb749a6160432d124c731224",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Category, PageSpeedRequest, PageSpeedResult, ResponsivePageSpeedRequest, ResponsivePageSpeedResult, Strategy | imports:@/lib/db, @/lib/utils | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "Category,PageSpeedRequest,PageSpeedResult,ResponsivePageSpeedRequest,ResponsivePageSpeedResult,Strategy",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0dccaa54704b22f1",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/utils",
      "lines": 826,
      "logic_relevance": "primary",
      "name": "pagespeed",
      "normalized_name": "pagespeed",
      "package_manager": "pnpm",
      "path": "lib/api/pagespeed.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "ecb070582d126dc3970c2492",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, traceFromHeaders, withTrace | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "TraceContext,traceFromHeaders,withTrace",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "850cbc137edea006",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "with-trace",
      "normalized_name": "with-trace",
      "package_manager": "pnpm",
      "path": "lib/api/with-trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "13a68cd3d3965a7124b72740",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "@/lib,jsdom",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AccessibilityIssue, AccessibilityResult, IssueSeverity, WCAGLevel | imports:@/lib/utils/safe-html-parser, jsdom | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AccessibilityIssue,AccessibilityResult,IssueSeverity,WCAGLevel",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "379500299e664aed",
      "framework": "next-react",
      "imports": "@/lib/utils/safe-html-parser,jsdom",
      "lines": 722,
      "logic_relevance": "primary",
      "name": "accessibility",
      "normalized_name": "accessibility",
      "package_manager": "pnpm",
      "path": "lib/validators/accessibility.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "636ed1756ffcf908d0db1215",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SEOAnalysisResult, SEOIssue, SEOMetrics, SEOOpportunity, extractKeywords | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "SEOAnalysisResult,SEOIssue,SEOMetrics,SEOOpportunity,extractKeywords",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4648f0090425a124",
      "framework": "next-react",
      "imports": "",
      "lines": 599,
      "logic_relevance": "primary",
      "name": "seo",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "lib/validators/seo.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "f0969dc12d0d9bd2bc472dcc",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "jsdom",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HTML5_DEPRECATED_ELEMENTS, ValidationIssue, ValidationOptions, ValidationResult, ValidationSeverity, ValidationType, validateARIA, validateHTML | imports:jsdom | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "HTML5_DEPRECATED_ELEMENTS,ValidationIssue,ValidationOptions,ValidationResult,ValidationSeverity,ValidationType,validateARIA,validateHTML,validateMetaTags,validateSemanticHTML",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "28f3bcd013f7073a",
      "framework": "next-react",
      "imports": "jsdom",
      "lines": 1146,
      "logic_relevance": "primary",
      "name": "w3c",
      "normalized_name": "w3c",
      "package_manager": "pnpm",
      "path": "lib/validators/w3c.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "e3206e7ff079d9e9aebccd83",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "next-intl",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:routing | imports:./config, next-intl/navigation, next-intl/routing | logic-score:45",
      "exports": "routing",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b58a1c2a0d0b127f",
      "framework": "next-react",
      "imports": "./config,next-intl/navigation,next-intl/routing",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "routing",
      "normalized_name": "routing",
      "package_manager": "pnpm",
      "path": "lib/i18n/routing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,ai",
      "component_id": "3ba9349079c5c9cd1660cb04",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "next-intl",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./config, next-intl/server | logic-score:85 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b5dbb08b8bd99d73",
      "framework": "next-react",
      "imports": "./config,next-intl/server",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "request",
      "normalized_name": "request",
      "package_manager": "pnpm",
      "path": "lib/i18n/request.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "baec50021e8a1029183299e0",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, isRTL, localeFlags, localeNames, locales, rtlLocales | logic-score:85",
      "exports": "Locale,defaultLocale,isRTL,localeFlags,localeNames,locales,rtlLocales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "64981eea6cd33a93",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,security,automation",
      "component_id": "48cc906dc33523f220359831",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsEvents, analyticsEvents, useAnalytics | imports:@vercel/analytics | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "AnalyticsEvents,analyticsEvents,useAnalytics",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7cd67241f9bdc567",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 216,
      "logic_relevance": "primary",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "lib/analytics/events.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-insights",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0f6add3dd343730b5e43e9e4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "031a20f13dd2e519",
      "framework": "next-react",
      "imports": "",
      "lines": 4831,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "a68aa43784a1321b5192d6a2",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2d2d1b6fe425bdb",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e26cc94d86b6fc80fce78537",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "fd6c6d6ca54aebe4",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 24,
      "logic_relevance": "none",
      "name": "benchmark",
      "normalized_name": "benchmark",
      "package_manager": "pnpm",
      "path": "benchmark.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process",
      "component_id": "ae35aa6b3721b85a960db58f",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ac0d761e6830f85b",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "testing_instructions",
      "normalized_name": "testing-instructions",
      "package_manager": "pnpm",
      "path": "testing_instructions.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d16079c4d8ba74f8b7acd39d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a9b15630383ab6e4",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "b26c4e1ed33ddb87441d8484",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2e7dce2aa900d2ee",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "aadc135a1c319fd5394743e7",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b3d2f730b1711a03",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3fae3a28b858df4da77372a5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8766ff15d4ebd3ce",
      "framework": "next-react",
      "imports": "",
      "lines": 6848,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a660ae4c955d46d7aa3d32b5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c0c72c778a1d5a76",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "63e33d6d18e9ea1780cc939d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4b2035e80f26baab",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 99,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "21086fe6490d3c3f95f72150",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fe150a357ded1314",
      "framework": "next-react",
      "imports": "next",
      "lines": 74,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2f670fe648c3ecee1b8a3052",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/json-ld, @/components/site-footer, @/components/site-header, @/components/theme-provider, @/components/ui/sonner, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06dc47567b1a44f1",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/site-footer,@/components/site-header,@/components/theme-provider,@/components/ui/sonner,@vercel/analytics/next,next,next/font/google",
      "lines": 199,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "223396d0f684d03d49f91bc2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d252b74369fa27e",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "884621955b1fcc0460afafa1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/landing/cta-section, @/components/landing/features-section, @/components/landing/hero-section, @/components/landing/how-it-works-section, @/components/landing/network-section, @/components/landing/scenarios-section | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c06fc74df1c4c03",
      "framework": "next-react",
      "imports": "@/components/landing/cta-section,@/components/landing/features-section,@/components/landing/hero-section,@/components/landing/how-it-works-section,@/components/landing/network-section,@/components/landing/scenarios-section",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "767f69da8426bd2254eb13b2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4a605e61dad7696",
      "framework": "next-react",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5ee6a0b7d17325d767686a92",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3856a0678d4decc",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 32,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "7fea7797cd8426181e741d84",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "614f0a5d8c1a546a",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "373e693c06ee07bb0db2e9d2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd7a4075d386b699",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "37f2a46b8ac5b3fc771dd83a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a708eb4412655a45",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1edf7e5b3483fdb87f2d615a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "24786129d7f77550",
      "framework": "next-react",
      "imports": "next",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "492bf3dd5c6212a9f642d4f9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/join-by-token-form, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a049051f0fa0048d",
      "framework": "next-react",
      "imports": "@/components/join-by-token-form,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/join/[token]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "f0e33d4367618de9785569f0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JoinTeamPage, metadata | imports:@/components/join-team-form, next | frontend-score:115 | ui-score:55",
      "exports": "JoinTeamPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01601d1846db2873",
      "framework": "next-react",
      "imports": "@/components/join-team-form,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/join/team/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6ac1e5ec0bd0d8ba335d2d6d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/json-ld, @/components/ui/accordion, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "846de19ec97c43f4",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/ui/accordion,lucide-react,next",
      "lines": 109,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c863bd8706a4c6617ca8bedf",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d8cc99356447a07b",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,security",
      "component_id": "ff8fc9eccf4a7b9d7e45fb02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform | backend-score:125 | ai-score:75 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d71708840e771bff",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "9130bcd6290adfc7b89fe25a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc0ab771d777cc44",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,ai,security",
      "component_id": "95299b53b0c0425cf32494f0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform | backend-score:125 | ai-score:120 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "183d9ac11d44ca94",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "1ff0ee63350500d5c5f762fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "649bcb69dc3253fd",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "004dbea9328ea1eeea7478bf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4844b3cb0f11b48",
      "framework": "next-react",
      "imports": "next",
      "lines": 97,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,process",
      "component_id": "0aa874ac43f5ef58c510c8ed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/api-docs-viewer, next | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1327714ccd1a2e59",
      "framework": "next-react",
      "imports": "@/components/api-docs-viewer,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "7046178075489d67c88ae322",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa0dd00c49cfd3c3",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "7c662849e929833f82bee0e4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout, metadata | imports:@/components/dashboard/dashboard-shell, next | frontend-score:115 | ui-score:55",
      "exports": "DashboardLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55be9883cce65423",
      "framework": "next-react",
      "imports": "@/components/dashboard/dashboard-shell,next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/dashboard/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "713ba54971404e6a2bf95bd5",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/dashboard/dashboard-overview | frontend-score:85 | ui-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "971a2cbbe2f88a22",
      "framework": "next-react",
      "imports": "@/components/dashboard/dashboard-overview",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "10b15a9380d700e9edb21344",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardSettingsPage | imports:@/components/dashboard/settings-page | frontend-score:85 | ui-score:55",
      "exports": "DashboardSettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "898fe9b972316845",
      "framework": "next-react",
      "imports": "@/components/dashboard/settings-page",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "1bd5a1d940bc98139f29cf27",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrepPage, metadata | imports:@/components/dashboard/prep-room, next | frontend-score:115 | ui-score:55",
      "exports": "PrepPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b610cf24f472a6c",
      "framework": "next-react",
      "imports": "@/components/dashboard/prep-room,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/prep/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e622b544d7ee225045f03136",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TeamPage, metadata | imports:@/components/dashboard/team-manager, next | frontend-score:115 | ui-score:55",
      "exports": "TeamPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c6d3946583a8f0a",
      "framework": "next-react",
      "imports": "@/components/dashboard/team-manager,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/team/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui",
      "component_id": "184d73513f320bae4dfb6512",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:InterviewsPage, metadata | imports:@/components/dashboard/interviews-list, next, react | frontend-score:115 | ui-score:70",
      "exports": "InterviewsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0fa2822762f1ce3c",
      "framework": "next-react",
      "imports": "@/components/dashboard/interviews-list,next,react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/interviews/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e74d4c799e855e33b8cc7ea7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewInterviewPage, metadata | imports:@/components/dashboard/new-interview-form, next | frontend-score:115 | ui-score:55",
      "exports": "NewInterviewPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed32cbbba35625de",
      "framework": "next-react",
      "imports": "@/components/dashboard/new-interview-form,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/interviews/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui",
      "component_id": "74649f1225abcae81210b32d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/dashboard/interview-detail, next, react | frontend-score:115 | ui-score:70",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43a5835f697d1e67",
      "framework": "next-react",
      "imports": "@/components/dashboard/interview-detail,next,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/interviews/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b3e236e0f1d524f45ab1d8b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f895d11c141756eb",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "67d03c4c8d4382d5b8c9f9f4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21bf630d80008942",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "7540038e1b0b816c5c983762",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CALENDAR_API, GET, POST | imports:@/lib/jobs-server-store, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CALENDAR_API,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "54f466374a5ede76",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/calendar/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,ai",
      "component_id": "9013cf25daf3102c4b61e6f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MCP_HUB, MCP_OPENAPI | imports:@/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,MCP_HUB,MCP_OPENAPI",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c42b97ef70e73d0b",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "147cc87baea65201b3640514",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:KANBAN_API, POST | imports:@/lib/jobs-server-store, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "KANBAN_API,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e7f5958072c379db",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/kanban/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "53a722869ae9648dcee3db59",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform, ai, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a012279d6cce516c",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform,ai,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/grok/parse-jd/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,integration",
      "component_id": "6c1910765a38de5cb62753c1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/network/calendar/route | backend-score:55 | integration-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8f4670f0bdc55dde",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/calendar/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/calendar/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "71bad8a06d4c7d3675b62867",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9431ffd41c08e882",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "8fcd9cc72fce137a4e89d90b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/network/kanban/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "aea19ab2f14bbce3",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/kanban/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/kanban/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9f96a3819f2fbeefc092935e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jobs-server-store, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae5b1b76f1b96a60",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/team/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3cf83bedc24ba006eae189d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c0949966e252889",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/team/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "21a95b08ee75e65a7688804c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/grok/parse-jd/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad32f5e052487790",
      "framework": "next-react",
      "imports": "@/app/api/v1/grok/parse-jd/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/jd/parse/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "39fd423031cd4d208feb5535",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/events/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dc8a1882d6fb9872",
      "framework": "next-react",
      "imports": "@/app/api/events/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,integration,automation",
      "component_id": "35079155d5051249798d4074",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/webhooks/route | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "614f990071fb14d4",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a99072c024f4dcc0639cbcae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e7e31bc1b84a5be0",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/invites/[token]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3266620bed955a1d52a6ce7f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de7df44e47475136",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/invites/[token]/accept/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "104680fbca5a065bbc9a2252",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "415269a71333ff49",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/invites/[token]/revoke/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "877588ce1ee73e93b83f1af5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jobs-server-store, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52c3884856efe6c1",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c164912b6e862723473be1d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d565d4a631912f93",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "4fcd8dfdf072be193ea91881",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3452b4331a438973",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/debrief/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8da94e9ff4421f269a408596",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "715ba44f7efee711",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/debrief/generate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "cd1acd088feb92367c3d73d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dea67fb5ddd82c9e",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/prep/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0795fb1121dd66dc8da24b90",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ab74ea6b68e2e96",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/archive/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "38453b15f703eb32473d5a0f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c712a422174ae082",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/observations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "24d7da70fe4ac0594039eab4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d16419fcd9067a4c",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "48bf24404b3f523e1db7effc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f12df1a7ba42c3d3",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/[id]/invites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "24467f3b5d24b198b0f894d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "374e78943b76edc3",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/import/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "1c0cb46b057cfd5e5478f466",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ics, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bcd92cdeb17eaf8f",
      "framework": "next-react",
      "imports": "@/lib/ics,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/interviews/ics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "1a7b769f59db3833ffde6646",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/jobs-server-store, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0c448f87e5e3e9e1",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/jobs-server-store,@/lib/platform",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "78f4b6a032af3cb17b885f34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/discovery, @/lib/jobs-server-store, @/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a490b16c0e4dc28d",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/jobs-server-store,@/lib/platform",
      "lines": 223,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "182b1d386db0cdff355249fa",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3a35a47a5b45df63",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3a66b557f07b1c1266618f47",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jobs-server-store, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6f02260b41b5335",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "467fffda1f043b3778a310b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jobs-server-store, @/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f247ada57c533d57",
      "framework": "next-react",
      "imports": "@/lib/jobs-server-store,@/lib/platform",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "8caca609c8523fc6892723c5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99c21d5cd8563ed9",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "47babf07315d5a21681c757b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "25fe698bb07a1474",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "a6245d3cd69be4904ba484a8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf708181b715dcd9",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "85832ee15e1b768f736b0fe8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "280431be8e06bc6c",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,ui,integration,observability,security,automation",
      "component_id": "d270abd45b02812346692b7a",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "364d43a05626a74f",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "docs/integrations/calendar.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,security,automation,ai",
      "component_id": "231070b95ff58e6266055b49",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8503799708eb2173",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "docs/integrations/mcp.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "dc575e7bb4ab92732f3c595b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a7f0a4bb700a6355",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "jitsi",
      "normalized_name": "jitsi",
      "package_manager": "pnpm",
      "path": "docs/integrations/jitsi.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "c27227ea13927d952288f1ee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6b4c1521b750af29",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "kanban",
      "normalized_name": "kanban",
      "package_manager": "pnpm",
      "path": "docs/integrations/kanban.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery",
      "component_id": "02e1a359b441e2c19fc490d8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6e2ca1f965b08d5f",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "docs/integrations/sitemap.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process,observability,security,ai",
      "component_id": "d43ec1204deca6f93e7f5134",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ce74cfc3135c6868",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "grok",
      "normalized_name": "grok",
      "package_manager": "pnpm",
      "path": "docs/integrations/grok.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ab78ab54e0f211270ce04dc9",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "da7a3405f07c01284039ca2a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f1e2354e26798c5f3cc2be3e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/theme-toggle, @/components/ui/button, @/components/ui/dropdown-menu, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a67d69f6b00dba6",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@/components/ui/button,@/components/ui/dropdown-menu,next/link,react",
      "lines": 189,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d88d68cefdbdd3efef756ef4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca3cd64a892c4cee",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 162,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "8254759670c397c5deeef891",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/components/ui/breadcrumb, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2fba2b9e8fe3c9bc",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,next/link,next/navigation,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process",
      "component_id": "805cc6826015ec4157756bb1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsViewer | imports:@/components/ui/badge, @/components/ui/card, @/lib/utils, swr | frontend-score:85 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "ApiDocsViewer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "297057c98e21a45b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/utils,swr",
      "lines": 185,
      "logic_relevance": "none",
      "name": "api-docs-viewer",
      "normalized_name": "api-docs-viewer",
      "package_manager": "pnpm",
      "path": "components/api-docs-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "951777e4b9843601d3d8db01",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | imports:react | frontend-score:115 | ui-score:70 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c7eba286e548124e",
      "framework": "next-react",
      "imports": "react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d39b37a329fba0b8b4c8818b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JoinByTokenForm | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/store, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "JoinByTokenForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e71f9a8ddf79c79",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/store,next/link,react,sonner",
      "lines": 225,
      "logic_relevance": "none",
      "name": "join-by-token-form",
      "normalized_name": "join-by-token-form",
      "package_manager": "pnpm",
      "path": "components/join-by-token-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9e3e099e3148128a6800a070",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JoinTeamForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/store, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "JoinTeamForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fefda57c85e7fcdf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/store,next/link,next/navigation,react,sonner",
      "lines": 175,
      "logic_relevance": "none",
      "name": "join-team-form",
      "normalized_name": "join-team-form",
      "package_manager": "pnpm",
      "path": "components/join-team-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "ad10351fc7b0f7ec86ada198",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bfaacb9c1cb551b",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "cd64ba62c74724a926380702",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "609f5a3d45814dc89ba4b537",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9d4699ace408f3cfe7ca09ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ee669eff3131bf7f19f928e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "16553b402f7a60ffb72340cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0d180cf524b1932295024288",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c217285fc674b58b291fcd57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "7294302cc0fff31274da127c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9724511892502deb5e563075",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "366001d933fb986acc4d2aad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "a97603097f375a6a65e52576",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "571d97865625677e63e2eb3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a0ae51fde584c3e8d103b3fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d0395a6d28c8ab7d78388a7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0b79782c507ca3007b294f3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "da8e3dbadd75ce59ea82c63a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c1fc336e616bf221655be996",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ab02f8ba3c742bdcdd383d7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f44c1dded0d9160f6a223618",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4952ac5ee0b30427f7dd368f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5c7daac8dfe37c10cb08fc5a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f843a6692f448a3593c67be3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3d3348ed0de6b4879c4735c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "74c2405b3faa2c77da4051e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "75761b757613c70a1767eec9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6b4a67e8197947c16f383384",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8d922c5acafe6eea69de086b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "2bd092b1a4ffdadfdec38729",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bfb8f47bfd3eaa78",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8f014ba89fa2fd5f709d3f2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "5a652c0cbb6608de8fd25a23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "58942cfd384e38fe674a8083",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5bfcf46cb60de17b9b8c96f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ae68b14a79c3cdf868337b25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3f9df1072a2d5996cb938cc3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4fe424e25da38db3cee9c273",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6d62488fb912fdc4ee5e122c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "58bbd5020e3963b2fca3dddc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "be0306ea70b30b7252317dcd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2c9bb42c8ef041eca7f43fb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fa09bbf69c9be93f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "da571673ce074127d2a2f11d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2a24e44cdeca3fefcc98db83",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "10991665f3205b511cd84606",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bac27e99eae5a9332fcbeba5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d38c132e676a7e314d97df96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "65acd9da90ae976f03e6a59a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "639fc1660f7729240b13ce96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "665bd5f262e723479e1c496c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "c7a585361c0ad0dd58c5a84f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "36c5af8b7cb0937cc704f9c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5c06d402ad05397e6694432c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ef37d965bb828398b714dea4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0b897988631deea73992f9af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "268acf292df0a5c1d4a0b19c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "84915ca1591dc44d8edbf6b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5c273c3913c400632d8cc473",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "62680909f1609a220125d324",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "cca6ed1624ff22d691ac6fac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "01808b13167aba8ff92e7dc4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkSection | imports:@/components/ui/badge, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NetworkSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bdfafd5158c19e38",
      "framework": "next-react",
      "imports": "@/components/ui/badge,react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "network-section",
      "normalized_name": "network-section",
      "package_manager": "pnpm",
      "path": "components/landing/network-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "94e621a5d7d8ef22adca9032",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScenariosSection | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ScenariosSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "02d0fc128599d9f6",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "scenarios-section",
      "normalized_name": "scenarios-section",
      "package_manager": "pnpm",
      "path": "components/landing/scenarios-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "abc806df277673c2a0b95f9a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43240417b02e2073",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 180,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/landing/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d8a6af6d45ad3efb38e22b52",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorksSection | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HowItWorksSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e747995b9ca2f86",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "how-it-works-section",
      "normalized_name": "how-it-works-section",
      "package_manager": "pnpm",
      "path": "components/landing/how-it-works-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "641c4a48f461bacb57dd0948",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesSection | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FeaturesSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4dff049481862939",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "features-section",
      "normalized_name": "features-section",
      "package_manager": "pnpm",
      "path": "components/landing/features-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b1aef8c67c0a5bd9a8702976",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8ebb4cd283bee33",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 65,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/landing/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "302ab2e96eda4d626e46af98",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InterviewDetail | imports:@/components/dashboard/countdown-timer, @/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "InterviewDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7d90fb8ed49048c",
      "framework": "next-react",
      "imports": "@/components/dashboard/countdown-timer,@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/components/ui/textarea,@/hooks/use-store,@/lib/events,@/lib/ics,@/lib/network,@/lib/store,@/lib/utils,next/link,next/navigation,react,sonner",
      "lines": 930,
      "logic_relevance": "none",
      "name": "interview-detail",
      "normalized_name": "interview-detail",
      "package_manager": "pnpm",
      "path": "components/dashboard/interview-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3b6a6b7aa22b4c377d4a1f62",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TeamManager | imports:@/components/ui/alert-dialog, @/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/dropdown-menu, @/components/ui/input | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TeamManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a323eae3c38b1a0",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/label,@/hooks/use-store,@/lib/store,@/lib/utils,react,sonner",
      "lines": 257,
      "logic_relevance": "none",
      "name": "team-manager",
      "normalized_name": "team-manager",
      "package_manager": "pnpm",
      "path": "components/dashboard/team-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5151ae71210e33514d3131bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InterviewsList | imports:@/components/ui/alert-dialog, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/tabs, @/hooks/use-store, @/lib/events | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "InterviewsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4bba2ef08dc53ef",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/tabs,@/hooks/use-store,@/lib/events,@/lib/network,@/lib/store,next/link,next/navigation,react,sonner",
      "lines": 268,
      "logic_relevance": "none",
      "name": "interviews-list",
      "normalized_name": "interviews-list",
      "package_manager": "pnpm",
      "path": "components/dashboard/interviews-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2f82a7c3816365d0b4e0a497",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/hooks/use-store, @/lib/store, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd94fdd46b7b75aa",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/hooks/use-store,@/lib/store,react,sonner",
      "lines": 243,
      "logic_relevance": "none",
      "name": "settings-page",
      "normalized_name": "settings-page",
      "package_manager": "pnpm",
      "path": "components/dashboard/settings-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0bf55a6e564357db125bee2c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileBottomNav | imports:@/lib/utils, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MobileBottomNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9097f431093706e1",
      "framework": "next-react",
      "imports": "@/lib/utils,next/link,next/navigation",
      "lines": 59,
      "logic_relevance": "none",
      "name": "mobile-bottom-nav",
      "normalized_name": "mobile-bottom-nav",
      "package_manager": "pnpm",
      "path": "components/dashboard/mobile-bottom-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e3665a8c8f24cea6753683f0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommandPalette | imports:@/components/ui/command, @/hooks/use-store, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommandPalette",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b738b816905ec61",
      "framework": "next-react",
      "imports": "@/components/ui/command,@/hooks/use-store,next/navigation,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "command-palette",
      "normalized_name": "command-palette",
      "package_manager": "pnpm",
      "path": "components/dashboard/command-palette.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0734ac6472f537dad0e9196b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrepRoom | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/select, @/components/ui/tabs, @/hooks/use-store, @/lib/events | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrepRoom",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e26d8e4af9bd988f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/select,@/components/ui/tabs,@/hooks/use-store,@/lib/events,@/lib/network,@/lib/store,next/link,react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "prep-room",
      "normalized_name": "prep-room",
      "package_manager": "pnpm",
      "path": "components/dashboard/prep-room.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "4a2f2bfc01de5953b9672312",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardShell | imports:@/components/breadcrumbs, @/components/dashboard/command-palette, @/components/dashboard/dashboard-sidebar, @/components/dashboard/mobile-bottom-nav | frontend-score:85 | ui-score:55",
      "exports": "DashboardShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "624b95aeb5f9b932",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/dashboard/command-palette,@/components/dashboard/dashboard-sidebar,@/components/dashboard/mobile-bottom-nav",
      "lines": 24,
      "logic_relevance": "none",
      "name": "dashboard-shell",
      "normalized_name": "dashboard-shell",
      "package_manager": "pnpm",
      "path": "components/dashboard/dashboard-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "cb2beaf38d75b79299ac0820",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardOverview | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/hooks/use-store, @/lib/store, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DashboardOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1df5befdf4520670",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/hooks/use-store,@/lib/store,next/link,react",
      "lines": 235,
      "logic_relevance": "none",
      "name": "dashboard-overview",
      "normalized_name": "dashboard-overview",
      "package_manager": "pnpm",
      "path": "components/dashboard/dashboard-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "660f6985d9821891b56025fd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardSidebar | imports:@/lib/utils, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f6218cffe263095",
      "framework": "next-react",
      "imports": "@/lib/utils,next/link,next/navigation",
      "lines": 85,
      "logic_relevance": "none",
      "name": "dashboard-sidebar",
      "normalized_name": "dashboard-sidebar",
      "package_manager": "pnpm",
      "path": "components/dashboard/dashboard-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9c92983144d6f518408b2394",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CountdownTimer | imports:@/components/ui/card, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CountdownTimer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae80fb7bc0632e06",
      "framework": "next-react",
      "imports": "@/components/ui/card,react",
      "lines": 94,
      "logic_relevance": "none",
      "name": "countdown-timer",
      "normalized_name": "countdown-timer",
      "package_manager": "pnpm",
      "path": "components/dashboard/countdown-timer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bccf34e02b33fac38668d918",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewInterviewForm | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/hooks/use-store | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NewInterviewForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2544f9756cfb7add",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-store,@/lib/events,@/lib/store,next/link,next/navigation,react,sonner",
      "lines": 541,
      "logic_relevance": "none",
      "name": "new-interview-form",
      "normalized_name": "new-interview-form",
      "package_manager": "pnpm",
      "path": "components/dashboard/new-interview-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "e13d6a5a55c22b4b621d92e9",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "694b1c50178848cf",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "0b039e0a337064e0ef5b6729",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d1cde3da058b1f1",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "__tests__/setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "91cafec7b48f55f1abea7f0e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,next-themes,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/theme-toggle, @testing-library/react, @testing-library/user-event, next-themes, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "268c99cd531b124b",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@testing-library/react,@testing-library/user-event,next-themes,vitest",
      "lines": 66,
      "logic_relevance": "none",
      "name": "theme-toggle.test",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "__tests__/components/theme-toggle.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "06f38f5e6bbcdf99fefdf0ef",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,sonner,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/join-team-form, @/lib/store, @testing-library/react, sonner, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "371b8a637a96fb9b",
      "framework": "next-react",
      "imports": "@/components/join-team-form,@/lib/store,@testing-library/react,sonner,vitest",
      "lines": 120,
      "logic_relevance": "none",
      "name": "join-team-form.test",
      "normalized_name": "join-team-form",
      "package_manager": "pnpm",
      "path": "__tests__/components/join-team-form.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "29a0141e299b08dcc240e727",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/dashboard/countdown-timer, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8aef4bf6c8954978",
      "framework": "next-react",
      "imports": "@/components/dashboard/countdown-timer,@testing-library/react",
      "lines": 103,
      "logic_relevance": "none",
      "name": "countdown-timer.test",
      "normalized_name": "countdown-timer",
      "package_manager": "pnpm",
      "path": "__tests__/components/dashboard/countdown-timer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "0ee8cca321a5719bc443e1f6",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/store, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e1f7d429adf1bf03",
      "framework": "next-react",
      "imports": "@/lib/store,vitest",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "store.test",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8a996098e68659addc6eb90e",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b715924e05a6fcb0",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "e13e7aeb1b03650a2dae7d7a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/events, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "019f6b11fd685b72",
      "framework": "next-react",
      "imports": "@/lib/events,vitest",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "__tests__/lib/events.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "cc116423ba90ec1c97559ea7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/network, @/lib/store, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e62c7d21590b1f1",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/store,vitest",
      "lines": 635,
      "logic_relevance": "primary",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/lib/network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "afcb340fbaab4b7e4d9d5b55",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/ics, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd32b7c18e545a4e",
      "framework": "next-react",
      "imports": "@/lib/ics,vitest",
      "lines": 188,
      "logic_relevance": "primary",
      "name": "ics.test",
      "normalized_name": "ics",
      "package_manager": "pnpm",
      "path": "__tests__/lib/ics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "d85c085eccd66da1e537ad49",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/grok/parse-jd/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "326f607c7f353eaa",
      "framework": "next-react",
      "imports": "@/app/api/v1/grok/parse-jd/route,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "grok-parse-jd.test",
      "normalized_name": "grok-parse-jd",
      "package_manager": "pnpm",
      "path": "__tests__/api/grok-parse-jd.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "401531840834116a54ccd4f9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/webhooks/route, @/lib/jobs-server-store, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "237f385242b9fd20",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route,@/lib/jobs-server-store,vitest",
      "lines": 43,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/api/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "b3c0b3b775ea6200b3b31cb1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/events/route, @/lib/jobs-server-store, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "579efea446a9d402",
      "framework": "next-react",
      "imports": "@/app/api/events/route,@/lib/jobs-server-store,vitest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "__tests__/api/events.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "01a9f749935896232e1a60f2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/interviews/route, @/lib/jobs-server-store, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d88b67356d785fd8",
      "framework": "next-react",
      "imports": "@/app/api/v1/interviews/route,@/lib/jobs-server-store,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "interviews.test",
      "normalized_name": "interviews",
      "package_manager": "pnpm",
      "path": "__tests__/api/interviews.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "5ace949da19ad0b3df29419d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/interviews/ics/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1f4d1b8c4e793bd4",
      "framework": "next-react",
      "imports": "@/app/api/v1/interviews/ics/route,next/server,vitest",
      "lines": 152,
      "logic_relevance": "none",
      "name": "interviews-ics.test",
      "normalized_name": "interviews-ics",
      "package_manager": "pnpm",
      "path": "__tests__/api/interviews-ics.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability",
      "component_id": "ef21d5ded9c1a9f12dee4683",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/network/mcp/route, vitest | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2a1db1978f458141",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/mcp/route,vitest",
      "lines": 33,
      "logic_relevance": "none",
      "name": "network-mcp.test",
      "normalized_name": "network-mcp",
      "package_manager": "pnpm",
      "path": "__tests__/api/network-mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,process,automation",
      "component_id": "7a8697ad89c7da458878c66c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "501d1aaecc458c83",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 75,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability,security",
      "component_id": "f2c5cbea1d527e6b4e9cfbdd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/team/route, @/lib/jobs-server-store, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a3567c4d7e2ad20",
      "framework": "next-react",
      "imports": "@/app/api/v1/team/route,@/lib/jobs-server-store,vitest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "team.test",
      "normalized_name": "team",
      "package_manager": "pnpm",
      "path": "__tests__/api/team.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "45714296820df1b9a20728f9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/network/calendar/route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91160428fb21b4e2",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/calendar/route,vitest",
      "lines": 53,
      "logic_relevance": "none",
      "name": "network-calendar.test",
      "normalized_name": "network-calendar",
      "package_manager": "pnpm",
      "path": "__tests__/api/network-calendar.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "ab30a3e3a8fa1e1188ee0fbc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e1488cede5449236",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "41893ae78c19e8d0bc2264f3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b4aef626189f1d85",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "1fbba7487fe50e153246c8b4",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "90d6567869ba58e8",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "f1494acd03ea71bf12d7d7c4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6b07f836019cf0d0",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "1c8c678a7f4ae4ec63fc9af7",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useInterview, useInterviewTeam, useStore | imports:@/lib/store, react | logic-score:85",
      "exports": "useInterview,useInterviewTeam,useStore",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ce395309b205c99",
      "framework": "next-react",
      "imports": "@/lib/store,react",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "use-store",
      "normalized_name": "use-store",
      "package_manager": "pnpm",
      "path": "hooks/use-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,automation",
      "component_id": "e88973f0a2046e5657ff722f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateICS, googleCalendarUrl, outlookCalendarUrl | logic-score:85 | automation-score:45",
      "exports": "generateICS,googleCalendarUrl,outlookCalendarUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1b3c2f40e4c01c90",
      "framework": "next-react",
      "imports": "",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "ics",
      "normalized_name": "ics",
      "package_manager": "pnpm",
      "path": "lib/ics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,logic,observability,security",
      "component_id": "60c4b0b95ca139be9b601bf6",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "node:crypto,zod",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:DebriefRecord, EventOutboxEntry, InterviewInvite, InterviewStatus, ObservationRecord, ObservationSignal, PrepMaterial, ServerInterview | imports:node:crypto, zod | automation-score:95 | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DebriefRecord,EventOutboxEntry,InterviewInvite,InterviewStatus,ObservationRecord,ObservationSignal,PrepMaterial,ServerInterview,ServerTeamMember,StorageMode,acceptInvite,addObservation,addPrep,appendEvent,createInterview,createInvite,createTeamMember,deleteInterview,deleteTeamMember,generateDebrief,getDebrief,getInterview,getInvite,getTeamMember,listEvents,listInterviews,listObservations,listPrep,listTeam,resetServerStoreForTests,revokeInvite,serverStorageMode,updateInterview,updateTeamMember",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2c6a275eb93791cf",
      "framework": "next-react",
      "imports": "node:crypto,zod",
      "lines": 473,
      "logic_relevance": "secondary",
      "name": "jobs-server-store",
      "normalized_name": "jobs-server-store",
      "package_manager": "pnpm",
      "path": "lib/jobs-server-store.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "4feb5844fbc60efb2a2b99aa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_OPENAPI_URL | imports:./store | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MCP_OPENAPI_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "045ffc1b17fda38f",
      "framework": "next-react",
      "imports": "./store",
      "lines": 242,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic",
      "component_id": "4026e07557d81c9bb42b4574",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, getOrigin, sanitizeUrl | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn,getOrigin,sanitizeUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f77abea479d3ea8d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "da39ffe3e9c9c3f5e1c4a2c7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, SERVICE, STANDARD_ROUTES, TRUST_LINE, getBearerToken | imports:next/server, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "API_ENDPOINTS,MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,SERVICE,STANDARD_ROUTES,TRUST_LINE,getBearerToken,getRequestId,isAuthorized,jsonError,jsonOk,outboundHeaders,requirePlatformKey,responseHeaders,sanitizeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "214579ff4dd3f3b6",
      "framework": "next-react",
      "imports": "next/server,node:crypto",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,observability,security,automation",
      "component_id": "bb0f1d2f1860ac6d8913aa90",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EventType, SyncResult | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "EventType,SyncResult",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0231350ca4b5fb48",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "lib/events.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "ac10bf4f087a67135f346eb0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildFeed, buildLlmsIndex, buildLlmsTxt, buildManifest, buildOpenApi, buildRobotsTxt, buildTrustPolicy | imports:./jobs-server-store, ./platform | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildFeed,buildLlmsIndex,buildLlmsTxt,buildManifest,buildOpenApi,buildRobotsTxt,buildTrustPolicy",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "974aeda66aa6d156",
      "framework": "next-react",
      "imports": "./jobs-server-store,./platform",
      "lines": 378,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1aa38a044b5f2bc05a876834",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Attachment, Interview, InterviewFormat, InterviewStatus, MeetingPlatform, Observation, ObservationType, PLATFORM_META | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Attachment,Interview,InterviewFormat,InterviewStatus,MeetingPlatform,Observation,ObservationType,PLATFORM_META,PrepItem,StoreState,TeamMember,UserPreferences,addAttachment,addObservation,addTeamMember,clearAllInterviews,cosmoId,createInterview,decodeSharedInterview,deleteInterview,encodeInterviewForShare,exportStoreJSON,getAllTags,getFingerprint,getInterview,getInterviews,getInterviewsByStatus,getInterviewsByTag,getPreferences,getStats,getStore,getTeam,getTeamMember,getTeamMembersByIds,importSharedInterview,importStoreJSON,removeAttachment,removeTeamMember,resetStore,resolveTeamMembers,searchInterviews,togglePrepItem,updateInterview,updatePreferences,updateTeamMember",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3efd2cd1b6ba1e40",
      "framework": "next-react",
      "imports": "",
      "lines": 550,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jobs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "acff8c4f2c3b6d8f8b9d4af4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d19b5dd87e7187a",
      "framework": "next-react",
      "imports": "",
      "lines": 7395,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "937002569275f4b5556599fc",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ac28af575f621eee",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d8959a34d40ecab2422100a1",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "77f1bf9c0f6c45b3",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "842fef584deb2ba3c71048a8",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5c6242f0a8e6eabd",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cd6fddc3065f108ac1e6e0d0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "243d4449d21284db",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "35702190af782d94db63c110",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "da10d178ff52bb98",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 101,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "b8eace14573d6ef1a004e91c",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d9af6b7eea0c86a",
      "framework": "next-react",
      "imports": "@/lib/discovery,next",
      "lines": 6,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "1d136fe5a1c6b52e10508876",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "561b410bcb3ca598",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/next,next,next/font/google",
      "lines": 173,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2ed394ffc8c2f4b053446e8b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/json-tree, @/components/layout/footer, @/components/layout/header | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5aeb02f93399e75f",
      "framework": "next-react",
      "imports": "@/components/json-tree,@/components/layout/footer,@/components/layout/header",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "bde26bdd3eac299c67a71b10",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery",
      "component_id": "9c229ef55175f6be7edf6b5b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "60a1a632c4464341",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ddc76943fc9c58daa6050ea6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09555ebf935820a6",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery",
      "component_id": "962d7769048c7fda30f0eaf0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "93d8bfc39fcbd982",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "dc48c13aa6f29b5e8a79f9c7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "31b8c6292a8956c7",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/v0/realms/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "6b85f16131b477621a56837a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f5fad005cbd89a86",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/v0/universes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend,observability",
      "component_id": "698ea9061ea9899d29d951d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a646a08a63f5c0d4",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/v0/realm/[id]/items/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "de2e0ce30f3a690dbd70bd0b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:fs/promises, next/server, path | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1e0eac39acc27a64",
      "framework": "next-react",
      "imports": "fs/promises,next/server,path",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/favicon.ico/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "79bdb875ce4f2466b9142c2f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/breadcrumbs, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b102c0956d82945f",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,next,next/link",
      "lines": 72,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "91c8f1ab2b00232f8f4b3681",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/layout/footer, @/components/layout/header, @/components/ui/breadcrumbs, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f162ec2bc0a32f2",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/ui/breadcrumbs,next",
      "lines": 81,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e89cfe70befb6e54601e2189",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f91d5f5641e81af1",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,@/lib/platform,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/platphorm.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,security",
      "component_id": "8f1e81f67ab6ef75384bb035",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f48d4e5f57ebaa2a",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "ea70bb6157c03f3c862647c1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0e2066d9cee34cc",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,security",
      "component_id": "cfd113785406e14e574cd9f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/platform, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba68a2dd21bcb3e1",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/platform,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "8105d2cac46c329a6dd3ab0d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e597c5861cb3bae6",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "f605dbba9bb62f56e4320c74",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "441f9fb94bd842c4",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/platform,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "a8bcaaf5ee83a056b4809bc9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/platform, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7fe8c47d2de6ae54",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/platform,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "f5bbb424e1f1f72bc1d92140",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "00aefe382a979c72",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "1a1b8f15326e17bd9952f0a6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/mcp, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b3cddabd1bd651f5",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/mcp,@/lib/platform,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process,ai",
      "component_id": "d9e3d30d5c9ab884e94198db",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "ApiDocsClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "838f4655a560db0c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/tabs,lucide-react,react",
      "lines": 372,
      "logic_relevance": "none",
      "name": "api-docs-client",
      "normalized_name": "api-docs-client",
      "package_manager": "pnpm",
      "path": "app/docs/api-docs-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,process",
      "component_id": "e54a28487b95780e9b8f525d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:./api-docs-client, @/components/layout/footer, @/components/layout/header, @/components/ui/breadcrumbs, next | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d788e3e1d7cb194d",
      "framework": "next-react",
      "imports": "./api-docs-client,@/components/layout/footer,@/components/layout/header,@/components/ui/breadcrumbs,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery",
      "component_id": "56b9769dadef39fab1f6f5fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b4bf62f919b3c73a",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery",
      "component_id": "435d5f5e55727799ba7b1c41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "222ad5d462bcd5fb",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "d7ec68498a47d88c4331750a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2b9396127d838018",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/minify/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "cfbfe1758f6e67385526e4a9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ea0c911da130bc5",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability",
      "component_id": "9b5ccc8d97635920d031cb22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "12eab39040de8aec",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 93,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fetch-url/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b67ceb6c8fac8b506bde0080",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0a73d08d238d7f7",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "fe76ffe8050fb77fb88a9683",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, @/lib/json-utils, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e6f982a66d95f12d",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/json-utils,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/parse/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic,frontend",
      "component_id": "7eb8ecc295447b70cf984c72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36f5d9064d47d6de",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schema-pack/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "c890353795a25bee7f78bf6d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, @/lib/json-utils, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7c3c57012a7d0b83",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/json-utils,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/diff/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic,frontend",
      "component_id": "172b7ff0067c4af8f4349231",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c57f385a8b5ee211",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 17,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schemas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic,frontend",
      "component_id": "7e80bc4e5f73027cd89292cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a42208dea3ea8de6",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schemas/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,logic,frontend,security",
      "component_id": "d427da4e0f0999b6832fdf25",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1942a006dc4b8b9e",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 33,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schema/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "595070986839c6cdd0feff96",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d93b4bf48d533688",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/format/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "6883017c7b8013f07d520ca0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e7a6e914f338361",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/jsonld/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "f9eb96e9463592cb2c121d9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, @/lib/schema-registry, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb2df5d68f14538d",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/schema-registry,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/jsonld/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,security",
      "component_id": "96209cb50695cdcdc2b310d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "28831721c7eb5490",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "c070b627e744f2074550dbcc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/auth, @/lib/discovery, @/lib/model-adapter, @/lib/platform, @/lib/schema-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "992a129c2027afe9",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,@/lib/discovery,@/lib/model-adapter,@/lib/platform,@/lib/schema-registry,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "5aedc7217171767dfcb35304",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api-utils, @/lib/mcp, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e14fca2c15486ee",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/mcp,@/lib/platform,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "d0fa909624bb525ec121d2c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63580f3ade543b13",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/sse/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "cf50802f956903e0f28b2b64",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api-utils, @/lib/auth, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e81a722b2cbc40b9",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery,process",
      "component_id": "57ea261327bc7d7d87612ee4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/openapi, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c382789e8521edc7",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/openapi,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "4e6ea361da1977f8cca2134c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api-utils, @/lib/auth, @/lib/discovery, @/lib/schema-registry, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e3b619d8bac6654",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,@/lib/discovery,@/lib/schema-registry,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery",
      "component_id": "dd306a6c52eb654714abdd7b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56684ce2aa518f7c",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,security,discovery",
      "component_id": "ff44a1fc7b588e8b25569e29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/openapi, @/lib/yaml, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "04b5c3dc14697c06",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/openapi,@/lib/yaml,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "2595466a3dfb468f6a25ccd5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, OPTIONS | imports:@/lib/api-utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6d24472e42c7c56",
      "framework": "next-react",
      "imports": "@/lib/api-utils,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery",
      "component_id": "33aabd9373470736b980351e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "be3e7138250addca",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery",
      "component_id": "cf327819b9954f1f5212bb26",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab7c3ede1eee360d",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/platform,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "5fb4f66fcbf69b4bb78bed52",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/docs/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae6c9260c98ab179",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "72c3ae277e86c28eec91c56a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "86e60f65ae7853bdf796a371",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6932e97a3ec24478341bbb7f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "985e268db2c35dbd",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 45,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "b8bb6ef48c2dfa40cbdcb5fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "416089b235bf73865d996622",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "cfecaa2f639532d1e2190de7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b3704a253372ec18d7b315d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6b4e8915042c9d05149d5ee2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9cebc7c36c2ebdac15b23722",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "519358a77420806f81e03050",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "9298173065df7c895a825eaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e03bf48fab4f116145b41a95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f5184d99f3b168b46d3bc1dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "45e03d00870cd60b8eeecafd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "5955c6f337f1580645dcee51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "55a273d78f870d0de4d05d6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "651f91e992e79342751bfa58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "57b66f295c5b398559f62cae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cc65af697d7599e06062b011",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0a18feee0fce7fd2f86f64c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "13f2ac9b09d97779ce3e2a33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2dcd4338c3ffb962f04425bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0b5905e034ad7537",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 78,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumbs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "321e44d5c2dbebcf9510e372",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "f471a41bb0777539d7cb9270",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c61697d020cd0c6e1b00ee2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0d6e4d65884975c71693abef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "02e1439f9aadd3be7ce360b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b784e78d1bed1b824303dfab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "74d8bdc79a337eca4b4c086e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3cd5baaaa9d8faf79f2a1cde",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b2a4bd7a59116796eb974a5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "c3816fa101639a42271af65e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "039a1d64360fe22c3d8190b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "e7a6a1f366031eab6c5dfb1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "252a2f4eb8b365bbca81ff6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6bdce66e59e29079b96f0797",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3103de7ff29aa909d63a26b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d6073ea457413fb6832afbd6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "596acbed39f3617bbfa4944a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "af90b83af44afea34363b44c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a2f8632145bc04c39c3cab21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "61f154606e5c138c26b1330d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "166ca5bc1ba49f0de538ee53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2d9b69f091ae4eae905943e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8f27f9e3af9cdbbdbc3cc1bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c60e17090d3c69029830d228",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ae49735b9ebd613d7ee1d010",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "605dc681d36f5900984d7232",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1a52fb84ad484088c0f412c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7ecac86432957547e8ac6005",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "53561ebba874f3ec99c208e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "c7d6b5ba7a5442835e45ff3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4b8c8ffa43b73d3f20f666c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0456801f6703db76853524c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4466dceb6817c30c4f597543",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6229a27af3891b70ad166b8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2b7880e98e96421503600d24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "a156514107fa052ce34557b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1ed4bc4a3d14e5f300251fad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "0394632272583230602980ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0e0d2032b1be0d442a7e68ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d2ed0f6dfba03c967ec9145c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonTree | imports:./diff-view, ./graph-view, ./json-editor, ./path-breadcrumb, ./schema-registry-panel, ./stats-panel, ./toolbar, ./tree-view | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "JsonTree",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f86a1bc4a54a6df0",
      "framework": "next-react",
      "imports": "./diff-view,./graph-view,./json-editor,./path-breadcrumb,./schema-registry-panel,./stats-panel,./toolbar,./tree-view,@/components/ui/resizable,@/components/ui/scroll-area,@/lib/json-utils,@/lib/local-drafts,@/lib/sharing,@/lib/store,@/lib/utils,react",
      "lines": 319,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/json-tree/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "77a33eaf4a415821a4bff259",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TreeNodeComponent | imports:@/lib/json-utils, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TreeNodeComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e50f8542f8cf4cb",
      "framework": "next-react",
      "imports": "@/lib/json-utils,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 171,
      "logic_relevance": "none",
      "name": "tree-node",
      "normalized_name": "tree-node",
      "package_manager": "pnpm",
      "path": "components/json-tree/tree-node.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "0cacb3d6b55063850af6106c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:TreeView | imports:./tree-node, @/components/ui/scroll-area, @/lib/types, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "TreeView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0004250be86c4bc8",
      "framework": "next-react",
      "imports": "./tree-node,@/components/ui/scroll-area,@/lib/types,@/lib/utils,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "tree-view",
      "normalized_name": "tree-view",
      "package_manager": "pnpm",
      "path": "components/json-tree/tree-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,logic,backend,observability,security,automation",
      "component_id": "45ced1ae1af38c179b8cc69c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SchemaRegistryPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/select, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SchemaRegistryPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c323642b3ff96dc6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/select,@/components/ui/tooltip,lucide-react,react",
      "lines": 186,
      "logic_relevance": "secondary",
      "name": "schema-registry-panel",
      "normalized_name": "schema-registry-panel",
      "package_manager": "pnpm",
      "path": "components/json-tree/schema-registry-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "814fbd12becc9291be11e493",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiffView | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DiffView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "112fef1038985f4f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "diff-view",
      "normalized_name": "diff-view",
      "package_manager": "pnpm",
      "path": "components/json-tree/diff-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5d7302777275aacf63e8f003",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Toolbar | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/kbd, @/components/ui/label, @/components/ui/tabs, @/components/ui/tooltip, @/lib/json-utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Toolbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b59ca207db5dae8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/kbd,@/components/ui/label,@/components/ui/tabs,@/components/ui/tooltip,@/lib/json-utils,@/lib/sharing,@/lib/store,@/lib/types,@/lib/utils,lucide-react,next-themes,react",
      "lines": 543,
      "logic_relevance": "none",
      "name": "toolbar",
      "normalized_name": "toolbar",
      "package_manager": "pnpm",
      "path": "components/json-tree/toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6cdff90b50a482aa0044e141",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareDialog | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/tabs, @/lib/sharing, @/lib/types, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ShareDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f03b4631af8e2e31",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/tabs,@/lib/sharing,@/lib/types,lucide-react,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "share-dialog",
      "normalized_name": "share-dialog",
      "package_manager": "pnpm",
      "path": "components/json-tree/share-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d56a4d57d89d7772cea8c60b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PathBreadcrumb | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/sharing, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PathBreadcrumb",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad39e817f1dc7c6b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/sharing,@/lib/utils,lucide-react,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "path-breadcrumb",
      "normalized_name": "path-breadcrumb",
      "package_manager": "pnpm",
      "path": "components/json-tree/path-breadcrumb.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4d31c7ee78da58ce295dba6e",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonEditor | imports:@/components/ui/tooltip, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "JsonEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec5ba5158fee12bd",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/lib/utils,react",
      "lines": 165,
      "logic_relevance": "none",
      "name": "json-editor",
      "normalized_name": "json-editor",
      "package_manager": "pnpm",
      "path": "components/json-tree/json-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "3e77f7d42feea6a42e744258",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:GraphView | imports:@/components/ui/button, @/components/ui/slider, @/components/ui/tooltip, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GraphView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "588bb2b38d784d02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/slider,@/components/ui/tooltip,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 958,
      "logic_relevance": "none",
      "name": "graph-view",
      "normalized_name": "graph-view",
      "package_manager": "pnpm",
      "path": "components/json-tree/graph-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 10
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9960e39b8c534dfdefede071",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsPanel | imports:@/components/ui/tooltip, @/lib/types, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StatsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34c0909598af9df1",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/lib/types,@/lib/utils,react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "stats-panel",
      "normalized_name": "stats-panel",
      "package_manager": "pnpm",
      "path": "components/json-tree/stats-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "eff6b3784dd86f4ffc89f2f5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a89e59b2a46b8e81",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "563b83dc7ff463e5f2a280c2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "039e68a3c1d08c10",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next/link,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "7628233ef939b21213da1743",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "315e4bee4a8bac64",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "6fd3c47cf3b6964125d32d49",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d5f43d23e9e25621",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "a4e85af6cc1519cf8d2b255c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ea2137219faef63a",
      "framework": "next-react",
      "imports": "",
      "lines": 614,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,process",
      "component_id": "2096552250489f515c1136ac",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "88a82555ad60848d",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "d4ab14480dc8b50a1bc27c14",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "266f189230a5e738",
      "framework": "next-react",
      "imports": "",
      "lines": 190,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "5934ce84a068d0bd0f687a16",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b287ff7679fb1163",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "namespace.schema",
      "normalized_name": "namespace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/namespace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "f4f573dd6916cd2d7a0d37a3",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "48a1366cd8a22566",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "document.schema",
      "normalized_name": "document-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/document.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "465c458a8181571d02bffe7b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9cd91c6230d34a6a",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "a558f31348762e3a14a11d8f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a5973e4d9077605",
      "framework": "next-react",
      "imports": "",
      "lines": 233,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "14dc4ead1f7e22d4b453e3d2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8c8dc679f47be4f6",
      "framework": "next-react",
      "imports": "",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "universe.schema",
      "normalized_name": "universe-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/universe.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "d945f9f5b7e9e1e9fb39c432",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "11027363f2ad13aa",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "primary",
      "name": "episode.schema",
      "normalized_name": "episode-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/episode.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "21f930d964851c4bf56f61b8",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/json/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "f6d6b33288fdab0d0326af0b",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9c592a395d51b59f",
      "framework": "next-react",
      "imports": "",
      "lines": 266,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "4f66fc0709113f19c6e1359d",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "93f4912f7cd91eb3",
      "framework": "next-react",
      "imports": "",
      "lines": 400,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "fb1c625c71f43d42b3d19791",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "82d6873d4bf90155",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/json/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "cbdec5b94c3727374e6b2482",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/ui/breadcrumbs, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6886ce69b45c875d",
      "framework": "next-react",
      "imports": "../components/ui/breadcrumbs,@testing-library/react,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "__tests__/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "ba4e79c5894864e82384e689",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/mcp/route, ../app/api/v1/parse/route, ../app/api/v1/schema/validate/route, ../app/api/v1/schemas/route, ../app/llms-index.json/route, ../app/openapi.json/route, ../lib/discovery, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "785a8af1b3614fbd",
      "framework": "next-react",
      "imports": "../app/api/mcp/route,../app/api/v1/parse/route,../app/api/v1/schema/validate/route,../app/api/v1/schemas/route,../app/llms-index.json/route,../app/openapi.json/route,../lib/discovery,vitest",
      "lines": 107,
      "logic_relevance": "none",
      "name": "phase1-api.test",
      "normalized_name": "phase1-api",
      "package_manager": "pnpm",
      "path": "__tests__/phase1-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "fd5d281f0a5b9067e7654e67",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../app/faq/page, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5f4c81d696f03fba",
      "framework": "next-react",
      "imports": "../app/faq/page,@testing-library/react,vitest",
      "lines": 18,
      "logic_relevance": "none",
      "name": "faq.test",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "__tests__/faq.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fef0218d24f206f423dbb2f2",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/health/route, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "963b6c9116909c3d",
      "framework": "next-react",
      "imports": "../app/api/health/route,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "d7cca8a19e7a23ade2b49e47",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "dd1984cb2250023e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "4054139cad6bd5ad1f952d8e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0d575e303f088fef",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "7132a362fd39d40aaeebfd61",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MODEL_TASKS, ModelAdapterStatus, ModelTask, degradedModelResult, getModelAdapterStatus | imports:./trace | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "MODEL_TASKS,ModelAdapterStatus,ModelTask,degradedModelResult,getModelAdapterStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ff5241b48e7d5837",
      "framework": "next-react",
      "imports": "./trace",
      "lines": 65,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "28113b0ed4ba441860ccf12f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS | imports:./api-utils, ./discovery, ./openapi, ./platform, ./schema-registry, ./trace | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0181ad49b322f0c7",
      "framework": "next-react",
      "imports": "./api-utils,./discovery,./openapi,./platform,./schema-registry,./trace",
      "lines": 320,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "38eaa955c90a77c1c9613693",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "df2ddae1d8a4cec90340370a",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "ajv,ajv-formats,node:fs,node:path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonSchemaRecord, SchemaValidationResult, getJsonLdArtifacts, getSchema, getSchemaPack, getUniverseRegistry, listSchemas, validateJsonAgainstSchema | imports:./api-utils, ./platform, ajv-formats, ajv/dist/2020, node:fs, node:path | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "JsonSchemaRecord,SchemaValidationResult,getJsonLdArtifacts,getSchema,getSchemaPack,getUniverseRegistry,listSchemas,validateJsonAgainstSchema,validateJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c38e565656777987",
      "framework": "next-react",
      "imports": "./api-utils,./platform,ajv-formats,ajv/dist/2020,node:fs,node:path",
      "lines": 323,
      "logic_relevance": "primary",
      "name": "schema-registry",
      "normalized_name": "schema-registry",
      "package_manager": "pnpm",
      "path": "lib/schema-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,security",
      "component_id": "8bb42f72811bb326e3652229",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:toYaml | logic-score:85 | security-score:55",
      "exports": "toYaml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "146b639c06aa6870",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "primary",
      "name": "yaml",
      "normalized_name": "yaml",
      "package_manager": "pnpm",
      "path": "lib/yaml.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "2d7d0f13558f97bfce7138ad",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ALL_ROUTES, API_ROUTES, APP_VERSION, BASE_URL, DISCOVERY_ROUTES, MCP_ROUTE, PAGE_ROUTES, PLATFORM_SOURCE_SITE | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "ALL_ROUTES,API_ROUTES,APP_VERSION,BASE_URL,DISCOVERY_ROUTES,MCP_ROUTE,PAGE_ROUTES,PLATFORM_SOURCE_SITE,PRODUCT_NAME,PRODUCT_SHORT_NAME,PlatformRoute,SCHEMA_FILES,SCHEMA_ROUTES,SERVICE_DOMAIN,SERVICE_ID,SchemaFile,TRUST_POLICY_LINE,V0_ROUTES,absoluteUrl,findSchemaBySlug",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aff60718017f8f87",
      "framework": "next-react",
      "imports": "",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "b0725ab6579270cefe2afdb2",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./json-utils, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e5118071a10823e",
      "framework": "next-react",
      "imports": "./json-utils,vitest",
      "lines": 156,
      "logic_relevance": "primary",
      "name": "json-utils.test",
      "normalized_name": "json-utils",
      "package_manager": "pnpm",
      "path": "lib/json-utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a10f6baf881b3e389a3cd239",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, DiffRequest, DiffResult, FormatRequest, JsonNode, JsonValueType, McpRequest, McpResponse | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "ApiResponse,DiffRequest,DiffResult,FormatRequest,JsonNode,JsonValueType,McpRequest,McpResponse,McpTool,MinifyRequest,OpenApiSpec,ParseRequest,ParseResponse,SearchResult,TreeStats,ValidateRequest,ViewMode",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0b2fb47e68881e3b",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "2ebd857333ab04bbc3b9aea9",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "next,uuid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_VERSION, ApiFailure, ApiOk, MAX_JSON_BYTES, apiError, apiMetaForTest, apiResponse, calculateJsonStats | imports:./platform, ./trace, next/server, uuid | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "API_VERSION,ApiFailure,ApiOk,MAX_JSON_BYTES,apiError,apiMetaForTest,apiResponse,calculateJsonStats,checkRateLimit,corsHeaders,createOptionsResponse,formatJsonString,generateRequestId,getClientIP,minifyJsonString,validateJsonString",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "98565f2dea1397cc",
      "framework": "next-react",
      "imports": "./platform,./trace,next/server,uuid",
      "lines": 231,
      "logic_relevance": "primary",
      "name": "api-utils",
      "normalized_name": "api-utils",
      "package_manager": "pnpm",
      "path": "lib/api-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "d4d5a3f5c15e8e00345d7bf3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./sharing, ./types, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "66e8adb9832fe2b4",
      "framework": "next-react",
      "imports": "./sharing,./types,vitest",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "sharing.test",
      "normalized_name": "sharing",
      "package_manager": "pnpm",
      "path": "lib/sharing.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "3895433056e0344491613cb3",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateStats, copyToClipboard, diffJson, formatJson, generateNodeId, getNodeAtPath, getValueColor, getValueType | imports:./types | logic-score:85 | security-score:55",
      "exports": "calculateStats,copyToClipboard,diffJson,formatJson,generateNodeId,getNodeAtPath,getValueColor,getValueType,minifyJson,parseJsonToTree,resetNodeIdCounter,searchTree,truncateValue,validateJson",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be472f68010f204a",
      "framework": "next-react",
      "imports": "./types",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "json-utils",
      "normalized_name": "json-utils",
      "package_manager": "pnpm",
      "path": "lib/json-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,ai",
      "component_id": "15dee905eedd35bcf2cca5ea",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:openApiSpec | imports:./platform | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "openApiSpec",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0e8c303145338eb0",
      "framework": "next-react",
      "imports": "./platform",
      "lines": 317,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "0d9e69393c2d82d7d190c140",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildLlmsFullTxt, buildLlmsIndex, buildLlmsTxt, buildRssFeed, buildSitemapIndexXml, buildSitemapXml, buildTrustPolicy, getDiscoveryCompliance | imports:./auth, ./model-adapter, ./platform, ./schema-registry | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildLlmsFullTxt,buildLlmsIndex,buildLlmsTxt,buildRssFeed,buildSitemapIndexXml,buildSitemapXml,buildTrustPolicy,getDiscoveryCompliance,getPublicSitemapRoutes,getRouteCompliance,getSitemapEntries",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "65fc5770e548def6",
      "framework": "next-react",
      "imports": "./auth,./model-adapter,./platform,./schema-registry",
      "lines": 287,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability",
      "component_id": "2a6b3185eb82b3bd4fac90ab",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "lz-string",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ShareOptions, copyToClipboard, createShareUrl, generateJsonPath, parseShareUrl, parseUrlParams, truncateForShare | imports:lz-string | logic-score:85 | observability-score:55 | uses-env",
      "exports": "ShareOptions,copyToClipboard,createShareUrl,generateJsonPath,parseShareUrl,parseUrlParams,truncateForShare",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6493c51b6604221a",
      "framework": "next-react",
      "imports": "lz-string",
      "lines": 148,
      "logic_relevance": "primary",
      "name": "sharing",
      "normalized_name": "sharing",
      "package_manager": "pnpm",
      "path": "lib/sharing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "80f7c9b8eaa9be3b1836ea61",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, VercelRequestMetadata, captureVercelRequestMetadata, createTraceContext, traceHeaders, traceMetadata | imports:./platform, node:crypto | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "TraceContext,VercelRequestMetadata,captureVercelRequestMetadata,createTraceContext,traceHeaders,traceMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "da9480292be426c4",
      "framework": "next-react",
      "imports": "./platform,node:crypto",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "logic,observability,security",
      "component_id": "8f6cd0c0fa795f16588c9691",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for finance; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalJsonDraft | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LocalJsonDraft",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8352d6cc2a68f107",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "local-drafts",
      "normalized_name": "local-drafts",
      "package_manager": "pnpm",
      "path": "lib/local-drafts.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "179e15d58530ad6b19f9e6e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthBoundary, AuthPolicy, AuthResult, getAuthPolicy, isApiKeyEnforcementEnabled, isVercelCronRequest, verifyPlatformAuth | imports:next/server | logic-score:85 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "AuthBoundary,AuthPolicy,AuthResult,getAuthPolicy,isApiKeyEnforcementEnabled,isVercelCronRequest,verifyPlatformAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7222c90c1cb5ddb3",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "abd0a26bf7ac88c300ed8fa6",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_JSON_SAMPLE, collapseAll, expandAll, redo, selectNode, setRawJson, setSearchQuery, setViewMode | imports:./json-utils, ./types, react | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DEFAULT_JSON_SAMPLE,collapseAll,expandAll,redo,selectNode,setRawJson,setSearchQuery,setViewMode,toggleNode,undo,useJsonTreeStore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1a4a39e4fdb7e05",
      "framework": "next-react",
      "imports": "./json-utils,./types,react",
      "lines": 241,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-json",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "99917d1b41e5f4fd64bb8d3d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b40de29f30424f3",
      "framework": "next-react",
      "imports": "",
      "lines": 7421,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ba4dcd4e58ba752a074f4220",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f96b9e850766728",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 78,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "a5859ab761b563159aa2498a",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "bca957fc07dc99d69656bd5c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "1e98073752a3897f9a3c9512",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MockNextResponse | imports:./middleware, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MockNextResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cfd7e48224c1b5fd",
      "framework": "next-react",
      "imports": "./middleware,next/server,vitest",
      "lines": 120,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "555ac7c8cb1bafab0c571203",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "594b0e47ee366bd6",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9f8d1803c87da68b8bd77610",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "785ee05ee33f263a",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "pr_body",
      "normalized_name": "pr-body",
      "package_manager": "pnpm",
      "path": "pr_body.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4eb150f1dad3ee6d531a0a32",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "25b8c258b7e31554",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "28ea0220c58b04c8d0b60391",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c8b0dbdcd06d9718",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "commit_msg",
      "normalized_name": "commit-msg",
      "package_manager": "pnpm",
      "path": "commit_msg.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e607e56ee777345f94772633",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "feb19d4ee5e29625",
      "framework": "next-react",
      "imports": "",
      "lines": 10795,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2a140c0f63da9325ca948aa0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2782522796e51191",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "7495e44ee40a1035cb8597a7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@next/env,@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@next/env, @playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37c6e797b7483a33",
      "framework": "next-react",
      "imports": "@next/env,@playwright/test",
      "lines": 40,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b2ca496b2fadff775ea4d0f1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "security,automation",
      "component_id": "f5e9f211e6f4a1a21fcc1489",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@testing-library/jest-dom,vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@testing-library/jest-dom/matchers, vitest | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5db8a7fb49af5ef",
      "framework": "next-react",
      "imports": "@testing-library/jest-dom/matchers,vitest",
      "lines": 34,
      "logic_relevance": "none",
      "name": "vitest.setup",
      "normalized_name": "vitest-setup",
      "package_manager": "pnpm",
      "path": "vitest.setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "c5a101e5d3eea4544fe896e9",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/providers, @/components/ui/sonner, @vercel/analytics/next, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7afe7595fc43af3",
      "framework": "next-react",
      "imports": "@/components/providers,@/components/ui/sonner,@vercel/analytics/next,next",
      "lines": 156,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "7bca4cf985c740a2180c0df0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e6e0e790c64028e",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "3a1d4723235be142095669f6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "25439f9aa8aad5a5",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "bbd13262def13aa614535170",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dce54ecd0429e275",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "93cf63a49e3050a4576e045e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "df20359853d02f57",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "a3646f7136fe26cf388bc9d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e1385fd2894542ee",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "8054fe14f64b1f23b063bffc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "df8a9531444c45a2",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "a3e73c2fd177e1874bfb65a9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c4ad9f713f7f353a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,security",
      "component_id": "f7475dd76c49c5ccbd581fff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a41e403d04b3d31e",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai,frontend",
      "component_id": "ec0df4276050a4283c7316d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "20f43cd271c5b514",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "586cded9a41d410a044f9028",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3839ccd808dff110",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "6f27885a20233bd20ae69340",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82f5284c398532d9",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "7fd3cee375cbbd3ab9157322",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/feed.xml/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d6405ada766335e",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "1f01169147a10336e0076989",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5387fc2bd243bd68",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "64f00a587d4c4c6e3af89276",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/calendar-api, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f45aed1021ce193",
      "framework": "next-react",
      "imports": "@/lib/calendar-api,next/server",
      "lines": 85,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendar/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,integration,observability",
      "component_id": "f9725e950a7527e79f34a15a",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../route, @/lib/calendar-api, next/server, vitest | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a7118e58783f9aa",
      "framework": "next-react",
      "imports": "../route,@/lib/calendar-api,next/server,vitest",
      "lines": 209,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendar/events/__tests__/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a057f190b36586d8dd2dd1b3",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/capabilities/route | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84453dc8ff435fc9",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "fcfaeb824152b774c220043d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/api-utils, @/lib/server/jules-store | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "673fd046edef20dc",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/plans/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4d838a7930ad543bfdf2a3f9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef754ca12a52bcb7",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d781cb69ec3740ba7a4ecb68",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/api-utils, @/lib/server/network-discovery | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3763e6b96804b5b5",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/network-discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a07ec55ded53ad0843517cfd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/server/api-utils, @/lib/server/network-discovery, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2466f3d1f6223d4",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/network-discovery,@/lib/server/platform-auth",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f2af2710a8dbf286c75dcb95",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/api-utils, @/lib/server/network-discovery | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70312a7df0455530",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/network-discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "cb795de1a4ee430a2de4c573",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "94149034e39c53b2",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,@/lib/server/api-utils",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3cf4fa42391f8c20003f7c45",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a296e4e21a683dc0",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bf0243d8e43875af40d66cc5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, @/lib/server/api-utils | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f31b28b601356743",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,@/lib/server/api-utils",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "533c75a0f2fb3826d869cb88",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eaa72b5c5b1410bd",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability",
      "component_id": "9a4f75bbcf19ae66721ba827",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/mcp-api, vitest | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c123c6c9183442f",
      "framework": "next-react",
      "imports": "./route,@/lib/mcp-api,vitest",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/tools/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "4f30cc224773ffd4cc501721",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/mcp-api, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "39a84ee05eb50f77",
      "framework": "next-react",
      "imports": "@/lib/mcp-api,next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "6e6884ea78a23b5759787b79",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp-api, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b178e5a14feaf91",
      "framework": "next-react",
      "imports": "@/lib/mcp-api,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability",
      "component_id": "0179d68469e62590297d1fde",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../route, @/lib/mcp-api, next/server, vitest | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4fb3e7c8d2bb8783",
      "framework": "next-react",
      "imports": "../route,@/lib/mcp-api,next/server,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/network/__tests__/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "72d70ce3c45be2c6e7c88cc7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp-api, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8af594d40367a535",
      "framework": "next-react",
      "imports": "@/lib/mcp-api,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,integration,observability",
      "component_id": "0402bbcea01ced62d7467114",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../route, @/lib/mcp-api, next/server, vitest | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c4b41225bddba0b",
      "framework": "next-react",
      "imports": "../route,@/lib/mcp-api,next/server,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/sites/__tests__/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "5f4a48f21aabf67ae9cd7a09",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c05f6c6dbe6c90e9",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,process,automation",
      "component_id": "4e94f6b146a5ed6a8f0388d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-integrations, @/lib/server/api-utils, @/lib/server/jules-store | backend-score:125 | observability-score:55 | process-score:45 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e158b3be3b1c2fe9",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils,@/lib/server/jules-store",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/applications/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "8345392163759a910b3c2b45",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/api-utils, @/lib/server/jules-store | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3012d05129eb7a31",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/applications/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security,automation",
      "component_id": "d8cd1193a584326a17685af3",
      "component_kind": "onboarding",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:./[id]/create-session/route, ./route, vitest | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f49c7d89093ec00",
      "framework": "next-react",
      "imports": "./[id]/create-session/route,./route,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/import/route.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "746f25ddb9bcd1578f12001a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/server/api-utils, @/lib/server/jules-store | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f10bd8663c2d4fbc",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/import/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "6f6227fdac4253d67da48444",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3cf96223221a8a14",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/import/[id]/create-kanban-tasks/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "d5f9319c1633d238942e46ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/server/api-utils, @/lib/server/jules-store | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "864f92e321c469a5",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/import/[id]/generate-plan/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "4ea0de8227a01dda5fa5768d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bab7ce2b6d6bd9f",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/import/[id]/generate-docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "e5edcb374e0378efb15907bd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/server/api-utils, @/lib/server/jules-store | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6ab2d43ed9dc23be",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/import/[id]/create-session/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "c5a0462e3cf1ebc5ebab45bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/api-utils, @/lib/server/jules-proxy, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e3a842bdb27c34d2",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-proxy,@/lib/server/platform-auth",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth-status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6f483e70aebb1c657c5a019c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f59b819cdae109c7",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability",
      "component_id": "62f6d682056d43e0938aefa2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | ai-score:75 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b98cd18eca018284",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/evals/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9a8a0d04983b82941268ac99",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d4c40f314512a15",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/browserops/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability",
      "component_id": "3adc8f57e9e6f7f9151f5378",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5016c1ef5a54b8a6",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/mcp/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "a374cfff8d56f590b4f4b6e5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5cbde6ef17365caf",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,process",
      "component_id": "7c80c2874160f58d9217db32",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "97ccdd97940868a5",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/docs/report/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4c7df51372a51758c0483dc9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "da119e7e28f7d862",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/sandbox/dry-run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "0de58d63cfcb4865ad1cf3aa",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3b4adf8f0a07ed43",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/kanban/create-tasks/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7f2db861b98339701e48b31f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-integrations, @/lib/server/api-utils | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7cfcd000557ca8d8",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations,@/lib/server/api-utils",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/kanban/create-tasks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "80a241274f8381e392866cbb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/server/api-utils, @/lib/server/jules-store, @/lib/server/platform-auth, @/lib/server/vercel-metadata | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d56472f479b2588",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store,@/lib/server/platform-auth,@/lib/server/vercel-metadata",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5de39f5fdece82770c965d39",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/server/api-utils, @/lib/server/jules-store, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "780b6ad148e2be88",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store,@/lib/server/platform-auth",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "abb413dbf963a1a5ca7c035e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/server/api-utils, @/lib/server/jules-store, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e32c5f3ab53c52e8",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store,@/lib/server/platform-auth",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/[id]/messages/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "7e56ce592db8a039436b9e2f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/server/api-utils, @/lib/server/jules-store, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "29bc6688407cd112",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store,@/lib/server/platform-auth",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/[id]/plans/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8719abe53e16668d5bd154a7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/server/api-utils, @/lib/server/jules-store, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9f07e2fdeb74877d",
      "framework": "next-react",
      "imports": "@/lib/server/api-utils,@/lib/server/jules-store,@/lib/server/platform-auth",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "7c9a31314af8dc7916422435",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/jules-model, @/lib/server/api-utils, @/lib/server/jules-store, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca235de6a5b68c4b",
      "framework": "next-react",
      "imports": "@/lib/jules-model,@/lib/server/api-utils,@/lib/server/jules-store,@/lib/server/platform-auth",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/import/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,observability",
      "component_id": "6478ad162bc2a4c46f84e295",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, @/lib/kanban-api, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2516d7e9fe11cc3",
      "framework": "next-react",
      "imports": "./route,@/lib/kanban-api,next/server,vitest",
      "lines": 215,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/kanban/tasks/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e00ebfc5b5b1501ea5a40086",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/kanban-api, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c163a7be15019a8",
      "framework": "next-react",
      "imports": "@/lib/kanban-api,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/kanban/tasks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability,security",
      "component_id": "3cd94a4f8b3c9719b23c50e6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/kanban-api, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1f07be284c14e61a",
      "framework": "next-react",
      "imports": "@/lib/kanban-api,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/kanban/board/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,observability",
      "component_id": "8ed07c05a818bd9f8656a9e9",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../route, @/lib/kanban-api, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96853d8d1c350bd1",
      "framework": "next-react",
      "imports": "../route,@/lib/kanban-api,next/server,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/kanban/board/__tests__/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability",
      "component_id": "1462867eb5276229a358debd",
      "component_kind": "agent",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./route, @/lib/server/jules-proxy, vitest | ai-score:120 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b76525f62d64ea0d",
      "framework": "next-react",
      "imports": "./route,@/lib/server/jules-proxy,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v0/agent-run/[id]/route.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "153df8544e84bc0d7e7cd894",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/jules-proxy, @/lib/server/jules-v0, @/lib/types, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f59db85709306308",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy,@/lib/server/jules-v0,@/lib/types,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v0/agent-run/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,backend,observability,automation",
      "component_id": "a421950cf64975a8fe278737",
      "component_kind": "agent",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./route, @/lib/server/jules-proxy, vitest | ai-score:75 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e4461d3b26aa2081",
      "framework": "next-react",
      "imports": "./route,@/lib/server/jules-proxy,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v0/agent-run/[id]/tool-calls/route.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "df43fe7b2d4c4d303bb527d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/jules-proxy, @/lib/server/jules-v0, @/lib/types, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cdb87e13ddce1827",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy,@/lib/server/jules-v0,@/lib/types,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v0/agent-run/[id]/tool-calls/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "a4f761e95314b2c6f5e3bc0b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0d3c9572432b40d3",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v0/realm/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "195673fd3ad3425b91b40735",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "178bbfafef24b184",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/auth-status/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "6c88d8d7343e447ba8b635c4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/jules-proxy, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3b8416b0c53e04e",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/auth-status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,ai",
      "component_id": "3a54a3a7237e41a5a91feb19",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/server/jules-proxy, vitest | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c712ef7e2652ddd1",
      "framework": "next-react",
      "imports": "./route,@/lib/server/jules-proxy,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sessions/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,automation,ai",
      "component_id": "fbb3b368c95eac589d3d97e4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/server/jules-proxy | backend-score:125 | observability-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "06d1b5b947d6456d",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy",
      "lines": 149,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sessions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,ai",
      "component_id": "b62273b2dd6da82e1c9e8bf2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/server/jules-proxy, vitest | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "354545110a739719",
      "framework": "next-react",
      "imports": "./route,@/lib/server/jules-proxy,vitest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sessions/[sessionId]/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,ai",
      "component_id": "2dea2de608b220ec2d05d941",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, POST | imports:@/lib/server/jules-proxy, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "DELETE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a2ac4e55316519ab",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sessions/[sessionId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "b1de43fcf4260db7b9b6f0c3",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/jules-proxy | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2bb53056a50912c",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sessions/[sessionId]/activities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability",
      "component_id": "555e54416efcdb347595bdb8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route, @/lib/server/jules-proxy, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9b07907eb2acc3be",
      "framework": "next-react",
      "imports": "../route,@/lib/server/jules-proxy,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sessions/[sessionId]/activities/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "8ab0e5bb935cceab52f6b098",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/server/jules-proxy | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "646a7f5bae8d56ae",
      "framework": "next-react",
      "imports": "@/lib/server/jules-proxy",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "ffeeaefdc54b3fe0f51da8fa",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route, @/lib/server/jules-proxy, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ba94b7de042700c1",
      "framework": "next-react",
      "imports": "../route,@/lib/server/jules-proxy,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1alpha/sources/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "a7817175b2d20394ebef5123",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/jules-mcp-server, @/lib/platform-integrations, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ecc943f4097e64e2",
      "framework": "next-react",
      "imports": "@/lib/jules-mcp-server,@/lib/platform-integrations,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b9781cdf8a233199d5a560a3",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2a5b49429d78c234",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "010633eaaf7749cca8191b6f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, @/lib/platform-integrations, @/lib/server/api-utils, @/lib/server/jules-proxy, @/lib/server/jules-store, @/lib/server/platform-auth | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "582a37f56f20fe68",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,@/lib/platform-integrations,@/lib/server/api-utils,@/lib/server/jules-proxy,@/lib/server/jules-store,@/lib/server/platform-auth",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,ai",
      "component_id": "74ff68658f09ade733f00ee2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8c3a9438f6007686",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "a68e6822eaacfd31cbe9d19a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jules-mcp-server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83ff0396179fd669",
      "framework": "next-react",
      "imports": "@/lib/jules-mcp-server,next/server",
      "lines": 131,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "0cd5ab8cc66c176463095166",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:openApiSpec | imports:@/lib/platform-discovery | backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "openApiSpec",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76a9944c03ef7f9b",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery",
      "lines": 3,
      "logic_relevance": "none",
      "name": "spec",
      "normalized_name": "spec",
      "package_manager": "pnpm",
      "path": "app/api/docs/spec.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "7ae172a9157e6208f8fe23bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef50bc57dcf0508d",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "318c6a8a30c747b27416ed7d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/jules-mcp-server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28ccb293c568b027",
      "framework": "next-react",
      "imports": "@/lib/jules-mcp-server,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "e85dddb170dd3c132074d674",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "949f5f1ef0c5e9fc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "80352e2a26720284d3bfe95e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7b2be176070c286b",
      "framework": "next-react",
      "imports": "../route,vitest",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "11f70222bf6d21d80d8d602a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/github, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a590b5b3b43c3cad",
      "framework": "next-react",
      "imports": "./route,@/lib/github,vitest",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/github/repositories/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "2c1b1b761d421a6e9e96e231",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/github, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a886403d29995fd9",
      "framework": "next-react",
      "imports": "@/lib/github,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/github/repositories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security",
      "component_id": "8f2677a76a5e3d4b93277cd1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/github, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48cb02b250c19608",
      "framework": "next-react",
      "imports": "./route,@/lib/github,vitest",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/github/repositories/create/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "72e14491851929466a54a1c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/github, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2b4333713a6f0243",
      "framework": "next-react",
      "imports": "@/lib/github,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/github/repositories/create/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security",
      "component_id": "c4e3445fc5d437f038861042",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "168438ad0fd82868",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/github/auth-status/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "d60c4079ae78a535d5ee5af8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/github, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91d43e1ef9b2c4eb",
      "framework": "next-react",
      "imports": "@/lib/github,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/github/auth-status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability,security,automation",
      "component_id": "9b40fecaa1617f2122324367",
      "component_kind": "frontend-hook",
      "confidence": 85,
      "dependency_roots": "crypto,next,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, crypto, next/server, vitest | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4ae47d014313ebe8",
      "framework": "next-react",
      "imports": "./route,crypto,next/server,vitest",
      "lines": 377,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "41b7e2ad04ee2e41e5c79898",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api-types, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec7c191b7f7ea72e",
      "framework": "next-react",
      "imports": "@/lib/api-types,crypto,next/server",
      "lines": 157,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "72fd7f8feda754557e3d532c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07c1dbd4a423b3ee",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "d8e64af5798cb0d52fb0a654",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e71538a48dd832ce",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "88c6834b2e0e3714f372107f",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a2bdae4ded8c6602",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "43518d5cac3d2abebd9d6a84",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:MainLayout | imports:@/components/jules/breadcrumbs | frontend-score:85 | ui-score:55",
      "exports": "MainLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e371c3d50db3e26",
      "framework": "next-react",
      "imports": "@/components/jules/breadcrumbs",
      "lines": 16,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(main)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "08f2607cb5211f0e7ddd729e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionsPage | imports:@/components/jules/header, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/scroll-area, @/hooks/use-jules-api, @/lib/jules-model | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SessionsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "591f4cf01d16087e",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/scroll-area,@/hooks/use-jules-api,@/lib/jules-model,@/lib/platform-response,lucide-react,next/link,swr",
      "lines": 254,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "4686c8d6272874c8b1a946d9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModernizePage | imports:@/components/jules/header, @/components/ui/alert, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/hooks/use-settings | frontend-score:115 | ui-score:70",
      "exports": "ModernizePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0467ce732e359f3a",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/alert,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/hooks/use-settings,@/lib/i18n,lucide-react,react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/modernize/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "5ebc90995ca837542ab1ba86",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModernizeCallbackPage | imports:@/components/jules/header, @/components/ui/card, @/hooks/use-jules-api, @/hooks/use-settings, @/lib/i18n, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "ModernizeCallbackPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fdde682e8639ea6d",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/card,@/hooks/use-jules-api,@/hooks/use-settings,@/lib/i18n,lucide-react,next/navigation,react",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/modernize/callback/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,process",
      "component_id": "38d42673dd0645d36f9d438a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a33bb592fa18bec7",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 25,
      "logic_relevance": "none",
      "name": "roadmap.test",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "app/(main)/roadmap/roadmap.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,process,ui,automation",
      "component_id": "056ea88f089f4da7ae0c1bb7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/jules/header, @/components/ui/badge, @/components/ui/card, @/hooks/use-settings | frontend-score:85 | process-score:80 | ui-score:55 | automation-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bba6b8005d0160e",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/badge,@/components/ui/card,@/hooks/use-settings",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "068bd094965575ce8e5bb3c8",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d30261fa230a3894",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "faq.test",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "app/(main)/faq/faq.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "84c1658df6c5a3eeb3a9c620",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage | imports:@/components/jules/header, @/components/ui/accordion, @/components/ui/card, @/hooks/use-settings, @/lib/i18n | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FaqPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bff62c6dfbd1ad64",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/accordion,@/components/ui/card,@/hooks/use-settings,@/lib/i18n",
      "lines": 64,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "830eb5ec1cf29f53e0b6f3aa",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdaa712b7394a6b1",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/dashboard/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a36a3aeb26db0c065f42bd7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/jules/header, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/hooks/use-jules-api, @/lib/platform-response, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "869fdde8ad5c9aa2",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/hooks/use-jules-api,@/lib/platform-response,lucide-react,next/link,swr",
      "lines": 172,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "59269846c7172b7cdc66c016",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreateSessionPage | imports:@/components/jules/header, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CreateSessionPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "663ef5ab15ddd2e4",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-jules-api,@/lib/jules-model,@/lib/jules-upstream,@/lib/platform-response,lucide-react,next/navigation,react",
      "lines": 464,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(main)/create/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "95a37ee03608fc3231e2f729",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1b77dee6446c784",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "88b80731cfbbaf16f37a26de",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f9ff6041a58ad23",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "e7d5ffe6bff513903f45625a",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,sonner,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, sonner, vitest | frontend-score:85 | ui-score:55 | automation-score:50",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "02d1c0ffe5ad3121",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,sonner,vitest",
      "lines": 75,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "eaf9e9a5183c8a6b2bcfb9d1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:@/components/jules/header, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/textarea, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9342f782e5b2ff41",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/textarea,lucide-react,react,sonner",
      "lines": 96,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "ccbcea5aa48442e4ae78a610",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "459e8c946b5b675c",
      "framework": "next-react",
      "imports": "@/lib/platform-discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "d4588dcebb7ea75833fc4c4f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionDetailPage | imports:@/components/jules/header, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/textarea | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SessionDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f48c731b6d4f813",
      "framework": "next-react",
      "imports": "@/components/jules/header,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/textarea,@/hooks/use-jules-api,@/lib/jules-local-store,@/lib/platform-response,lucide-react,react",
      "lines": 353,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/session/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "8eed42a12142e90c21b12023",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0a96a4be88bf3498",
      "framework": "next-react",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "816f1a0c213f31d8c8e3f5d8",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b00b578ee4bc38fd74747f50",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/hooks,next-themes,swr",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:Providers | imports:@/hooks/use-settings, next-themes, swr | frontend-score:85 | ui-score:55",
      "exports": "Providers",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "feb1409f6bf2d829",
      "framework": "next-react",
      "imports": "@/hooks/use-settings,next-themes,swr",
      "lines": 30,
      "logic_relevance": "none",
      "name": "providers",
      "normalized_name": "providers",
      "package_manager": "pnpm",
      "path": "components/providers.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f1c54b23c1e395aa54f9978b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8793131a861800718945e724",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "64631824d3c7d60ad913817d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c9e41959604bb258b74bd815",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e00160cd876225ccc90b1c6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ec72b05f3e645eb102c1058b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "04cc89162ca0409176cefb5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "363373464c302e9ad80747a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a3f759115027991e7848b34f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4a19fe8e9be0caaf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "73f5683b6da516cbd82f449f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "b36fea946a64f66564958a86",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "348a54c5710bbf06cf4bbce1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ff9b8d81465161f8f838ab81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "be0c340eaba27f69a6428479",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "76925ae0752a3e685b37b97b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fd5d411cfc412f2f2d91ffb8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "fd36f5ad9b97c1330de2b9e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ec860203a2cf6fd5",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ba9aab8fd23e80a7884abd3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ac643f192e747565913b5bfd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "95a2dd431f4f5dadac6e6c2b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "161ee3c250b41731d94c642a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "419f4c96993bfb2d83fcff74",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ac5f0fd99f900e56a17f3067",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f4d8b9eae6e0c75eba59f2ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6780b8e4458e8e81f5701d0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "d96a6f132c8c9903bd312b20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ffe2a3c475c1ba3e08bc54da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "0d3371155d8b2ee90850bc2e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c02e7077d432165388a6c947",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "73dde9e9bc9c4f9e9016f899",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cc4d320a6e819e37",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 219,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "910c0033034a43dd1cc5b6d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "058dd4d5db6653a2058202b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "83e483f3c03ca33d26896d4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "995fc252fd4233afe57c295c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6d9910761a2e87cd64089509",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "3a6ba4894922746a51507896",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "059bbab87eefc83ed96799cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0bd86aca1dd85df06733c3b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a4c7d7fe5fb97b27db8f5e8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e1be5e786dfb673e0b19ba49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e9e2f5afe55a28e6b4350af5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "41bb11dfe4bfa7ae93e692b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2c7a4e36effc108c9424ef5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a15959868140fcded96f084d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7ea17a5c5a2068ce6a4df491",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9b21389beeb75d60ae404391",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "923004b0a292cf2465cfa32b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "c41dfedd8a6782018931be1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ab02bcca859a13d414fe3207",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "49dcdaaec5c1337db257e620",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "259b17077dcc43cdd4864b82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d68a83365e06e757c8374b7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6c9ae3ff245db3118718b63c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c692cddeb6580352f3908c0d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6f4ab1f4304014942e94b800",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "7ca950d4ae6e4aef7e364f6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d8e48875e22fbcbe2ce2fec1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "ae9207ad5348a12a1637068f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BottomNav | imports:@/hooks/use-settings, @/lib/i18n, @/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BottomNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df80115be47eb0f8",
      "framework": "next-react",
      "imports": "@/hooks/use-settings,@/lib/i18n,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 70,
      "logic_relevance": "none",
      "name": "bottom-nav",
      "normalized_name": "bottom-nav",
      "package_manager": "pnpm",
      "path": "components/jules/bottom-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation",
      "component_id": "81f8da4a7353a7ad0f7e0d8c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./activity-item, @/lib/types, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24edc5100f128426",
      "framework": "next-react",
      "imports": "./activity-item,@/lib/types,@testing-library/react,vitest",
      "lines": 128,
      "logic_relevance": "none",
      "name": "activity-item.test",
      "normalized_name": "activity-item",
      "package_manager": "pnpm",
      "path": "components/jules/activity-item.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "3df977a76b748c475ed23a06",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:./empty-state, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9411e559c5b9d87c",
      "framework": "next-react",
      "imports": "./empty-state,@testing-library/react,vitest",
      "lines": 45,
      "logic_relevance": "none",
      "name": "empty-state.test",
      "normalized_name": "empty-state",
      "package_manager": "pnpm",
      "path": "components/jules/empty-state.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,ai",
      "component_id": "ffe041e9a4738c9d01a807ea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmptyState | imports:@/components/ui/button, @/components/ui/card, @/hooks/use-settings, @/lib/i18n, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "EmptyState",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac617c24951cdd25",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/hooks/use-settings,@/lib/i18n,@/lib/utils,lucide-react,next/link",
      "lines": 99,
      "logic_relevance": "none",
      "name": "empty-state",
      "normalized_name": "empty-state",
      "package_manager": "pnpm",
      "path": "components/jules/empty-state.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui",
      "component_id": "0707cf34f3266d5782cc0cfa",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:./breadcrumbs, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1812c4f7055aca96",
      "framework": "next-react",
      "imports": "./breadcrumbs,@testing-library/react,vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/jules/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "23d548bb98e7a5aec76d9dcb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c44322559e61c8e3",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 46,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/jules/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "412d3983252d713912a3344d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionCard, SessionCardSkeleton | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/skeleton, @/lib/types, @/lib/utils, date-fns, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "SessionCard,SessionCardSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf1b97542713bccf",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/skeleton,@/lib/types,@/lib/utils,date-fns,lucide-react,next/link,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "session-card",
      "normalized_name": "session-card",
      "package_manager": "pnpm",
      "path": "components/jules/session-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "90c564cd4f8e783a7c62c8a9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoadingOverlay, LoadingSpinner | imports:@/lib/utils, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "LoadingOverlay,LoadingSpinner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1ae70fbd1339d15",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "loading-overlay",
      "normalized_name": "loading-overlay",
      "package_manager": "pnpm",
      "path": "components/jules/loading-overlay.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "10d526047b12fd3fbd0350c5",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/ui/breadcrumb, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9985aa4abed113a0",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,@testing-library/react,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "breadcrumb-usage.test",
      "normalized_name": "breadcrumb-usage",
      "package_manager": "pnpm",
      "path": "components/jules/breadcrumb-usage.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "9974c56555cc94ada15be021",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./session-card, @/lib/types, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03670974fa960442",
      "framework": "next-react",
      "imports": "./session-card,@/lib/types,@testing-library/react,vitest",
      "lines": 41,
      "logic_relevance": "none",
      "name": "session-card.test",
      "normalized_name": "session-card",
      "package_manager": "pnpm",
      "path": "components/jules/session-card.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6812fc19748042c72ba23045",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./header, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0fe99f81acb42b43",
      "framework": "next-react",
      "imports": "./header,@testing-library/react,vitest",
      "lines": 70,
      "logic_relevance": "none",
      "name": "header.test",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/jules/header.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "c6e1325f1bda2fd4d4119b62",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./loading-overlay, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1356eb02ca5ff521",
      "framework": "next-react",
      "imports": "./loading-overlay,@testing-library/react,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "loading-overlay.test",
      "normalized_name": "loading-overlay",
      "package_manager": "pnpm",
      "path": "components/jules/loading-overlay.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "dc238290257bd1833f086066",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:./code-block, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "65eceaeecc77c4f1",
      "framework": "next-react",
      "imports": "./code-block,@testing-library/react,vitest",
      "lines": 40,
      "logic_relevance": "none",
      "name": "code-block.test",
      "normalized_name": "code-block",
      "package_manager": "pnpm",
      "path": "components/jules/code-block.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b5cc1902acd27fe7c9bb9547",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header, JulesLogo | imports:@/components/ui/button, @/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header,JulesLogo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "181476e66feeeb1e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 87,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/jules/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "69181d86e5ef2c64ac8607ae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeBlock | imports:@/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "040581fc71730542",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "code-block",
      "normalized_name": "code-block",
      "package_manager": "pnpm",
      "path": "components/jules/code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b3b4655ae397357af5e1e062",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActivityItem, ActivityItemSkeleton | imports:./code-block, @/components/ui/badge, @/components/ui/card, @/components/ui/skeleton, @/lib/types, @/lib/utils, date-fns, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ActivityItem,ActivityItemSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26b278fcf4033c31",
      "framework": "next-react",
      "imports": "./code-block,@/components/ui/badge,@/components/ui/card,@/components/ui/skeleton,@/lib/types,@/lib/utils,date-fns,lucide-react,react",
      "lines": 271,
      "logic_relevance": "none",
      "name": "activity-item",
      "normalized_name": "activity-item",
      "package_manager": "pnpm",
      "path": "components/jules/activity-item.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery,ai",
      "component_id": "5678a9e7e83472896420325e",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b68a1cf99f43249d",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "be08e28afb50e8d5d855dfb6",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CACHE_NAME, STATIC_ASSETS | observability-score:55 | security-score:55",
      "exports": "CACHE_NAME,STATIC_ASSETS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bbc1db9f6d5cd3d8",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "sw",
      "normalized_name": "sw",
      "package_manager": "pnpm",
      "path": "public/sw.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "eb145e9e14d47583dad135ed",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "75a49a0c4978f036",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0f0956e8421fd63e8970dac2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "df7fa0a1342730ae",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,ai",
      "component_id": "b4a7396ef490085c21ac7e07",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,swr,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:./use-mcp, @testing-library/react, swr, vitest | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "738a9cbb6bd24f0e",
      "framework": "next-react",
      "imports": "./use-mcp,@testing-library/react,swr,vitest",
      "lines": 112,
      "logic_relevance": "none",
      "name": "use-mcp.test",
      "normalized_name": "use-mcp",
      "package_manager": "pnpm",
      "path": "hooks/use-mcp.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "dd13b4a7c943c0b20e8c3ffe",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@/lib,react,sonner,swr",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:useActivities, useCreateSession, useGitHubRepositories, useJulesAPI, useSession, useSessionActions, useSessions, useSources | imports:./use-settings, @/lib/jules-api, @/lib/jules-local-store, @/lib/jules-model, @/lib/jules-upstream, @/lib/types, react, sonner | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "useActivities,useCreateSession,useGitHubRepositories,useJulesAPI,useSession,useSessionActions,useSessions,useSources",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64f57aced1b0438b",
      "framework": "next-react",
      "imports": "./use-settings,@/lib/jules-api,@/lib/jules-local-store,@/lib/jules-model,@/lib/jules-upstream,@/lib/types,react,sonner,swr",
      "lines": 428,
      "logic_relevance": "none",
      "name": "use-jules-api",
      "normalized_name": "use-jules-api",
      "package_manager": "pnpm",
      "path": "hooks/use-jules-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration",
      "component_id": "16b0241741237c0398a03802",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,swr,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:./use-calendar, @testing-library/react, swr, vitest | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d7c1abb95ecb22c8",
      "framework": "next-react",
      "imports": "./use-calendar,@testing-library/react,swr,vitest",
      "lines": 142,
      "logic_relevance": "none",
      "name": "use-calendar.test",
      "normalized_name": "use-calendar",
      "package_manager": "pnpm",
      "path": "hooks/use-calendar.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "13d83b23c2be78241a6cf4e3",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:SettingsContext, useSettings, useSettingsProvider | imports:@/lib/i18n, @/lib/types, react | security-score:55",
      "exports": "SettingsContext,useSettings,useSettingsProvider",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e6421b46a22bb22",
      "framework": "next-react",
      "imports": "@/lib/i18n,@/lib/types,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "use-settings",
      "normalized_name": "use-settings",
      "package_manager": "pnpm",
      "path": "hooks/use-settings.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,observability",
      "component_id": "cf72f825e47ef591e09e6ed3",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "@/lib,swr",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:useMCPNetwork, useMCPServers, useMCPSites, useMCPTools | imports:@/lib/api-types, swr | integration-score:55 | observability-score:55",
      "exports": "useMCPNetwork,useMCPServers,useMCPSites,useMCPTools",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3061c1e8f5937884",
      "framework": "next-react",
      "imports": "@/lib/api-types,swr",
      "lines": 101,
      "logic_relevance": "none",
      "name": "use-mcp",
      "normalized_name": "use-mcp",
      "package_manager": "pnpm",
      "path": "hooks/use-mcp.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,observability,security",
      "component_id": "4bb47aaca07c1305393edb7f",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@/lib,swr",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:useCalendarEvents, useCalendars, useTodayEvents, useUpcomingEvents | imports:@/lib/api-types, swr | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "useCalendarEvents,useCalendars,useTodayEvents,useUpcomingEvents",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb595663bd9b28d4",
      "framework": "next-react",
      "imports": "@/lib/api-types,swr",
      "lines": 111,
      "logic_relevance": "none",
      "name": "use-calendar",
      "normalized_name": "use-calendar",
      "package_manager": "pnpm",
      "path": "hooks/use-calendar.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "7531002ab4801802708d2414",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,swr,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./use-kanban, @testing-library/react, swr, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "da8dc50549c6f473",
      "framework": "next-react",
      "imports": "./use-kanban,@testing-library/react,swr,vitest",
      "lines": 122,
      "logic_relevance": "none",
      "name": "use-kanban.test",
      "normalized_name": "use-kanban",
      "package_manager": "pnpm",
      "path": "hooks/use-kanban.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "71db4cb0a0faf929c1ffd1bd",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,@testing-library/react,react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Wrapper | imports:./use-settings, @/lib/types, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "Wrapper",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f79798208b8ac321",
      "framework": "next-react",
      "imports": "./use-settings,@/lib/types,@testing-library/react,react,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "use-settings.test",
      "normalized_name": "use-settings",
      "package_manager": "pnpm",
      "path": "hooks/use-settings.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability",
      "component_id": "0fbd14362025af176c2e4753",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,swr",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useKanbanActivities, useKanbanBoard, useKanbanTasks | imports:@/lib/api-types, swr | observability-score:55",
      "exports": "useKanbanActivities,useKanbanBoard,useKanbanTasks",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aefa0caa56669397",
      "framework": "next-react",
      "imports": "@/lib/api-types,swr",
      "lines": 104,
      "logic_relevance": "none",
      "name": "use-kanban",
      "normalized_name": "use-kanban",
      "package_manager": "pnpm",
      "path": "hooks/use-kanban.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,ai",
      "component_id": "3fa9dbe6f5dd23bbbde7b03f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/hooks,@/lib,@testing-library/react,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/hooks/use-jules-api, @/lib/types, @testing-library/react, vitest | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "738d0384add13995",
      "framework": "next-react",
      "imports": "@/hooks/use-jules-api,@/lib/types,@testing-library/react,vitest",
      "lines": 104,
      "logic_relevance": "none",
      "name": "use-jules-api.test",
      "normalized_name": "use-jules-api",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-jules-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security",
      "component_id": "09e0689ed86ab75539b72ea0",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-kanban, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "753bb451339c1371",
      "framework": "next-react",
      "imports": "../use-kanban,@testing-library/react,vitest",
      "lines": 81,
      "logic_relevance": "none",
      "name": "use-kanban.test",
      "normalized_name": "use-kanban",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-kanban.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,integration,security",
      "component_id": "d28e4bba9a5fdae84cff6532",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-calendar, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bd10d65c3cac1621",
      "framework": "next-react",
      "imports": "../use-calendar,@testing-library/react,vitest",
      "lines": 90,
      "logic_relevance": "none",
      "name": "use-calendar.test",
      "normalized_name": "use-calendar",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-calendar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "1d2db5cfbc1da9f8a1f5388f",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-toast, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71b1cb56ee90e01b",
      "framework": "next-react",
      "imports": "../use-toast,@testing-library/react,vitest",
      "lines": 134,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-toast.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "53e7f63cc625842362a7c4ff",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-mobile, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a6cceff8f185a827",
      "framework": "next-react",
      "imports": "../use-mobile,@testing-library/react,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "use-mobile.test",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-mobile.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "c3a7227ce107208369e15210",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-mcp, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a2d0afa2d7ecf9c6",
      "framework": "next-react",
      "imports": "../use-mcp,@testing-library/react,vitest",
      "lines": 87,
      "logic_relevance": "none",
      "name": "use-mcp.test",
      "normalized_name": "use-mcp",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-mcp.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "638a82ed9c5a1e6f8c2a3a7a",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@/lib,@testing-library/react,react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-settings, @/lib/types, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83f1c88a58adb2d5",
      "framework": "next-react",
      "imports": "../use-settings,@/lib/types,@testing-library/react,react,vitest",
      "lines": 134,
      "logic_relevance": "none",
      "name": "use-settings.test",
      "normalized_name": "use-settings",
      "package_manager": "pnpm",
      "path": "hooks/__tests__/use-settings.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "cbd547baaf4a934cadcbcb47",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/mcp-api | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5c82c08131892e20",
      "framework": "next-react",
      "imports": "../lib/mcp-api",
      "lines": 17,
      "logic_relevance": "none",
      "name": "register",
      "normalized_name": "register",
      "package_manager": "pnpm",
      "path": "scripts/register.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "fc848b50197f7049b7596325",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./utils, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f7c2cf1c242bdb8f",
      "framework": "next-react",
      "imports": "./utils,vitest",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation,ai",
      "component_id": "47e6ade01a8f44d077dac78f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getJulesPrompt, julesPrompts, julesResources, julesService, julesTools, mcpDescriptor, protocolVersion, readJulesResource | imports:./jules-model, ./platform-discovery, ./platform-integrations, ./platform-trace, ./server/jules-store, ./server/platform-auth | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "getJulesPrompt,julesPrompts,julesResources,julesService,julesTools,mcpDescriptor,protocolVersion,readJulesResource,routeCatalog,serviceProfile",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "391ad367f8b28a35",
      "framework": "next-react",
      "imports": "./jules-model,./platform-discovery,./platform-integrations,./platform-trace,./server/jules-store,./server/platform-auth",
      "lines": 326,
      "logic_relevance": "primary",
      "name": "jules-mcp-server",
      "normalized_name": "jules-mcp-server",
      "package_manager": "pnpm",
      "path": "lib/jules-mcp-server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "13ae7defe557503b782d1c4a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateGitHubRepositoryInput, GitHubAPIError, GitHubAuthStatus, getGitHubAuthStatus, getGitHubEnvToken, getGitHubEnvUsername, githubRepositoryToSource | imports:./types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CreateGitHubRepositoryInput,GitHubAPIError,GitHubAuthStatus,getGitHubAuthStatus,getGitHubEnvToken,getGitHubEnvUsername,githubRepositoryToSource",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3a0ebd884e31e70d",
      "framework": "next-react",
      "imports": "./types",
      "lines": 208,
      "logic_relevance": "primary",
      "name": "github",
      "normalized_name": "github",
      "package_manager": "pnpm",
      "path": "lib/github.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "8444f5cd8c1ad0eb7dba426d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HealthCheckResult, createRequestContext, finalizeRequestContext, log, measurePerformance, trackError, trackEvent | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "HealthCheckResult,createRequestContext,finalizeRequestContext,log,measurePerformance,trackError,trackEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "10a8ebc5cef3f67f",
      "framework": "next-react",
      "imports": "",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,ai",
      "component_id": "da10fcd9dbf2a59f48048664",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./mcp-api, vitest | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "93fba6a959d871a8",
      "framework": "next-react",
      "imports": "./mcp-api,vitest",
      "lines": 281,
      "logic_relevance": "primary",
      "name": "mcp-api.test",
      "normalized_name": "mcp-api",
      "package_manager": "pnpm",
      "path": "lib/mcp-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "dcc61d44d04f5063704b3edb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, getMCPClient | imports:./api-types | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MCPClient,getMCPClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0ac1c4707a6102cb",
      "framework": "next-react",
      "imports": "./api-types",
      "lines": 266,
      "logic_relevance": "primary",
      "name": "mcp-api",
      "normalized_name": "mcp-api",
      "package_manager": "pnpm",
      "path": "lib/mcp-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "6a66b14fa98a282247edbaeb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TranslationKey, t, translations | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "TranslationKey,t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d7b36694ad1d957b",
      "framework": "next-react",
      "imports": "./types",
      "lines": 269,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "dda2ddd068f5bb06be3637c7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildUpstreamCreateSessionRequest, sourceLabel, upstreamSessionToJulesSession | imports:./jules-model, ./platform-security, ./types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "buildUpstreamCreateSessionRequest,sourceLabel,upstreamSessionToJulesSession",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f3b5776293c2efd1",
      "framework": "next-react",
      "imports": "./jules-model,./platform-security,./types",
      "lines": 190,
      "logic_relevance": "primary",
      "name": "jules-upstream",
      "normalized_name": "jules-upstream",
      "package_manager": "pnpm",
      "path": "lib/jules-upstream.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "8ed8dde2c2bf2f1b1065cc2b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./jules-sources, ./types, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bff422cfee239a4c",
      "framework": "next-react",
      "imports": "./jules-sources,./types,vitest",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "jules-sources.test",
      "normalized_name": "jules-sources",
      "package_manager": "pnpm",
      "path": "lib/jules-sources.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "5b1aa6bbb22aa4f2455e25dd",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AddMessageInput, CreateSessionInput, JULES_BASE_URL, JULES_VERSION, JulesMessage, JulesPlan, JulesSession, JulesTask | imports:./platform-security, zod | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AddMessageInput,CreateSessionInput,JULES_BASE_URL,JULES_VERSION,JulesMessage,JulesPlan,JulesSession,JulesTask,OnboardApplicationImport,OnboardImportInput,addMessageInputSchema,buildImplementationPlan,buildSession,buildTaskBreakdown,createSessionInputSchema,julesMessageSchema,julesPlanSchema,julesPurpose,julesSessionSchema,julesTaskSchema,onboardImportInputSchema,sessionStatusSchema,slugify,sourceSchema,storageModeSchema,syncStatusSchema,visibilitySchema",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b93f8aa60a2d6583",
      "framework": "next-react",
      "imports": "./platform-security,zod",
      "lines": 279,
      "logic_relevance": "secondary",
      "name": "jules-model",
      "normalized_name": "jules-model",
      "package_manager": "pnpm",
      "path": "lib/jules-model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "58cd76247b8361d25d63a856",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:containsLikelySecret, publicSafeText, redactObject, redactSecrets | logic-score:85 | security-score:55",
      "exports": "containsLikelySecret,publicSafeText,redactObject,redactSecrets",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7913627b4ac4f251",
      "framework": "next-react",
      "imports": "",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "platform-security",
      "normalized_name": "platform-security",
      "package_manager": "pnpm",
      "path": "lib/platform-security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "386a86c42e072fa619de2cd6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JulesAPI, JulesAPIError | imports:./jules-model, ./platform-response, ./types | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JulesAPI,JulesAPIError",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "db382b7d91e8b02a",
      "framework": "next-react",
      "imports": "./jules-model,./platform-response,./types",
      "lines": 189,
      "logic_relevance": "primary",
      "name": "jules-api",
      "normalized_name": "jules-api",
      "package_manager": "pnpm",
      "path": "lib/jules-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "fc067541a7465a86356f7039",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:findGitHubRepositoryByReference, findJulesSourceForRepository, normalizeRepositoryReferenceForMatching | imports:./types | logic-score:85",
      "exports": "findGitHubRepositoryByReference,findJulesSourceForRepository,normalizeRepositoryReferenceForMatching",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4fbd6feed702cb93",
      "framework": "next-react",
      "imports": "./types",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "jules-sources",
      "normalized_name": "jules-sources",
      "package_manager": "pnpm",
      "path": "lib/jules-sources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "fca223fe2b1738b31029227a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./analytics, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f71a74cf72dff4b7",
      "framework": "next-react",
      "imports": "./analytics,vitest",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "analytics.test",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,automation,ai",
      "component_id": "267f9e47c2b3e72419927e1e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, Calendar, CalendarEvent, HealthStatus, KanbanActivity, KanbanBoard, KanbanColumn, KanbanTask | logic-score:70 | backend-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "ApiResponse,Calendar,CalendarEvent,HealthStatus,KanbanActivity,KanbanBoard,KanbanColumn,KanbanTask,MCPNetworkInfo,MCPServer,MCPSite,OpenAPIInfo,ServiceHealth,UnifiedActivity,WebhookEventType,WebhookPayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "350bbf13cdf263ae",
      "framework": "next-react",
      "imports": "",
      "lines": 204,
      "logic_relevance": "primary",
      "name": "api-types",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "lib/api-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "41a4aa50c825669a541911f2",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformError, PlatformFailure, PlatformOk, PlatformResponse, fail, ok | logic-score:85",
      "exports": "PlatformError,PlatformFailure,PlatformOk,PlatformResponse,fail,ok",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8c1aae7e8da42e23",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "platform-response",
      "normalized_name": "platform-response",
      "package_manager": "pnpm",
      "path": "lib/platform-response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "7949d0835c73a3be1f5f10e8",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:60",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "25b760d588d98ae0",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "ca2e4def952b315b82c9ed0d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./github, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c325e63db01cb7d0",
      "framework": "next-react",
      "imports": "./github,vitest",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "github.test",
      "normalized_name": "github",
      "package_manager": "pnpm",
      "path": "lib/github.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3770b4c0c4a5079a3adf0029",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createTraceContext | logic-score:85 | observability-score:55",
      "exports": "TraceContext,createTraceContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09163b07f8303e23",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "primary",
      "name": "platform-trace",
      "normalized_name": "platform-trace",
      "package_manager": "pnpm",
      "path": "lib/platform-trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "05d2c9adc33ca13e536b546e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ActivitiesResponse, Activity, AppSettings, Artifact, AutomationMode, BashOutput, ChangeSet, CreateSessionRequest | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ActivitiesResponse,Activity,AppSettings,Artifact,AutomationMode,BashOutput,ChangeSet,CreateSessionRequest,DEFAULT_SETTINGS,GitHubBranch,GitHubRepository,Language,Media,Plan,PlanStep,PullRequest,STATUS_CONFIG,Session,SessionOutput,SessionState,SessionStatus,SessionsResponse,Source,SourceContext,SourcesResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2c961ee7b18ab0c7",
      "framework": "next-react",
      "imports": "",
      "lines": 239,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "428ef7a94b1ac41bcf3b3bea",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:KanbanClient, getKanbanClient | imports:./api-types | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "KanbanClient,getKanbanClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "acea49cafa22b399",
      "framework": "next-react",
      "imports": "./api-types",
      "lines": 187,
      "logic_relevance": "primary",
      "name": "kanban-api",
      "normalized_name": "kanban-api",
      "package_manager": "pnpm",
      "path": "lib/kanban-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "ec483a3e5efa630be65bb230",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IntegrationStatus, PlatformIntegration, buildIntegrationActionResult, canonicalDiscoverySources, platformIntegrations | imports:./jules-model, ./platform-trace | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "IntegrationStatus,PlatformIntegration,buildIntegrationActionResult,canonicalDiscoverySources,platformIntegrations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "70cc601d7304bb6b",
      "framework": "next-react",
      "imports": "./jules-model,./platform-trace",
      "lines": 220,
      "logic_relevance": "primary",
      "name": "platform-integrations",
      "normalized_name": "platform-integrations",
      "package_manager": "pnpm",
      "path": "lib/platform-integrations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "9a7e0d5ecae5ec06eee24bd3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CalendarClient, getCalendarClient | imports:./api-types | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "CalendarClient,getCalendarClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ca9630dc8e90d7e",
      "framework": "next-react",
      "imports": "./api-types",
      "lines": 187,
      "logic_relevance": "primary",
      "name": "calendar-api",
      "normalized_name": "calendar-api",
      "package_manager": "pnpm",
      "path": "lib/calendar-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "506f69b4606a559e3415889f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RouteInventoryItem, buildAgentsJson, buildAiPluginJson, buildLlmsFullTxt, buildLlmsIndex, buildLlmsTxt, buildManifest, buildMcpManifest | imports:./jules-model, ./platform-integrations | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "RouteInventoryItem,buildAgentsJson,buildAiPluginJson,buildLlmsFullTxt,buildLlmsIndex,buildLlmsTxt,buildManifest,buildMcpManifest,buildOpenApiSpec,buildRobotsTxt,buildRssXml,buildSecurityTxt,buildSitemapIndexXml,buildSitemapXml,buildTrustJson,julesMcpPrompts,julesMcpResources,julesMcpTools,requiredTrustLine,routeInventory,toYaml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5bd011c62536e776",
      "framework": "next-react",
      "imports": "./jules-model,./platform-integrations",
      "lines": 528,
      "logic_relevance": "primary",
      "name": "platform-discovery",
      "normalized_name": "platform-discovery",
      "package_manager": "pnpm",
      "path": "lib/platform-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "cff0ac53d31f149df6f01d36",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addLocalMessage, createLocalSession, ensureLocalPlan, sessionToMarkdown | imports:./jules-model, ./platform-security, ./platform-trace | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "addLocalMessage,createLocalSession,ensureLocalPlan,sessionToMarkdown",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cf93b437149768fc",
      "framework": "next-react",
      "imports": "./jules-model,./platform-security,./platform-trace",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "jules-local-store",
      "normalized_name": "jules-local-store",
      "package_manager": "pnpm",
      "path": "lib/jules-local-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "bcede37543f276fe9ac9a8a6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./i18n, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "944b4788c91ce5c4",
      "framework": "next-react",
      "imports": "./i18n,vitest",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "d218807c0c6b3fa6207f75de",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platform-integrations | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f43819c90aa3092",
      "framework": "next-react",
      "imports": "@/lib/platform-integrations",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "network-discovery",
      "normalized_name": "network-discovery",
      "package_manager": "pnpm",
      "path": "lib/server/network-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,ai",
      "component_id": "fbe0b23c0da38f51ae4d4b92",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mapActivitiesToToolCalls, mapSessionToAgentRun | imports:@/lib/types | logic-score:85 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "mapActivitiesToToolCalls,mapSessionToAgentRun",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9a26b32079b066fc",
      "framework": "next-react",
      "imports": "@/lib/types",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "jules-v0",
      "normalized_name": "jules-v0",
      "package_manager": "pnpm",
      "path": "lib/server/jules-v0.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,backend,integration,discovery",
      "component_id": "60fda77dbb11226e7c082b2f",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureSafeResponseMetadata, captureVercelRequestMetadata | automation-score:95 | logic-score:85 | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "captureSafeResponseMetadata,captureVercelRequestMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a2ef19e9311088ce",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "secondary",
      "name": "vercel-metadata",
      "normalized_name": "vercel-metadata",
      "package_manager": "pnpm",
      "path": "lib/server/vercel-metadata.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "f192cb74f4c5a8365cfc9f62",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:configuredPlatformApiKey, isAuthorizedPlatformRequest, platformResponseHeaders, protectedActionResponse, readPlatformApiKey | imports:@/lib/platform-response, @/lib/platform-trace, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "configuredPlatformApiKey,isAuthorizedPlatformRequest,platformResponseHeaders,protectedActionResponse,readPlatformApiKey",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "632c228e16563ccb",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,next/server",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "platform-auth",
      "normalized_name": "platform-auth",
      "package_manager": "pnpm",
      "path": "lib/server/platform-auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "5941e26a96506a9ac771414d",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:errorResponse, jsonFail, jsonOk, requestTrace | imports:./platform-auth, @/lib/platform-response, @/lib/platform-trace, next/server, zod | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "errorResponse,jsonFail,jsonOk,requestTrace",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e94d39caac46e27",
      "framework": "next-react",
      "imports": "./platform-auth,@/lib/platform-response,@/lib/platform-trace,next/server,zod",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "api-utils",
      "normalized_name": "api-utils",
      "package_manager": "pnpm",
      "path": "lib/server/api-utils.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "c405ff9784f83d5b9083352b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JulesProxyOptions, configuredJulesApiKey, julesApiBaseUrl, julesProviderStatus | imports:@/lib/platform-response, @/lib/platform-trace, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "JulesProxyOptions,configuredJulesApiKey,julesApiBaseUrl,julesProviderStatus",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3398333ac491e16f",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,next/server",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "jules-proxy",
      "normalized_name": "jules-proxy",
      "package_manager": "pnpm",
      "path": "lib/server/jules-proxy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security",
      "component_id": "549410fa88babb0c6d13a2cb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./jules-proxy, vitest | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1df97b49fa6591d2",
      "framework": "next-react",
      "imports": "./jules-proxy,vitest",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "jules-proxy.test",
      "normalized_name": "jules-proxy",
      "package_manager": "pnpm",
      "path": "lib/server/jules-proxy.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "8db111d5cadb73d4468ba953",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,node:fs,node:path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:serverStorageStatus | imports:@/lib/jules-model, @/lib/platform-security, node:fs/promises, node:path | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "serverStorageStatus",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "26baa582d3f51302",
      "framework": "next-react",
      "imports": "@/lib/jules-model,@/lib/platform-security,node:fs/promises,node:path",
      "lines": 330,
      "logic_relevance": "primary",
      "name": "jules-store",
      "normalized_name": "jules-store",
      "package_manager": "pnpm",
      "path": "lib/server/jules-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "7942b7f775b9c4eaf7c2df4b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../kanban-api, vitest | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c5db0bdee349146e",
      "framework": "next-react",
      "imports": "../kanban-api,vitest",
      "lines": 222,
      "logic_relevance": "primary",
      "name": "kanban-api.test",
      "normalized_name": "kanban-api",
      "package_manager": "pnpm",
      "path": "lib/__tests__/kanban-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "ab04cd6bc1404fe82d9db04d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../analytics, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bb880efe39e6f0ea",
      "framework": "next-react",
      "imports": "../analytics,vitest",
      "lines": 304,
      "logic_relevance": "primary",
      "name": "analytics.test",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/__tests__/analytics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "12fdedc8487d51b0a8be8804",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../calendar-api, vitest | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f7612e9840087550",
      "framework": "next-react",
      "imports": "../calendar-api,vitest",
      "lines": 256,
      "logic_relevance": "primary",
      "name": "calendar-api.test",
      "normalized_name": "calendar-api",
      "package_manager": "pnpm",
      "path": "lib/__tests__/calendar-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "1c07622f7bdcc6d874ae0e6e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/jules-api, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "811dbc83c3f8e7c5",
      "framework": "next-react",
      "imports": "@/lib/jules-api,vitest",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "jules-api.test",
      "normalized_name": "jules-api",
      "package_manager": "pnpm",
      "path": "lib/__tests__/jules-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "16c2ba1dcc0062846cfc1e26",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9b0ae470161070bc",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 98,
      "logic_relevance": "none",
      "name": "jules-live.spec",
      "normalized_name": "jules-live",
      "package_manager": "pnpm",
      "path": "e2e/jules-live.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-jules",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cc792fdada7de1fdc90ea270",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54f93f90abaa5683",
      "framework": "next-react",
      "imports": "",
      "lines": 7642,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f45d7feb0f5d824972032145",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aa67e327b7ea0923",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "PROJECT_PLAN",
      "normalized_name": "project-plan",
      "package_manager": "pnpm",
      "path": "PROJECT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "de6d2888af4786a3369d7a3c",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "80c8852c458910483bfc6cf1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f0437688ea2b82cd",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "INTEGRATION",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "INTEGRATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "167564aa0e9c92e8ec60efba",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "129f720632b2d937",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "90efc5911e7ad1ebe731fcd0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "35e157f1fb9dfad65d279453",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4e9ed9f9dec0f30",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6bbd81f6078edd90acb6fd9d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "acef5c15cc79140f",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 78,
      "logic_relevance": "none",
      "name": "benchmark2",
      "normalized_name": "benchmark2",
      "package_manager": "pnpm",
      "path": "benchmark2.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "dd87d35300acf1a732a68aea",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:runtime | imports:next | security-score:55 | automation-score:45",
      "exports": "runtime",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "c191bb7ffdb1a62a",
      "framework": "next-react",
      "imports": "next",
      "lines": 116,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "5af5211e0265f754c5d0c1c4",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "09016b2170499247",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "pr_body",
      "normalized_name": "pr-body",
      "package_manager": "pnpm",
      "path": "pr_body.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "46ea69a77cbbb23de5887349",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5c1105eedfbc9599",
      "framework": "next-react",
      "imports": "fs",
      "lines": 68,
      "logic_relevance": "none",
      "name": "patch",
      "normalized_name": "patch",
      "package_manager": "pnpm",
      "path": "patch.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "00d6b3c6872733583c05a4c9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9e9898b9b24cf61a",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 87,
      "logic_relevance": "none",
      "name": "benchmark3",
      "normalized_name": "benchmark3",
      "package_manager": "pnpm",
      "path": "benchmark3.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5a20b6c6076ae036193d46a1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "38587b3310448564",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "eccc6c3a2698ad8c3b712314",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4bc3db2611603a0",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 98,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "12799b2a51629e4182c28491",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b89fa741607eefd",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 87,
      "logic_relevance": "none",
      "name": "benchmark4",
      "normalized_name": "benchmark4",
      "package_manager": "pnpm",
      "path": "benchmark4.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0dd0082043ebf476ba90b24f",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08b9a105a49e5232",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "53e41f6c38f213c99e06b550",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "753bd29e57e4e8b3",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "24c434f4904e6ad85cfce97c",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7eadf8216d219c4f",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "pr_message",
      "normalized_name": "pr-message",
      "package_manager": "pnpm",
      "path": "pr_message.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "43752f5200b60f0fc266640f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:@/lib/vercel, next/server | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca47a87ff915326e",
      "framework": "next-react",
      "imports": "@/lib/vercel,next/server",
      "lines": 178,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,process,security,automation",
      "component_id": "5ac4d6d55961000b0ce941ca",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d25e71c438fac267",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "AGENTS",
      "normalized_name": "agents",
      "package_manager": "pnpm",
      "path": "AGENTS.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4041110142cc6e736d79eadf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "62ae293ba2f56e75a247ddf7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2933c3b1180dcb5",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 94,
      "logic_relevance": "none",
      "name": "benchmark",
      "normalized_name": "benchmark",
      "package_manager": "pnpm",
      "path": "benchmark.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "45b836c61f864c496cd99c8f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/logger, ./lib/mcp-register | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "97da3c7dd9d19b1e",
      "framework": "next-react",
      "imports": "./lib/logger,./lib/mcp-register",
      "lines": 19,
      "logic_relevance": "none",
      "name": "instrumentation",
      "normalized_name": "instrumentation",
      "package_manager": "pnpm",
      "path": "instrumentation.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "security,automation",
      "component_id": "d6c950ba2eadd0025e1ce7b8",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Request | imports:vitest | security-score:55 | automation-score:45",
      "exports": "Request",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d91028718391be20",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 47,
      "logic_relevance": "none",
      "name": "vitest.setup",
      "normalized_name": "vitest-setup",
      "package_manager": "pnpm",
      "path": "vitest.setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "0ec8817fbd292b7ed0aad594",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "eslint,eslint-config-next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:eslint, eslint-config-next | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4209ac44d577b4db",
      "framework": "next-react",
      "imports": "eslint,eslint-config-next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "pnpm",
      "path": "eslint.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "d17f2d28a7727d744abce97c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Activity, Column, CustomField, Rule, RuleAction, RuleCondition, Subtask, Task | observability-score:55 | automation-score:45",
      "exports": "Activity,Column,CustomField,Rule,RuleAction,RuleCondition,Subtask,Task,TaskHistoryEvent,TaskPriority",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "39c754d7e950730c",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "kanban",
      "normalized_name": "kanban",
      "package_manager": "pnpm",
      "path": "types/kanban.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "4ea8cd3daf468f9fad053f64",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/constants, next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9c89416f674b75f",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 73,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "255de03b02939dcad2402d47",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/constants, next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e57f2983b6bfc82",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 150,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "a900e0bf6ad31b18cfccd706",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/ph3ar-modal, @/components/theme-provider, @/components/ui/toaster, @/lib/constants, @/lib/json-ld, @vercel/analytics/react, @vercel/speed-insights/next, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3735f864602b531c",
      "framework": "next-react",
      "imports": "@/components/ph3ar-modal,@/components/theme-provider,@/components/ui/toaster,@/lib/constants,@/lib/json-ld,@vercel/analytics/react,@vercel/speed-insights/next,next,next/font/google,next/script",
      "lines": 247,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "c94dc3670e078c6085324f6f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:@/lib/constants, next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4cf3293f0369940f",
      "framework": "next-react",
      "imports": "@/lib/constants,next",
      "lines": 70,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "c4255faba140df7d870a8673",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/kanban-board | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb5a69cb458ebae6",
      "framework": "next-react",
      "imports": "@/components/kanban-board",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "style",
      "component_id": "39fff4114cb1e0d2096890ce",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for workflow; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f54b20daa8fa0db8",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "26a63ded40e505184d6cce1a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3ec1444e12ffa636",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "68f4c7459f1b82dda72bb112",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, revalidate | imports:../feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6838ff19b724cfdc",
      "framework": "next-react",
      "imports": "../feed.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "4b81ec69a557a6fa40c610cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/board-store, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b0c2323e4a0a9cb6",
      "framework": "next-react",
      "imports": "@/lib/board-store,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,automation",
      "component_id": "bc3d2ffd689747fdda4aa9f1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ | imports:@/components/network-breadcrumbs | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "FAQ",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5be394ab77ba638c",
      "framework": "next-react",
      "imports": "@/components/network-breadcrumbs",
      "lines": 37,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "c420633ce042f9e75caddead",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5df47c7da1145e95",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6dc73356151c14241b4c0208",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fe2c94130e5b11d6",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/utils,next/server",
      "lines": 223,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/links.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "8563a3a255ff799dfc2cc702",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:../agent.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0d0e2f8ab26161f8",
      "framework": "next-react",
      "imports": "../agent.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "fbbc3a94203b31f9c1dcc96f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3ba04d23a57a4990",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d312e1218d8890bed9826ee5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bb684a81159e16aa",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "45bfde537d8d612f181539a8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "194766991c3fb6de",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "742b6d093b30d8dc23dfa03d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/utils, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "96cca2d730597162",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/utils,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "87c81f4597751557b522c495",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, revalidate | imports:../../api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "GET,OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57fd39441bdf4505",
      "framework": "next-react",
      "imports": "../../api/mcp/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "1e0766ac872b3f93bf8b4c94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, fs, next/server, path | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b39f7cf7fe45c255",
      "framework": "next-react",
      "imports": "@/lib/constants,fs,next/server,path",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "11cd5b16a37d75c427565388",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/board-store, @/lib/constants, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "265af79fa0c34e39",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "536cab6d96fe98e562d23581",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f640ee2fddff3270",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "5f1292f658717727d841fb5c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/types/kanban, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23e43793e226ebe4",
      "framework": "next-react",
      "imports": "@/lib/constants,@/types/kanban,next/server",
      "lines": 120,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e6a89a1d9bf1d4c06b675c6e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/board-store, @/lib/constants, @/lib/platform-api, @/types/kanban, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56858a6f97fe2e84",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,@/lib/platform-api,@/types/kanban,next/server",
      "lines": 147,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tasks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "65e2151466f1d13e17a31d63",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/board-store, @/lib/constants, @/lib/platform-api, @/types/kanban, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "980375196aaef15c",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,@/lib/platform-api,@/types/kanban,next/server",
      "lines": 226,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tasks/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "021524c145f8ce8de682ff34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "60c5bb714bf930d8",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tasks/[id]/move/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "869f9b7231a19c249ff8156a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a74a2794b8eee06",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tasks/[id]/complete/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "7d8f0e180c077debfcdefac9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9577f94f76dd8c8b",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tasks/[id]/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "b6edb95bb53dcfe21b7bdd5b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c2e763a5a983eea4",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tasks/[id]/reopen/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "333840d5391fdd42d31d5fc3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/public-calendar-store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b94eac9cbdcc876f",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/public-calendar-store,next/server",
      "lines": 239,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendar/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "128b2e57e0b1ad3f02b80891",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/public-calendar-store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "45f593eab7cf39af",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/public-calendar-store,next/server",
      "lines": 121,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendar/projects/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "a765d5ee4f6b8c0f1811424b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "525803ea20d144b8",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/calendar/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "ec13edfe321224f6c13ca1ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/board-store, @/lib/constants, @/lib/platform-api, @/types/kanban, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23143ce4cd2ee541",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,@/lib/platform-api,@/types/kanban,next/server",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/board/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "a509fc01611afe95f725c694",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/platform-api, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef6cfbe0e6f19d8c",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/platform-api,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/projects/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "ebcc1ce63c2b6849dd6562f8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3965b3f840758991",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/projects/sync/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "455bb6fce74550c2af8df444",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa4ba96760699b23",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/utils,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "39eaaac76a5b2276dd5a084a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, POST, revalidate | imports:@/lib/constants, @/lib/kanban-api-handlers, @/lib/platform-api, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6fa95cab4a74e96",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/kanban-api-handlers,@/lib/platform-api,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "9840cf8999f8291e2ad84c1f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "beef16d65bdc07f9",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend,security",
      "component_id": "598af9e258fedde315e52254",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, revalidate | imports:@/lib/constants, @/lib/kanban-api-handlers, @/lib/platform-api, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "542a84e52eb872da",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/kanban-api-handlers,@/lib/platform-api,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "8f1266aebe28a73228277b4e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, revalidate | imports:@/lib/kanban-api-handlers, @/lib/platform-api, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33b0fda0e488fe1c",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,@/lib/platform-api,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend,security",
      "component_id": "98ca5340f6b6cf4a6cbb29bb",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, revalidate | imports:@/lib/kanban-api-handlers, @/lib/platform-api, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b50301ff7d5e202e",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,@/lib/platform-api,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,backend,integration,automation",
      "component_id": "2c12d9d7fe11da4e908d6cab",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad5a651f78d2cffd",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/webhooklab/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ai,frontend,backend",
      "component_id": "b3cd899b5e3490acba1b4a2d",
      "component_kind": "ai-eval",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "AI component for workflow; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | ai-score:75 | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1ae6f4aa31365126",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/evals/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "9e25db553b2e59f2f2a4dab0",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e376bb842d9baeea",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/browserops/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "1a48f53a6f563cbe45f9f90f",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a1539d167ae0410",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/sandbox/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "61b136d68560dd372eb2092d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1327ba2fa5efe20",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 156,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/onboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,security,discovery",
      "component_id": "2fc89c4aa7e0a0d81febc338",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, revalidate | imports:@/lib/constants, @/lib/kanban-api-handlers, @/lib/platform-api, next/server | frontend-score:55 | backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0db9901716d3ea4e",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/kanban-api-handlers,@/lib/platform-api,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "4bc785afdf7364463d46610a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "735326b2e4e2a1c9",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "4ba0e839420b9605e159772b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa2da77fd6c3aef7",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "0134e88250a35f0dba4916c8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "GET,OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "773b548f5dfecb2f",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "89b3fa1e0b8833a02b7e6346",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "13d057016b1aaa25",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "f4ca958d519b66153144fd37",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54789f46bff531b6",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/[id]/columns/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "a5eed6dfb98d46c24060f9dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a407b2f507739e9a",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/[id]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "130e8980d65323234430f464",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c2050407ef210df",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/boards/import/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability,security",
      "component_id": "3a89b6ff8678cdf84a38308d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/board-store, @/lib/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fbfaf1242d949ee4",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/activities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "3e129a662ae3da29f402c64f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, revalidate | imports:@/lib/kanban-api-handlers, next/server | backend-score:125 | frontend-score:55",
      "exports": "OPTIONS,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8c6c5cd795592592",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/columns/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "ef35a0854bf9e36c8bdffe55",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efaba45137ba54c4",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/columns/[id]/reorder/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "800c4a107acecf22d9e4a686",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d00e4d560ad4fe95",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend,observability,security",
      "component_id": "60603d7a2738aa27c6306c01",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, revalidate | imports:@/lib/kanban-api-handlers, @/lib/platform-api, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "GET,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "325597a8f2bc11b1",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,@/lib/platform-api,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/status/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "124eeace99fe8d0d9827756c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9ffa5964fef89411",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 120,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,discovery,automation,ai",
      "component_id": "6e1dae4044b126c09a82794a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0acb64862f584cbe",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 714,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "32d07829871fc844bb361eba",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e4148eca704c525",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend,process",
      "component_id": "cd9beef2b1dccca1a8d8742a",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55 | process-score:45",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7e45bbcc35fd7bb",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,backend",
      "component_id": "62d0e40baf3aa9a66b622905",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:OPTIONS, POST, revalidate | imports:@/lib/kanban-api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "OPTIONS,POST,revalidate",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "940f316e6ea7605d",
      "framework": "next-react",
      "imports": "@/lib/kanban-api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "34406bd9a7d4498135aeabc7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:../v1/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63556a249cccdd1d",
      "framework": "next-react",
      "imports": "../v1/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "1f02d2f65dced1f6b61ac4ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BoardData, revalidate | imports:@/lib/board-store, @/lib/constants, @/lib/mcp-client, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "BoardData,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "42018a9e6ac9d241",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,@/lib/mcp-client,next/server",
      "lines": 600,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "88c9848cbdfece692d3613bc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "960b8b7bc3a55a27",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,integration",
      "component_id": "2ff889c93bd8cd5568b53259",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:./platphormnews/route | backend-score:55 | integration-score:55",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "05a8faa974442004",
      "framework": "next-react",
      "imports": "./platphormnews/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "14c20ecfcf71e4d9520a08d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:WebhookEventType, WebhookPayload, revalidate | imports:@/lib/board-store, @/lib/constants, @/lib/logger, @/types/kanban, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "WebhookEventType,WebhookPayload,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b0f360efbec4c0f7",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,@/lib/logger,@/types/kanban,next/server",
      "lines": 371,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/platphormnews/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,security,discovery",
      "component_id": "63e0b738251daa713c6e5b4a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cd76ec792f87f0b6",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "e6221b1502ebdc9f20405d89",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "acf69c47d5dc9d20",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/utils,next/server",
      "lines": 178,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,security,automation",
      "component_id": "f5a6966bd9356cedc3c22aeb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9b4090bb92b54c08",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 258,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "77c90b973b685de16d2dd8a2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/constants, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9b2f32655e58d95f",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/utils,next/server",
      "lines": 421,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network.manifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2fee2d5863d7cbde92bed2e5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a907a4837bf02600",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "aa78400924749405b487d5fc",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "a4f3f7a36753bdf443525818",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CalendarIntegration | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/separator, @/components/ui/switch, @/hooks/use-toast, @/lib/constants | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "CalendarIntegration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8208fb34046b468",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/separator,@/components/ui/switch,@/hooks/use-toast,@/lib/constants,@/lib/storage,@/types/kanban,lucide-react,react",
      "lines": 469,
      "logic_relevance": "none",
      "name": "calendar-integration",
      "normalized_name": "calendar-integration",
      "package_manager": "pnpm",
      "path": "components/calendar-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ed48ba46b547a3c529e95a13",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@/types,@hello-pangea/dnd,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KanbanBoard | imports:@/components/automation-rules, @/components/calendar-integration, @/components/column, @/components/faq, @/components/network-breadcrumbs, @/components/task-detail-sidebar, @/components/theme-toggle, @/components/ui/button | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "KanbanBoard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "567b34aef23d5437",
      "framework": "next-react",
      "imports": "@/components/automation-rules,@/components/calendar-integration,@/components/column,@/components/faq,@/components/network-breadcrumbs,@/components/task-detail-sidebar,@/components/theme-toggle,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/components/user-settings,@/hooks/use-keyboard-shortcuts,@/hooks/use-toast,@/lib/automation,@/lib/constants,@/lib/storage,@/lib/utils,@/types/kanban,@hello-pangea/dnd,lucide-react,react",
      "lines": 891,
      "logic_relevance": "none",
      "name": "kanban-board",
      "normalized_name": "kanban-board",
      "package_manager": "pnpm",
      "path": "components/kanban-board.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bd7406600680ebee3e338ca7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserSettings, useUserSettings | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/label, @/components/ui/select, @/components/ui/separator, @/components/ui/sheet, @/components/ui/switch | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "UserSettings,useUserSettings",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba3107c32bfef279",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/sheet,@/components/ui/switch,lucide-react,react",
      "lines": 447,
      "logic_relevance": "none",
      "name": "user-settings",
      "normalized_name": "user-settings",
      "package_manager": "pnpm",
      "path": "components/user-settings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a87fd0ab0a4ef12e739bfbb5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,@hello-pangea/dnd,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TaskCard | imports:@/components/ui/badge, @/lib/utils, @/types/kanban, @hello-pangea/dnd, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TaskCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8591cec19333f3d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/lib/utils,@/types/kanban,@hello-pangea/dnd,lucide-react,react",
      "lines": 173,
      "logic_relevance": "none",
      "name": "task-card",
      "normalized_name": "task-card",
      "package_manager": "pnpm",
      "path": "components/task-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b84ef2a6476fc26db6285f45",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Ph3arModal | imports:@/components/ui/dialog, @/lib/constants, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Ph3arModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6117a810c554ff6f",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/constants,@/lib/utils,lucide-react,react",
      "lines": 162,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "540bbe63832c717ec78b594c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkBreadcrumbs | imports:@/components/ui/breadcrumb, @/lib/constants, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkBreadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6ec0f545a78edf5",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,@/lib/constants,lucide-react,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "network-breadcrumbs",
      "normalized_name": "network-breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/network-breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,logic,observability,security",
      "component_id": "42a0e21c0170e10472cab5f5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AutomationRules | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator, @/components/ui/switch | frontend-score:115 | automation-score:95 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "AutomationRules",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f03037b94b2927f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,@/lib/utils,@/types/kanban,lucide-react,react",
      "lines": 192,
      "logic_relevance": "secondary",
      "name": "automation-rules",
      "normalized_name": "automation-rules",
      "package_manager": "pnpm",
      "path": "components/automation-rules.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fbb146685975e3a0c7f92649",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51f4461a9e910994",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next-themes,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "cc06106ace673fc879d46b49",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,date-fns,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TaskDetailSidebar | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/calendar, @/components/ui/input, @/components/ui/label, @/components/ui/popover, @/components/ui/select, @/components/ui/separator | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TaskDetailSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "669df8e761869d95",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/calendar,@/components/ui/input,@/components/ui/label,@/components/ui/popover,@/components/ui/select,@/components/ui/separator,@/components/ui/sheet,@/components/ui/textarea,@/lib/utils,@/types/kanban,date-fns,lucide-react,react",
      "lines": 432,
      "logic_relevance": "none",
      "name": "task-detail-sidebar",
      "normalized_name": "task-detail-sidebar",
      "package_manager": "pnpm",
      "path": "components/task-detail-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "ddbec7de6319508d7cc45bbf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ | imports:@/components/ui/accordion | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQ",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06ef5f873a86db1d",
      "framework": "next-react",
      "imports": "@/components/ui/accordion",
      "lines": 42,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/faq.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bcc41b030cc9af9521cc9271",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@/types,@hello-pangea/dnd,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Column | imports:@/components/task-card, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/utils, @/types/kanban, @hello-pangea/dnd, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Column",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "149a54cd3c3ee1fd",
      "framework": "next-react",
      "imports": "@/components/task-card,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/utils,@/types/kanban,@hello-pangea/dnd,lucide-react,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "column",
      "normalized_name": "column",
      "package_manager": "pnpm",
      "path": "components/column.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "3fba46be75c9f247a30d547b",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aa78700639d4d00e1a8e072b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "85161bf91359c89d8cb42760",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8cd2d165ec5e3998e9135b5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9ecf205515b6f67f5a509e53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "302d492e4842726d94c086c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b649747eae7d29ac68dab307",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "20ecbc05563454321ae12ba4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9c9208d678ac4b961d94690e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "23352611c8cdbe2ee67bf351",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "dc9b6356f71d3eaf1b7d9b4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "d8a8a2f06ddfed5821535333",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0120df2db54b9b944c20de50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a196343e19f5c45ecb624c05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e95b0800ae96305",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 363,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "79923d21e0c8c0e571ac1364",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "27f79da9fffaeed57e5a94ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ab76c7a798e58cc67c02f192",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dc38c4deeabf71724d4ca6f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "04af7ca1cd3c4ba9306b096c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "388b1990966f727c808d19a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "590b5430ef0f4541b37d8bfd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "db8e556d10f5d532b85bf5b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3eb9397117c7f5a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8df61635dc8859656fc32579",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "433aa543804cc48217c78298",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "faf1e2071ea244ca80a9c540",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bc8b4d0ba74b0b510bf74805",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c0825d6d147064cda3d6e352",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "aa7fb211f8236b8963da43c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c2b1abc454325f29d3a89125",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "95d4c5cedca56096e3929f2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "91cb47d8f17e896e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6534f740afe89408ec610993",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c16eeab4422f206cdbd9d0bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ad620724462b62057aceea1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c9db42dd4f1e202d7e6d72b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6f56a71ae6e59ac0d3df1bad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "35bffd5b86235efe98688e46",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bc7419216484b975bf8aee7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1cf454947b45ac9dc84b1321",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3b0d6f1be28c79cb86667cb7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c18418e0a3fd225fba3fd6d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "14714659be2694d1dd185df9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e3d048bf4df18b3f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 773,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dd0a9f382fa384d66e3d31f4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "51be7d89d1efabf02b653376",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5cb5491aadb34e97f61802a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3700678fc8b0d5667909e9f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "90412032875c89d31705c971",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4874f8ca9c25669b279029f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "cd71f3cc82cf5be57d428036",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ad7f9aa29406aed89b38f6df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4ad0997a89d3356470bfd7e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fcae6b51af020d0780303452",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2cc42ed88d427846fb722b01",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6919e2552105d955a4ff48a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ac2ea7ef5fc20f38b2c11114",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5854c9b2255524ac8786e454",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "77e37d0efaab6c5e027ac899",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0a1f32e8bf0b093ce5fa595c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,discovery,automation",
      "component_id": "3f5b71028eb740f2e654c8db",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f16b4a8b26ca0193",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "public/json-ld.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "578b9095531412e20b83b472",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c03ff2d43477a666",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "eb7a66f03e61735469eeacb1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,@/proxy,next,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MockNextResponse | imports:@/lib/vercel, @/proxy, next/server, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "MockNextResponse",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0d27d512e5f0997",
      "framework": "next-react",
      "imports": "@/lib/vercel,@/proxy,next/server,vitest",
      "lines": 290,
      "logic_relevance": "none",
      "name": "proxy.test",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "__tests__/proxy.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,observability,security,automation",
      "component_id": "0e9d38567df42dbc4d5502f7",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:SECRET | imports:@/app/api/webhooks/platphormnews/route, @/lib/board-store, next/server, vitest | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "SECRET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c56b77947c32b43a",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/platphormnews/route,@/lib/board-store,next/server,vitest",
      "lines": 148,
      "logic_relevance": "none",
      "name": "calendar-sync.test",
      "normalized_name": "calendar-sync",
      "package_manager": "pnpm",
      "path": "__tests__/integration/calendar-sync.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation",
      "component_id": "630dcaa4e7e1955354ef7b41",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/app,@/lib,@/types,next,vitest",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/board/route, @/lib/constants, @/lib/storage, @/types/kanban, next/server, vitest | process-score:80 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bc2f199c3a5b730d",
      "framework": "next-react",
      "imports": "@/app/api/v1/board/route,@/lib/constants,@/lib/storage,@/types/kanban,next/server,vitest",
      "lines": 361,
      "logic_relevance": "none",
      "name": "board-workflow.test",
      "normalized_name": "board-workflow",
      "package_manager": "pnpm",
      "path": "__tests__/integration/board-workflow.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,integration,observability,security,ai",
      "component_id": "2661ce4def11979a35e5e357",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/constants, next/server, vitest | process-score:80 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b4df7acb3276a35d",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/constants,next/server,vitest",
      "lines": 251,
      "logic_relevance": "none",
      "name": "mcp-workflow.test",
      "normalized_name": "mcp-workflow",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp-workflow.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability",
      "component_id": "90d328c31442b4f214476f22",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,@testing-library/react,@testing-library/user-event,react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResizeObserver | imports:@/components/task-detail-sidebar, @/types/kanban, @testing-library/react, @testing-library/user-event, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ResizeObserver",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17e23b1e24a3454a",
      "framework": "next-react",
      "imports": "@/components/task-detail-sidebar,@/types/kanban,@testing-library/react,@testing-library/user-event,react,vitest",
      "lines": 128,
      "logic_relevance": "none",
      "name": "task-detail-sidebar.test",
      "normalized_name": "task-detail-sidebar",
      "package_manager": "pnpm",
      "path": "__tests__/components/task-detail-sidebar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c1956aa444e1a20befb62954",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResizeObserver, STORAGE_KEY, TestComponent | imports:@/components/user-settings, @testing-library/react, @testing-library/user-event, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ResizeObserver,STORAGE_KEY,TestComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3eaa6ab27a775250",
      "framework": "next-react",
      "imports": "@/components/user-settings,@testing-library/react,@testing-library/user-event,react,vitest",
      "lines": 443,
      "logic_relevance": "none",
      "name": "user-settings.test",
      "normalized_name": "user-settings",
      "package_manager": "pnpm",
      "path": "__tests__/components/user-settings.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "e3fba950067f11be8ba18451",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@/hooks,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/hooks/use-toast, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d541f54a457c5d73",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,@testing-library/react,vitest",
      "lines": 152,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "__tests__/hooks/use-toast.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "ac20cfe5effa91bd57ef87e4",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../hooks/use-mobile, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c248f06c1de087e0",
      "framework": "next-react",
      "imports": "../../hooks/use-mobile,@testing-library/react,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "use-mobile.test",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "__tests__/hooks/use-mobile.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "74559d1552746fb297aef19c",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../hooks/use-keyboard-shortcuts, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48fdd7ade63a12ae",
      "framework": "next-react",
      "imports": "../../hooks/use-keyboard-shortcuts,@testing-library/react,vitest",
      "lines": 206,
      "logic_relevance": "none",
      "name": "use-keyboard-shortcuts.test",
      "normalized_name": "use-keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "__tests__/hooks/use-keyboard-shortcuts.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "7ab52cc052f2c1800ed329cb",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,@/types,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/board-store, @/types/kanban, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6e8cbd464439669",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/types/kanban,vitest",
      "lines": 256,
      "logic_relevance": "primary",
      "name": "board-store.test",
      "normalized_name": "board-store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/board-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,integration",
      "component_id": "d188b03d6c4c5f76ca399121",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/public-calendar-store, vitest | logic-score:60 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8666edaad759982b",
      "framework": "next-react",
      "imports": "@/lib/public-calendar-store,vitest",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "public-calendar-store.test",
      "normalized_name": "public-calendar-store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/public-calendar-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,automation",
      "component_id": "a768566b8acbed178532d4fc",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "176219eda7213f66",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "777227a4ca69f1dc7c3879ba",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL | imports:@/lib/mcp-client, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49d9926a9ff22196",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,vitest",
      "lines": 643,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "ce89d60390ed659d5b901240",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/constants, @/lib/logger, @/lib/mcp-register, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e89c2e4d9496d09e",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/logger,@/lib/mcp-register,vitest",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "mcp-register.test",
      "normalized_name": "mcp-register",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp-register.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "0dc2ce7322c9d17c955f34cb",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel, next/server, vitest | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7741d0cd5046fcbd",
      "framework": "next-react",
      "imports": "@/lib/vercel,next/server,vitest",
      "lines": 194,
      "logic_relevance": "secondary",
      "name": "vercel.test",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "__tests__/lib/vercel.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,logic,observability",
      "component_id": "bb45da8b5ed2733c14f192c1",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,vitest",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:FUTURE, PAST | imports:@/lib/automation, @/types/kanban, vitest | automation-score:95 | logic-score:85 | observability-score:55",
      "exports": "FUTURE,PAST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "803650fdda2ef682",
      "framework": "next-react",
      "imports": "@/lib/automation,@/types/kanban,vitest",
      "lines": 396,
      "logic_relevance": "secondary",
      "name": "automation.test",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "__tests__/lib/automation.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "311455b194149dec027d8ec2",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@/types,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/storage, @/types/kanban, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae90c580b479cbdf",
      "framework": "next-react",
      "imports": "@/lib/storage,@/types/kanban,vitest",
      "lines": 572,
      "logic_relevance": "primary",
      "name": "storage.test",
      "normalized_name": "storage",
      "package_manager": "pnpm",
      "path": "__tests__/lib/storage.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "d5f3636dd5560ba04f4c23b2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL | imports:@/lib/mcp-client, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9691e55b66d28765",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,vitest",
      "lines": 418,
      "logic_relevance": "primary",
      "name": "mcp-client-extended.test",
      "normalized_name": "mcp-client-extended",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp-client-extended.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "3ca18071e6793de4128322e6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/constants, @/lib/json-ld, vitest | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "963e876b8c21d534",
      "framework": "next-react",
      "imports": "@/lib/constants,@/lib/json-ld,vitest",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "json-ld.test",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "__tests__/lib/json-ld.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "25d2867586cdcdef1b491cf3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/constants, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d0d06342a110beaa",
      "framework": "next-react",
      "imports": "@/lib/constants,vitest",
      "lines": 113,
      "logic_relevance": "primary",
      "name": "constants.test",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "__tests__/lib/constants.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "83056c54c72eec45bc909ad9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, vitest | logic-score:60 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "89a2e53d41dcd93a",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "ffb8a7a74031d56e5d3ea85f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/constants, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac2fe8ab9a6f1fb0",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/constants,next/server,vitest",
      "lines": 231,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6d194da7c44eeaf43bbe390a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@/types,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/tasks/[id]/route, @/lib/board-store, @/lib/constants, @/types/kanban, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2bdd519ef00eb086",
      "framework": "next-react",
      "imports": "@/app/api/v1/tasks/[id]/route,@/lib/board-store,@/lib/constants,@/types/kanban,next/server,vitest",
      "lines": 240,
      "logic_relevance": "none",
      "name": "tasks-id.test",
      "normalized_name": "tasks-id",
      "package_manager": "pnpm",
      "path": "__tests__/api/tasks-id.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "f74a8f97429450e6faf5eed9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/board/route, @/lib/constants, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eb1d478f6906824c",
      "framework": "next-react",
      "imports": "@/app/api/v1/board/route,@/lib/constants,next/server,vitest",
      "lines": 193,
      "logic_relevance": "none",
      "name": "board.test",
      "normalized_name": "board",
      "package_manager": "pnpm",
      "path": "__tests__/api/board.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "1ceea4b9ffb1168015b32404",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/events/route, @/lib/constants, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd28654ccdbf0330",
      "framework": "next-react",
      "imports": "@/app/api/v1/events/route,@/lib/constants,next/server,vitest",
      "lines": 195,
      "logic_relevance": "none",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "__tests__/api/events.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "9cfed6ed621e740595054135",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/constants, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7da72db48b67ab07",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/constants,next/server,vitest",
      "lines": 597,
      "logic_relevance": "none",
      "name": "mcp-tools.test",
      "normalized_name": "mcp-tools",
      "package_manager": "pnpm",
      "path": "__tests__/api/mcp-tools.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,discovery",
      "component_id": "095711889478b21fd91c29d2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/sitemap, vitest | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "069a8b840a5f2693",
      "framework": "next-react",
      "imports": "@/app/sitemap,vitest",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/api/sitemap.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery,automation",
      "component_id": "7b9c715f1690819b22f4debe",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/openapi.json/route, @/lib/constants, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "69e0a9d6c61bcb41",
      "framework": "next-react",
      "imports": "@/app/api/v1/openapi.json/route,@/lib/constants,vitest",
      "lines": 98,
      "logic_relevance": "none",
      "name": "openapi.test",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "__tests__/api/openapi.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend,observability,security",
      "component_id": "8736fe4dee60ac5d1348ab1b",
      "component_kind": "onboarding",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/onboard/route, @/lib/constants, next/server, vitest | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f8b397839fe35a90",
      "framework": "next-react",
      "imports": "@/app/api/v1/onboard/route,@/lib/constants,next/server,vitest",
      "lines": 97,
      "logic_relevance": "none",
      "name": "onboard.test",
      "normalized_name": "onboard",
      "package_manager": "pnpm",
      "path": "__tests__/api/onboard.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ui,backend,integration,observability,security",
      "component_id": "0a87a54c85eb005e7cd6441b",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "UI component for ai; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/app/api/v1/calendar/route, @/lib/constants, @/lib/public-calendar-store, next/server, vitest | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d725c133fb6738b3",
      "framework": "next-react",
      "imports": "@/app/api/v1/calendar/route,@/lib/constants,@/lib/public-calendar-store,next/server,vitest",
      "lines": 162,
      "logic_relevance": "none",
      "name": "calendar.test",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "__tests__/api/calendar.test.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security",
      "component_id": "b2a57a00a018228ba9e1681f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/calendar/mcp/route, @/lib/constants, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d747e9af47f10e2f",
      "framework": "next-react",
      "imports": "@/app/api/v1/calendar/mcp/route,@/lib/constants,next/server,vitest",
      "lines": 146,
      "logic_relevance": "none",
      "name": "calendar-mcp.test",
      "normalized_name": "calendar-mcp",
      "package_manager": "pnpm",
      "path": "__tests__/api/calendar-mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "42d30ba4c74e2d56efaa1e22",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/ai-plugin.json/route, @/app/.well-known/links.json/route, @/app/llms-full.txt/route, @/app/llms-index.json/route, @/app/llms.txt/route, @/app/network.manifest/route, @/lib/constants, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "20cc1f9e94529a76",
      "framework": "next-react",
      "imports": "@/app/.well-known/ai-plugin.json/route,@/app/.well-known/links.json/route,@/app/llms-full.txt/route,@/app/llms-index.json/route,@/app/llms.txt/route,@/app/network.manifest/route,@/lib/constants,next/server,vitest",
      "lines": 136,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "__tests__/api/discovery.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bfbe5f8e1d46adad14eadbb7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@/types,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/tasks/route, @/lib/board-store, @/lib/constants, @/types/kanban, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "289e249f7dafcb28",
      "framework": "next-react",
      "imports": "@/app/api/v1/tasks/route,@/lib/board-store,@/lib/constants,@/types/kanban,next/server,vitest",
      "lines": 227,
      "logic_relevance": "none",
      "name": "tasks.test",
      "normalized_name": "tasks",
      "package_manager": "pnpm",
      "path": "__tests__/api/tasks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery,process",
      "component_id": "7ebef3e35b89835e41e534ed",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, @/lib/constants, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77e36517ed8986a6",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/lib/constants,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "9559554d8718922df22e8799",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/feed.xml/route, @/lib/board-store, vitest | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f528c34bfd3be8bb",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route,@/lib/board-store,vitest",
      "lines": 89,
      "logic_relevance": "none",
      "name": "feed.test",
      "normalized_name": "feed",
      "package_manager": "pnpm",
      "path": "__tests__/api/feed.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "f49049bf08b269e55c7e51b1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@/types,next,vitest",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/ascii/route, @/lib/constants, @/types/kanban, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "067a287de891f6c3",
      "framework": "next-react",
      "imports": "@/app/api/v1/ascii/route,@/lib/constants,@/types/kanban,next/server,vitest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "ascii.test",
      "normalized_name": "ascii",
      "package_manager": "pnpm",
      "path": "__tests__/api/ascii.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability,security",
      "component_id": "93c734b00e73fa434edbdba7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@/types,next,vitest",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/activities/route, @/lib/board-store, @/lib/constants, @/types/kanban, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "07f8f840a7047199",
      "framework": "next-react",
      "imports": "@/app/api/v1/activities/route,@/lib/board-store,@/lib/constants,@/types/kanban,next/server,vitest",
      "lines": 111,
      "logic_relevance": "none",
      "name": "activities.test",
      "normalized_name": "activities",
      "package_manager": "pnpm",
      "path": "__tests__/api/activities.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "ccf4829bbf0b73f42040237b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SECRET | imports:@/app/api/webhooks/platphormnews/route, @/lib/board-store, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "SECRET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f4ee2822d3381a07",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/platphormnews/route,@/lib/board-store,next/server,vitest",
      "lines": 181,
      "logic_relevance": "none",
      "name": "webhook.test",
      "normalized_name": "webhook",
      "package_manager": "pnpm",
      "path": "__tests__/api/webhook.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,security",
      "component_id": "1fa1d0256a96debde2b2fa9b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/calendar/projects/route, @/app/api/v1/calendar/route, @/lib/constants, @/lib/public-calendar-store, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c204cafeaf95d8f4",
      "framework": "next-react",
      "imports": "@/app/api/v1/calendar/projects/route,@/app/api/v1/calendar/route,@/lib/constants,@/lib/public-calendar-store,next/server,vitest",
      "lines": 94,
      "logic_relevance": "none",
      "name": "calendar-projects.test",
      "normalized_name": "calendar-projects",
      "package_manager": "pnpm",
      "path": "__tests__/api/calendar-projects.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4bc3f37079d391a6832f5859",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/health/route, @/lib/constants, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b414414ec295f603",
      "framework": "next-react",
      "imports": "@/app/api/v1/health/route,@/lib/constants,next/server,vitest",
      "lines": 68,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,security,automation",
      "component_id": "8350a0e49448150f9786b400",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "48c63e05cf076117",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "517e0372e882189045ac1c58",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b953a2237dc1f286",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,security,automation",
      "component_id": "adc576066daf8d0421d887df",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f2991a58085c6c7c",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "60469d3df9015c1be562a367",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:commonShortcuts, useKeyboardShortcuts | imports:react | observability-score:55 | security-score:55",
      "exports": "commonShortcuts,useKeyboardShortcuts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dc54ca160601e6bf",
      "framework": "next-react",
      "imports": "react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "use-keyboard-shortcuts",
      "normalized_name": "use-keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "hooks/use-keyboard-shortcuts.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "eea1bb1ba995daa46a77e223",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorCode, fail, getPlatphormApiKey, isProtectedAuthorized, isTrustedPlatphormOrigin, ok | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ApiErrorCode,fail,getPlatphormApiKey,isProtectedAuthorized,isTrustedPlatphormOrigin,ok",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5097f5219ca5e63e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "platform-api",
      "normalized_name": "platform-api",
      "package_manager": "pnpm",
      "path": "lib/platform-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "b853d089cf1027c1ee0d5da0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BoardPersistedState, BoardServerState, CALENDAR_SETTINGS_KEY, CalendarSettings, STORAGE_KEY, STORAGE_VERSION, clearBoard, hasSavedBoard | imports:@/types/kanban | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "BoardPersistedState,BoardServerState,CALENDAR_SETTINGS_KEY,CalendarSettings,STORAGE_KEY,STORAGE_VERSION,clearBoard,hasSavedBoard,isEventImported,isTaskSynced,loadBoard,loadCalendarSettings,markEventImported,markTaskSynced,saveBoard,saveCalendarSettings",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "de562d86c5b0ce0c",
      "framework": "next-react",
      "imports": "@/types/kanban",
      "lines": 340,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "pnpm",
      "path": "lib/storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "a2d6ef01fa4b7dc1036cd6e5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpClient, McpClientConfig, McpContentItem, McpError, McpManifest, McpTimeoutError, McpTool, McpToolInputSchema | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "McpClient,McpClientConfig,McpContentItem,McpError,McpManifest,McpTimeoutError,McpTool,McpToolInputSchema,McpToolResult,createClawsMcpClient,createCobolMcpClient,createHubMcpClient,createKeysMcpClient,createLocalMcpClient,createNetworkMcpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c803f09e5e8ccdca",
      "framework": "next-react",
      "imports": "",
      "lines": 325,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "022a5f20c36d5e378737ff3f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpRegistrationPayload | imports:./constants, ./logger | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "McpRegistrationPayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bdf805e32f45b222",
      "framework": "next-react",
      "imports": "./constants,./logger",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "mcp-register",
      "normalized_name": "mcp-register",
      "package_manager": "pnpm",
      "path": "lib/mcp-register.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "69329507851d4631b9f5bd4e",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, corsHeaders, formatDate, generateId | imports:clsx, tailwind-merge | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "cn,corsHeaders,formatDate,generateId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1c5f910a0ecc1f36",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "2772b72976783c43130250ad",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BOARD_STORE_VERSION, BoardServerState, DEFAULT_COLUMNS, addActivity, addTaskHistory, getBoard, getTaskHistory, validateBoardPayload | imports:./logger, @/types/kanban | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BOARD_STORE_VERSION,BoardServerState,DEFAULT_COLUMNS,addActivity,addTaskHistory,getBoard,getTaskHistory,validateBoardPayload",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cd96836c2d2cad12",
      "framework": "next-react",
      "imports": "./logger,@/types/kanban",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "board-store",
      "normalized_name": "board-store",
      "package_manager": "pnpm",
      "path": "lib/board-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "d68eed093a587ab555dd5a64",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:logger | logic-score:85 | observability-score:55",
      "exports": "logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a0b2d61455351078",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "785186bfab91d30f85bae3d2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_VERSION, CORS_ORIGINS, CORS_ORIGIN_PATTERN, I18N, MCP, MCP_MANIFEST, OG, ORGANIZATION | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "API_VERSION,CORS_ORIGINS,CORS_ORIGIN_PATTERN,I18N,MCP,MCP_MANIFEST,OG,ORGANIZATION,PROJECTS,PROJECTS_URL,ProjectId,SITE,VERCEL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b182b22e303567fa",
      "framework": "next-react",
      "imports": "",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability",
      "component_id": "e645153d70d223b10914c2d9",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ApplyRulesResult, applyRules, checkCondition | imports:@/types/kanban | automation-score:95 | logic-score:85 | observability-score:55",
      "exports": "ApplyRulesResult,applyRules,checkCondition",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a2e0887da9eefe13",
      "framework": "next-react",
      "imports": "@/types/kanban",
      "lines": 103,
      "logic_relevance": "secondary",
      "name": "automation",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "lib/automation.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security",
      "component_id": "b6f7306cda23e5e448b9ee82",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PublicCalendarEvent, PublicCalendarProject, clearPublicCalendarStore, listPublicCalendarEvents, listPublicCalendarProjects, seedPublicCalendarEvents, upsertPublicCalendarEvent | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "PublicCalendarEvent,PublicCalendarProject,clearPublicCalendarStore,listPublicCalendarEvents,listPublicCalendarProjects,seedPublicCalendarEvents,upsertPublicCalendarEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "632a8f99b512d1cd",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "public-calendar-store",
      "normalized_name": "public-calendar-store",
      "package_manager": "pnpm",
      "path": "lib/public-calendar-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,discovery,automation,ai",
      "component_id": "ceb01a58e3ec512daf25a561",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:faqJsonLd, organizationJsonLd, pageJsonLd, webApplicationJsonLd, webSiteJsonLd | imports:./constants | logic-score:85 | observability-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "faqJsonLd,organizationJsonLd,pageJsonLd,webApplicationJsonLd,webSiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ef0640b9884e9824",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 131,
      "logic_relevance": "primary",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "lib/json-ld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,security",
      "component_id": "48126a8869f7ac2c32a11ae3",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:RiskScore, VercelBotInfo, computeRiskScore, detectLocale, getBotInfo, getDeploymentContext, getJa4Digest, isSuspiciousFingerprint | imports:next/server | automation-score:95 | logic-score:85 | integration-score:55 | security-score:55 | uses-env",
      "exports": "RiskScore,VercelBotInfo,computeRiskScore,detectLocale,getBotInfo,getDeploymentContext,getJa4Digest,isSuspiciousFingerprint,isVerifiedSearchBot",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "670cf094b8bc1572",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 187,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "1dbc01b9be719cb381ab297d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/types,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:corsHeaders, degradedCapability, options, projectIdFrom, taskHistory | imports:@/lib/board-store, @/lib/constants, @/lib/platform-api, @/types/kanban, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "corsHeaders,degradedCapability,options,projectIdFrom,taskHistory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b0f7dec31e4f7c43",
      "framework": "next-react",
      "imports": "@/lib/board-store,@/lib/constants,@/lib/platform-api,@/types/kanban,next/server",
      "lines": 212,
      "logic_relevance": "primary",
      "name": "kanban-api-handlers",
      "normalized_name": "kanban-api-handlers",
      "package_manager": "pnpm",
      "path": "lib/kanban-api-handlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-kanban",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "101a1d324824fd384c3b2aa4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd564bcfd316476e",
      "framework": "next-react",
      "imports": "",
      "lines": 5780,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "2b6cb368dcf1ac932d7fb73b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "452e10df06ec315d",
      "framework": "next-react",
      "imports": "",
      "lines": 299,
      "logic_relevance": "none",
      "name": "FILE_MANIFEST",
      "normalized_name": "file-manifest",
      "package_manager": "pnpm",
      "path": "FILE_MANIFEST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,process,observability,security,automation",
      "component_id": "1748b792ac45afac10a00a89",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7834d7e96993124c",
      "framework": "next-react",
      "imports": "",
      "lines": 253,
      "logic_relevance": "none",
      "name": "COMPLETION_REPORT",
      "normalized_name": "completion-report",
      "package_manager": "pnpm",
      "path": "COMPLETION_REPORT.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "3564b414eec353e0b2d5d6a3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1c29b25a06a1fef6",
      "framework": "next-react",
      "imports": "",
      "lines": 322,
      "logic_relevance": "none",
      "name": "BUILD_SUMMARY",
      "normalized_name": "build-summary",
      "package_manager": "pnpm",
      "path": "BUILD_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bc23efcf0f81047d1098a505",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dfba12d2e39bf5c9",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "aef4641be643dc18af861a55",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29629034c8722d93",
      "framework": "next-react",
      "imports": "",
      "lines": 8349,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "484a5bfdc6eaf355514bbbd9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3c13f19f70d6a9f7",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e9526abbdf196708597768b8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bc874b35c62c279c",
      "framework": "next-react",
      "imports": "",
      "lines": 260,
      "logic_relevance": "none",
      "name": "KEYS_MANAGEMENT_README",
      "normalized_name": "keys-management-readme",
      "package_manager": "pnpm",
      "path": "KEYS_MANAGEMENT_README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bedc38fe603b1217fecae376",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/keys/audit, @/lib/keys/encryption, @/lib/keys/logger | process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "152e342ef56f8bc8",
      "framework": "next-react",
      "imports": "@/lib/keys/audit,@/lib/keys/encryption,@/lib/keys/logger",
      "lines": 520,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_GUIDE",
      "normalized_name": "implementation-guide",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "0b39826140cfc5cbc60bc426",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e21f3ccc9b4e276c",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "TECHNICAL_DOCUMENTATION",
      "normalized_name": "technical-documentation",
      "package_manager": "pnpm",
      "path": "TECHNICAL_DOCUMENTATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "0baabc5d1b529e815adf561e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "path,vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:path, vitest/config | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ded8b96628a4899",
      "framework": "next-react",
      "imports": "path,vitest/config",
      "lines": 22,
      "logic_relevance": "none",
      "name": "vitest.config",
      "normalized_name": "vitest-config",
      "package_manager": "pnpm",
      "path": "vitest.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2880fc75a673fc3140571456",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:./lib/keys/encryption | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "37a1ce225f4f3685",
      "framework": "next-react",
      "imports": "./lib/keys/encryption",
      "lines": 368,
      "logic_relevance": "none",
      "name": "SECURITY_AUDIT",
      "normalized_name": "security-audit",
      "package_manager": "pnpm",
      "path": "SECURITY_AUDIT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery",
      "component_id": "ce880796aa2b7bb1dd168c46",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/config/network, next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f801d0bd722d0f2",
      "framework": "next-react",
      "imports": "@/lib/config/network,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,security,discovery",
      "component_id": "daf65e844ab52359526d52d9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/config/network, next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a27782b15b6fe8c5",
      "framework": "next-react",
      "imports": "@/lib/config/network,next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0e98be29dd575bdee5a15838",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/footer, @/components/layout/header, @/components/ui/sonner, @/lib/config/network, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83081f23d3cab37e",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/ui/sonner,@/lib/config/network,@vercel/analytics/next,next,next/font/google",
      "lines": 194,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "34879ea93ff6908d23d41e92",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KeysPage, metadata | imports:@/components/keys/key-list, @/lib/config/network, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "KeysPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5903db617a50cda",
      "framework": "next-react",
      "imports": "@/components/keys/key-list,@/lib/config/network,lucide-react,next",
      "lines": 114,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "cf49d7a7c384b07282b3f6f9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "9a97c03b2be805a4434a3351",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/network | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f2839031a9f6035c",
      "framework": "next-react",
      "imports": "@/lib/config/network",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "7285f8ea9ec886f0e38c653c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/network | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e5b7afdfca20e356",
      "framework": "next-react",
      "imports": "@/lib/config/network",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "54d59412441e23c92e27bc7e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/accordion, @/lib/config/network, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cca88bd6a24d5c34",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/lib/config/network,lucide-react,next",
      "lines": 218,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "ba5caa2980db7836ab90602b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "007350c40368e37f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 228,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "a49b320e1003963f1feb3d98",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/keys/encryption, @/lib/keys/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "954effb46b965834",
      "framework": "next-react",
      "imports": "@/lib/keys/encryption,@/lib/keys/logger,next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "838a99bd9017cafa5d239e24",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/keys/db, @/lib/keys/logger, @/lib/keys/middleware, @/lib/keys/types, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9c6774ec79bf9356",
      "framework": "next-react",
      "imports": "@/lib/keys/db,@/lib/keys/logger,@/lib/keys/middleware,@/lib/keys/types,nanoid,next/server",
      "lines": 228,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "634c632c487835877a1efa9f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,nanoid,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST, ProvisionKeySchema | imports:@/lib/keys/db, @/lib/keys/logger, @/lib/keys/middleware, @/lib/keys/types, crypto, nanoid, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "OPTIONS,POST,ProvisionKeySchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "baa667e4334bcca5",
      "framework": "next-react",
      "imports": "@/lib/keys/db,@/lib/keys/logger,@/lib/keys/middleware,@/lib/keys/types,crypto,nanoid,next/server,zod",
      "lines": 263,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/provision/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1bb36de1597922bd281dd3ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, VALIDATION_RATE_LIMIT, VALIDATION_RATE_WINDOW | imports:@/lib/keys/db, @/lib/keys/encryption, @/lib/keys/logger, @/lib/keys/types, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST,VALIDATION_RATE_LIMIT,VALIDATION_RATE_WINDOW",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9800db1ae1d118de",
      "framework": "next-react",
      "imports": "@/lib/keys/db,@/lib/keys/encryption,@/lib/keys/logger,@/lib/keys/types,nanoid,next/server",
      "lines": 166,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "95b15898069b949ec15edd48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@/lib/keys/db, @/lib/keys/logger, @/lib/keys/middleware, @/lib/keys/types, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7720934253360923",
      "framework": "next-react",
      "imports": "@/lib/keys/db,@/lib/keys/logger,@/lib/keys/middleware,@/lib/keys/types,nanoid,next/server",
      "lines": 341,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/[keyId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "383941616a0bd2e819bfa914",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/keys/db, @/lib/keys/logger, @/lib/keys/middleware, @/lib/keys/types, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "413b999704a34114",
      "framework": "next-react",
      "imports": "@/lib/keys/db,@/lib/keys/logger,@/lib/keys/middleware,@/lib/keys/types,nanoid,next/server",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/[keyId]/rotate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a78b815a5feeaa78864e6d0f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/keys/middleware, @/lib/keys/telemetry, @/lib/keys/types, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e0a3def805a403b",
      "framework": "next-react",
      "imports": "@/lib/keys/middleware,@/lib/keys/telemetry,@/lib/keys/types,nanoid,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/telemetry/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation",
      "component_id": "3593f796fec33c83b2647b6b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b3986941de33eb5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 585,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "bac756084061e6e3b117ce33",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b3eb6196d6144d6aa93d463e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "1b9b0f01453d9b9160cf8884",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "156e0e6e45de725a1b6b15d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "296abb1f473bd3abe6e839bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bd4c45f38a0dc8f6fe89152e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f22388798296939c2e51fcea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d3789d36ecca525fd00505d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bff8e5611f720fbcedb671a8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "8eea164ddddb8f4d1247b958",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "97f40a3a36ea3e3e17c93cb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5e617e0e8305478d5d064992",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "50127140271103f351ff7279",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "6974a53a241175f737321c9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b43b57e12fa61049b900355b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a83ef855544cd616a3edeb88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d99a02bb0e83c8c63dc35905",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6b53cc3d82b4ca3b41123602",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "61a3f6e831a97590af50d40c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "154ba70455ee2aaf969ee122",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3fc7c17d7cb1879e26b6a89e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7c60183d41f9ec5cb6b9e02c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "769da6969c70c21bbbabef90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "889fbc68a1fbbb6c5c51547d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7c40e614da7115a2454eba1c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2531a8738156cc472eace248",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "518cc949af4c43b107f585a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ca8ec87707a75221e1b63bbd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e7cec5b1f5f94021d37c0b10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "10070d30e88239dda29f3b60",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ad61793567281a21f87edc71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "b7d7e37a15ab3841dbbf041b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a32c220f03e37c935e28921c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5d3699a12d2295a62cacb195",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dea42a9154f068288323a227",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6ef3674f12809c7d45c9b77a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c30ddf04a571954160a9f3c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "2916c7dc71f690e835e95bb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "185b6d89d93b404339363f8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "18c511b49f7acba61356f599",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "177420cbc00be428cb9a9046",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "60aea65edeae5cfcb9c5d805",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bad92737c9692f3110f7ddf4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "449e71093a22c0d4f72c397e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dfdf0a03a082dd521f40e516",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "00fd269f6e291e62ad41e96c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "01a744947433f00a1aaa007b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5e57fb93db77d41e9eeaeccc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "656d55a88df3fc4aca4172c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "fb15626626a0e782e08a75dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1f2b3b2b81431bebcb64e63d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "64f27b648f850c149f586346",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "84d284b2d54aae8db67714c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3ab9b04ac4f6bd106817bcbd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "59542b239b3dca1a767175b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "f5da1f7b393414c8061430d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "87127cd3f3ac4bac014fe1fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "0b59a14f6b95f869b4cf64ce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d66f0e3f92394a8967080182",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "24bdd30857fdf24bfa8b134e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/config/network, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abf8d7b8ce6ec4f6",
      "framework": "next-react",
      "imports": "@/lib/config/network,lucide-react,next/link",
      "lines": 141,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c3d27baee1a988ba6d991b96",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/lib/config/network, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "315c7eb73f780ae0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/config/network,lucide-react,next/link,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a573a7965d8d2f0e673ac40c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KeyList | imports:./create-key-dialog, ./key-detail-sheet, @/components/ui/alert-dialog, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/skeleton, @/components/ui/table | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "KeyList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17d77ff3c13bce8c",
      "framework": "next-react",
      "imports": "./create-key-dialog,./key-detail-sheet,@/components/ui/alert-dialog,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/skeleton,@/components/ui/table,@/components/ui/tooltip,@/lib/keys/types,lucide-react,react,sonner,swr",
      "lines": 423,
      "logic_relevance": "none",
      "name": "key-list",
      "normalized_name": "key-list",
      "package_manager": "pnpm",
      "path": "components/keys/key-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "13bfd0967cd195f1e93a766b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KeyDetailSheet | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/separator, @/components/ui/sheet, @/lib/keys/types, lucide-react, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "KeyDetailSheet",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "012707615e32a924",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/components/ui/sheet,@/lib/keys/types,lucide-react,react,sonner",
      "lines": 202,
      "logic_relevance": "none",
      "name": "key-detail-sheet",
      "normalized_name": "key-detail-sheet",
      "package_manager": "pnpm",
      "path": "components/keys/key-detail-sheet.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f807081e910091799cf8d837",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@hookform/resolvers,lucide-react,react,react-hook-form,sonner,zod",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreateKeyDialog | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/checkbox, @/components/ui/dialog, @/components/ui/form, @/components/ui/input, @/lib/keys/actions, @hookform/resolvers/zod | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CreateKeyDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81d24feed7c4a861",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/checkbox,@/components/ui/dialog,@/components/ui/form,@/components/ui/input,@/lib/keys/actions,@hookform/resolvers/zod,lucide-react,react,react-hook-form,sonner,zod",
      "lines": 267,
      "logic_relevance": "none",
      "name": "create-key-dialog",
      "normalized_name": "create-key-dialog",
      "package_manager": "pnpm",
      "path": "components/keys/create-key-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "03de81438ae023071a981f94",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cc885ccf903813ac",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "__tests__/setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "12cf50acca9ffba703714132",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/keys/audit, @/lib/keys/logger, @aws-sdk/lib-dynamodb, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3d1defdb1f8bef89",
      "framework": "next-react",
      "imports": "@/lib/keys/audit,@/lib/keys/logger,@aws-sdk/lib-dynamodb,vitest",
      "lines": 121,
      "logic_relevance": "primary",
      "name": "audit.test",
      "normalized_name": "audit",
      "package_manager": "pnpm",
      "path": "__tests__/lib/audit.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "42918c67a55640d65ca519c2",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/keys/types, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d9ac41cd7ed155ef",
      "framework": "next-react",
      "imports": "@/lib/keys/types,vitest",
      "lines": 249,
      "logic_relevance": "primary",
      "name": "types.test",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "__tests__/lib/types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "9a506a70cfad1ddcb13f2aa4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/keys/db, @aws-sdk/lib-dynamodb, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "caed44d0a5e26bc1",
      "framework": "next-react",
      "imports": "@/lib/keys/db,@aws-sdk/lib-dynamodb,vitest",
      "lines": 118,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "__tests__/lib/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "6818fbc4c6807fdba42bdece",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/keys/encryption, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd1847298340e409",
      "framework": "next-react",
      "imports": "@/lib/keys/encryption,vitest",
      "lines": 149,
      "logic_relevance": "primary",
      "name": "encryption.test",
      "normalized_name": "encryption",
      "package_manager": "pnpm",
      "path": "__tests__/lib/encryption.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "36a807bd6a8ab8be540e0b5e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/keys/mask, vitest | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "543971a43b143dea",
      "framework": "next-react",
      "imports": "@/lib/keys/mask,vitest",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "mask.test",
      "normalized_name": "mask",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mask.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "c3fc8726ef576235b277b65e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/keys/logger, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f97ba201edf7c426",
      "framework": "next-react",
      "imports": "@/lib/keys/logger,vitest",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b407b886dc7f97253730c0b3",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/keys/types, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a2ba24fa141d6d61",
      "framework": "next-react",
      "imports": "@/lib/keys/types,vitest",
      "lines": 249,
      "logic_relevance": "none",
      "name": "keys.test",
      "normalized_name": "keys",
      "package_manager": "pnpm",
      "path": "__tests__/api/keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "64565a3ebcf8177ae6c9cdbd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6c5dc37a5e6ad18d",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "785a7d2e2805a8d2a7e7a55e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5b44e4ac593deeb3",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "66539e0723f9244acdaec672",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:SENSITIVE_FIELDS_REGEX | process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SENSITIVE_FIELDS_REGEX",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "abde6c4195e25894",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "42cb415ac0d3f5a0d76dc175",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@aws-sdk/client-dynamodb",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@aws-sdk/client-dynamodb | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7c2f591de455daf",
      "framework": "next-react",
      "imports": "@aws-sdk/client-dynamodb",
      "lines": 173,
      "logic_relevance": "none",
      "name": "init-dynamodb",
      "normalized_name": "init-dynamodb",
      "package_manager": "pnpm",
      "path": "scripts/init-dynamodb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "44067bbe27df7c7697d7ce38",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7ab78c7aeffa5d44bdf330fb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FOOTER_LINKS, NAVIGATION_ITEMS, NETWORK_CONFIG | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "FOOTER_LINKS,NAVIGATION_ITEMS,NETWORK_CONFIG",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "121b8733ebac6663",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/config/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "97b70f0dd1b1182270b3377e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthResult, RateLimitResult, extractRequestContext, getMissingScopes, getRateLimitInfo, hasRequiredScopes | imports:./db, ./logger, ./types, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "AuthResult,RateLimitResult,extractRequestContext,getMissingScopes,getRateLimitInfo,hasRequiredScopes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4447f87215edbe68",
      "framework": "next-react",
      "imports": "./db,./logger,./types,next/server",
      "lines": 290,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/keys/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "ad14a8120575450580aee6a1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, ApiKey, AuditEntry, CreateKeyRequest, CreateKeyRequestSchema, CreateKeyResponse, KEY_SCOPES, KEY_STATUS | imports:zod | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiError,ApiKey,AuditEntry,CreateKeyRequest,CreateKeyRequestSchema,CreateKeyResponse,KEY_SCOPES,KEY_STATUS,KeyMetadata,KeyScope,KeyScopeSchema,KeyStatus,ListKeysQuery,ListKeysQuerySchema,ListKeysResponse,RateLimitInfo,RequestContext,RotateKeyResponse,UpdateKeyRequest,UpdateKeyRequestSchema,VALID_SCOPES,ValidateKeyRequest,ValidateKeyRequestSchema,ValidateKeyResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3e1caedaf5a8902",
      "framework": "next-react",
      "imports": "zod",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/keys/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c243f38dcce7884ecd97adef",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, Logger, logger | imports:./mask | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LogContext,LogLevel,Logger,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "59e131cca3df2ed7",
      "framework": "next-react",
      "imports": "./mask",
      "lines": 241,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/keys/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "b975c817e602eb5c99977c53",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:KeyOperationAttributes, Span, SpanAttributes, SpanEvent, TraceContext, addSpanEvent, createDisplayTraceId, createTraceContext | imports:nanoid | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "KeyOperationAttributes,Span,SpanAttributes,SpanEvent,TraceContext,addSpanEvent,createDisplayTraceId,createTraceContext,endSpan,formatTraceparent,formatTracestate,generateSpanId,generateTraceId,getRecentMetrics,getRecentSpans,getTelemetrySummary,parseTraceparent,recordCounter,recordGauge,recordHistogram,setSpanAttributes,startSpan",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4aa7a34097ff0b36",
      "framework": "next-react",
      "imports": "nanoid",
      "lines": 421,
      "logic_relevance": "primary",
      "name": "telemetry",
      "normalized_name": "telemetry",
      "package_manager": "pnpm",
      "path": "lib/keys/telemetry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "e680219070ca6392276da0f5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./db, ./logger, ./types, nanoid | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e218b0daf18e9035",
      "framework": "next-react",
      "imports": "./db,./logger,./types,nanoid",
      "lines": 284,
      "logic_relevance": "primary",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "pnpm",
      "path": "lib/keys/actions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "9ae1fce2ba7b1b839dc5c616",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions,nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuditEventType | imports:./logger, ./types, @aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, @vercel/functions/oidc, nanoid | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AuditEventType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e5be611e53cc9b44",
      "framework": "next-react",
      "imports": "./logger,./types,@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions/oidc,nanoid",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "audit",
      "normalized_name": "audit",
      "package_manager": "pnpm",
      "path": "lib/keys/audit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "e4abc74cab9e34c0011f397d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EncryptedData, GeneratedKey, decrypt, encrypt, generateAndEncryptKey, generateApiKey, getKeyPrefix, validateEncryptionSetup | imports:./logger, crypto | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "EncryptedData,GeneratedKey,decrypt,encrypt,generateAndEncryptKey,generateApiKey,getKeyPrefix,validateEncryptionSetup",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8ddc8d405d7fa61b",
      "framework": "next-react",
      "imports": "./logger,crypto",
      "lines": 229,
      "logic_relevance": "primary",
      "name": "encryption",
      "normalized_name": "encryption",
      "package_manager": "pnpm",
      "path": "lib/keys/encryption.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "ff4bd53a1ff10305aeb468b8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions,nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PK, SK, TABLE_NAME | imports:./audit, ./encryption, ./logger, ./types, @aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, @vercel/functions/oidc, nanoid | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "PK,SK,TABLE_NAME",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8ea71e8c11794d4",
      "framework": "next-react",
      "imports": "./audit,./encryption,./logger,./types,@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions/oidc,nanoid",
      "lines": 850,
      "logic_relevance": "primary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/keys/db.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "91a00ddc0231a0a70c1680d0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SENSITIVE_FIELDS_REGEX, containsSensitiveData, createSafeLogObject, getKeyPrefix, isSensitiveField, maskQueryParams, maskSensitive, maskValue | imports:@/lib/keys/mask | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "SENSITIVE_FIELDS_REGEX,containsSensitiveData,createSafeLogObject,getKeyPrefix,isSensitiveField,maskQueryParams,maskSensitive,maskValue,safeLog",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b7e2cfd79436970d",
      "framework": "next-react",
      "imports": "@/lib/keys/mask",
      "lines": 204,
      "logic_relevance": "primary",
      "name": "mask",
      "normalized_name": "mask",
      "package_manager": "pnpm",
      "path": "lib/keys/mask.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-keys",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2036394562937bc269d1ad06",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc82bd6a291c83b9",
      "framework": "next-react",
      "imports": "",
      "lines": 11613,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "c48ec7f86863750f2d109978",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/lib,next,next-intl",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:./i18n/routing, @/lib/security/headers, next-intl/middleware, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3bc3d04f121a3030",
      "framework": "next-react",
      "imports": "./i18n/routing,@/lib/security/headers,next-intl/middleware,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "11e0134f51c27f5d323b48d2",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "fc04846e75a71d2c3fc299eb",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ac28af575f621eee",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "81b697e1e9621b41be5a14eb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "239619b731e5f54ee60652a2",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e4f9ddabf001faf9",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "6f7ca7c9b5fc25575c43c2f7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9264264b0e20ac08",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "33393550601d597e37ab3d74",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9083ca2f7ef61a0a",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "05807b475374dc17a677a951",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fac4fe4c6d424eb2",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "807068d8a0c7064762ffbd03",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c418e7fe01e85d38",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 20,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "68239334d431d1ba8ea43ec8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ae9e439f9c8d5e5e84ea0b4f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next,next-intl",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next, next-intl/plugin | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b210ca94953cafc",
      "framework": "next-react",
      "imports": "next,next-intl/plugin",
      "lines": 120,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "91a35f1372a8a499d6c8109e",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f5508bb39e9bee12",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "messages/zh.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6905914ebe3b36c8a4475684",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f758d76740f83d6c",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "pnpm",
      "path": "messages/ja.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d58650e0248937bfd5474a46",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "65c142b572a4f389",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "pnpm",
      "path": "messages/de.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "40b4e0cf08d46cf47156f51b",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8edfe798cdd6a99e",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "pnpm",
      "path": "messages/pt.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "42715eed933181224f85300e",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "700077a072ec5104",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f09b4c5c36a3d0249b1f9c42",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "372518172f85249c",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "messages/fr.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d13a60cd1ff19da0802920b9",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ee0fc4ce90ba9092",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "pnpm",
      "path": "messages/ko.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0509d5d33e236ea72f1cd00c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3b4d2f2c4ae9f1d7",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "462ba11add927a2d6c69252b",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "25487770de8cdd48",
      "framework": "next-react",
      "imports": "react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "6d725d7af50f614092a95c0e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ce91baab8367bad1",
      "framework": "next-react",
      "imports": "",
      "lines": 295,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "46d229bf92f41d7810e02c93",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e721c010acc7c59",
      "framework": "next-react",
      "imports": "react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "global-error",
      "normalized_name": "global-error",
      "package_manager": "pnpm",
      "path": "app/global-error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,discovery",
      "component_id": "2c356dec203987306e5ceba0",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "755e4c91b69d3288",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,discovery",
      "component_id": "5f28a44ed95a51ae1e7e4abb",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b7069f1d34b4648",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "ad481546a4fcd63a443e4a1f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1e234a95b571870",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "01eabbcf1aa6bae569d28ece",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7db7a8960a63ed90",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "1966963b8e45fcb217546843",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, viewport | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/navigation/Breadcrumbs, @/components/providers, @/components/providers/aeo-provider, @/i18n/config, @/i18n/routing, @/lib/config/meta | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "generateStaticParams,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4380d8c25d794fb",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/navigation/Breadcrumbs,@/components/providers,@/components/providers/aeo-provider,@/i18n/config,@/i18n/routing,@/lib/config/meta,@/lib/config/network,@/lib/layout/registry,next,next-intl,next-intl/server,next/navigation",
      "lines": 228,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7f949224de0d81a83148d89b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorPage | imports:next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ErrorPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8b9f4ebcc06ff285",
      "framework": "next-react",
      "imports": "next-intl,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/[locale]/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "1bd276eae942c7fa8ff2cd35",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55",
      "exports": "HomePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8257248831515438",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "23ba9f7441309ffaed887a65",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:next, next-intl/server, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b70a541a955f1d08",
      "framework": "next-react",
      "imports": "next,next-intl/server,next/link",
      "lines": 125,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/[locale]/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f800946d9cdb75f3b1e99282",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0c2baaf6fa2e81c",
      "framework": "next-react",
      "imports": "@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "252589fc87341b3da85535d3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/providers/aeo-provider, @/components/ui/accordion, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aeca8433004ad431",
      "framework": "next-react",
      "imports": "@/components/providers/aeo-provider,@/components/ui/accordion,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 39,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e9be5c0d41f2d489805d3086",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryPage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55",
      "exports": "GalleryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dbc7e543ecc6e2f1",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "f10127bc32ae927aae325705",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3518aae1979bc31",
      "framework": "next-react",
      "imports": "@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,process,ui,security",
      "component_id": "f3be7ce8fc8b04e59c930a43",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, @/lib/layout/templates, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | security-score:55",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb3bc84885cd60ff",
      "framework": "next-react",
      "imports": "@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,@/lib/layout/templates,next,next/link",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "5a8fd5dacf86b65e6bfa9a2e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScorePage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55",
      "exports": "ScorePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c59883fdf7694dca",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/score/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a8135135b90d39c1af732f1a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TemplatesPage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, @/lib/layout/templates, next | frontend-score:115 | ui-score:55",
      "exports": "TemplatesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab375f4e784a1b4a",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,@/lib/layout/templates,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/templates/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "73856bf1e85225bace5f7ef0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PreviewPage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55",
      "exports": "PreviewPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57d611fa4cd51950",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/preview/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "34f675682837ce12abdb8d38",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportPage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55",
      "exports": "ExportPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c4a9ab1d7b12a54",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/export/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "74c7ce86c471bbc2408b491f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BuilderPage, metadata | imports:@/components/layout-workbench/layout-workbench, @/components/providers/aeo-provider, @/lib/layout/registry, @/lib/layout/seo, next | frontend-score:115 | ui-score:55",
      "exports": "BuilderPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a6262db40552952",
      "framework": "next-react",
      "imports": "@/components/layout-workbench/layout-workbench,@/components/providers/aeo-provider,@/lib/layout/registry,@/lib/layout/seo,next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/builder/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,automation",
      "component_id": "9f0ba054b4063dab932fa4bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config/features, @/lib/config/site, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e1854629b7eecd33",
      "framework": "next-react",
      "imports": "@/lib/config/features,@/lib/config/site,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,backend",
      "component_id": "8724e99c8b647ae634ccf2bc",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b69ae2f1fe96cd3",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "ab83374e4f1fbfc5c52dcb7a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "df43ecba1be870c9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/apple-app-site-association/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,backend",
      "component_id": "199ffe65b61bd9a1da97b568",
      "component_kind": "agent",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | ai-score:75 | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "220c38a91d139f22",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,security",
      "component_id": "bf7bc5f8c7daf798a398d605",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a7717cea2331acfa",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/assetlinks.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "4f9472195e06a3496fff9a2b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/config/site, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5449b62fe7b4fd3",
      "framework": "next-react",
      "imports": "@/lib/config/site,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ai,frontend,backend",
      "component_id": "d5daacfeac851b3ad8e31edf",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "AI component for shipping; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | ai-score:75 | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c1eb1448b4646096",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,security",
      "component_id": "c3f5bf689594b097171aa43f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5448c06d5e080863",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/change-password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,backend,integration,security",
      "component_id": "0101c5142c56696f27fb4d43",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/registry, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a0e75822a7e3f77",
      "framework": "next-react",
      "imports": "@/lib/layout/registry,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,discovery",
      "component_id": "b6908053e8d7883852d8222c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07c6f919008574b7",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c2ea72d079604c8da54a7752",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/manifest.webmanifest/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "66538845a0d9e1b7",
      "framework": "next-react",
      "imports": "@/app/manifest.webmanifest/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "a74bb382b5c99f4b698e35ba",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f794655ff6219a2",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "6da6247ba04ff5b1ea5b5824",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25ddd3be237df625",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/responsive/check/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "3c97a63b2ee4593b214dab36",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d46bc23232a920b1",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/viewport/check/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "731260a49c86596e221b23c9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, HEAD | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,HEAD",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6f8424922791613f",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "fe27003213a70702184f40e7",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6ca8a8411646f6a",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/browserops/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend,observability",
      "component_id": "617b346588462ef1af77ad29",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4817cc096a81138",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend,process",
      "component_id": "aa9a8786189d315ac77841dd",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55 | process-score:45",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0a5a681eae8a620",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/docs/route.ts",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "e9a7730cabbd954df6fa061b",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34cdd6ddb9a99b14",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/decks/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "bd5f7187983674405592c54f",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d9f6e2d768f82805",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/phorm/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "6eeb70a916c736f57b103f41",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56cc31478ccdd918",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/layouts/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,backend",
      "component_id": "edcdbbfa869f7bb94ba50a4d",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98c6cf32661445ad",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/layouts/score/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,backend",
      "component_id": "3c0ac3c0f85077e8c841152d",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2dde88b3f83b7bad",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/layouts/preview/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "bbcb94d25f6544ba1df27d5a",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fb160f1c3597278",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/layouts/export/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e7b9da28bf2a2b3bda2b37d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PUT | imports:@/lib/layout/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET,PUT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7a78674682c787a2",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/layouts/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "8e917ade1b1abe1ae518e2c7",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "540e8142e9ca3611",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "c7c8c96f750d605d4a960ed7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/layout/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e79dba0f78e5e1ea",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "9b9a5ea7d77ab27335b55424",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f5b1a2fb6b37b6a",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/accessibility/check/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "f4176cb636a744159cffd19f",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50c837f65c76522b",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/layout/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "bd5333da613d9bb57ecb81b6",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:POST | imports:@/lib/layout/api-handlers, next/server | frontend-score:55 | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8731f6542ae67b4a",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/grid/analyze/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "9aa3762fc6fa0c0dd19e3e0f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fcb34fa4e6dfd0ab",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability",
      "component_id": "948a5fc26684df0d63f45e75",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, HEAD | imports:@/lib/layout/api-handlers, @/lib/layout/registry, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "GET,HEAD",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9fb44d9305d9391a",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,@/lib/layout/registry,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,backend,integration",
      "component_id": "6c2a0f9a46974b23871eac48",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, POST | imports:@/lib/layout/mcp, next/server | frontend-score:55 | backend-score:55 | integration-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb75734bacc8d72a",
      "framework": "next-react",
      "imports": "@/lib/layout/mcp,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery,process",
      "component_id": "31edc8c644329718ff37be46",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/openapi, next/server | frontend-score:55 | backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e50b1656446fbd2",
      "framework": "next-react",
      "imports": "@/lib/layout/openapi,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability",
      "component_id": "122dec8fddc82fdd37cabf67",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config/env, @/lib/config/site, next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "629ba1d37fad2657",
      "framework": "next-react",
      "imports": "@/lib/config/env,@/lib/config/site,next/og,next/server",
      "lines": 242,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,frontend,backend",
      "component_id": "8c8fe43ffca64766d328c9c9",
      "component_kind": "scheduled-job",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:GET, POST | imports:@/lib/layout/api-handlers, next/server | automation-score:95 | frontend-score:55 | backend-score:55 | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48d70eb667a104a0",
      "framework": "next-react",
      "imports": "@/lib/layout/api-handlers,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9a8df4769a51464565d7011b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/layout/registry, @/lib/platform/auth, @/lib/platform/http, @/lib/platform/trace, @/lib/seo, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3c0811efc2acf17",
      "framework": "next-react",
      "imports": "@/lib/layout/registry,@/lib/platform/auth,@/lib/platform/http,@/lib/platform/trace,@/lib/seo,next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/indexnow/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "c454651ca3b47976984172e2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0df47c559e693b7d",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "79ecfd2e9b4467e88eae93df",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2ffecb0fef2d6fe",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "aa639e692b51b525a189500b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5da76b5296cc138d",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,integration,discovery",
      "component_id": "4593f168d5f14470d2393646",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/openapi, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a684be697c989e24",
      "framework": "next-react",
      "imports": "@/lib/layout/openapi,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "a2807c14500c16ca1a794528",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "379dfeffab1d8d65",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "4a76029ca98337f6a3f47f7d",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c535db8b99a10af",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,discovery",
      "component_id": "4762ba94c86f0e22fd34a7a1",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f8036850238ce03",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "7029559d63284c5ad22ee023",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/layout/registry, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5033e87e3d2b4cb7",
      "framework": "next-react",
      "imports": "@/lib/layout/registry,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "0f35abd2fb6da2920142a3a1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5aa9dee4128dc34e",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "11044b3d541b52567c5762c6",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:OfflineContent | frontend-score:85 | ui-score:55",
      "exports": "OfflineContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89af3f9c5541411d",
      "framework": "next-react",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "client-content",
      "normalized_name": "client-content",
      "package_manager": "pnpm",
      "path": "app/offline/client-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "fe6244fa921d02a681870d5c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:OfflinePage, metadata | imports:./client-content, next | frontend-score:115 | ui-score:55",
      "exports": "OfflinePage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "294a44b719d8125d",
      "framework": "next-react",
      "imports": "./client-content,next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/offline/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,security,automation",
      "component_id": "133448ba20c3a5f91d69aac3",
      "component_kind": "frontend-feature",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/platform/auth, next/server, vitest | frontend-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58e4283e763a2cb5",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,next/server,vitest",
      "lines": 30,
      "logic_relevance": "none",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "tests/layout/auth.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8cd5a0bc3af3842387b8cc1b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/layout/discovery, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cf46a0213d34819",
      "framework": "next-react",
      "imports": "@/lib/layout/discovery,vitest",
      "lines": 18,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "tests/layout/discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "05c293970fb121a30148a496",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/layout/analyzer, @/lib/layout/templates, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1515d71dc4fec45",
      "framework": "next-react",
      "imports": "@/lib/layout/analyzer,@/lib/layout/templates,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "analyzer.test",
      "normalized_name": "analyzer",
      "package_manager": "pnpm",
      "path": "tests/layout/analyzer.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability,process",
      "component_id": "c85801f238c8980088904385",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33353d3f9dff62ce",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 47,
      "logic_relevance": "none",
      "name": "layout-workbench.spec",
      "normalized_name": "layout-workbench",
      "package_manager": "pnpm",
      "path": "tests/playwright/layout-workbench.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,ai",
      "component_id": "4e5b280afb8edec4e9a564d0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/layout/mcp, vitest | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab49f5f3def78229",
      "framework": "next-react",
      "imports": "@/lib/layout/mcp,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "tests/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6bc66eb637c4aebf0b958f5d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "36f235d27c3366c052d18702",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "96aefb4c9d67a0ce7538cb59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "491e14b8328d9a0b7b61ecae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1d956f76d83e43ec922a9ab8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,automation,observability,process",
      "component_id": "f19cbde70372c700c510a102",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DeployBanner, DeployButtons, FloatingDeployButton | imports:./smart-tooltip, @/lib/config/env, @/lib/config/features, @/lib/utils, react | ui-score:140 | frontend-score:115 | automation-score:95 | observability-score:55 | process-score:45",
      "exports": "DeployBanner,DeployButtons,FloatingDeployButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e94b18fe32c2d41e",
      "framework": "next-react",
      "imports": "./smart-tooltip,@/lib/config/env,@/lib/config/features,@/lib/utils,react",
      "lines": 266,
      "logic_relevance": "none",
      "name": "deploy-buttons",
      "normalized_name": "deploy-buttons",
      "package_manager": "pnpm",
      "path": "components/ui/deploy-buttons.tsx",
      "primary_category": "ui",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9148bad3440affcf7ca15c25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f553d1f0f3ee2290fe48ba7b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "be100726f8eb77faa88b1067",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d8601ef1914e5020fd6ff70b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "f24576161c04d67e8e010a08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f4cfa90fa650ddb9b23e2e25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "95a195d893c8c9fad6a94799",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "1ea27c84ce30b51c98017dcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "877f18d46e64a9e2d24406ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b08028365bb8b57d6b47c566",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "989d88acd2c9e5571a979d24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "14c89b59753e9e0d",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 355,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "73b14c58bc4d2e3af7458d15",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "eb4e76e80727ac528e3e53b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6789e4380813fe0d6e4f711f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3f23179573deb67716e4fa27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@floating-ui/react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HelpTip, KbdTip, SmartTooltip, SmartTooltipProps, Tip | imports:@/lib/utils, @floating-ui/react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "HelpTip,KbdTip,SmartTooltip,SmartTooltipProps,Tip",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f83217c88cb845ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@floating-ui/react,react",
      "lines": 288,
      "logic_relevance": "none",
      "name": "smart-tooltip",
      "normalized_name": "smart-tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/smart-tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3bd95e1ca75e67c77172c99d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "db3c52054554695613f59c7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "399d3df0324b62e0697849cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "83177354bb42ae65d494da4d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8ad4cb1703cf36aba86bffe5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f4193d8ad96c8e80311c5ac2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f03b2f90519e30ad1964049a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8f32b1598c50911b6cf71f36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "159bc34b8ce1eb08dffc1b50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "22e91851f1e60b84a3d7a9a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "1aa93085093edbc59783bab5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3808bbcbcb99c5de460d0ed7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "59910850608c0c1ac9a05e4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7775cc57366495fbaff707b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c7cdaaf380547b1bbed697b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2746726c2ae915ff1947f476",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "da1c7cd0893fd90b09509aa1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "90162f82a3b5ba3ea388e2e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4d2ac2614dadba00db119691",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5ed641ea7e396fdfcb1528d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d40b2b223cf6ad526badd126",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a66f0660b0035ae7a71e5168",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:PH3ARCommand, PH3ARModal | imports:@/components/providers/theme-provider, @/components/providers/trace-provider, @/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "PH3ARCommand,PH3ARModal",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9eca0263c1df0bcf",
      "framework": "next-react",
      "imports": "@/components/providers/theme-provider,@/components/providers/trace-provider,@/lib/utils,react",
      "lines": 468,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/ui/ph3ar-modal.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c090313a0b4facf7509db790",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d8c893a09a2a5fcd89adb328",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1dc4f4521ecf0b0fe8d38a05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "285811205563ed2a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 733,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9b149a157a2532823ea880ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4ea245ec2358782c54ac07ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "35b91d59ce44072a60d06441",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/components/ui/spinner, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "996779f05f1adcf2",
      "framework": "next-react",
      "imports": "@/components/ui/spinner,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 70,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "579ec16e2b6fe4b8646f37d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "60d64c2ab3f506ac6f7a3b3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ec3afab43f224be1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 130,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e7b8e4a2f1df0d83ba7a7ecb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "aa77e9a641dab64e9c21dfd1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "bdb6732cb565d2a015236f83",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8a18d0972239194530b7e766",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f838b870b8157319ca378ddd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "67e87bc06314128951883747",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "01c9b3a15aa539ea3588538e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "fa2bf8eca2256133ac54c8ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e8dd3fcd81c3fa0726ed1bc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "d5de1e9c7b1f255f659b0d5b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "98e61794e6c965304111ad80",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "eac769dd8b93ac1293e0e596",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkLogo, NetworkMark | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NetworkLogo,NetworkMark",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ed9be68ac44c31a8",
      "framework": "next-react",
      "imports": "react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "network-logo",
      "normalized_name": "network-logo",
      "package_manager": "pnpm",
      "path": "components/layout/network-logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a684a89c442ae2c9e49b06de",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchBar | imports:@/components/providers/trace-provider, @/components/ui/tooltip, @/lib/utils, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SearchBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0afbd7ace106c9cd",
      "framework": "next-react",
      "imports": "@/components/providers/trace-provider,@/components/ui/tooltip,@/lib/utils,lucide-react,next-intl,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "search-bar",
      "normalized_name": "search-bar",
      "package_manager": "pnpm",
      "path": "components/layout/search-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "432e07fa3281405b8217c40c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:./locale-switcher, ./network-logo, @/components/providers/trace-provider, @/lib/types/layout, @/lib/utils, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1843b6f0ae0bac96",
      "framework": "next-react",
      "imports": "./locale-switcher,./network-logo,@/components/providers/trace-provider,@/lib/types/layout,@/lib/utils,next-intl,react",
      "lines": 256,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ceeba745b125b291304da956",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/components/providers/trace-provider, @/components/ui/tooltip, @/i18n/config, @/i18n/navigation, @/lib/utils, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "239c41317af4d7b8",
      "framework": "next-react",
      "imports": "@/components/providers/trace-provider,@/components/ui/tooltip,@/i18n/config,@/i18n/navigation,@/lib/utils,lucide-react,next-intl,react",
      "lines": 189,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/layout/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ed8112e6575c89db347f6c77",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkDrawer | imports:./network-logo, @/components/providers/network-provider, @/components/providers/trace-provider, @/lib/utils, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkDrawer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "188af758ee0b96b2",
      "framework": "next-react",
      "imports": "./network-logo,@/components/providers/network-provider,@/components/providers/trace-provider,@/lib/utils,lucide-react,next-intl,react",
      "lines": 183,
      "logic_relevance": "none",
      "name": "network-drawer",
      "normalized_name": "network-drawer",
      "package_manager": "pnpm",
      "path": "components/layout/network-drawer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d10247fdf5f0d47a8fcc70ba",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AuthMenu, Footer, LocaleSwitcher, NetworkDrawer, NetworkLogo, NetworkMark, SearchBar, TopBar | imports:./auth-menu, ./footer, ./locale-switcher, ./network-drawer, ./network-logo, ./search-bar, ./top-bar, @/components/layout | observability-score:55 | security-score:55",
      "exports": "AuthMenu,Footer,LocaleSwitcher,NetworkDrawer,NetworkLogo,NetworkMark,SearchBar,TopBar",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67743e56f8039940",
      "framework": "next-react",
      "imports": "./auth-menu,./footer,./locale-switcher,./network-drawer,./network-logo,./search-bar,./top-bar,@/components/layout",
      "lines": 12,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/layout/index.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e675e31ca759abe76eb40f4b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthMenu | imports:@/components/providers/network-provider, @/components/providers/trace-provider, @/lib/utils, lucide-react, next-intl, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AuthMenu",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8e357ba528c23f0",
      "framework": "next-react",
      "imports": "@/components/providers/network-provider,@/components/providers/trace-provider,@/lib/utils,lucide-react,next-intl,react",
      "lines": 186,
      "logic_relevance": "none",
      "name": "auth-menu",
      "normalized_name": "auth-menu",
      "package_manager": "pnpm",
      "path": "components/layout/auth-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4ec8e31a82fc1f143c211ff2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:./auth-menu, ./locale-switcher, ./network-drawer, ./network-logo, ./search-bar, @/components/providers/theme-provider, @/components/ui/tooltip, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aeecd36f128dcddf",
      "framework": "next-react",
      "imports": "./auth-menu,./locale-switcher,./network-drawer,./network-logo,./search-bar,@/components/providers/theme-provider,@/components/ui/tooltip,@/lib/utils,lucide-react,next-intl,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "2f635c3d8d42421515088f12",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResolvedTheme, Theme, ThemeProvider, ThemeToggle, useTheme | imports:@/components/ui/tooltip, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResolvedTheme,Theme,ThemeProvider,ThemeToggle,useTheme",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7069bb96eab42329",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,react",
      "lines": 398,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/providers/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "debafdfccbc743c039e8e4e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AEOProvider, JsonLdScript, RootProviders, ThemeProvider, ThemeToggle, mergeGraphs, useAppConfig, useNetwork | imports:./aeo-provider, ./network-provider, ./observability-provider, ./theme-provider, ./trace-provider, @/components/ui/ph3ar-modal, @/lib/types/layout, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AEOProvider,JsonLdScript,RootProviders,ThemeProvider,ThemeToggle,mergeGraphs,useAppConfig,useNetwork,useNetworkAuth,useObservability,usePageView,useTheme,useTrace,useTraceEvent,useTraceOptional",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e2ae91ad082ed64",
      "framework": "next-react",
      "imports": "./aeo-provider,./network-provider,./observability-provider,./theme-provider,./trace-provider,@/components/ui/ph3ar-modal,@/lib/types/layout,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/providers/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "291debb0b6d62ffb265696c6",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AEOProvider, JsonLdScript, Page, mergeGraphs | imports:@/components/providers/aeo-provider, @/lib/types/layout | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "AEOProvider,JsonLdScript,Page,mergeGraphs",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "22024ab6c7151e58",
      "framework": "next-react",
      "imports": "@/components/providers/aeo-provider,@/lib/types/layout",
      "lines": 83,
      "logic_relevance": "none",
      "name": "aeo-provider",
      "normalized_name": "aeo-provider",
      "package_manager": "pnpm",
      "path": "components/providers/aeo-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0e99110856457d788282a6c8",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkProvider, useAppConfig, useNetwork, useNetworkAuth | imports:@/lib/types/layout, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkProvider,useAppConfig,useNetwork,useNetworkAuth",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fd0cf73846723378",
      "framework": "next-react",
      "imports": "@/lib/types/layout,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "network-provider",
      "normalized_name": "network-provider",
      "package_manager": "pnpm",
      "path": "components/providers/network-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f3ca3626d293b4ed12c0476b",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceProvider, usePageView, useTrace, useTraceEvent, useTraceOptional | imports:@/lib/trace, @/lib/types/layout, @/lib/types/trace, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TraceProvider,usePageView,useTrace,useTraceEvent,useTraceOptional",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6ecd4bc8828efb3",
      "framework": "next-react",
      "imports": "@/lib/trace,@/lib/types/layout,@/lib/types/trace,next/navigation,react",
      "lines": 431,
      "logic_relevance": "none",
      "name": "trace-provider",
      "normalized_name": "trace-provider",
      "package_manager": "pnpm",
      "path": "components/providers/trace-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "35d3407b72e2e9eccabb080e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/analytics,@vercel/speed-insights,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ObservabilityProvider, useObservability | imports:@/lib/types/layout, @vercel/analytics/react, @vercel/speed-insights/next, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "ObservabilityProvider,useObservability",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f37c91b6ab874377",
      "framework": "next-react",
      "imports": "@/lib/types/layout,@vercel/analytics/react,@vercel/speed-insights/next,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "observability-provider",
      "normalized_name": "observability-provider",
      "package_manager": "pnpm",
      "path": "components/providers/observability-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dcff279f29029afc89d1ebd8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30b20f47801adc2d",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "Breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/navigation/Breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "72da54c224361bcb7bd83025",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LayoutWorkbench | imports:@/components/ui/tooltip, @/hooks/use-layout-drafts, @/lib/layout/analyzer, @/lib/layout/exporters, @/lib/layout/templates, @/lib/layout/types, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LayoutWorkbench",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e457a28b628a70b7",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/hooks/use-layout-drafts,@/lib/layout/analyzer,@/lib/layout/exporters,@/lib/layout/templates,@/lib/layout/types,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 1116,
      "logic_relevance": "none",
      "name": "layout-workbench",
      "normalized_name": "layout-workbench",
      "package_manager": "pnpm",
      "path": "components/layout-workbench/layout-workbench.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "d207c9ff8328cd24c899fbf2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-intl",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:Landmark, SkipLinks | imports:next-intl | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Landmark,SkipLinks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6870ae3c80d99e6a",
      "framework": "next-react",
      "imports": "next-intl",
      "lines": 86,
      "logic_relevance": "none",
      "name": "skip-links",
      "normalized_name": "skip-links",
      "package_manager": "pnpm",
      "path": "components/a11y/skip-links.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "883786d062eea663b6fe9899",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CACHE_STRATEGIES, CACHE_VERSION, DYNAMIC_CACHE, STATIC_ASSETS, STATIC_CACHE | observability-score:55 | security-score:55",
      "exports": "CACHE_STRATEGIES,CACHE_VERSION,DYNAMIC_CACHE,STATIC_ASSETS,STATIC_CACHE",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2885ef1c9cb20632",
      "framework": "next-react",
      "imports": "",
      "lines": 181,
      "logic_relevance": "none",
      "name": "sw",
      "normalized_name": "sw",
      "package_manager": "pnpm",
      "path": "public/sw.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,security,automation",
      "component_id": "69c87e8abc540a9247fb5d14",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "df14a757435688aa",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "a744a2edbf72cf13058fd834",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "dfd09c06d26ea1da",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "9e618225a6705d525f93fb18",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "47a215a85bde1e37",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,observability,security",
      "component_id": "7b7cc2be8f91de1c18c2016b",
      "component_kind": "frontend-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:useLayoutDrafts | imports:@/lib/layout/types, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "useLayoutDrafts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0cbb2fc04a621452",
      "framework": "next-react",
      "imports": "@/lib/layout/types,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "use-layout-drafts",
      "normalized_name": "use-layout-drafts",
      "package_manager": "pnpm",
      "path": "hooks/use-layout-drafts.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "seo-and-metadata",
      "categories": "automation",
      "component_id": "57845b82c4710ce5a4415405",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Automation component for seo-and-metadata; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:getAnimationDuration, getTransitionConfig, useColorScheme, useHighContrast, useReducedMotion | imports:react | automation-score:45",
      "exports": "getAnimationDuration,getTransitionConfig,useColorScheme,useHighContrast,useReducedMotion",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5534cff56073a1c2",
      "framework": "next-react",
      "imports": "react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "use-reduced-motion",
      "normalized_name": "use-reduced-motion",
      "package_manager": "pnpm",
      "path": "hooks/use-reduced-motion.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "c2265b18e68c6ee8feb09582",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useAnnounce, useFocusReturn, useFocusTrap | imports:react | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "useAnnounce,useFocusReturn,useFocusTrap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "31747263e0458e60",
      "framework": "next-react",
      "imports": "react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "use-focus-trap",
      "normalized_name": "use-focus-trap",
      "package_manager": "pnpm",
      "path": "hooks/use-focus-trap.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "7d733b0961dfab4b436bd84f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "edfa4cb60dfd7a1e29cb89f8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/i18n",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AEOConfig, AppConfig, AuthStatus, FooterLinkGroup, FooterProps, JsonLdGraph, NetworkAuthContext, NetworkConfig | imports:@/i18n/config | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AEOConfig,AppConfig,AuthStatus,FooterLinkGroup,FooterProps,JsonLdGraph,NetworkAuthContext,NetworkConfig,NetworkPublication,NetworkUser,ObservabilityConfig,ShellLayoutProps,TopBarProps,TraceConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69b22de3f6bd1841",
      "framework": "next-react",
      "imports": "@/i18n/config",
      "lines": 155,
      "logic_relevance": "primary",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "lib/types/layout.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "fd1d47fb97f3c1bea217b9a9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Breadcrumb, BreadcrumbCategory, BreadcrumbLevel, Fingerprint, FingerprintComponents, TraceApiResponse, TraceContextValue, TraceEvent | imports:./layout, @/lib/types/layout | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Breadcrumb,BreadcrumbCategory,BreadcrumbLevel,Fingerprint,FingerprintComponents,TraceApiResponse,TraceContextValue,TraceEvent,TraceEventPayload,TraceEventType,UserJourney",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "497eda671b869c0b",
      "framework": "next-react",
      "imports": "./layout,@/lib/types/layout",
      "lines": 204,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/types/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2842f17a803cb7700c9c4acf",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BreadcrumbManager, createBreadcrumb, setupClickCapture, setupErrorCapture, setupFormCapture | imports:@/lib/types/trace | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "BreadcrumbManager,createBreadcrumb,setupClickCapture,setupErrorCapture,setupFormCapture",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "eb1204e4bbefd0ed",
      "framework": "next-react",
      "imports": "@/lib/types/trace",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "lib/trace/breadcrumbs.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "76932ed1daae08337014adbe",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/types/trace | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7bebe44b4c789d0f",
      "framework": "next-react",
      "imports": "@/lib/types/trace",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/trace/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "970e67c78d59f110a1a50229",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BreadcrumbManager, DEFAULT_TRACE_CONFIG, createBreadcrumb, detectBot, generateFingerprint, generateUUID, getOrCreateFingerprint, getSessionId | imports:./breadcrumbs, ./fingerprint, @/lib/types/layout, @/lib/types/trace | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "BreadcrumbManager,DEFAULT_TRACE_CONFIG,createBreadcrumb,detectBot,generateFingerprint,generateUUID,getOrCreateFingerprint,getSessionId,getTraceId,setupClickCapture,setupErrorCapture,setupFormCapture,shouldSample",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6c08b86b2506f708",
      "framework": "next-react",
      "imports": "./breadcrumbs,./fingerprint,@/lib/types/layout,@/lib/types/trace",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/trace/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9de19be2356dd360e00deedb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_METADATA, DISCOVERY_LINKS, ICONS_CONFIG, PageMeta, VIEWPORT_CONFIG, generatePageMeta | imports:./env, ./site, next | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BASE_METADATA,DISCOVERY_LINKS,ICONS_CONFIG,PageMeta,VIEWPORT_CONFIG,generatePageMeta",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e2fdab0ad32b39a7",
      "framework": "next-react",
      "imports": "./env,./site,next",
      "lines": 321,
      "logic_relevance": "primary",
      "name": "meta",
      "normalized_name": "meta",
      "package_manager": "pnpm",
      "path": "lib/config/meta.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "209f90f8872efc84b16a25f8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/i18n,@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_AEO_CONFIG, DEFAULT_APP_CONFIG, DEFAULT_OBSERVABILITY_CONFIG, PLATPHORM_NETWORK | imports:@/i18n/config, @/lib/trace, @/lib/types/layout | logic-score:70 | observability-score:55",
      "exports": "DEFAULT_AEO_CONFIG,DEFAULT_APP_CONFIG,DEFAULT_OBSERVABILITY_CONFIG,PLATPHORM_NETWORK",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f39310892042e499",
      "framework": "next-react",
      "imports": "@/i18n/config,@/lib/trace,@/lib/types/layout",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/config/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "e98882b94f6433c81b70c0a9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/i18n",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IS_DEVELOPMENT, IS_PREVIEW, IS_PRODUCTION, Locale, SITE_CONFIG, SITE_NAME, SITE_URL, SiteConfig | imports:@/i18n/config | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "IS_DEVELOPMENT,IS_PREVIEW,IS_PRODUCTION,Locale,SITE_CONFIG,SITE_NAME,SITE_URL,SiteConfig,Theme,VERSION,getAllLocalizedUrls,getLocalizedUrl,getUrl,siteConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4e86f91eaadfa6dd",
      "framework": "next-react",
      "imports": "@/i18n/config",
      "lines": 156,
      "logic_relevance": "primary",
      "name": "site",
      "normalized_name": "site",
      "package_manager": "pnpm",
      "path": "lib/config/site.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "107e895992f9a95efc27383f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FEATURE_FLAGS, FEATURE_REGISTRY, FeatureFlag, FeatureKey, features, getEnabledFeatures, getFeaturesByCategory, isEnabled | imports:@/lib/config/features | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "FEATURE_FLAGS,FEATURE_REGISTRY,FeatureFlag,FeatureKey,features,getEnabledFeatures,getFeaturesByCategory,isEnabled,isFeatureEnabled",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f29dc10731ccedf",
      "framework": "next-react",
      "imports": "@/lib/config/features",
      "lines": 387,
      "logic_relevance": "primary",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "lib/config/features.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "0206ddd30bb84cec44aa5b4b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FEATURE_REGISTRY, SITE_NAME, SITE_URL, appConfig, features, getAllLocalizedUrls, getEnabledFeatures, getFeaturesByCategory | imports:./features, ./network, ./site, @/lib/config, @/lib/types/layout | logic-score:70 | security-score:55",
      "exports": "FEATURE_REGISTRY,SITE_NAME,SITE_URL,appConfig,features,getAllLocalizedUrls,getEnabledFeatures,getFeaturesByCategory,getLocalizedUrl,getUrl,isEnabled,networkConfig,siteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ac253a8c4328a0c9",
      "framework": "next-react",
      "imports": "./features,./network,./site,@/lib/config,@/lib/types/layout",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/config/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "28fa1f8eeb50e27acb3748c7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEPLOY_URLS, ENV, Environment, IS_DEVELOPMENT, IS_PREVIEW, IS_PRODUCTION, USER_AGENTS, absoluteUrl | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "DEPLOY_URLS,ENV,Environment,IS_DEVELOPMENT,IS_PREVIEW,IS_PRODUCTION,USER_AGENTS,absoluteUrl,canonicalUrl,getEnvironment,networkUrl,validateEnv",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d287ca59bb96e85c",
      "framework": "next-react",
      "imports": "",
      "lines": 195,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/config/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3e077580ac2f41eadc076489",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:applySecurityHeaders, getCORSHeaders, getCSPDirectives, getSecurityHeaders | imports:@/lib/config/features, @/lib/config/site | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "applySecurityHeaders,getCORSHeaders,getCSPDirectives,getSecurityHeaders",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "55c3246c56e5450b",
      "framework": "next-react",
      "imports": "@/lib/config/features,@/lib/config/site",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "headers",
      "normalized_name": "headers",
      "package_manager": "pnpm",
      "path": "lib/security/headers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a90694b56d97e55e72621941",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LayoutIntegrationKey, LayoutIntegrationStatus, degradedIntegrationRun, getIntegrationStatus, getIntegrationStatuses | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LayoutIntegrationKey,LayoutIntegrationStatus,degradedIntegrationRun,getIntegrationStatus,getIntegrationStatuses",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d88e0fc50173e202",
      "framework": "next-react",
      "imports": "./types",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "integrations",
      "normalized_name": "integrations",
      "package_manager": "pnpm",
      "path": "lib/layout/integrations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "52f3950d3b6e5cfa5cb3ac90",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:LayoutModelStatus, createDeterministicSuggestion, getLayoutModelStatus | imports:./types | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "LayoutModelStatus,createDeterministicSuggestion,getLayoutModelStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5a9eada317a286c2",
      "framework": "next-react",
      "imports": "./types",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/layout/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "fd0785f22c78eddc74d760da",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:exportLayout, exportLayoutHtmlCss, exportLayoutJson, exportLayoutReactTailwind | imports:./analyzer, ./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "exportLayout,exportLayoutHtmlCss,exportLayoutJson,exportLayoutReactTailwind",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9198310643fb3c23",
      "framework": "next-react",
      "imports": "./analyzer,./types",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "exporters",
      "normalized_name": "exporters",
      "package_manager": "pnpm",
      "path": "lib/layout/exporters.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,frontend,integration,observability,automation,ai",
      "component_id": "6688f436443ad0e698a347f0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mcpMetadataResponse | imports:./analyzer, ./discovery, ./exporters, ./integrations, ./openapi, ./registry, ./templates, @/lib/platform/http | logic-score:85 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "mcpMetadataResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bda1ac7fa0cf0b7c",
      "framework": "next-react",
      "imports": "./analyzer,./discovery,./exporters,./integrations,./openapi,./registry,./templates,@/lib/platform/http,@/lib/platform/trace,next/server",
      "lines": 235,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/layout/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7656860f33d058f6541bb220",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_BREAKPOINTS, DEFAULT_LAYOUT_TIMESTAMP, LAYOUT_TEMPLATES, createDocumentFromTemplate, getTemplate, listTemplates | imports:./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DEFAULT_BREAKPOINTS,DEFAULT_LAYOUT_TIMESTAMP,LAYOUT_TEMPLATES,createDocumentFromTemplate,getTemplate,listTemplates",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5980688166ce07c0",
      "framework": "next-react",
      "imports": "./types",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "templates",
      "normalized_name": "templates",
      "package_manager": "pnpm",
      "path": "lib/layout/templates.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "c71d8303ff5c2aa60e50e8e5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LayoutBreakpoint, LayoutComponent, LayoutConfig, LayoutDocument, LayoutExport, LayoutFinding, LayoutPreview, LayoutRegion | imports:zod | logic-score:70 | observability-score:55 | ai-score:45",
      "exports": "LayoutBreakpoint,LayoutComponent,LayoutConfig,LayoutDocument,LayoutExport,LayoutFinding,LayoutPreview,LayoutRegion,LayoutScore,LayoutTemplate,LayoutType,breakpointSchema,layoutComponentSchema,layoutConfigSchema,layoutDocumentSchema,layoutFindingSchema,layoutRegionSchema,layoutScoreSchema,layoutTemplateSchema,layoutTypes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fc3c0e8dfbabec2d",
      "framework": "next-react",
      "imports": "zod",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/layout/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,frontend,backend,observability,security,automation,ai",
      "component_id": "60579cbd293120a502bb5fc5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getLayoutResponse, getTemplateResponse, infoResponse, integrationsStatusResponse, listLayoutsResponse, listTemplatesResponse | imports:./analyzer, ./exporters, ./integrations, ./model-adapter, ./registry, ./templates, ./types, @/lib/platform/auth | logic-score:85 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "getLayoutResponse,getTemplateResponse,infoResponse,integrationsStatusResponse,listLayoutsResponse,listTemplatesResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7716af28efa40e71",
      "framework": "next-react",
      "imports": "./analyzer,./exporters,./integrations,./model-adapter,./registry,./templates,./types,@/lib/platform/auth,@/lib/platform/http,@/lib/platform/trace,@/lib/platform/vercel,next/server",
      "lines": 277,
      "logic_relevance": "primary",
      "name": "api-handlers",
      "normalized_name": "api-handlers",
      "package_manager": "pnpm",
      "path": "lib/layout/api-handlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "0b8f11f24c02dcc156d2edca",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:analyzeGrid, checkAccessibility, checkResponsive, checkViewport, escapeHtml, normalizeLayoutDocument, previewLayout, scoreLayout | imports:./templates, ./types | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "analyzeGrid,checkAccessibility,checkResponsive,checkViewport,escapeHtml,normalizeLayoutDocument,previewLayout,scoreLayout,viewportByName",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9ab1129513861ad8",
      "framework": "next-react",
      "imports": "./templates,./types",
      "lines": 333,
      "logic_relevance": "primary",
      "name": "analyzer",
      "normalized_name": "analyzer",
      "package_manager": "pnpm",
      "path": "lib/layout/analyzer.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "21a1e7a319c9969e1f2bcdc8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, BASE_URL, DISCOVERY_ROUTES, MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, PUBLIC_PAGES, SERVICE_NAME | imports:./integrations, ./model-adapter, ./templates, @/lib/config/site, @/lib/platform/auth | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "API_ENDPOINTS,BASE_URL,DISCOVERY_ROUTES,MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,PUBLIC_PAGES,SERVICE_NAME,SERVICE_VERSION,getDiscoveryCompliance,getLayoutCapabilities,getRouteCompliance",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c0f4120261eff5d",
      "framework": "next-react",
      "imports": "./integrations,./model-adapter,./templates,@/lib/config/site,@/lib/platform/auth",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/layout/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,security,discovery",
      "component_id": "e591a2f1cb9aae3f0b5a6be4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateOpenApiJson, generateOpenApiYaml | imports:./registry, @/lib/platform/auth | logic-score:85 | integration-score:55 | security-score:55 | discovery-score:55",
      "exports": "generateOpenApiJson,generateOpenApiYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a01044162c18c46a",
      "framework": "next-react",
      "imports": "./registry,@/lib/platform/auth",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/layout/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "8ea8f97735b57f649ca2d75f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/i18n,@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:discoveryUrls, feedItems, generateAgentsJson, generateAiPluginJson, generateAtomXml, generateFullSitemapXml, generateLlmsFullTxt, generateLlmsIndexJson | imports:./registry, ./templates, @/i18n/config, @/lib/platform/auth, @/lib/utils/xml | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "discoveryUrls,feedItems,generateAgentsJson,generateAiPluginJson,generateAtomXml,generateFullSitemapXml,generateLlmsFullTxt,generateLlmsIndexJson,generateLlmsTxt,generateMainSitemapXml,generateRobotsTxt,generateRssXml,generateSitemapIndexXml,generateTrustPolicy,localizedPublicUrls,xmlEscape",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e8794106afd406f9",
      "framework": "next-react",
      "imports": "./registry,./templates,@/i18n/config,@/lib/platform/auth,@/lib/utils/xml",
      "lines": 304,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/layout/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,security,automation,ai",
      "component_id": "bf1b5c581f4991a880083b04",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:breadcrumbJsonLd, faqItems, faqJsonLd, websiteJsonLd | imports:./registry | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "breadcrumbJsonLd,faqItems,faqJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "678ab4001fe7882f",
      "framework": "next-react",
      "imports": "./registry",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "seo",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "lib/layout/seo.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "558b5685ab33cbc87a6dcc61",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiOk | imports:./trace, next/server | logic-score:85 | observability-score:55",
      "exports": "apiError,apiOk",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "763d9018179d23ea",
      "framework": "next-react",
      "imports": "./trace,next/server",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "pnpm",
      "path": "lib/platform/http.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration",
      "component_id": "8b977baf331adb2227f6e5b2",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:next/server | automation-score:95 | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "136657d566ae56b1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/platform/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2f96b83dad0dceeec6f0eea9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformTrace, createTrace, traceHeaders, traceMetadata | imports:next/server | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "PlatformTrace,createTrace,traceHeaders,traceMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "14f98a9302cde6bf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation",
      "component_id": "865968346b8ce1d1f3a8f06a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthBoundary, AuthPolicy, PLATPHORM_API_KEY_HEADER, authorizeRequest, authorizeRequiredRequest, getAuthPolicy, getRequestApiKey, isApiKeyEnforced | imports:next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "AuthBoundary,AuthPolicy,PLATPHORM_API_KEY_HEADER,authorizeRequest,authorizeRequiredRequest,getAuthPolicy,getRequestApiKey,isApiKeyEnforced,protectedActionMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9d81d1d76c596e6d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 78,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security",
      "component_id": "9197df73b7fd55c333db2e50",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AtomEntry, AtomFeed, ChangeFreq, RssChannel, RssItem, SitemapUrl, cdata, escapeXml | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AtomEntry,AtomFeed,ChangeFreq,RssChannel,RssItem,SitemapUrl,cdata,escapeXml,generateAtom,generateRss,generateSitemap,generateSitemapIndex,toIso8601,toRfc822,toSitemapDate",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9a87b921bfcd3d20",
      "framework": "next-react",
      "imports": "",
      "lines": 318,
      "logic_relevance": "primary",
      "name": "xml",
      "normalized_name": "xml",
      "package_manager": "pnpm",
      "path": "lib/utils/xml.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "3a8ca966873a009858c8842a",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cdata, cn, escapeXml, generateAtom, generateRss, generateSitemap, generateSitemapIndex, toIso8601 | imports:../utils, ./xml | logic-score:70",
      "exports": "cdata,cn,escapeXml,generateAtom,generateRss,generateSitemap,generateSitemapIndex,toIso8601,toRfc822,toSitemapDate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c926a1aca0984c9",
      "framework": "next-react",
      "imports": "../utils,./xml",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/utils/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security",
      "component_id": "d809015a81db203bb6bd1547",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, CACHE_PRESETS, CachePreset, PaginatedResponse, errors, jsonError, jsonSuccess, textResponse | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiResponse,CACHE_PRESETS,CachePreset,PaginatedResponse,errors,jsonError,jsonSuccess,textResponse,xmlResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "689709adb9b2ce91",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 213,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend",
      "component_id": "853657a27e922436d45efea3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CACHE_PRESETS, errors, jsonError, jsonSuccess, textResponse, xmlResponse | imports:./response | logic-score:70 | backend-score:55",
      "exports": "CACHE_PRESETS,errors,jsonError,jsonSuccess,textResponse,xmlResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f27992286e1b5b3",
      "framework": "next-react",
      "imports": "./response",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/api/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security",
      "component_id": "b4a468e37e62c1ad3e604bd6",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ArticleSchema, BreadcrumbListSchema, FAQPageSchema, IndexNowConfig, JsonLdGraph, LlmsTxtConfig, MetaConfig, OrganizationSchema | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ArticleSchema,BreadcrumbListSchema,FAQPageSchema,IndexNowConfig,JsonLdGraph,LlmsTxtConfig,MetaConfig,OrganizationSchema,RSSConfig,RSSItem,WCAG_CHECKLIST,WebSiteSchema,createJsonLdGraph,createPlatPhormOrganization,createPlatPhormWebSite,generateLlmsTxt,generateMetaTags,generateRSS,serializeJsonLd",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfc42a1a1edd8bc4",
      "framework": "next-react",
      "imports": "",
      "lines": 466,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/seo/index.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "acdf409b9cf6fb9a9297b129",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocDocument, DocsSearchResult, NETWORK_ROOT, NETWORK_SERVICES, NetworkGraph, NetworkNode, NetworkService, NetworkServiceKey | imports:./svg | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DocDocument,DocsSearchResult,NETWORK_ROOT,NETWORK_SERVICES,NetworkGraph,NetworkNode,NetworkService,NetworkServiceKey,ServiceCategory,docsClient,getServiceApiUrl,getServiceUrl,getServicesByCategory,isServiceActive,mcpClient,svgService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "13a9e94e5aef73b2",
      "framework": "next-react",
      "imports": "./svg",
      "lines": 507,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/services/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "f1533a2e703792ebde5da162",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AvatarRequest, BadgeRequest, DEFAULT_SVG_CONFIG, IconRequest, NETWORK_ASSETS, OGImageRequest, PatternRequest, QRCodeRequest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AvatarRequest,BadgeRequest,DEFAULT_SVG_CONFIG,IconRequest,NETWORK_ASSETS,OGImageRequest,PatternRequest,QRCodeRequest,SVGService,SVGServiceConfig,getAssetUrl,getShareUrls,svgService",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7d8d3c0dc2c4e656",
      "framework": "next-react",
      "imports": "",
      "lines": 343,
      "logic_relevance": "primary",
      "name": "svg",
      "normalized_name": "svg",
      "package_manager": "pnpm",
      "path": "lib/services/svg.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,backend,security",
      "component_id": "06c2732021b0d796e2d5147c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_ROOT, NETWORK_SERVICES, discoverService, docsClient, fetchNetworkGraph, gamesClient, getServiceApiUrl, getServiceUrl | imports:./network, ./svg | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "NETWORK_ROOT,NETWORK_SERVICES,discoverService,docsClient,fetchNetworkGraph,gamesClient,getServiceApiUrl,getServiceUrl,getServicesByCategory,isServiceActive,mcpClient,svgService,type DocDocument,type DocsSearchResult,type NetworkGraph,type NetworkNode,type NetworkService,type NetworkServiceKey,type ServiceCategory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f2c76786e263307b",
      "framework": "next-react",
      "imports": "./network,./svg",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/services/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ai",
      "component_id": "dc95c4e7b78313a70752b89e",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "next-intl",
      "description": "AI component for i18n; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./routing, next-intl/server | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6ee5e1a535e84875",
      "framework": "next-react",
      "imports": "./routing,next-intl/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "request",
      "normalized_name": "request",
      "package_manager": "pnpm",
      "path": "i18n/request.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-layout",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ae85e86a893c00885ea7ad7d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4679d074ae594d75",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 23,
      "logic_relevance": "none",
      "name": "check_ssrf",
      "normalized_name": "check-ssrf",
      "package_manager": "pnpm",
      "path": "check_ssrf.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4e646987c7b5ba39e11aa10f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "277853a2b23ec8a9",
      "framework": "next-react",
      "imports": "",
      "lines": 5663,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "a86d0b37b51853b660484534",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "5bd404284ee78aece244a7c4",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "782c372d0d54a068",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0e15cf831a5c91939c545322",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a5acb5785e8cf902d38f6679",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "92eb5ae27d5c223e",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "7c073ce887f5598a2f8b3b6e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "19a6336f982c7b00",
      "framework": "next-react",
      "imports": "next",
      "lines": 70,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "b9221ed84afececdc4182e0f",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "477fb6822645cf07",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "fix-tests",
      "normalized_name": "fix-tests",
      "package_manager": "pnpm",
      "path": "fix-tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "483ae48fd1de5a56b6ca3bdf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eeca2bfdc75881f4",
      "framework": "next-react",
      "imports": "",
      "lines": 494,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "automation,backend,security",
      "component_id": "38044ec16bd0ec1c173fe229",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "@/lib,fs",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/mcp/security, fs | automation-score:95 | backend-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aa68d65d1fa89270",
      "framework": "next-react",
      "imports": "@/lib/mcp/security,fs",
      "lines": 29,
      "logic_relevance": "none",
      "name": "inline_cron",
      "normalized_name": "inline-cron",
      "package_manager": "pnpm",
      "path": "inline_cron.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "37fdcbca751b6cfc378bd035",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "690a1e374cae2464",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d6cd078070270cbc106fc074",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60e528a193a51d28",
      "framework": "next-react",
      "imports": "",
      "lines": 7771,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2c77e3903468cb7fb4e57e1d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "55a3ef9226b8fa5d",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "observability,security,automation",
      "component_id": "7c3f152b4ee25493744e1298",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:./lib/mcp/security, next/server | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "82463c75e03f8ec8",
      "framework": "next-react",
      "imports": "./lib/mcp/security,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a3b0c363d9b7da2cc1ed349e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b03ef1a5a4acf1009b804f7c",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2cca01135dbf5d3e",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "TESTING_ROADMAP",
      "normalized_name": "testing-roadmap",
      "package_manager": "pnpm",
      "path": "TESTING_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "a9ebd661c0fbe1414f7208ad",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/platform/public-routes, next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9533a958a7bae025",
      "framework": "next-react",
      "imports": "@/lib/platform/public-routes,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "db2985ecd11608db8337536d",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/platform/public-routes, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "659ba868b2d99d85",
      "framework": "next-react",
      "imports": "@/lib/platform/public-routes,next",
      "lines": 6,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "9427d3bafd55afe51f11e98d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/footer, @/components/layout/topbar, @/components/theme-provider, @/components/ui/tooltip, @/lib/platform/public-routes, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a0a1c5e22f68e15",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/topbar,@/components/theme-provider,@/components/ui/tooltip,@/lib/platform/public-routes,@vercel/analytics/next,next,next/font/google",
      "lines": 138,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,discovery,ai",
      "component_id": "8ba06ca659aef16b83abe8f7",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55 | ai-score:45",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "07e175d6095e8d8d",
      "framework": "next-react",
      "imports": "next",
      "lines": 31,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "173ae2877292b0d192787e09",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "36ad2468c166c4d5",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 6,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "90d03fb8509893a00f6306e4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dba380a96eb2c57b",
      "framework": "next-react",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "b6b27409a9230e5d0c56d1fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/platform/version | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "546ceb2613a2de43",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/platform/version",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,ai",
      "component_id": "857e7a09f626e29c30ff7b28",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE, GET | imports:@/lib/mcp/canonical-registry, @/lib/platform/version | backend-score:125 | observability-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "BASE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bc8ca74b482f8b46",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/platform/version",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "0ac6301032be309efb13651f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE, GET | imports:@/lib/mcp/canonical-registry, @/lib/platform/version | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "BASE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "086ff88e45116056",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/platform/version",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "68a83d7607f4fd878ab9bb37",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/types | backend-score:125 | observability-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a162872af76d00e",
      "framework": "next-react",
      "imports": "@/lib/mcp/types",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "72cb74fc1dfb35bae42be76e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/breadcrumb, @/lib/platform/public-routes, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f534a28e66f068c",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/breadcrumb,@/lib/platform/public-routes,next,next/link",
      "lines": 146,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "a7fb924f896461ef5bf4bd13",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/autodiscovery, @/lib/mcp/cors, @/lib/mcp/network, @/lib/platform/trust-policy, @/lib/platform/version, crypto | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de644504e9a7aca9",
      "framework": "next-react",
      "imports": "@/lib/mcp/autodiscovery,@/lib/mcp/cors,@/lib/mcp/network,@/lib/platform/trust-policy,@/lib/platform/version,crypto",
      "lines": 348,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "b363417c246d9493e90ddb09",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/network-graph, @/lib/mcp/types, @/lib/platform/version | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2cca0bc7bb7fbf4",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/network-graph,@/lib/mcp/types,@/lib/platform/version",
      "lines": 235,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "11e2e50e3a1a8974d78507d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e7b988b08687c28f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "418f75f918d719ad6698006b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2bb7a98c4a1b9ad0",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "4f85ff36910a4bba993b5116",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network, @/lib/platform/version | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "836ce36583384a2e",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network,@/lib/platform/version",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "fd1fba52a98c732468519ce9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/network-graph, @/lib/mcp/types, @/lib/platform/version | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2142007cc5c48dd",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/network-graph,@/lib/mcp/types,@/lib/platform/version",
      "lines": 249,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,ai",
      "component_id": "a3306484211732bfda5e3a0f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MCPDashboard, metadata | imports:@/components/mcp/connect-section, @/components/mcp/hero-section, @/components/mcp/live-site-tester, @/components/mcp/network-section, @/components/mcp/prompts-section, @/components/mcp/resources-section, @/components/mcp/status-badge, @/components/mcp/tools-section | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "MCPDashboard,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "404d02d7bfbde807",
      "framework": "next-react",
      "imports": "@/components/mcp/connect-section,@/components/mcp/hero-section,@/components/mcp/live-site-tester,@/components/mcp/network-section,@/components/mcp/prompts-section,@/components/mcp/resources-section,@/components/mcp/status-badge,@/components/mcp/tools-section,@/components/ui/tabs,lucide-react,next",
      "lines": 98,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability",
      "component_id": "e012c8d3fe9d6079f28aace2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/mcp/batch-health-checker, @/components/mcp/live-site-tester, @/components/ui/badge, @/components/ui/button, @/lib/mcp/canonical-registry, @/lib/mcp/types, @/lib/platform/constants, @/lib/platform/version | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "519c151a032db244",
      "framework": "next-react",
      "imports": "@/components/mcp/batch-health-checker,@/components/mcp/live-site-tester,@/components/ui/badge,@/components/ui/button,@/lib/mcp/canonical-registry,@/lib/mcp/types,@/lib/platform/constants,@/lib/platform/version,lucide-react,next,next/link",
      "lines": 118,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mcp/test/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability",
      "component_id": "609ad71a12583093ce4fa210",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiscoveryPage, metadata | imports:@/components/mcp/discovery-dashboard, @/components/ui/badge, @/components/ui/button, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55",
      "exports": "DiscoveryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "940e16ebc02816f8",
      "framework": "next-react",
      "imports": "@/components/mcp/discovery-dashboard,@/components/ui/badge,@/components/ui/button,lucide-react,next,next/link",
      "lines": 102,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mcp/discovery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "501785fcc3edf95f87fe36d7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/separator, @/lib/mcp/canonical-registry, @/lib/mcp/network-graph, @/lib/platform/version, lucide-react, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0c9108ea9fc5b5d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/separator,@/lib/mcp/canonical-registry,@/lib/mcp/network-graph,@/lib/platform/version,lucide-react,next,next/link",
      "lines": 385,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation,ai",
      "component_id": "734f3bc1dff4e84c504cca3c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/platform/version | backend-score:125 | observability-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f30a56baf95d50e",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/platform/version",
      "lines": 114,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "358a8467d6204323d3974549",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52fc1447d76c9d42",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/seed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b5f3814e6e927e5345526252",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82fad2945a6f12f6",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c3c4056b4c04656b4aea4829",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "95e037d3b943d3cc",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tools/[name]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "a7193273af4a9737c2a5dbf5",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/mcp/capabilities/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f12a176f89b41f8b",
      "framework": "next-react",
      "imports": "@/app/api/mcp/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "43ecc7642c01c4865a031a97",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/app/api/mcp/register/route | backend-score:55",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90dde6e862985017",
      "framework": "next-react",
      "imports": "@/app/api/mcp/register/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "c1cbeabebbfaaaa710d7da01",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1b400f0d3ff886a",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "d8da6a58487e82bca17d58cf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f650b4daf96f074f",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/[id]/deprecate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "e9de62ec67ea30eeede7c887",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/security, @/lib/mcp/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d77c7fc1de77d107",
      "framework": "next-react",
      "imports": "@/lib/mcp/security,@/lib/mcp/server,next/server",
      "lines": 154,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/test/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "0c76c815421264e6e3cb9723",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/security, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bfa848ca0c239bd0",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/security,next/server",
      "lines": 214,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/test/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "916547dfe5b9fbe2433e90e5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "45c393daca6bd9c3",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "33f6b9e37099009f8ef9ef31",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8083364e1a514f07",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/resources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "a6ed58642f5b2a905ec1062a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf08b705bd054e45",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/resources/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "0261fc3b352e356be3fd9b26",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b7fe3cc0b1a0af08",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "ef08432b8336bc621ac164b9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network-graph | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "199e9fa6384125d1",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network-graph",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "9a65d4e4c0b91b7260c4bd27",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/network-graph | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "74737093b018c4b4",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/network-graph",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "5161beb506f80c98d47f49bf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/auth, @/lib/mcp/cors, @/lib/mcp/network-graph | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "88291823f3e554fa",
      "framework": "next-react",
      "imports": "@/lib/mcp/auth,@/lib/mcp/cors,@/lib/mcp/network-graph",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "7c3ca10eff76e60e0e9b940b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/network-graph | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "31a8f7d36a35cfd8",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/network-graph",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "75595a221815a1580fab45b1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/constants | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c3a4ed9384d72c4",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/constants",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,security",
      "component_id": "498662726b7d87a5bc8b81a6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77477f9f8d8457f2",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "965b160c9829e6d44e18ca88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/constants | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0df364df186859a5",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/constants",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "7d1d622043d59628e946701b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/mcp/autodiscovery, @/lib/mcp/cors, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3979d19c9cd6cf09",
      "framework": "next-react",
      "imports": "@/lib/mcp/autodiscovery,@/lib/mcp/cors,next/server",
      "lines": 190,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,ai,observability,security",
      "component_id": "b5e474a9d9898eb322f09efb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dbfaecab5ebec468",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/evals/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "f4066e2b7f23188d1b61c59f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d56c53c74ca8722",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/browserops/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "0274844a0833b55d6d27b85a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b61890090ede37b9",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/sandbox/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "709650283bfd6ca4d552dd9c",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b8af5329ca7524d",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "d387615e8e86ebd11e74cd9c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route | backend-score:55 | process-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6c0fa21538992264",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,backend",
      "component_id": "1d87ccc07a8a80069e83e316",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "imports:../route, @/lib/mcp/discovery-search, next/server | frontend-score:55 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04bde18f7b1c2c73",
      "framework": "next-react",
      "imports": "../route,@/lib/mcp/discovery-search,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "dafe48e02a4748a5cdedcbfa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/mcp/discovery-search, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea13856014470fc8",
      "framework": "next-react",
      "imports": "@/lib/mcp/discovery-search,crypto,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8ac7f9effb29bcb5f20b50de",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2399af228627019",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,discovery",
      "component_id": "a25fce0ce36f04e4311b8970",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18e4598e11e3b563",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,security",
      "component_id": "083506856f53ea8ade87f4d6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/redis | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99436c0bcae8211d",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/redis",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "eb614773e2f4483079e55c7b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/app/api/mcp/register/route | backend-score:55",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90dde6e862985017",
      "framework": "next-react",
      "imports": "@/app/api/mcp/register/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "b012048c9e19abc6211172c9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/redis | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bdb8bfd5b665311",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/redis",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,discovery",
      "component_id": "cc7e2ee0da822f68ecfcc9cd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/sitemap-index | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f255cd37466f8857",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/sitemap-index",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,discovery",
      "component_id": "a6d7cc485b661b64c260ddd0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/sitemap-index | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab0e8c41355e0e74",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/sitemap-index",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,discovery",
      "component_id": "8db5b7be94335d13bdaba2b2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/sitemap-index | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "94e244a411a2ee51",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/sitemap-index",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,discovery",
      "component_id": "a80081df8a399553b50fd83f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/sitemap-index | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9675d7c46715cf0b",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/sitemap-index",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/index/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,discovery",
      "component_id": "373861daef643281f74356fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/auth, @/lib/mcp/cors, @/lib/mcp/sitemap-index | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ccd18c6faf771163",
      "framework": "next-react",
      "imports": "@/lib/mcp/auth,@/lib/mcp/cors,@/lib/mcp/sitemap-index",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,ai,logic,security",
      "component_id": "1a2376ce0267c7aaab1c855f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/model-adapter | backend-score:125 | ai-score:120 | logic-score:60 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "87db8c84578fb496",
      "framework": "next-react",
      "imports": "@/lib/platform/model-adapter",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/explain-tool-risk/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,ai,logic",
      "component_id": "f0e97ec57817d78535f3f3e6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/model-adapter | backend-score:125 | ai-score:120 | logic-score:60 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "45f95c2a637c2125",
      "framework": "next-react",
      "imports": "@/lib/platform/model-adapter",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/generate-client-config/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai,logic",
      "component_id": "12150c6dcb97ce6bb842290b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/model-adapter | backend-score:125 | ai-score:120 | logic-score:60 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b95bad02b320301e",
      "framework": "next-react",
      "imports": "@/lib/platform/model-adapter",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/recommend-tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,ai,logic",
      "component_id": "a12e95b7cc6da7dd771e1519",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/model-adapter | backend-score:125 | ai-score:120 | logic-score:60 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b709084873c5a58e",
      "framework": "next-react",
      "imports": "@/lib/platform/model-adapter",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/summarize-capability/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,ai,logic",
      "component_id": "3a5842a1eff10724cac3c8b9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/model-adapter | backend-score:125 | ai-score:120 | logic-score:60 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "346cfe22546627d6",
      "framework": "next-react",
      "imports": "@/lib/platform/model-adapter",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/generate-remediation-summary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "33942aad9d8207b6be5fa608",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/reconciliation | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9566be6d3837cb5f",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/reconciliation",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registry/snapshot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "779693769c32437cc5013107",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/reconciliation | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e65c566f761e6808",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/reconciliation",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registry/reconcile/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "c84bd0a224168500eb982cb0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1370a1e43ffacf4b",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/prompts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "a46ebc485373b5cf91ab6ad0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "333e7ce4c5172def",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/prompts/[name]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "a5125df5a97b197db9ff95c8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36c5f0f6d6d50f8e",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp-servers/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "d5b398401661b4dc6e444e97",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1559823017ec2cff",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp-servers/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "e47d5c1297a5013cdad7dfdf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19178bd46db3b436",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp-servers/[id]/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "8235b2cd721c7454cd2dbfcb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b9b6a4943d706bc",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp-servers/[id]/proxy/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security",
      "component_id": "dc15de4363cbb4db48b2c07d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f5709f2b5e0b415",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp-servers/[id]/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "4818082a36890f3fe3e5949f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "150a6a45cae8a1b0",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,process",
      "component_id": "3b067e998563213b62c98eeb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "761ebeead59d2599",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "8d9ecdf9f4495edbd02f73f2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/platform/auth | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2db134c4e52ce460",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/platform/auth",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c1188696565d3fca10aa6de4",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a17d9422ad24da4e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ping/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "5edc1f0b706b0cfc0ae1832b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/mcp/capabilities/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f12a176f89b41f8b",
      "framework": "next-react",
      "imports": "@/app/api/mcp/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "49cef43d97ef4a63bc2f3abe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/dynamo, @/lib/mcp/network, @/lib/mcp/network-graph, @/lib/mcp/redis, @/lib/mcp/types, @/lib/platform/constants | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9db2d2a26dfbaa89",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/dynamo,@/lib/mcp/network,@/lib/mcp/network-graph,@/lib/mcp/redis,@/lib/mcp/types,@/lib/platform/constants,next/server",
      "lines": 205,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "bd1eb704d1325a12db04a16e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/network-graph, @/lib/mcp/redis, @/lib/mcp/server, @/lib/mcp/types, @/lib/platform/auth | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6259f39e1317fc16",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/network-graph,@/lib/mcp/redis,@/lib/mcp/server,@/lib/mcp/types,@/lib/platform/auth,@/lib/platform/version,crypto",
      "lines": 488,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "e4daa92950b8634a66c738af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/redis, @/lib/mcp/security | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e3ac24cb9798edf",
      "framework": "next-react",
      "imports": "@/lib/mcp/redis,@/lib/mcp/security",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "e7b7f76a8213099c87f6a589",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/redis, @/lib/mcp/types, @/lib/platform/version | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d959ecdc9834e6b8",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/redis,@/lib/mcp/types,@/lib/platform/version",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "ee32124f46bcfadea2aa6607",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/redis, @/lib/platform/auth, crypto | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e5864e894a5a7c35",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/redis,@/lib/platform/auth,crypto",
      "lines": 80,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery,automation,ai",
      "component_id": "804e967d11254da9e9493fe7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/types, @/lib/platform/version, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0365bbfade9503db",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/types,@/lib/platform/version,next/server",
      "lines": 366,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,process,observability,security,discovery",
      "component_id": "3b5595eb812cccf28d26056f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,path",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, fs/promises, path | backend-score:125 | process-score:80 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8fff1e95dab2b885",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,fs/promises,path",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "723e51ba55acb0636389b8c3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d794df5b30c4884e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "b4fe56d2bd61c72be7e922a6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/app/api/mcp/register/route | backend-score:55",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90dde6e862985017",
      "framework": "next-react",
      "imports": "@/app/api/mcp/register/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,security",
      "component_id": "b2bd8a6cfa343a3f9340fa7d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/icons | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4df72266224a9d6",
      "framework": "next-react",
      "imports": "@/lib/mcp/icons",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/icons/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "6ac0fba3363ddbcfe45e472c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/discovery-search, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c06ff3f641e664e5",
      "framework": "next-react",
      "imports": "@/lib/mcp/discovery-search,crypto,next/server",
      "lines": 76,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,integration,observability,security",
      "component_id": "c0b141133edda8134fb6e2da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/github-sitemap, @/lib/mcp/redis, crypto | backend-score:125 | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c9b5ccc7fedcf3d",
      "framework": "next-react",
      "imports": "@/lib/mcp/github-sitemap,@/lib/mcp/redis,crypto",
      "lines": 78,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/vercel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,process,frontend,integration,observability,security",
      "component_id": "c3354ad52c75734a0eb08962",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/cors, @/lib/mcp/redis, crypto, next/server | backend-score:125 | automation-score:95 | process-score:80 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ecf8e13113822b69",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/redis,crypto,next/server",
      "lines": 177,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/deploy/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "aaa355b549922ae61d9fc825",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/mcp/cors, @/lib/mcp/security, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e67339881414bfa4",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/security,crypto,next/server",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/client/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "3a9263e287401f1c271f76a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/mcp/autodiscovery, @/lib/mcp/redis, @/lib/mcp/security, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c86c3eb4cb0e7fd",
      "framework": "next-react",
      "imports": "@/lib/mcp/autodiscovery,@/lib/mcp/redis,@/lib/mcp/security,next/server",
      "lines": 106,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "1ec8558b5cc1c767617eb842",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/mcp/cors, @/lib/mcp/security, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2b2404a0fa20db7a",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/security,next/server",
      "lines": 98,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/daily/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "46c9f1d4244c5cdb0d252e2a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/mcp/cors, @/lib/mcp/redis, @/lib/mcp/security, @/lib/mcp/types, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c5526fa917981cd6",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/redis,@/lib/mcp/security,@/lib/mcp/types,next/server",
      "lines": 130,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/health-check/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "8cda36201aabc4f05eb05184",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/github-sitemap, @/lib/mcp/redis, @/lib/mcp/security, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e2491783d80170f",
      "framework": "next-react",
      "imports": "@/lib/mcp/github-sitemap,@/lib/mcp/redis,@/lib/mcp/security,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/maintenance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation,frontend,observability,security,discovery",
      "component_id": "9d885b3a0a6e98dfa22f5c88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration | imports:@/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/redis, @/lib/mcp/security, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e92592b5775b2eb7",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/redis,@/lib/mcp/security,next/server",
      "lines": 169,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/sitemap-sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bbf8f799ade0d5495c4c635e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/public-routes | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b89b37a62e27bee",
      "framework": "next-react",
      "imports": "@/lib/platform/public-routes",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery,ai",
      "component_id": "7a6ecd987f9f8018f3aeb0b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/platform/version | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f6090fae8e00924",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/platform/version",
      "lines": 146,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "10f827ab82349997d3f4d1f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/mcp/network, @/lib/mcp/network-graph, @/lib/mcp/reconciliation, @/lib/platform/version | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f7a3b2274014bca1",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/mcp/network,@/lib/mcp/network-graph,@/lib/mcp/reconciliation,@/lib/platform/version",
      "lines": 140,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "8afdd85e9bfe6a49e98abeca",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:McpClientPage | imports:@/components/mcp/client/connection-manager, @/components/mcp/client/server-prompts, @/components/mcp/client/server-resources, @/components/mcp/client/server-tools, @/components/ui/badge, @/components/ui/button, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "McpClientPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "560c7719bab285d1",
      "framework": "next-react",
      "imports": "@/components/mcp/client/connection-manager,@/components/mcp/client/server-prompts,@/components/mcp/client/server-resources,@/components/mcp/client/server-tools,@/components/ui/badge,@/components/ui/button,@/components/ui/tabs,lucide-react,next/link,react",
      "lines": 396,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/client/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery,ai",
      "component_id": "ffecdfa1fe734cee0b01dfbf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp/canonical-registry, @/lib/mcp/cors, @/lib/platform/version | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6559b3a4e919c28",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,@/lib/mcp/cors,@/lib/platform/version",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "791962858965969d5bd1b8a7",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALLOWED_DOMAINS | observability-score:55",
      "exports": "ALLOWED_DOMAINS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "55e74ac4c72a4c5b",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "test_regex",
      "normalized_name": "test-regex",
      "package_manager": "pnpm",
      "path": "tests/test_regex.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "590dc55aae980870d689b286",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ALLOWED_DOMAINS, TRUSTED_DOMAIN_REGEX | logic-score:85 | observability-score:55",
      "exports": "ALLOWED_DOMAINS,TRUSTED_DOMAIN_REGEX",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cef5b47aa230d8d3",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "test_domain",
      "normalized_name": "test-domain",
      "package_manager": "pnpm",
      "path": "tests/test_domain.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "65f77577cdfa7a298d781bee",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "016f3c00734855cd",
      "framework": "next-react",
      "imports": "fs",
      "lines": 3,
      "logic_relevance": "none",
      "name": "test_redis",
      "normalized_name": "test-redis",
      "package_manager": "pnpm",
      "path": "tests/test_redis.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f87b98faec65f1531295aada",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f72077c7ba592fc1",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 4,
      "logic_relevance": "none",
      "name": "test_ssrf4",
      "normalized_name": "test-ssrf4",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf4.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b910d196df5b660303332821",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolsSectionOptimized, ToolsSectionUnoptimized | imports:react, react-dom/server | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ToolsSectionOptimized,ToolsSectionUnoptimized",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "45677ed1e71bff85",
      "framework": "next-react",
      "imports": "react,react-dom/server",
      "lines": 93,
      "logic_relevance": "none",
      "name": "benchmark2",
      "normalized_name": "benchmark2",
      "package_manager": "pnpm",
      "path": "tests/benchmark2.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b0e722c7b345c273fde8049d",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "58906e8ffeef2ac0",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 5,
      "logic_relevance": "none",
      "name": "test_regex2",
      "normalized_name": "test-regex2",
      "package_manager": "pnpm",
      "path": "tests/test_regex2.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ce9f17f95fe697b11658ba32",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a3aa6d62a10921a3",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 8,
      "logic_relevance": "none",
      "name": "test_ssrf5",
      "normalized_name": "test-ssrf5",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf5.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d4a29047463a8f3933956f9b",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALLOWED_DOMAINS | observability-score:55",
      "exports": "ALLOWED_DOMAINS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49e9e864fb62caa1",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "test_regex3",
      "normalized_name": "test-regex3",
      "package_manager": "pnpm",
      "path": "tests/test_regex3.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "131492a65cf8cb3d3fcbc6a9",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "de30e68a64698d41",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 5,
      "logic_relevance": "none",
      "name": "test_ssrf6",
      "normalized_name": "test-ssrf6",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf6.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e88cc4b1e778f4f7e2148704",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolsSectionOptimized, ToolsSectionUnoptimized | imports:react, react-dom/server | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ToolsSectionOptimized,ToolsSectionUnoptimized",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "03e7253b9e1aa95b",
      "framework": "next-react",
      "imports": "react,react-dom/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "benchmark",
      "normalized_name": "benchmark",
      "package_manager": "pnpm",
      "path": "tests/benchmark.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5d5b9b01d724904911d502b6",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6118c5a388006dae",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 8,
      "logic_relevance": "none",
      "name": "test_ssrf2",
      "normalized_name": "test-ssrf2",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf2.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b64a94d86a7844b4ca2c6b65",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALLOWED_DOMAINS | observability-score:55",
      "exports": "ALLOWED_DOMAINS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8bff88555036d3bb",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "test_regex",
      "normalized_name": "test-regex",
      "package_manager": "pnpm",
      "path": "tests/test_regex.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "10830785bc45c85116bc954a",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b91504185edc44ab",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 7,
      "logic_relevance": "none",
      "name": "test_ssrf3",
      "normalized_name": "test-ssrf3",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf3.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "2250bbab1c764f1e2ee270f7",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "crypto,next",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:crypto, next/server | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "29ad72a617717c8f",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "test_callback",
      "normalized_name": "test-callback",
      "package_manager": "pnpm",
      "path": "tests/test_callback.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e9f41dc2c12d708970ecea00",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALLOWED_DOMAINS, TRUSTED_DOMAIN_REGEX | observability-score:55",
      "exports": "ALLOWED_DOMAINS,TRUSTED_DOMAIN_REGEX",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "98d448332cb8a0b5",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "test_ssrf7",
      "normalized_name": "test-ssrf7",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf7.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2bc8531fe8ce4d51942953e9",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "08b07eba109ca777",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 5,
      "logic_relevance": "none",
      "name": "test_ssrf8",
      "normalized_name": "test-ssrf8",
      "package_manager": "pnpm",
      "path": "tests/test_ssrf8.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "499bca083860fd26e6608a6f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ALLOWED_DOMAINS, TRUSTED_DOMAIN_REGEX | observability-score:55",
      "exports": "ALLOWED_DOMAINS,TRUSTED_DOMAIN_REGEX",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "543efc8ef3a12555",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "test_domain2",
      "normalized_name": "test-domain2",
      "package_manager": "pnpm",
      "path": "tests/test_domain2.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,security",
      "component_id": "e014c81ba5965b1cba879690",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37a28ab24396bbe0",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "revert_tests",
      "normalized_name": "revert-tests",
      "package_manager": "pnpm",
      "path": "tests/revert_tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "53ab68a78efc5bf8bdf80afe",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a10af49e231944b5",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 4,
      "logic_relevance": "none",
      "name": "fix_test",
      "normalized_name": "fix-test",
      "package_manager": "pnpm",
      "path": "tests/fix_test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e90bc5378b4efaa60890bfdd",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/mcp/security | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db8933af7f5d7d47",
      "framework": "next-react",
      "imports": "./lib/mcp/security",
      "lines": 8,
      "logic_relevance": "none",
      "name": "test_security",
      "normalized_name": "test-security",
      "package_manager": "pnpm",
      "path": "tests/test_security.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "58f7a3b57bf7df1a299ef12c",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest,zod",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/mcp/protocol, vitest, zod | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "de62da812e835eaa",
      "framework": "next-react",
      "imports": "@/lib/mcp/protocol,vitest,zod",
      "lines": 342,
      "logic_relevance": "none",
      "name": "protocol.test",
      "normalized_name": "protocol",
      "package_manager": "pnpm",
      "path": "tests/__tests__/protocol.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability",
      "component_id": "7dee051f5de89114ba745c23",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/ping/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "727edd633c96a367",
      "framework": "next-react",
      "imports": "../app/api/ping/route,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "ping-route.test",
      "normalized_name": "ping-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/ping-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "bb68c766fcf0effa26557939",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "fs,path,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:PromptsSection, ResourcesSection | imports:fs, path, vitest | ai-score:45",
      "exports": "PromptsSection,ResourcesSection",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b1b1036f043919ad",
      "framework": "next-react",
      "imports": "fs,path,vitest",
      "lines": 155,
      "logic_relevance": "none",
      "name": "hooks-ordering.test",
      "normalized_name": "hooks-ordering",
      "package_manager": "pnpm",
      "path": "tests/__tests__/hooks-ordering.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "89c451f728f0d1797a702340",
      "component_kind": "mcp-server",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/v1/test/mcp/route, @/lib/mcp/security, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9940c0a5416e038f",
      "framework": "next-react",
      "imports": "../app/api/v1/test/mcp/route,@/lib/mcp/security,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "v1-test-mcp-route.test",
      "normalized_name": "v1-test-mcp-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/v1-test-mcp-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "a79ac8641accc3e00596a226",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/.well-known/agents.json/route, ../app/.well-known/ai-plugin.json/route, ../app/.well-known/mcp.json/route, ../app/.well-known/security.txt/route, ../app/llms-index.json/route, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "759756f678d92af2",
      "framework": "next-react",
      "imports": "../app/.well-known/agents.json/route,../app/.well-known/ai-plugin.json/route,../app/.well-known/mcp.json/route,../app/.well-known/security.txt/route,../app/llms-index.json/route,vitest",
      "lines": 256,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "tests/__tests__/well-known.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "39f097859fbab0bd008f666a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d87c50bc0dfcb80c",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "chart-security.test",
      "normalized_name": "chart-security",
      "package_manager": "pnpm",
      "path": "tests/__tests__/chart-security.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "b03e09af56b69453fc7b1440",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "@/lib,crypto,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:PLATFORM_KEY | imports:@/lib/mcp/security, crypto, vitest | security-score:55 | automation-score:45 | uses-env | cron-or-schedule | model-provider",
      "exports": "PLATFORM_KEY",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f8fbab409ef42c0",
      "framework": "next-react",
      "imports": "@/lib/mcp/security,crypto,vitest",
      "lines": 476,
      "logic_relevance": "none",
      "name": "security.test",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "tests/__tests__/security.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "05681fd4b40e9a59f2155456",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/mcp/cors, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "708427d37ae3089d",
      "framework": "next-react",
      "imports": "@/lib/mcp/cors,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "cors.test",
      "normalized_name": "cors",
      "package_manager": "pnpm",
      "path": "tests/__tests__/cors.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "c657ed35b938808847ddf8f3",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9614ff58ab786657",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,integration,observability,security,process",
      "component_id": "bdb59d4f4fa145f7d32869f4",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../app/api/webhooks/deploy/route, vitest | automation-score:95 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d8ac589b4c5656b6",
      "framework": "next-react",
      "imports": "../app/api/webhooks/deploy/route,vitest",
      "lines": 156,
      "logic_relevance": "none",
      "name": "webhooks-deploy-route.test",
      "normalized_name": "webhooks-deploy-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/webhooks-deploy-route.test.ts",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "6c640f9abe711ae9da6a2185",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/mcp/auth, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26dc947d8c2d3a97",
      "framework": "next-react",
      "imports": "@/lib/mcp/auth,vitest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "tests/__tests__/auth.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "observability,security,automation,ai",
      "component_id": "c8889fac91c75d1bc1cfcbd0",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/model/summarize-capability/route, @/app/sitemap-main.xml/route, @/lib/mcp/reconciliation, @/lib/platform/public-routes, vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "09ce7bba8a5eee3a",
      "framework": "next-react",
      "imports": "@/app/api/v1/model/summarize-capability/route,@/app/sitemap-main.xml/route,@/lib/mcp/reconciliation,@/lib/platform/public-routes,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "phase1-surfaces.test",
      "normalized_name": "phase1-surfaces",
      "package_manager": "pnpm",
      "path": "tests/__tests__/phase1-surfaces.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "ac57088010c922caef7cb299",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/mcp/tools/network, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f5cd80bc680dc9c7",
      "framework": "next-react",
      "imports": "../lib/mcp/tools/network,vitest",
      "lines": 44,
      "logic_relevance": "none",
      "name": "network-tools.test",
      "normalized_name": "network-tools",
      "package_manager": "pnpm",
      "path": "tests/__tests__/network-tools.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability",
      "component_id": "b0095ba48730621fb1c87516",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/mcp/network, @/lib/mcp/redis, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a01774ba3dcc86d4",
      "framework": "next-react",
      "imports": "@/lib/mcp/network,@/lib/mcp/redis,vitest",
      "lines": 63,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "tests/__tests__/network.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "40105859b7d44ed57d9d669f",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Command | imports:../lib/mcp/dynamo-store, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Command",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ad9dfdb0aa5c2a44",
      "framework": "next-react",
      "imports": "../lib/mcp/dynamo-store,vitest",
      "lines": 425,
      "logic_relevance": "primary",
      "name": "dynamo-store.test",
      "normalized_name": "dynamo-store",
      "package_manager": "pnpm",
      "path": "tests/__tests__/dynamo-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "acfb9b938f8d64784f782ea7",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/mcp/capabilities/route, @/lib/mcp/redis, @/lib/mcp/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2734d3db99f8a2a5",
      "framework": "next-react",
      "imports": "../app/api/mcp/capabilities/route,@/lib/mcp/redis,@/lib/mcp/server,vitest",
      "lines": 143,
      "logic_relevance": "none",
      "name": "capabilities-route.test",
      "normalized_name": "capabilities-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/capabilities-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "security,automation",
      "component_id": "589fecfc4040fafab05a2e23",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Command | imports:../lib/mcp/dynamo, vitest | security-score:55 | automation-score:45",
      "exports": "Command",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "94750ca81991ce89",
      "framework": "next-react",
      "imports": "../lib/mcp/dynamo,vitest",
      "lines": 475,
      "logic_relevance": "none",
      "name": "dynamo.test",
      "normalized_name": "dynamo",
      "package_manager": "pnpm",
      "path": "tests/__tests__/dynamo.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "380a07cefc2941ecf6bae693",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../app/api/mcp/route, @/lib/mcp/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f5d8ec3f10169b3",
      "framework": "next-react",
      "imports": "../../app/api/mcp/route,@/lib/mcp/server,vitest",
      "lines": 701,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "552b2da6c97acb6070e21755",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/mcp/validate/route, @/lib/mcp/redis, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d621bd38e8a846dc",
      "framework": "next-react",
      "imports": "../app/api/mcp/validate/route,@/lib/mcp/redis,vitest",
      "lines": 162,
      "logic_relevance": "none",
      "name": "validate-route.test",
      "normalized_name": "validate-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/validate-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "f1f545832e4b49e4093a5d8a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/mcp/resources/index, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e074a23768e549be",
      "framework": "next-react",
      "imports": "../lib/mcp/resources/index,vitest",
      "lines": 100,
      "logic_relevance": "none",
      "name": "resources.test",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "tests/__tests__/resources.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "aa05f41646fc5d8158c9a1ac",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/icons/route, @/lib/mcp/icons, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c9dd3254b4e058c",
      "framework": "next-react",
      "imports": "../app/api/icons/route,@/lib/mcp/icons,vitest",
      "lines": 43,
      "logic_relevance": "none",
      "name": "icons-route.test",
      "normalized_name": "icons-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/icons-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,integration,observability,security",
      "component_id": "d4673958600e7c01148de60b",
      "component_kind": "deployment-automation",
      "confidence": 75,
      "dependency_roots": "@/lib,crypto,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../app/api/webhooks/vercel/route, @/lib/mcp/redis, crypto, vitest | automation-score:95 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "25adbd44cdb8e71b",
      "framework": "next-react",
      "imports": "../app/api/webhooks/vercel/route,@/lib/mcp/redis,crypto,vitest",
      "lines": 180,
      "logic_relevance": "none",
      "name": "webhooks-vercel-route.test",
      "normalized_name": "webhooks-vercel-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/webhooks-vercel-route.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "8d3f448b351f1fac4cfc91ba",
      "component_kind": "prompt-template",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../lib/mcp/prompts/index, vitest | ai-score:120 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "10543b187fc66fc4",
      "framework": "next-react",
      "imports": "../lib/mcp/prompts/index,vitest",
      "lines": 413,
      "logic_relevance": "none",
      "name": "prompts.test",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "tests/__tests__/prompts.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "696f6c5cb0ed6544a8371909",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/mcp/registry, vitest | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "763f3aa8f0e73f3c",
      "framework": "next-react",
      "imports": "@/lib/mcp/registry,vitest",
      "lines": 245,
      "logic_relevance": "none",
      "name": "registry.test",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "tests/__tests__/registry.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "54df4582c86dc2e4de97d3b0",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MCP_URL, SSE_URL | imports:vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MCP_URL,SSE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e01ba498cb06ddf5",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 238,
      "logic_relevance": "none",
      "name": "connect-configs.test",
      "normalized_name": "connect-configs",
      "package_manager": "pnpm",
      "path": "tests/__tests__/connect-configs.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,discovery",
      "component_id": "fafd8ef082a6c48f266fa38d",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:INVALID_SITEMAP, MOCK_OWNER, MOCK_PATH, MOCK_REPO, MOCK_SHA, MOCK_URL, VALID_SITEMAP | imports:../lib/mcp/github-sitemap, vitest | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env",
      "exports": "INVALID_SITEMAP,MOCK_OWNER,MOCK_PATH,MOCK_REPO,MOCK_SHA,MOCK_URL,VALID_SITEMAP",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f0286fc354cd0bd",
      "framework": "next-react",
      "imports": "../lib/mcp/github-sitemap,vitest",
      "lines": 253,
      "logic_relevance": "none",
      "name": "github-sitemap.test",
      "normalized_name": "github-sitemap",
      "package_manager": "pnpm",
      "path": "tests/__tests__/github-sitemap.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "f73436092c32ca53437788f7",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockRedis | imports:@/lib/mcp/redis, @/lib/mcp/types, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MockRedis",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fd306847bdcefa15",
      "framework": "next-react",
      "imports": "@/lib/mcp/redis,@/lib/mcp/types,vitest",
      "lines": 305,
      "logic_relevance": "primary",
      "name": "site-store.test",
      "normalized_name": "site-store",
      "package_manager": "pnpm",
      "path": "tests/__tests__/site-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "8e1aeb0f8f161cfcbffeec3c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PH_API | imports:../lib/mcp/tools/producthunt, vitest | observability-score:55 | security-score:55",
      "exports": "PH_API",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bfb009caa56978ba",
      "framework": "next-react",
      "imports": "../lib/mcp/tools/producthunt,vitest",
      "lines": 207,
      "logic_relevance": "none",
      "name": "producthunt.test",
      "normalized_name": "producthunt",
      "package_manager": "pnpm",
      "path": "tests/__tests__/producthunt.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "a30e41ff0b9dff2fa903c502",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "crypto,vitest",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../lib/mcp/security, crypto, vitest | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2dd9ed87a56f4ebc",
      "framework": "next-react",
      "imports": "../lib/mcp/security,crypto,vitest",
      "lines": 61,
      "logic_relevance": "none",
      "name": "security_vulnerability.test",
      "normalized_name": "security-vulnerability",
      "package_manager": "pnpm",
      "path": "tests/__tests__/security_vulnerability.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,ai",
      "component_id": "1151c56c5aec21309396e9d9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/mcp/protocol, ../lib/mcp/redis, ../lib/mcp/tools/proxy, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b2c1005d7ce53feb",
      "framework": "next-react",
      "imports": "../lib/mcp/protocol,../lib/mcp/redis,../lib/mcp/tools/proxy,vitest",
      "lines": 49,
      "logic_relevance": "none",
      "name": "proxy.test",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "tests/__tests__/proxy.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "c316bced56ae582c4e88b81f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/mcp/autodiscovery, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "212f48732f75aded",
      "framework": "next-react",
      "imports": "@/lib/mcp/autodiscovery,vitest",
      "lines": 677,
      "logic_relevance": "none",
      "name": "autodiscovery.test",
      "normalized_name": "autodiscovery",
      "package_manager": "pnpm",
      "path": "tests/__tests__/autodiscovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "ef0a11480f85654a402c2754",
      "component_kind": "sitemap",
      "confidence": 80,
      "dependency_roots": "@/lib,vitest",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "exports:MOCK_SITEMAP_INDEX | imports:@/lib/mcp/sitemap-index, vitest | discovery-score:55",
      "exports": "MOCK_SITEMAP_INDEX",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "919f2ec6c6191150",
      "framework": "next-react",
      "imports": "@/lib/mcp/sitemap-index,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "sitemap-index.test",
      "normalized_name": "sitemap-index",
      "package_manager": "pnpm",
      "path": "tests/__tests__/sitemap-index.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,process,automation,ai",
      "component_id": "0d14e4113f144b9501bbe120",
      "component_kind": "api-docs",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_PROMPTS_RESPONSE, MOCK_RESOURCES_RESPONSE, MOCK_TOOLS_RESPONSE | imports:../app/api/docs/route, @/lib/mcp/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "MOCK_PROMPTS_RESPONSE,MOCK_RESOURCES_RESPONSE,MOCK_TOOLS_RESPONSE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bc8d80b5606eee7",
      "framework": "next-react",
      "imports": "../app/api/docs/route,@/lib/mcp/server,vitest",
      "lines": 371,
      "logic_relevance": "none",
      "name": "docs-route.test",
      "normalized_name": "docs-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/docs-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "ee7ff53e0c4793a6e8558ae3",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/mcp/canonical-registry, vitest | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c404e738a128b0ad",
      "framework": "next-react",
      "imports": "@/lib/mcp/canonical-registry,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "canonical-registry.test",
      "normalized_name": "canonical-registry",
      "package_manager": "pnpm",
      "path": "tests/__tests__/canonical-registry.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "b331f4d1429a1c6bf2cc4719",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/mcp/dynamo, @/lib/mcp/network-graph, @/lib/mcp/redis, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85a30a693970b5e9",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/mcp/dynamo,@/lib/mcp/network-graph,@/lib/mcp/redis,next/server,vitest",
      "lines": 278,
      "logic_relevance": "none",
      "name": "health-route.test",
      "normalized_name": "health-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/health-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "f75016194db768d2b0dcee4a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/mcp/resources/index, vitest | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cd107a3af7fad2d",
      "framework": "next-react",
      "imports": "@/lib/mcp/resources/index,vitest",
      "lines": 276,
      "logic_relevance": "none",
      "name": "resources-handlers.test",
      "normalized_name": "resources-handlers",
      "package_manager": "pnpm",
      "path": "tests/__tests__/resources-handlers.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6999921e2ecefe715a8c3e4d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/v1/test/sites/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bdd4f61cfec46bb6",
      "framework": "next-react",
      "imports": "../app/api/v1/test/sites/route,vitest",
      "lines": 203,
      "logic_relevance": "none",
      "name": "v1-test-sites-route.test",
      "normalized_name": "v1-test-sites-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/v1-test-sites-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,ai",
      "component_id": "f65073b001fa74b87c8b6e9c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/mcp/client, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dfce941e506c0bd",
      "framework": "next-react",
      "imports": "@/lib/mcp/client,vitest",
      "lines": 325,
      "logic_relevance": "none",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "tests/__tests__/client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,automation",
      "component_id": "5cd0ca47d58c62b0f49771ad",
      "component_kind": "prompt-template",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/mcp/prompts, vitest | ai-score:120 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "11e987c15057f498",
      "framework": "next-react",
      "imports": "@/lib/mcp/prompts,vitest",
      "lines": 355,
      "logic_relevance": "none",
      "name": "prompts-production.test",
      "normalized_name": "prompts-production",
      "package_manager": "pnpm",
      "path": "tests/__tests__/prompts-production.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "068f68df1b7f82092ac22ee4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest,zod",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MockRedis | imports:@/lib/mcp/redis, @/lib/mcp/tools/search, @/lib/mcp/types, vitest, zod | observability-score:55 | security-score:55 | uses-env",
      "exports": "MockRedis",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7c1c888898b077f",
      "framework": "next-react",
      "imports": "@/lib/mcp/redis,@/lib/mcp/tools/search,@/lib/mcp/types,vitest,zod",
      "lines": 401,
      "logic_relevance": "none",
      "name": "search-tools.test",
      "normalized_name": "search-tools",
      "package_manager": "pnpm",
      "path": "tests/__tests__/search-tools.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "fa24039f13257245e4b3aad0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/mcp/register/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5d6049c21ceda27e",
      "framework": "next-react",
      "imports": "../app/api/mcp/register/route,vitest",
      "lines": 128,
      "logic_relevance": "none",
      "name": "register-route.test",
      "normalized_name": "register-route",
      "package_manager": "pnpm",
      "path": "tests/__tests__/register-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "1f13e0df678e4b4a60c52fbb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/mcp/server, @/lib/mcp/tools/phase1-contract, vitest | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e13192a395cef516",
      "framework": "next-react",
      "imports": "@/lib/mcp/server,@/lib/mcp/tools/phase1-contract,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "server.test",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "tests/__tests__/server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b45c3927e8a9f3b63c60f80b",
      "component_kind": "health-check",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SITE_NAME, SITE_URL | imports:vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "SITE_NAME,SITE_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5279e81cf93730f4",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 148,
      "logic_relevance": "none",
      "name": "site-health.test",
      "normalized_name": "site-health",
      "package_manager": "pnpm",
      "path": "tests/__tests__/smoke/site-health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "c93d4ed5fe5918c96fc85d10",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../../lib/mcp/tools/github, vitest | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3aea161dbf175b2c",
      "framework": "next-react",
      "imports": "../../lib/mcp/tools/github,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "github.test",
      "normalized_name": "github",
      "package_manager": "pnpm",
      "path": "tests/__tests__/tools/github.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "9338163aba0872a24e89cf05",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/mcp/tools/orchestrator, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "daeb5ba9839877a3",
      "framework": "next-react",
      "imports": "../../lib/mcp/tools/orchestrator,vitest",
      "lines": 48,
      "logic_relevance": "none",
      "name": "orchestrator.test",
      "normalized_name": "orchestrator",
      "package_manager": "pnpm",
      "path": "tests/__tests__/tools/orchestrator.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "d426f547f392c84014b8422e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/mcp/tools/sites, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ae5a56f798d5d4c9",
      "framework": "next-react",
      "imports": "../../lib/mcp/tools/sites,vitest",
      "lines": 52,
      "logic_relevance": "none",
      "name": "sites.test",
      "normalized_name": "sites",
      "package_manager": "pnpm",
      "path": "tests/__tests__/tools/sites.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "security",
      "component_id": "3b9db01025a3690de917ed60",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:MockRedis | security-score:55",
      "exports": "MockRedis",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42960690ad0aa8af",
      "framework": "next-react",
      "imports": "",
      "lines": 225,
      "logic_relevance": "none",
      "name": "mock",
      "normalized_name": "mock",
      "package_manager": "pnpm",
      "path": "tests/__tests__/redis/mock.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "9df0651722b4c99e77cfbfe7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MockRedisClient | imports:./mock, @/lib/mcp/redis, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "MockRedisClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8825a9f82b9431f3",
      "framework": "next-react",
      "imports": "./mock,@/lib/mcp/redis,vitest",
      "lines": 388,
      "logic_relevance": "none",
      "name": "redis.test",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "tests/__tests__/redis/redis.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "bfa3194eb120881155f6d5dc",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/mcp/redis, vitest | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07455ad3ab9314d8",
      "framework": "next-react",
      "imports": "@/lib/mcp/redis,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "config.test",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "tests/__tests__/redis/config.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation,ai",
      "component_id": "4d9cc44c9aa8f7da31e5dc68",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:MCP_URL, SITE_NAME, SITE_URL | imports:vitest | integration-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "MCP_URL,SITE_NAME,SITE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93bb3a50a3061be2",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 354,
      "logic_relevance": "none",
      "name": "mcp-protocol.test",
      "normalized_name": "mcp-protocol",
      "package_manager": "pnpm",
      "path": "tests/__tests__/integration/mcp-protocol.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,security,automation,ai",
      "component_id": "9696aee7f22f892399b19454",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a65cf840ef71e18c",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "docs/license.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "14bbfe30e4bac17e8b177cc3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcb5cc02a38d6d24",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "principles",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "docs/principles.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a22d03dce4754057fee4fc08",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d5879a2df20ff824",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "architecture",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/architecture.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "a1aaba825a5a109d1159489c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9d66d78d45a1dafa",
      "framework": "next-react",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/api.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,integration,security,automation,ai",
      "component_id": "c0e799d300e5e431b7d90a90",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | integration-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6f87c2837a242d7d",
      "framework": "next-react",
      "imports": "",
      "lines": 218,
      "logic_relevance": "none",
      "name": "mcp-config",
      "normalized_name": "mcp-config",
      "package_manager": "pnpm",
      "path": "docs/mcp-config.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d3bc7889d49df22b2b2daa35",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7ffbd3eb328396d3",
      "framework": "next-react",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "accessibility",
      "normalized_name": "accessibility",
      "package_manager": "pnpm",
      "path": "docs/accessibility.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "14f768df0ea0a5a67d1fffb9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bdf3e5fb5b4b67e9",
      "framework": "next-react",
      "imports": "",
      "lines": 197,
      "logic_relevance": "none",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "docs/discovery.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e7a9626645459d7b5de17228",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7ef6258f72db8213",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "secret-modal",
      "normalized_name": "secret-modal",
      "package_manager": "pnpm",
      "path": "docs/secret-modal.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d6c085186ff0c43e9dc10509",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7852ece3013f53d1",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "roadmap",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/roadmap.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "02ee07b456c1f3ffd53ea9aa",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:PH_API | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "PH_API",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8c1d442eb9ff92aa",
      "framework": "next-react",
      "imports": "",
      "lines": 545,
      "logic_relevance": "none",
      "name": "PHASE-2-PRODUCTION-PLAN",
      "normalized_name": "phase-2-production-plan",
      "package_manager": "pnpm",
      "path": "docs/PHASE-2-PRODUCTION-PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "baa6daa94c144de12820c370",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a3f5a6e1a00eba6e",
      "framework": "next-react",
      "imports": "",
      "lines": 568,
      "logic_relevance": "none",
      "name": "PHASE-2-PLAN",
      "normalized_name": "phase-2-plan",
      "package_manager": "pnpm",
      "path": "docs/PHASE-2-PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "db8e030f10d14423ac8d1b59",
      "component_kind": "onboarding",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8db18eb909c4d112",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "onboarding-observability",
      "normalized_name": "onboarding-observability",
      "package_manager": "pnpm",
      "path": "docs/onboarding-observability.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,automation",
      "component_id": "b760284b10b41cc58681fcb1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "05f0924ba67ea8a1",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "internationalization",
      "normalized_name": "internationalization",
      "package_manager": "pnpm",
      "path": "docs/internationalization.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "914c2ee0a7155fe127ad0f34",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b521be7af6955cbd",
      "framework": "next-react",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "docs/security.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "136d141b4bdd905cb9d55fad",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "50437ce3085a0c1d1e5c8a97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aaeeac94f85b87ba55528f51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "af2607c45d5f608d7550f378",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b96ff8e5a95cf8af9e9c5763",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9f91a770c0a06ed535cdadb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "96f8cb0f2f6d55107b8c9099",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6343dae9990ecff3fb40423a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "66da3ad97aa3dc4b5a22f8c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b999be78ba7326519a4a87e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "edfafb9cc78acbfbeed6a34f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "b316f57a398b7049ccf40b3a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "104cf05aeb49b1bb7bfd4b5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f97a651719d6237ee8f74d54",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0e050679e341fac103ee69af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "452cb03254613820",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 356,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ac7aec74f2eee7e5434776bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "998fdc899ddee334df1f591d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "11b344c19f74fe6eb2aeb5b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "675521dbc419e23dd62d810c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "51613c61790d3769b85d89ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "12b15ff1172ff42e881d35f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5d4099710d6a60535d2ee6d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d9a719cdc7b0f386e2333238",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d0a73fff92d9ea3939ebba4f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a3fc7e226f2b28fde14ed169",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0502e605d5a9f1f0704e2394",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "84372b4a3e6c50f5dac3f77a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f9fdb4d0ff7847d85c86cd43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "4bcfdfe4224e26d3243be229",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "17f14858835d0a5451a418b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "853b54c3362295f02f8e7377",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e88a68c2827da50fdae90ab0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e57edde333a5e1771148e96f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ffba392f15fa6044c89a3823",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a9aeb167918defab186fc4e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d0348c167f36f329b8f33167",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "45e63e80f353bf1efdd19c46",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "21ee293dc4c3d214ef556519",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6f729499bf2006fc60e8f064",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4c641de101ef604125dab477",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d5849d3ea236f1eb8e3874bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e6704a8d96f9803a8337795c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6ee0719e05b222aee33e0d4a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a89241b79098b9776bad43c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "de3a8d1c87caa8ba4139f6e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4e10c4ffd0ae3d429cd93219",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "52ca16b4d0bd9c1aabde6c53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f922dca45358fb50983524a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "0101011f6970d592f3a4651a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e9808e0392fce2b7b6c7c2ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8bd965bcd8c1d0c560ea6c13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "883d11fa617995198ef6735b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c3e6e0e047c9c5e65ec02aac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ea3c82c79a97778ddbb3e351",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "48d497467a933725de6b6218",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "17577d898e180b279e233c34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "58887e406e6fd1e3171417f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "42e6fe4924fe6c41b10e0feb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "65ba704231f6aae13715f4bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Topbar | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, @/components/ui/tooltip, @/lib/mcp/types, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Topbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25f97c9b58ef2f0f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,@/components/ui/tooltip,@/lib/mcp/types,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "topbar",
      "normalized_name": "topbar",
      "package_manager": "pnpm",
      "path": "components/layout/topbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "ecb4819cfc859e7ecb70fb39",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/mcp/types, @/lib/platform/version, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5e5626aec922421",
      "framework": "next-react",
      "imports": "@/lib/mcp/types,@/lib/platform/version,lucide-react,next/link",
      "lines": 120,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "db745471fa1b438c698e6a42",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConnectionResult, NetworkSection | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ConnectionResult,NetworkSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef4d8635b66b8146",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "network-section",
      "normalized_name": "network-section",
      "package_manager": "pnpm",
      "path": "components/mcp/network-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,integration,ai",
      "component_id": "abaa4b3d625df32fb5f90677",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolRunner | imports:@/components/ui/button, @/components/ui/label, @/components/ui/sheet, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | ai-score:45",
      "exports": "ToolRunner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e85327c7c8d34e7c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/label,@/components/ui/sheet,@/components/ui/textarea,lucide-react,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "tool-runner",
      "normalized_name": "tool-runner",
      "package_manager": "pnpm",
      "path": "components/mcp/tool-runner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,integration,security,automation,ai",
      "component_id": "79801b1bfed9864c1325a0ba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisplayTool, DisplayToolWithId, McpTool, ToolsSection | imports:./tool-runner, @/components/ui/accordion, @/components/ui/badge, @/components/ui/card, @/components/ui/label, @/components/ui/tooltip, @/hooks/use-capabilities, @/lib/mcp/types | frontend-score:115 | ui-score:70 | integration-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DisplayTool,DisplayToolWithId,McpTool,ToolsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6cf9b2827872cdc3",
      "framework": "next-react",
      "imports": "./tool-runner,@/components/ui/accordion,@/components/ui/badge,@/components/ui/card,@/components/ui/label,@/components/ui/tooltip,@/hooks/use-capabilities,@/lib/mcp/types,lucide-react,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "tools-section",
      "normalized_name": "tools-section",
      "package_manager": "pnpm",
      "path": "components/mcp/tools-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,ai",
      "component_id": "ba13041cbefd523cd51a1e98",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveSiteTester | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/tabs, @/components/ui/textarea | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "LiveSiteTester",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed1abf1c6307a6ad",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/components/ui/textarea,lucide-react,react",
      "lines": 594,
      "logic_relevance": "none",
      "name": "live-site-tester",
      "normalized_name": "live-site-tester",
      "package_manager": "pnpm",
      "path": "components/mcp/live-site-tester.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability",
      "component_id": "63f81a21523a198995aca3fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusBadge | imports:@/components/ui/badge, @/components/ui/tooltip, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55",
      "exports": "StatusBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "acedd88cc33773f5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/tooltip,react",
      "lines": 100,
      "logic_relevance": "none",
      "name": "status-badge",
      "normalized_name": "status-badge",
      "package_manager": "pnpm",
      "path": "components/mcp/status-badge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "fdb044e21bfe64c8a7b39437",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiscoveryDashboard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/progress, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "DiscoveryDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d7daf140da78bc7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/progress,@/components/ui/tabs,lucide-react,react",
      "lines": 437,
      "logic_relevance": "none",
      "name": "discovery-dashboard",
      "normalized_name": "discovery-dashboard",
      "package_manager": "pnpm",
      "path": "components/mcp/discovery-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,ai",
      "component_id": "5720a34a9a1e37827c7d708d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/tooltip, @/lib/mcp/canonical-registry, @/lib/mcp/types, lucide-react, next/link | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1c2ee0309b7f805c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/tooltip,@/lib/mcp/canonical-registry,@/lib/mcp/types,lucide-react,next/link",
      "lines": 171,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/mcp/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "af178daebf7b63f025a6c7ba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BatchHealthChecker | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "BatchHealthChecker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fa1ab070f3ef95e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,lucide-react,react",
      "lines": 195,
      "logic_relevance": "none",
      "name": "batch-health-checker",
      "normalized_name": "batch-health-checker",
      "package_manager": "pnpm",
      "path": "components/mcp/batch-health-checker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "bbf46e3aaa1a39f0648df982",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConnectSection | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ConnectSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4234afa96551937b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react,react",
      "lines": 263,
      "logic_relevance": "none",
      "name": "connect-section",
      "normalized_name": "connect-section",
      "package_manager": "pnpm",
      "path": "components/mcp/connect-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "9bb5bafa99609e155b45d68d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesSection | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, @/hooks/use-capabilities, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ResourcesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "868d2d825adcde17",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,@/hooks/use-capabilities,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "resources-section",
      "normalized_name": "resources-section",
      "package_manager": "pnpm",
      "path": "components/mcp/resources-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,integration,observability,security",
      "component_id": "5fc358e237599e53d6e3ea04",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:DisplayPrompt, DisplayPromptWithSearch, PromptsSection | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, @/hooks/use-capabilities, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "DisplayPrompt,DisplayPromptWithSearch,PromptsSection",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "351064f4c21d567a",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,@/hooks/use-capabilities,lucide-react,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "prompts-section",
      "normalized_name": "prompts-section",
      "package_manager": "pnpm",
      "path": "components/mcp/prompts-section.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,integration,observability,security,automation,ai",
      "component_id": "c28e2253879d89f2b5884290",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapSection | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RoadmapSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c25d62cc268c5c91",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 155,
      "logic_relevance": "none",
      "name": "roadmap-section",
      "normalized_name": "roadmap-section",
      "package_manager": "pnpm",
      "path": "components/mcp/roadmap-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security",
      "component_id": "6f45990f595788a1ce3a8cda",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServerResources | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ServerResources",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "feba20eb1f98dfe9",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 243,
      "logic_relevance": "none",
      "name": "server-resources",
      "normalized_name": "server-resources",
      "package_manager": "pnpm",
      "path": "components/mcp/client/server-resources.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security",
      "component_id": "9380977d3d8f6b1b4b7c1c8f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServerTools | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ServerTools",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ef6a4192a8fef22",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/textarea,lucide-react,react",
      "lines": 274,
      "logic_relevance": "none",
      "name": "server-tools",
      "normalized_name": "server-tools",
      "package_manager": "pnpm",
      "path": "components/mcp/client/server-tools.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,backend,integration,observability,security",
      "component_id": "004ead92fb7dfb939cace4cf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ServerPrompts | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ServerPrompts",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8168f13ced2aeb61",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 293,
      "logic_relevance": "none",
      "name": "server-prompts",
      "normalized_name": "server-prompts",
      "package_manager": "pnpm",
      "path": "components/mcp/client/server-prompts.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,ai",
      "component_id": "e0cca21aa970afc8d0fa213c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConnectionManager, ConnectionState | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ConnectionManager,ConnectionState",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0de131b1e05403a8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 229,
      "logic_relevance": "none",
      "name": "connection-manager",
      "normalized_name": "connection-manager",
      "package_manager": "pnpm",
      "path": "components/mcp/client/connection-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "f0da3f1f690c223985326ce5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "51442fb56c019705",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "ff33f0d981a037439aa0d452",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a92acc5f188bd4f9",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "235e14e9c23742803bfe42d3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cf8a310ce5807657",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "f48cd3dc7d414339853b5470",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../redis, fs | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2874ab153ab6d09a",
      "framework": "next-react",
      "imports": "../redis,fs",
      "lines": 10,
      "logic_relevance": "none",
      "name": "revert_imports",
      "normalized_name": "revert-imports",
      "package_manager": "pnpm",
      "path": "scripts/revert_imports.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "automation",
      "component_id": "10631b7b7c363f11c0a889f1",
      "component_kind": "script",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ToolsSection | automation-score:130",
      "exports": "ToolsSection",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b7a42563cf7c1883",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "fix-tools-section",
      "normalized_name": "fix-tools-section",
      "package_manager": "pnpm",
      "path": "scripts/fix-tools-section.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "db62f2958928490965843ba7",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/mcp/redis | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1e1d6360b1717bad",
      "framework": "next-react",
      "imports": "../lib/mcp/redis",
      "lines": 47,
      "logic_relevance": "none",
      "name": "backfill-verticals",
      "normalized_name": "backfill-verticals",
      "package_manager": "pnpm",
      "path": "scripts/backfill-verticals.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9bfd00e8f74c65a582481835",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@upstash/redis,crypto,fs,path,url",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@upstash/redis, crypto, fs/promises, path, url | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed676503d023920d",
      "framework": "next-react",
      "imports": "@upstash/redis,crypto,fs/promises,path,url",
      "lines": 206,
      "logic_relevance": "none",
      "name": "seed-sites-registry",
      "normalized_name": "seed-sites-registry",
      "package_manager": "pnpm",
      "path": "scripts/seed-sites-registry.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security,ai",
      "component_id": "8c5cf94dd681d44783dc009f",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@upstash/redis,crypto",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:MCP | imports:@upstash/redis, crypto | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | model-provider",
      "exports": "MCP",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "747eb130d6904ac0",
      "framework": "next-react",
      "imports": "@upstash/redis,crypto",
      "lines": 290,
      "logic_relevance": "none",
      "name": "seed-mcp-data",
      "normalized_name": "seed-mcp-data",
      "package_manager": "pnpm",
      "path": "scripts/seed-mcp-data.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "automation",
      "component_id": "d457559c8870d37d55e968f8",
      "component_kind": "script",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ToolsSection | imports:./tool-runner, @/components/ui/label, @/hooks/use-capabilities, lucide-react, react | automation-score:130",
      "exports": "ToolsSection",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cbc88790e6ac1f76",
      "framework": "next-react",
      "imports": "./tool-runner,@/components/ui/label,@/hooks/use-capabilities,lucide-react,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "update-tools-section",
      "normalized_name": "update-tools-section",
      "package_manager": "pnpm",
      "path": "scripts/update-tools-section.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "3ac81b853082dde2555adc5f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2dd6b08e508f3787",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "0bb1e28a388ea9b1e6d59766",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelAction | imports:@/lib/platform/auth | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ModelAction",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "377e6b7552fa6716",
      "framework": "next-react",
      "imports": "@/lib/platform/auth",
      "lines": 58,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/platform/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "b072d4d36808e9f7b6daeff0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TrustPolicy, buildTrustPolicy | imports:./constants, ./version | logic-score:85 | security-score:55 | uses-env",
      "exports": "TrustPolicy,buildTrustPolicy",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aab1bf621055c284",
      "framework": "next-react",
      "imports": "./constants,./version",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "trust-policy",
      "normalized_name": "trust-policy",
      "package_manager": "pnpm",
      "path": "lib/platform/trust-policy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "b1d4a7461eccc72faeebd277",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_BASE_URL, PUBLIC_ROUTES, PublicRoute, buildBreadcrumbJsonLd, buildSitemapEntries, publicRoutePaths | imports:next | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MCP_BASE_URL,PUBLIC_ROUTES,PublicRoute,buildBreadcrumbJsonLd,buildSitemapEntries,publicRoutePaths",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "20013ef356b9ff38",
      "framework": "next-react",
      "imports": "next",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "public-routes",
      "normalized_name": "public-routes",
      "package_manager": "pnpm",
      "path": "lib/platform/public-routes.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "70b5d614bdfb2d3e207fa350",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ALLOWED_DOMAIN_SUFFIX, ALLOWED_ROOT_DOMAINS, BOOTSTRAP_SITES, DEFAULT_ENDPOINT_CONCURRENCY, DEFAULT_SITEMAP_CONCURRENCY, DEFAULT_SITEMAP_URL_LIMIT, DEFAULT_SITE_CONCURRENCY, DISCOVERY_ENDPOINTS | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ALLOWED_DOMAIN_SUFFIX,ALLOWED_ROOT_DOMAINS,BOOTSTRAP_SITES,DEFAULT_ENDPOINT_CONCURRENCY,DEFAULT_SITEMAP_CONCURRENCY,DEFAULT_SITEMAP_URL_LIMIT,DEFAULT_SITE_CONCURRENCY,DISCOVERY_ENDPOINTS,MCP_HUB_DOMAIN,MCP_HUB_URL,NETWORK_GRAPH_URL,NETWORK_ROOT_URL,SITEMAP_INDEX_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9bd7a3491f65b757",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/platform/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic",
      "component_id": "690164b25aaefbc783d0d0f1",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROTOCOL_VERSION, MCP_SERVER_NAME, MCP_TRANSPORT, PLATFORM_VERSION | logic-score:45",
      "exports": "MCP_PROTOCOL_VERSION,MCP_SERVER_NAME,MCP_TRANSPORT,PLATFORM_VERSION",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ef02feb320ab388d",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/platform/version.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "4535f6ed30e539f9e7e65495",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractApiKey, isBrowserClientEnabled, isPublicReadEnabled, requireApiKey, validateApiKey | imports:@/lib/mcp/auth | logic-score:85 | security-score:55 | uses-env",
      "exports": "extractApiKey,isBrowserClientEnabled,isPublicReadEnabled,requireApiKey,validateApiKey",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "afa1204717aaafb5",
      "framework": "next-react",
      "imports": "@/lib/mcp/auth",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "574eda2e44c20830cd9046c2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AutoRegistrationResult, DiscoveryResult, KNOWN_SUBDOMAINS, NETWORK_PROMPTS, SubdomainConfig, generateSitePrompts | imports:./redis, ./security, ./tools/network, ./types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "AutoRegistrationResult,DiscoveryResult,KNOWN_SUBDOMAINS,NETWORK_PROMPTS,SubdomainConfig,generateSitePrompts",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4490c51bc0492d2b",
      "framework": "next-react",
      "imports": "./redis,./security,./tools/network,./types",
      "lines": 949,
      "logic_relevance": "primary",
      "name": "autodiscovery",
      "normalized_name": "autodiscovery",
      "package_manager": "pnpm",
      "path": "lib/mcp/autodiscovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "0510eca35f606e6e2280781b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DiscoveryEntity, DiscoverySearchIndex | imports:./redis | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "DiscoveryEntity,DiscoverySearchIndex",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5309b5b3e54ffd97",
      "framework": "next-react",
      "imports": "./redis",
      "lines": 141,
      "logic_relevance": "primary",
      "name": "discovery-search",
      "normalized_name": "discovery-search",
      "package_manager": "pnpm",
      "path": "lib/mcp/discovery-search.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,discovery",
      "component_id": "216d70f5698086a7a563aa91",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SITEMAP_INDEX_SOURCE, SitemapEntry, SitemapFetchResult, SitemapIndexResult, SitemapUrl | imports:./security, @/lib/platform/constants, @/lib/platform/version | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "SITEMAP_INDEX_SOURCE,SitemapEntry,SitemapFetchResult,SitemapIndexResult,SitemapUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "633c3eeaa9b0b374",
      "framework": "next-react",
      "imports": "./security,@/lib/platform/constants,@/lib/platform/version",
      "lines": 259,
      "logic_relevance": "primary",
      "name": "sitemap-index",
      "normalized_name": "sitemap-index",
      "package_manager": "pnpm",
      "path": "lib/mcp/sitemap-index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "97883e936b6987090a719f2c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_INFO, NETWORK_MCP_SERVERS | imports:@/lib/platform/constants, @/lib/platform/version | logic-score:70 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "NETWORK_INFO,NETWORK_MCP_SERVERS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e38bcab1ae4ff8e0",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/version",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/mcp/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security",
      "component_id": "49a1788706baacd40d680eed",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GRAPH_SOURCE, GraphSyncResult, NetworkEdge, NetworkGraph, NetworkNode, SITEMAP_INDEX_SOURCE | imports:./security, @/lib/platform/constants, @/lib/platform/version | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "GRAPH_SOURCE,GraphSyncResult,NetworkEdge,NetworkGraph,NetworkNode,SITEMAP_INDEX_SOURCE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e2df3e10915c4d49",
      "framework": "next-react",
      "imports": "./security,@/lib/platform/constants,@/lib/platform/version",
      "lines": 187,
      "logic_relevance": "primary",
      "name": "network-graph",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "lib/mcp/network-graph.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "e20b78ac3d14f27d94499b2e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@upstash/redis,crypto",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsStore, ArticleStore, AuditStore, CategoryStore, ConfigStore, DeploymentStore, EventStore, FAQStore | imports:./types, @upstash/redis, crypto | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AnalyticsStore,ArticleStore,AuditStore,CategoryStore,ConfigStore,DeploymentStore,EventStore,FAQStore,McpRegistry,SiteCapabilityStore,SiteStore,getRedis,isRedisConfigured",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b385e71d97405958",
      "framework": "next-react",
      "imports": "./types,@upstash/redis,crypto",
      "lines": 885,
      "logic_relevance": "primary",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "lib/mcp/redis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,integration,observability,security,automation",
      "component_id": "4fee7cd6f7b9625b7dac3f43",
      "component_kind": "prompt-template",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ALL_PROMPTS, CORE_PROMPTS, NETWORK_PROMPTS, Prompt, SITE_PROMPTS, formatPrompt, getAllCategories, getAllSites | imports:./protocol | ai-score:120 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ALL_PROMPTS,CORE_PROMPTS,NETWORK_PROMPTS,Prompt,SITE_PROMPTS,formatPrompt,getAllCategories,getAllSites,getPromptByName,getPromptsByCategory,getPromptsBySite,registerPrompts",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "888c5fe86810a583",
      "framework": "next-react",
      "imports": "./protocol",
      "lines": 603,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "af27867fc4eee6ddaf205244",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsData, Article, ArticleFilter, AuditEntry, CapabilitiesResponse, Category, Deployment, FAQ | imports:@/lib/platform/version | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnalyticsData,Article,ArticleFilter,AuditEntry,CapabilitiesResponse,Category,Deployment,FAQ,MCP_SERVER_DESCRIPTION,MCP_SERVER_NAME,MCP_SERVER_VERSION,McpServerEntry,PaginatedResult,PaginationParams,PlatformEvent,Site,SiteCapability,SiteConfig,ToolItem",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5d43d61fea0580a4",
      "framework": "next-react",
      "imports": "@/lib/platform/version",
      "lines": 157,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/mcp/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "d4e75ad3e02721cd6fd6cb2c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanonicalCatalog, CanonicalPrompt, CanonicalResource, CanonicalTool, RegistryCounts, RegistryStats, getCanonicalCatalog, getRegistryCounts | imports:./network, ./server | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CanonicalCatalog,CanonicalPrompt,CanonicalResource,CanonicalTool,RegistryCounts,RegistryStats,getCanonicalCatalog,getRegistryCounts,inferToolCategory,invalidateRegistryCache",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2c8c48a633d534aa",
      "framework": "next-react",
      "imports": "./network,./server",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "canonical-registry",
      "normalized_name": "canonical-registry",
      "package_manager": "pnpm",
      "path": "lib/mcp/canonical-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,security,automation",
      "component_id": "5187f01bc8510f3bb7168be9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:classifyRequest, generateBearerToken, getClientFingerprint, getMcpSecret, isAllowedDomain, isSafeProxyUrl, isTrustedOrigin, isValidCronRequest | imports:crypto, next/server | logic-score:85 | integration-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule | model-provider",
      "exports": "classifyRequest,generateBearerToken,getClientFingerprint,getMcpSecret,isAllowedDomain,isSafeProxyUrl,isTrustedOrigin,isValidCronRequest,verifyBearerToken",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "37b6b482dddd71ba",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 161,
      "logic_relevance": "primary",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "lib/mcp/security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,discovery",
      "component_id": "91686c8d03396852dc546081",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GITHUB_API | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env",
      "exports": "GITHUB_API",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c8d88149531b01af",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "primary",
      "name": "github-sitemap",
      "normalized_name": "github-sitemap",
      "package_manager": "pnpm",
      "path": "lib/mcp/github-sitemap.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "336eb051c2e1b14045355424",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ConnectionState, JsonRpcRequest, JsonRpcResponse, McpClient, McpPromptDef, McpResourceDef, McpServerInfo, McpToolDef | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "ConnectionState,JsonRpcRequest,JsonRpcResponse,McpClient,McpPromptDef,McpResourceDef,McpServerInfo,McpToolDef,createMcpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0675ea30a9c236a6",
      "framework": "next-react",
      "imports": "",
      "lines": 249,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,security,ai",
      "component_id": "c22d9360f44194ba1d592152",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpProtocolHandler, McpRequestContext, PromptDef, ResourceDef, ToolDef, isProtectedToolName | imports:@/lib/platform/version, zod | logic-score:85 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "McpProtocolHandler,McpRequestContext,PromptDef,ResourceDef,ToolDef,isProtectedToolName",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b431f9055ecaf6a8",
      "framework": "next-react",
      "imports": "@/lib/platform/version,zod",
      "lines": 363,
      "logic_relevance": "primary",
      "name": "protocol",
      "normalized_name": "protocol",
      "package_manager": "pnpm",
      "path": "lib/mcp/protocol.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,security,automation",
      "component_id": "d4c1b457ec690d86c4e5e5e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb,@aws-sdk/credential-providers,@aws-sdk/lib-dynamodb",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getDynamo, getDynamoTableName, isDynamoConfigured | imports:@aws-sdk/client-dynamodb, @aws-sdk/credential-providers, @aws-sdk/lib-dynamodb | logic-score:85 | integration-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "getDynamo,getDynamoTableName,isDynamoConfigured",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5b45e648b6b133df",
      "framework": "next-react",
      "imports": "@aws-sdk/client-dynamodb,@aws-sdk/credential-providers,@aws-sdk/lib-dynamodb",
      "lines": 256,
      "logic_relevance": "primary",
      "name": "dynamo",
      "normalized_name": "dynamo",
      "package_manager": "pnpm",
      "path": "lib/mcp/dynamo.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,security,automation",
      "component_id": "9bacd0eecbcc2a29023efb96",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_ICONS, emojiToSvg | logic-score:60 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "NETWORK_ICONS,emojiToSvg",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47e28b70105dc671",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "lib/mcp/icons.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "1f886cdc7ecb9316cf8ef5fb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ALL_TOOLS, ANALYTICS_TOOLS, DEPLOYMENT_TOOLS, DYNAMO_TOOLS, EVENT_TOOLS, FEDERATION_TOOLS, GITHUB_TOOLS, NETWORK_TOOLS | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "ALL_TOOLS,ANALYTICS_TOOLS,DEPLOYMENT_TOOLS,DYNAMO_TOOLS,EVENT_TOOLS,FEDERATION_TOOLS,GITHUB_TOOLS,NETWORK_TOOLS,ORCHESTRATOR_TOOLS,PRODUCTHUNT_TOOLS,PROMPTS,PROXY_TOOLS,PromptMeta,RESOURCES,ResourceMeta,SITE_TOOLS,SITE_TOOLS_EXTENDED,TOOLS,TOOL_CATEGORIES,ToolMeta,VERTICAL_TOOLS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f145d41974c2a1c4",
      "framework": "next-react",
      "imports": "",
      "lines": 841,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/mcp/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "e8afb3dd41c529a9409bb789",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildRegistryReconciliation | imports:./canonical-registry | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "buildRegistryReconciliation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "783f66a79f703259",
      "framework": "next-react",
      "imports": "./canonical-registry",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "reconciliation",
      "normalized_name": "reconciliation",
      "package_manager": "pnpm",
      "path": "lib/mcp/reconciliation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,security",
      "component_id": "7537699014daaa2bf9e3b4e6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:corsHeaders, getCorsOrigin | imports:./security | logic-score:60 | integration-score:55 | security-score:55",
      "exports": "corsHeaders,getCorsOrigin",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e7a51690836fa7f",
      "framework": "next-react",
      "imports": "./security",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "cors",
      "normalized_name": "cors",
      "package_manager": "pnpm",
      "path": "lib/mcp/cors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,ai",
      "component_id": "d296821b531e3ae0a3963a02",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getMcpServer | imports:./prompts, ./protocol, ./resources, ./tools/analytics, ./tools/categories, ./tools/content, ./tools/deployments, ./tools/dynamo | logic-score:60 | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "getMcpServer",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2734a307b84e3bfc",
      "framework": "next-react",
      "imports": "./prompts,./protocol,./resources,./tools/analytics,./tools/categories,./tools/content,./tools/deployments,./tools/dynamo,./tools/events,./tools/faq,./tools/federation,./tools/github,./tools/network,./tools/orchestrator,./tools/phase1-contract,./tools/producthunt,./tools/proxy,./tools/search,./tools/sites,./tools/verticals,./types",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/mcp/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "d82563b554471733964154ef",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DynamoArticle, DynamoArticleStore, DynamoAudit, DynamoAuditStore, DynamoDeploy, DynamoDeployStore, DynamoEvent, DynamoEventStore | imports:./dynamo | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DynamoArticle,DynamoArticleStore,DynamoAudit,DynamoAuditStore,DynamoDeploy,DynamoDeployStore,DynamoEvent,DynamoEventStore,DynamoEventWriteStore,DynamoSite,DynamoSiteStore,DynamoSiteWriteStore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f812fccb1a02f2f8",
      "framework": "next-react",
      "imports": "./dynamo",
      "lines": 418,
      "logic_relevance": "primary",
      "name": "dynamo-store",
      "normalized_name": "dynamo-store",
      "package_manager": "pnpm",
      "path": "lib/mcp/dynamo-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "0ed1021881c0565d10578597",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractApiKey, isPublicReadEnabled, requireApiKey, validateApiKey | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "extractApiKey,isPublicReadEnabled,requireApiKey,validateApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "183f96a8ef03908f",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/mcp/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "68a7c2d6f457740fa6559d6e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerFederationTools | imports:../canonical-registry, ../protocol, ../redis, zod | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "registerFederationTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0bcd0f12122c8cb2",
      "framework": "next-react",
      "imports": "../canonical-registry,../protocol,../redis,zod",
      "lines": 109,
      "logic_relevance": "primary",
      "name": "federation",
      "normalized_name": "federation",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/federation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "846438ef3fc721ec91868d31",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerFAQTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55",
      "exports": "registerFAQTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6bdcbdaba3185654",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/faq.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "9b103a813d756a18c1f82c28",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerGitHubTools | imports:../protocol, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "registerGitHubTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8c1b153fcaf8971a",
      "framework": "next-react",
      "imports": "../protocol,zod",
      "lines": 359,
      "logic_relevance": "primary",
      "name": "github",
      "normalized_name": "github",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/github.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "75442166bdf2afbd55598557",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerAnalyticsTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "registerAnalyticsTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "392585f994c37e59",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,security",
      "component_id": "1d35da84b77f937dce334a35",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerSearchTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "registerSearchTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e37cdefcf46d1f7",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/search.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,security",
      "component_id": "87f4c45b88afed1952812b2f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerProductHuntTools | imports:../protocol, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "registerProductHuntTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "afe7ddceb90c852d",
      "framework": "next-react",
      "imports": "../protocol,zod",
      "lines": 144,
      "logic_relevance": "primary",
      "name": "producthunt",
      "normalized_name": "producthunt",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/producthunt.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "5583284a05a75343285a2c83",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:networkStandaloneServer, registerNetworkTools | imports:../network, ../network-graph, ../protocol, ../redis, ../resources, ../security, ../types, ./shared | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "networkStandaloneServer,registerNetworkTools",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8d6d878e7c6cd210",
      "framework": "next-react",
      "imports": "../network,../network-graph,../protocol,../redis,../resources,../security,../types,./shared,zod",
      "lines": 873,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "6306ad3edc53d5831920bdc7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerDeploymentTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "registerDeploymentTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1eb43f040e09607",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "deployments",
      "normalized_name": "deployments",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/deployments.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "79752018442b06993c77c273",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerOrchestratorTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "registerOrchestratorTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "505d2b887c18343b",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 188,
      "logic_relevance": "primary",
      "name": "orchestrator",
      "normalized_name": "orchestrator",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/orchestrator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "92759785e10ee1f1883c8db6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerSiteTools | imports:../github-sitemap, ../protocol, ../redis, ../security, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "registerSiteTools",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e6e7899e37f9afa0",
      "framework": "next-react",
      "imports": "../github-sitemap,../protocol,../redis,../security,zod",
      "lines": 586,
      "logic_relevance": "primary",
      "name": "sites",
      "normalized_name": "sites",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/sites.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,security",
      "component_id": "ccc22d529cc9e34a70026aa3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerContentTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "registerContentTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e4e9e84d1c59e3d",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/content.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "ecc1d0391d47f67afbf78314",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkRequestOptions, NetworkRequestSchema, networkRequestParameters | imports:zod | logic-score:70 | integration-score:55",
      "exports": "NetworkRequestOptions,NetworkRequestSchema,networkRequestParameters",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6cc311af952cd12f",
      "framework": "next-react",
      "imports": "zod",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "shared",
      "normalized_name": "shared",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/shared.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "493199c5f0596c6f13bd44ac",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PHASE1_CONTRACT_TOOL_NAMES, registerPhase1ContractTools | imports:../canonical-registry, ../network, ../network-graph, ../protocol, ../reconciliation, ../security, @/lib/platform/constants, @/lib/platform/public-routes | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PHASE1_CONTRACT_TOOL_NAMES,registerPhase1ContractTools",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0d72645fc529797e",
      "framework": "next-react",
      "imports": "../canonical-registry,../network,../network-graph,../protocol,../reconciliation,../security,@/lib/platform/constants,@/lib/platform/public-routes,@/lib/platform/version,zod",
      "lines": 415,
      "logic_relevance": "primary",
      "name": "phase1-contract",
      "normalized_name": "phase1-contract",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/phase1-contract.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "8cb6bef548b11a49ba66e00c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerEventTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55",
      "exports": "registerEventTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3dbcb9de14e9be20",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/events.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "4fd6b11abd817c6c0dec0f7b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerCategoryTools | imports:../protocol, ../redis, zod | logic-score:85 | integration-score:55",
      "exports": "registerCategoryTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4e4a1147549a1676",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "categories",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/categories.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "173d6c090bb534be38185239",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerProxyTools | imports:../protocol, ../redis, ../security, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "registerProxyTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "29a6844a4dfa3117",
      "framework": "next-react",
      "imports": "../protocol,../redis,../security,zod",
      "lines": 164,
      "logic_relevance": "primary",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/proxy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security",
      "component_id": "5032d2d2305e6576b719fa42",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerDynamoTools | imports:../dynamo, ../dynamo-store, ../protocol, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "registerDynamoTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "da0529c5d64df9c2",
      "framework": "next-react",
      "imports": "../dynamo,../dynamo-store,../protocol,zod",
      "lines": 356,
      "logic_relevance": "primary",
      "name": "dynamo",
      "normalized_name": "dynamo",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/dynamo.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "4d5e8f2307b7458f4d8a1274",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerVerticalTools | imports:../protocol, ../security, @/lib/platform/version, zod | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "registerVerticalTools",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cfb06a0d26ebc0dc",
      "framework": "next-react",
      "imports": "../protocol,../security,@/lib/platform/version,zod",
      "lines": 271,
      "logic_relevance": "primary",
      "name": "verticals",
      "normalized_name": "verticals",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/verticals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "1c61fdc643ae5bfc509d87fe",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../redis, @/lib/mcp/network, @/lib/mcp/protocol, @/lib/mcp/tools/network, vitest | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "39633987e017f425",
      "framework": "next-react",
      "imports": "../../redis,@/lib/mcp/network,@/lib/mcp/protocol,@/lib/mcp/tools/network,vitest",
      "lines": 406,
      "logic_relevance": "primary",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools/__tests__/network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "b774a2045af61b235ad25503",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:registerResources | imports:../icons, ../protocol, ../redis, @/lib/platform/version | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "registerResources",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "368883fc1328c396",
      "framework": "next-react",
      "imports": "../icons,../protocol,../redis,@/lib/platform/version",
      "lines": 163,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,security",
      "component_id": "e8307c62d16719b6b1c6e87a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../discovery-search, vitest | logic-score:85 | integration-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6c429e8a6886d25",
      "framework": "next-react",
      "imports": "../discovery-search,vitest",
      "lines": 121,
      "logic_relevance": "primary",
      "name": "discovery-search.test",
      "normalized_name": "discovery-search",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/discovery-search.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,integration,observability,security",
      "component_id": "3312c15049902d8176836a3d",
      "component_kind": "prompt-template",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:registerPrompts | imports:../protocol, ../redis, zod | ai-score:120 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "registerPrompts",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e71c895539450180",
      "framework": "next-react",
      "imports": "../protocol,../redis,zod",
      "lines": 459,
      "logic_relevance": "secondary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts/index.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "b8bd7206f1ddc087ff40a336",
      "component_kind": "mcp",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c92076f7fd5a8689",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": ".vscode/mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mcp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "154a70ae5d86edfda5c631fc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2108188aa3b07684",
      "framework": "next-react",
      "imports": "",
      "lines": 3696,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "cb89c17ee681e467497a4961",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e3d0be13ab5c580",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7f2cec0fd657e685ce44002d",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GameDashboard | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/tooltip, @/lib/games-registry, next/link, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GameDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1df5e523314ff56f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/tooltip,@/lib/games-registry,next/link,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "game-dashboard",
      "normalized_name": "game-dashboard",
      "package_manager": "pnpm",
      "path": "game-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "48386e9a949795fe76ec3edf",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe3e76a7d30949c3",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "91f061f4c160ade610ccfdf8",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "f6d261b745f0895f",
      "framework": "next-react",
      "imports": "next",
      "lines": 45,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "647152e9ae4aeba0118d9c8b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5f025762d745f039",
      "framework": "next-react",
      "imports": "",
      "lines": 251,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "a2c4e053a3895759a68e8a94",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60ddcc5d5f680c51",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 102,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d0a79b6107331bdf7207ec52",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0eeeafc0416fef2",
      "framework": "next-react",
      "imports": "",
      "lines": 4363,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7b5e988a53d89f249898f329",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "82ecdaa9dbeedea4",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0dbb794508fe3a28d180a1a1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:next/server | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "50d1d31bac8cc962",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f7ad08ac13b0b865ecaec9ef",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "baad9fcc1fa3a8da",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 26,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "2aded31772a9bccaf8ad6acc",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/games-registry, next | frontend-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e3ff966fe54764d",
      "framework": "next-react",
      "imports": "@/lib/games-registry,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "ba503c4eff25b7b82d122f1d",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/routes, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82e1df4efd1b05be",
      "framework": "next-react",
      "imports": "@/lib/routes,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "146856b99669d767fe5d3560",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,geist,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/theme-provider, @/lib/games-registry, @vercel/analytics/react, @vercel/speed-insights/next, geist/font/mono, geist/font/sans | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19cdfde38e5a4f61",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/theme-provider,@/lib/games-registry,@vercel/analytics/react,@vercel/speed-insights/next,geist/font/mono,geist/font/sans,next,react",
      "lines": 151,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "fc53d39ab530ccd1b4c00ff6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorPage | imports:@/components/ui/button | frontend-score:85 | ui-score:55",
      "exports": "ErrorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e640e7fe560f447b",
      "framework": "next-react",
      "imports": "@/components/ui/button",
      "lines": 29,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "fcb9b160aad26f520d5820f7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:../game-dashboard, @/lib/games-registry | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e042a72e6b87b35",
      "framework": "next-react",
      "imports": "../game-dashboard,@/lib/games-registry",
      "lines": 41,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "021998f24bdcd6101a02640b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8d1973dcf705f4c5",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "5225c443c51d0e75f98d059a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b290755dff5515a5",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 17,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "0338cf4205e1d9716446cf4a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fff5cc70d7d13f5",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "94fbb0a38cf420ec4e8614d4",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "beac3bff170d8d56",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "b227fb96167af3ef68af6d5c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3895055366bf8f3",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8c77b53b292e1f4dd0f4cb29",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/layout/breadcrumbs, @/lib/games-registry, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd0dc076c744fe79",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/lib/games-registry,next,next/link",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "bcd547a0cb1a27189f0f1839",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/layout/breadcrumbs, @/lib/games-registry, next, next/link | frontend-score:115 | ui-score:55",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8c3bb7266a17e75",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/lib/games-registry,next,next/link",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "281a24fa93166e4d49f93c47",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:./faq-accordion, @/components/layout/breadcrumbs, @/lib/faq-data, @/lib/games-registry, next, next/link | frontend-score:115 | ui-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc060aefe42e2286",
      "framework": "next-react",
      "imports": "./faq-accordion,@/components/layout/breadcrumbs,@/lib/faq-data,@/lib/games-registry,next,next/link",
      "lines": 87,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4c8a14cf7de3a0df35d65ccc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQAccordion | imports:@/lib/faq-data, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FAQAccordion",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91b48a07f97b7825",
      "framework": "next-react",
      "imports": "@/lib/faq-data,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "faq-accordion",
      "normalized_name": "faq-accordion",
      "package_manager": "pnpm",
      "path": "app/faq/faq-accordion.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend",
      "component_id": "3b0b7299de02a53072734935",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/api-utils, @/lib/discovery, next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f78cc8d9e5dd1c68",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,backend,observability,security",
      "component_id": "38b9cd04478c947c13f98bcb",
      "component_kind": "agent",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/lib/api-utils, @/lib/discovery, @/lib/games-registry, next/server | ai-score:75 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "cde77915496112ca",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,@/lib/games-registry,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "15f4036490a412b64acc2eab",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/games-registry, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "520664a3b655d563",
      "framework": "next-react",
      "imports": "@/lib/games-registry,@/lib/trace,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,backend,observability,security",
      "component_id": "ca30f477f4da79081e6ca2b8",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/lib/api-utils, @/lib/games-registry, next/server | ai-score:120 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c484a195a6d9a7b5",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/games-registry,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability,security,ai",
      "component_id": "4cc9b244144e5fc268cdc980",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/api-utils, @/lib/discovery, @/lib/games-registry, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1829c0f1f94f3f8",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,@/lib/games-registry,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "d637b28f0b887d1ae4524a42",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/layout/breadcrumbs, @/lib/games-registry, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "991e3625b66b98f5",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/lib/games-registry,next,next/link",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b841cf635698d8354ee239b9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/layout/breadcrumbs, @/lib/games-registry, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e61e128eb7ddcd3d",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/lib/games-registry,next,next/link",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "6b7f07e9739d2c1b68732839",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d70d611bceb79221",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend",
      "component_id": "0ba3dccc35f9a6492a408f09",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/api-utils, @/lib/discovery, next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "37773a2358dd04cc",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "3fb80a1896b54fa94a59ce31",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57b2764e95713a31",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend,security",
      "component_id": "3552ca01312caa4d58d58295",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/faq-data, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7bdc14fc71c73697",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/faq-data,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/faq/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7ed3a463a7d378254e0f7bb8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "45c393daca6bd9c3",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "cdfb9b7aadfc162641e738d1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/network.json/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "de1895c1aef2c83c",
      "framework": "next-react",
      "imports": "@/app/network.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,observability,security",
      "component_id": "a6a5ce78e1c40e21319c6d57",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/games-registry, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13e4399d4fb25008",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/games-registry,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/leaderboard/local-info/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend,security",
      "component_id": "d54e7905a9af918e88851cee",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/routes, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45076c893353d167",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/routes,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/route-compliance/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,backend,security",
      "component_id": "751f451951b6cc22b9f74258",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/routes, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c6a45766cf1eaba",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/routes,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/discovery-compliance/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "efe40ddc47d7eea7cb643f7d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/events/route | backend-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7d47bd8362257c97",
      "framework": "next-react",
      "imports": "@/app/api/events/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "1aeac892dfd35a5101619c0d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/app/api/webhooks/route | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72d6afd60787ce9e",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,integration,observability,security,automation",
      "component_id": "51aff3941358a167f56017d0",
      "component_kind": "frontend-hook",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/auth, @/lib/events, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0533ab3f45ecee58",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,@/lib/events,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/status/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,backend,observability,security",
      "component_id": "191fe9651c90c6b6eeee75f6",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/games-registry, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "36d68cc1efebf390",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/games-registry,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,security",
      "component_id": "0abc33a51b414c5d59cda250",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS | imports:@/lib/api-utils, @/lib/games-registry | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "35d4840f1aee29d4",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/games-registry",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,logic,observability,security",
      "component_id": "fe5d0a98e4f78f17e593d84f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS | imports:@/lib/api-utils, @/lib/games-registry | backend-score:125 | logic-score:85 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f393eda6a8936f8",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/games-registry",
      "lines": 40,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/[slug]/scores/local-schema/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "e7995ea27e2c829992b265c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS | imports:@/lib/api-utils, @/lib/events, @/lib/games-registry | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "960be5b127748533",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/events,@/lib/games-registry",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/[slug]/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,discovery",
      "component_id": "7ac683a7325d7c4128037854",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/v1/games/[slug]/route | backend-score:55 | discovery-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "08e623116724c68e",
      "framework": "next-react",
      "imports": "@/app/api/v1/games/[slug]/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/games/[slug]/metadata/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,backend,security",
      "component_id": "46ab61f2459d934969f936e8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/games-registry, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "400d0829c4981270",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/games-registry,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation,ai",
      "component_id": "55c7cab583a3aaeef178541f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/auth, @/lib/discovery, @/lib/events, @/lib/games-registry, @/lib/model-adapter, @/lib/routes, @/lib/trace | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28b2c0c318e9418d",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,@/lib/discovery,@/lib/events,@/lib/games-registry,@/lib/model-adapter,@/lib/routes,@/lib/trace,@/lib/vercel-metadata,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "09d909ffe720621d00197159",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/mcp, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a35753ba8d2acaa6",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/mcp,@/lib/trace,next/server",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,discovery,process",
      "component_id": "fa1ded648b5049153691baf7",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/openapi, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a736e9e280967cbc",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/openapi,@/lib/trace,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,backend,observability,security",
      "component_id": "48bfd54fbb43c526e7ba7404",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/api-utils, @/lib/events, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5b75ae46f201380",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/events,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "12b37edd4b4affeb0ca6258c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS | imports:@/lib/api-utils, @/lib/auth, @/lib/events, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "92b005aef0a5ba19",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,@/lib/events,@/lib/trace,next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "9cdadd51827c5a24d1cacc2a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/api-utils, @/lib/auth, @/lib/discovery, @/lib/routes, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd120e9b177198a0",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/auth,@/lib/discovery,@/lib/routes,@/lib/trace,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "0e3c829087e1c334fd79621f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9aa65049774022b5",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability,discovery",
      "component_id": "403e71d50312645ddf877953",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/openapi, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77423f3748858fd4",
      "framework": "next-react",
      "imports": "@/lib/openapi,@/lib/trace,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,discovery",
      "component_id": "6886696998e79622f003446d",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/api-utils, @/lib/discovery, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78a74586ccc73bac",
      "framework": "next-react",
      "imports": "@/lib/api-utils,@/lib/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,discovery",
      "component_id": "31c07a9a5ab89645159fc71a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/games-registry, @/lib/trace, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0ac83ee1be96e37",
      "framework": "next-react",
      "imports": "@/lib/games-registry,@/lib/trace,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8db2d6a1d08c41add4816695",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/game-dashboard,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GamesPage, metadata | imports:@/components/layout/breadcrumbs, @/game-dashboard, @/lib/games-registry, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "GamesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9e902ec60f7e2e0",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/game-dashboard,@/lib/games-registry,next",
      "lines": 49,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/games/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "407525ead77bfcac73e58514",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/game-dashboard,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryPage | imports:@/components/layout/breadcrumbs, @/game-dashboard, @/lib/games-registry, next, next/navigation | frontend-score:115 | ui-score:55 | metadata",
      "exports": "CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f8c64d081dcb62c",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/game-dashboard,@/lib/games-registry,next,next/navigation",
      "lines": 78,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/games/category/[category]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "00b9c2524b517fb6e5b65e01",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GamePageClient | imports:@/components/games/game-loader, @/components/games/local-score-panel, @/components/layout/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/games-registry, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GamePageClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c070da8323ef7e9c",
      "framework": "next-react",
      "imports": "@/components/games/game-loader,@/components/games/local-score-panel,@/components/layout/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/games-registry,lucide-react,next/navigation",
      "lines": 191,
      "logic_relevance": "none",
      "name": "game-page-client",
      "normalized_name": "game-page-client",
      "package_manager": "pnpm",
      "path": "app/games/[slug]/game-page-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "14138c3cceba469d435eaf59",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GamePage | imports:./game-page-client, @/lib/games-registry, next, next/navigation | frontend-score:115 | ui-score:55 | security-score:55 | metadata",
      "exports": "GamePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "519ddc6e1494f757",
      "framework": "next-react",
      "imports": "./game-page-client,@/lib/games-registry,next,next/navigation",
      "lines": 121,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/games/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "0868c8d3a5827523c5ff5757",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d49188d2e6eccc50",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d6747be9ad021de49493958b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb5ab8c8564c731d",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "phase-1-platform-contract",
      "normalized_name": "phase-1-platform-contract",
      "package_manager": "pnpm",
      "path": "docs/phase-1-platform-contract.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "232cfe146b1c03c2822e73e8",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "da9f691330375fe0b1956cab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "28044a02de383a85e980926a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2b310f1205bd8143",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "943255e85f3c8d13d3ec2da1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0126bd1e75590eb2cc2e083e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d25776583b00eb8403dda155",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbItem, Breadcrumbs, BreadcrumbsProps | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BreadcrumbItem,Breadcrumbs,BreadcrumbsProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6e64c4001e0447fe",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 49,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/layout/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "82b646ef42bd4eac5270397b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/games-registry, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85a43ab6e5ced77c",
      "framework": "next-react",
      "imports": "@/lib/games-registry,next/link",
      "lines": 146,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4e6b9f4943f250d320ebe4f7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:./theme-toggle, @/components/ui/button, @/components/ui/tooltip, @/lib/utils, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0170cb2ae12b607e",
      "framework": "next-react",
      "imports": "./theme-toggle,@/components/ui/button,@/components/ui/tooltip,@/lib/utils,next/link,next/navigation,react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "749410b906768c8b021f02b8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd72af44bde83071",
      "framework": "next-react",
      "imports": "@/components/ui/button,next-themes,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/layout/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6b6b8ca69404e5c980bd1a6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FlappyTriangle | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FlappyTriangle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9fd00fce02588eb1",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 366,
      "logic_relevance": "none",
      "name": "flappy-triangle",
      "normalized_name": "flappy-triangle",
      "package_manager": "pnpm",
      "path": "components/games/flappy-triangle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "47470fc2faa178700abefb4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WordScrambleGame | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WordScrambleGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b84dc74e55b0793a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 380,
      "logic_relevance": "none",
      "name": "word-scramble-game",
      "normalized_name": "word-scramble-game",
      "package_manager": "pnpm",
      "path": "components/games/word-scramble-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8e0f3248e421a847082ed326",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OrbitDefense | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OrbitDefense",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6313f0057cad55b6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 412,
      "logic_relevance": "none",
      "name": "orbit-defense-broken",
      "normalized_name": "orbit-defense-broken",
      "package_manager": "pnpm",
      "path": "components/games/orbit-defense-broken.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui,observability,security",
      "component_id": "5f6e9a285375a515dbe7a480",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:TetrisGame | imports:./mobile-controls, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TetrisGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "285b78db6175df56",
      "framework": "next-react",
      "imports": "./mobile-controls,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 506,
      "logic_relevance": "none",
      "name": "tetris-game",
      "normalized_name": "tetris-game",
      "package_manager": "pnpm",
      "path": "components/games/tetris-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "9c1a87df750f4597ac4efc4f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Game2048 | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Game2048",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d778be6842945e97",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 248,
      "logic_relevance": "none",
      "name": "game-2048",
      "normalized_name": "game-2048",
      "package_manager": "pnpm",
      "path": "components/games/game-2048.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a144910cdcb868d5bd6c7beb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PongGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PongGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31abb827469fa314",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 305,
      "logic_relevance": "none",
      "name": "pong-game",
      "normalized_name": "pong-game",
      "package_manager": "pnpm",
      "path": "components/games/pong-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "2429c9f6abc08ad063c62e98",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:Puzzle2048Game | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Puzzle2048Game",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "147197683c100602",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 392,
      "logic_relevance": "none",
      "name": "puzzle-2048-game",
      "normalized_name": "puzzle-2048-game",
      "package_manager": "pnpm",
      "path": "components/games/puzzle-2048-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f1e2b74b4c9a779910f51a47",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpaceInvadersGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SpaceInvadersGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6e5a0d6b4fcf730",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 548,
      "logic_relevance": "none",
      "name": "space-invaders-game",
      "normalized_name": "space-invaders-game",
      "package_manager": "pnpm",
      "path": "components/games/space-invaders-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,observability,security",
      "component_id": "bca39d742172c46babe2901f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:TicTacToeGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TicTacToeGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a59f95f23b496188",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 532,
      "logic_relevance": "none",
      "name": "tic-tac-toe-game",
      "normalized_name": "tic-tac-toe-game",
      "package_manager": "pnpm",
      "path": "components/games/tic-tac-toe-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "311f3cc83fc09fc15d402c82",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SimonSaysGame | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SimonSaysGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39d796306ef8c1b6",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 438,
      "logic_relevance": "none",
      "name": "simon-says-game",
      "normalized_name": "simon-says-game",
      "package_manager": "pnpm",
      "path": "components/games/simon-says-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "11f20f58759f5369643b425a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConnectFourGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ConnectFourGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50b5bf33c313104b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 395,
      "logic_relevance": "none",
      "name": "connect-four-game",
      "normalized_name": "connect-four-game",
      "package_manager": "pnpm",
      "path": "components/games/connect-four-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "0b910e62917811e2be9abfee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:Direction, MobileControls | imports:@/components/ui/button, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "Direction,MobileControls",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d0a78fafc8eced89",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "mobile-controls",
      "normalized_name": "mobile-controls",
      "package_manager": "pnpm",
      "path": "components/games/mobile-controls.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "676b30daf4c9d11d7c67ab19",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ColorMatchGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ColorMatchGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ab4056dba46b973",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 367,
      "logic_relevance": "none",
      "name": "color-match-game",
      "normalized_name": "color-match-game",
      "package_manager": "pnpm",
      "path": "components/games/color-match-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f489c9410c1a81c252629616",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MemoryMatchGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MemoryMatchGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "08babc1fc3c1d931",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 346,
      "logic_relevance": "none",
      "name": "memory-match-game",
      "normalized_name": "memory-match-game",
      "package_manager": "pnpm",
      "path": "components/games/memory-match-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "0b91600051e73483c5ed609c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WhackAMoleGame | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WhackAMoleGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91c6fee8936e87d9",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 390,
      "logic_relevance": "none",
      "name": "whack-a-mole-game",
      "normalized_name": "whack-a-mole-game",
      "package_manager": "pnpm",
      "path": "components/games/whack-a-mole-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "321caba17caafc8d71f373ef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TypingSpeedGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TypingSpeedGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f403a29c49fe205a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 499,
      "logic_relevance": "none",
      "name": "typing-speed-game",
      "normalized_name": "typing-speed-game",
      "package_manager": "pnpm",
      "path": "components/games/typing-speed-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "d3b4d9a7dde27b76f31798ca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CoinCollectorGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CoinCollectorGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e822878e312f15f7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 494,
      "logic_relevance": "none",
      "name": "coin-collector-game",
      "normalized_name": "coin-collector-game",
      "package_manager": "pnpm",
      "path": "components/games/coin-collector-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "c4877216fcf8e0a42f25b662",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocalScorePanel | imports:@/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/games-registry, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "LocalScorePanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b78993c363eaf78",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/games-registry,lucide-react,react",
      "lines": 155,
      "logic_relevance": "none",
      "name": "local-score-panel",
      "normalized_name": "local-score-panel",
      "package_manager": "pnpm",
      "path": "components/games/local-score-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4e7bf573c9009b8d016edf02",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuickMathGame | imports:@/components/ui/button, @/components/ui/card, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "QuickMathGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6e8bbd51fc5e703",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,react",
      "lines": 237,
      "logic_relevance": "none",
      "name": "quick-math-game",
      "normalized_name": "quick-math-game",
      "package_manager": "pnpm",
      "path": "components/games/quick-math-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "04b22f7c1416eb38b9186938",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BubblePopGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BubblePopGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a190998a5523634",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 451,
      "logic_relevance": "none",
      "name": "bubble-pop-game",
      "normalized_name": "bubble-pop-game",
      "package_manager": "pnpm",
      "path": "components/games/bubble-pop-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "73f316099b3e6b1d32353d8b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SnakeGame | imports:./mobile-controls, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SnakeGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33eddf6ddc007699",
      "framework": "next-react",
      "imports": "./mobile-controls,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 328,
      "logic_relevance": "none",
      "name": "snake-game",
      "normalized_name": "snake-game",
      "package_manager": "pnpm",
      "path": "components/games/snake-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "0ab36477c36671c6be62d692",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:AimTrainerGame | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AimTrainerGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4cfdb7d77227105",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 442,
      "logic_relevance": "none",
      "name": "aim-trainer-game",
      "normalized_name": "aim-trainer-game",
      "package_manager": "pnpm",
      "path": "components/games/aim-trainer-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "2b777728efc70ba1fb289029",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:GameLoader | imports:./aim-trainer-game, ./breakout-game, ./bubble-pop-game, ./coin-collector-game, ./color-match-game, ./connect-four-game, ./dino-game, ./flappy-triangle | frontend-score:115 | ui-score:70",
      "exports": "GameLoader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b07d91521968cc6",
      "framework": "next-react",
      "imports": "./aim-trainer-game,./breakout-game,./bubble-pop-game,./coin-collector-game,./color-match-game,./connect-four-game,./dino-game,./flappy-triangle,./memory-match-game,./minesweeper-game,./orbit-defense,./pong-game,./puzzle-2048-game,./quick-math-game,./reaction-game,./simon-says-game,./snake-game,./space-invaders-game,./tetris-game,./tic-tac-toe-game,./typing-speed-game,./whack-a-mole-game,./word-scramble-game,next/dynamic,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "game-loader",
      "normalized_name": "game-loader",
      "package_manager": "pnpm",
      "path": "components/games/game-loader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "610fa092f6bc8ddb448bbfe9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReactionGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ReactionGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e00f39a86aaebd6c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 313,
      "logic_relevance": "none",
      "name": "reaction-game",
      "normalized_name": "reaction-game",
      "package_manager": "pnpm",
      "path": "components/games/reaction-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "eea15e18d68514f4180cd9c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SheepRunGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SheepRunGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25344ba71a92842a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 445,
      "logic_relevance": "none",
      "name": "dino-game",
      "normalized_name": "dino-game",
      "package_manager": "pnpm",
      "path": "components/games/dino-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "a072c7ece7768945fd934733",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreakoutGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BreakoutGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "713c61c291a759cd",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 405,
      "logic_relevance": "none",
      "name": "breakout-game",
      "normalized_name": "breakout-game",
      "package_manager": "pnpm",
      "path": "components/games/breakout-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "812feb2dc85e1cd060aa0a64",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OrbitDefense | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OrbitDefense",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b04093b4959dc8b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 814,
      "logic_relevance": "none",
      "name": "orbit-defense",
      "normalized_name": "orbit-defense",
      "package_manager": "pnpm",
      "path": "components/games/orbit-defense.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "319313e0a4c5bc9eafae61aa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MinesweeperGame | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MinesweeperGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d3f0bb7ea4387c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 300,
      "logic_relevance": "none",
      "name": "minesweeper-game",
      "normalized_name": "minesweeper-game",
      "package_manager": "pnpm",
      "path": "components/games/minesweeper-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "ccff02ac86bc5d97433b293e",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6bc57706b3b0a81d",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "3a652e296486c69bd398671c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "829749c8892174c4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "b78c3d2c155d40b18adee859",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1a211800f0437dc6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "f06552f2147a74b5e846fe2b",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:node:fs, node:path | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "254eaf0955c5525c",
      "framework": "next-react",
      "imports": "node:fs,node:path",
      "lines": 97,
      "logic_relevance": "none",
      "name": "platform-lint",
      "normalized_name": "platform-lint",
      "package_manager": "pnpm",
      "path": "scripts/platform-lint.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "89ec24b231181aed43407e51",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RouteInventoryItem, apiRoutes, categoryFromPathValue, categoryPages, discoveryRoutes, gamePages, getDiscoveryComplianceSummary, getRouteComplianceSummary | imports:@/lib/auth, @/lib/games-registry | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "RouteInventoryItem,apiRoutes,categoryFromPathValue,categoryPages,discoveryRoutes,gamePages,getDiscoveryComplianceSummary,getRouteComplianceSummary,getSitemapRoutes,routeInventory,staticPublicPages",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f0e3762ca0c3ff41",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/games-registry",
      "lines": 199,
      "logic_relevance": "primary",
      "name": "routes",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "lib/routes.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "80b0e81cb52df4d39a508b8d",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GameModelTask, ModelAdapterResult, getModelScaffoldingStatus | imports:@/lib/trace | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "GameModelTask,ModelAdapterResult,getModelScaffoldingStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9d6d9e2838836fb9",
      "framework": "next-react",
      "imports": "@/lib/trace",
      "lines": 58,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,discovery",
      "component_id": "09cf711599811a8067235316",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureVercelRequestMetadata, normalizeUserAgent | imports:next/server | automation-score:95 | logic-score:85 | integration-score:55 | discovery-score:55",
      "exports": "captureVercelRequestMetadata,normalizeUserAgent",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "889f077a5ca6481f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 39,
      "logic_relevance": "secondary",
      "name": "vercel-metadata",
      "normalized_name": "vercel-metadata",
      "package_manager": "pnpm",
      "path": "lib/vercel-metadata.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "logic,security,automation",
      "component_id": "a74d9aaaec0d74945f8cc895",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addRecentGame, getHighScore, getPlayCounts, getPreference, getRecentGames, incrementPlayCount, setHighScore, setPreference | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "addRecentGame,getHighScore,getPlayCounts,getPreference,getRecentGames,incrementPlayCount,setHighScore,setPreference",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "62f63ea04267c39f",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "pnpm",
      "path": "lib/storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "23ac4ffdde0c1d66cb84b077",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getMcpMetadata | imports:@/lib/discovery, @/lib/events, @/lib/faq-data, @/lib/games-registry, @/lib/openapi, @/lib/routes | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "getMcpMetadata",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2fcadbe16c29c70",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/events,@/lib/faq-data,@/lib/games-registry,@/lib/openapi,@/lib/routes",
      "lines": 219,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "dba2e5461bda7aca5168dc07",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "b70f7b6f47242f6e66880640",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanonicalGameCategory, GameCategory, GameControl, GameDifficulty, GameMeta, GameStatus, SITE_DESCRIPTION, SITE_EMOJI | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "CanonicalGameCategory,GameCategory,GameControl,GameDifficulty,GameMeta,GameStatus,SITE_DESCRIPTION,SITE_EMOJI,SITE_NAME,SITE_PRODUCT_NAME,SITE_URL,SITE_VERSION,ScoreMetricType,UPDATED_AT,canonicalCategories,categories,categoryCounts,degradedCount,gameCount,games,getArcadeStats,getCanonicalSlug,getCategorySummaries,getGameById,getGameBySlug,getGamesByCategory,getPublicGameRoutes,legacySlugRedirects,playableCount,searchGames,unavailableCount",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12531346f7d8acf1",
      "framework": "next-react",
      "imports": "",
      "lines": 983,
      "logic_relevance": "primary",
      "name": "games-registry",
      "normalized_name": "games-registry",
      "package_manager": "pnpm",
      "path": "lib/games-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "3ab1a6c6a0b25dfab0ee64a3",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiEnvelope, corsHeaders, errorResponse, handleCors, jsonResponse | imports:@/lib/trace, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiEnvelope,corsHeaders,errorResponse,handleCors,jsonResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "67d90fb19a4e0e66",
      "framework": "next-react",
      "imports": "@/lib/trace,next/server",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "api-utils",
      "normalized_name": "api-utils",
      "package_manager": "pnpm",
      "path": "lib/api-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "ebfb95743841c647e23f2e6c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FAQCategory, FAQEntry, faqCategories, faqEntries | imports:@/lib/games-registry | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQCategory,FAQEntry,faqCategories,faqEntries",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "555f5608e8191e9b",
      "framework": "next-react",
      "imports": "@/lib/games-registry",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "faq-data",
      "normalized_name": "faq-data",
      "package_manager": "pnpm",
      "path": "lib/faq-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "27f4d4848a64266859c069e9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GameEvent, gameEventSchema, getEventStoreStatus, listEvents, receiveWebhook, recordGameEvent, redactMetadata, webhookPayloadSchema | imports:@/lib/games-registry, zod | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GameEvent,gameEventSchema,getEventStoreStatus,listEvents,receiveWebhook,recordGameEvent,redactMetadata,webhookPayloadSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "76e3afa074ad9dfb",
      "framework": "next-react",
      "imports": "@/lib/games-registry,zod",
      "lines": 139,
      "logic_relevance": "primary",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "lib/events.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "13622c4a55113388ae5faba9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec, toYaml | imports:@/lib/auth, @/lib/games-registry | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "buildOpenApiSpec,toYaml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c1e94b53247523f",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/games-registry",
      "lines": 300,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "bc14ad82a1d86bc6233a3ab8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TRUST_POLICY_LINE, buildAtomFeed, buildLlmsFullTxt, buildLlmsIndex, buildLlmsTxt, buildNetworkManifest, buildRssFeed, buildSitemapIndex | imports:@/lib/auth, @/lib/events, @/lib/games-registry, @/lib/routes, @/lib/trace | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "TRUST_POLICY_LINE,buildAtomFeed,buildLlmsFullTxt,buildLlmsIndex,buildLlmsTxt,buildNetworkManifest,buildRssFeed,buildSitemapIndex,buildTrustPolicy,buildXmlSitemap,escapeXml,mcpPromptNames,mcpResourceUris,mcpToolNames,publicGameSummary",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e89adb2f46ca75f1",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/events,@/lib/games-registry,@/lib/routes,@/lib/trace",
      "lines": 433,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "fd3e5f5383501ebf9ffebeb8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, getTraceContext, getTraceLink, getTraceStatus, traceHeaders | imports:next/server | logic-score:85 | observability-score:55",
      "exports": "TraceContext,getTraceContext,getTraceLink,getTraceStatus,traceHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d3ef451606614d6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "c34ee7a68f2190a0743b7ef4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthBoundary, AuthPolicy, PLATFORM_API_KEY_NAME, PLATFORM_REQUIRE_API_KEY_NAME, getAuthDescription, getAuthPolicy, getPlatformApiKeyFromRequest, isApiKeyEnforcementEnabled | imports:next/server | logic-score:85 | security-score:55 | uses-env",
      "exports": "AuthBoundary,AuthPolicy,PLATFORM_API_KEY_NAME,PLATFORM_REQUIRE_API_KEY_NAME,getAuthDescription,getAuthPolicy,getPlatformApiKeyFromRequest,isApiKeyEnforcementEnabled,isAuthorizedPlatformRequest,protectedActionAllowed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8db1cf35f467ac88",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "667b77f5c7ccc0e752be3943",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/games-registry, @playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e734c8382717d1de",
      "framework": "next-react",
      "imports": "../lib/games-registry,@playwright/test",
      "lines": 119,
      "logic_relevance": "none",
      "name": "navigation.spec",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "e2e/navigation.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability,process",
      "component_id": "468ee907751ae6e2ab795171",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/games-registry, @playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "eb7bffad87a8ef55",
      "framework": "next-react",
      "imports": "../lib/games-registry,@playwright/test",
      "lines": 76,
      "logic_relevance": "none",
      "name": "games.spec",
      "normalized_name": "games",
      "package_manager": "pnpm",
      "path": "e2e/games.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,process",
      "component_id": "e951089c1a1967455ee248d4",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/games-registry, @playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9ac5a2966f31c6a0",
      "framework": "next-react",
      "imports": "../lib/games-registry,@playwright/test",
      "lines": 150,
      "logic_relevance": "none",
      "name": "pages.spec",
      "normalized_name": "pages",
      "package_manager": "pnpm",
      "path": "e2e/pages.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,process",
      "component_id": "2fcee67643eefe97b576ae8b",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../lib/games-registry, @playwright/test | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e45c5b195aeb8b8",
      "framework": "next-react",
      "imports": "../lib/games-registry,@playwright/test",
      "lines": 124,
      "logic_relevance": "none",
      "name": "homepage.spec",
      "normalized_name": "homepage",
      "package_manager": "pnpm",
      "path": "e2e/homepage.spec.ts",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "6119eb338c62e833984c37f4",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:../lib/games-registry, @playwright/test | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1abc923e42400bfb",
      "framework": "next-react",
      "imports": "../lib/games-registry,@playwright/test",
      "lines": 332,
      "logic_relevance": "none",
      "name": "api.spec",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "e2e/api.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-mini-games-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a864163f5ddd1a7c37fba221",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fea5c85646d0e36",
      "framework": "next-react",
      "imports": "",
      "lines": 7987,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "7cecd1557ae15da2b66d3251",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "53877f9b71af9948",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "test_isCustomDomain",
      "normalized_name": "test-is-custom-domain",
      "package_manager": "pnpm",
      "path": "test_isCustomDomain.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5e1f7e4d18d44c9604bb3089",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "86097154eb5122f4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "pre_commit_instructions",
      "normalized_name": "pre-commit-instructions",
      "package_manager": "pnpm",
      "path": "pre_commit_instructions.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,integration",
      "component_id": "a455e4a25a460051067f9435",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2799782e864c6357",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "69c885be11e449d81a69f27e",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "378b8941dee8a467",
      "framework": "next-react",
      "imports": "next",
      "lines": 71,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,observability,automation",
      "component_id": "a23e0d7557087e3916a8b49f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46093fa69fb1d275",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "process,security,automation",
      "component_id": "e93b2704714cea3cd743ba22",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "71467385d91f60a1",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "ecaee4e2edda02306c025efd",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "261b8aeed1897d5a",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c2bd14d5f2509ac6b8ffc039",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d5066a542d39e81d",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3e6e2a54ac7c74873c77ed08",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,@upstash/ratelimit,@upstash/redis,@vercel/functions,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, isBot | imports:@/lib/ja4/client, @/lib/logger, @upstash/ratelimit, @upstash/redis, @vercel/functions, next/server | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config,isBot",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cdf9ddc67f1b27e",
      "framework": "next-react",
      "imports": "@/lib/ja4/client,@/lib/logger,@upstash/ratelimit,@upstash/redis,@vercel/functions,next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "8cdeaf3a0c6c7966e0fe4000",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d36f48662ffbe8e0",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pr_body",
      "normalized_name": "pr-body",
      "package_manager": "pnpm",
      "path": "pr_body.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "e14d2b18e0552a38b24d97b9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "846c08333fc156c1",
      "framework": "next-react",
      "imports": "next",
      "lines": 17,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7211bbe28ff0ac7f1c29418d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:@/lib/version, next/og | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b0c5d5fa08e7524",
      "framework": "next-react",
      "imports": "@/lib/version,next/og",
      "lines": 94,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "6ba253d29ea03626337c4c33",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5cd9629efcc0fa8f",
      "framework": "next-react",
      "imports": "next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4d86327aef0bb203de30ca2e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/providers/swr-provider, @/components/theme-provider, @/lib/utils, @vercel/analytics/react, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a313fe1d32901673",
      "framework": "next-react",
      "imports": "@/components/providers/swr-provider,@/components/theme-provider,@/lib/utils,@vercel/analytics/react,@vercel/speed-insights/next,next,next/font/google",
      "lines": 113,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "61a137386123716402eff439",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootError | imports:lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "RootError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8a2cf5def2d5d07",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 50,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "8a2c1c2c16088cf3d6697b9b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "21619dbc4b9f9bd9",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "b16329919e6c2a3ff7cd2868",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f52df2cb26302564",
      "framework": "next-react",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "8fc4c71752f6f192c4c649d9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootNotFound | imports:lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "RootNotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8da12f0b01262876",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 27,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "1b470e30d2a84b464114a0da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bca9c9bbcef04901",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "4fdf1ddce0352a5f428b421d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "22eff567ec16b26f",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "edcf13352bb636c95c339f21",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "17815853e14495ae",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,automation,ui,integration,observability,security",
      "component_id": "21221f2449761bc693304cf2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:VercelInfraPage, dynamic, metadata | imports:@/components/infra/VercelDomainsDashboard, @/lib/monitor/timeout, @/lib/vercel/infra, next, react | frontend-score:115 | automation-score:95 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "VercelInfraPage,dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03022a906b7bb68c",
      "framework": "next-react",
      "imports": "@/components/infra/VercelDomainsDashboard,@/lib/monitor/timeout,@/lib/vercel/infra,next,react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/infra/vercel/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "2bbd9e4216aaa5e146b8af44",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3f3a0bb345803e9f",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability",
      "component_id": "f59fc01f8a8d7bf1fc9e0c02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/constants, @/lib/monitor/discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2fd58f41a69a48f",
      "framework": "next-react",
      "imports": "@/lib/monitor/constants,@/lib/monitor/discovery,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,observability,security",
      "component_id": "299b33688ef8949e75cd1df9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a92b29e4ccf027f4",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "1de2ae1afd3fa941ce59088a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/constants, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3622e11be357b6f4",
      "framework": "next-react",
      "imports": "@/lib/monitor/constants,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "9ad5ddefae5ccc323180e050",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/manifest, @/lib/monitor/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d3e5928439f2c4c",
      "framework": "next-react",
      "imports": "@/lib/mcp/manifest,@/lib/monitor/constants,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "f2e561f54484951b51f847af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, POST | imports:@/lib/api/auth, @/lib/mcp/handler, @/lib/mcp/manifest, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b44b53b303945c7",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/mcp/handler,@/lib/mcp/manifest,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,ai",
      "component_id": "7846d8c010b9e48f9cab74ae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/shared/status-message, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45 | model-provider",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f148e399042be283",
      "framework": "next-react",
      "imports": "@/components/shared/status-message,lucide-react,next,next/link",
      "lines": 126,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "702bd17a9008487a5d46f62e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "74f0c53ee7312db2",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "587122d90f99242227059c3c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8c62b11bf900943",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "ef16b32cb165b81ec0840a61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "037a52e32eec71ef",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "0df9ef3926a68da09f388cc2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/vercel/infra | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c67394c0c0db4834",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/vercel/infra",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "0997b463844873e799b9838e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/vercel/domains | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5e5fd1cd7dda00f3",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/vercel/domains",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/domains/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability,security",
      "component_id": "e4fc4f74e7f21f2e9ca2f5b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/system | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ae778155d18e1ed",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/system",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/cache/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "da889101b0b5d76d003a811f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/monitor/checks, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d2f5cd5d2a7d9e6f",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/monitor/checks,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/checks/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "8237fb22a72da017bd873d0e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/vercel/infra, @/lib/vercel/projects, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67f0feec67d9e771",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/vercel/infra,@/lib/vercel/projects,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/projects/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "25e6c27c953a465b8fa1116e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab125488df8dc8dc",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5b596565ecbf38617881291b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a6e3286999f3563e",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7b476c1552c214205c5c23a1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../../sync/network/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b0c480fb33b3e888",
      "framework": "next-react",
      "imports": "../../../sync/network/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "98de2aee2a9ba3bbbde6d9b6",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f67573e38c8416a",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "7e268fe853937b884c0ee049",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/checks, @/lib/monitor/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37a60eca8cc3f139",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/checks,@/lib/monitor/constants,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "33eb0fb71476d6f48168b905",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e91a3da43d26d798",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "fedc38ca3c7e68954b1c8209",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/constants | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebfd022ea15f9a70",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/constants",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "0c191bdce1c7c13223d46fdc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/checks, @/lib/monitor/constants, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "35a52bc57005cd62",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/checks,@/lib/monitor/constants,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/uptime/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "61f26a7df854f29fb3933106",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/system, next/headers | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "033381899b3d7645",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/system,next/headers",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b483c00e0d8ca13faca764dc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/vercel/firewall, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56b8e8e46463ec67",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/vercel/firewall,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/firewall/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "895ab6561f2f047faf829e58",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/system, next/headers | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "604a937270be1c41",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/system,next/headers",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/system-health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "fab874b68b156c34a1d350fd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/monitor/trace, @/lib/vercel/infra, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e1691a404a6ecfe2",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/monitor/trace,@/lib/vercel/infra,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/vercel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f1e7250984965ebb41b18986",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/monitor/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8eee010ccf5629e5",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/monitor/trace,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "30fc2429f9244c0f62eeddc6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/db, @/lib/notifications/store, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee534de2c25c6cdf",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/db,@/lib/notifications/store,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/notifications/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability,security",
      "component_id": "1feb5ade5c3839c11f7e7904",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../rate-limit/route | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "86b53447785210ca",
      "framework": "next-react",
      "imports": "../../../rate-limit/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rate-limit/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e92ed0de16b60cef80ab4dd0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/monitor/incidents, @/lib/monitor/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "afc0c3719c171c8d",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/monitor/incidents,@/lib/monitor/trace,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/incidents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "bd75f737fd20c82ea653c59d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/monitor/incidents, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9f148ba3f789d002",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/monitor/incidents,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/incidents/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "194af319cca0533e083f50cf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "23f5f03e46986f21",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e35cb284c3bb7f2dbbfff56d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/vercel/deployments, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa573a13dbc16534",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/vercel/deployments,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deployments/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "99eb54c6faa7a1a21e759c3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/api/response, @/lib/vercel/deployments, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f84f06a559c79465",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/vercel/deployments,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deployments/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "a0a862735d0662af1d0352df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/vercel/domains, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "41266f039f08327e",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/vercel/domains,next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "da047ddc03d26c1146bf26a7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/snapshots/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab5227e7814f961b",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/snapshots/store,next/server",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/snapshots/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "5cf0ea899ad557f58150dbd8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/vercel/infra, @/lib/vercel/projects, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e773bac0cc1a48ec",
      "framework": "next-react",
      "imports": "@/lib/vercel/infra,@/lib/vercel/projects,next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/projects/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c23e58a6779c8743bfd15831",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/monitor/system, next/headers | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "604a937270be1c41",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/system,next/headers",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "5b36ab41a74f5e86ab2a0400",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/anomalies/store, @/lib/api/auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4a61457828158d48",
      "framework": "next-react",
      "imports": "@/lib/anomalies/store,@/lib/api/auth,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/anomalies/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "c03d49842d9644fa74a1fd82",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/mcp/handler, @/lib/mcp/manifest, @/lib/monitor/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e2d67527ffbf9c1",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/mcp/handler,@/lib/mcp/manifest,@/lib/monitor/constants,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security,discovery,process",
      "component_id": "2db69bd8072e4480797ce37b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/monitor/constants | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8dfb3ac8ca8e101a",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/monitor/constants",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "540725030903fd01827954fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/vercel/firewall, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "40a50de7894d013d",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/vercel/firewall,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/firewall/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "9b82ad5e60b5863c656a4e0a",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../route, @/lib/api/auth, @/lib/vercel/firewall, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2e349b9b5256f18",
      "framework": "next-react",
      "imports": "../route,@/lib/api/auth,@/lib/vercel/firewall,next/server,vitest",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/firewall/__tests__/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability",
      "component_id": "574f2c9c94bebe628cd8f502",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/logger, @/lib/notifications/store, @/lib/vercel/deployments, @/lib/vercel/infra, @/lib/vercel/projects, @/lib/vercel/types, @/lib/webhooks/store, @/lib/webhooks/verify | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4ad9b66564571c6",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/notifications/store,@/lib/vercel/deployments,@/lib/vercel/infra,@/lib/vercel/projects,@/lib/vercel/types,@/lib/webhooks/store,@/lib/webhooks/verify,next/server",
      "lines": 129,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/vercel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "c5decaa56a25477341e10e8c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/auth, @/lib/logger, @/lib/notifications/store, @/lib/vercel/types, @/lib/webhooks/store, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "16a4c1e6e04a030b",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/logger,@/lib/notifications/store,@/lib/vercel/types,@/lib/webhooks/store,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "2ae085740c54da945becb604",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/webhooks/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c288705ca40fcaa5",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/webhooks/store,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c4cdca05d61a8d738ba72819",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/db, @/lib/logger, @/lib/notifications/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0c5931c00cf5cfb8",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/db,@/lib/logger,@/lib/notifications/store,next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/notifications/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,automation",
      "component_id": "a79102896f9897858bb28ff6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/notifications/store, @/lib/vercel/types, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "78105925e5bb9955",
      "framework": "next-react",
      "imports": "@/lib/notifications/store,@/lib/vercel/types,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/notifications/stream/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f3cd2071322d81a96d1ad3b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/response, @/lib/logger, @/lib/monitor/system, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c83eb369a51038b",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/logger,@/lib/monitor/system,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rate-limit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "0cf0cfe90e7ccf34c0cdc72b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../route, @/lib/cache, @/lib/logger, @/lib/vercel/client, @/lib/vercel/dedup, @/lib/vercel/rate-limiter, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f83ede404fd81ecd",
      "framework": "next-react",
      "imports": "../route,@/lib/cache,@/lib/logger,@/lib/vercel/client,@/lib/vercel/dedup,@/lib/vercel/rate-limiter,vitest",
      "lines": 78,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rate-limit/__tests__/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "29f252074d70ac54d722e733",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,node:crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/anomalies/store, @/lib/anomaly/baselines, @/lib/api/auth, @/lib/logger, @/lib/mcp/register, @/lib/notifications/store, @/lib/snapshots/store, @/lib/vercel/domains | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c6835eb20b2f020",
      "framework": "next-react",
      "imports": "@/lib/anomalies/store,@/lib/anomaly/baselines,@/lib/api/auth,@/lib/logger,@/lib/mcp/register,@/lib/notifications/store,@/lib/snapshots/store,@/lib/vercel/domains,@/lib/vercel/infra,@/lib/vercel/projects,@/lib/webhooks/outbound,next/server,node:crypto",
      "lines": 235,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/snapshot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,frontend,backend,observability,security",
      "component_id": "ed1dc4faef8001ad43d9ecc9",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/lib,next,node:crypto,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../route, @/lib/anomalies/store, @/lib/anomaly/baselines, @/lib/api/auth, @/lib/logger, @/lib/mcp/register, @/lib/notifications/store, @/lib/vercel/infra | automation-score:95 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ec3ea6c9439ee3c5",
      "framework": "next-react",
      "imports": "../route,@/lib/anomalies/store,@/lib/anomaly/baselines,@/lib/api/auth,@/lib/logger,@/lib/mcp/register,@/lib/notifications/store,@/lib/vercel/infra,next/server,node:crypto,vitest",
      "lines": 213,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/snapshot/__tests__/route.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "3cd9f4e07a3f6751edf3464e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/mcp/register, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7b537b4187b0b365",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/mcp/register,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,observability,automation",
      "component_id": "52b61907b076d5ca864fef12",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/anomalies/store, @/lib/anomaly/detector, @/lib/notifications/store, @/lib/vercel/analytics, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72a197cfb534204e",
      "framework": "next-react",
      "imports": "@/lib/anomalies/store,@/lib/anomaly/detector,@/lib/notifications/store,@/lib/vercel/analytics,next/server",
      "lines": 154,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "8eeabfba2433fa0225eecd73",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/vercel/deployments, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc122b430a9eed62",
      "framework": "next-react",
      "imports": "@/lib/vercel/deployments,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/deployments/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "ff7ba3bdd2a23b7d9b917a07",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/vercel/deployments, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c61f50e3ad00e8ef",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/vercel/deployments,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/deployments/[deploymentId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "c165fcc8a9a47b494e6eca83",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/auth, @/lib/vercel/deployments, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bc2e05418614f98b",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/vercel/deployments,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/deployments/[deploymentId]/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,observability,discovery",
      "component_id": "7ec9465210354fc373711f55",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0255ecb68d6bb3a9",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "168da0a75d43a295610ae38a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/monitor/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "188f816a926516ce",
      "framework": "next-react",
      "imports": "@/lib/monitor/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "422f25b0048ec9869f5903ca",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/layout/command-palette, @/components/layout/footer, @/components/layout/sidebar, @/components/layout/topbar, @/components/shared/ph3ar-trigger | frontend-score:85 | ui-score:55",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b49db3c2cf8c97cc",
      "framework": "next-react",
      "imports": "@/components/layout/command-palette,@/components/layout/footer,@/components/layout/sidebar,@/components/layout/topbar,@/components/shared/ph3ar-trigger",
      "lines": 33,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "e41f9dc91dc02505ed1526d9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardError | imports:lucide-react | frontend-score:115 | ui-score:55",
      "exports": "DashboardError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a822bf9d6e54cfb3",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "0d77f459d5e6de76e9c8912e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLoading | imports:@/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "DashboardLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8782f6e70431da37",
      "framework": "next-react",
      "imports": "@/components/ui/skeleton",
      "lines": 41,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "738c509aa49795e70a7c8a66",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/analytics/traffic-chart, @/components/dashboard/cache-status, @/components/dashboard/deployment-sparkline, @/components/dashboard/health-indicator, @/components/dashboard/overview-cards, @/components/dashboard/recent-activity, @/lib/monitor/timeout, @/lib/vercel/analytics | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "642fa341e3b10fcc",
      "framework": "next-react",
      "imports": "@/components/analytics/traffic-chart,@/components/dashboard/cache-status,@/components/dashboard/deployment-sparkline,@/components/dashboard/health-indicator,@/components/dashboard/overview-cards,@/components/dashboard/recent-activity,@/lib/monitor/timeout,@/lib/vercel/analytics,@/lib/vercel/infra,@/lib/version,lucide-react,next/link",
      "lines": 227,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "1fcc324b50660dc5da0da97d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardNotFound | imports:lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "DashboardNotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6bcabf23f6e99d4c",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 26,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "d82cf95bda64e119d4fe98b8",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2b5fdc4eea9b1966",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "21c678e5fd0b4c492100e898",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/settings/data-tab, @/components/settings/general-tab, @/components/settings/integrations-tab, @/components/settings/notifications-tab, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ef549fe06ebf835",
      "framework": "next-react",
      "imports": "@/components/settings/data-tab,@/components/settings/general-tab,@/components/settings/integrations-tab,@/components/settings/notifications-tab,@/lib/utils,lucide-react,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8319416e42a9f24b7b8f945c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DomainsPage, dynamic, metadata | imports:@/components/domains/domain-stats, @/components/domains/domains-client, @/lib/monitor/timeout, @/lib/vercel/infra, @/lib/vercel/types, next, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DomainsPage,dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1745d05045641621",
      "framework": "next-react",
      "imports": "@/components/domains/domain-stats,@/components/domains/domains-client,@/lib/monitor/timeout,@/lib/vercel/infra,@/lib/vercel/types,next,react",
      "lines": 123,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/domains/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "05f5c2cf045e6fcd9371dce6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/projects/project-card, @/lib/monitor/timeout, @/lib/vercel/projects, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "420f09c2e2de2742",
      "framework": "next-react",
      "imports": "@/components/projects/project-card,@/lib/monitor/timeout,@/lib/vercel/projects,next",
      "lines": 62,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/projects/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ef5623e055d7e43b36c629c4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/deployments/deployment-status-badge, @/components/projects/commit-info, @/components/projects/repo-info, @/lib/utils, @/lib/vercel/deployments, @/lib/vercel/projects, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cfc3713a79a0349",
      "framework": "next-react",
      "imports": "@/components/deployments/deployment-status-badge,@/components/projects/commit-info,@/components/projects/repo-info,@/lib/utils,@/lib/vercel/deployments,@/lib/vercel/projects,lucide-react,next,next/link,next/navigation",
      "lines": 169,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/projects/[projectId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "581b242d8336da7ea676d723",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeploymentsSkeleton, ProjectDeploymentsContent, ProjectDeploymentsPage | imports:@/components/deployments/deployment-table, @/lib/vercel/deployments, @/lib/vercel/projects, @/lib/vercel/types, lucide-react, next, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "DeploymentsSkeleton,ProjectDeploymentsContent,ProjectDeploymentsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19df0c6e3baca4b9",
      "framework": "next-react",
      "imports": "@/components/deployments/deployment-table,@/lib/vercel/deployments,@/lib/vercel/projects,@/lib/vercel/types,lucide-react,next,next/link,next/navigation,react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/projects/[projectId]/deployments/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "c02f8a6c1767c82f066f1846",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FirewallLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "FirewallLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "554bcbf64a5944f0",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/firewall/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4caf1a2dc133f44fca2c565f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FirewallPage | imports:@/components/firewall/firewall-rule-editor, @/components/firewall/firewall-rules-table, @/components/shared/project-selector, @/lib/utils, @/lib/vercel/types, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FirewallPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b8b9ffcea4a2eb5",
      "framework": "next-react",
      "imports": "@/components/firewall/firewall-rule-editor,@/components/firewall/firewall-rules-table,@/components/shared/project-selector,@/lib/utils,@/lib/vercel/types,lucide-react,next/navigation,react",
      "lines": 387,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/firewall/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "78d5fae34293df5097b6478d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SystemHealthPage, dynamic, metadata | imports:@/components/dashboard/cache-status, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SystemHealthPage,dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8daa7272e7d933bd",
      "framework": "next-react",
      "imports": "@/components/dashboard/cache-status,next",
      "lines": 63,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/system-health/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "19823593c4ed2973c3ed4ac2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "NotificationsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f84bfb27f7eb9cff",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/notifications/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "aa5446224c0bc4de1474b2a8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationsPage | imports:@/hooks/use-time-ago, @/lib/utils, @/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NotificationsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed258af5ba1c00ad",
      "framework": "next-react",
      "imports": "@/hooks/use-time-ago,@/lib/utils,@/lib/vercel/types,lucide-react,react",
      "lines": 315,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/notifications/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,automation",
      "component_id": "db6e05fb95f55271ee25c1e8",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "AnalyticsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bdb4672566333088",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/analytics/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b52987fb4c33fd5f632b0ced",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsPage | imports:@/components/analytics/analytics-stats, @/components/analytics/anomaly-alerts, @/components/analytics/traffic-chart, @/components/shared/project-selector, @/lib/anomaly/detector, @/lib/utils, @/lib/vercel/analytics, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83070f9c17196f7f",
      "framework": "next-react",
      "imports": "@/components/analytics/analytics-stats,@/components/analytics/anomaly-alerts,@/components/analytics/traffic-chart,@/components/shared/project-selector,@/lib/anomaly/detector,@/lib/utils,@/lib/vercel/analytics,lucide-react,next/navigation,react",
      "lines": 280,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6dd901624ff7dc21fd0ced48",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeploymentsPage, metadata | imports:@/components/deployments/deployment-table, @/lib/monitor/timeout, @/lib/vercel/deployments, @/lib/vercel/projects, @/lib/vercel/types, next, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DeploymentsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f37cf60329da6b21",
      "framework": "next-react",
      "imports": "@/components/deployments/deployment-table,@/lib/monitor/timeout,@/lib/vercel/deployments,@/lib/vercel/projects,@/lib/vercel/types,next,react",
      "lines": 103,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/deployments/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0b8e64f9ee3d33d4ed261968",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "22f2a43999d29dd5",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "roadmap",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/roadmap.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a471847b85408077b67eeb91",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider, useTheme | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider,useTheme",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc659b96bcabb73b",
      "framework": "next-react",
      "imports": "react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "170b09b5c4ae8cfd77e84a43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:EmptyState | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115",
      "exports": "EmptyState",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a7be594dd7f7b672",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "empty-state",
      "normalized_name": "empty-state",
      "package_manager": "pnpm",
      "path": "components/ui/empty-state.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "685f99832b3a4c6465f50a22",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8913724bc2d578e4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "a748093a9fca59ec74c1fb1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataTab | imports:./section, @/components/dashboard/cache-status, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DataTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56e3c0b9ec85cfb2",
      "framework": "next-react",
      "imports": "./section,@/components/dashboard/cache-status,@/lib/utils,lucide-react,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "data-tab",
      "normalized_name": "data-tab",
      "package_manager": "pnpm",
      "path": "components/settings/data-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "da3401f6cc2046d020d62492",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationsTab | imports:./section, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NotificationsTab",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5d9a2b44ec6a2609",
      "framework": "next-react",
      "imports": "./section,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "notifications-tab",
      "normalized_name": "notifications-tab",
      "package_manager": "pnpm",
      "path": "components/settings/notifications-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "ff06eede01b86258e0bbf920",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Section | frontend-score:85 | ui-score:55",
      "exports": "Section",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b06e0ac2dd7ef02",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "section",
      "normalized_name": "section",
      "package_manager": "pnpm",
      "path": "components/settings/section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "39ff9fa238080feafd734c33",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsTab | imports:./section, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "IntegrationsTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79b9490dab02814e",
      "framework": "next-react",
      "imports": "./section,lucide-react,react",
      "lines": 207,
      "logic_relevance": "none",
      "name": "integrations-tab",
      "normalized_name": "integrations-tab",
      "package_manager": "pnpm",
      "path": "components/settings/integrations-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4af330ee8a36e29167da1056",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GeneralTab | imports:./section, @/lib/version, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GeneralTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38bf35700e29de8a",
      "framework": "next-react",
      "imports": "./section,@/lib/version,lucide-react,react",
      "lines": 187,
      "logic_relevance": "none",
      "name": "general-tab",
      "normalized_name": "general-tab",
      "package_manager": "pnpm",
      "path": "components/settings/general-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,integration,observability,security",
      "component_id": "6ac34385e8fbc876618ceeb0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VercelDomainsDashboard | imports:./DeploymentList, ./types, ./utils, @/lib/utils, @/lib/vercel/types, react | frontend-score:115 | automation-score:95 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "VercelDomainsDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "675398719463dd6c",
      "framework": "next-react",
      "imports": "./DeploymentList,./types,./utils,@/lib/utils,@/lib/vercel/types,react",
      "lines": 263,
      "logic_relevance": "none",
      "name": "VercelDomainsDashboard",
      "normalized_name": "vercel-domains-dashboard",
      "package_manager": "pnpm",
      "path": "components/infra/VercelDomainsDashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security",
      "component_id": "3b85de1406e0083a0ab2df09",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeploymentList | imports:./utils, @/lib/vercel/types, react | frontend-score:115 | automation-score:95 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DeploymentList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "892109038b260bcc",
      "framework": "next-react",
      "imports": "./utils,@/lib/vercel/types,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "DeploymentList",
      "normalized_name": "deployment-list",
      "package_manager": "pnpm",
      "path": "components/infra/DeploymentList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation,logic",
      "component_id": "328af45e095cd1692b8fb1f7",
      "component_kind": "infrastructure-automation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:fmtTs, pill, statePill, toCsv, toDomainRows | imports:./types, @/lib/vercel/types | automation-score:95 | logic-score:85",
      "exports": "fmtTs,pill,statePill,toCsv,toDomainRows",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c38b30ae84472bad",
      "framework": "next-react",
      "imports": "./types,@/lib/vercel/types",
      "lines": 105,
      "logic_relevance": "secondary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "components/infra/utils.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "be6eea8082de08057aa9fb15",
      "component_kind": "infrastructure-automation",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:DomainRow | imports:@/lib/vercel/types | automation-score:95",
      "exports": "DomainRow",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2423aebb07b297c2",
      "framework": "next-react",
      "imports": "@/lib/vercel/types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "components/infra/types.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,automation",
      "component_id": "ba623a998333df8728ad9b18",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddDomainDialog | imports:@/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AddDomainDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76d8c0fdbe219a25",
      "framework": "next-react",
      "imports": "@/lib/vercel/types,lucide-react,react",
      "lines": 144,
      "logic_relevance": "secondary",
      "name": "add-domain-dialog",
      "normalized_name": "add-domain-dialog",
      "package_manager": "pnpm",
      "path": "components/domains/add-domain-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "152d3407be3626bff902a705",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubdomainsView | imports:@/lib/domains/grouping, @/lib/utils, @/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SubdomainsView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "976743998f9e089f",
      "framework": "next-react",
      "imports": "@/lib/domains/grouping,@/lib/utils,@/lib/vercel/types,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "subdomains-view",
      "normalized_name": "subdomains-view",
      "package_manager": "pnpm",
      "path": "components/domains/subdomains-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e20f93eedd2e043c7b707978",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DomainsByProject | imports:@/lib/domains/grouping, @/lib/utils, @/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DomainsByProject",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae6c365d068a50e1",
      "framework": "next-react",
      "imports": "@/lib/domains/grouping,@/lib/utils,@/lib/vercel/types,lucide-react,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "domains-by-project",
      "normalized_name": "domains-by-project",
      "package_manager": "pnpm",
      "path": "components/domains/domains-by-project.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b098a20e97ad010a985cfae3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DomainsClient | imports:./add-domain-dialog, ./dns-config-panel, ./domain-table, ./domains-by-project, ./subdomains-view, @/lib/utils, @/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DomainsClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9085c0bc2aeda789",
      "framework": "next-react",
      "imports": "./add-domain-dialog,./dns-config-panel,./domain-table,./domains-by-project,./subdomains-view,@/lib/utils,@/lib/vercel/types,lucide-react,next/navigation,react",
      "lines": 187,
      "logic_relevance": "none",
      "name": "domains-client",
      "normalized_name": "domains-client",
      "package_manager": "pnpm",
      "path": "components/domains/domains-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,automation",
      "component_id": "ae9307beaa12dd17b5770ea4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DomainStats | imports:@/lib/vercel/types, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DomainStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3658756638f38814",
      "framework": "next-react",
      "imports": "@/lib/vercel/types,lucide-react",
      "lines": 71,
      "logic_relevance": "secondary",
      "name": "domain-stats",
      "normalized_name": "domain-stats",
      "package_manager": "pnpm",
      "path": "components/domains/domain-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,automation",
      "component_id": "69ef031967bcb77a84d68ab5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DomainTable | imports:@/components/ui/empty-state, @/hooks/use-time-ago, @/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DomainTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bc2c0deda29b982",
      "framework": "next-react",
      "imports": "@/components/ui/empty-state,@/hooks/use-time-ago,@/lib/vercel/types,lucide-react,react",
      "lines": 168,
      "logic_relevance": "secondary",
      "name": "domain-table",
      "normalized_name": "domain-table",
      "package_manager": "pnpm",
      "path": "components/domains/domain-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8a68662367add61cd6bfdaa5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DnsConfigPanel | imports:@/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DnsConfigPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6bbfeb8ab125d2c",
      "framework": "next-react",
      "imports": "@/lib/vercel/types,lucide-react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "dns-config-panel",
      "normalized_name": "dns-config-panel",
      "package_manager": "pnpm",
      "path": "components/domains/dns-config-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "57f5faeb5c85e9c113c934d3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Topbar | imports:./breadcrumbs, ./mobile-nav, @/components/notifications/notification-bell, @/components/theme-provider, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Topbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5652afd1344f52b6",
      "framework": "next-react",
      "imports": "./breadcrumbs,./mobile-nav,@/components/notifications/notification-bell,@/components/theme-provider,lucide-react,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "topbar",
      "normalized_name": "topbar",
      "package_manager": "pnpm",
      "path": "components/layout/topbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "690e9b83b5324226a6ed242e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommandPalette | imports:@/lib/utils, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommandPalette",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b663d3f75fba6ca0",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/navigation,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "command-palette",
      "normalized_name": "command-palette",
      "package_manager": "pnpm",
      "path": "components/layout/command-palette.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0b9fe149e7e26f29b119eb12",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f569a4cb91a12ea",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 57,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/layout/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5772ddbcbd51d228dd5d0b6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/version, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dca7528764085171",
      "framework": "next-react",
      "imports": "@/lib/version,lucide-react,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,automation",
      "component_id": "8131282436ee1a76d47f5b14",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:@/lib/utils, @radix-ui/react-tooltip, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7dad31b81467adbc",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,next/link,next/navigation,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2f7b33d026a9f24b05be0744",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileNav | imports:@/lib/utils, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MobileNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f63ec9cafeb00d0",
      "framework": "next-react",
      "imports": "@/lib/utils,next/link,next/navigation,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "mobile-nav",
      "normalized_name": "mobile-nav",
      "package_manager": "pnpm",
      "path": "components/layout/mobile-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e459d3abaec53f7dc28e449a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommitInfo | imports:@/lib/utils, @/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CommitInfo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b18c88ae1b09b1f",
      "framework": "next-react",
      "imports": "@/lib/utils,@/lib/vercel/types,lucide-react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "commit-info",
      "normalized_name": "commit-info",
      "package_manager": "pnpm",
      "path": "components/projects/commit-info.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "4db9c7ab0e30ad76cb46628f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RepoInfo | imports:@/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "RepoInfo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd4debddb3d97b62",
      "framework": "next-react",
      "imports": "@/lib/vercel/types,lucide-react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "repo-info",
      "normalized_name": "repo-info",
      "package_manager": "pnpm",
      "path": "components/projects/repo-info.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "32c49ca23f46c95df4199e77",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectCard | imports:@/components/deployments/deployment-status-badge, @/hooks/use-time-ago, @/lib/vercel/types, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "ProjectCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c125a93dd02f7fab",
      "framework": "svelte",
      "imports": "@/components/deployments/deployment-status-badge,@/hooks/use-time-ago,@/lib/vercel/types,lucide-react,next/link",
      "lines": 92,
      "logic_relevance": "none",
      "name": "project-card",
      "normalized_name": "project-card",
      "package_manager": "pnpm",
      "path": "components/projects/project-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "499adadd168e934867e2e0d1",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react,swr",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SWRProvider | imports:react, swr | frontend-score:115 | ui-score:70",
      "exports": "SWRProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1fb6bac395467e6a",
      "framework": "next-react",
      "imports": "react,swr",
      "lines": 39,
      "logic_relevance": "none",
      "name": "swr-provider",
      "normalized_name": "swr-provider",
      "package_manager": "pnpm",
      "path": "components/providers/swr-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "754519072d75affb2d43ab18",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusMessage | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "StatusMessage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d8dd2afef6c8481",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "status-message",
      "normalized_name": "status-message",
      "package_manager": "pnpm",
      "path": "components/shared/status-message.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "307b93cc79f9166955fc7bf8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Ph3arModal | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Ph3arModal",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1ec3538206b10531",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/shared/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "66926cb65b8eba120bf31836",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Ph3arTrigger | imports:./ph3ar-modal, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Ph3arTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "178ff9657643a7de",
      "framework": "next-react",
      "imports": "./ph3ar-modal,react",
      "lines": 67,
      "logic_relevance": "none",
      "name": "ph3ar-trigger",
      "normalized_name": "ph3ar-trigger",
      "package_manager": "pnpm",
      "path": "components/shared/ph3ar-trigger.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2817dc1b0f346b1faefecfe3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectSelector | imports:@/lib/utils, lucide-react, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProjectSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8de1ec7561a4206",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,swr",
      "lines": 165,
      "logic_relevance": "none",
      "name": "project-selector",
      "normalized_name": "project-selector",
      "package_manager": "pnpm",
      "path": "components/shared/project-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,automation",
      "component_id": "ace065475016265c5976cf1c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FirewallRulesTable | imports:@/lib/utils, @/lib/vercel/types, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FirewallRulesTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e03453bc49d145c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@/lib/vercel/types,lucide-react",
      "lines": 167,
      "logic_relevance": "secondary",
      "name": "firewall-rules-table",
      "normalized_name": "firewall-rules-table",
      "package_manager": "pnpm",
      "path": "components/firewall/firewall-rules-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,security,automation",
      "component_id": "eb37c2ec2aee43aac89ad825",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FirewallRuleEditor | imports:./rule-editor/rule-action, ./rule-editor/rule-basic-info, ./rule-editor/rule-conditions, @/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "FirewallRuleEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f556fa0af7626f3",
      "framework": "next-react",
      "imports": "./rule-editor/rule-action,./rule-editor/rule-basic-info,./rule-editor/rule-conditions,@/lib/vercel/types,lucide-react,react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "firewall-rule-editor",
      "normalized_name": "firewall-rule-editor",
      "package_manager": "pnpm",
      "path": "components/firewall/firewall-rule-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,security,automation",
      "component_id": "a77c8c5ab47661b587966995",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:RuleAction | imports:./constants, @/lib/utils, @/lib/vercel/types | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RuleAction",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4e5937db873feb4",
      "framework": "next-react",
      "imports": "./constants,@/lib/utils,@/lib/vercel/types",
      "lines": 70,
      "logic_relevance": "none",
      "name": "rule-action",
      "normalized_name": "rule-action",
      "package_manager": "pnpm",
      "path": "components/firewall/rule-editor/rule-action.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a9f50936874cf6094044da65",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RuleConditions | imports:./constants, @/lib/utils, @/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RuleConditions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1107683d83e21d86",
      "framework": "next-react",
      "imports": "./constants,@/lib/utils,@/lib/vercel/types,lucide-react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "rule-conditions",
      "normalized_name": "rule-conditions",
      "package_manager": "pnpm",
      "path": "components/firewall/rule-editor/rule-conditions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8c2855815e92ab11caa04929",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:actions, conditionTypes, inputClasses, operators, selectClasses | imports:@/lib/vercel/types | observability-score:55 | automation-score:45",
      "exports": "actions,conditionTypes,inputClasses,operators,selectClasses",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d18ce872608b84c",
      "framework": "next-react",
      "imports": "@/lib/vercel/types",
      "lines": 31,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "components/firewall/rule-editor/constants.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "bf64434d2022fca47653f037",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:RuleBasicInfo | imports:./constants, @/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "RuleBasicInfo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76080644a42ab082",
      "framework": "next-react",
      "imports": "./constants,@/lib/utils",
      "lines": 41,
      "logic_relevance": "none",
      "name": "rule-basic-info",
      "normalized_name": "rule-basic-info",
      "package_manager": "pnpm",
      "path": "components/firewall/rule-editor/rule-basic-info.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c9aa157a8fde0faac77a44fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentActivity | imports:@/hooks/use-time-ago, @/lib/utils, @/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RecentActivity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a44a4bbb54beaedc",
      "framework": "next-react",
      "imports": "@/hooks/use-time-ago,@/lib/utils,@/lib/vercel/types,lucide-react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "recent-activity",
      "normalized_name": "recent-activity",
      "package_manager": "pnpm",
      "path": "components/dashboard/recent-activity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "08f70ae0f586fb8cd6c27fb3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CacheStatus | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CacheStatus",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb6c5996a68dd316",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 331,
      "logic_relevance": "none",
      "name": "cache-status",
      "normalized_name": "cache-status",
      "package_manager": "pnpm",
      "path": "components/dashboard/cache-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,process",
      "component_id": "62f47943d81afd4d22b53381",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeploymentSparkline | imports:recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "DeploymentSparkline",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "348eb0e3df4207b4",
      "framework": "next-react",
      "imports": "recharts",
      "lines": 67,
      "logic_relevance": "none",
      "name": "deployment-sparkline",
      "normalized_name": "deployment-sparkline",
      "package_manager": "pnpm",
      "path": "components/dashboard/deployment-sparkline.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5c7e3a0d3a94790fb65b7f40",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HealthIndicator | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HealthIndicator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee5b0ef53b3ab907",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 42,
      "logic_relevance": "none",
      "name": "health-indicator",
      "normalized_name": "health-indicator",
      "package_manager": "pnpm",
      "path": "components/dashboard/health-indicator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "32e6b943c806ecc529a3d08a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OverviewCards | imports:@/lib/utils, @/lib/vercel/types, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "OverviewCards",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c40be74a72bbe1a6",
      "framework": "next-react",
      "imports": "@/lib/utils,@/lib/vercel/types,lucide-react,next/link",
      "lines": 99,
      "logic_relevance": "none",
      "name": "overview-cards",
      "normalized_name": "overview-cards",
      "package_manager": "pnpm",
      "path": "components/dashboard/overview-cards.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "19fe91808830ecba1a51c700",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationBell | imports:./notification-panel, @/lib/utils, @/lib/vercel/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "NotificationBell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d852489b42f049ee",
      "framework": "next-react",
      "imports": "./notification-panel,@/lib/utils,@/lib/vercel/types,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "notification-bell",
      "normalized_name": "notification-bell",
      "package_manager": "pnpm",
      "path": "components/notifications/notification-bell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "72aa778aeb6e01ad4a81bd16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotificationPanel | imports:@/hooks/use-time-ago, @/lib/utils, @/lib/vercel/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NotificationPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a40394095f1d1abd",
      "framework": "next-react",
      "imports": "@/hooks/use-time-ago,@/lib/utils,@/lib/vercel/types,lucide-react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "notification-panel",
      "normalized_name": "notification-panel",
      "package_manager": "pnpm",
      "path": "components/notifications/notification-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "70b51e99d8edcc284a521121",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrafficChart | imports:react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TrafficChart",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e0cdadc46ab760e2",
      "framework": "next-react",
      "imports": "react,recharts",
      "lines": 124,
      "logic_relevance": "none",
      "name": "traffic-chart",
      "normalized_name": "traffic-chart",
      "package_manager": "pnpm",
      "path": "components/analytics/traffic-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e58f5ff33f58d7d01dc28613",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnomalyAlerts | imports:@/lib/anomaly/detector, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnomalyAlerts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "80e9d1e84f948dac",
      "framework": "next-react",
      "imports": "@/lib/anomaly/detector,@/lib/utils,lucide-react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "anomaly-alerts",
      "normalized_name": "anomaly-alerts",
      "package_manager": "pnpm",
      "path": "components/analytics/anomaly-alerts.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "50dd1e84d6ad78dda83998bd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsStats | imports:@/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalyticsStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "faa2372396fcbaf9",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "analytics-stats",
      "normalized_name": "analytics-stats",
      "package_manager": "pnpm",
      "path": "components/analytics/analytics-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,automation,ui,observability,security,process",
      "component_id": "3f29e0859297029806792286",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeploymentTable | imports:./deployment-row, @/components/ui/empty-state, @/lib/vercel/types, lucide-react, react | frontend-score:115 | automation-score:95 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DeploymentTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10d9d4b353979b18",
      "framework": "next-react",
      "imports": "./deployment-row,@/components/ui/empty-state,@/lib/vercel/types,lucide-react,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "deployment-table",
      "normalized_name": "deployment-table",
      "package_manager": "pnpm",
      "path": "components/deployments/deployment-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security,process",
      "component_id": "eba095dfe5f8debefd1862b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeploymentRow | imports:./cancel-deployment-button, ./deployment-status-badge, @/hooks/use-time-ago, @/lib/vercel/deployments, @/lib/vercel/types, lucide-react, react | frontend-score:115 | automation-score:95 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DeploymentRow",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13a1a39c027d4f0f",
      "framework": "next-react",
      "imports": "./cancel-deployment-button,./deployment-status-badge,@/hooks/use-time-ago,@/lib/vercel/deployments,@/lib/vercel/types,lucide-react,react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "deployment-row",
      "normalized_name": "deployment-row",
      "package_manager": "pnpm",
      "path": "components/deployments/deployment-row.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,process",
      "component_id": "27d1b581fb34cdda1cca645d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CancelDeploymentButton | imports:@/lib/utils, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "CancelDeploymentButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d63847b03a5437e",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/navigation,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "cancel-deployment-button",
      "normalized_name": "cancel-deployment-button",
      "package_manager": "pnpm",
      "path": "components/deployments/cancel-deployment-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,frontend,ui,observability,process",
      "component_id": "f55943a38e2eff0ae71132c6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:DeploymentStatusBadge | imports:@/lib/utils, @/lib/vercel/types | automation-score:95 | frontend-score:85 | ui-score:55 | observability-score:55 | process-score:45",
      "exports": "DeploymentStatusBadge",
      "extension": ".tsx",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "50c4ba625b6d7366",
      "framework": "next-react",
      "imports": "@/lib/utils,@/lib/vercel/types",
      "lines": 72,
      "logic_relevance": "none",
      "name": "deployment-status-badge",
      "normalized_name": "deployment-status-badge",
      "package_manager": "pnpm",
      "path": "components/deployments/deployment-status-badge.tsx",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,observability,security",
      "component_id": "71f984ccc5b720fb6b13aedc",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5533680c8005e4bd",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "39c3f47aa6dc34434853f7ea",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6e5f8328063b127c",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "394da0cb23d3e0a90f5cf4a5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../proxy, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1912977b72c4e853",
      "framework": "next-react",
      "imports": "../proxy,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "proxy.test",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "__tests__/proxy.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "3e43a2cae577aaa894ec06f1",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../app/robots, ../app/sitemap, vitest | ai-score:75",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "955316b465f500f6",
      "framework": "next-react",
      "imports": "../app/robots,../app/sitemap,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "seo-llm.test",
      "normalized_name": "seo-llm",
      "package_manager": "pnpm",
      "path": "__tests__/seo-llm.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "2fad24449c34145ab7535d2d",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/firewall/route, @/lib/api/auth, @/lib/vercel/firewall, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a2f7bf24e20a290",
      "framework": "next-react",
      "imports": "@/app/api/firewall/route,@/lib/api/auth,@/lib/vercel/firewall,next/server,vitest",
      "lines": 172,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/firewall/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,frontend,backend,observability,security",
      "component_id": "7e61db50bfec12713f45bef7",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/snapshot/route, @/lib/anomalies/store, @/lib/notifications/store, @/lib/vercel/infra, next/server, vitest | automation-score:95 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "347a24acd70d2d76",
      "framework": "next-react",
      "imports": "@/app/api/cron/snapshot/route,@/lib/anomalies/store,@/lib/notifications/store,@/lib/vercel/infra,next/server,vitest",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route.benchmark.test",
      "normalized_name": "route-benchmark",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/cron/snapshot/route.benchmark.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,automation",
      "component_id": "0bd869cd7fc33b4e2ed8bec4",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/domains/domain-table, @/lib/vercel/types, @testing-library/react, vitest | frontend-score:85 | logic-score:70 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9830cdeee4fe5eb5",
      "framework": "next-react",
      "imports": "@/components/domains/domain-table,@/lib/vercel/types,@testing-library/react,vitest",
      "lines": 220,
      "logic_relevance": "secondary",
      "name": "domain-table.test",
      "normalized_name": "domain-table",
      "package_manager": "pnpm",
      "path": "__tests__/components/domains/domain-table.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "e293706e9cd1e14901dbc78b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/domains/dns-config-panel, @/lib/vercel/types, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24c7ea34adc8eac8",
      "framework": "next-react",
      "imports": "@/components/domains/dns-config-panel,@/lib/vercel/types,@testing-library/react,vitest",
      "lines": 155,
      "logic_relevance": "none",
      "name": "dns-config-panel.test",
      "normalized_name": "dns-config-panel",
      "package_manager": "pnpm",
      "path": "__tests__/components/domains/dns-config-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,automation",
      "component_id": "1f282c1b984544123e2c5066",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/domains/add-domain-dialog, @/lib/vercel/types, @testing-library/react, vitest | frontend-score:85 | logic-score:70 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f897ab0e7c313345",
      "framework": "next-react",
      "imports": "@/components/domains/add-domain-dialog,@/lib/vercel/types,@testing-library/react,vitest",
      "lines": 190,
      "logic_relevance": "secondary",
      "name": "add-domain-dialog.test",
      "normalized_name": "add-domain-dialog",
      "package_manager": "pnpm",
      "path": "__tests__/components/domains/add-domain-dialog.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "78151ce8d2d27a8b41ce9b27",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/domains/domains-client, @/lib/vercel/types, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88ee7632bd314305",
      "framework": "next-react",
      "imports": "@/components/domains/domains-client,@/lib/vercel/types,@testing-library/react,vitest",
      "lines": 146,
      "logic_relevance": "none",
      "name": "domains-client.test",
      "normalized_name": "domains-client",
      "package_manager": "pnpm",
      "path": "__tests__/components/domains/domains-client.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "eb9183da7e05f809f6f68a25",
      "component_kind": "editor-feature",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/firewall/firewall-rule-editor, @/lib/vercel/types, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b5d74a3a6bb6389",
      "framework": "next-react",
      "imports": "@/components/firewall/firewall-rule-editor,@/lib/vercel/types,@testing-library/react,vitest",
      "lines": 96,
      "logic_relevance": "none",
      "name": "firewall-rule-editor.test",
      "normalized_name": "firewall-rule-editor",
      "package_manager": "pnpm",
      "path": "__tests__/components/firewall/firewall-rule-editor.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "6307e1d1fb7e83abce9cb7ec",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d2a368e9f00c21b2",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 142,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "58b75b469c11c84a06a87fd2",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/client, @/lib/vercel/deployments, vitest | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "590307e7b36f4ee2",
      "framework": "next-react",
      "imports": "@/lib/vercel/client,@/lib/vercel/deployments,vitest",
      "lines": 83,
      "logic_relevance": "secondary",
      "name": "deployments.test",
      "normalized_name": "deployments",
      "package_manager": "pnpm",
      "path": "__tests__/lib/vercel/deployments.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "0cae996801258628befc033e",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/client, @/lib/vercel/rate-limiter, @/lib/vercel/retry, vitest | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c3986ff7e2bb088",
      "framework": "next-react",
      "imports": "@/lib/vercel/client,@/lib/vercel/rate-limiter,@/lib/vercel/retry,vitest",
      "lines": 222,
      "logic_relevance": "secondary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/vercel/client.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "376af09c34dd32cae5507e48",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d8982b8e11e827d9",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "e8ae3cc51b6f0dd03f7320f0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "85cd0e71d8f40c53",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "a29f0122e55c973d73d7b8a5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "acdc6f87dd31eaf6",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ab27b0d68491def71635ab3b",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:PK_NAME, REGION, SK_NAME, TABLE_NAME | imports:@aws-sdk/client-dynamodb | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PK_NAME,REGION,SK_NAME,TABLE_NAME",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f4a2a4c4a46f311",
      "framework": "next-react",
      "imports": "@aws-sdk/client-dynamodb",
      "lines": 169,
      "logic_relevance": "none",
      "name": "setup-dynamodb",
      "normalized_name": "setup-dynamodb",
      "package_manager": "pnpm",
      "path": "scripts/setup-dynamodb.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,ai",
      "component_id": "158286fa871b3a0db63bdaa6",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, computeTimeAgo, downloadBlob, downloadJson, formatBytes, formatDate, formatRelativeTime, groupBy | imports:clsx, tailwind-merge | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "cn,computeTimeAgo,downloadBlob,downloadJson,formatBytes,formatDate,formatRelativeTime,groupBy,safeJsonStringify,timeAgo,truncate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2ace7a6923a4d7f4",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "a1248790fd8a81a6dbcdb839",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogSeverity, logger | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "LogSeverity,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1c21159bd7d32195",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "648bdeb050e566543a84e1e0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/lib-dynamodb",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CacheResult, CacheStatsManager, CacheStatus, getCacheStats | imports:./db, ./logger, @aws-sdk/lib-dynamodb | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CacheResult,CacheStatsManager,CacheStatus,getCacheStats",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "181aba5146a5af4f",
      "framework": "next-react",
      "imports": "./db,./logger,@aws-sdk/lib-dynamodb",
      "lines": 300,
      "logic_relevance": "primary",
      "name": "cache",
      "normalized_name": "cache",
      "package_manager": "pnpm",
      "path": "lib/cache.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,logic,automation",
      "component_id": "6861f854660850f68fc68098",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:APP_AUTHOR, APP_DESCRIPTION, APP_NAME, APP_REPO, APP_SHORT_NAME, APP_VERSION | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45",
      "exports": "APP_AUTHOR,APP_DESCRIPTION,APP_NAME,APP_REPO,APP_SHORT_NAME,APP_VERSION",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cfe446d070a7f12a",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "secondary",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/version.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "ff5a278676acc86bea659839",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocClient, PK_ATTR, SK_ATTR, TABLE_NAME, TTL_180_DAYS, TTL_30_DAYS, TTL_7_DAYS, TTL_90_DAYS | imports:@aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, @vercel/functions/oidc | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "DocClient,PK_ATTR,SK_ATTR,TABLE_NAME,TTL_180_DAYS,TTL_30_DAYS,TTL_7_DAYS,TTL_90_DAYS,isDynamoConfigured,isoNow,ttlFromNow",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "444ef85769b847bd",
      "framework": "next-react",
      "imports": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions/oidc",
      "lines": 160,
      "logic_relevance": "primary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "26e380a5bcbba477bd03bd02",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./baselines, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "746d304cdf96797b",
      "framework": "next-react",
      "imports": "./baselines,vitest",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "baselines.bench",
      "normalized_name": "baselines-bench",
      "package_manager": "pnpm",
      "path": "lib/anomaly/baselines.bench.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c8df71a79eeedb32b7583ee3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BaselineDataPoint, BaselineDataPointInput, computeMean, computeStdDev, evaluateAnomaly | imports:./detector, @/lib/db, @/lib/logger, @aws-sdk/lib-dynamodb | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "BaselineDataPoint,BaselineDataPointInput,computeMean,computeStdDev,evaluateAnomaly",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2412c155efecd9a",
      "framework": "next-react",
      "imports": "./detector,@/lib/db,@/lib/logger,@aws-sdk/lib-dynamodb",
      "lines": 269,
      "logic_relevance": "primary",
      "name": "baselines",
      "normalized_name": "baselines",
      "package_manager": "pnpm",
      "path": "lib/anomaly/baselines.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,observability",
      "component_id": "a41fac0a789bd31415e8072d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnomalyResult, computeStats, computeZScore, detectAnomalies, detectErrorRateAnomaly | logic-score:85 | observability-score:55",
      "exports": "AnomalyResult,computeStats,computeZScore,detectAnomalies,detectErrorRateAnomaly",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cbdab11d1ca9b5f9",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "primary",
      "name": "detector",
      "normalized_name": "detector",
      "package_manager": "pnpm",
      "path": "lib/anomaly/detector.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,observability,automation",
      "component_id": "bb34f271480d1cabf507456a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/anomaly/detector, vitest | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "041b5dc2eb2b4425",
      "framework": "next-react",
      "imports": "@/lib/anomaly/detector,vitest",
      "lines": 191,
      "logic_relevance": "primary",
      "name": "detector.test",
      "normalized_name": "detector",
      "package_manager": "pnpm",
      "path": "lib/anomaly/__tests__/detector.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "0a663a790c8e72b325ada95f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../baselines, @/lib/db, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "623e75eadbf5e385",
      "framework": "next-react",
      "imports": "../baselines,@/lib/db,vitest",
      "lines": 383,
      "logic_relevance": "primary",
      "name": "baselines.test",
      "normalized_name": "baselines",
      "package_manager": "pnpm",
      "path": "lib/anomaly/__tests__/baselines.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "da06026b2e20e178f5329907",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MonitorIncident, MonitorIncidentSeverity, MonitorIncidentStatus | imports:@/lib/db, @aws-sdk/lib-dynamodb | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MonitorIncident,MonitorIncidentSeverity,MonitorIncidentStatus",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7d2d5f605d01044a",
      "framework": "next-react",
      "imports": "@/lib/db,@aws-sdk/lib-dynamodb",
      "lines": 141,
      "logic_relevance": "primary",
      "name": "incidents",
      "normalized_name": "incidents",
      "package_manager": "pnpm",
      "path": "lib/monitor/incidents.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,observability,discovery",
      "component_id": "d4ee769e2ca51d35bf19310e",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:extractSafeVercelRequestMetadata, extractSafeVercelResponseMetadata | imports:crypto | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "extractSafeVercelRequestMetadata,extractSafeVercelResponseMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bc9f8b45273c8510",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 64,
      "logic_relevance": "secondary",
      "name": "vercel-metadata",
      "normalized_name": "vercel-metadata",
      "package_manager": "pnpm",
      "path": "lib/monitor/vercel-metadata.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,observability",
      "component_id": "9d9cd67b321dede45c67bbbe",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:withTimeout | logic-score:60 | observability-score:55",
      "exports": "withTimeout",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a70d9fa12cd21f01",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "timeout",
      "normalized_name": "timeout",
      "package_manager": "pnpm",
      "path": "lib/monitor/timeout.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "1157ec7b0673ab44756254db",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MONITOR_API_ENDPOINTS, MONITOR_BASE_URL, MONITOR_INTEGRATIONS, MONITOR_PURPOSE, MONITOR_SERVICE, PUBLIC_UI_PATHS, REQUIRED_TRUST_POLICY_LINE, STANDARD_ROUTE_PATHS | imports:@/lib/version | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "MONITOR_API_ENDPOINTS,MONITOR_BASE_URL,MONITOR_INTEGRATIONS,MONITOR_PURPOSE,MONITOR_SERVICE,PUBLIC_UI_PATHS,REQUIRED_TRUST_POLICY_LINE,STANDARD_ROUTE_PATHS,getMonitorIdentity",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a5b37e2ec365d097",
      "framework": "next-react",
      "imports": "@/lib/version",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/monitor/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "46d0edc80caefa72cb9ed98c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MonitorRouteCheck, isTrustedPlatphormUrl | imports:./constants, ./trace | logic-score:85 | observability-score:55",
      "exports": "MonitorRouteCheck,isTrustedPlatphormUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3dca09f3cd41c765",
      "framework": "next-react",
      "imports": "./constants,./trace",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "checks",
      "normalized_name": "checks",
      "package_manager": "pnpm",
      "path": "lib/monitor/checks.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "14810c0c85726c7cc217f224",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildAtomXml, buildOpenApiYaml, buildRssXml, buildSitemapIndexXml, buildTrustPolicy | imports:./constants, ./system, ./timeout, @/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/tools, @/lib/vercel/infra | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "buildAtomXml,buildOpenApiYaml,buildRssXml,buildSitemapIndexXml,buildTrustPolicy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d614dc27376bcc26",
      "framework": "next-react",
      "imports": "./constants,./system,./timeout,@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/tools,@/lib/vercel/infra",
      "lines": 295,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/monitor/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "989db13b9071ac562de78652",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MonitorSystemHealth, getRateLimitStatusData | imports:./constants, ./vercel-metadata, @/lib/cache, @/lib/db, @/lib/vercel/client, @/lib/vercel/dedup, @/lib/vercel/rate-limiter, @/lib/version | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "MonitorSystemHealth,getRateLimitStatusData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b77ee5ae118cf6f4",
      "framework": "next-react",
      "imports": "./constants,./vercel-metadata,@/lib/cache,@/lib/db,@/lib/vercel/client,@/lib/vercel/dedup,@/lib/vercel/rate-limiter,@/lib/version,@aws-sdk/lib-dynamodb",
      "lines": 211,
      "logic_relevance": "primary",
      "name": "system",
      "normalized_name": "system",
      "package_manager": "pnpm",
      "path": "lib/monitor/system.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8ec27d853dae5d95b95390d0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MonitorSpanInput, MonitorTraceContext, buildPlatphormTraceHeaders, buildPlatphormTraceHeadersFromContext, createMonitorTraceContext | imports:./constants, crypto | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MonitorSpanInput,MonitorTraceContext,buildPlatphormTraceHeaders,buildPlatphormTraceHeadersFromContext,createMonitorTraceContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e6ce95764c0baa8c",
      "framework": "next-react",
      "imports": "./constants,crypto",
      "lines": 113,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/monitor/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,security,automation",
      "component_id": "1e53a70fdccda62c8502d0d9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApexGroup, ProjectGroup, groupDomainsByApex, groupDomainsByProject | imports:@/lib/vercel/types | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "ApexGroup,ProjectGroup,groupDomainsByApex,groupDomainsByProject",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c5f38b66772e1670",
      "framework": "next-react",
      "imports": "@/lib/vercel/types",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "grouping",
      "normalized_name": "grouping",
      "package_manager": "pnpm",
      "path": "lib/domains/grouping.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "6d88750818a090e3e7197871",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./cache-keys, ./client, ./types, @/lib/cache | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23b4608f2e9c1e91",
      "framework": "next-react",
      "imports": "./cache-keys,./client,./types,@/lib/cache",
      "lines": 147,
      "logic_relevance": "secondary",
      "name": "projects",
      "normalized_name": "projects",
      "package_manager": "pnpm",
      "path": "lib/vercel/projects.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "ef6397bae55463bcbd71a1d6",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:extractApexName | imports:./cache-keys, ./client, ./types, @/lib/cache | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "extractApexName",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5398ade1c2c51461",
      "framework": "next-react",
      "imports": "./cache-keys,./client,./types,@/lib/cache",
      "lines": 327,
      "logic_relevance": "secondary",
      "name": "infra",
      "normalized_name": "infra",
      "package_manager": "pnpm",
      "path": "lib/vercel/infra.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "355a02e6d4754eb1bedd62d9",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:AnalyticsQueryParams, EdgeRequestsData | imports:./cache-keys, ./client, ./types, @/lib/cache | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalyticsQueryParams,EdgeRequestsData",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "750c871a946d2033",
      "framework": "next-react",
      "imports": "./cache-keys,./client,./types,@/lib/cache",
      "lines": 159,
      "logic_relevance": "secondary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/vercel/analytics.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "f26cbfda76e91f203f3b1d75",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./cache-keys, ./client, ./types, @/lib/cache | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "293e52a58ac51e65",
      "framework": "next-react",
      "imports": "./cache-keys,./client,./types,@/lib/cache",
      "lines": 155,
      "logic_relevance": "secondary",
      "name": "deployments",
      "normalized_name": "deployments",
      "package_manager": "pnpm",
      "path": "lib/vercel/deployments.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "de7d88b81d76f3e77d84750f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getInflightCount | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "getInflightCount",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "56a6635d7b721293",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "dedup",
      "normalized_name": "dedup",
      "package_manager": "pnpm",
      "path": "lib/vercel/dedup.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "966785b6acd4e5e22427596c",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:RateLimitError, VercelApiError | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "RateLimitError,VercelApiError",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2774980bea9737be",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "secondary",
      "name": "retry",
      "normalized_name": "retry",
      "package_manager": "pnpm",
      "path": "lib/vercel/retry.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "9794decbab1a8e554f1066c5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./cache-keys, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3b132d86b994202",
      "framework": "next-react",
      "imports": "./cache-keys,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "cache-keys.bench",
      "normalized_name": "cache-keys-bench",
      "package_manager": "pnpm",
      "path": "lib/vercel/cache-keys.bench.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security,ai",
      "component_id": "ed64e9c744a8f64b456e1add",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:AnalyticsDataPoint, AnalyticsGroupBy, AnalyticsMetric, DeploymentEvent, DeploymentState, DomainConfig, FirewallAction, FirewallCondition | automation-score:95 | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnalyticsDataPoint,AnalyticsGroupBy,AnalyticsMetric,DeploymentEvent,DeploymentState,DomainConfig,FirewallAction,FirewallCondition,FirewallConfig,FirewallConfigInner,FirewallConfigResponse,FirewallRule,FirewallRuleAction,GitLink,GitSource,InfraSummary,Notification,NotificationSeverity,NotificationType,ProjectDomainInfo,VercelAlias,VercelDeployment,VercelDeploymentInfra,VercelDomain,VercelInfraSnapshot,VercelProject,VercelProjectInfra",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6b84ca2c565c5282",
      "framework": "next-react",
      "imports": "",
      "lines": 292,
      "logic_relevance": "secondary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/vercel/types.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation,logic,integration,security",
      "component_id": "a7cb96403e7f51aa92d08ab0",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:CACHE_TTL, analyticsEdgeKey, analyticsWebKey, deploymentDetailKey, deploymentListKey, domainConfigKey, firewallKey, hashParams | automation-score:95 | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "CACHE_TTL,analyticsEdgeKey,analyticsWebKey,deploymentDetailKey,deploymentListKey,domainConfigKey,firewallKey,hashParams,infraSnapshotKey,projectDetailKey,projectDomainsKey,projectListKey,teamDomainsKey",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b46dcf69889f614d",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "secondary",
      "name": "cache-keys",
      "normalized_name": "cache-keys",
      "package_manager": "pnpm",
      "path": "lib/vercel/cache-keys.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "76de35b2a97c83e0f1becab1",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:RateLimitStatus, RateLimiter, vercelRateLimiter | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "RateLimitStatus,RateLimiter,vercelRateLimiter",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e7a8d2138697bd5",
      "framework": "next-react",
      "imports": "",
      "lines": 148,
      "logic_relevance": "secondary",
      "name": "rate-limiter",
      "normalized_name": "rate-limiter",
      "package_manager": "pnpm",
      "path": "lib/vercel/rate-limiter.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "00ffb65fea22af2a327884fb",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:./cache-keys, ./client, ./types, @/lib/cache | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e5c96982980211b9",
      "framework": "next-react",
      "imports": "./cache-keys,./client,./types,@/lib/cache",
      "lines": 147,
      "logic_relevance": "secondary",
      "name": "domains",
      "normalized_name": "domains",
      "package_manager": "pnpm",
      "path": "lib/vercel/domains.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "50e305db51a823caecbdf7a0",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VercelApiConfig, VercelResponseMeta, clampDeploymentsPerProject, getLastResponseMeta, getVercelApiConfig | imports:./dedup, ./rate-limiter, ./retry, @/lib/cache, @/lib/monitor/trace | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "VercelApiConfig,VercelResponseMeta,clampDeploymentsPerProject,getLastResponseMeta,getVercelApiConfig",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f9acb025773e0d5",
      "framework": "next-react",
      "imports": "./dedup,./rate-limiter,./retry,@/lib/cache,@/lib/monitor/trace",
      "lines": 224,
      "logic_relevance": "secondary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/vercel/client.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "67a8dbddd564cc6f71985cff",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:FirewallChangeRecord, normalizeFirewallConfig | imports:./cache-keys, ./client, ./types, @/lib/cache, @/lib/db, @/lib/logger, @aws-sdk/lib-dynamodb | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "FirewallChangeRecord,normalizeFirewallConfig",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2ce044d9181fb7b9",
      "framework": "next-react",
      "imports": "./cache-keys,./client,./types,@/lib/cache,@/lib/db,@/lib/logger,@aws-sdk/lib-dynamodb",
      "lines": 173,
      "logic_relevance": "secondary",
      "name": "firewall",
      "normalized_name": "firewall",
      "package_manager": "pnpm",
      "path": "lib/vercel/firewall.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "5ac2cee0db7f69c6f1d150b0",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/client, @/lib/vercel/firewall, @/lib/vercel/types, vitest | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e4843c5a9bc2285f",
      "framework": "next-react",
      "imports": "@/lib/vercel/client,@/lib/vercel/firewall,@/lib/vercel/types,vitest",
      "lines": 204,
      "logic_relevance": "secondary",
      "name": "firewall.test",
      "normalized_name": "firewall",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/firewall.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "412fd0f3c348008806561041",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/retry, vitest | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "22558259cd647116",
      "framework": "next-react",
      "imports": "@/lib/vercel/retry,vitest",
      "lines": 144,
      "logic_relevance": "secondary",
      "name": "retry.test",
      "normalized_name": "retry",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/retry.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "acabf96864a4377c5e84af97",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/rate-limiter, vitest | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1dbe496dd1970065",
      "framework": "next-react",
      "imports": "@/lib/vercel/rate-limiter,vitest",
      "lines": 104,
      "logic_relevance": "secondary",
      "name": "rate-limiter.test",
      "normalized_name": "rate-limiter",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/rate-limiter.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "9bc1c46027b8244157b134fc",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/analytics, @/lib/vercel/client, vitest | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0bffc9aacb3b1bc6",
      "framework": "next-react",
      "imports": "@/lib/vercel/analytics,@/lib/vercel/client,vitest",
      "lines": 178,
      "logic_relevance": "secondary",
      "name": "analytics.test",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/analytics.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "b5d1ff1295744285bb59d640",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/cache, @/lib/vercel/client, @/lib/vercel/deployments, vitest | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f74c0255098fb68",
      "framework": "next-react",
      "imports": "@/lib/cache,@/lib/vercel/client,@/lib/vercel/deployments,vitest",
      "lines": 182,
      "logic_relevance": "secondary",
      "name": "deployments.test",
      "normalized_name": "deployments",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/deployments.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic,integration,security",
      "component_id": "06e9d4749165a1e8b6d2cec4",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/dedup, vitest | automation-score:95 | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d7a3ba89da9dbcf1",
      "framework": "next-react",
      "imports": "@/lib/vercel/dedup,vitest",
      "lines": 101,
      "logic_relevance": "secondary",
      "name": "dedup.test",
      "normalized_name": "dedup",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/dedup.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability",
      "component_id": "f9094d33e8397b29d54e984f",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:vitest | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c1fbacea235599ba",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "infra.test",
      "normalized_name": "infra",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/infra.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic,integration",
      "component_id": "c05e88cd0eb5ab4e99f25d1f",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/client, vitest | automation-score:95 | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "12bf0d7e5af63ae2",
      "framework": "next-react",
      "imports": "@/lib/vercel/client,vitest",
      "lines": 50,
      "logic_relevance": "secondary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/client.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "bcad29806196f345de9b402e",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/vercel/cache-keys, vitest | automation-score:95 | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d428f61ef8687339",
      "framework": "next-react",
      "imports": "@/lib/vercel/cache-keys,vitest",
      "lines": 104,
      "logic_relevance": "secondary",
      "name": "cache-keys.test",
      "normalized_name": "cache-keys",
      "package_manager": "pnpm",
      "path": "lib/vercel/__tests__/cache-keys.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,security,automation",
      "component_id": "07ad09dee06945325546affc",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/vercel/types, @aws-sdk/lib-dynamodb | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb91ba7caa2caa74",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/vercel/types,@aws-sdk/lib-dynamodb",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/snapshots/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,observability,security",
      "component_id": "e12cb06366b469afb28273fb",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb,nanoid",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/anomaly/detector, @/lib/db, @aws-sdk/lib-dynamodb, nanoid | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d77574855d8ad34e",
      "framework": "next-react",
      "imports": "@/lib/anomaly/detector,@/lib/db,@aws-sdk/lib-dynamodb,nanoid",
      "lines": 243,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/anomalies/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "c9311fc4a8af0ae9724323b6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getResourceDefinitions, readResource | imports:./manifest, ./types, @/lib/version | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "getResourceDefinitions,readResource",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2f8eec0e50876937",
      "framework": "next-react",
      "imports": "./manifest,./types,@/lib/version",
      "lines": 129,
      "logic_relevance": "primary",
      "name": "resources",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,integration,observability,security,automation",
      "component_id": "dc99a621cac1ee7124cc09ea",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MCP_PROMPTS, McpPromptDefinition, getPrompt | ai-score:120 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MCP_PROMPTS,McpPromptDefinition,getPrompt",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "323d6d57cc11ec82",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "7e9ea79ae09857c5be488d94",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JSON_RPC_ERRORS, JsonRpcErrorResponse, JsonRpcRequest, JsonRpcResponse, JsonRpcSuccessResponse, MCP_PROTOCOL_VERSION, McpCapabilities, McpInitializeResult | logic-score:70 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "JSON_RPC_ERRORS,JsonRpcErrorResponse,JsonRpcRequest,JsonRpcResponse,JsonRpcSuccessResponse,MCP_PROTOCOL_VERSION,McpCapabilities,McpInitializeResult,McpResourceContent,McpResourceDefinition,McpServerInfo,McpToolContent,McpToolDefinition,McpToolInputSchema,McpToolResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a51b12827ead7ba9",
      "framework": "next-react",
      "imports": "",
      "lines": 119,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/mcp/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "b10a35de750ab4ef2a3d80bc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpRegistrationPayload, buildRegistrationPayload | imports:./manifest, ./resources, ./tools, ./types, @/lib/logger, @/lib/version | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "McpRegistrationPayload,buildRegistrationPayload",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8ab757a225ece87d",
      "framework": "next-react",
      "imports": "./manifest,./resources,./tools,./types,@/lib/logger,@/lib/version",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "175025d84e9f13cc78424262",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_TOOLS, buildToolUrl | imports:./types, @/lib/logger | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MCP_TOOLS,buildToolUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c1f01a852bafb241",
      "framework": "next-react",
      "imports": "./types,@/lib/logger",
      "lines": 381,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery",
      "component_id": "1d246bbe040d4cd20427ea15",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getMcpManifest | imports:./types, @/lib/version | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "getMcpManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9d89cb10d6cd64b4",
      "framework": "next-react",
      "imports": "./types,@/lib/version",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "lib/mcp/manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation",
      "component_id": "ca55b6cfc5d19bfc9fb85fec",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./client, @/lib/logger | logic-score:60 | integration-score:55 | observability-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f6be247bc156195",
      "framework": "next-react",
      "imports": "./client,@/lib/logger",
      "lines": 35,
      "logic_relevance": "primary",
      "name": "register",
      "normalized_name": "register",
      "package_manager": "pnpm",
      "path": "lib/mcp/register.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "8e6268bf3524ee9795f63cc6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./prompts, ./resources, ./tools, ./types, @/lib/logger, @/lib/version | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7982b51b363d52be",
      "framework": "next-react",
      "imports": "./prompts,./resources,./tools,./types,@/lib/logger,@/lib/version",
      "lines": 213,
      "logic_relevance": "primary",
      "name": "handler",
      "normalized_name": "handler",
      "package_manager": "pnpm",
      "path": "lib/mcp/handler.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery",
      "component_id": "55e4e4ebe808aaa1b610a45c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../manifest, ../types, @/lib/version, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "adc22ee6710e47cd",
      "framework": "next-react",
      "imports": "../manifest,../types,@/lib/version,vitest",
      "lines": 72,
      "logic_relevance": "primary",
      "name": "manifest.test",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/manifest.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation",
      "component_id": "b3799798b709284224dfc678",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../client, ../register, vitest | logic-score:60 | integration-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cbd64558bdede9b2",
      "framework": "next-react",
      "imports": "../client,../register,vitest",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "register.test",
      "normalized_name": "register",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/register.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,security",
      "component_id": "815956ae39c282d3d2a05d99",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../types, vitest | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c14a372d32f4012",
      "framework": "next-react",
      "imports": "../types,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "types.test",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,security",
      "component_id": "a3e9ccb49d6a0d7c003e0f3d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE | imports:../resources, @/lib/version, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "BASE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ce12664976d138aa",
      "framework": "next-react",
      "imports": "../resources,@/lib/version,vitest",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "resources.test",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/resources.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "808c3da9569123491aaf1c26",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../tools, vitest | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8569dbb9a951a52a",
      "framework": "next-react",
      "imports": "../tools,vitest",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "tools.test",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/tools.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "33d715c99a5c4c555a9fa281",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE | imports:../handler, ../tools, ../types, @/lib/version, vitest | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BASE",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fb6ba8a6b436d778",
      "framework": "next-react",
      "imports": "../handler,../tools,../types,@/lib/version,vitest",
      "lines": 256,
      "logic_relevance": "primary",
      "name": "handler.test",
      "normalized_name": "handler",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/handler.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "1df0d05b59f559313b579067",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE | imports:../client, ../types, @/lib/version, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "BASE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7f3c7e3126b1c774",
      "framework": "next-react",
      "imports": "../client,../types,@/lib/version,vitest",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/__tests__/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic,security",
      "component_id": "572529224ed80ba6059b6c8c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "faa4757f3864f289",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 291,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "95b7ca75f2e8a9825ccdab8e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../cache, ../db, ../logger, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "78cedbe01d7da801",
      "framework": "next-react",
      "imports": "../cache,../db,../logger,vitest",
      "lines": 281,
      "logic_relevance": "primary",
      "name": "cache.test",
      "normalized_name": "cache",
      "package_manager": "pnpm",
      "path": "lib/__tests__/cache.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend",
      "component_id": "adb07c3da013419a41f9a328",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MOCK_TIME, MOCK_TIME_SECONDS | imports:../db, vitest | logic-score:85 | backend-score:55",
      "exports": "MOCK_TIME,MOCK_TIME_SECONDS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "097d3f572c4f41e3",
      "framework": "next-react",
      "imports": "../db,vitest",
      "lines": 146,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/__tests__/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "50b745648181641373b52120",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/version, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fb73f3be4876cfb3",
      "framework": "next-react",
      "imports": "@/lib/version,vitest",
      "lines": 35,
      "logic_relevance": "primary",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/__tests__/version.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "002ba82835b62e53fcf16491",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ac5cb6f12bd352f3",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/__tests__/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,integration,observability,automation",
      "component_id": "202eb3c5848b459a17eafea8",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../db, ../../webhooks/store, vitest | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7dbec65cf187f211",
      "framework": "next-react",
      "imports": "../../db,../../webhooks/store,vitest",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "store.test",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/__tests__/webhooks/store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "4e8ccab93fe1c2a66edb40d4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiBadRequest, apiError, apiForbidden, apiNotFound, apiOk, apiRateLimited, apiUnauthorized | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "apiBadRequest,apiError,apiForbidden,apiNotFound,apiOk,apiRateLimited,apiUnauthorized",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "890bb8334adb49c9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "2aa2b901d39f5e7a2e7fab4f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateApiKey, validateCronAuth, validateN8nAuth | imports:@/lib/logger, crypto, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "validateApiKey,validateCronAuth,validateN8nAuth",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1c2263895cb1d3eb",
      "framework": "next-react",
      "imports": "@/lib/logger,crypto,next/server",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/api/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,automation",
      "component_id": "24b8451ccfba24f043767c0d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api/auth, next/server, vitest | logic-score:85 | backend-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "896d9e350f3ae2c7",
      "framework": "next-react",
      "imports": "@/lib/api/auth,next/server,vitest",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/api/__tests__/auth.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "9379cbde82a7436e557f89f1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api/response, vitest | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2c13cc39357e4794",
      "framework": "next-react",
      "imports": "@/lib/api/response,vitest",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "response.test",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/__tests__/response.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation",
      "component_id": "70d7212660720fd7e906c9a6",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@vercel/functions,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:JA4_ATLAS_URL | imports:@vercel/functions, next/server | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | uses-env",
      "exports": "JA4_ATLAS_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "535a72bc3a8a1bcb",
      "framework": "next-react",
      "imports": "@vercel/functions,next/server",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/ja4/client.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "cf41bcc3f9093911f79846cc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:verifyVercelWebhookSignature | imports:@/lib/logger, crypto | logic-score:60 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "verifyVercelWebhookSignature",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b197efe969f57ae",
      "framework": "next-react",
      "imports": "@/lib/logger,crypto",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "verify",
      "normalized_name": "verify",
      "package_manager": "pnpm",
      "path": "lib/webhooks/verify.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation",
      "component_id": "ddae654d5d7b6473e52155a7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OutboundEvent | imports:@/lib/logger, @/lib/version | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "OutboundEvent",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "960c27f9f5a77361",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/version",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "outbound",
      "normalized_name": "outbound",
      "package_manager": "pnpm",
      "path": "lib/webhooks/outbound.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,integration,security,automation",
      "component_id": "8333381e83ef4c382a89b319",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb,nanoid",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WebhookEvent, WebhookSource, _mapWebhookItem | imports:@/lib/db, @aws-sdk/lib-dynamodb, nanoid | logic-score:85 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "WebhookEvent,WebhookSource,_mapWebhookItem",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7026726a8718e379",
      "framework": "next-react",
      "imports": "@/lib/db,@aws-sdk/lib-dynamodb,nanoid",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/webhooks/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,security,automation",
      "component_id": "b73c3e6aec401bd70ea8e022",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/webhooks/store, vitest | logic-score:85 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "803a8d6fa19e5bb9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/webhooks/store,vitest",
      "lines": 313,
      "logic_relevance": "primary",
      "name": "store.test",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/webhooks/__tests__/store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "6465255a7f91c0524600e5c5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/webhooks/outbound, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8dcd4ba67a973b18",
      "framework": "next-react",
      "imports": "@/lib/webhooks/outbound,vitest",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "outbound.test",
      "normalized_name": "outbound",
      "package_manager": "pnpm",
      "path": "lib/webhooks/__tests__/outbound.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security,automation",
      "component_id": "d3f9dd34077370b86f85671d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,crypto,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/webhooks/verify, crypto, vitest | logic-score:60 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a7ab0efc8447087",
      "framework": "next-react",
      "imports": "@/lib/webhooks/verify,crypto,vitest",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "verify.test",
      "normalized_name": "verify",
      "package_manager": "pnpm",
      "path": "lib/webhooks/__tests__/verify.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0401708b8d64c63813eb68e0",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,@aws-sdk/lib-dynamodb,nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:subscribe | imports:@/lib/db, @/lib/logger, @/lib/vercel/types, @aws-sdk/lib-dynamodb, nanoid | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "subscribe",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8760e93451e0b78e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/vercel/types,@aws-sdk/lib-dynamodb,nanoid",
      "lines": 481,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/notifications/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "logic,automation",
      "component_id": "e3aacd23c914844df7009843",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LISTENER_COUNT | imports:@/lib/notifications/store, @/lib/vercel/types, vitest | logic-score:85 | automation-score:45",
      "exports": "LISTENER_COUNT",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "893e2a4dede3103a",
      "framework": "next-react",
      "imports": "@/lib/notifications/store,@/lib/vercel/types,vitest",
      "lines": 303,
      "logic_relevance": "primary",
      "name": "store.test",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/notifications/__tests__/store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-monitor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "284f4341a335d6a70f917fa9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d62d8e91a28ac912",
      "framework": "next-react",
      "imports": "",
      "lines": 6070,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "039b520bbbdf5ccf4d779497",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e3d0be13ab5c580",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "447accee17107fd3a6c51bda",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7031e98b72ff4451",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e8c135757d5e9924c69778ad",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "503336cfbf0bad41",
      "framework": "next-react",
      "imports": "",
      "lines": 675,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2e6e4216ff3d5e070d3db940",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56966a7cfd272883",
      "framework": "next-react",
      "imports": "",
      "lines": 8847,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6cce80bf864827665aa40ebd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "de1db0523c4cc609",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "b5eed13d2f157deac3958e3c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "16d893f5c2ff297d",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 52,
      "logic_relevance": "none",
      "name": "vitest.setup",
      "normalized_name": "vitest-setup",
      "package_manager": "pnpm",
      "path": "vitest.setup.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "discovery,automation",
      "component_id": "b1b9dc13c59edba965420516",
      "component_kind": "sitemap",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:./sitemap, vitest | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6985c5339d316939",
      "framework": "next-react",
      "imports": "./sitemap,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "febe3c10422fce056d078c11",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/platform/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7974b4f9ba6afd1",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next",
      "lines": 6,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation",
      "component_id": "ae66e7a05fe0642cf37f3158",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @/components/ui/sonner, @/lib/platform/discovery, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63335a5755b060b9",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/components/ui/sonner,@/lib/platform/discovery,@vercel/analytics/next,next,next/font/google",
      "lines": 80,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "19faa021f78f3a1025d064c1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/msi/empty-state, @/components/msi/graph-tree-viewer, @/components/msi/header, @/components/msi/integration-panel, @/components/msi/summary-panel, @/components/msi/table-list, @/components/msi/table-viewer, @/components/msi/tree-view | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "924b284b4d7a9099",
      "framework": "next-react",
      "imports": "@/components/msi/empty-state,@/components/msi/graph-tree-viewer,@/components/msi/header,@/components/msi/integration-panel,@/components/msi/summary-panel,@/components/msi/table-list,@/components/msi/table-viewer,@/components/msi/tree-view,@/components/ui/resizable,@/components/ui/tabs,@/lib/msi-context,@/lib/utils,lucide-react,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "5916572d92f6ea259c31eb7e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a81817f390efa083d025d8a0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemoPage, metadata | imports:@/components/msi/pages/static-info-page, @/lib/msi/operations, next | frontend-score:115 | ui-score:55",
      "exports": "DemoPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "337fd9fb80ca327e",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,@/lib/msi/operations,next",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/demo/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "d18d07966426fe6504596891",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76404cbed1a3d826",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "48680a82a38780ced1df843b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "abb48f89b0f350be",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8f4209f0e7286f115c496b40",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/rss.xml/route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "86478e29e89a67f1",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "6cebe0f26e0d9cc0af351e2d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TablesPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TablesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca4770083e4d8f06",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tables/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f0973ba2caa32732d38924e7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "324ec13bb7403618",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "81a5b8984c22b33b171c898f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9ae5eb40dff61f9",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "83770602620e3f88c4191008",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/msi/pages/static-info-page, @/lib/platform/constants, @/lib/platform/discovery, next | frontend-score:115 | ui-score:55",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "261985a254aebf0a",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,@/lib/platform/constants,@/lib/platform/discovery,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "854a70e5808d3e3e0f9d3fa0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "69eedc67e135b89f",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "04032cc74a72e998d1ab6d46",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "045ab1e8c8188b23",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "747ccb81b4dace3fb37448b7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/constants | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f033e7607a9dbb07",
      "framework": "next-react",
      "imports": "@/lib/platform/constants",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,ai",
      "component_id": "606bef5d06f970c96c7edf46",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9adfedc1e9297ba3",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "b41161e54ccf6d6bc0863347",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea3160fa96bd0b23",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "7eb7e57734783616e86710f9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "032e5e8f14abdb29",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,process,ui,security,ai",
      "component_id": "a0f9247953344be2aa803cfd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/msi/pages/static-info-page, @/lib/platform/constants, next | frontend-score:115 | process-score:80 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a0e9b8348ebb4f2",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,@/lib/platform/constants,next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a934f46ac9bf74eb9af9aa28",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55",
      "exports": "SearchPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "700e852464f21b38",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "2b296382f836dc7350cda191",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca415e68ed18e2f3",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability",
      "component_id": "4ac7298efa779146fe755af9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsPage, metadata | imports:@/components/msi/pages/static-info-page, @/lib/platform/constants, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "IntegrationsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ae3e3f40d4597ea",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,@/lib/platform/constants,next",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/integrations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "d92623217f1d3aafe630812e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ViewerPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "ViewerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ac1bb56b25797453",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/viewer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "466aa60cc94a8db760681782",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5418af44a3b4a8e4",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/demo/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "30cf007e05b3fdcf86bdc81f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4d6fbd40a3314025",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/tables/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "330ca63f10698bf41a6d952b",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9fc152b0b48c4e6a",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/tables/[tableName]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6b6716bd2a372329f7b4d2d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/analysis, @/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e55370d314c3a15b",
      "framework": "next-react",
      "imports": "@/lib/msi/analysis,@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/security/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "bbaa859333534985f1c4a871",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi-parser, @/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "73355fc9f6f3216f",
      "framework": "next-react",
      "imports": "@/lib/msi-parser,@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/parse/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7d79b65b2e96b53f044d4d83",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4f28d9d56bf4aaa",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "cddfb1d40ab12515cd971ec7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/analysis, @/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "abc4d2120e091172",
      "framework": "next-react",
      "imports": "@/lib/msi/analysis,@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c514d5c65135f0aa835de066",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cd917e0d1dc12540",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/export/xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ed7403eb87d9667ca0789213",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "445c59eed2dce36a",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/export/json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d50eb189777e92a3d3d47b4f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c30fef82a05a143",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/export/csv/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c83b330f4228a915dec0fc5a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62dbc70757b60445",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/export/sql/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "eddde6abdb897320b14b7823",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "455bc18d0736be61",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/msi/summary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "81b28d71d1a31ec5b7ae30ed",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83d26e379dc83dfd",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "da04975d70e2e9c324596b3a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/app",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/v1/msi/parse/route | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7822c0488e0d7c66",
      "framework": "next-react",
      "imports": "@/app/api/v1/msi/parse/route",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/parse/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "43b4449f0fa7e22809877e9b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd4e8bf68e16772b",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/svg/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0418f3c42c694895c94bd327",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "345d28d4a2f57f83",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "b68b2f2ab235bdece1d70af5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/constants, @/lib/platform/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "51edd64262591b0e",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/response",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c37af86cafbc4bc22cf97b8a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eb9ff2aab79de58c",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4818c58b1b9c4becdee31bc7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a25852854c142664",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f4f65d867b4961d6d08e1caf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/operations, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa3afbc45b4304a6",
      "framework": "next-react",
      "imports": "@/lib/msi/operations,@/lib/platform/response,@/lib/platform/trace",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b4368f7b778a76c7bc0d99cd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6bb6d81942103729",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d12e8ef3c77dd57242b45155",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, @/lib/platform/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "101e21bd93af8974",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/platform/response",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "53025d5aa9b9f212bcfa60c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/msi/analysis, @/lib/msi/operations, @/lib/platform/auth, @/lib/platform/constants, @/lib/platform/discovery, @/lib/platform/trace | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c0b8a0f5bcf1164",
      "framework": "next-react",
      "imports": "@/lib/msi/analysis,@/lib/msi/operations,@/lib/platform/auth,@/lib/platform/constants,@/lib/platform/discovery,@/lib/platform/trace",
      "lines": 387,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "8bd371e7be4b6599273c6aac",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f41ad0a898c6e94a",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "b217c295a41352dd23e1022c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, @/app/api/events/route, @/app/api/health/route, @/app/api/v1/integrations/status/route, @/app/api/v1/msi/analyze/route, @/app/api/v1/msi/demo/route, @/app/api/v1/msi/export/json/route, @/app/api/v1/msi/search/route | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b63c4b6cde1daaa",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/app/api/events/route,@/app/api/health/route,@/app/api/v1/integrations/status/route,@/app/api/v1/msi/analyze/route,@/app/api/v1/msi/demo/route,@/app/api/v1/msi/export/json/route,@/app/api/v1/msi/search/route,@/app/api/webhooks/route,vitest",
      "lines": 127,
      "logic_relevance": "none",
      "name": "api-endpoints.test",
      "normalized_name": "api-endpoints",
      "package_manager": "pnpm",
      "path": "app/api/__tests__/api-endpoints.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "20268183aa2c8ad91a7add12",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/platform/constants, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8ff6a6ceebd8de",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/platform/constants,vitest",
      "lines": 189,
      "logic_relevance": "none",
      "name": "mcp-route.test",
      "normalized_name": "mcp-route",
      "package_manager": "pnpm",
      "path": "app/api/__tests__/mcp-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "e263602e69129d9acba82add",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53d34a891bab452c",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 272,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "app/api/__tests__/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "a5f045bf10622b718df72eb7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7bedad158547f65c",
      "framework": "next-react",
      "imports": "@/lib/platform/response",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "c6b786f5e36946c48479a0cc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9d94529e2efe42b4",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,observability,security",
      "component_id": "9affa3874d74b12991ad26d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/discovery, @/lib/platform/response, @/lib/platform/trace | backend-score:125 | automation-score:95 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "97e0c257982ca71f",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/discovery,@/lib/platform/response,@/lib/platform/trace",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8239ad20d62166c688134f0f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cb6fee6085ccbd2a",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "5233d4d3ba6239cde14b85e7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyzePage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55",
      "exports": "AnalyzePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89c33a78997e796c",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analyze/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "cf33ed3500621cd7677adbc5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d3299d3f1593a2c3",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "7592f33dc48f6afd9618b2c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65e7fa6e0a2a8d31",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "5053ff737bb3ed534d5503a1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "73db1506c47fe000",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "adb875d23beaae112f3894af",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExportPage, metadata | imports:@/components/msi/pages/static-info-page, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ExportPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3727e774c99250a6",
      "framework": "next-react",
      "imports": "@/components/msi/pages/static-info-page,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/export/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "17a2d63d62ad61291af50b99",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/constants | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5369202ef5eefba4",
      "framework": "next-react",
      "imports": "@/lib/platform/constants",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "cc16e33b00aad74068318161",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f41ad0a898c6e94a",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "bc961d5872ec7ddfb43867bf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "283ddfe61ef5ac7fbd23c05f",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6f9cedb5c8987a6603d227d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "62bad835b8bd8bdd3acc0e6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6598499a3c682e138cfcce6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9fe80601d17d474d523dc2a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8bfae934c231a945e7ec5530",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "aaccdbf9e78f1256bde64c38",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9de470d6a9230f7586885b25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "1d8a54313fd7010fd4b1f9f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2dd01edbe2dfd6cfc6eef804",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6e5ddcdac6558337d189e28d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "f5bc628813247db3578f8ae7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "cb95f0ed860a630db7afd31b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "37f0055ce75c9bb456753999",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "76a0026d427c6bec2e254756",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4a0047d829dfb61c5fcd80a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "98093bfd2866f91f4f8129d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "216274dc996ed0d77bbabdb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3812c72064f4c2430c33c0de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "afe35d3495a8d07a12b976d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4bdcf98b17aa16f06e26702e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a91996663969f76085c893c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b19ca99242d1dd75b5c37477",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "49f5bca54a8b498dfa513cdd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b0076b65528bc408b5a9e932",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d4b6965fc3ea7930411b9d3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "975a3622a36888067a7ce26e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a70114205871487cd20c075b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "0a9080a5519f0c26f2f9ffe6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bf3569c3895a6e7c078fe68a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "43a4eb3a97049116abc7f722",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0edc2940cc4ad6c00c1505a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9096c3dba1a98f1e371a0e04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a235e292a66d747ec08eb9ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b996567a6d3949628bfb2a9b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fc1642782129c38b947c64ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "0bc4a09ef52ca309ec4832ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "144974d68b56bf6d6e652dba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "51b4a383fb52463b5a1f66d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4c998590a3d127907cab0ceb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5eae745a2b6658f744538397",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0a2b4c4fc0a9287946cf24d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9194df0a87f5aa5b8fe181f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "56f478d0303939006f140f62",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ed91ef2824b1bee8c01e6a36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "03aa3e2c13dc90f78a6a1c52",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7433f77056fd8a11f4dbe393",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c2eaa1c1745f4f1a15447357",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "4232df5dc549e84c37e6385c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "bdf33bc6baf78ae6dd2a1b92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "270c6667d94f57ff50b47b7b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6ba3e91cf1fbc72d6d984487",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0f61cf590d28126c062bd76d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a4f2f00d527a6e5f682665a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b8c84542cc4e5afb20a4a0a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "430947b93ab89567ab8faf06",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "f1f8bd8998231ad869a336af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3cd9ef93abba99fe2c32e046",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bbebed1d8f3647b863f76340",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TableViewer | imports:@/components/ui/alert-dialog, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/table, @/components/ui/tooltip | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TableViewer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29c6247bd98a2941",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/table,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,@/lib/utils,lucide-react,react,sonner",
      "lines": 525,
      "logic_relevance": "none",
      "name": "table-viewer",
      "normalized_name": "table-viewer",
      "package_manager": "pnpm",
      "path": "components/msi/table-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f3c5a8b74ab92729a8318e39",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TreeView | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/tooltip, @/lib/msi-context, @/lib/msi-parser, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TreeView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d155e294c32af16a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,@/lib/utils,lucide-react,react",
      "lines": 319,
      "logic_relevance": "none",
      "name": "tree-view",
      "normalized_name": "tree-view",
      "package_manager": "pnpm",
      "path": "components/msi/tree-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "852517b4355a5b0c17162913",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SummaryPanel | imports:@/components/ui/accordion, @/components/ui/badge, @/components/ui/card, @/components/ui/scroll-area, @/components/ui/separator, @/components/ui/tooltip, @/lib/msi-context, @/lib/msi/analysis | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SummaryPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f69d742069a9fce5",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/badge,@/components/ui/card,@/components/ui/scroll-area,@/components/ui/separator,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi/analysis,date-fns,lucide-react,react",
      "lines": 531,
      "logic_relevance": "none",
      "name": "summary-panel",
      "normalized_name": "summary-panel",
      "package_manager": "pnpm",
      "path": "components/msi/summary-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "04b1511315f46954bc5396a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TableList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/scroll-area, @/components/ui/switch, @/components/ui/tooltip, @/lib/msi-context | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TableList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf5e9fad583e7baa",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/scroll-area,@/components/ui/switch,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,@/lib/utils,lucide-react,react",
      "lines": 343,
      "logic_relevance": "none",
      "name": "table-list",
      "normalized_name": "table-list",
      "package_manager": "pnpm",
      "path": "components/msi/table-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c9fe9254eb948f5dca93a6a3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmptyState | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/msi-context, @/lib/msi-parser, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "EmptyState",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6ff2b8244f4e51b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,@/lib/utils,lucide-react,next/link,react,sonner",
      "lines": 327,
      "logic_relevance": "none",
      "name": "empty-state",
      "normalized_name": "empty-state",
      "package_manager": "pnpm",
      "path": "components/msi/empty-state.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "b4bfe604290d33909658d1a7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:GraphNode, GraphTreeViewer, buildDatabaseGraph, buildDirectoryGraph, buildFeatureGraph, buildRelationshipsGraph, buildTablesOnlyGraph, layoutTree | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/select, @/components/ui/tooltip, @/lib/msi-context, @/lib/msi-parser, @/lib/utils | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "GraphNode,GraphTreeViewer,buildDatabaseGraph,buildDirectoryGraph,buildFeatureGraph,buildRelationshipsGraph,buildTablesOnlyGraph,layoutTree",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "580235f322d2b9bf",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/select,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,@/lib/utils,lucide-react,react",
      "lines": 1194,
      "logic_relevance": "none",
      "name": "graph-tree-viewer",
      "normalized_name": "graph-tree-viewer",
      "package_manager": "pnpm",
      "path": "components/msi/graph-tree-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ec787bc5b6c6ebf209da5837",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/tooltip, @/lib/msi-context, @/lib/msi-parser, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4caac917930bc8b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,lucide-react,next-themes,next/link,react,sonner",
      "lines": 507,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/msi/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "3420e5ee962f1fad6f4c01d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/tabs, @/components/ui/textarea, @/components/ui/tooltip | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "IntegrationPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "856037e164f25bd2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/tooltip,@/lib/msi-context,@/lib/msi-parser,lucide-react,next/link,react,sonner",
      "lines": 523,
      "logic_relevance": "none",
      "name": "integration-panel",
      "normalized_name": "integration-panel",
      "package_manager": "pnpm",
      "path": "components/msi/integration-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "79bd888708d0fd6ddc4a1ebd",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/mcp-client, @/lib/msi-context, @/lib/msi-parser, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a615d553a075dd9d",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,@/lib/msi-context,@/lib/msi-parser,@testing-library/react,vitest",
      "lines": 330,
      "logic_relevance": "none",
      "name": "integration-panel.test",
      "normalized_name": "integration-panel",
      "package_manager": "pnpm",
      "path": "components/msi/__tests__/integration-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "cc9a3c3f8de147c59dd47b5a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react,vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/msi-context, @/lib/msi-parser, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "293271d9666040c3",
      "framework": "next-react",
      "imports": "@/lib/msi-context,@/lib/msi-parser,@testing-library/react,vitest",
      "lines": 423,
      "logic_relevance": "none",
      "name": "components.test",
      "normalized_name": "components",
      "package_manager": "pnpm",
      "path": "components/msi/__tests__/components.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "52d2d2d8b16ddeaaf4ebbd01",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../graph-tree-viewer, @/lib/msi-parser, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f6b49a705b0b46e",
      "framework": "next-react",
      "imports": "../graph-tree-viewer,@/lib/msi-parser,vitest",
      "lines": 342,
      "logic_relevance": "none",
      "name": "graph-tree-viewer.test",
      "normalized_name": "graph-tree-viewer",
      "package_manager": "pnpm",
      "path": "components/msi/__tests__/graph-tree-viewer.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4a0bfc2b80e8ee6ddb8bbfed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StaticInfoPage | imports:@/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/lib/platform/constants, @/lib/platform/discovery, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StaticInfoPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5851e77cc73ae285",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/lib/platform/constants,@/lib/platform/discovery,lucide-react,next/link",
      "lines": 114,
      "logic_relevance": "none",
      "name": "static-info-page",
      "normalized_name": "static-info-page",
      "package_manager": "pnpm",
      "path": "components/msi/pages/static-info-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,automation",
      "component_id": "cb055486fd2a055cddc4044c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a0bcfe1f18e59297",
      "framework": "next-react",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "e742b31e9c80f681d563b609",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1bf814df6297f499",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,security,automation",
      "component_id": "72f27a80c726fa0d1a7ac1b5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e4bd79fc3b78af57",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "dbb7c726fac72e128a7f7e47",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "67a517a2c1956edd",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "29d9d23ca2e5473ce2319065",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "bb3d4bb2e5531ba4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,ai",
      "component_id": "ae008b39abc4e16a69667a98",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MSIColumn, MSIDatabase, MSIRow, MSISummaryInfo, MSITable, MSI_STANDARD_TABLES, ValidationError, exportToCSV | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "MSIColumn,MSIDatabase,MSIRow,MSISummaryInfo,MSITable,MSI_STANDARD_TABLES,ValidationError,exportToCSV,exportToJSON,exportToSQL,exportToXML,generateDemoMSI",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7bc2167cc1587b37",
      "framework": "next-react",
      "imports": "",
      "lines": 1097,
      "logic_relevance": "primary",
      "name": "msi-parser",
      "normalized_name": "msi-parser",
      "package_manager": "pnpm",
      "path": "lib/msi-parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "fe4cd5f6ae79faec62e58b1f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonRpcError, JsonRpcRequest, JsonRpcResponse, MCPCapabilities, MCPClient, MCPClientError, MCPInitializeResult, MCPPrompt | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JsonRpcError,JsonRpcRequest,JsonRpcResponse,MCPCapabilities,MCPClient,MCPClientError,MCPInitializeResult,MCPPrompt,MCPPromptArgument,MCPPromptMessage,MCPPromptResult,MCPResource,MCPResourceContent,MCPResourceResult,MCPServerInfo,MCPTool,MCPToolInputSchema,MCPToolRegistration,MCPToolRegistry,MCPToolResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c14057037b48ea11",
      "framework": "next-react",
      "imports": "",
      "lines": 375,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "a4f5c5808726cee824d6da13",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,logic",
      "component_id": "fa36b54088aaac0eadf9f99d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MSIProvider, useMSI | imports:./msi-parser, react | frontend-score:90 | ui-score:70 | logic-score:70",
      "exports": "MSIProvider,useMSI",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a0ad519575b4bca",
      "framework": "next-react",
      "imports": "./msi-parser,react",
      "lines": 441,
      "logic_relevance": "secondary",
      "name": "msi-context",
      "normalized_name": "msi-context",
      "package_manager": "pnpm",
      "path": "lib/msi-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "40b8fccc075f93da34ddf66d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ExportFormat, buildExportPayload, buildIntegrationPayload, findTable, getDemoDatabase, normalizeDatabase, searchDatabase, tableSummaries | imports:./analysis, @/lib/msi-parser, @/lib/platform/constants, @/lib/platform/trace | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ExportFormat,buildExportPayload,buildIntegrationPayload,findTable,getDemoDatabase,normalizeDatabase,searchDatabase,tableSummaries",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4321b63481c5d5c9",
      "framework": "next-react",
      "imports": "./analysis,@/lib/msi-parser,@/lib/platform/constants,@/lib/platform/trace",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "operations",
      "normalized_name": "operations",
      "package_manager": "pnpm",
      "path": "lib/msi/operations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "877c426183058b6603b2434a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MsiAnalysis, MsiSecurityFinding, MsiSecuritySeverity, analyzeMsiDatabase | imports:@/lib/msi-parser | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MsiAnalysis,MsiSecurityFinding,MsiSecuritySeverity,analyzeMsiDatabase",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "29f2cbb9904f6135",
      "framework": "next-react",
      "imports": "@/lib/msi-parser",
      "lines": 258,
      "logic_relevance": "primary",
      "name": "analysis",
      "normalized_name": "analysis",
      "package_manager": "pnpm",
      "path": "lib/msi/analysis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "c0548ec23853df26dc562646",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelCapabilityState, getModelCapabilityState | imports:./trace | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "ModelCapabilityState,getModelCapabilityState",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ef4f0cfadea5dc1b",
      "framework": "next-react",
      "imports": "./trace",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "model",
      "normalized_name": "model",
      "package_manager": "pnpm",
      "path": "lib/platform/model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,observability",
      "component_id": "657e3ea27639cc79a9bbef03",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiError, fail, ok, withPublicCache | imports:next/server | logic-score:85 | observability-score:55",
      "exports": "ApiError,fail,ok,withPublicCache",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3f7fb0e7e019634f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "8c7502b8e7694a1bba496c4a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DISCOVERY_ROUTES, FAQ_ITEMS, MCP_PROMPT_NAMES, MCP_RESOURCE_URIS, MCP_TOOL_NAMES, MSI_SERVICE, MSI_TABLE_TOOLTIPS, NETWORK_INTEGRATIONS | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "DISCOVERY_ROUTES,FAQ_ITEMS,MCP_PROMPT_NAMES,MCP_RESOURCE_URIS,MCP_TOOL_NAMES,MSI_SERVICE,MSI_TABLE_TOOLTIPS,NETWORK_INTEGRATIONS,PUBLIC_PAGE_ROUTES,ROUTE_INVENTORY,RouteRecord,TRUST_POLICY_LINE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "436d08fbc4e8608c",
      "framework": "next-react",
      "imports": "",
      "lines": 340,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/platform/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "761fa1ce65f38c276f671c9d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildAgentsManifest, buildAiPluginManifest, buildBreadcrumbJsonLd, buildFaqJsonLd, buildHealth, buildJsonLd, buildLlmsIndex, buildLlmsText | imports:./auth, ./constants, ./model, @/lib/msi-parser, @/lib/msi/analysis, @/lib/msi/operations | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "buildAgentsManifest,buildAiPluginManifest,buildBreadcrumbJsonLd,buildFaqJsonLd,buildHealth,buildJsonLd,buildLlmsIndex,buildLlmsText,buildMcpManifest,buildOpenApiSpec,buildRobotsTxt,buildRssXml,buildTrustPolicy,discoveryComplianceSummary,routeComplianceSummary,sitemapEntries,toYaml",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ce9c590d76654da",
      "framework": "next-react",
      "imports": "./auth,./constants,./model,@/lib/msi-parser,@/lib/msi/analysis,@/lib/msi/operations",
      "lines": 607,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/platform/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "8dd3701c133bf59503f6bd77",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, captureVercelMetadata, createTraceContext, platformTraceHeaders, traceLink | imports:./constants | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "TraceContext,captureVercelMetadata,createTraceContext,platformTraceHeaders,traceLink",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45cf8f0369ac1453",
      "framework": "next-react",
      "imports": "./constants",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "9c2be05191947fdf55a276a7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthDecision, evaluatePlatformAuth, getAuthPolicy, isPlatformAuthRequired, readPlatformApiKey, requirePlatformAuth | imports:./response, next/server | logic-score:85 | security-score:55 | uses-env",
      "exports": "AuthDecision,evaluatePlatformAuth,getAuthPolicy,isPlatformAuthRequired,readPlatformApiKey,requirePlatformAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d2912e39a0cfd704",
      "framework": "next-react",
      "imports": "./response,next/server",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "8c8e881a6bafd4c63a8f7fda",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../mcp-client, vitest | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "085d5cfb822ba85a",
      "framework": "next-react",
      "imports": "../mcp-client,vitest",
      "lines": 1097,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/__tests__/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "1184295c9a2febcc7f690adc",
      "component_kind": "parser",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../msi-parser, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2cb07e2ec199f57e",
      "framework": "next-react",
      "imports": "../msi-parser,vitest",
      "lines": 381,
      "logic_relevance": "primary",
      "name": "msi-parser.test",
      "normalized_name": "msi-parser",
      "package_manager": "pnpm",
      "path": "lib/__tests__/msi-parser.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "1e2ff438e33668c4fce94623",
      "component_kind": "parser",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../msi-parser, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4f8dfe1278fbdfed",
      "framework": "next-react",
      "imports": "../msi-parser,vitest",
      "lines": 498,
      "logic_relevance": "primary",
      "name": "msi-parser-extended.test",
      "normalized_name": "msi-parser-extended",
      "package_manager": "pnpm",
      "path": "lib/__tests__/msi-parser-extended.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-msi-editor",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2b33174b0bd381ecee15393d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0176d7dec5daac5",
      "framework": "next-react",
      "imports": "",
      "lines": 3664,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "0357edea0ef8be9ee1fb3cd9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3ee3af3c0f61ec4e",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8616187fb5f54b650e5745c5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "05d904883ce1c8dc",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,security,automation,ai",
      "component_id": "12dbee5d13b2ff93bf2c8d1f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0dc11d3296a505f9",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "SHOPIFY_SETUP_VERIFICATION",
      "normalized_name": "shopify-setup-verification",
      "package_manager": "pnpm",
      "path": "SHOPIFY_SETUP_VERIFICATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,security,automation",
      "component_id": "dd8f6bb0eb2203ab35f60706",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7b2b3d324a511d87",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "SHOPIFY_ACCESS_TOKEN_GUIDE",
      "normalized_name": "shopify-access-token-guide",
      "package_manager": "pnpm",
      "path": "SHOPIFY_ACCESS_TOKEN_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,automation,observability,security",
      "component_id": "84b51d17915455ba82ea029f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3454c07b574ad974",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "DEPLOYMENT_INSTRUCTIONS",
      "normalized_name": "deployment-instructions",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT_INSTRUCTIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "494c91507d7f66f7c154362f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/cart/cart-context, @/components/theme-provider, next, next/font/google, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "101f08778d42855a",
      "framework": "next-react",
      "imports": "@/components/cart/cart-context,@/components/theme-provider,next,next/font/google,react,sonner",
      "lines": 138,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "29f236d1b170c31206f7af18",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/footer, @/components/header, @/components/november-drop-banner, @/components/product-card, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/lib/shopify | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f577c36743c376e",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/november-drop-banner,@/components/product-card,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/lib/shopify,@/lib/shopify/constants,lucide-react,next/image,next/link",
      "lines": 253,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "9ab319f5f5f5c2b44750b978",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f2a35b5eb200d392",
      "framework": "next-react",
      "imports": "",
      "lines": 289,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "91e1e2a2cc31a67272deee62",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/card, @/lib/shopify, lucide-react | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "182352b92ad10868",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/shopify,lucide-react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/shopify-test/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "fa4238423c9b173256de0955",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BlogPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1d47b6071feff2d",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 259,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/blogs/news/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e27f3cefc7f2565a58df64b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactClient | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ContactClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "809d31027f217176",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "contact-client",
      "normalized_name": "contact-client",
      "package_manager": "pnpm",
      "path": "app/contact/contact-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "d367c7589649bc30806f13a7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:./contact-client, next | frontend-score:115 | ui-score:55",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bcab2c0438b2043",
      "framework": "next-react",
      "imports": "./contact-client,next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "dfb2dd92a642d8b99043f5ae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/product-card, @/lib/shopify, @/lib/shopify/constants, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50fd74751efebe30",
      "framework": "next-react",
      "imports": "@/components/product-card,@/lib/shopify,@/lib/shopify/constants,next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1f3c9cb9b917fba68919ecef",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/footer, @/components/header, @/components/product-card, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/lib/shopify, @/lib/shopify/constants | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12d8f77a427adf5b",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/product-card,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/lib/shopify,@/lib/shopify/constants,lucide-react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/catalog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "f0a193e7b851fdba3fa07845",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/badge, lucide-react, next/image | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "355a698e1d488add",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/badge,lucide-react,next/image",
      "lines": 143,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9ba5a7b62a4af397592e1e97",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,isomorphic-dompurify,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductPage | imports:@/components/cart/add-to-cart, @/components/footer, @/components/header, @/components/products/variant-selector, @/components/ui/badge, @/components/ui/button, @/lib/shopify, isomorphic-dompurify | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02244e5d71e15ea9",
      "framework": "next-react",
      "imports": "@/components/cart/add-to-cart,@/components/footer,@/components/header,@/components/products/variant-selector,@/components/ui/badge,@/components/ui/button,@/lib/shopify,isomorphic-dompurify,lucide-react,next/link,next/navigation",
      "lines": 141,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/product/[handle]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9ad246bd2015800e82f5a0bd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartPage | imports:@/components/cart/cart-context, @/components/footer, @/components/header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CartPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbae6bfb7f0b8682",
      "framework": "next-react",
      "imports": "@/components/cart/cart-context,@/components/footer,@/components/header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 152,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/cart/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "bbca61a5f45aa0d82878560d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "034f1e733bd1474f",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/shopify/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "283b64d88e3e848173b17867",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5ba3469b4c0c9579",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/remove/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "e8204310c2f4e6fe7def68c6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c1c11897a7d410fd",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/update/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "f151fa66354418179ac73982",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6e769d658f0592af",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/add/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "43a2713b6ee3ade399ad6717",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9184e22cfabe8ee3",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/create/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "65683d5c51148b0150e0628b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c53d678d2b144d2",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/[cartId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "316cad98a235355d69c1efcd",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "609bf236a089d4215b12292c",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d55d97581bee41253570d1e0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard | imports:@/components/cart/add-to-cart, @/components/ui/badge, @/components/ui/card, @/lib/shopify/types, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f6b96e2b25f7a0f",
      "framework": "next-react",
      "imports": "@/components/cart/add-to-cart,@/components/ui/badge,@/components/ui/card,@/lib/shopify/types,lucide-react,next/link",
      "lines": 89,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "components/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a035fd095158818792afa02e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NovemberDropBanner | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NovemberDropBanner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf55ecf18e19d887",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 61,
      "logic_relevance": "none",
      "name": "november-drop-banner",
      "normalized_name": "november-drop-banner",
      "package_manager": "pnpm",
      "path": "components/november-drop-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "80eb140f2525a5d6b08d43d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ff9277c47208369a",
      "framework": "next-react",
      "imports": "lucide-react,next/image,next/link",
      "lines": 187,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d435dd9f06e8cd0b76754a08",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/cart/cart-context, @/components/theme-toggle, @/components/ui/badge, @/components/ui/button, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a3fb6cde3e793d2",
      "framework": "next-react",
      "imports": "@/components/cart/cart-context,@/components/theme-toggle,@/components/ui/badge,@/components/ui/button,lucide-react,next/image,next/link,react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7a48ccb115309ef75a0dd5ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "906a8c627c28b26b",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next-themes,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "051a34862d0f99598e014003",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2d8b4c444be94c9bc3b6935e",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Loader | ui-score:125 | frontend-score:85",
      "exports": "Loader",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e77ec18aa458a8b8",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "loader",
      "normalized_name": "loader",
      "package_manager": "pnpm",
      "path": "components/ui/loader.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "667695054319685207d08d59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e7b93dd3ff5cf13632d2b4a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e13ac6fd796ea0a57ba898c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "716a7d1b1d2bd8640de43a3a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "406e999dd1238358c9966b82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5f8490ede1d18a7d440877f1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VariantSelector, useSelectedVariant | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "VariantSelector,useSelectedVariant",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7bd6262f14b7e83d",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "variant-selector",
      "normalized_name": "variant-selector",
      "package_manager": "pnpm",
      "path": "components/products/variant-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "efade800ca993fc9a13dac25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartProvider, useCart | imports:@/lib/shopify/types, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CartProvider,useCart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26b61718c0e3d013",
      "framework": "next-react",
      "imports": "@/lib/shopify/types,react",
      "lines": 210,
      "logic_relevance": "none",
      "name": "cart-context",
      "normalized_name": "cart-context",
      "package_manager": "pnpm",
      "path": "components/cart/cart-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "eb9214bd09f56339cb5ffb82",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,motion,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddToCart, AddToCartButton | imports:../ui/button, ../ui/loader, ./cart-context, @/lib/shopify/types, @/lib/shopify/utils, lucide-react, motion/react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AddToCart,AddToCartButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f08e4bda6b9257d",
      "framework": "next-react",
      "imports": "../ui/button,../ui/loader,./cart-context,@/lib/shopify/types,@/lib/shopify/utils,lucide-react,motion/react,next/navigation,react",
      "lines": 177,
      "logic_relevance": "none",
      "name": "add-to-cart",
      "normalized_name": "add-to-cart",
      "package_manager": "pnpm",
      "path": "components/cart/add-to-cart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "ae6de13f4780434498a22585",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1ab5f06341ac334d",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "ce35cce49cef6936f4328f19",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "44d199a5db8e0111",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "1f61d76b3df28dedeb58e7f2",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,integration",
      "component_id": "7969d0b9aa3cfd78d990fabf",
      "component_kind": "parser",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parseShopifyDomain | logic-score:85 | integration-score:55",
      "exports": "parseShopifyDomain",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "40b8b3a8504e0153",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "parse-shopify-domain",
      "normalized_name": "parse-shopify-domain",
      "package_manager": "pnpm",
      "path": "lib/shopify/parse-shopify-domain.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,integration",
      "component_id": "4bd32cbbb28cb95a1bb6188b",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getShopifyProductId | logic-score:60 | integration-score:55",
      "exports": "getShopifyProductId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8999aba5a38799cb",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/shopify/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,integration,security",
      "component_id": "928f838222d730a837af26a5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Money, Product, ProductCollectionSortKey, ProductImage, ProductOption, ProductSortKey, ProductVariant, SelectedOption | logic-score:70 | integration-score:55 | security-score:55",
      "exports": "Money,Product,ProductCollectionSortKey,ProductImage,ProductOption,ProductSortKey,ProductVariant,SelectedOption,ShopifyCart,ShopifyCartLine,ShopifyCollection,ShopifyProduct",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "687c7e564f176474",
      "framework": "next-react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/shopify/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,integration,security",
      "component_id": "4d03e4dbe9d45c7c6e0bbc3c",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_COLLECTION_SORT_KEY, DEFAULT_PAGE_SIZE, DEFAULT_SORT_KEY, NEWDITTYSWAG_COLLECTION | imports:./types | logic-score:70 | integration-score:55 | security-score:55",
      "exports": "DEFAULT_COLLECTION_SORT_KEY,DEFAULT_PAGE_SIZE,DEFAULT_SORT_KEY,NEWDITTYSWAG_COLLECTION",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3afdf7f390c5c783",
      "framework": "next-react",
      "imports": "./types",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/shopify/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "52fc8b22a2312f40743fe7a1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isShopifyConfigured | imports:./constants, ./parse-shopify-domain, ./types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "isShopifyConfigured",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db409439de3db5ba",
      "framework": "next-react",
      "imports": "./constants,./parse-shopify-domain,./types",
      "lines": 811,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/shopify/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-newdittyswag-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e5023def962c0247522addc7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d2363a7a2599aa8",
      "framework": "next-react",
      "imports": "",
      "lines": 4369,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "50363a9c4d8fa2c1a950fec0",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "621558241f4b2263",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "a499bd6cefe8558e569be671",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "450d7f63d27afb32",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c3dbc62b7e403e662bb4480d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "098462925a08719b",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bea5cf6a7b230cf0b8e70adf",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/app-sidebar, @/components/header, @/components/ui/sidebar, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "076ba56ca47dffab",
      "framework": "next-react",
      "imports": "@/components/app-sidebar,@/components/header,@/components/ui/sidebar,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e2f5eb363726fe5473f28605",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efed3ae54bede9b5",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "61c9e17c5e1c55167495e90e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/story-list-client, @/lib/hacker-news | frontend-score:85 | ui-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "009b4a0d6fb8c88e",
      "framework": "next-react",
      "imports": "@/components/story-list-client,@/lib/hacker-news",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "f4daf7280758cbc0a3b7fb28",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e568e1daa80bb912",
      "framework": "next-react",
      "imports": "",
      "lines": 209,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "cdb81ba67b1ef856a9914891",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea42fbab2574ea59",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 16,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9080717aa55f3db54edd8deb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/story-list-client, @/lib/hacker-news | frontend-score:85 | ui-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e57e084b4fc30f56",
      "framework": "next-react",
      "imports": "@/components/story-list-client,@/lib/hacker-news",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/top/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5167b4ebd5ff51e2b4584947",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/settings-form, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32c353b7b8a2ae62",
      "framework": "next-react",
      "imports": "@/components/settings-form,@/lib/supabase/server,next/navigation",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6e104c89d2b3d04ded719390",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage | imports:@/components/submit-form, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SubmitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "401388ebc41ac2ed",
      "framework": "next-react",
      "imports": "@/components/submit-form,@/lib/supabase/server,next/navigation",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "ccb969d298de674f05fbbcec",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/story-list-client, @/lib/hacker-news | frontend-score:85 | ui-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e1d52aff9ef392a",
      "framework": "next-react",
      "imports": "@/components/story-list-client,@/lib/hacker-news",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ask/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a8d654794b4b45d12b7328ca",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignupPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignupPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da3af729a6b185f0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signup/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5877932c9adcbec07244836c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/story-item, @/lib/supabase/server, next, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f2f0b9c0654166f",
      "framework": "next-react",
      "imports": "@/components/story-item,@/lib/supabase/server,next,next/navigation",
      "lines": 85,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/favorites/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a1d9d6a81a55350db4c0e520",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/story-list-client, @/lib/hacker-news | frontend-score:85 | ui-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a898257d6023dcb0",
      "framework": "next-react",
      "imports": "@/components/story-list-client,@/lib/hacker-news",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/show/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "1f3caf66a97d69b838e24186",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DomainPage | imports:@/components/story-item, @/lib/supabase/server, @/lib/types | frontend-score:85 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DomainPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1af6857ec2a14ebd",
      "framework": "next-react",
      "imports": "@/components/story-item,@/lib/supabase/server,@/lib/types",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/from/[domain]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "50aa23c2d75e837750ad9e23",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/story-list-client, @/lib/hacker-news | frontend-score:85 | ui-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e94f89dd8740308c",
      "framework": "next-react",
      "imports": "@/components/story-list-client,@/lib/hacker-news",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/best/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "61fb6e4985823172767a8bb7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserPage | imports:@/components/story-item, @/components/ui/tabs, @/lib/supabase/server, @/lib/types, @/lib/utils/time, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UserPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7d46743eebc51f3",
      "framework": "next-react",
      "imports": "@/components/story-item,@/components/ui/tabs,@/lib/supabase/server,@/lib/types,@/lib/utils/time,next/link,next/navigation",
      "lines": 134,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/user/[username]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "21940e1485d1daa6c92153cf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignupSuccessPage | imports:@/components/ui/card, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SignupSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69352754d0d54789",
      "framework": "next-react",
      "imports": "@/components/ui/card,next/link",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signup-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "57c5d083b5d94566353a3a7d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/comment-list, @/components/story-detail, @/lib/db-sync, @/lib/hacker-news, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29882c81e770bf19",
      "framework": "next-react",
      "imports": "@/components/comment-list,@/components/story-detail,@/lib/db-sync,@/lib/hacker-news,@/lib/supabase/server,next/navigation",
      "lines": 156,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/item/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "8b2827b07a4bb883238c5065",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next/cache | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ab34dd7b66bb7d5",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 44,
      "logic_relevance": "none",
      "name": "vote",
      "normalized_name": "vote",
      "package_manager": "pnpm",
      "path": "app/actions/vote.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "a7eb540d462a58f9c4e5f994",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next/cache | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86aa424d401dd694",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 52,
      "logic_relevance": "none",
      "name": "update-profile",
      "normalized_name": "update-profile",
      "package_manager": "pnpm",
      "path": "app/actions/update-profile.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "214054335ebb83a206904520",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next/cache | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d780d57faf991d23",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 59,
      "logic_relevance": "none",
      "name": "submit-story",
      "normalized_name": "submit-story",
      "package_manager": "pnpm",
      "path": "app/actions/submit-story.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "fb71193a21f68f1686798d37",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next/cache | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea5d2745627fcca4",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 44,
      "logic_relevance": "none",
      "name": "submit-comment",
      "normalized_name": "submit-comment",
      "package_manager": "pnpm",
      "path": "app/actions/submit-comment.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,security",
      "component_id": "2196440fde21e8060b905d93",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48bd83d851c5a886",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/logout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability",
      "component_id": "f20b13f7e7e4413934319a58",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, STORIES_PER_PAGE | imports:@/lib/hacker-news, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,STORIES_PER_PAGE",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4a972978e3be48d1",
      "framework": "next-react",
      "imports": "@/lib/hacker-news,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stories/[type]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "433c2e8501cd88d70e10ce0c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/story-list-client, @/lib/hacker-news | frontend-score:85 | ui-score:55 | automation-score:50",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c5d5567d11f2a44",
      "framework": "next-react",
      "imports": "@/components/story-list-client,@/lib/hacker-news",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d584cd5b3649f2ba6480e352",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d157fb9d0d4580b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 91,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4cda18bb4df86d10fb323491",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6e30fa506c45c3009032d118",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "8bf48da38a93f953f3f7c335",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsForm | imports:@/app/actions/update-profile, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/types, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "SettingsForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0122e181fa5ac2ed",
      "framework": "next-react",
      "imports": "@/app/actions/update-profile,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/types,next/navigation,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "settings-form",
      "normalized_name": "settings-form",
      "package_manager": "pnpm",
      "path": "components/settings-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6a406c8ad6e72f7f07a8697e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoryListClient | imports:@/components/story-item, @/lib/hacker-news, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StoryListClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "274d4bcbbb5756ff",
      "framework": "next-react",
      "imports": "@/components/story-item,@/lib/hacker-news,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "story-list-client",
      "normalized_name": "story-list-client",
      "package_manager": "pnpm",
      "path": "components/story-list-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5eb888ef9eff112aa35d12b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoryItem | imports:./vote-button, @/lib/types, @/lib/utils/time, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StoryItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb611a0031c1313f",
      "framework": "next-react",
      "imports": "./vote-button,@/lib/types,@/lib/utils/time,next/link,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "story-item",
      "normalized_name": "story-item",
      "package_manager": "pnpm",
      "path": "components/story-item.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "b6948fe645a71c978db519aa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentList | imports:./comment-item, @/lib/types | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "CommentList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b8784b79563c737",
      "framework": "next-react",
      "imports": "./comment-item,@/lib/types",
      "lines": 26,
      "logic_relevance": "none",
      "name": "comment-list",
      "normalized_name": "comment-list",
      "package_manager": "pnpm",
      "path": "components/comment-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3b39813e441a190e3e66a82a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:@/components/ui/sidebar, @/lib/supabase/client, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f1f5b7c72c40bc8",
      "framework": "next-react",
      "imports": "@/components/ui/sidebar,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 205,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "4ea6b49e3682d494bfbf2c2f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentItem | imports:./comment-form, ./ui/button, ./vote-button, @/lib/types, @/lib/utils/time, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CommentItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e5c8d0e0b122258",
      "framework": "next-react",
      "imports": "./comment-form,./ui/button,./vote-button,@/lib/types,@/lib/utils/time,next/link,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "comment-item",
      "normalized_name": "comment-item",
      "package_manager": "pnpm",
      "path": "components/comment-item.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "6b4353f53d18fa6eef0dab8e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoryDetail | imports:./vote-button, @/lib/types, @/lib/utils/time, next/link | frontend-score:115 | ui-score:55",
      "exports": "StoryDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58331cdd95e76d3f",
      "framework": "next-react",
      "imports": "./vote-button,@/lib/types,@/lib/utils/time,next/link",
      "lines": 62,
      "logic_relevance": "none",
      "name": "story-detail",
      "normalized_name": "story-detail",
      "package_manager": "pnpm",
      "path": "components/story-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "d4f4789b76029a20e2d26266",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitForm | imports:@/app/actions/submit-story, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/radio-group, @/components/ui/textarea, lucide-react, next/navigation | frontend-score:115 | ui-score:70",
      "exports": "SubmitForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84ec1656728bcbaf",
      "framework": "next-react",
      "imports": "@/app/actions/submit-story,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/radio-group,@/components/ui/textarea,lucide-react,next/navigation,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "submit-form",
      "normalized_name": "submit-form",
      "package_manager": "pnpm",
      "path": "components/submit-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4ce2513ac537f8499930ec05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/sidebar, @/lib/supabase/server, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8aa10a17efb349e6",
      "framework": "next-react",
      "imports": "@/components/ui/sidebar,@/lib/supabase/server,next/link",
      "lines": 79,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "587b2526c79ce4ffe7395a31",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentForm | imports:@/app/actions/submit-comment, @/components/ui/button, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "CommentForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93c6c0e620cbda01",
      "framework": "next-react",
      "imports": "@/app/actions/submit-comment,@/components/ui/button,@/components/ui/textarea,lucide-react,react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "comment-form",
      "normalized_name": "comment-form",
      "package_manager": "pnpm",
      "path": "components/comment-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "27840dc1b6c600d552f6137a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VoteButton | imports:@/app/actions/vote, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "VoteButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec22207151ae6db2",
      "framework": "next-react",
      "imports": "@/app/actions/vote,@/lib/utils,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "vote-button",
      "normalized_name": "vote-button",
      "package_manager": "pnpm",
      "path": "components/vote-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "91428c85e9f410dccad2b320",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "36af9f5469fe8ba6287c0835",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fb8c76c50af44aad60330005",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2901b8511958dd5a4e0e3eb1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "5a46beafeacf70ad9b7d7fc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c34d8fe72fdc4b7861552f31",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2b78ca98a44d697fe89f9b6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5df07dab860e351b635ca03c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3390642fc0ddf6d1c6e3d820",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0f7a382405c33458f4229d1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "04680f32780b9e43c9915796",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5ec3280c3dc25021b73847ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "afd71a89c774133507f50e00",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c0a217e917fa56c6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "1b4bbddedd50fcb0b00f9bca",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "22c40126fecaedcb",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,security",
      "component_id": "7a9ed65fa348f2e15fc776ee",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d9cd38fb61f11584",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "6fa833e1642659bf2d5ec6c3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HNComment, HNItem, HNStory | imports:./db-sync | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "HNComment,HNItem,HNStory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "166e6cbdf0e9ecf8",
      "framework": "next-react",
      "imports": "./db-sync",
      "lines": 435,
      "logic_relevance": "primary",
      "name": "hacker-news",
      "normalized_name": "hacker-news",
      "package_manager": "pnpm",
      "path": "lib/hacker-news.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "9643d459eb46404bfa98ca3b",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "4275d1ee935355c694fcdcfd",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Comment, CommentVote, Profile, Story, StoryVote | logic-score:70 | security-score:55",
      "exports": "Comment,CommentVote,Profile,Story,StoryVote",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6107b17fb13f0bfd",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "83ba960427a11485cfe17ae7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SYNC_INTERVAL | imports:./hacker-news, @/lib/supabase/server, @/lib/supabase/service | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "SYNC_INTERVAL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dc55869369295829",
      "framework": "next-react",
      "imports": "./hacker-news,@/lib/supabase/server,@/lib/supabase/service",
      "lines": 238,
      "logic_relevance": "primary",
      "name": "db-sync",
      "normalized_name": "db-sync",
      "package_manager": "pnpm",
      "path": "lib/db-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "28ecb085bb0c483425d401f5",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:formatTimeAgo, getDomain | logic-score:60",
      "exports": "formatTimeAgo,getDomain",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bc00bd9d13c36981",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "time",
      "normalized_name": "time",
      "package_manager": "pnpm",
      "path": "lib/utils/time.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "de888cd89b0e1114469e20fc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "98c51dbfe41dec8c",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "3171751070c8da9bf009f5ca",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "248e90d82b29e0c2",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "b8ff38c8a0065ff60b66e446",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f5bfb034d340195c",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "dc6695d5120db563feae86b9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getServiceClient | imports:@supabase/supabase-js | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "getServiceClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "82cf9d878b661f6e",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "pnpm",
      "path": "lib/supabase/service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-news-alt-theme",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "dd743716b65a83d1f1bb1e12",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff2f48facf672a96",
      "framework": "next-react",
      "imports": "",
      "lines": 7292,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "a1a1d4a9381ce09b3303dad6",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e3d0be13ab5c580",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e9f209e1094ba9cb7db57c48",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a299109e293c7ad",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process",
      "component_id": "312dca4bef9f309e7cf26dfa",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c9ccd8035f956910",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "200288b5dbea15710e35aa78",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a91b7e6906ae1d81",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "4acaa00b8f329e1c39733c2d",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:config, proxy | imports:next/server | automation-score:45",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bfa6a6d3627c9bd1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b744305b6f6259711ca7dc0f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b28011ce6ad106c4",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 27,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "3ec724b461656ed96d09596a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "87e641e61586de26",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "messages/zh.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "15cd859a410c8cee9911cbbe",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "bcf10bad8a4f0789",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "pnpm",
      "path": "messages/ja.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b6c2b14784a2dc7e233a41a7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ab0a10f04b160eb9",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "pnpm",
      "path": "messages/de.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f6ee1e9451c724070554cd81",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cfcaa7887b05453b",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "pnpm",
      "path": "messages/pt.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "b9980978b0a1a31ba18759bc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5a33c36b698128a8",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "ce01ca56634aa9114f25e3c7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8cf233eb20f49eb6",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "messages/fr.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a2aa838419208acc463bb69f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4196e7d00689d657",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "92b6d99198e17c9938905eab",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4cacf81a88810ad0",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "pnpm",
      "path": "messages/ar.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "836e305790399a7983c38bb9",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ImageResponse | imports:react | automation-score:95 | integration-score:55",
      "exports": "ImageResponse",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2eb65fc264598c12",
      "framework": "next-react",
      "imports": "react",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vercel-og.d",
      "normalized_name": "vercel-og-d",
      "package_manager": "pnpm",
      "path": "types/vercel-og.d.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "79f613d66a28c4b5926ca583",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/i18n/config, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "492b0b090f3132f4",
      "framework": "next-react",
      "imports": "@/lib/i18n/config,next",
      "lines": 58,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5bc2b282ab9482b29ab918e3",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout | imports:next/font/google | frontend-score:115 | ui-score:55",
      "exports": "RootLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "776bbc8c1a8a310a",
      "framework": "next-react",
      "imports": "next/font/google",
      "lines": 26,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "d1154993e06edc66904b4a1b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "06d4340ebcdaa701",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "bf513ff2cad005203970bf5f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network/client, @/lib/onboard/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ccf16364eedc6f2c",
      "framework": "next-react",
      "imports": "@/lib/network/client,@/lib/onboard/platform,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "46e7bc332fe41c1dde17d3ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fe90ce5edb212a47",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,automation",
      "component_id": "f26642d7dc6248716d0260af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, SITE_DESCRIPTION, SITE_TITLE, SITE_URL | imports:@/lib/network/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,SITE_DESCRIPTION,SITE_TITLE,SITE_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eb0e5e1d6d034657",
      "framework": "next-react",
      "imports": "@/lib/network/client,next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "67d8dbae4625e2e60591d0af",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,@/messages,@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, viewport | imports:@/lib/i18n/config, @/lib/i18n/provider, @/messages/ar.json, @/messages/de.json, @/messages/en.json, @/messages/es.json, @/messages/fr.json, @/messages/ja.json | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45 | metadata",
      "exports": "generateStaticParams,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98552cc4d833a441",
      "framework": "next-react",
      "imports": "@/lib/i18n/config,@/lib/i18n/provider,@/messages/ar.json,@/messages/de.json,@/messages/en.json,@/messages/es.json,@/messages/fr.json,@/messages/ja.json,@/messages/pt.json,@/messages/zh.json,@vercel/analytics/next,next,next/navigation",
      "lines": 142,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "7fb1e1a37e794c57fdbf70f7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/forms/application-form, @/components/layout/footer, @/components/layout/header, @/components/sections/benefits, @/components/sections/hero, @/components/sections/how-it-works, @/components/sections/network-showcase, @/components/seo/json-ld | frontend-score:85 | ui-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b33b0f3a92870fd7",
      "framework": "next-react",
      "imports": "@/components/forms/application-form,@/components/layout/footer,@/components/layout/header,@/components/sections/benefits,@/components/sections/hero,@/components/sections/how-it-works,@/components/sections/network-showcase,@/components/seo/json-ld,@/lib/network/client",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "af22431135be0dd72686d3f6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/breadcrumbs, @/lib/data/faq, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68b9866661bd9f9c",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/lib/data/faq,next,next/link",
      "lines": 163,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,backend,observability,security,automation",
      "component_id": "621ad8c6e604fc079e8c27ff",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APIDocsPage, metadata | imports:@/components/ui/breadcrumbs, next, next/link | frontend-score:115 | process-score:80 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APIDocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0340aaab59543b4c",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,next,next/link",
      "lines": 331,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/docs/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1166936d4881e27a2c715ca9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:@/components/ui/breadcrumbs, @/lib/data/jobs, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1bc2e6e1df217764",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/lib/data/jobs,next,next/link",
      "lines": 196,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "92c3fe5416cfc61dd34e6a31",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingTrackingPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, next/link, next/navigation, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "OnboardingTrackingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9de47e573bd8e4d6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,next/link,next/navigation,react",
      "lines": 205,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/onboarding/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "917d3b99b1a50d0e54cda250",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:default, metadata | imports:../[locale]/faq/page | frontend-score:85 | ui-score:55",
      "exports": "default,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "80102bb92ff91935",
      "framework": "next-react",
      "imports": "../[locale]/faq/page",
      "lines": 2,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "3140db1787ba91bb391f3766",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/onboard/auth-policy, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "35f2e67b8e2bcde4",
      "framework": "next-react",
      "imports": "@/lib/onboard/auth-policy,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "c5aacd7dc84f10513e0c1f0a",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/app/.well-known/agent.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5388704b4d812631",
      "framework": "next-react",
      "imports": "@/app/.well-known/agent.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "1767e1656577cc5d21844015",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07937db58f022f6a",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "6633aa6c6d7b98050681a878",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "28f5d7d66f0fbe05",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "e2f13d070fd5f440872a65ec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d20e1eb03d4a61c1",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,ai",
      "component_id": "0b6495d6bb167b7ac0e55706",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/onboard/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5360ea8894836e5",
      "framework": "next-react",
      "imports": "@/lib/onboard/platform,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,backend,process",
      "component_id": "b08c82e0c703486d1fcdda39",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:default, metadata | imports:../../[locale]/docs/api/page | frontend-score:85 | ui-score:55 | backend-score:55 | process-score:45",
      "exports": "default,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5686d68d60d0a7d6",
      "framework": "next-react",
      "imports": "../../[locale]/docs/api/page",
      "lines": 2,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "28ed523d493e381d2875bf45",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network/client, @/lib/onboard/integrations, @/lib/onboard/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d8868294d438d2c",
      "framework": "next-react",
      "imports": "@/lib/network/client,@/lib/onboard/integrations,@/lib/onboard/platform,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "92f2995f995fef6afdfb4f2e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network/client, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "05090c01f8f86e85",
      "framework": "next-react",
      "imports": "@/lib/network/client,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "d6953a22278404891a267e59",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "09abb350f3a230b6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend",
      "component_id": "29ee7fcedb321fd11ee9fce0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/url-preview/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "08d7f8fd4c74de1a",
      "framework": "next-react",
      "imports": "@/app/api/url-preview/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/url-preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d5b719937a191e2628e28924",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/capabilities/route | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7d7f199928b6a506",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "c43dcb16137d796b2bdec8d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e373f8ab69ff57b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/drafts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a52dc6b6038b0ad54ecefcbd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/app/api/v1/drafts/route | backend-score:55",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6897deef958b99ee",
      "framework": "next-react",
      "imports": "@/app/api/v1/drafts/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/drafts/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ddd0969446f785940814e28e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf58e69fd4f2fcee",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend,observability",
      "component_id": "df6163a6011e15381ea9948e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/index, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6cea4f3e4a5255b8",
      "framework": "next-react",
      "imports": "@/lib/db/index,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/subdomains/request/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "da741c7e8c21db52c82e81b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/app/api/check-subdomain/route, @/lib/db/index, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dbc3dd307aea1dbd",
      "framework": "next-react",
      "imports": "@/app/api/check-subdomain/route,@/lib/db/index,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/subdomains/check/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "4d0aa47c727e97cd4c54bb97",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/v1/network/sites/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f8a8df4ff414efa5",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/sites/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "916e156e4c018dd5b3487f24",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network/client, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fa5dc77aaf8e6877",
      "framework": "next-react",
      "imports": "@/lib/network/client,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "cf00575c9717cd9da6e8894e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52bd720308445a7f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "27fde24ce413c72b89727768",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70df5447bd2e0da7",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "b51ca1bb74e501eed428c0c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3eefcafed4ef20d0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "f549bac372b4e593dc2bb471",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8708c85066369ce9",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "0a8f02df92fbf8db87dd8087",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8b837b2b90e4dcf5",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "4c1bd2e1744ad1defbfd1e2f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, OPTIONS, PATCH, POST, PUT | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "DELETE,GET,OPTIONS,PATCH,POST,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "adeabb66148c739a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "33a8f208aa0d6520bec9f08c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9103819c402c68bd",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "32a5e80d99b39b640688d7d7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/api/integrations/route | backend-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "75c40b2a772491ff",
      "framework": "next-react",
      "imports": "@/app/api/integrations/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,ai,logic,process,frontend,observability",
      "component_id": "d47c8cdaff6fa86312304b5c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/onboard/model, next/server | backend-score:125 | ai-score:120 | logic-score:85 | process-score:80 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc7b167a977ce096",
      "framework": "next-react",
      "imports": "@/lib/onboard/model,next/server",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/onboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7d68884c160985bf099ed573",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/api/applications/route | backend-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a375c8330feee96d",
      "framework": "next-react",
      "imports": "@/app/api/applications/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/applications/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "94d76a0c92b4b16acb980a1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db/index, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab0e50a7710311c5",
      "framework": "next-react",
      "imports": "@/lib/db/index,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/applications/status/[token]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "8323f14d43f4b029e1a5a70b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/applications/[id]/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "81d112d6b43553eb",
      "framework": "next-react",
      "imports": "@/app/api/applications/[id]/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/applications/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "6d0798491383dc9338e7b01a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db/index, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d8e88c86cd7e58f",
      "framework": "next-react",
      "imports": "@/lib/db/index,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/applications/[id]/submit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "70a18f12a35b710e4d0e8f07",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api-helpers, @/lib/db/index, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cecd898cc0faa36d",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db/index,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/applications/[id]/review/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability",
      "component_id": "452bfd16c03f00a02fb0c464",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "dns,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:dns/promises, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f8b23f88d12db199",
      "framework": "next-react",
      "imports": "dns/promises,next/server",
      "lines": 171,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/url-preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "a9654e6f75b7b4c0764ad0b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, PUT | imports:@/lib/db, @/lib/site-config, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "41e893d65a3a9eb5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,crypto,next/server",
      "lines": 176,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "a82a9a90c3d72111c77463c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf0d927a3a8351c9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/site-config,next/server",
      "lines": 98,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "9c98aa6144e460da1131b34e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/network/client, @/lib/onboard/auth-policy, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef073dbf6bb04e91",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/network/client,@/lib/onboard/auth-policy,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "24b39f5fed6012c00869a70c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,dns,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_CONTENT_SIZE, POST | imports:@/lib/auto-name, @/lib/db, @/lib/emoji, @/lib/logger, @/lib/seo-generator, @/lib/site-config, dns/promises, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,MAX_CONTENT_SIZE,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ffcc6f46517fe1f1",
      "framework": "next-react",
      "imports": "@/lib/auto-name,@/lib/db,@/lib/emoji,@/lib/logger,@/lib/seo-generator,@/lib/site-config,dns/promises,next/server,uuid",
      "lines": 539,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "499166093fa3fa7dccf98c5d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/applications/route, @/app/api/url-preview/route, @/lib/db/index, @/lib/network/client, @/lib/onboard/integrations, @/lib/onboard/model, @/lib/onboard/platform, @/lib/onboard/trace | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9ec80eb96f40f8d5",
      "framework": "next-react",
      "imports": "@/app/api/applications/route,@/app/api/url-preview/route,@/lib/db/index,@/lib/network/client,@/lib/onboard/integrations,@/lib/onboard/model,@/lib/onboard/platform,@/lib/onboard/trace,next/server",
      "lines": 178,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "0098413403efcc9c22d9c882",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FALLBACK_BASE_URL, GET, POST | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "FALLBACK_BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24102ffa005d56ec",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 281,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery,process",
      "component_id": "56ac3c1be05bbfb3f59e87ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/openapi/route, @/lib/onboard/auth-policy, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbb3cc00dc03e87b",
      "framework": "next-react",
      "imports": "@/app/api/openapi/route,@/lib/onboard/auth-policy,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability,security,discovery,automation",
      "component_id": "2822a0b4fdf53f9b1114a108",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b7d6b4eb323be951",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 308,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/openapi/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "45762e0aefd7018ab7d54102",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9056d9482511216f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "0dbdb7f5d754c79bf3205a57",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "47cdd4c40835e5e8",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 173,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "ba3f2b6bdd7fdcb88dd101c9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/onboard/integrations, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "901bbce9df0ff679",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/onboard/integrations,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "0893cec62d51261d8ee2f48a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/api-helpers, @/lib/db, @/lib/site-config, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "addff87e6dfe29e6",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/site-config,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/integrations/[name]/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "backend,frontend,automation",
      "component_id": "09c6fb8b5fecb92bf9e4366f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for deployment; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/version, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f4f68c736f0b97c",
      "framework": "next-react",
      "imports": "@/lib/version,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/version/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,process,frontend,observability,security,automation,ai",
      "component_id": "55c43da244e909dbe28a36b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHUNK_SIZE, GET, POST | imports:@/lib/db, @/lib/emoji, @/lib/seo-generator, @/lib/site-config, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "CHUNK_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78c5fdee3a954517",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/emoji,@/lib/seo-generator,@/lib/site-config,next/server",
      "lines": 488,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/workflow/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "9a6a4984dc6dd9f55b8fef57",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/index, @/lib/onboarding/orchestrator, @/lib/registration/types, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e12cb84cb4469d8b",
      "framework": "next-react",
      "imports": "@/lib/db/index,@/lib/onboarding/orchestrator,@/lib/registration/types,crypto,next/server",
      "lines": 268,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/applications/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "4275efceb99f413ec6fb6fed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/index, @/lib/registration/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c8f342a99bf87a3",
      "framework": "next-react",
      "imports": "@/lib/db/index,@/lib/registration/types,next/server",
      "lines": 106,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/applications/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b127849f02a6c58748a900d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e03e331e42e28aa",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 194,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/submissions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "cbd4974856f9437ba1f78816",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f2460212c43a225",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 216,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/submissions/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ff70bdfce24221a074c39d28",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "727bcc0be99e8647",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 170,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "7302f2914b09b38d90427e03",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHUNK_SIZE, GET, POST | imports:@/lib/db, @/lib/emoji, @/lib/logger, @/lib/seo-generator, @/lib/site-config, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CHUNK_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c1f2b13d22c2a8f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/emoji,@/lib/logger,@/lib/seo-generator,@/lib/site-config,next/server",
      "lines": 463,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/automation/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "59d28d2273a6d93c2432a502",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90ca24d31d44ed5b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 220,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/documents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "9e71e4322a6c317a0db4a11d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0071187120b21b72",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 201,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/documents/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "3e308a41e112f7f8eb9e8853",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, DOC_FILES, GET | imports:@/lib/site-config, fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "DOCS_DIR,DOC_FILES,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b5ec3fb58150bc56",
      "framework": "next-react",
      "imports": "@/lib/site-config,fs,next/server,path",
      "lines": 110,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/project-docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "4bae10d34774175b9963178e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, GET | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "DOCS_DIR,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ac93e30af1eba7eb",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 126,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/project-docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,automation",
      "component_id": "9ac59e527f8409ade0998157",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@vercel/og,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@vercel/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c4f39cbb4aea26e2",
      "framework": "next-react",
      "imports": "@vercel/og,next/server",
      "lines": 135,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "58bca44148751186a8f1b955",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb3b66494729243d",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,crypto,next/server",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "514613836f7c4417bd656667",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "287782e97d8479aa",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/logger,next/server",
      "lines": 124,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "dd868ea6ce5879b21acf2ccf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/index, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37541289aa83ec9b",
      "framework": "next-react",
      "imports": "@/lib/db/index,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/check-subdomain/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "1cae738dd47a98bd0100ff60",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network/client, @/lib/onboard/auth-policy, @/lib/onboard/trace, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3af413e541ef945",
      "framework": "next-react",
      "imports": "@/lib/network/client,@/lib/onboard/auth-policy,@/lib/onboard/trace,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c20fbad2b80f4dff50c3ebd7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, INDEXABLE_URLS, INDEXNOW_KEY, POST, SITE_URL | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,INDEXABLE_URLS,INDEXNOW_KEY,POST,SITE_URL",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4ca1c65cb359973b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/indexnow/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "316921531ef3ceeebd8313c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "99885dac2d907d5f",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery",
      "component_id": "2faf26ec70349648106ba16c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/i18n/config, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9319402056b53d7d",
      "framework": "next-react",
      "imports": "@/lib/i18n/config,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,security,discovery",
      "component_id": "f8c943628af47070aadc7776",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/openapi/route | backend-score:125 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7a75b8fe48bc8b58",
      "framework": "next-react",
      "imports": "@/app/api/openapi/route",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "103ac724984d77e296710edd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3aa79ff688e04999",
      "framework": "next-react",
      "imports": "@/lib/network/client,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-network.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "5e1ea697a46270c5761cdf58",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "af1c48238b4e7bd7",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "f6244090e490957cefcaea4c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network/client, @/lib/onboard/auth-policy, @/lib/onboard/integrations, @/lib/onboard/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "75416fddc21e2526",
      "framework": "next-react",
      "imports": "@/lib/network/client,@/lib/onboard/auth-policy,@/lib/onboard/integrations,@/lib/onboard/platform,next/server",
      "lines": 70,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "b7079c31534fa1092489d2e8",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:default, metadata | imports:../[locale]/jobs/page | frontend-score:85 | ui-score:55 | automation-score:50",
      "exports": "default,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f30e64bb827b7f0f",
      "framework": "next-react",
      "imports": "../[locale]/jobs/page",
      "lines": 2,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "1048271e19537e9434e81aaf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ed58b3a3263be5e8",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "602501614adf01637bafb2ad",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d318cfa0a1c4a9b2",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sw.js/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "c8a1537904d06643637ff5b2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "728c94fab986f457",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "docs/CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "cc6c2721f0250476968fd2f1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f29f54eba64a18b7",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "PRINCIPLES",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "docs/PRINCIPLES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "386262b6a52147f9503bb4c6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4a723eb7001ad46b",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "36ef8d30e2b787115db5e01d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6f8999a3cf14d70b",
      "framework": "next-react",
      "imports": "",
      "lines": 472,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e119efd6acfb89a443418cc9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "docs/License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "8c1ee44349ee8aace2065c1b",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib,crypto,fs,next,path",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/markdown, @/lib/seo-generator, crypto, fs, next/server, path | process-score:145 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a0eda0f475189cd",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/markdown,@/lib/seo-generator,crypto,fs,next/server,path",
      "lines": 1293,
      "logic_relevance": "none",
      "name": "anoms-do-not-delete",
      "normalized_name": "anoms-do-not-delete",
      "package_manager": "pnpm",
      "path": "docs/anoms-do-not-delete.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "7163a296004813a7747281bd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5118a5e32930e2e4",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "docs/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security,ai",
      "component_id": "bfa9b85f5685fb1e8fe4a909",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31b2993d4b44b04a",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "phase-2-automation",
      "normalized_name": "phase-2-automation",
      "package_manager": "pnpm",
      "path": "docs/phase-2-automation.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "7b6fe55ddbf177d1ffda9313",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73b3d2d4b0794a9f",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "deep-research-report-v2",
      "normalized_name": "deep-research-report-v2",
      "package_manager": "pnpm",
      "path": "docs/deep-research-report-v2.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "18e6f54cb9c3a5978096fddc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d1e8f15e1b69358c",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "LOCAL_DEV",
      "normalized_name": "local-dev",
      "package_manager": "pnpm",
      "path": "docs/LOCAL_DEV.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "28aaeeff85102fb454cb1828",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "092f9b12c3377382",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "3cb732f34c57bc8e463d9385",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3318909b8feb3479",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "minimum-discoverability-matrix",
      "normalized_name": "minimum-discoverability-matrix",
      "package_manager": "pnpm",
      "path": "docs/minimum-discoverability-matrix.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5bd88331a5ba81122e79bccd",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "75e3ed92b51aa99a",
      "framework": "next-react",
      "imports": "",
      "lines": 405,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,ai",
      "component_id": "057d04218c2ca52046acc5d7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0e366aba1ca324e1",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "docs/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "68b86389291368816defb88b",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@hookform/resolvers,@modelcontextprotocol/sdk,@neondatabase/serverless,@vercel/og,@vercel/toolbar,next,react-hook-form,zod",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:runtime, sql | imports:@hookform/resolvers/zod, @modelcontextprotocol/sdk/server/mcp.js, @modelcontextprotocol/sdk/server/web.js, @neondatabase/serverless, @vercel/og, @vercel/toolbar/next, next/og, react-hook-form | process-score:145 | backend-score:105 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime,sql",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8d675a27f4bd68d7",
      "framework": "next-react",
      "imports": "@hookform/resolvers/zod,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/web.js,@neondatabase/serverless,@vercel/og,@vercel/toolbar/next,next/og,react-hook-form,zod",
      "lines": 359,
      "logic_relevance": "none",
      "name": "PACKAGES",
      "normalized_name": "packages",
      "package_manager": "pnpm",
      "path": "docs/PACKAGES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "099a2d784834564b8eb3d5a1",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7b382bf25a44fa55",
      "framework": "next-react",
      "imports": "",
      "lines": 578,
      "logic_relevance": "none",
      "name": "NEW_INTERNET_V1_FULL_SPEC",
      "normalized_name": "new-internet-v1-full-spec",
      "package_manager": "pnpm",
      "path": "docs/NEW_INTERNET_V1_FULL_SPEC.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ed0fe1b4ee209638fcbe152d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1101e1641bd370de",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "docs/SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "58a18a7b1465c2b42b955765",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d2b261c8c4352502",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n,lucide-react,next/navigation",
      "lines": 55,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7c53438acfc0a0f070890f39",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibleThemeSwitcher | imports:@/components/ui/button, @/lib/site-config, @/lib/utils, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AccessibleThemeSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab8637026a5e7188",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/site-config,@/lib/utils,lucide-react,next-themes,react",
      "lines": 443,
      "logic_relevance": "none",
      "name": "accessible-theme-switcher",
      "normalized_name": "accessible-theme-switcher",
      "package_manager": "pnpm",
      "path": "components/accessible-theme-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3b3fce2432912d4ec696d78e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:TooltipNote | imports:lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "TooltipNote",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "920deca3b9204f39",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "tooltip-note",
      "normalized_name": "tooltip-note",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip-note.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e4452fed326214e0c4cb3b3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3c4645f6bc27634b927a661b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bee5b1828bd14f20175c045a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumbs | imports:next/link | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f168e762bf044e94",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 45,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumbs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "afa3c21e8f25d950fb44ccc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8fce8a1ca1d5057232aecbdc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c414fc3681b79a5a6638d7a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5c23b1b203fe372a801be13c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0ef4ff6d9d09c9fdef6c07a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bfd595d5cc47f6e6b57cdbc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c74452c28d1cf6e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 130,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "0eb51d4214dbf51fcb7ee2ce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a318430d2c7adcf06a809b3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "eecbff0b69f54ff0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 209,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4208c4a509ac9db0c54ec6b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4a78015d13d9ebc370e13e03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b7cb92e09c5aac218668054f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6f54706b6648e5536eadafa5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c13459e0e43e8a6",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 87,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/sections/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ac80b1a4eb3bb88139931f84",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorks | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HowItWorks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "deb8c84077674ec8",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "how-it-works",
      "normalized_name": "how-it-works",
      "package_manager": "pnpm",
      "path": "components/sections/how-it-works.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "54488e080405ff29e2b3c700",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkShowcase | imports:@/components/ui/badge, @/lib/db/types, @/lib/utils, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e508a2fbf2a85a4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/lib/db/types,@/lib/utils,next/link,react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "network-showcase",
      "normalized_name": "network-showcase",
      "package_manager": "pnpm",
      "path": "components/sections/network-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "8728f913af11c13f1e46f87e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Benefits | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Benefits",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97d0734ce647c2fe",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 95,
      "logic_relevance": "none",
      "name": "benefits",
      "normalized_name": "benefits",
      "package_manager": "pnpm",
      "path": "components/sections/benefits.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fd865fbc903fc81ef4aa3b3d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApplicationForm | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/field, @/components/ui/input, @/components/ui/spinner, @/components/ui/textarea, @/components/ui/tooltip-note | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApplicationForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47c89d22d5aad66b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/field,@/components/ui/input,@/components/ui/spinner,@/components/ui/textarea,@/components/ui/tooltip-note,@/lib/registration/types,react",
      "lines": 937,
      "logic_relevance": "none",
      "name": "application-form",
      "normalized_name": "application-form",
      "package_manager": "pnpm",
      "path": "components/forms/application-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "21ceb2d198dfc8042de0ab0f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "30a6443111b25f1c",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 168,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "4bf88390417841bf7dcdabdc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/accessible-theme-switcher, @/components/locale-switcher, @/components/ui/button, @/lib/i18n/provider, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4d637da8d13c5ba",
      "framework": "next-react",
      "imports": "@/components/accessible-theme-switcher,@/components/locale-switcher,@/components/ui/button,@/lib/i18n/provider,next/link,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "5f87a4fd65c8c9876c57a4df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | imports:@/lib/i18n/config | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5842cce7fd71cae",
      "framework": "next-react",
      "imports": "@/lib/i18n/config",
      "lines": 362,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation,ai",
      "component_id": "fe2c2934c4438d352ad96a08",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "662e7c1e2ceaa58c",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "4f4e29fb107810d41e74e52b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/integrations/post-registration, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa6a0fff53f06dfe",
      "framework": "next-react",
      "imports": "@/lib/integrations/post-registration,vitest",
      "lines": 79,
      "logic_relevance": "none",
      "name": "post-registration.test",
      "normalized_name": "post-registration",
      "package_manager": "pnpm",
      "path": "__tests__/integrations/post-registration.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic",
      "component_id": "ae7f3e79d7bab85dc2f1d964",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/markdown, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "083dd1df670d99aa",
      "framework": "next-react",
      "imports": "@/lib/markdown,vitest",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "markdown.test",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "__tests__/lib/markdown.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,logic,observability,security,automation,ai",
      "component_id": "e754970d626fee687d08af71",
      "component_kind": "onboarding",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/onboard/auth-policy, @/lib/onboard/model, @/lib/onboard/trace, vitest | process-score:80 | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "47927cbab12454d4",
      "framework": "next-react",
      "imports": "@/lib/onboard/auth-policy,@/lib/onboard/model,@/lib/onboard/trace,vitest",
      "lines": 54,
      "logic_relevance": "secondary",
      "name": "onboard-platform-helpers.test",
      "normalized_name": "onboard-platform-helpers",
      "package_manager": "pnpm",
      "path": "__tests__/lib/onboard-platform-helpers.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3ddf448a7ce19cf9165411b8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/submissions/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1078ea9863a25738",
      "framework": "next-react",
      "imports": "@/app/api/submissions/route,vitest",
      "lines": 127,
      "logic_relevance": "none",
      "name": "submissions-routes.test",
      "normalized_name": "submissions-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/submissions-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "e5f04851119af861c972babf",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/keys/route, @/app/api/webhooks/route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cb3d46b04f23c82c",
      "framework": "next-react",
      "imports": "@/app/api/keys/route,@/app/api/webhooks/route,vitest",
      "lines": 140,
      "logic_relevance": "none",
      "name": "keys-and-webhooks-routes.test",
      "normalized_name": "keys-and-webhooks-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/keys-and-webhooks-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "6f4ad0540f1561ae0c198dbd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/cron/refresh/route, @/app/api/v1/model/onboard/route, @/app/sitemap-main.xml/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "34b825f6b0bbb25f",
      "framework": "next-react",
      "imports": "@/app/api/cron/refresh/route,@/app/api/v1/model/onboard/route,@/app/sitemap-main.xml/route,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "phase1-platform-routes.test",
      "normalized_name": "phase1-platform-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/phase1-platform-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,observability",
      "component_id": "a4190ba2ca9d41f2518459b2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/check-subdomain/route, @/app/api/v1/subdomains/check/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "041d5b52733a9560",
      "framework": "next-react",
      "imports": "@/app/api/check-subdomain/route,@/app/api/v1/subdomains/check/route,vitest",
      "lines": 102,
      "logic_relevance": "none",
      "name": "check-subdomain.test",
      "normalized_name": "check-subdomain",
      "package_manager": "pnpm",
      "path": "__tests__/api/check-subdomain.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "ada3281148334248918d3573",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/integrations/route, @/app/api/mcp/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c4115ba56ac37d8a",
      "framework": "next-react",
      "imports": "@/app/api/integrations/route,@/app/api/mcp/route,vitest",
      "lines": 61,
      "logic_relevance": "none",
      "name": "integrations-routes.test",
      "normalized_name": "integrations-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/integrations-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "be8f4b4f60853d6390f1de32",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/applications/[id]/review/route, @/app/api/v1/applications/[id]/submit/route, @/app/api/v1/applications/status/[token]/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a94a273052115863",
      "framework": "next-react",
      "imports": "@/app/api/v1/applications/[id]/review/route,@/app/api/v1/applications/[id]/submit/route,@/app/api/v1/applications/status/[token]/route,vitest",
      "lines": 117,
      "logic_relevance": "none",
      "name": "application-status-review.test",
      "normalized_name": "application-status-review",
      "package_manager": "pnpm",
      "path": "__tests__/api/application-status-review.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "571a8929b162f60d67f6ddf9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/capabilities/route, @/app/api/docs/route, @/app/api/health/route, @/app/api/openapi/route, @/app/api/version/route, @/app/rss.xml/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09861f5185f29797",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route,@/app/api/docs/route,@/app/api/health/route,@/app/api/openapi/route,@/app/api/version/route,@/app/rss.xml/route,vitest",
      "lines": 107,
      "logic_relevance": "none",
      "name": "discoverability-routes.test",
      "normalized_name": "discoverability-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/discoverability-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "ad0e098eec9995ea8ec692a3",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/url-preview/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "54c27b0bcadde901",
      "framework": "next-react",
      "imports": "@/app/api/url-preview/route,vitest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "url-preview.test",
      "normalized_name": "url-preview",
      "package_manager": "pnpm",
      "path": "__tests__/api/url-preview.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "8323ad038619ea4d1ba5c899",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/settings/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "199a98cf1bf42c4b",
      "framework": "next-react",
      "imports": "@/app/api/settings/route,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "settings-route.test",
      "normalized_name": "settings-route",
      "package_manager": "pnpm",
      "path": "__tests__/api/settings-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability,discovery,process",
      "component_id": "5fa1170f84f4913ea40fb7ae",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/project-docs/[slug]/route, @/app/api/project-docs/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b0233b3a44706ab4",
      "framework": "next-react",
      "imports": "@/app/api/project-docs/[slug]/route,@/app/api/project-docs/route,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "docs-routes.test",
      "normalized_name": "docs-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f3c13237a60b0af6a27a7805",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/submissions/[id]/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f5f6ecc0caee4fef",
      "framework": "next-react",
      "imports": "@/app/api/submissions/[id]/route,vitest",
      "lines": 138,
      "logic_relevance": "none",
      "name": "submission-review-routes.test",
      "normalized_name": "submission-review-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/submission-review-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "363cd89775d177828a9c3778",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/sw.js/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7336579794aa9a69",
      "framework": "next-react",
      "imports": "@/app/sw.js/route,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "sw-route.test",
      "normalized_name": "sw-route",
      "package_manager": "pnpm",
      "path": "__tests__/api/sw-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "bfe5679ccae48cfc85522b46",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/documents/[slug]/route, @/app/api/documents/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "89c01f61fe70382f",
      "framework": "next-react",
      "imports": "@/app/api/documents/[slug]/route,@/app/api/documents/route,vitest",
      "lines": 206,
      "logic_relevance": "none",
      "name": "documents-routes.test",
      "normalized_name": "documents-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/documents-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "510603a8b90028125d4b9654",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/applications/[id]/route, @/app/api/applications/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "12ec6088760b948b",
      "framework": "next-react",
      "imports": "@/app/api/applications/[id]/route,@/app/api/applications/route,vitest",
      "lines": 108,
      "logic_relevance": "none",
      "name": "applications.test",
      "normalized_name": "applications",
      "package_manager": "pnpm",
      "path": "__tests__/api/applications.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,observability,automation",
      "component_id": "d741148564ab5e56fb01dfa7",
      "component_kind": "onboarding",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/onboarding/orchestrator, vitest | process-score:80 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aad6a1d58aa5d842",
      "framework": "next-react",
      "imports": "@/lib/onboarding/orchestrator,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "quick-onboarding.test",
      "normalized_name": "quick-onboarding",
      "package_manager": "pnpm",
      "path": "__tests__/onboarding/quick-onboarding.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "5390c7a78ae607cbd40e7a4e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "87a96488b308599b",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "b5d78b04a7cc52e3f551582b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "175c464f32523e47",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "01ff2b274856ac876bc1476c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ff9d1c022b3d0a45",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "ee9148dfb17ca28af5c114ca",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, CategoryCreateInput, DocumentCreateInput, DocumentUpdateInput, SubmissionCreateInput, WebhookCreateInput, apiError, apiResponse | imports:@/lib/db, @/lib/logger, @/lib/site-config, crypto, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "APIResponse,CategoryCreateInput,DocumentCreateInput,DocumentUpdateInput,SubmissionCreateInput,WebhookCreateInput,apiError,apiResponse,generateApiKey,generateRequestId,generateSlug,getPaginationParams,hasScope",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2695e4c8657879b3",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/site-config,crypto,next/server",
      "lines": 285,
      "logic_relevance": "primary",
      "name": "api-helpers",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "lib/api-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "2a587537b2fad72d9c82838d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, TranslationKey, localeNames, locales, t, useTranslations | imports:./site-config | logic-score:70 | security-score:55 | automation-score:45",
      "exports": "Locale,TranslationKey,localeNames,locales,t,useTranslations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "484eac62538b918d",
      "framework": "next-react",
      "imports": "./site-config",
      "lines": 1241,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,observability,security,automation",
      "component_id": "73659a0e4abed0ddc8743ba4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarkdownOptions, TableOfContentsItem, extractTableOfContents, getExcerpt, htmlToPlainText, parseMarkdown, processEmoji, sanitizeMarkdownUrl | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownOptions,TableOfContentsItem,extractTableOfContents,getExcerpt,htmlToPlainText,parseMarkdown,processEmoji,sanitizeMarkdownUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aca2f17389819a6b",
      "framework": "next-react",
      "imports": "",
      "lines": 425,
      "logic_relevance": "primary",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "lib/markdown.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "ba3b299b3d77b6163f898800",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AEOMetadata, DocumentMeta, FullOptimization, GEOMetadata, SEOMetadata, ShareLink, calculateReadingTime, extractFAQFromContent | imports:./db, ./site-config | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AEOMetadata,DocumentMeta,FullOptimization,GEOMetadata,SEOMetadata,ShareLink,calculateReadingTime,extractFAQFromContent,extractKeyFacts,extractKeywords,extractQuestions,generateAEOMetadata,generateDescription,generateDirectAnswer,generateEmojiSummary,generateGEOMetadata,generateShareLinks,generateStructuredData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a9428c9612a2d77c",
      "framework": "next-react",
      "imports": "./db,./site-config",
      "lines": 606,
      "logic_relevance": "primary",
      "name": "seo-generator",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "lib/seo-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "75741842d06ceaa7e4977525",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation,ai",
      "component_id": "8d21a83808ceddbe207c7cc1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:API_KEY_PREFIX, BASE_URL, CONDUCT_EMAIL, CONTACT_EMAIL, DB_DEFAULTS, DEFAULT_KEYWORDS, DISCORD_URL, ECOSYSTEM | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "API_KEY_PREFIX,BASE_URL,CONDUCT_EMAIL,CONTACT_EMAIL,DB_DEFAULTS,DEFAULT_KEYWORDS,DISCORD_URL,ECOSYSTEM,GITHUB_ORG,GITHUB_REPO,MCP_REGISTRY_URL,NETWORK_GRAPH_URL,ORG_NAME,ORG_URL,SECURITY_EMAIL,SERVICE_NAME,SESSION_SALT,SITE_DESCRIPTION,SITE_GENERATOR,SITE_NAME,SITE_TAGLINE,SITE_TITLE,STORAGE_PREFIX,SUPPORT_EMAIL,WEBHOOK_EVENT_HEADER,WEBHOOK_SIGNATURE_HEADER",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d03c4584323aab62",
      "framework": "next-react",
      "imports": "",
      "lines": 135,
      "logic_relevance": "secondary",
      "name": "site-config",
      "normalized_name": "site-config",
      "package_manager": "pnpm",
      "path": "lib/site-config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "dcd5e82a2b3ffceb65687586",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, generateRequestId, getRequestContext, logger | imports:./site-config, crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "LogContext,LogLevel,generateRequestId,getRequestContext,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5904219adb0f718c",
      "framework": "next-react",
      "imports": "./site-config,crypto",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "0fd368caa79bd182afaa0a5b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmojiResult, EmojiSummary, enhanceWithEmojis, getCategoryEmoji, getCategoryEmojis, parseEmojiShortcodes | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EmojiResult,EmojiSummary,enhanceWithEmojis,getCategoryEmoji,getCategoryEmojis,parseEmojiShortcodes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e530556c8a5f571",
      "framework": "next-react",
      "imports": "",
      "lines": 334,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "eb7fb0c96bb5a1f3f248574a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintComponents, GeoInfo, Session, extractGeoInfo, generateJA4Fingerprint, generateSessionHash | imports:./db, ./site-config, crypto, next/headers | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "FingerprintComponents,GeoInfo,Session,extractGeoInfo,generateJA4Fingerprint,generateSessionHash",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "44eb08ae34444b94",
      "framework": "next-react",
      "imports": "./db,./site-config,crypto,next/headers",
      "lines": 279,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "e0f2ff97f219ec3e13e11f3f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateSimpleSlug, titleFromUrl | imports:crypto | logic-score:85 | observability-score:55",
      "exports": "generateSimpleSlug,titleFromUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45cd48909f2ec795",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "auto-name",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "lib/auto-name.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "09be99cce4a6e31109786397",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:build, compatibility, environment, timestamp, vercel, version | logic-score:45 | automation-score:45 | uses-env",
      "exports": "build,compatibility,environment,timestamp,vercel,version",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b9ec593ba9cdcc6f",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/version.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "17b6ef1fd0e2ce6e38bd2bb1",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiKey, AuditLog, Category, DEFAULT_TENANT_ID, Document, MCPSession, SqlClient, Submission | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiKey,AuditLog,Category,DEFAULT_TENANT_ID,Document,MCPSession,SqlClient,Submission,Tenant,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72045c6e56d560aa",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 162,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c6dbb0d31e79596d4371f9cd",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreatorApplication, CreatorType, RESERVED_SUBDOMAINS, RegistrationResult, RegistrationStep, SiteRegistration, SiteVertical, SubdomainCheckResult | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CreatorApplication,CreatorType,RESERVED_SUBDOMAINS,RegistrationResult,RegistrationStep,SiteRegistration,SiteVertical,SubdomainCheckResult,UrlMetadata,mapCreatorTypeToVertical",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "64b53b0ad8ef4b5c",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/registration/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "9e4c92801c825ade42b7e2ba",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_CATEGORIES, NETWORK_SITES, NetworkCategory, filterSitesByCategory, generateNetworkManifest, getNetworkStats, searchSites | imports:@/lib/db/types, @/lib/onboard/platform, @/lib/onboard/trace | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "NETWORK_CATEGORIES,NETWORK_SITES,NetworkCategory,filterSitesByCategory,generateNetworkManifest,getNetworkStats,searchSites",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ef896e8ab2169498",
      "framework": "next-react",
      "imports": "@/lib/db/types,@/lib/onboard/platform,@/lib/onboard/trace",
      "lines": 229,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/network/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,security,automation",
      "component_id": "7e523f383e5044daeb4b5d7c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IntegrationStatus, OnboardIntegration, getOnboardIntegrations | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "IntegrationStatus,OnboardIntegration,getOnboardIntegrations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "49b8b6e1fabf076c",
      "framework": "next-react",
      "imports": "",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "integrations",
      "normalized_name": "integrations",
      "package_manager": "pnpm",
      "path": "lib/onboard/integrations.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,process,observability,ai",
      "component_id": "2274271c481f921a09262e05",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_SITEMAP_INDEX_URL, CREATOR_TYPES, NETWORK_GRAPH_URL, NetworkSnapshot, ONBOARD_BASE_URL, ONBOARD_MCP_PROMPTS, ONBOARD_MCP_RESOURCES, ONBOARD_MCP_TOOLS | imports:@/lib/db/types | logic-score:85 | process-score:80 | observability-score:55 | ai-score:45",
      "exports": "BASE_SITEMAP_INDEX_URL,CREATOR_TYPES,NETWORK_GRAPH_URL,NetworkSnapshot,ONBOARD_BASE_URL,ONBOARD_MCP_PROMPTS,ONBOARD_MCP_RESOURCES,ONBOARD_MCP_TOOLS,SUPPORTED_LANGUAGES,countMcpTools,countSitemapEntries,normalizeGraphSites,redactEmail,restError,restOk",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cccc1dd7c8cb55b9",
      "framework": "next-react",
      "imports": "@/lib/db/types",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/onboard/platform.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,process,observability,security",
      "component_id": "96e1107e9b627d0dc35cfcf6",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelInput, ModelResult, ModelTask | imports:./trace | ai-score:120 | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ModelInput,ModelResult,ModelTask",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "91106d45659f1c92",
      "framework": "next-react",
      "imports": "./trace",
      "lines": 66,
      "logic_relevance": "secondary",
      "name": "model",
      "normalized_name": "model",
      "package_manager": "pnpm",
      "path": "lib/onboard/model.ts",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,process,observability,security",
      "component_id": "8c362796f4b1567767609653",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AccessClassification, AuthPolicy, classifyRoute, getAuthPolicy, getPlatformToken, isPlatformAuthEnforced | imports:next/server | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AccessClassification,AuthPolicy,classifyRoute,getAuthPolicy,getPlatformToken,isPlatformAuthEnforced",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "776c662fdac2bf1e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "auth-policy",
      "normalized_name": "auth-policy",
      "package_manager": "pnpm",
      "path": "lib/onboard/auth-policy.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,process,automation",
      "component_id": "1e33fdbf1b5e4a24a6b30318",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, buildTraceHeaders, captureVercelRequestMetadata, createTraceContext, traceLink | imports:crypto, next/server | logic-score:85 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "TraceContext,buildTraceHeaders,captureVercelRequestMetadata,createTraceContext,traceLink",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5eb0ee00ac66995e",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/onboard/trace.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "e355f4dc7d7bb0be1806a561",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BOILERPLATE_OWNER, BOILERPLATE_REPO, GITHUB_API, ORG_NAME | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BOILERPLATE_OWNER,BOILERPLATE_REPO,GITHUB_API,ORG_NAME",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f261dbc7f98da65d",
      "framework": "next-react",
      "imports": "",
      "lines": 522,
      "logic_relevance": "primary",
      "name": "github",
      "normalized_name": "github",
      "package_manager": "pnpm",
      "path": "lib/integrations/github.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "85865cfe80c2b4148979b51e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_DELAY_MS, MAX_ATTEMPTS, RETRYABLE_STATUS | imports:@/lib/onboarding/orchestrator | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BASE_DELAY_MS,MAX_ATTEMPTS,RETRYABLE_STATUS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "53f46df44623de6e",
      "framework": "next-react",
      "imports": "@/lib/onboarding/orchestrator",
      "lines": 273,
      "logic_relevance": "primary",
      "name": "post-registration",
      "normalized_name": "post-registration",
      "package_manager": "pnpm",
      "path": "lib/integrations/post-registration.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "f87d3f83868b4c318a9720ae",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:DOMAIN_SUFFIX, VERCEL_API | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DOMAIN_SUFFIX,VERCEL_API",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4ccff89178825d66",
      "framework": "next-react",
      "imports": "",
      "lines": 284,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/integrations/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "3b3c396f5fcb7bab9c214f26",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SubdomainCheckResult, getAllKnownSubdomains | imports:./client, ./types, @/lib/network/client | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SubdomainCheckResult,getAllKnownSubdomains",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3bcf38c5ca816656",
      "framework": "next-react",
      "imports": "./client,./types,@/lib/network/client",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "subdomains",
      "normalized_name": "subdomains",
      "package_manager": "pnpm",
      "path": "lib/db/subdomains.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "e7a837ac9e6a779832930d0c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Application, ApplicationStatus, FAQEntry, JobPosting, NetworkSite, OnboardingEvent, RegisteredSubdomain, ReviewDecision | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Application,ApplicationStatus,FAQEntry,JobPosting,NetworkSite,OnboardingEvent,RegisteredSubdomain,ReviewDecision,UserSession",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8b4747720862a881",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/db/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "9782029941f2607b36140dd0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EntityType, TABLE_NAME, createId, docClient | imports:@aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, @vercel/functions/oidc | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "EntityType,TABLE_NAME,createId,docClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7ed927a15766bb6a",
      "framework": "next-react",
      "imports": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions/oidc",
      "lines": 275,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/db/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "e75ed75f204b3a225f6c3946",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "nanoid",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateApplicationId, generatePublicStatusToken, getApplicationById | imports:./client, ./types, nanoid | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "generateApplicationId,generatePublicStatusToken,getApplicationById",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b8d1a6a7d244a8df",
      "framework": "next-react",
      "imports": "./client,./types,nanoid",
      "lines": 312,
      "logic_relevance": "primary",
      "name": "applications",
      "normalized_name": "applications",
      "package_manager": "pnpm",
      "path": "lib/db/applications.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,logic",
      "component_id": "46175c8dc17b121e6547c992",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:TABLE_NAME, addApplicationToSession, checkHealth, checkSubdomainAvailability, clearFormState, createApplication, generateApplicationId, generatePublicStatusToken | imports:./applications, ./client, ./sessions, ./subdomains, ./types | backend-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "TABLE_NAME,addApplicationToSession,checkHealth,checkSubdomainAvailability,clearFormState,createApplication,generateApplicationId,generatePublicStatusToken,generateSessionId,getAllKnownSubdomains,getApplication,getApplicationById,getApplicationByStatusToken,getApplicationBySubdomain,getApplicationStats,getSession,getSubdomain,isSubdomainAvailable,isSubdomainTaken,listApplicationsByStatus,listRecentApplications,listSubdomains,registerSubdomain,reviewApplication,saveFormState,submitApplication,updateApplicationStatus,upsertSession",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c4a921d7137f7966",
      "framework": "next-react",
      "imports": "./applications,./client,./sessions,./subdomains,./types",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/db/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "db39c4f6a287b3d6eaf03acf",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "nanoid",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateSessionId | imports:./client, ./types, nanoid | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "generateSessionId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2c5db5710ff2cbba",
      "framework": "next-react",
      "imports": "./client,./types,nanoid",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "sessions",
      "normalized_name": "sessions",
      "package_manager": "pnpm",
      "path": "lib/db/sessions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "84824cc0d7bfdbeff58e5c49",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, getLocaleFromPathname, getLocalePaths, isRTL, localeConfig, locales | logic-score:85 | observability-score:55",
      "exports": "Locale,defaultLocale,getLocaleFromPathname,getLocalePaths,isRTL,localeConfig,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "394f02c20b0b2655",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,logic,security,ai",
      "component_id": "140950e7aa72670157137166",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, useLocale, useTranslations | imports:react | frontend-score:90 | ui-score:70 | logic-score:70 | security-score:55 | ai-score:45",
      "exports": "I18nProvider,useLocale,useTranslations",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "136fda70f5130543",
      "framework": "next-react",
      "imports": "react",
      "lines": 78,
      "logic_relevance": "secondary",
      "name": "provider",
      "normalized_name": "provider",
      "package_manager": "pnpm",
      "path": "lib/i18n/provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "4d20b6d6e6f3253dbf2ff7b4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FAQ, FAQS, FAQ_CATEGORIES, generateFAQSchema, getFAQsByCategory, getUsedCategories | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQ,FAQS,FAQ_CATEGORIES,generateFAQSchema,getFAQsByCategory,getUsedCategories",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "72271f10dc389e7d",
      "framework": "next-react",
      "imports": "",
      "lines": 171,
      "logic_relevance": "primary",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "lib/data/faq.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,observability,security,ai",
      "component_id": "f2737f798ba44c4fa6fb9495",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JOBS, Job, generateJobPostingSchema, getDepartments, getFeaturedJobs, getJobsByDepartment | automation-score:95 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JOBS,Job,generateJobPostingSchema,getDepartments,getFeaturedJobs,getJobsByDepartment",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f7983fb7bccb7b79",
      "framework": "next-react",
      "imports": "",
      "lines": 254,
      "logic_relevance": "secondary",
      "name": "jobs",
      "normalized_name": "jobs",
      "package_manager": "pnpm",
      "path": "lib/data/jobs.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,security,automation",
      "component_id": "fd6844c3ca8790cceddf04ac",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OnboardingApplication, OnboardingResult, OnboardingStep, createSiteConfig, createTrackingDocument, generateApiKey, generateApplicationId | imports:@/lib/integrations/github, @/lib/integrations/post-registration, @/lib/integrations/vercel | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "OnboardingApplication,OnboardingResult,OnboardingStep,createSiteConfig,createTrackingDocument,generateApiKey,generateApplicationId",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cb4526d68adc34c2",
      "framework": "next-react",
      "imports": "@/lib/integrations/github,@/lib/integrations/post-registration,@/lib/integrations/vercel",
      "lines": 387,
      "logic_relevance": "primary",
      "name": "orchestrator",
      "normalized_name": "orchestrator",
      "package_manager": "pnpm",
      "path": "lib/onboarding/orchestrator.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "ec7f1e3deca0832a58c78098",
      "component_kind": "onboarding",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "800178bf94c037be",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 118,
      "logic_relevance": "none",
      "name": "onboarding-wizard.spec",
      "normalized_name": "onboarding-wizard",
      "package_manager": "pnpm",
      "path": "e2e/onboarding-wizard.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-onboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,observability,security",
      "component_id": "4f22248bff0372232a4e0ef3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d2106fc9886ccf00",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4e64c2c37d8bfbe2bfdda735",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a5db7306ebf5570",
      "framework": "next-react",
      "imports": "",
      "lines": 8269,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d1cab3c12a4f36e91b16e670",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:API_ROUTES, CLAWS_INSTANCE, CLAWS_VERSION, EXCLUDED_EXTENSIONS, EXCLUDED_PATHS, TRUSTED_ORIGINS | imports:next/server | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "API_ROUTES,CLAWS_INSTANCE,CLAWS_VERSION,EXCLUDED_EXTENSIONS,EXCLUDED_PATHS,TRUSTED_ORIGINS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6da1c8b39abb0cc0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 271,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "268e8b56f89e24a32a209084",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:TRUSTED_ORIGINS | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "TRUSTED_ORIGINS",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c5cd1a03178d2262",
      "framework": "next-react",
      "imports": "",
      "lines": 464,
      "logic_relevance": "none",
      "name": "sandbox",
      "normalized_name": "sandbox",
      "package_manager": "pnpm",
      "path": "sandbox.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "d408923f35761fcbd75972d7",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1638ca6009fd6449",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "code_health_pr",
      "normalized_name": "code-health-pr",
      "package_manager": "pnpm",
      "path": "code_health_pr.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "203a3645a5ab677658d1b5ed",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "324f30aa5f446f76",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "aea97a75ec4ee2301e923660",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "246f3bc63729495c",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "enhancement-plan",
      "normalized_name": "enhancement-plan",
      "package_manager": "pnpm",
      "path": "enhancement-plan.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "29a35f5df6f4f225b8bdf7d0",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bf0cd3a0a9fa7e12",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "submit_message",
      "normalized_name": "submit-message",
      "package_manager": "pnpm",
      "path": "submit_message.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ee6b4a22897108a39eaad2c8",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "b0a5a84ae0f94683",
      "framework": "next-react",
      "imports": "next",
      "lines": 119,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "605bb707cb4dcdd5b027b0a1",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:PROMPTS, SECURITY_HEADERS | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "PROMPTS,SECURITY_HEADERS",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f4781bbb69edb0c6",
      "framework": "next-react",
      "imports": "",
      "lines": 448,
      "logic_relevance": "none",
      "name": "platphormnews-architecture",
      "normalized_name": "platphormnews-architecture",
      "package_manager": "pnpm",
      "path": "platphormnews-architecture.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "09f5062067971bfc1aca958f",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cbedaac24da95b9f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "92c6f3c3d210d51431cb6361",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28f30d9184eaf1cf",
      "framework": "next-react",
      "imports": "",
      "lines": 12726,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cb1430d7bd30d60141e8f7b1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "46b3514ddf3e4f39",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "a8bc2bef857ce24a24b22d4a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b61807746ea5040e",
      "framework": "next-react",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "e19b1ee00d26434277ee4878",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "72db2302bb1dc1df",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "pnpm",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d4c37df7145b24812a2046d8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f1a722336d9bee3",
      "framework": "next-react",
      "imports": "",
      "lines": 454,
      "logic_relevance": "none",
      "name": "standards-references",
      "normalized_name": "standards-references",
      "package_manager": "pnpm",
      "path": "standards-references.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "c97b7c8dbe46c6f3af560c06",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8ba4bc3e606d3902",
      "framework": "next-react",
      "imports": "next",
      "lines": 83,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "78de9de3a4a21a1547f92cfc",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/network/discovery, next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28c34037ce9fde7f",
      "framework": "next-react",
      "imports": "@/lib/network/discovery,next",
      "lines": 112,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "14ae48c0f6de93a6f4877bc2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,next-themes",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/seo/json-ld, @vercel/analytics/next, next, next-themes, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8974c12998634d77",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@vercel/analytics/next,next,next-themes,next/font/google",
      "lines": 110,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "ced59001cea733cf77821e62",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5e88f1c950b0cb35",
      "framework": "next-react",
      "imports": "next",
      "lines": 59,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5fa549fce96a1f265e0dd267",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a9b1821ac5170e0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,next/link,react,swr",
      "lines": 605,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a50a0fa78c478bb60ddf00ce",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ebb5d5f82ceb36b3",
      "framework": "next-react",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "13c0d4bc728cbbfc8439b72e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/rss/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1376fda2adb708ca",
      "framework": "next-react",
      "imports": "@/app/api/rss/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "d53dd3b6dda5c81ddbc6baea",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ToolsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7bb7322f6c2c1857",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/utils,lucide-react,next/link,react,swr",
      "lines": 381,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tools/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "fb4674f8d6074e2ce5a57462",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@ai-sdk/react,ai,lucide-react,next,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, @ai-sdk/react, ai, lucide-react, next/link | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "ChatPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc3ffefa466ceecc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,@ai-sdk/react,ai,lucide-react,next/link,react",
      "lines": 336,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/chat/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "7714a8496328a8b8d4406116",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "95695282381235e6",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "f65f9580ad1a1138603adc22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a01ab83420b496dd",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8849c69a097d5d60ecb894c6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b1a2dc5a869a2694",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "88d4e2af3d40dbe8857bc53a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b49dc7c1b01447f4",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "e0488728912d4bd72f9e01fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fe07ba9dc61546e9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "96291ac5552a36f4fb26f851",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78a0e66742523272",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "12772c7b0f9c9d204494d6cc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "871c385309e5d7a9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/utils,lucide-react,next/link,react,swr",
      "lines": 375,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a07e3dac95c81084d35a483d",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/capabilities/route | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84453dc8ff435fc9",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "0c3af1d6edc18a6483af2cc0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/openclaw, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cc1e8ee52726fe3a",
      "framework": "next-react",
      "imports": "@/lib/openclaw,next/server",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/openclaw/memory/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "5102f8caa3c427abd77938bf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,node:crypto",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/crypto, @/lib/openclaw, next/server, node:crypto | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6c3f1a8d435cb0d6",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/openclaw,next/server,node:crypto",
      "lines": 106,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/openclaw/workspace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "39a2b7f5cb16e6c1ac69d5dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/crypto, @/lib/openclaw, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "05899a10b2a84b35",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/openclaw,next/server",
      "lines": 103,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/openclaw/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "f9d8b62499941e324849149f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/openclaw, @/lib/redis, @/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1d74674b3ad98f8a",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/openclaw,@/lib/redis,@/lib/registry,next/server",
      "lines": 199,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "40502d34b9e201b9e0ca9ba0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d307c2bb3bd02451",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "3cc9e7daf58fee1441b3fb41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "52c0ccea371e33e3",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "ea03f60eaee7304f7b941503",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GRAPH_SOURCE_URL, POST | imports:@/lib/auth, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GRAPH_SOURCE_URL,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7a7babb3236d3ce7",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability",
      "component_id": "5e87101f8414d37fd81ab3ed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1c9f3ab14705987",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5d82957a14a60ff46065bc1e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "43272c191bf738f8",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "5f024d0210a6f0f2e6dc11a6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23d93aaec463f908",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "c14841f73078d49f7ea07068",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9117bcaf43ee56a6",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/webhooklab/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "5aea0fc2d9c4c25788ab0608",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e44a2ce8a107443",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/evals/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "38de1e6323052357fa3b32bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5dc8210337339938",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/browserops/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b243010a1a9b4c3b6b0e7aa1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2b809908133ec252",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/sandbox/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "60863fb922bf9f4b581a19f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e0186f957d872a70",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/agentui/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "41dce4e0ca141f68ad06da29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/workflows/templates, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b370007f4a72d49b",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/workflows/templates,next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,process,frontend,observability,automation",
      "component_id": "bbfb4fcb7be36fecb992dda7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/workflows/templates, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d4f490f4d422a8fe",
      "framework": "next-react",
      "imports": "@/lib/workflows/templates,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,process,frontend,observability,security",
      "component_id": "0f60900cadaf17697bc2f592",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/workflows/templates, next/server | backend-score:125 | automation-score:95 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b40c2dd01b304489",
      "framework": "next-react",
      "imports": "@/lib/workflows/templates,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/dry-run/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,process,frontend,observability,security",
      "component_id": "c91d02b04fc2666e5852ee3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/workflows/templates, crypto, next/server | backend-score:125 | automation-score:95 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c371efc046bd0d0e",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/workflows/templates,crypto,next/server",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,process,frontend",
      "component_id": "37760530de0d4278e9ec5433",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | process-score:80 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67ad43e7270d953f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflow-runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,process,frontend,observability",
      "component_id": "e96bd4a6b98cdc7d1c8ff966",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3487c8250e2bf5c0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflow-runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "79d20591884dc886f3f7af08",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "ai,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:ai, zod | backend-score:160 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler | model-provider",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "776d33b507a608b7",
      "framework": "next-react",
      "imports": "ai,zod",
      "lines": 209,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/agent/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "4e333bd6e61da2745eed8d5a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,node:crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/openclaw, @/lib/openclaw/mcp/types, @/lib/utils, next/server, node:crypto | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "785be7020dee12d1",
      "framework": "next-react",
      "imports": "@/lib/openclaw,@/lib/openclaw/mcp/types,@/lib/utils,next/server,node:crypto",
      "lines": 203,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "b37c5c9cfa2a16e11fd6cc3e",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c05f6c6dbe6c90e9",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "3ed1ea2046a740457493de4f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91020e10f14e1e49",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "655d2e812a7c0f799d525d81",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FEED_PATHS, FEED_SYNC_CONCURRENCY, POST | imports:@/lib/auth, @/lib/registry, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "FEED_PATHS,FEED_SYNC_CONCURRENCY,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebe54b39542d69f7",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/registry,@/lib/ssrf,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2d53e481045d0e73fadeb381",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/observability, @/lib/openclaw/integrations/insights, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9f2fc37966928d63",
      "framework": "next-react",
      "imports": "@/lib/observability,@/lib/openclaw/integrations/insights,next/server",
      "lines": 174,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/insights/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "bd61b5773173b66ec1418307",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/crypto, @/lib/observability, @/lib/openclaw/integrations/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dfeb226d486fbf91",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/observability,@/lib/openclaw/integrations/trace,next/server",
      "lines": 254,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "8f233125991b1495fb1d3850",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/crypto, @/lib/openclaw, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a0d64502a832bf37",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/openclaw,next/server",
      "lines": 174,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/gridnet/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,ai",
      "component_id": "94c20bda5c8a8e602f26a99a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openclaw, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a37538aa0f1bdef",
      "framework": "next-react",
      "imports": "@/lib/openclaw,next/server",
      "lines": 97,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "41f187fc9e2fc3c0dc067c96",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openclaw, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "60eb0c54b61960c4",
      "framework": "next-react",
      "imports": "@/lib/openclaw,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/platphormnews/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "a79c03ccfcfd5a5785b973dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef37239451ec2ca8",
      "framework": "next-react",
      "imports": "@/lib/registry,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "25e5ce55e9f0f8e3e96dc45b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SITEMAP_INDEX_URL, SITEMAP_SYNC_CONCURRENCY, SITEMAP_URL_LIMIT | imports:@/lib/auth, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "POST,SITEMAP_INDEX_URL,SITEMAP_SYNC_CONCURRENCY,SITEMAP_URL_LIMIT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae8e94fdf205c7a4",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,next/server",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "23ce8331c47549e870df1b62",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e0fabaef41b8b20",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "38c6e6f462fff037e2df181d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "007af0931ae25802",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b5a1cceeadf1f5c1d285901a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth, @/lib/ssrf, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ceeb62794592d5a",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/ssrf,crypto,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "7ee5e5e4815e8d6b2e454222",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod-to-json-schema",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/ai/platphorm-agent, @/lib/observability, next/server, zod-to-json-schema | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a7b3cc7f8984eb7",
      "framework": "next-react",
      "imports": "@/lib/ai/platphorm-agent,@/lib/observability,next/server,zod-to-json-schema",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "1edd894832b818086042062d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/ai/platphorm-agent, @/lib/observability, ai, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "64a62f5843a432b6",
      "framework": "next-react",
      "imports": "@/lib/ai/platphorm-agent,@/lib/observability,ai,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/tools/execute/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "0add4a4679e8bc3180cdf6f9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openclaw, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "65dd2331e62fc634",
      "framework": "next-react",
      "imports": "@/lib/openclaw,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "5a2e340154c97b59e76cbaea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MCP_HUB, PLATPHORMNEWS_API, POST | imports:@/lib/db, @/lib/opendocs, @/lib/redis, ai, next/headers, zod | backend-score:160 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "MCP_HUB,PLATPHORMNEWS_API,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1acfd9b9eddad6df",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/opendocs,@/lib/redis,ai,next/headers,zod",
      "lines": 448,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b91306455faa32264469e11b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,node:net",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/db, @/lib/redis, next/server, node:net | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2a4e567afde92ff",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/redis,next/server,node:net",
      "lines": 101,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "feddcfbdd8de1f0d9ef378f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network/discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0674c511bb48567d",
      "framework": "next-react",
      "imports": "@/lib/network/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "3e50c1f7a867045c0d25d13d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/observability, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aefdfc78b7e48c31",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/observability,next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rss/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "455a2d4dc3be7ffbc2ca088b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/app/api/v1/mcp/route | backend-score:55 | integration-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "602cd336ebe50c3a",
      "framework": "next-react",
      "imports": "@/app/api/v1/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process,ai",
      "component_id": "2efc3f58978fa04d3cbe259d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b1bb90b2a488460",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 229,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "1d306e49b6a04ef7d2649343",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4535adc43baf0f76",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6e2f47496a440f3d8f3dbc27",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/crypto, @/lib/db, @/lib/redis, @/lib/search, next/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "315820d220ee5042",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/db,@/lib/redis,@/lib/search,next/headers,next/server",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "e48e91d21ba46b357a5ce42a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2854b8899337486d",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 242,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/llms-index/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "5cfae2b03b40cf114e0afb0c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/observability, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "027e3b3415b746e4",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/observability,next/server",
      "lines": 368,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/llms-full/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "fc9d8e6d23a91a399ae87d15",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4dff3441e151d9e",
      "framework": "next-react",
      "imports": "@/lib/network/discovery,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/llms/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "b9a29357919def475ea8a409",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/crypto, @/lib/db, @/lib/observability, @/lib/webhooks, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78a0c65608dff51a",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/db,@/lib/observability,@/lib/webhooks,next/server",
      "lines": 155,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "3df6402f9f00c3757fae5e94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/redis, @/lib/search, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "726a38b37e81f84c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/redis,@/lib/search,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "a6f8d6c6f85cd18e8512bf02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/crypto, @/lib/observability, @/lib/queue, crypto, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e965dac10488fdf",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/observability,@/lib/queue,crypto,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/queue/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "879465d0b124f3445beb826a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/crypto, @/lib/observability, @/lib/webhooks, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b4c60d044fcde8e",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/observability,@/lib/webhooks,next/server",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "a4dfad6d33ba116fce7741ac",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,next-themes",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout, metadata | imports:@/components/dashboard/header, @/components/dashboard/nav, next, next-themes | frontend-score:115 | ui-score:55",
      "exports": "DashboardLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "480350e9923660f3",
      "framework": "next-react",
      "imports": "@/components/dashboard/header,@/components/dashboard/nav,next,next-themes",
      "lines": 29,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "1ff2a4b1ee20c924d2948f4c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, lucide-react, next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ecc32c8bd6c087c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,lucide-react,next/link,react,swr",
      "lines": 320,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security,automation",
      "component_id": "e715c876f25d38c3d6abb33f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@ai-sdk/react,ai,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AgentPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/scroll-area, @ai-sdk/react, ai, lucide-react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "AgentPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "933c0eb53831bc6f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/scroll-area,@ai-sdk/react,ai,lucide-react,react",
      "lines": 267,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/agent/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "44db30267673aae2ebe0b998",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InsightsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/progress, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "InsightsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91539a56a002a4c1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/progress,@/components/ui/tabs,lucide-react,react,swr",
      "lines": 425,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/integrations/insights/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "903852651f979a79862796d6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TracePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/tabs, lucide-react, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TracePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bdffbc6ebd72548",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/tabs,lucide-react,react,swr",
      "lines": 393,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/integrations/trace/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f10f9027a6268805525c6126",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MockHeaders | imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "MockHeaders",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "670694db947285ee",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 209,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "tests/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "df31ada0a12aeee04d9de7bd",
      "component_kind": "sitemap",
      "confidence": 65,
      "dependency_roots": "@/app,vitest",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/app/sitemap, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5ea52a6a95c90ff",
      "framework": "next-react",
      "imports": "@/app/sitemap,vitest",
      "lines": 29,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "tests/sitemap.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "efa477485edd7d0c47ee63a7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "450644e5b1d0a9e8",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 47,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "b3d17f2aca96c31fc2fa4735",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "msw,vitest",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/opendocs, msw, msw/node, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "481687cfa5dc03f4",
      "framework": "next-react",
      "imports": "../lib/opendocs,msw,msw/node,vitest",
      "lines": 133,
      "logic_relevance": "none",
      "name": "opendocs.test",
      "normalized_name": "opendocs",
      "package_manager": "pnpm",
      "path": "tests/opendocs.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "ea0400dc6b2a2872066d8a1f",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "@/app,vitest",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/app/robots, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "188d38ae1f94137b",
      "framework": "next-react",
      "imports": "@/app/robots,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "robots.test",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "tests/robots.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "535979f2f1756a2afc032d8f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/crypto, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea4523c698a0871b",
      "framework": "next-react",
      "imports": "@/lib/crypto,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "timing-attack.test",
      "normalized_name": "timing-attack",
      "package_manager": "pnpm",
      "path": "tests/security/timing-attack.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "9f0f7ab32383f7c2734d196f",
      "component_kind": "ai-integration",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/app/.well-known/ai-plugin.json/route, vitest | ai-score:120 | observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b6ce586ca7c21869",
      "framework": "next-react",
      "imports": "@/app/.well-known/ai-plugin.json/route,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "ai-plugin.test",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "tests/.well-known/ai-plugin.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "611c96b91080cfc8391b527b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "fs,path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:fs, path, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ccaa9a4267be0a8",
      "framework": "next-react",
      "imports": "fs,path,vitest",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "schemas.test",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "tests/schemas/schemas.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "11d72c27f0c577e197babb25",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/sdk/client, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ce2710a1a68405e",
      "framework": "next-react",
      "imports": "../../lib/sdk/client,vitest",
      "lines": 230,
      "logic_relevance": "none",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "tests/sdk/client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "2a57767177b45fd60ce32389",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/hooks,vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/hooks/use-toast, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f37cb26f31f6bc51",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-toast.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic",
      "component_id": "e3ae77d624c3f06cf0bfb952",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "@/lib,@sinclair/typebox,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/schemas/index, @sinclair/typebox, @sinclair/typebox/compiler, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "33dffb0590f36567",
      "framework": "next-react",
      "imports": "@/lib/openclaw/schemas/index,@sinclair/typebox,@sinclair/typebox/compiler,vitest",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "schemas-validation.test",
      "normalized_name": "schemas-validation",
      "package_manager": "pnpm",
      "path": "tests/lib/schemas-validation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,ai",
      "component_id": "c059a813577578540e76816c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/mcp/server, @/lib/openclaw/mcp/types, vitest | logic-score:85 | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "742895b35344a14d",
      "framework": "next-react",
      "imports": "@/lib/openclaw/mcp/server,@/lib/openclaw/mcp/types,vitest",
      "lines": 445,
      "logic_relevance": "primary",
      "name": "mcp-server.test",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "tests/lib/mcp-server.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,ai",
      "component_id": "d0d9d03be203375f80ecfe78",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/schemas/validate, vitest | logic-score:85 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "717965e164ae5df2",
      "framework": "next-react",
      "imports": "@/lib/openclaw/schemas/validate,vitest",
      "lines": 208,
      "logic_relevance": "primary",
      "name": "schemas.test",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "tests/lib/schemas.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security,automation",
      "component_id": "a77aaa3de57b132c1aea5470",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/webhooks, vitest | logic-score:60 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eed86705be7f2647",
      "framework": "next-react",
      "imports": "../../lib/webhooks,vitest",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "tests/lib/webhooks.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "01adf4f4dfbcd2b8cf9b8561",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7e74b6c4a97e6407",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "f6deee218c997a0ac8ca1a5d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@sinclair/typebox,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TRACE_URL | imports:@/lib/openclaw/integrations/trace, @sinclair/typebox/compiler, vitest | logic-score:85 | observability-score:55",
      "exports": "TRACE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9ab5f976abfc4a1c",
      "framework": "next-react",
      "imports": "@/lib/openclaw/integrations/trace,@sinclair/typebox/compiler,vitest",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "trace.test",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "tests/lib/trace.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "0d07dcc3cf16e78a5799d4f6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/observability, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "57902ff6614ecb22",
      "framework": "next-react",
      "imports": "@/lib/observability,vitest",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "observability.test",
      "normalized_name": "observability",
      "package_manager": "pnpm",
      "path": "tests/lib/observability.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,ai",
      "component_id": "f442d8f460a3c34c3d9dac0e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GRAPH_URL | imports:@/lib/openclaw/integrations/network-graph, vitest | logic-score:60 | ai-score:45",
      "exports": "GRAPH_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "98c2081755549d16",
      "framework": "next-react",
      "imports": "@/lib/openclaw/integrations/network-graph,vitest",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "network-graph.test",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "tests/lib/network-graph.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "60cc97503de7cecd9e2d3639",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/cache, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1efd19055ad144c7",
      "framework": "next-react",
      "imports": "@/lib/cache,vitest",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "cache.test",
      "normalized_name": "cache",
      "package_manager": "pnpm",
      "path": "tests/lib/cache.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "62282f2c4896e65da174abdd",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad8c4667aa8216d9",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "tests/lib/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "9fc127aa961d60d1f6008075",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/queue, vitest | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "36c9c134a64b4c1d",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/queue,vitest",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "queue.test",
      "normalized_name": "queue",
      "package_manager": "pnpm",
      "path": "tests/lib/queue.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "14370e1b57a723e15e9ff23d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib,@sinclair/typebox,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:INSIGHTS_URL | imports:@/lib/openclaw/config, @/lib/openclaw/integrations/insights, @sinclair/typebox, vitest | logic-score:85",
      "exports": "INSIGHTS_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "44801fe4f3639b30",
      "framework": "next-react",
      "imports": "@/lib/openclaw/config,@/lib/openclaw/integrations/insights,@sinclair/typebox,vitest",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "insights.test",
      "normalized_name": "insights",
      "package_manager": "pnpm",
      "path": "tests/lib/insights.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "78481121230e9ac6cd0d4a6a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@upstash/redis,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/redis, @upstash/redis, vitest | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2683c3c259465889",
      "framework": "next-react",
      "imports": "@/lib/redis,@upstash/redis,vitest",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "redis.test",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "tests/lib/redis.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "bf0f9f256744c07f460b4c2e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/mcp/tools, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "587974f3341d0d2a",
      "framework": "next-react",
      "imports": "@/lib/openclaw/mcp/tools,vitest",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "tools.test",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "tests/lib/tools.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "2b3fab6e509a59f809305d28",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GRIDNET_URL | imports:@/lib/openclaw/integrations/gridnet, vitest | logic-score:60 | observability-score:55",
      "exports": "GRIDNET_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4a8bff307febef4d",
      "framework": "next-react",
      "imports": "@/lib/openclaw/integrations/gridnet,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "gridnet.test",
      "normalized_name": "gridnet",
      "package_manager": "pnpm",
      "path": "tests/lib/gridnet.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "725e8c9e2b05555f4b28218f",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "@/lib,@sinclair/typebox,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TestSchema | imports:@/lib/openclaw/schemas/validate, @sinclair/typebox, vitest | logic-score:85",
      "exports": "TestSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "362002a33bf1ac15",
      "framework": "next-react",
      "imports": "@/lib/openclaw/schemas/validate,@sinclair/typebox,vitest",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "validator-errors.test",
      "normalized_name": "validator-errors",
      "package_manager": "pnpm",
      "path": "tests/lib/validator-errors.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,ai",
      "component_id": "3bcc4c9ef06c066e0c6475fd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_HUB_URL | imports:@/lib/openclaw/mcp/client, vitest | logic-score:85 | integration-score:55 | ai-score:45",
      "exports": "MCP_HUB_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ad5a69f2c9e0372c",
      "framework": "next-react",
      "imports": "@/lib/openclaw/mcp/client,vitest",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "openclaw-mcp.test",
      "normalized_name": "openclaw-mcp",
      "package_manager": "pnpm",
      "path": "tests/lib/openclaw-mcp.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "7d3837d104e6d680ab1c4530",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/crypto, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21a1dea184051bb1",
      "framework": "next-react",
      "imports": "@/lib/crypto,vitest",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "crypto.test",
      "normalized_name": "crypto",
      "package_manager": "pnpm",
      "path": "tests/lib/crypto.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "326da0186ab858d3ea8b6518",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RedisMock | imports:@/lib/cache, vitest | logic-score:85 | security-score:55",
      "exports": "RedisMock",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be38c1b7e7d99d87",
      "framework": "next-react",
      "imports": "@/lib/cache,vitest",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "index.test",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "tests/lib/cache/index.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "519d84cfc8d526842fcc053d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/integrations/docs, @/lib/openclaw/mcp/tools, vitest | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9b749e30b2c22d14",
      "framework": "next-react",
      "imports": "@/lib/openclaw/integrations/docs,@/lib/openclaw/mcp/tools,vitest",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "mcp-tools.test",
      "normalized_name": "mcp-tools",
      "package_manager": "pnpm",
      "path": "tests/lib/openclaw/mcp-tools.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2e913fd1069597b2fbd39eb7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/config, @/lib/openclaw/workspace, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c3171111a2c41457",
      "framework": "next-react",
      "imports": "@/lib/openclaw/config,@/lib/openclaw/workspace,vitest",
      "lines": 164,
      "logic_relevance": "primary",
      "name": "workspace.test",
      "normalized_name": "workspace",
      "package_manager": "pnpm",
      "path": "tests/lib/openclaw/workspace.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "a61ad04c820e5e2140a0eb9e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,path,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/config, path, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "55cfbe0648799d8f",
      "framework": "next-react",
      "imports": "@/lib/openclaw/config,path,vitest",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "config.test",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "tests/lib/openclaw/config.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,ai",
      "component_id": "2a8f8c5e5a343ff69f4c4d82",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sinclair/typebox,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockSchema, StrictSchema | imports:../../../../lib/openclaw/schemas/validate, @sinclair/typebox, vitest | logic-score:85 | ai-score:45",
      "exports": "MockSchema,StrictSchema",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fb6a6c70fad0892f",
      "framework": "next-react",
      "imports": "../../../../lib/openclaw/schemas/validate,@sinclair/typebox,vitest",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "validate.test",
      "normalized_name": "validate",
      "package_manager": "pnpm",
      "path": "tests/lib/openclaw/schemas/validate.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,process",
      "component_id": "12942f161b26d8cdb12853f5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openclaw/integrations/docs, vitest | logic-score:60 | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97d247dc44e30006",
      "framework": "next-react",
      "imports": "@/lib/openclaw/integrations/docs,vitest",
      "lines": 184,
      "logic_relevance": "primary",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "tests/lib/openclaw/integrations/docs.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic",
      "component_id": "87e3ad013464e9ddb0067f2a",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/network/discovery, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31cdc08992a9c88b",
      "framework": "next-react",
      "imports": "../../../lib/network/discovery,vitest",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "tests/lib/network/discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "e4325bcabb6ed8555b055ca9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/search/route, @/lib/search, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a0b2d2119b0031b9",
      "framework": "next-react",
      "imports": "@/app/api/search/route,@/lib/search,vitest",
      "lines": 124,
      "logic_relevance": "none",
      "name": "search.test",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "tests/api/search.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability",
      "component_id": "119bfef54e3fe5b535de9d48",
      "component_kind": "agent",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/app/api/v1/agent/route, vitest | ai-score:120 | backend-score:55 | observability-score:55 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "90cd80643a460d28",
      "framework": "next-react",
      "imports": "@/app/api/v1/agent/route,vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "agent.test",
      "normalized_name": "agent",
      "package_manager": "pnpm",
      "path": "tests/api/agent.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security,discovery",
      "component_id": "685e5b05c1d31756fdb3977d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/rss/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4736e1689e55ce42",
      "framework": "next-react",
      "imports": "@/app/api/rss/route,vitest",
      "lines": 37,
      "logic_relevance": "none",
      "name": "rss.test",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "tests/api/rss.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "751f354b65be7931efa4d5c7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | imports:@/lib/openclaw/integrations/platphormnews, vitest | backend-score:55 | observability-score:55",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae90c4f1c920e33d",
      "framework": "next-react",
      "imports": "@/lib/openclaw/integrations/platphormnews,vitest",
      "lines": 37,
      "logic_relevance": "none",
      "name": "platphormnews-tools.test",
      "normalized_name": "platphormnews-tools",
      "package_manager": "pnpm",
      "path": "tests/api/platphormnews-tools.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,discovery",
      "component_id": "22960585068c4d446b5c3047",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/llms-index/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8c318c56ff2e257c",
      "framework": "next-react",
      "imports": "@/app/api/llms-index/route,vitest",
      "lines": 24,
      "logic_relevance": "none",
      "name": "llms-index.test",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "tests/api/llms-index.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,ai",
      "component_id": "67b687c13a820f5d643edf0a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/app/api/v1/health/route, vitest | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c8f0278891ee04cd",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/app/api/v1/health/route,vitest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b6972ce7695a4b3428c5e9a3",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/insights/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d9b3835b3587db0",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/insights/route,next/server,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/api/v1/integrations/insights/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bef6dd8298afc7a87e06b594",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../../app/api/v1/integrations/trace/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3e87e91b08ac93d1",
      "framework": "next-react",
      "imports": "../../../../../app/api/v1/integrations/trace/route,next/server,vitest",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/api/v1/integrations/trace/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c417b0fc81077265a5606144",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/search/route, @/lib/db, @/lib/search, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b53f45a2b9e2d3e",
      "framework": "next-react",
      "imports": "@/app/api/search/route,@/lib/db,@/lib/search,next/server,vitest",
      "lines": 156,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/api/search/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,integration,observability,security",
      "component_id": "d6ab96a538e9a54f29fbbc63",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/webhooks/route, next/server, vitest | automation-score:95 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "68a2d729e0e7f5bf",
      "framework": "next-react",
      "imports": "@/app/api/cron/webhooks/route,next/server,vitest",
      "lines": 102,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "tests/api/cron/webhooks.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "45a2e1b734dd021f4158951b",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/queue/route, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7d74c6e260005bc7",
      "framework": "next-react",
      "imports": "@/app/api/cron/queue/route,next/server,vitest",
      "lines": 94,
      "logic_relevance": "none",
      "name": "queue.test",
      "normalized_name": "queue",
      "package_manager": "pnpm",
      "path": "tests/api/cron/queue.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "dd3add80cd51cc82005ebf7d",
      "component_kind": "trace-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/openclaw/integrations/trace, ../../lib/sdk/client, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f8590f6fba476a72",
      "framework": "next-react",
      "imports": "../../lib/openclaw/integrations/trace,../../lib/sdk/client,vitest",
      "lines": 130,
      "logic_relevance": "none",
      "name": "trace.e2e.test",
      "normalized_name": "trace-e2e",
      "package_manager": "pnpm",
      "path": "tests/e2e/trace.e2e.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "3f5111f92beda8fb2b7e4559",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2e331877621edaf8fef8a8db",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6ce3131669be64445f4372c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8fb58eb68a1189082a9061bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2750482264828035142731b0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2027d11e8e669e5ecc9b0f9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0f0fe57712a1a3c67d23030b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "13b2e7e5862f4a5d2c624dd4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6f28e86bd2b6b54beb7fc76e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "3a8683b15c90b71537117373",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0e498d3148f726d58f63c3f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "99a658a93b2bec6b5a364423",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "57f4bb68da5fda1753e2efad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "d43e00457bf1bb0e6da1d1f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "172ec32bf8e60a5b341545fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6abe6a2bac0dfc1a4d54ff63",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2b737156708675116176bad3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "acaabf51c82402125047e717",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4c70de066d6807092af240d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "12eea2199caf743f28fffbc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b3ecf07f0a78f296cff45d02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "95bb8a56a2f2ee1460886d45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1907c25c436e39fbf09beac5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "26b1a407ecd055ce6d78c64a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c6461e6e64806db302d9f6ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3b71f3017414d35fcf27e030",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a6d4be3ec6bac538e3b55777",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ec0c58060a371ccc4f37ad8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "190bf6a1e24b39e5d8445cd5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "26a560b070d8e23069416028",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "89427974b59385cda7e4ffa1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "7aed73a5ae4d60f6171e2004",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "60ab0406724b27344cd70204",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9ebba10f442042d7a0e7dc10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c7c7995c7534ceb643272495",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6d8a0ae5530f7638c11916c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ac9cbe28511a884b98a1e3fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "30e1977991f545f03c928dac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "872c24c33c9b4117b419fa11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c53a8378391ee9893b764838",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dd4c22bae39e2ce3028772bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7d0f732ce78b5b727a4da25d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "84b14aa07320c8ae11460214",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2bda4c2f0712be1e037d0951",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3225accb04189bd8694f9089",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cd7182b37119239c1876a4c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b1340d7f25a57f423b1e3da9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "65025339bbac6b7d0b863f50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a726cff82e531fceca0e8729",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "a9e08cee6e52fbcc717362b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4b582db3d95ee2530c988b9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a84bf8898ab0fc36bedb4c4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8e92b07eec7d5e0f271e060d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c57cccf7a43f9d1caeac963c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f24023646a67b1ae0df4bdad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5fe4c7ac046e44d3da8005bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fa327c0f5516254ff0672fc7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "a657eb961341e59d1e85f30d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2c27b62fd0ee16a40cbe9f25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d2759c80231dacd63df113d0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardNav | imports:@/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cc9099539f2d1e5",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 169,
      "logic_relevance": "none",
      "name": "nav",
      "normalized_name": "nav",
      "package_manager": "pnpm",
      "path": "components/dashboard/nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2a8cfdeac1ec8632148d4c1b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardHeader | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next-themes, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "DashboardHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f896b9527dd10d1b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next-themes,next/link",
      "lines": 90,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/dashboard/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "53d9e570d1ea5fb00459056e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APIJsonLd, AppJsonLd, BreadcrumbJsonLd, FAQJsonLd, OrganizationJsonLd, WebApplicationJsonLd | imports:next/script | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env",
      "exports": "APIJsonLd,AppJsonLd,BreadcrumbJsonLd,FAQJsonLd,OrganizationJsonLd,WebApplicationJsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "83acf3011810f1df",
      "framework": "next-react",
      "imports": "next/script",
      "lines": 156,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,discovery",
      "component_id": "e8cb6a3c670d7802aa703b21",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a359a459afdc50bf",
      "framework": "next-react",
      "imports": "",
      "lines": 578,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "f9cc6a6fe14f77898733b684",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3059f1a384e277d6",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "115ee08892be0964c29cc5a2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "809f3e1799c158db",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "25f9b4b53f9510b16ef756ad",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7cd8818e4e0c85d",
      "framework": "next-react",
      "imports": "",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "8e536cc1d17b2a3763ef4ab9",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "454a422c3a80742b",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "f015b7cf37009840d4ea7ac6",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b833976e265ef8da",
      "framework": "next-react",
      "imports": "",
      "lines": 235,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,backend",
      "component_id": "d6db8763d9ad72e2abc8437a",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2ba336609baa9988",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "e54da83c1d28614d3c40ad3b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e1969da0a910bf42",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "af721255f286d53c0312463e",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ee563ad5e10854c8",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "IDENTITY",
      "normalized_name": "identity",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/IDENTITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "18e28152b999235dc1362079",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "03e1ab5d8426fe90",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "HEARTBEAT",
      "normalized_name": "heartbeat",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/HEARTBEAT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "d8f10ec29315ed1ca85bba46",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "77c130a653e12d73",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "MEMORY",
      "normalized_name": "memory",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/MEMORY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "4dd3c74f311f2bbb68403a54",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1b1b019f654de264",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "BOOTSTRAP",
      "normalized_name": "bootstrap",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/BOOTSTRAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "fe9ca1ea36bd9d9627a91ac5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9133972c128acf62",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "USER",
      "normalized_name": "user",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/USER.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "9a1aefca246b85c39c662eab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6e4ee1527ab86d59",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "SOUL",
      "normalized_name": "soul",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/SOUL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,process,observability",
      "component_id": "a395d6f95d29f10a59472ba3",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f55f9edd03d7fb47",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "AGENTS",
      "normalized_name": "agents",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/AGENTS.md",
      "primary_category": "ai",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "3f8b629eaed0803a3363b744",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b6c1f577d752db36",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "BOOT",
      "normalized_name": "boot",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/BOOT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "0ec975ab2a2429c827e6eec3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7cedd8fd408c4620",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "TOOLS",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/TOOLS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "e39d19fe3bddf5eb9d08346f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b55efab4107a30c0",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "2026-03-18",
      "normalized_name": "2026-03-18",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/memory/2026-03-18.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "cc8303c4bc1aaba83e924eba",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2774420e6020f2c9",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "heartbeat-state",
      "normalized_name": "heartbeat-state",
      "package_manager": "pnpm",
      "path": ".openclaw/workspace/memory/heartbeat-state.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "219edc3161f8c2682bc1af84",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c313e1f0798a38bd",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "SKILL",
      "normalized_name": "skill",
      "package_manager": "pnpm",
      "path": ".openclaw/skills/platphormnews/SKILL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a4e59f537bea3a8ee66bba0c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c76d103f36c4a5a9",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai",
      "component_id": "bd0736e02f0ca21765b27881",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b6b3ff8063357153",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "364bfec5381d45ba0668cd67",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "916d1a9bdf6be972",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "fb06142a65a2fee0967d8556",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/openclaw/integrations/network-graph, perf_hooks | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ea5e709513f1025d",
      "framework": "next-react",
      "imports": "../lib/openclaw/integrations/network-graph,perf_hooks",
      "lines": 42,
      "logic_relevance": "none",
      "name": "benchmark-network-graph",
      "normalized_name": "benchmark-network-graph",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-network-graph.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability",
      "component_id": "e782fe1bc976c1740b63fe86",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bd710585fa42b670",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "benchmark-webhooks",
      "normalized_name": "benchmark-webhooks",
      "package_manager": "pnpm",
      "path": "scripts/benchmark-webhooks.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "9e154ecb123a0e8473249bbf",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless,fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, fs, path | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8b776441db573997",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,fs,path",
      "lines": 54,
      "logic_relevance": "none",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "scripts/migrate.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ce2bfbf4514f591c7bfbb30f",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../lib/sdk/client | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "42d17b78991f083b",
      "framework": "next-react",
      "imports": "../lib/sdk/client",
      "lines": 18,
      "logic_relevance": "none",
      "name": "automation",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "scripts/automation.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "7d4b9d5f26f36d24affbdfe6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:fs, path | logic-score:70 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "58fe79333c2c9e04",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 754,
      "logic_relevance": "primary",
      "name": "split-schemas",
      "normalized_name": "split-schemas",
      "package_manager": "pnpm",
      "path": "scripts/split-schemas.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation,ai",
      "component_id": "8cf99646f283b78572078ca4",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "fs,path",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:fs, path | logic-score:70 | automation-score:50 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "36341bfca7e4c30a",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "generate-schemas",
      "normalized_name": "generate-schemas",
      "package_manager": "pnpm",
      "path": "scripts/generate-schemas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "fdf28a318831bf5cc1263907",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/opendocs | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9865d5bccd328727",
      "framework": "next-react",
      "imports": "../lib/opendocs",
      "lines": 67,
      "logic_relevance": "none",
      "name": "opendocs-cli",
      "normalized_name": "opendocs-cli",
      "package_manager": "pnpm",
      "path": "scripts/opendocs-cli.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "08b9265554dc228d6d5bc2f2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WebhookEvent, createWebhookSignature, verifyWebhookSignature | imports:@/lib/crypto, @/lib/db, crypto | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WebhookEvent,createWebhookSignature,verifyWebhookSignature",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b49e45c2f8a658a2",
      "framework": "next-react",
      "imports": "@/lib/crypto,@/lib/db,crypto",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "webhooks",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "lib/webhooks.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "7805e38f83ea1c242c9fc2ee",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SEARCH_INDEXES | logic-score:85 | security-score:55 | uses-env",
      "exports": "SEARCH_INDEXES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5d6ca99f152d0913",
      "framework": "next-react",
      "imports": "",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "lib/search.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "7efbef4c6dbc56be881bdf9e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "${url}",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SafeFetchOptions, SsrfBlockedError, isUrlSafe | imports:${url} | logic-score:85",
      "exports": "SafeFetchOptions,SsrfBlockedError,isUrlSafe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "923687e1de684d8b",
      "framework": "next-react",
      "imports": "${url}",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "ssrf",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "lib/ssrf.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "f5840a773f5d5c4d40b0704d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@upstash/redis",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClawsStats, _resetRedisClientForTest, getRedisClient, hashInput, redis | imports:@upstash/redis | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ClawsStats,_resetRedisClientForTest,getRedisClient,hashInput,redis",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f755a9b2c2110eee",
      "framework": "next-react",
      "imports": "@upstash/redis",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "lib/redis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "64465ef6949c27059a3836d9",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,crypto,tailwind-merge",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, generateFingerprint, generateRequestId | imports:clsx, crypto, tailwind-merge | logic-score:85 | security-score:55",
      "exports": "cn,generateFingerprint,generateRequestId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "402ef72c2486bcf3",
      "framework": "next-react",
      "imports": "clsx,crypto,tailwind-merge",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "25a1580a5cf88794af7f79bf",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "crypto",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:safeCompare | imports:crypto | logic-score:60",
      "exports": "safeCompare",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0a6018560ec53e52",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "crypto",
      "normalized_name": "crypto",
      "package_manager": "pnpm",
      "path": "lib/crypto.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "479f3cc72a3cdbbe21b475c8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Document, DocumentListResponse, OPENDOCS_API_URL, OpenDocsSDK, SubmissionCreate, SubmissionResponse, opendocs | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Document,DocumentListResponse,OPENDOCS_API_URL,OpenDocsSDK,SubmissionCreate,SubmissionResponse,opendocs",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1bc4d3462b85b33f",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "primary",
      "name": "opendocs",
      "normalized_name": "opendocs",
      "package_manager": "pnpm",
      "path": "lib/opendocs.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "71a1a64dd440368b95d39c1b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PerformanceMonitor, RequestContext, createObservabilityMiddleware, generateTraceContext, getCorrelationId, logger | imports:@/lib/db, @/lib/utils, next/server | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "PerformanceMonitor,RequestContext,createObservabilityMiddleware,generateTraceContext,getCorrelationId,logger",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4cc293a7c80c5800",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/utils,next/server",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "observability",
      "normalized_name": "observability",
      "package_manager": "pnpm",
      "path": "lib/observability.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,ai",
      "component_id": "0d6c349dbe10de5223279f7a",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ChatMessage, ChatSession, NetworkSite, ToolExecution, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | ai-score:45 | uses-env",
      "exports": "ChatMessage,ChatSession,NetworkSite,ToolExecution,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a02b95c810a07274",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 227,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "84aa797d997027292e2aafd9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:redactKey, requireAuth, unauthorizedError, validateApiKey | imports:next/server | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "redactKey,requireAuth,unauthorizedError,validateApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "214c6080e46e4afa",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "78d01fa5203ecac902225692",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JobPayload, JobStatus, registerJobHandler | imports:@/lib/db, @/lib/observability, @/lib/webhooks | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "JobPayload,JobStatus,registerJobHandler",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4876a7414a235459",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/observability,@/lib/webhooks",
      "lines": 265,
      "logic_relevance": "primary",
      "name": "queue",
      "normalized_name": "queue",
      "package_manager": "pnpm",
      "path": "lib/queue.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "cca403bc40603e3504a20f90",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@upstash/redis",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:redis | imports:@upstash/redis | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "redis",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "285f9a051e0a9b06",
      "framework": "next-react",
      "imports": "@upstash/redis",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/cache/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "ab490d6ad960fac3f526b778",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OpenClawWorkspace, getWorkspace | imports:./config, ./schemas | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "OpenClawWorkspace,getWorkspace",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f5e748fa031a216d",
      "framework": "next-react",
      "imports": "./config,./schemas",
      "lines": 220,
      "logic_relevance": "primary",
      "name": "workspace",
      "normalized_name": "workspace",
      "package_manager": "pnpm",
      "path": "lib/openclaw/workspace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3f0088d493ba38708ad99229",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OpenClawSession, getSession, listSessions | imports:./config, ./schemas, ./workspace | logic-score:85 | observability-score:55",
      "exports": "OpenClawSession,getSession,listSessions",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "461449a6f647b053",
      "framework": "next-react",
      "imports": "./config,./schemas,./workspace",
      "lines": 188,
      "logic_relevance": "primary",
      "name": "session",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "lib/openclaw/session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "d4506007209399d66fde096e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OpenClawMemory, getMemory | imports:./schemas, ./workspace | logic-score:85",
      "exports": "OpenClawMemory,getMemory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f1fe23175935fc7e",
      "framework": "next-react",
      "imports": "./schemas,./workspace",
      "lines": 183,
      "logic_relevance": "primary",
      "name": "memory",
      "normalized_name": "memory",
      "package_manager": "pnpm",
      "path": "lib/openclaw/memory.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "ed6673ca89f51310dd0efd8e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, DEFAULT_IDENTITY, GridNetError, InsightsClient, MCPClient, MCPClientError, MCPServer, NetworkGraphError | imports:./config, ./integrations/gridnet, ./integrations/insights, ./integrations/network-graph, ./integrations/platphormnews, ./integrations/trace, ./mcp/client, ./mcp/server | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "API_ENDPOINTS,DEFAULT_IDENTITY,GridNetError,InsightsClient,MCPClient,MCPClientError,MCPServer,NetworkGraphError,OPENCLAW_PALETTE,OPENCLAW_TOOLS,OpenClawMemory,OpenClawSession,OpenClawWorkspace,PlatPhormNewsError,TraceClient,WORKSPACE_FILES,createGridNetMCPClient,createMCPClient,createOpenClawMCPServer,createPlatPhormMCPClient,createSession,createTraceContext,getInsightsClient,getMemory,getMemoryFilePath,getSession,getStatus,getTraceClient,getWorkspace,getWorkspaceFilePath,gridnet,listSessions,networkGraph,openclawConfig,platphormnews,toolHandlers",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4b58a88164c92295",
      "framework": "next-react",
      "imports": "./config,./integrations/gridnet,./integrations/insights,./integrations/network-graph,./integrations/platphormnews,./integrations/trace,./mcp/client,./mcp/server,./mcp/tools,./mcp/types,./memory,./schemas,./schemas/validate,./session,./workspace,@/lib/registry",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/openclaw/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "d16921909dd6262699e67625",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "path",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, DEFAULT_IDENTITY, OPENCLAW_PALETTE, WORKSPACE_FILES, getMemoryFilePath, getWorkspaceFilePath, openclawConfig | imports:./schemas, path | logic-score:85 | security-score:55 | uses-env",
      "exports": "API_ENDPOINTS,DEFAULT_IDENTITY,OPENCLAW_PALETTE,WORKSPACE_FILES,getMemoryFilePath,getWorkspaceFilePath,openclawConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1eb90cf86f805b67",
      "framework": "next-react",
      "imports": "./schemas,path",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/openclaw/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,security,ai",
      "component_id": "102d9aa2c3be60c85a022e78",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sinclair/typebox",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:// Schemas for validation\n  MCPToolSchema, MCPCallToolParams, MCPCallToolParamsSchema, MCPContentSchema, MCPErrorCode, MCPInitializeParams, MCPInitializeParamsSchema, MCPInitializeResult | imports:../schemas, @sinclair/typebox | logic-score:70 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "// Schemas for validation\n  MCPToolSchema,MCPCallToolParams,MCPCallToolParamsSchema,MCPContentSchema,MCPErrorCode,MCPInitializeParams,MCPInitializeParamsSchema,MCPInitializeResult,MCPInitializeResultSchema,MCPListToolsResult,MCPListToolsResultSchema,MCPManifestSchema,MCPNotification,MCPNotificationSchema,MCPPromptSchema,MCPRequest,MCPRequestSchema,MCPResourceSchema,MCPResponse,MCPResponseSchema,MCPServerSchema,MCPToolCallSchema,MCPToolResultSchema,MCP_ERROR_CODES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5c590f499add49dc",
      "framework": "next-react",
      "imports": "../schemas,@sinclair/typebox",
      "lines": 131,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/openclaw/mcp/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "93b24285f599b7aa7380574e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, MCPClientError, createGridNetMCPClient, createMCPClient, createPlatPhormMCPClient | imports:../config, ./types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MCPClient,MCPClientError,createGridNetMCPClient,createMCPClient,createPlatPhormMCPClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "64453602d6bb7744",
      "framework": "next-react",
      "imports": "../config,./types",
      "lines": 256,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/openclaw/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "537a925aec43291527df79d7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:OPENCLAW_TOOLS, createOpenClawMCPServer, toolHandlers | imports:./client, ./server, ./types, @/lib/openclaw/integrations/docs, @/lib/registry, @/lib/sdk/client, @/lib/workflows/templates | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "OPENCLAW_TOOLS,createOpenClawMCPServer,toolHandlers",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2883265fc3f13fd0",
      "framework": "next-react",
      "imports": "./client,./server,./types,@/lib/openclaw/integrations/docs,@/lib/registry,@/lib/sdk/client,@/lib/workflows/templates",
      "lines": 665,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/openclaw/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,ai",
      "component_id": "dee0407a106cf3aba52e26cc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPServer, MCPServerConfig, ToolHandler | imports:./types | logic-score:85 | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "MCPServer,MCPServerConfig,ToolHandler",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "320534ea3192b5a1",
      "framework": "next-react",
      "imports": "./types",
      "lines": 303,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/openclaw/mcp/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,ai",
      "component_id": "5cadafb1be9a42a881b2d8be",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sinclair/typebox",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ValidationError, createValidator, validateArray, validateArticle, validateCapability, validateHeartbeatState, validateMCPManifest, validateMCPServer | imports:./index, @sinclair/typebox, @sinclair/typebox/value | logic-score:85 | ai-score:45",
      "exports": "ValidationError,createValidator,validateArray,validateArticle,validateCapability,validateHeartbeatState,validateMCPManifest,validateMCPServer,validateMCPTool,validateMCPToolCall,validateMCPToolResult,validateNetworkGraph,validateNetworkInfo,validateNetworkNode,validatePartial,validateSessionContext,validateStory,validateWorkspaceFile",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ff1acc12a2eab458",
      "framework": "next-react",
      "imports": "./index,@sinclair/typebox,@sinclair/typebox/value",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "validate",
      "normalized_name": "validate",
      "package_manager": "pnpm",
      "path": "lib/openclaw/schemas/validate.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "581a4a2bdba881915eb06e74",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sinclair/typebox",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIError, APIErrorSchema, APIMeta, APIMetaSchema, Article, ArticleSchema, Capability, CapabilitySchema | imports:@sinclair/typebox | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "APIError,APIErrorSchema,APIMeta,APIMetaSchema,Article,ArticleSchema,Capability,CapabilitySchema,HeartbeatState,HeartbeatStateSchema,Identity,IdentitySchema,MCPContent,MCPContentSchema,MCPImageContentSchema,MCPManifest,MCPManifestSchema,MCPPrompt,MCPPromptArgumentSchema,MCPPromptSchema,MCPResource,MCPResourceContentSchema,MCPResourceSchema,MCPServer,MCPServerSchema,MCPTextContentSchema,MCPTool,MCPToolAnnotations,MCPToolAnnotationsSchema,MCPToolCall,MCPToolCallSchema,MCPToolResult,MCPToolResultSchema,MCPToolSchema,MemoryEntry,MemoryEntrySchema,NetworkEdge,NetworkEdgeSchema,NetworkGraph,NetworkGraphSchema,NetworkGraphStatsSchema,NetworkInfo,NetworkInfoSchema,NetworkNode,NetworkNodeCategory,NetworkNodeCategorySchema,NetworkNodeSchema,OpenClawConfig,OpenClawConfigSchema,OpenClawPalette,OpenClawPaletteSchema,Pagination,PaginationSchema,SessionContext,SessionContextSchema,Story,StorySchema,StoryTypeSchema,WorkspaceFile,WorkspaceFileName,WorkspaceFileNameSchema,WorkspaceFileSchema,createAPIResponseSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "966d51dc33f7496d",
      "framework": "next-react",
      "imports": "@sinclair/typebox",
      "lines": 383,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/openclaw/schemas/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "61171de463beeaa71a5013cd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sinclair/typebox",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AIEraScores, AIEraScoresSchema, AnalysisRequest, AnalysisRequestSchema, AnalysisResult, AnalysisResultSchema, CarbonAnalysis, CarbonAnalysisSchema | imports:../config, ../schemas/validate, @sinclair/typebox | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AIEraScores,AIEraScoresSchema,AnalysisRequest,AnalysisRequestSchema,AnalysisResult,AnalysisResultSchema,CarbonAnalysis,CarbonAnalysisSchema,CoreWebVitals,CoreWebVitalsSchema,InsightsClient,SecurityAnalysis,SecurityAnalysisSchema,getInsightsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a814bc0afb234da6",
      "framework": "next-react",
      "imports": "../config,../schemas/validate,@sinclair/typebox",
      "lines": 296,
      "logic_relevance": "primary",
      "name": "insights",
      "normalized_name": "insights",
      "package_manager": "pnpm",
      "path": "lib/openclaw/integrations/insights.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "b1e2ecdd69f9590575cc198f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkGraphError, clearGraphCache, networkGraph | imports:../config, ../schemas | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "NetworkGraphError,clearGraphCache,networkGraph",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ee07d1dc5ef4671d",
      "framework": "next-react",
      "imports": "../config,../schemas",
      "lines": 351,
      "logic_relevance": "primary",
      "name": "network-graph",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "lib/openclaw/integrations/network-graph.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "c5d5b627405b27f409868b05",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GridNetAlphaScore, GridNetError, GridNetSearchResult, gridnet | imports:../config | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "GridNetAlphaScore,GridNetError,GridNetSearchResult,gridnet",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9640c47c02274dc6",
      "framework": "next-react",
      "imports": "../config",
      "lines": 245,
      "logic_relevance": "primary",
      "name": "gridnet",
      "normalized_name": "gridnet",
      "package_manager": "pnpm",
      "path": "lib/openclaw/integrations/gridnet.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,process",
      "component_id": "c67e44c95f43207234086bfb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocsApiError, DocsClient, DocsConfig, DocsDocument, DocsListRequest, DocsSearchRequest, DocsSearchResult, docsClient | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "DocsApiError,DocsClient,DocsConfig,DocsDocument,DocsListRequest,DocsSearchRequest,DocsSearchResult,docsClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a7ca006d0813c9d3",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "primary",
      "name": "docs",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "lib/openclaw/integrations/docs.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "dabdbe3aebdd2d696351b3d0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatPhormNewsError, platphormnews | imports:../config, ../schemas | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PlatPhormNewsError,platphormnews",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a2ea768626433d0",
      "framework": "next-react",
      "imports": "../config,../schemas",
      "lines": 271,
      "logic_relevance": "primary",
      "name": "platphormnews",
      "normalized_name": "platphormnews",
      "package_manager": "pnpm",
      "path": "lib/openclaw/integrations/platphormnews.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "208383236318a365cbcf5ae6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@sinclair/typebox",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkStatus, NetworkStatusSchema, ToolCall, ToolCallSchema, Trace, TraceClient, TraceContext, TraceSchema | imports:../schemas/validate, @sinclair/typebox | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "NetworkStatus,NetworkStatusSchema,ToolCall,ToolCallSchema,Trace,TraceClient,TraceContext,TraceSchema,TraceSpan,TraceSpanSchema,TraceStats,TraceStatsSchema,getTraceClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "378f47deea3d2a4d",
      "framework": "next-react",
      "imports": "../schemas/validate,@sinclair/typebox",
      "lines": 345,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/openclaw/integrations/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "1c5fc2b54b62544472c30808",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_SITES, NetworkSite, generateLlmsFullTxt, generateLlmsIndexJson, generateLlmsTxt, getCoreServices, getMCPEnabledSites, getNetworkManifest | imports:@/lib/registry | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "NETWORK_SITES,NetworkSite,generateLlmsFullTxt,generateLlmsIndexJson,generateLlmsTxt,getCoreServices,getMCPEnabledSites,getNetworkManifest,getNetworkSitemapIndex,getNetworkSites,getSitesByEntity",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fe1a9c4d810ab9f9",
      "framework": "next-react",
      "imports": "@/lib/registry",
      "lines": 425,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/network/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,process,observability,security",
      "component_id": "0e85ab7d33362ff8a68db6ec",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:WORKFLOW_TEMPLATES, WorkflowStep, WorkflowTemplate, getWorkflowById | automation-score:95 | logic-score:85 | process-score:80 | observability-score:55 | security-score:55",
      "exports": "WORKFLOW_TEMPLATES,WorkflowStep,WorkflowTemplate,getWorkflowById",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8cd1577b91f7c8e5",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "secondary",
      "name": "templates",
      "normalized_name": "templates",
      "package_manager": "pnpm",
      "path": "lib/workflows/templates.ts",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "7a206677904eadaf93252023",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@upstash/search",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@upstash/search | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97a2c5a699e25eb3",
      "framework": "next-react",
      "imports": "@upstash/search",
      "lines": 224,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/search/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "46e17ac78681696b53cc05f2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocsResponse, McpResponse, NetworkEdge, NetworkGraphResponse, NetworkNode, PlatPhormSDKConfig, SiteConfig | logic-score:70 | security-score:55",
      "exports": "DocsResponse,McpResponse,NetworkEdge,NetworkGraphResponse,NetworkNode,PlatPhormSDKConfig,SiteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dfa486c143e37f44",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/sdk/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "18bb01cbcf554faba24ff433",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkSubdomain, PlatPhormSDK, SiteClient | imports:../network/discovery, ./types | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "NetworkSubdomain,PlatPhormSDK,SiteClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "703ce2624638bb57",
      "framework": "next-react",
      "imports": "../network/discovery,./types",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/sdk/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "b4ff153f6767c1913c208ed0",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./client, ./types | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "721bb668d2a16526",
      "framework": "next-react",
      "imports": "./client,./types",
      "lines": 2,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/sdk/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "c9a8dcc34d43c05643150a0f",
      "component_kind": "agent",
      "confidence": 100,
      "dependency_roots": "ai,zod",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:TOOL_CATEGORIES, TOTAL_TOOLS, platphormAgent | imports:../opendocs, ai, zod | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "TOOL_CATEGORIES,TOTAL_TOOLS,platphormAgent",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2fb5e10d4db0c415",
      "framework": "next-react",
      "imports": "../opendocs,ai,zod",
      "lines": 396,
      "logic_relevance": "secondary",
      "name": "platphorm-agent",
      "normalized_name": "platphorm-agent",
      "package_manager": "pnpm",
      "path": "lib/ai/platphorm-agent.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "f77e77e5f6f07c20af34af04",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:REGISTRY_MCP_SERVERS, REGISTRY_NETWORK_SITES, REGISTRY_PROMPTS, REGISTRY_RESOURCES, REGISTRY_TOOLS, RegistryNetworkSite, RegistryPrompt, RegistryResource | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "REGISTRY_MCP_SERVERS,REGISTRY_NETWORK_SITES,REGISTRY_PROMPTS,REGISTRY_RESOURCES,REGISTRY_TOOLS,RegistryNetworkSite,RegistryPrompt,RegistryResource,RegistryTool,STANDARD_DISCOVERY_ENDPOINTS,ToolMutability,getPublicTools,getRegistryMcpEnabledSiteCount,getRegistryMcpServerCount,getRegistryPromptCount,getRegistryResourceCount,getRegistrySiteCount,getRegistryStats,getRegistryToolCount,getSiteByHost,getSiteBySlug,getToolsByCategory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "379d07b4a60db8d7",
      "framework": "next-react",
      "imports": "",
      "lines": 404,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/registry/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security,ai",
      "component_id": "dedf94a5f1ba69c5400484dd",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Conversation, Message, SearchHistoryEntry, Session, ToolExecution, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "Conversation,Message,SearchHistoryEntry,Session,ToolExecution,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3fb84e06540b662e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 296,
      "logic_relevance": "secondary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/db/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-openclaw",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "f5c55b02a5af312a7134189f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "728c94fab986f457",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "12495f7ba61b66372c315874",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f5c27b839dd60c1",
      "framework": "next-react",
      "imports": "",
      "lines": 8712,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6f19e0fa75401ea261f77451",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fe546bb55b3d2d2b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 95,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "93dc2d93c3b6d3ae186d378a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a37547fa40851068",
      "framework": "next-react",
      "imports": "",
      "lines": 158,
      "logic_relevance": "none",
      "name": "PRINCIPLES",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "PRINCIPLES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "34e9714fe553629d0dc680c6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2c76e30877ae28f",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "a97742b15ff9cba2db56b861",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "5ab5988851e3271329f916a0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ced08cabeccf6df2",
      "framework": "next-react",
      "imports": "",
      "lines": 433,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "5d2ab3bdae6c39ee71ff774d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/db, @/lib/emoji | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c6f4b8184df8d87",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/emoji",
      "lines": 77,
      "logic_relevance": "none",
      "name": "benchmark_automation",
      "normalized_name": "benchmark-automation",
      "package_manager": "pnpm",
      "path": "benchmark_automation.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "e08c3f5b79f4246016d53484",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5f4103cca55b10f0",
      "framework": "next-react",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a06fac18e6dd0b8c86e674a0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0ca44cb3f12e591c785abc7f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "226191cef21752d5",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e93700e775501bb1723457e3",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6471856f07b8c9b9",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "9690b454fab9b09ae48c82a0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a95767b4590b731",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "84d4145eeac33fcdfbc4798c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6008d7abdb0b1c54",
      "framework": "next-react",
      "imports": "",
      "lines": 273,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": "TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1e8a41fbb468a5c0a83685d4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dbd75f75a9c2d0b7",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "LOCAL_DEV",
      "normalized_name": "local-dev",
      "package_manager": "pnpm",
      "path": "LOCAL_DEV.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "e24f19472fcb5ea619190e78",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cf2e67f8fa555b01",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "581f716d646d2760de4e632f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3036333cb2579362",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "process,automation",
      "component_id": "339e0158384be3ffc5a44e65",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for media; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "51466b72191be324",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "TODOs",
      "normalized_name": "todos",
      "package_manager": "pnpm",
      "path": "TODOs.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "32f6516e72a5b1d7ca78fd45",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "78c5b995db0dc9d7",
      "framework": "next-react",
      "imports": "",
      "lines": 190,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "38e5a46f015abe81291c8dd2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7eacc735fc885b4c",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "b0c32e37ccaebf2d792c179d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f57c6d974d499cb0",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,ai",
      "component_id": "09dc5926ad2566a2dbf74477",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e99e1b25df7599b9",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "afb70f157a535e37fa71e127",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@neondatabase/serverless,crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, crypto | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "51d7273786577780",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto",
      "lines": 17,
      "logic_relevance": "none",
      "name": "playwright-global-teardown",
      "normalized_name": "playwright-global-teardown",
      "package_manager": "pnpm",
      "path": "playwright-global-teardown.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4cfa92beeedffad26d32f0fb",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@neondatabase/serverless,crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, crypto | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a7d8f22a4a6309cf",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto",
      "lines": 24,
      "logic_relevance": "none",
      "name": "playwright-global-setup",
      "normalized_name": "playwright-global-setup",
      "package_manager": "pnpm",
      "path": "playwright-global-setup.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "acb3ceba6ef077801ef6471a",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cd48cde934d0a357",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "pnpm",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,observability,security,automation,ai",
      "component_id": "45f6c2902acb89a9d8f37fb2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@hookform/resolvers,@modelcontextprotocol/sdk,@neondatabase/serverless,@vercel/og,@vercel/toolbar,next,react-hook-form,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime, sql | imports:@hookform/resolvers/zod, @modelcontextprotocol/sdk/server/mcp.js, @modelcontextprotocol/sdk/server/web.js, @neondatabase/serverless, @vercel/og, @vercel/toolbar/next, next/og, react-hook-form | backend-score:105 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime,sql",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2e19891ad59017ae",
      "framework": "next-react",
      "imports": "@hookform/resolvers/zod,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/web.js,@neondatabase/serverless,@vercel/og,@vercel/toolbar/next,next/og,react-hook-form,zod",
      "lines": 359,
      "logic_relevance": "none",
      "name": "PACKAGES",
      "normalized_name": "packages",
      "package_manager": "pnpm",
      "path": "PACKAGES.md",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f4db0744b6cf140cbc3aaabc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ebe077e027758b0",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 27,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "7aec62b6c6eb9f3cc072b695",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "03d18e1caf5cd5e58c81795e",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e1413cbdd2b12ca8",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_desc",
      "normalized_name": "pr-desc",
      "package_manager": "pnpm",
      "path": "pr_desc.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bad920bfeefbd53ba7debd90",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f189eb68c81d7066",
      "framework": "next-react",
      "imports": "",
      "lines": 206,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "682d338f7313da41913876ab",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, @/lib/base-url, @vercel/analytics/react, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63b9af5615826d7d",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/lib/base-url,@vercel/analytics/react,next",
      "lines": 73,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "37be98b0ac7f8d8dba5242c5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/db, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04d424e20a3c79a8",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/db,lucide-react,next,next/link",
      "lines": 468,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "8305e09769ef6d49d318b24d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc07d1131893505c",
      "framework": "next-react",
      "imports": "",
      "lines": 401,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "21ddee45dbc39c8d91b5d630",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c75d1e9854527394",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 47,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery,ai",
      "component_id": "34e0ea7c4fc6591877de4799",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "17e5f794e748d347",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp,next/server",
      "lines": 150,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "4d3962abe1891b710c7c07f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "810f3de9f2900a04",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 159,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "23fa510b81df167b5f225e0c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d301b0076ddfc39",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "58667f081c9b7046d40c7ba5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ffd1ff40412183f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,@/components/ui/tooltip,@/lib/i18n,@/lib/logger,lucide-react,next/link,react",
      "lines": 653,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d8e9627a198ca6552705c51d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/card, @/lib/db, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f51c65263f48fbff",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/card,@/lib/db,lucide-react,next,next/link",
      "lines": 376,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/discover/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "5c31aec9c362e69f364a300f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage | imports:@/components/content-layout, @/components/markdown-renderer, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SubmitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6edfad384751ff4",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/markdown-renderer,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/tooltip,@/lib/base-url,lucide-react,next/link,react",
      "lines": 1073,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability,security",
      "component_id": "258caeb559ea008aa346415b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/db, @/lib/i18n | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65b17f89e3e35e02",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/db,@/lib/i18n,lucide-react,next,next/link",
      "lines": 271,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "a81b9a70f0fb08e746c9f291",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/lib/base-url, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d0580c7141e9e5b4",
      "framework": "next-react",
      "imports": "@/lib/base-url,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "6d104b4c175e499c6b42ab57",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET, dynamic | imports:../agent.json/route | ai-score:75 | backend-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0cb97854ece9318b",
      "framework": "next-react",
      "imports": "../agent.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "9e8ac60ae4936636838411d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3222eb0e44e1674e",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 98,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "da40ae051e9fc05b66b78f63",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f96c7ae330ba29f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ec457375405103f6c903da19",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3e6985b222b30f39",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "53f5ff0e238b6673198e6169",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "606f670dfb80a156",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "743ac2674b96f6114244c87b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:../mcp/route | backend-score:55 | integration-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e002fe7a387ed9c",
      "framework": "next-react",
      "imports": "../mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "04623bab9fc349857b66242f",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentIndexPage | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "ContentIndexPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6327ccb98289c530",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/content/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "25abb78e067555f3464f8e40",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentCategoryRedirectPage | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "ContentCategoryRedirectPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a49bd42dda78db1c",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 10,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/content/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,integration",
      "component_id": "e9ec3188ea0e14e8243010a6",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentMcpPage | imports:next/navigation | frontend-score:115 | ui-score:55 | integration-score:55",
      "exports": "ContentMcpPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2419cdd16e9c8a4c",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/content/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,backend",
      "component_id": "0407599e4149c00f8224900c",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentApiPage | imports:next/navigation | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "ContentApiPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "620efc4b2cd946a0",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/content/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "e99db3ea80754fcfc3b1ff70",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentPage | imports:@/components/attribution, @/components/content-card, @/components/content-layout, @/components/content-metadata-actions, @/components/content-type-icon, @/components/markdown-renderer, @/components/media/media-embed, @/components/ui/badge | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | uses-env | metadata",
      "exports": "ContentPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "922b9e9162774692",
      "framework": "next-react",
      "imports": "@/components/attribution,@/components/content-card,@/components/content-layout,@/components/content-metadata-actions,@/components/content-type-icon,@/components/markdown-renderer,@/components/media/media-embed,@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/lib/content-metadata,@/lib/content-types,@/lib/db,@/lib/seo-generator,lucide-react,next,next/image,next/link,next/navigation",
      "lines": 648,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/content/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "8e6c452adb0d7490797c20c5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-layout, @/components/content-list-client, @/lib/db | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f06a54003092d7a",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/content-list-client,@/lib/db",
      "lines": 106,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "6bb76b7e445dff467e965595",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a6b824140597f90c",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "app/docs/security.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "ff6e17236b665c3f8f12f382",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryPage | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | metadata",
      "exports": "CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0624351cbfab0480",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db,lucide-react,next/link,next/navigation",
      "lines": 171,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,integration,observability,security,process,ai",
      "component_id": "5a04699891bdeb56ba2117be",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/db, @/lib/mcp, lucide-react | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2898df9e3f2789b2",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/db,@/lib/mcp,lucide-react",
      "lines": 308,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,backend,process",
      "component_id": "59e9223384db3bec824792dd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiCodeBlock | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | process-score:45",
      "exports": "ApiCodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69c3b383499c5adf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "api-code-block",
      "normalized_name": "api-code-block",
      "package_manager": "pnpm",
      "path": "app/docs/api/api-code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,process,automation,ai",
      "component_id": "6fe2a2021a240ed0e4656cc1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./api-code-block, @/components/content-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/db, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b969cef913d8d977",
      "framework": "next-react",
      "imports": "./api-code-block,@/components/content-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/db,lucide-react",
      "lines": 448,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "593e1d53c59ab20811d9240e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentPage | imports:@/components/content-layout, @/components/markdown-renderer, @/components/share-buttons, @/components/ui/badge, @/components/ui/button, @/components/ui/separator, @/lib/db, @/lib/seo-generator | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | uses-env | metadata",
      "exports": "DocumentPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3ac013e6176862f",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/markdown-renderer,@/components/share-buttons,@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/lib/db,@/lib/seo-generator,lucide-react,next,next/link,next/navigation",
      "lines": 482,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,process",
      "component_id": "8b52adb70c84b9f2657879d3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentNotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "DocumentNotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d12eeb4cc02a132",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 48,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/docs/[slug]/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "d8f260fa42d776fec7d1b639",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-layout, @/components/operations/bulk-ingest-console, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f73fa3f19ebabef",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/operations/bulk-ingest-console,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db,lucide-react,next,next/link",
      "lines": 313,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/operations/ingest/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "129798614c6079330e934306",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-card, @/components/content-grid, @/components/content-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6cd40e9580b4e3ed",
      "framework": "next-react",
      "imports": "@/components/content-card,@/components/content-grid,@/components/content-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db,lucide-react,next,next/link",
      "lines": 405,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/explore/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f9a46afc9fbe569497b1a934",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-grid, @/components/content-layout, @/components/ui/badge, @/lib/db, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a07f631c36c1268f",
      "framework": "next-react",
      "imports": "@/components/content-grid,@/components/content-layout,@/components/ui/badge,@/lib/db,lucide-react,next,next/link",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/explore/videos/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d65512fceb200502e8642542",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-grid, @/components/content-layout, @/components/ui/badge, @/components/ui/tabs, @/lib/db, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "162e771475350079",
      "framework": "next-react",
      "imports": "@/components/content-grid,@/components/content-layout,@/components/ui/badge,@/components/ui/tabs,@/lib/db,lucide-react,next,next/link",
      "lines": 197,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/explore/audio/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "4f4cf4201e5bf8e6e4b2b520",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExploreContentRedirect | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "ExploreContentRedirect",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df18314196087a5c",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 10,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/explore/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "65c61d9bab32918a8fa6482c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/db, @/lib/logger, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2949da618e4c5bf",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/db,@/lib/logger,lucide-react,next/link",
      "lines": 218,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "602770c591ed3aeaf0fcfcb8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "69f3c053d8e350fe",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp,next/server",
      "lines": 249,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "d10676eb08e7abad96992d8f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentPolicyPage, metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/separator, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ContentPolicyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3f6fb1f8835989c",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/separator,lucide-react,next,next/link",
      "lines": 276,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/content-policy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "645f7fc12e114727fd0f6eb9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/base-url, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "144b6cc3580be0fc",
      "framework": "next-react",
      "imports": "@/lib/base-url,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "50e9b40f84b8ea621b9236f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/content-metadata, @/lib/content-types, @/lib/extractors, @/lib/logger, @/lib/ssrf, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba90451e7264bb7e",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,@/lib/content-types,@/lib/extractors,@/lib/logger,@/lib/ssrf,@/lib/trace,next/server",
      "lines": 215,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/url-preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "7561297f494a0b2d596158ec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, PUT | imports:@/lib/base-url, @/lib/db, @/lib/logger, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a80cea222e8c1310",
      "framework": "next-react",
      "imports": "@/lib/base-url,@/lib/db,@/lib/logger,crypto,next/server",
      "lines": 183,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,observability,automation",
      "component_id": "2aca471f4c817010243dad14",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/api-helpers, @/lib/cache-strategy, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6d613c4d6f1b7d0b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/cache-strategy,@/lib/db,next/server",
      "lines": 139,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/discover/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e2dbd5c454cd83d8bcab23b9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/trace, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a620b5cd6f6189e",
      "framework": "next-react",
      "imports": "@/lib/trace,next/server,zod",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "25436d6e36ee3e597b0ae3e4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf58e69fd4f2fcee",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "64261cfd003d7f01a42972af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_CONTENT_SIZE, POST, RETRYABLE_STATUS_CODES, XML_SNIFF_BYTES | imports:@/lib/auto-name, @/lib/db, @/lib/emoji, @/lib/extractors, @/lib/seo-generator, @/lib/ssrf, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,MAX_CONTENT_SIZE,POST,RETRYABLE_STATUS_CODES,XML_SNIFF_BYTES",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f7eadaa7b920a33c",
      "framework": "next-react",
      "imports": "@/lib/auto-name,@/lib/db,@/lib/emoji,@/lib/extractors,@/lib/seo-generator,@/lib/ssrf,next/server,uuid",
      "lines": 1104,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "2571c7238ebdc28121630630",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, @/lib/mcp-network, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1022def8567e163",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/mcp-network,@/lib/ssrf,next/server",
      "lines": 200,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "c638565b22ea611b0534aee8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp-network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4ff9812b4625394e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp-network,next/server",
      "lines": 212,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scores/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1b5dbf23c9b5f3732d5914a7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST, VALID_SORT_OPTIONS | imports:@/lib/base-url, @/lib/content-metadata, @/lib/content-types, @/lib/db, @/lib/logger, @/lib/seo-generator, @/lib/tagging, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST,VALID_SORT_OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8e6a50282cd56de2",
      "framework": "next-react",
      "imports": "@/lib/base-url,@/lib/content-metadata,@/lib/content-types,@/lib/db,@/lib/logger,@/lib/seo-generator,@/lib/tagging,next/server,zod",
      "lines": 497,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e66daeaabbbf4d3b2d1ecd7b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:@/lib/base-url, @/lib/content-metadata, @/lib/content-types, @/lib/db, @/lib/extractors, @/lib/extractors/license, @/lib/extractors/shared, @/lib/logger | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "10e4a59fdea5d9c3",
      "framework": "next-react",
      "imports": "@/lib/base-url,@/lib/content-metadata,@/lib/content-types,@/lib/db,@/lib/extractors,@/lib/extractors/license,@/lib/extractors/shared,@/lib/logger,@/lib/seo-generator,@/lib/ssrf,@/lib/tagging,@/lib/trace,next/server,zod",
      "lines": 838,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6bc4429ef91e9b5761424ccb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, OPTIONS, PATCH | imports:@/lib/base-url, @/lib/content-metadata, @/lib/db, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,OPTIONS,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b714a63c69d5e936",
      "framework": "next-react",
      "imports": "@/lib/base-url,@/lib/content-metadata,@/lib/db,@/lib/logger,next/server,zod",
      "lines": 358,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e63f399eb850834fe780a2e1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:../metadata/route, @/lib/content-metadata, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler | metadata",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eb1ed3784ed10fd1",
      "framework": "next-react",
      "imports": "../metadata/route,@/lib/content-metadata,@/lib/logger,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/share-links/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "b612079b4169e3a4c060309f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "61458202d455c6db",
      "framework": "next-react",
      "imports": "../route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/share-links/regenerate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "ad147ba3d98e137439080d93",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/content-metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e587cc5ea9d6b83",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/twitter-card/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "047e5cafbc5067007982034e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/content-metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e5abbec5a1ac0f95",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/attribution/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "18d86cfbe11b72f166c517b7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:../metadata/route, @/lib/content-metadata, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler | metadata",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6a02196b32b61e53",
      "framework": "next-react",
      "imports": "../metadata/route,@/lib/content-metadata,@/lib/logger,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/share-card/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "6cfb5ff0caba76abd7115b64",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "61458202d455c6db",
      "framework": "next-react",
      "imports": "../route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/share-card/regenerate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "d8b11af1dbb56d2a54527d9c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/content-metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e4405f5e42c75937",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/og/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "b2396f9504b2332404970fef",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/content-metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9cf3ac64a86316b5",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/seo/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "72968230e4b4e7013fd5a7e1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api-helpers, @/lib/content-metadata, @/lib/logger, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4ade0f4d9a4975a0",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/content-metadata,@/lib/logger,@/lib/trace,next/server",
      "lines": 132,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/metadata/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,discovery",
      "component_id": "7abfb81ac2d94529f4aae46a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../route | backend-score:55 | discovery-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "61458202d455c6db",
      "framework": "next-react",
      "imports": "../route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/metadata/regenerate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "e2a2336dc2eda27653334932",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/content-metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28c92293d26a2c9a",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/[slug]/aeo/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "3b022357f0a963c70decf02b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOC_FILES, GET | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DOC_FILES,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "94a99062e425bc78",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 97,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "316e68ca4d7b6898c6b5d6e1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "273b194a8ecd7483",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "8b7655598bfb1d2dda4486b2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77c5ab9950049a68",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 217,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/explore/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security",
      "component_id": "369cf927f3fc367d6f7f2d3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5a110373f43692b4",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 110,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tags/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9f4d1467b816f13d554f7d79",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/cache-strategy, @/lib/db, @/lib/logger, @/lib/query-builder, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ccd360ee3d06cd56",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/cache-strategy,@/lib/db,@/lib/logger,@/lib/query-builder,next/server",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "2efe7b2e2a7efec06fbc06d7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71c14d34cdaba732",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "f988232a47c3a55b284dc666",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/db, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9dbea4a1924b1232",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/ssrf,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/[name]/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,automation",
      "component_id": "7371496d5360824ef8c53bda",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BUILD, GET, TIMESTAMP, VERSION | imports:next/server | backend-score:125 | frontend-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "BUILD,GET,TIMESTAMP,VERSION",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ec80da6d126f9b62",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/version/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,automation,ai",
      "component_id": "df5521b7859a95c4fe43516d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api-helpers, @/lib/db, @/lib/emoji, @/lib/logger, @/lib/seo-generator, @/lib/ssrf, @/lib/trace, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "99b81db62e9335cb",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/emoji,@/lib/logger,@/lib/seo-generator,@/lib/ssrf,@/lib/trace,next/server",
      "lines": 624,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflow/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "6b53ca6fb7b6424e2a1c829d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, @/lib/query-builder, @/lib/tagging, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b48267511793f6f0",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,@/lib/query-builder,@/lib/tagging,next/server",
      "lines": 158,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "668e969ed5b5f8fae50ab84a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5a450c5b5839528c",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server,uuid",
      "lines": 245,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "6c86e50775b6db45ff604c75",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "727bcc0be99e8647",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 170,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "56b99783f05fbe6346ed1132",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api-helpers, @/lib/db, @/lib/emoji, @/lib/logger, @/lib/markdown, @/lib/seo-generator, @/lib/ssrf, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "420cd4afa140c6b7",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/emoji,@/lib/logger,@/lib/markdown,@/lib/seo-generator,@/lib/ssrf,next/server",
      "lines": 534,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/automation/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b1a93c02b4c13d952c141d10",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/cache-strategy, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c893061c0cd1db97",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/cache-strategy,@/lib/db,next/server",
      "lines": 231,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "f94ac38f614a721c6753a5e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/cache-strategy, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "81668ac4d2fb5a9c",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/cache-strategy,@/lib/db,next/server",
      "lines": 203,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "483261bc212d4b237ee12dee",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e5a8c7be6f8746f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,crypto,next/server",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "62053b5fb5163f8096c89fd4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "98efb7fb660c78d8",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,next/server",
      "lines": 129,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend",
      "component_id": "73f81dcb57a7a19d5d6187e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/analytics, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "244e440e56ebf35a",
      "framework": "next-react",
      "imports": "@/lib/analytics,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "be77fed83fe771d798804aa6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d208cedddc24857",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "f14785a998f4e31229e94447",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, dynamic | imports:@/lib/mcp-server | backend-score:55 | integration-score:55",
      "exports": "GET,POST,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "87e6d92f176a015e",
      "framework": "next-react",
      "imports": "@/lib/mcp-server",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "f0956bc90f2e91aeb6ccce3a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, POST | imports:@/lib/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2597d68476c96e83",
      "framework": "next-react",
      "imports": "@/lib/mcp,next/server",
      "lines": 132,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,frontend,backend,observability,security,discovery,automation",
      "component_id": "3066b7b901a24329f1087633",
      "component_kind": "process-document",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET | imports:next/server | process-score:80 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "24b01e7fd6375963",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 576,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,automation",
      "component_id": "50e487ea5f01c1b370d938a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@vercel/og,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@vercel/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e68c639208207692",
      "framework": "next-react",
      "imports": "@vercel/og,next/server",
      "lines": 129,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "cc3acf3f7d09ddf428edd284",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/ssrf, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "316bc4862777dd2b",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/ssrf,next/server",
      "lines": 168,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/content-health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "f82b29d6bb4e9cbcb2e9b3b9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d4a91708daee602f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "f519196c1cb3a5297c9533cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fefa2824a2aadf6a",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "a2209113c7ea7b9db2ec90b8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d64c573eb1e093a0",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 176,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,security,discovery",
      "component_id": "3d4bb477db7b0db9a552eed1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/route, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3cff441ef4d6615d",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "13e3c395bd2cadd36b58bb06",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48c8a1e18b78820c",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "290338cb8846230639d0739f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c8f97d211bc7248",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "de3549a3fe928e0dcccc04d8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/public,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:@/public/manifest.json, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88d3bf9109f3fa85",
      "framework": "next-react",
      "imports": "@/public/manifest.json,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ddcaa9752c1d4f6aae562794",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/content-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tooltip, @/lib/analytics, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a71a97888f0240ae",
      "framework": "next-react",
      "imports": "@/components/content-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tooltip,@/lib/analytics,lucide-react,next,next/link",
      "lines": 351,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b4f255a5597d9d088c172bda",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "911c29a9c7915432c8e2fdd9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareButtons, ShareDialog | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/lib/logger, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShareButtons,ShareDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b04bd4123e7c7b43",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/lib/logger,lucide-react,react",
      "lines": 258,
      "logic_relevance": "none",
      "name": "share-buttons",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "components/share-buttons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "41b1606a00b7476f55bd4b1d",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "73d7f23537ac7277c47b27ea",
      "component_kind": "feature-ui",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentListClient, contentListClient | imports:./docs-list-client | frontend-score:85 | ui-score:55",
      "exports": "ContentListClient,contentListClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ae1a3c475ad80b4",
      "framework": "next-react",
      "imports": "./docs-list-client",
      "lines": 1,
      "logic_relevance": "none",
      "name": "content-list-client",
      "normalized_name": "content-list-client",
      "package_manager": "pnpm",
      "path": "components/content-list-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "18207295e248c259e8c55248",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentLayout | imports:@/components/accessible-theme-switcher, @/components/ui/badge, @/components/ui/button, @/components/ui/collapsible, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/sheet, @/components/ui/skeleton | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContentLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d2daa808773ba7d",
      "framework": "next-react",
      "imports": "@/components/accessible-theme-switcher,@/components/ui/badge,@/components/ui/button,@/components/ui/collapsible,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react,swr",
      "lines": 626,
      "logic_relevance": "none",
      "name": "docs-layout",
      "normalized_name": "docs-layout",
      "package_manager": "pnpm",
      "path": "components/docs-layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4628e8c2054fd9cd9d505961",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,dompurify,html-react-parser,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarkdownRenderer | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/utils, dompurify, html-react-parser, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownRenderer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67843d29915895d9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/utils,dompurify,html-react-parser,lucide-react,react",
      "lines": 639,
      "logic_relevance": "none",
      "name": "markdown-renderer",
      "normalized_name": "markdown-renderer",
      "package_manager": "pnpm",
      "path": "components/markdown-renderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "303f865ef38b11fc56926991",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Attribution, AttributionNotice | imports:./content-type-icon, @/components/ui/button, @/components/ui/tooltip, @/lib/content-types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Attribution,AttributionNotice",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7163b75086ad7f6a",
      "framework": "next-react",
      "imports": "./content-type-icon,@/components/ui/button,@/components/ui/tooltip,@/lib/content-types,@/lib/utils,lucide-react,react",
      "lines": 234,
      "logic_relevance": "none",
      "name": "attribution",
      "normalized_name": "attribution",
      "package_manager": "pnpm",
      "path": "components/attribution.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "4f516ccf30ad897e80f1c079",
      "component_kind": "layout",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentLayout | imports:./docs-layout | frontend-score:85 | ui-score:55",
      "exports": "ContentLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11766a3c44ad5ebd",
      "framework": "next-react",
      "imports": "./docs-layout",
      "lines": 1,
      "logic_relevance": "none",
      "name": "content-layout",
      "normalized_name": "content-layout",
      "package_manager": "pnpm",
      "path": "components/content-layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bc23d5c0e0779875a137feaf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e817461eb9c8943e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n,lucide-react,next/navigation",
      "lines": 50,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "529cde8a248d95bb25ff41fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentListClient, contentListClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/pagination, @/components/ui/select, @/components/ui/tooltip, @/hooks/use-debounce | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "ContentListClient,contentListClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8f02b5b9a278e77",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/pagination,@/components/ui/select,@/components/ui/tooltip,@/hooks/use-debounce,@/lib/client-trace,lucide-react,next/link,react",
      "lines": 563,
      "logic_relevance": "none",
      "name": "docs-list-client",
      "normalized_name": "docs-list-client",
      "package_manager": "pnpm",
      "path": "components/docs-list-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "84054ccee072ae7823dae710",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CONTENT_TYPE_LABELS, ContentTypeBadge, ContentTypeIcon, PLATFORM_LABELS, PlatformBadge, PlatformIcon | imports:@/lib/content-types, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CONTENT_TYPE_LABELS,ContentTypeBadge,ContentTypeIcon,PLATFORM_LABELS,PlatformBadge,PlatformIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b22742fee2d8aa8",
      "framework": "next-react",
      "imports": "@/lib/content-types,@/lib/utils,lucide-react",
      "lines": 254,
      "logic_relevance": "none",
      "name": "content-type-icon",
      "normalized_name": "content-type-icon",
      "package_manager": "pnpm",
      "path": "components/content-type-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d45489aa3557f84ecb112970",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentCard, ContentCardSkeleton | imports:./content-type-icon, @/components/ui/card, @/lib/content-types, @/lib/utils, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ContentCard,ContentCardSkeleton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5848c6c917bbc874",
      "framework": "next-react",
      "imports": "./content-type-icon,@/components/ui/card,@/lib/content-types,@/lib/utils,lucide-react,next/image,next/link",
      "lines": 293,
      "logic_relevance": "none",
      "name": "content-card",
      "normalized_name": "content-card",
      "package_manager": "pnpm",
      "path": "components/content-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "962bbf302ebd050d65d3ed6c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentGrid, ContentSection | imports:./content-card, @/components/ui/badge, @/components/ui/button, @/components/ui/pagination, @/components/ui/select, @/components/ui/tooltip, @/lib/client-trace, @/lib/content-types | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContentGrid,ContentSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8c2ee64629295ed3",
      "framework": "next-react",
      "imports": "./content-card,@/components/ui/badge,@/components/ui/button,@/components/ui/pagination,@/components/ui/select,@/components/ui/tooltip,@/lib/client-trace,@/lib/content-types,@/lib/utils,lucide-react,react",
      "lines": 508,
      "logic_relevance": "none",
      "name": "content-grid",
      "normalized_name": "content-grid",
      "package_manager": "pnpm",
      "path": "components/content-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "4141c7ce11ed450d299afb24",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContentMetadataActions | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "ContentMetadataActions",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7507cf743a22b077",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "content-metadata-actions",
      "normalized_name": "content-metadata-actions",
      "package_manager": "pnpm",
      "path": "components/content-metadata-actions.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e1e6aa5e2dfd03a31107ef0b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibleThemeSwitcher | imports:./theme-switcher/constants, ./theme-switcher/use-theme-settings, @/components/ui/button, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AccessibleThemeSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "caec9e2aabf3d6ab",
      "framework": "next-react",
      "imports": "./theme-switcher/constants,./theme-switcher/use-theme-settings,@/components/ui/button,@/lib/utils,lucide-react",
      "lines": 368,
      "logic_relevance": "none",
      "name": "accessible-theme-switcher",
      "normalized_name": "accessible-theme-switcher",
      "package_manager": "pnpm",
      "path": "components/accessible-theme-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5536d3611da0abbcfb96c501",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "768e90b666c5c894793602c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9bf468a34b434911ef71897b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09325aaeabbde198",
      "framework": "next-react",
      "imports": "react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "09cbb986fa10931904520d43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c370bcba6435a9ce83f6a159",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "733a8ff8ba07b9f179601da0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "867454add93273b16f3d638c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "69dd626c2fb1860f9dd605d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c60d2d05428760630f8472f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8c89ed897ab70ac6ab1429a8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "a3ca24bb8aa3559e2d38b892",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "fa21c02ae3833f362d0c6f1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0622c661ae706c98eb7e48cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5c30721360afa3d695f1e011",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0909eb7ead28f48075fb975b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7ee7bb5707bb10b8959e75be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "168bdbfa91d677ebf4a19195",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7884a9fa36a264241f290f4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8c746cdb4d6842835bb6db1e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "efde0fe43a28a229f51bca60",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7f24970c90e1fb68d1f20f12",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4fbfae5043ac615b01bd8595",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7f674720e7de53402898adf1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ebc34cc635f0179b87069295",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "17b8fd88aa49acbf17167a73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "4a6f7a7388ca0257c0587f55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "444bbaf514ca5757a9e66280",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "53555a732e13039c62530f3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f0bb3bf73781e46cc2b32c34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "b22500d811888513f7652142",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "889c51259f06c669cc848260",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0e253821adab104f8e85ddd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "be63a99b0f4a5cd96d1ffec3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ccb4f2b53c13f746",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "14a277d308ec6701e8229d15",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dc537d458d94e71f505da72d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "d668e00e7df38c4890dba97e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "eec657a4ba5e320948c2c808",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "83713a6ecb4dddca4615e154",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "23940a713870b05b6e468a7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3afc50d686d11d3732cbaaaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "98b4ff982fcceaa73f238944",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "11a0c5f89b8a7cf5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 727,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1046b0392ed4b922ce629573",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ec2135f6c2e2a593067e433d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c4abcad5ff51fbc30032b0e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fda25fd2baf8a7e3089a903e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "22b6463faed4294f9346459e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4516803307228144918dc114",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "ecdefc9d883e90d930013d21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8ad896640b16bfe5b504fb29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d845f22528379cf3a60c3d94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "34543702d6df74c9d169048d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "71286370f359765807fa57c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d61a5b00568939093bd5248c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9ac290a44677327e5b2e9552",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dbcf30f3bf9a9f85ca3c0dc7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "8de7edc235933b0bda85d45c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "31e267d9a9272b0bc52b99ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ce150a8c8d9438da",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,observability,security,automation",
      "component_id": "94c96769703e4fd85784d7fa",
      "component_kind": "frontend-hook",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useThemeSettings | imports:./constants, next-themes, react | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "useThemeSettings",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c35da973a045817c",
      "framework": "next-react",
      "imports": "./constants,next-themes,react",
      "lines": 158,
      "logic_relevance": "none",
      "name": "use-theme-settings",
      "normalized_name": "use-theme-settings",
      "package_manager": "pnpm",
      "path": "components/theme-switcher/use-theme-settings.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "frontend,observability,automation",
      "component_id": "1c92d9dd2921b4e93274be6c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ACCENT_COLORS, ACCESSIBILITY_PRESETS, THEME_PRESETS | imports:lucide-react | frontend-score:55 | observability-score:55 | automation-score:45",
      "exports": "ACCENT_COLORS,ACCESSIBILITY_PRESETS,THEME_PRESETS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "355e5d1dc2b94b21",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "components/theme-switcher/constants.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0d80eefb92d9fed388e9a683",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BulkIngestConsole | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/progress, @/components/ui/switch, @/components/ui/textarea | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BulkIngestConsole",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3a91d7812f8cfa7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/progress,@/components/ui/switch,@/components/ui/textarea,lucide-react,next/link,react",
      "lines": 347,
      "logic_relevance": "none",
      "name": "bulk-ingest-console",
      "normalized_name": "bulk-ingest-console",
      "package_manager": "pnpm",
      "path": "components/operations/bulk-ingest-console.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3d977495ed6c4c5dd93e5467",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioPlayer, MediaEmbed, PodcastPlayer, VideoPlayer | imports:@/components/ui/button, @/lib/content-types, @/lib/utils, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AudioPlayer,MediaEmbed,PodcastPlayer,VideoPlayer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8abe1d9265c17a29",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/content-types,@/lib/utils,lucide-react,next/image,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "media-embed",
      "normalized_name": "media-embed",
      "package_manager": "pnpm",
      "path": "components/media/media-embed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "16bee331f2909068c7237aa5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "48a5325359ceb20f",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "052f80e1a9cc0f2694de64e7",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e01b887eff300be6",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "780a05cde29a8c5a367fa880",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0941c2dee5f972b8",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "dfcb733c597fffd0ea4a4178",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d917c113579840c",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "da823fdab8bd873f38b5c579",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b910c79dd1fe33d1",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "da314e7f377a6a33b708e7ec",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2cb334bf043a83c3",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "cc745788636e36e3083e7c28",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "04a9fd47b0b8bdf0",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,ai",
      "component_id": "f5f731bd91dd0db02e5399ec",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7ddaa85da2ee8de9",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "openapi-starter-bundle",
      "normalized_name": "openapi-starter-bundle",
      "package_manager": "pnpm",
      "path": "public/schemas/openapi-starter-bundle.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "bafbe8c5ccd9b5b1b8d74c8a",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1ec198a3af3435a",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "af5e66f74ad51dee4ae42d1c",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "621dc9069b64b32c",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "450784fee487321dbdd8a87a",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "88d92c40685e9d73",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e22aa5a4cd3c9e569dfd94de",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/middleware,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/middleware, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a2c3d659c0fc3b4",
      "framework": "next-react",
      "imports": "@/middleware,next/server,vitest",
      "lines": 120,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/unit/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "27694876dde201a80550ce98",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "@/lib,fs,path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ROOT | imports:@/lib/api-helpers, @/lib/base-url, @/lib/content-types, @/lib/trace, @/lib/version, fs, path, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ROOT",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b650aa4ae7308e16",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/base-url,@/lib/content-types,@/lib/trace,@/lib/version,fs,path,vitest",
      "lines": 126,
      "logic_relevance": "primary",
      "name": "build-validation.test",
      "normalized_name": "build-validation",
      "package_manager": "pnpm",
      "path": "__tests__/unit/build-validation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "2212c0217aa589c44f34b021",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@testing-library/react,react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/explore/audio/page, @/app/explore/videos/page, @/lib/db, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82f2a01c61251f3b",
      "framework": "next-react",
      "imports": "@/app/explore/audio/page,@/app/explore/videos/page,@/lib/db,@testing-library/react,react,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "explore-media-pages.test",
      "normalized_name": "explore-media-pages",
      "package_manager": "pnpm",
      "path": "__tests__/unit/app/explore-media-pages.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b321da66d3261319e73d42db",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@testing-library/react,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/analytics/page, @/app/discover/page, @/lib/analytics, @/lib/db, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30cf8d2984756c5c",
      "framework": "next-react",
      "imports": "@/app/analytics/page,@/app/discover/page,@/lib/analytics,@/lib/db,@testing-library/react,react,vitest",
      "lines": 105,
      "logic_relevance": "none",
      "name": "analytics-and-discovery-pages.test",
      "normalized_name": "analytics-and-discovery-pages",
      "package_manager": "pnpm",
      "path": "__tests__/unit/app/analytics-and-discovery-pages.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "5f4dc9f8d98ec1d4fcc53758",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/attribution, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "905aacf79e89c1f1",
      "framework": "next-react",
      "imports": "@/components/attribution,@testing-library/react,vitest",
      "lines": 113,
      "logic_relevance": "none",
      "name": "attribution.test",
      "normalized_name": "attribution",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/attribution.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "882ccdb60b929f00e5c7f69c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/ui/command, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "910a56e7a22f6e42",
      "framework": "next-react",
      "imports": "@/components/ui/command,@testing-library/react,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "command-dialog.test",
      "normalized_name": "command-dialog",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/command-dialog.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "759e912f9fc8709862018635",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/share-buttons, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "118a19a4b1241e8d",
      "framework": "next-react",
      "imports": "@/components/share-buttons,@testing-library/react,vitest",
      "lines": 117,
      "logic_relevance": "none",
      "name": "share-buttons.test",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/share-buttons.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "7b9003985cd1ca3dc6c572b6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/markdown-renderer, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "492ae2e04b629124",
      "framework": "next-react",
      "imports": "@/components/markdown-renderer,@testing-library/react,react,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "markdown-renderer-xss.test",
      "normalized_name": "markdown-renderer-xss",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/markdown-renderer-xss.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c38840264f29d47075ec4329",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/settings/page, @/lib/logger, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ddc5f108bef0039d",
      "framework": "next-react",
      "imports": "@/app/settings/page,@/lib/logger,@testing-library/react,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "settings-page.test",
      "normalized_name": "settings-page",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/settings-page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "03d2ef2b298e2c71c8f573a6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/content-type-icon, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e05edc6f2fcb3afe",
      "framework": "next-react",
      "imports": "@/components/content-type-icon,@testing-library/react,vitest",
      "lines": 59,
      "logic_relevance": "none",
      "name": "content-type-icon.test",
      "normalized_name": "content-type-icon",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/content-type-icon.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,process",
      "component_id": "db12bc6dfd1bd50699b45c80",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/content-list-client, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e8cf1f7ed015f82",
      "framework": "next-react",
      "imports": "@/components/content-list-client,@testing-library/react,vitest",
      "lines": 217,
      "logic_relevance": "none",
      "name": "docs-list-client.test",
      "normalized_name": "docs-list-client",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/docs-list-client.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "9d90bfa665a807f16c638f77",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/hooks,@testing-library/react,vitest",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/hooks/use-debounce, @testing-library/react, vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "add9690227c46c88",
      "framework": "next-react",
      "imports": "@/hooks/use-debounce,@testing-library/react,vitest",
      "lines": 96,
      "logic_relevance": "none",
      "name": "use-debounce.test",
      "normalized_name": "use-debounce",
      "package_manager": "pnpm",
      "path": "__tests__/unit/hooks/use-debounce.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,observability",
      "component_id": "69390dccd78d46333b2eb4ec",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/query-builder, vitest | logic-score:85 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66c976b0889036b9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/query-builder,vitest",
      "lines": 186,
      "logic_relevance": "primary",
      "name": "query-builder.test",
      "normalized_name": "query-builder",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/query-builder.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "4b1646328d1696994e824e52",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3b99717ca72b89b",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,ai",
      "component_id": "523d1b69b3b70d6b884aa0f5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp, vitest | logic-score:85 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "26d64cc5ba20aaa4",
      "framework": "next-react",
      "imports": "@/lib/mcp,vitest",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/mcp.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "f79fe61beb69c28d6277f8e0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, @/lib/trace, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ced076b06d475adc",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/trace,vitest",
      "lines": 145,
      "logic_relevance": "primary",
      "name": "trace.test",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/trace.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "82f7719b8d4e3df7c9632be0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/client-trace, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6a3ad7b3a33adecf",
      "framework": "next-react",
      "imports": "@/lib/client-trace,vitest",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "client-trace.test",
      "normalized_name": "client-trace",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/client-trace.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "9936525c43af0c4a057eda2d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-types, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08d68457437f7cd0",
      "framework": "next-react",
      "imports": "@/lib/api-types,vitest",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "api-types.test",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/api-types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "7bc95ccad34a76f680859267",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ORIGINAL_NODE_ENV, ORIGINAL_PUBLIC_BASE_URL | imports:@/lib/base-url, vitest | logic-score:60 | uses-env",
      "exports": "ORIGINAL_NODE_ENV,ORIGINAL_PUBLIC_BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e57746594d093ef",
      "framework": "next-react",
      "imports": "@/lib/base-url,vitest",
      "lines": 37,
      "logic_relevance": "primary",
      "name": "base-url.test",
      "normalized_name": "base-url",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/base-url.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "bc4ff7c4265bad9ce20381c5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/claws-sdk, @/lib/mcp-network, vitest | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b4dbc13ef1a4b87d",
      "framework": "next-react",
      "imports": "@/lib/claws-sdk,@/lib/mcp-network,vitest",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "claws-sdk.test",
      "normalized_name": "claws-sdk",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/claws-sdk.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "416626edf6b5e8e49e9b401e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, vitest | logic-score:60 | backend-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9512fd48f95b3c0",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "67b867f48342713d0b64a7b6",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/ssrf, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "464d5a80c40bf357",
      "framework": "next-react",
      "imports": "@/lib/ssrf,vitest",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "ssrf.test",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/ssrf.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,security,automation",
      "component_id": "59b829fe5d80a38102c2520b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/markdown, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6535db810eb3314f",
      "framework": "next-react",
      "imports": "@/lib/markdown,vitest",
      "lines": 276,
      "logic_relevance": "primary",
      "name": "markdown.test",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/markdown.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "171de3a651497e19272823d9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo-generator, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ee0abc9aeb304b86",
      "framework": "next-react",
      "imports": "@/lib/seo-generator,vitest",
      "lines": 279,
      "logic_relevance": "primary",
      "name": "seo-generator.test",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/seo-generator.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "8f0689192308472c40b62cf7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/analytics, @/lib/db, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d2b16a233ceb6385",
      "framework": "next-react",
      "imports": "@/lib/analytics,@/lib/db,vitest",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "analytics.test",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/analytics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "f0087933ce973c9a2e20a0f1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo-generator, vitest | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "be1ebe49a6549f9b",
      "framework": "next-react",
      "imports": "@/lib/seo-generator,vitest",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "aeo-geo.test",
      "normalized_name": "aeo-geo",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/aeo-geo.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "b41b79cc5a902f142aab603c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/cache-strategy, next/server, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8420b6f83da1e10b",
      "framework": "next-react",
      "imports": "@/lib/cache-strategy,next/server,vitest",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "cache-strategy.test",
      "normalized_name": "cache-strategy",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/cache-strategy.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "08b0832cacb62984c6eb6f12",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f81861dbf09b832",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 201,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "b02a993d91c2fe3a9c3cb6ad",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auto-name, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ad1d76142b894cbd",
      "framework": "next-react",
      "imports": "@/lib/auto-name,vitest",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "auto-name.test",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/auto-name.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "450a84ec167c87e70d5d60a4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/version, vitest | logic-score:60 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d0c97e6595e0cd2",
      "framework": "next-react",
      "imports": "@/lib/version,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/version.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3fdc615f7432ea32d8aecc86",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/tagging, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cb0c347d174cf3f8",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/tagging,vitest",
      "lines": 350,
      "logic_relevance": "primary",
      "name": "tagging.test",
      "normalized_name": "tagging",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/tagging.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,backend",
      "component_id": "f85a982833a3df061b22bd0a",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-helpers, vitest | logic-score:85 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9ff7dbb0f0ed299b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,vitest",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "api-helpers.test",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/api-helpers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic",
      "component_id": "493ca3d6404240a92683dfb4",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/content-types, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d9a7aaeccf74b8d",
      "framework": "next-react",
      "imports": "@/lib/content-types,vitest",
      "lines": 215,
      "logic_relevance": "primary",
      "name": "content-types.test",
      "normalized_name": "content-types",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/content-types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "e841723370dc3e8bee87e375",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "28ab164cb7c46d12",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 220,
      "logic_relevance": "primary",
      "name": "fingerprint-enhanced.test",
      "normalized_name": "fingerprint-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/fingerprint-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "91990bb10b10e5fadbc00a39",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/node-network, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "323047caf15944f1",
      "framework": "next-react",
      "imports": "@/lib/node-network,vitest",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "node-network.test",
      "normalized_name": "node-network",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/node-network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "988cf9d3e9abbce1cef18820",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/emoji, @/lib/logger, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "73a3bf5b5856a449",
      "framework": "next-react",
      "imports": "@/lib/emoji,@/lib/logger,vitest",
      "lines": 137,
      "logic_relevance": "primary",
      "name": "emoji.test",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/emoji.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "466cd637a0c45ce12c858fba",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FB_PLUGIN_URL, FB_POST_URL, IFRAME_HTML | imports:@/lib/extractors, vitest | logic-score:85 | observability-score:55",
      "exports": "FB_PLUGIN_URL,FB_POST_URL,IFRAME_HTML",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dd5799b7a673d7c7",
      "framework": "next-react",
      "imports": "@/lib/extractors,vitest",
      "lines": 382,
      "logic_relevance": "primary",
      "name": "extractors.test",
      "normalized_name": "extractors",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/extractors.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation",
      "component_id": "3fef301f72600c26df235b27",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/mcp-network, vitest | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "67fcfecd19153c78",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp-network,vitest",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "mcp-network.test",
      "normalized_name": "mcp-network",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/mcp-network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a1ed64e126aa7455b10b0b83",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/i18n, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "54062ce3b073bac9",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "faaa2abc8e0bab02acdaab59",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platphorm-service, vitest | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "da2584864e69280b",
      "framework": "next-react",
      "imports": "@/lib/platphorm-service,vitest",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "platphorm-service.test",
      "normalized_name": "platphorm-service",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/platphorm-service.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security,discovery",
      "component_id": "393b1555926ab40d26a2e784",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/content-metadata, vitest | logic-score:85 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1eccf1a47aad143a",
      "framework": "next-react",
      "imports": "@/lib/content-metadata,vitest",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "content-metadata.test",
      "normalized_name": "content-metadata",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/content-metadata.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "46313db6629def116c6d488a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, vitest | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4854a4a606916b95",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 180,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "a3be02f865c33d8a7bd49dbb",
      "component_kind": "process-document",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/workflow/route, @/lib/db, @/lib/seo-generator, next/server, vitest | process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b55a489946de7cc9",
      "framework": "next-react",
      "imports": "@/app/api/v1/workflow/route,@/lib/db,@/lib/seo-generator,next/server,vitest",
      "lines": 201,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/unit/api/v1/workflow/route.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "7dafe3cae311b324d09ad62b",
      "component_kind": "mcp-server",
      "confidence": 90,
      "dependency_roots": "@/app,@/lib,@modelcontextprotocol/sdk,fs,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EXPECTED_TOOLS | imports:@/app/api/mcp/route, @/lib/mcp-server, @modelcontextprotocol/sdk/client/index.js, @modelcontextprotocol/sdk/inMemory.js, fs, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EXPECTED_TOOLS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "589561b858558b29",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/mcp-server,@modelcontextprotocol/sdk/client/index.js,@modelcontextprotocol/sdk/inMemory.js,fs,vitest",
      "lines": 1822,
      "logic_relevance": "none",
      "name": "mcp-server.test",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/mcp-server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "6a83113ebc2a2d8686de272f",
      "component_kind": "mcp-server",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/mcp-network, @/lib/platphorm-service, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "564d0a422cb3cbe4",
      "framework": "next-react",
      "imports": "@/lib/mcp-network,@/lib/platphorm-service,vitest",
      "lines": 217,
      "logic_relevance": "none",
      "name": "platphorm-service-extended.test",
      "normalized_name": "platphorm-service-extended",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/platphorm-service-extended.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,observability,automation",
      "component_id": "a14eecaf1bb374721cdbdafa",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/claws-sdk, @/lib/mcp-network, vitest | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4a532a0efceceaa",
      "framework": "next-react",
      "imports": "@/lib/claws-sdk,@/lib/mcp-network,vitest",
      "lines": 97,
      "logic_relevance": "none",
      "name": "claws-integration.test",
      "normalized_name": "claws-integration",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/claws-integration.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability",
      "component_id": "2e0e9a8aaa3e078d0a19dbc8",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp-network, vitest | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43b9786228c2306f",
      "framework": "next-react",
      "imports": "@/lib/mcp-network,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "platphorm-network.test",
      "normalized_name": "platphorm-network",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/platphorm-network.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2cb9aa0a1b837293435a0602",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/content/[slug]/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4c06f95611ee5a8",
      "framework": "next-react",
      "imports": "@/app/api/v1/content/[slug]/route,@/lib/db,next/server,vitest",
      "lines": 201,
      "logic_relevance": "none",
      "name": "content-slug-detail.test",
      "normalized_name": "content-slug-detail",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/content-slug-detail.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend,integration,observability,security,discovery,ai",
      "component_id": "4cb1c94da6c290687241eb48",
      "component_kind": "process-document",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/docs/route, vitest | process-score:80 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c7742e88b3d92384",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 89,
      "logic_relevance": "none",
      "name": "docs-openapi.test",
      "normalized_name": "docs-openapi",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/docs-openapi.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3b9495900659e1c86be44efe",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/content/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "491bc2af6f53ec42",
      "framework": "next-react",
      "imports": "@/app/api/v1/content/route,@/lib/db,next/server,vitest",
      "lines": 224,
      "logic_relevance": "none",
      "name": "content.test",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/content.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "fbdd9f31504ef6bb14dad09a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_EXTERNAL_IP | imports:@/app/api/v1/ingest/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MOCK_EXTERNAL_IP",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "df053ae6fe361b32",
      "framework": "next-react",
      "imports": "@/app/api/v1/ingest/route,@/lib/db,next/server,vitest",
      "lines": 1136,
      "logic_relevance": "none",
      "name": "ingest.test",
      "normalized_name": "ingest",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/ingest.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "085f34df1298d5c903670bf4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EMPTY_RESULTS | imports:@/app/api/v1/explore/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "EMPTY_RESULTS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a9a5b625d6f6f6ab",
      "framework": "next-react",
      "imports": "@/app/api/v1/explore/route,@/lib/db,next/server,vitest",
      "lines": 128,
      "logic_relevance": "none",
      "name": "explore.test",
      "normalized_name": "explore",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/explore.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "794ed55d88a2e17dee87fef7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/webhooks/route, @/lib/db, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0aa468885aaed42b",
      "framework": "next-react",
      "imports": "@/app/api/v1/webhooks/route,@/lib/db,next/server,vitest",
      "lines": 178,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b9baaccf703a68ea17c55375",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/trace/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8dff5ec909f4926c",
      "framework": "next-react",
      "imports": "@/app/api/v1/trace/route,next/server,vitest",
      "lines": 124,
      "logic_relevance": "none",
      "name": "trace.test",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/trace.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "4761c4f21a3230ce50576ef8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/content/[slug]/metadata/route, @/app/api/v1/content/[slug]/share-card/route, @/app/api/v1/content/[slug]/share-links/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | metadata",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "463ab2aa52b5652c",
      "framework": "next-react",
      "imports": "@/app/api/v1/content/[slug]/metadata/route,@/app/api/v1/content/[slug]/share-card/route,@/app/api/v1/content/[slug]/share-links/route,@/lib/db,next/server,vitest",
      "lines": 139,
      "logic_relevance": "none",
      "name": "content-metadata-routes.test",
      "normalized_name": "content-metadata-routes",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/content-metadata-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e8c0ed69309ce3108423e35f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13543fd5ded38ba3",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/route,@/lib/db,next/server,vitest",
      "lines": 283,
      "logic_relevance": "none",
      "name": "documents.test",
      "normalized_name": "documents",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "127bafa6a7c4c943b02a6fbd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/[slug]/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "895d7d27060a7765",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/[slug]/route,@/lib/db,next/server,vitest",
      "lines": 171,
      "logic_relevance": "none",
      "name": "documents-slug-detail.test",
      "normalized_name": "documents-slug-detail",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents-slug-detail.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,ai",
      "component_id": "dac2b00132e7d186f29ca1f6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/register/route, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3bdbe8718da56f1c",
      "framework": "next-react",
      "imports": "@/app/api/mcp/register/route,next/server,vitest",
      "lines": 132,
      "logic_relevance": "none",
      "name": "mcp-register.test",
      "normalized_name": "mcp-register",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/mcp-register.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "1ea04fdc5f20cc053b29a11f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/submissions/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8b944704a704ef9",
      "framework": "next-react",
      "imports": "@/app/api/v1/submissions/route,@/lib/db,next/server,vitest",
      "lines": 147,
      "logic_relevance": "none",
      "name": "submissions.test",
      "normalized_name": "submissions",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/submissions.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2e1dda99f12852b333ac5544",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/submissions/[id]/route, @/lib/api-helpers, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3986e406dffd0550",
      "framework": "next-react",
      "imports": "@/app/api/v1/submissions/[id]/route,@/lib/api-helpers,@/lib/db,next/server,vitest",
      "lines": 189,
      "logic_relevance": "none",
      "name": "submissions-id.test",
      "normalized_name": "submissions-id",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/submissions-id.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "7e19d712bd6eed2e741e7dcd",
      "component_kind": "scheduled-job",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/content-health/route, @/lib/db, @/lib/ssrf, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b08e0a8c99d58919",
      "framework": "next-react",
      "imports": "@/app/api/cron/content-health/route,@/lib/db,@/lib/ssrf,vitest",
      "lines": 113,
      "logic_relevance": "none",
      "name": "cron-content-health.test",
      "normalized_name": "cron-content-health",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/cron-content-health.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "11f5070defa13bbd3a803013",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BOXCAST_EXTRACTED, FACEBOOK_POST_EXTRACTED, FB_IFRAME_HTML, FB_PLUGIN_URL, FB_POST_URL, YOUTUBE_EXTRACTED | imports:@/app/api/v1/content/ingest/route, @/lib/db, @/lib/extractors, @/lib/logger, next/server, vitest | backend-score:55 | observability-score:55 | uses-env",
      "exports": "BOXCAST_EXTRACTED,FACEBOOK_POST_EXTRACTED,FB_IFRAME_HTML,FB_PLUGIN_URL,FB_POST_URL,YOUTUBE_EXTRACTED",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8ae8824d95dff38e",
      "framework": "next-react",
      "imports": "@/app/api/v1/content/ingest/route,@/lib/db,@/lib/extractors,@/lib/logger,next/server,vitest",
      "lines": 498,
      "logic_relevance": "none",
      "name": "content-ingest.test",
      "normalized_name": "content-ingest",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/content-ingest.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5232c09a603085be671f2380",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/keys/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbb9497550595787",
      "framework": "next-react",
      "imports": "@/app/api/v1/keys/route,@/lib/db,next/server,vitest",
      "lines": 171,
      "logic_relevance": "none",
      "name": "keys.test",
      "normalized_name": "keys",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "d1b0348526e44808c0325dae",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/tags/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6ca3b1e44d1f06ec",
      "framework": "next-react",
      "imports": "@/app/api/v1/tags/route,@/lib/db,next/server,vitest",
      "lines": 181,
      "logic_relevance": "none",
      "name": "tags.test",
      "normalized_name": "tags",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/tags.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery,process",
      "component_id": "333a59d1e869abaedf62f702",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,fs,next,path,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SAMPLE_MARKDOWN | imports:@/app/api/v1/docs/[slug]/route, fs, next/server, path, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "SAMPLE_MARKDOWN",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fcb019e3e3d7f8ea",
      "framework": "next-react",
      "imports": "@/app/api/v1/docs/[slug]/route,fs,next/server,path,vitest",
      "lines": 112,
      "logic_relevance": "none",
      "name": "docs-slug-detail.test",
      "normalized_name": "docs-slug-detail",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/docs-slug-detail.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,observability,security",
      "component_id": "96083093f50deabb873d4365",
      "component_kind": "scheduled-job",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ORIGINAL_ENV | imports:@/app/api/cron/categories/route, @/lib/db, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "ORIGINAL_ENV",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ce417d5f0cd98e50",
      "framework": "next-react",
      "imports": "@/app/api/cron/categories/route,@/lib/db,next/server,vitest",
      "lines": 126,
      "logic_relevance": "none",
      "name": "cron-categories.test",
      "normalized_name": "cron-categories",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/cron-categories.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "256acda635b64a79b5f5e098",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/url-preview/route, @/lib/ssrf, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0348fe7e62d157ef",
      "framework": "next-react",
      "imports": "@/app/api/v1/url-preview/route,@/lib/ssrf,next/server,vitest",
      "lines": 82,
      "logic_relevance": "none",
      "name": "url-preview.test",
      "normalized_name": "url-preview",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/url-preview.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e090e9e28ae40af1100955e6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/categories/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "083c704bfaef3f39",
      "framework": "next-react",
      "imports": "@/app/api/v1/categories/route,@/lib/db,next/server,vitest",
      "lines": 184,
      "logic_relevance": "none",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/categories.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5c756221041aba3cca39e2a0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/settings/route, @/lib/db, @/lib/logger, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "860cbbb53efc9d10",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,@/lib/db,@/lib/logger,next/server,vitest",
      "lines": 87,
      "logic_relevance": "none",
      "name": "settings.test",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/settings.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "794c25198fff74f3666fdf3a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/search/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "421459519d49db2f",
      "framework": "next-react",
      "imports": "@/app/api/v1/search/route,@/lib/db,next/server,vitest",
      "lines": 180,
      "logic_relevance": "none",
      "name": "search.test",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/search.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,observability,security",
      "component_id": "9f66156438d41b65052ce372",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, @/lib/db, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b82fa847cc889dd",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,@/lib/db,next/server,vitest",
      "lines": 79,
      "logic_relevance": "none",
      "name": "automation.test",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/automation.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,observability,automation",
      "component_id": "f2b9c025f00bb81d63b43cb8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/version/route, vitest | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83ac4af37b0ad3d1",
      "framework": "next-react",
      "imports": "@/app/api/v1/version/route,vitest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/version.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,observability,ai",
      "component_id": "8946b531bd6e918697656b0a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_INTEGRATION | imports:@/app/api/v1/integrations/[name]/mcp/route, @/lib/db, @/lib/ssrf, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "MOCK_INTEGRATION",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8880aa619cbef6e7",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/[name]/mcp/route,@/lib/db,@/lib/ssrf,next/server,vitest",
      "lines": 153,
      "logic_relevance": "none",
      "name": "integrations-mcp.test",
      "normalized_name": "integrations-mcp",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/integrations-mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "28f7022ed42d9e1d4042c30a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_CONTENT | imports:@/app/api/v1/content/[slug]/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MOCK_CONTENT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1e9aa59b588e68f7",
      "framework": "next-react",
      "imports": "@/app/api/v1/content/[slug]/route,@/lib/db,next/server,vitest",
      "lines": 211,
      "logic_relevance": "none",
      "name": "content-slug.test",
      "normalized_name": "content-slug",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/content-slug.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend,observability,security",
      "component_id": "44623a40cca27844531eaa9e",
      "component_kind": "process-document",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/workflow/route, @/lib/api-helpers, @/lib/db, next/server, vitest | process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9c5affcc0fd699f3",
      "framework": "next-react",
      "imports": "@/app/api/v1/workflow/route,@/lib/api-helpers,@/lib/db,next/server,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "workflow.test",
      "normalized_name": "workflow",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/workflow.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "9a57403200bad3e4903b7d48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/.well-known/agent.json/route, @/app/.well-known/security.txt/route, @/app/api/docs/route, @/app/llms-index.json/route, @/app/robots.txt/route, @/app/rss.xml/route, @/app/sitemap.xml/route, @/lib/db | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cd49990bd886d36f",
      "framework": "next-react",
      "imports": "@/app/.well-known/agent.json/route,@/app/.well-known/security.txt/route,@/app/api/docs/route,@/app/llms-index.json/route,@/app/robots.txt/route,@/app/rss.xml/route,@/app/sitemap.xml/route,@/lib/db,vitest",
      "lines": 573,
      "logic_relevance": "none",
      "name": "discovery-routes.test",
      "normalized_name": "discovery-routes",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/discovery-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,observability,security,discovery,process",
      "component_id": "ae82e46404f7f41f2ca49414",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b07bc96939b2d83e",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 79,
      "logic_relevance": "none",
      "name": "openapi-docs.test",
      "normalized_name": "openapi-docs",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/openapi-docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "fc43c625d2b5ebaba1d3b4ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_SESSION | imports:@/app/api/session/route, @/lib/fingerprint, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MOCK_SESSION",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b368c2710d642df8",
      "framework": "next-react",
      "imports": "@/app/api/session/route,@/lib/fingerprint,next/server,vitest",
      "lines": 203,
      "logic_relevance": "none",
      "name": "session.test",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/session.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "cbac01477f739acc6dd81f74",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/[slug]/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1421d6a588cd92cd",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/[slug]/route,@/lib/db,next/server,vitest",
      "lines": 161,
      "logic_relevance": "none",
      "name": "documents-slug.test",
      "normalized_name": "documents-slug",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents-slug.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2a91087451ac997aebc3fbae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_DOC, MOCK_SCORE | imports:@/app/api/v1/scores/route, @/lib/db, @/lib/mcp-network, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "MOCK_DOC,MOCK_SCORE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6bc1a0a8851b831f",
      "framework": "next-react",
      "imports": "@/app/api/v1/scores/route,@/lib/db,@/lib/mcp-network,next/server,vitest",
      "lines": 239,
      "logic_relevance": "none",
      "name": "scores.test",
      "normalized_name": "scores",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/scores.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "249959e2009691c9da13a4ab",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/integrations/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d4bb8401dc2939aa",
      "framework": "next-react",
      "imports": "@/app/api/v1/integrations/route,@/lib/db,next/server,vitest",
      "lines": 171,
      "logic_relevance": "none",
      "name": "integrations.test",
      "normalized_name": "integrations",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/integrations.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9317485af7ecf1cc52ba0520",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/db, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e24edeaf83f7fa3f",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/db,vitest",
      "lines": 63,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "07576e297cb48ae04c62d215",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/network/route, @/lib/db, @/lib/mcp-network, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba68d2af1f55fa86",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/route,@/lib/db,@/lib/mcp-network,next/server,vitest",
      "lines": 111,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/v1/network.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "27cb23918a63ce55912901b0",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "00d6458f2dc2abc7",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,next/server,vitest",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/v1/automation/route.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "841512328aead39f97455c4b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/cron/categories/route, @/lib/db, next/server, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5df0c6f9703baf57",
      "framework": "next-react",
      "imports": "@/app/api/cron/categories/route,@/lib/db,next/server,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "__tests__/performance/categories.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a5bf9ba7ab20f7d7e79440f5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/settings/route, @/lib/db, next/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "199b06b94a60e1db",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,@/lib/db,next/server,vitest",
      "lines": 50,
      "logic_relevance": "none",
      "name": "settings.test",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "__tests__/performance/settings.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "f3b114c19cdcc0e29c26f4f3",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, @/lib/api-helpers, @/lib/db, next/server, vitest | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a4c66e12509d0881",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,@/lib/api-helpers,@/lib/db,next/server,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "automation.test",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "__tests__/performance/automation.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "8eac2bdf4c908adf16084dd3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "76a0d40a98bb8e8d",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 46,
      "logic_relevance": "none",
      "name": "scores-chunking",
      "normalized_name": "scores-chunking",
      "package_manager": "pnpm",
      "path": "__tests__/performance/scores-chunking.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,process",
      "component_id": "9f59a773af446db0ecf8f96b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8d43ca4a582ab3e9",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 51,
      "logic_relevance": "none",
      "name": "navigation.spec",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/navigation.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "63c7cc8b4640289f8510377c",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0f664dd477702754",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 70,
      "logic_relevance": "none",
      "name": "ingest.spec",
      "normalized_name": "ingest",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/ingest.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "5144cf0380fd4fc2e9f2106c",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@playwright/test | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "79ad5750cbed69b2",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 62,
      "logic_relevance": "none",
      "name": "api-health.spec",
      "normalized_name": "api-health",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/api-health.spec.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,backend,observability,security,automation",
      "component_id": "1f586a2b4487661f4694c4e3",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b3ba4f83176d8883",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 92,
      "logic_relevance": "none",
      "name": "api-full-coverage.spec",
      "normalized_name": "api-full-coverage",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/api-full-coverage.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,process",
      "component_id": "40de98f1d6c6e52d012f2025",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1667ac70e4683cd",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 79,
      "logic_relevance": "none",
      "name": "search.spec",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/search.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "b5998ea69e7c3993fb0539ca",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c69afbb88c0e602d",
      "framework": "next-react",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "test-api",
      "normalized_name": "test-api",
      "package_manager": "pnpm",
      "path": "scripts/test-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "a971b41cac328ca4b91adbe0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CONTENT_TYPE_ICONS, CONTENT_TYPE_LABELS, ContentDetailResponse, ContentListResponse, ContentPlatform, ContentStatus, ContentType, EmbedOptions | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CONTENT_TYPE_ICONS,CONTENT_TYPE_LABELS,ContentDetailResponse,ContentListResponse,ContentPlatform,ContentStatus,ContentType,EmbedOptions,LICENSE_LABELS,LicenseType,MediaContent,MediaContentInput,ModerationStatus,OEmbedResponse,PLATFORM_COLORS,PLATFORM_LABELS,PlatformExtractor,formatDuration,generateAttributionText,getContentTypeFromPlatform,isAudioContent,isMediaContent,isVideoContent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6f7964a8283ca80",
      "framework": "next-react",
      "imports": "",
      "lines": 371,
      "logic_relevance": "primary",
      "name": "content-types",
      "normalized_name": "content-types",
      "package_manager": "pnpm",
      "path": "lib/content-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "2c45ca8840c6e18e9830dbe0",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiResponse, generateApiKey, generateRequestId, generateSlug, getPaginationParams, hasScope | imports:./api-types, ./db, crypto, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "apiError,apiResponse,generateApiKey,generateRequestId,generateSlug,getPaginationParams,hasScope",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c984d092d0f94f23",
      "framework": "next-react",
      "imports": "./api-types,./db,crypto,next/server",
      "lines": 212,
      "logic_relevance": "primary",
      "name": "api-helpers",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "lib/api-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "adc9e4afab8c37854b06847b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TagMetadata, autoDetectCategory, autoGenerateTags, normalizeTag, validateTags | imports:./db | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "TagMetadata,autoDetectCategory,autoGenerateTags,normalizeTag,validateTags",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e71a1eaacd1ed5cd",
      "framework": "next-react",
      "imports": "./db",
      "lines": 223,
      "logic_relevance": "primary",
      "name": "tagging",
      "normalized_name": "tagging",
      "package_manager": "pnpm",
      "path": "lib/tagging.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,integration,observability,security,ai",
      "component_id": "13f65e45f675541c6006ff0c",
      "component_kind": "mcp-server",
      "confidence": 100,
      "dependency_roots": "@/lib,@modelcontextprotocol/sdk,crypto,fs,next,path,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:createMcpServer, dynamic | imports:@/lib/analytics, @/lib/auto-name, @/lib/base-url, @/lib/content-metadata, @/lib/content-types, @/lib/db, @/lib/extractors, @/lib/extractors/license | backend-score:160 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "createMcpServer,dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1d5f2869c5efa370",
      "framework": "next-react",
      "imports": "@/lib/analytics,@/lib/auto-name,@/lib/base-url,@/lib/content-metadata,@/lib/content-types,@/lib/db,@/lib/extractors,@/lib/extractors/license,@/lib/extractors/shared,@/lib/markdown,@/lib/mcp,@/lib/mcp-network,@/lib/platphorm-service,@/lib/seo-generator,@/lib/ssrf,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js,crypto,fs,next/server,path,zod",
      "lines": 2598,
      "logic_relevance": "secondary",
      "name": "mcp-server",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "lib/mcp-server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "b9551143a52f7889b322a04e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsOverview, AnalyticsSnapshot, CoverageMetrics, IngestionQualityBreakdown, PlatformBreakdown, RecentSubmission | imports:@/lib/db | logic-score:85 | observability-score:55",
      "exports": "AnalyticsOverview,AnalyticsSnapshot,CoverageMetrics,IngestionQualityBreakdown,PlatformBreakdown,RecentSubmission",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7cd39b7e7cd45bb0",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 329,
      "logic_relevance": "primary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "b5dd20f85ce8345160fcc90c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocumentScore, NetworkGraphResponse, NetworkNode, NetworkRegistration, SourceScore, mcpNetwork | imports:@/lib/db, @/lib/platphorm-service | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "DocumentScore,NetworkGraphResponse,NetworkNode,NetworkRegistration,SourceScore,mcpNetwork",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da9391bafadf8211",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platphorm-service",
      "lines": 529,
      "logic_relevance": "primary",
      "name": "mcp-network",
      "normalized_name": "mcp-network",
      "package_manager": "pnpm",
      "path": "lib/mcp-network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "7a2a35748923b4b9bc01436a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "dns,ipaddr.js",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BLOCKED_HOST_PATTERNS, ValidatedExternalUrl | imports:dns, ipaddr.js | logic-score:85 | automation-score:45",
      "exports": "BLOCKED_HOST_PATTERNS,ValidatedExternalUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f3d1ad6926b0606d",
      "framework": "next-react",
      "imports": "dns,ipaddr.js",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "ssrf",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "lib/ssrf.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "0f29d2e8e3ee62b8ea5f20f2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, TranslationKey, localeNames, locales, t, useTranslations | logic-score:70 | security-score:55 | automation-score:45",
      "exports": "Locale,TranslationKey,localeNames,locales,t,useTranslations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f088e15b447af2e9",
      "framework": "next-react",
      "imports": "",
      "lines": 1239,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "ada530963a2e3f2ee0b0a031",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getPlatphormServiceHeaders, isPlatphormServiceUrl | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "getPlatphormServiceHeaders,isPlatphormServiceUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c221a933d9cd594a",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "platphorm-service",
      "normalized_name": "platphorm-service",
      "package_manager": "pnpm",
      "path": "lib/platphorm-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "logic,observability,security,automation",
      "component_id": "3feb72a4b586139c2ac417c1",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarkdownOptions, TableOfContentsItem, extractTableOfContents, getExcerpt, htmlToPlainText, parseMarkdown, processEmoji | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownOptions,TableOfContentsItem,extractTableOfContents,getExcerpt,htmlToPlainText,parseMarkdown,processEmoji",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a2851971b2af9756",
      "framework": "next-react",
      "imports": "",
      "lines": 474,
      "logic_relevance": "primary",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "lib/markdown.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "6bab4e8d83efa00b140ecf6b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "dns,ipaddr.js",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:dns, ipaddr.js | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cb734451288fe799",
      "framework": "next-react",
      "imports": "dns,ipaddr.js",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "ssrf-test",
      "normalized_name": "ssrf-test",
      "package_manager": "pnpm",
      "path": "lib/ssrf-test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "b1e1f47ac5cbee7bdf443a9a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4c9885a7ac19f884",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "0c223cbde0057a26541f9fa0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, API_VERSION, CategoryCreateInput, DocumentCreateInput, DocumentUpdateInput, MCPPrompt, MCPResource, MCPTool | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "APIResponse,API_VERSION,CategoryCreateInput,DocumentCreateInput,DocumentUpdateInput,MCPPrompt,MCPResource,MCPTool,OPENAPI_VERSION,PaginationParams,SubmissionCreateInput,WebhookCreateInput",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c6d55ab130adc906",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "api-types",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "lib/api-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "f46437d8c39962b1c8b67db8",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getDefaultBaseUrl | logic-score:60 | uses-env",
      "exports": "getDefaultBaseUrl",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e5bd14c8ccb2d25",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "base-url",
      "normalized_name": "base-url",
      "package_manager": "pnpm",
      "path": "lib/base-url.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e546db4ecf00e0d674df610f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AEOMetadata, DocumentMeta, FullOptimization, GEOMetadata, SEOMetadata, ShareLink, calculateReadingTime, extractFAQFromContent | imports:./db | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AEOMetadata,DocumentMeta,FullOptimization,GEOMetadata,SEOMetadata,ShareLink,calculateReadingTime,extractFAQFromContent,extractKeyFacts,extractKeywords,extractQuestions,generateAEOMetadata,generateDescription,generateDirectAnswer,generateEmojiSummary,generateGEOMetadata,generateShareLinks,generateStructuredData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "31f01673e1e4349a",
      "framework": "next-react",
      "imports": "./db",
      "lines": 666,
      "logic_relevance": "primary",
      "name": "seo-generator",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "lib/seo-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ad3acf080bdaee5bae118015",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "3388c84ba7fb523034934364",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "node:dns",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ensureNodeNetworkDefaults | imports:node:dns | logic-score:45",
      "exports": "ensureNodeNetworkDefaults",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3bd36b96e29ce072",
      "framework": "next-react",
      "imports": "node:dns",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "node-network",
      "normalized_name": "node-network",
      "package_manager": "pnpm",
      "path": "lib/node-network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "a0d54e0074094def21e1b9a8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, generateRequestId, getRequestContext, logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "LogContext,LogLevel,generateRequestId,getRequestContext,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cd9cd8b9bc25cc27",
      "framework": "next-react",
      "imports": "",
      "lines": 250,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "99d75962819da9657e4ad8ab",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmojiResult, EmojiSummary, enhanceWithEmojis, getCategoryEmoji, getCategoryEmojis, parseEmojiShortcodes | imports:@/lib/logger, @/lib/platphorm-service | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "EmojiResult,EmojiSummary,enhanceWithEmojis,getCategoryEmoji,getCategoryEmojis,parseEmojiShortcodes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f8ff946dbcfa6c2e",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platphorm-service",
      "lines": 352,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "0d601c1b5ef0c9ac546f2af3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintComponents, GeoInfo, Session, extractGeoInfo, generateJA4Fingerprint, generateSessionHash | imports:./db, crypto, next/headers | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "FingerprintComponents,GeoInfo,Session,extractGeoInfo,generateJA4Fingerprint,generateSessionHash",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "477390af6ed820df",
      "framework": "next-react",
      "imports": "./db,crypto,next/headers",
      "lines": 280,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8f9492c9a4b1cb32de898adb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:formatUrlForDisplay, generateBreadcrumbs, generateCanonicalUrl, generateSemanticSlug, generateSimpleSlug, isValidSlug, parseUrlComponents, titleFromUrl | imports:crypto | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "formatUrlForDisplay,generateBreadcrumbs,generateCanonicalUrl,generateSemanticSlug,generateSimpleSlug,isValidSlug,parseUrlComponents,titleFromUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1c22e9aad04dcc43",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 314,
      "logic_relevance": "primary",
      "name": "auto-name",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "lib/auto-name.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,observability,automation",
      "component_id": "a4375ffa3a481528e89f663f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp-network | logic-score:60 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5baf780413f2caf1",
      "framework": "next-react",
      "imports": "@/lib/mcp-network",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "claws-sdk",
      "normalized_name": "claws-sdk",
      "package_manager": "pnpm",
      "path": "lib/claws-sdk.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "d8d8066deffe7548a42425c8",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:build, compatibility, environment, timestamp, vercel, version | logic-score:45 | automation-score:45 | uses-env",
      "exports": "build,compatibility,environment,timestamp,vercel,version",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3d5fee1f42c4779",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/version.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,observability,security,automation",
      "component_id": "959dc610303fd9b45dc93cd4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CACHE_STRATEGIES, CacheConfig, applyCacheHeaders, checkCacheValidation, generateCacheControl, generateCacheKey, getCacheNotModifiedResponse, getFreshnessAge | imports:next/headers, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CACHE_STRATEGIES,CacheConfig,applyCacheHeaders,checkCacheValidation,generateCacheControl,generateCacheKey,getCacheNotModifiedResponse,getFreshnessAge,getOptimalCacheHeaders,selectCacheStrategy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a80e19424aeb95a3",
      "framework": "next-react",
      "imports": "next/headers,next/server",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "cache-strategy",
      "normalized_name": "cache-strategy",
      "package_manager": "pnpm",
      "path": "lib/cache-strategy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "9ebd797ea385ea6bf68461be",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocumentQueryBuilder, QueryFilters, SubmissionQueryBuilder | imports:./db | logic-score:85 | observability-score:55",
      "exports": "DocumentQueryBuilder,QueryFilters,SubmissionQueryBuilder",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45e11b8b3aa4f18f",
      "framework": "next-react",
      "imports": "./db",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "query-builder",
      "normalized_name": "query-builder",
      "package_manager": "pnpm",
      "path": "lib/query-builder.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "31f7cfa7979d720d4704f749",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiKey, AuditLog, Category, DEFAULT_TENANT_ID, Document, MCPSession, SqlClient, Submission | imports:@/lib/content-types, @/lib/node-network, @neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiKey,AuditLog,Category,DEFAULT_TENANT_ID,Document,MCPSession,SqlClient,Submission,Tenant,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4a5a52b1f634954",
      "framework": "next-react",
      "imports": "@/lib/content-types,@/lib/node-network,@neondatabase/serverless",
      "lines": 204,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "617990f9e25244a6f299bc96",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceEventInput, TraceSpanInput | imports:@/lib/logger, @/lib/platphorm-service | logic-score:85 | observability-score:55 | ai-score:45 | uses-env",
      "exports": "TraceEventInput,TraceSpanInput",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "116f869c7a26f1d0",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platphorm-service",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "logic,observability,security,discovery,automation",
      "component_id": "4f71e605aa7a400bf27a357d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ContentMetadataBundle, ContentShareLink, MediaContentMetadataRecord, SharePlatform, buildContentMetadataBundle, buildPersistedMetadataPatch, generateContentShareLinks | imports:@/lib/base-url, @/lib/content-types, @/lib/db, @/lib/seo-generator | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "ContentMetadataBundle,ContentShareLink,MediaContentMetadataRecord,SharePlatform,buildContentMetadataBundle,buildPersistedMetadataPatch,generateContentShareLinks",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff161d9a130731f9",
      "framework": "next-react",
      "imports": "@/lib/base-url,@/lib/content-types,@/lib/db,@/lib/seo-generator",
      "lines": 599,
      "logic_relevance": "primary",
      "name": "content-metadata",
      "normalized_name": "content-metadata",
      "package_manager": "pnpm",
      "path": "lib/content-metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "2f1f9754505ab38a6b5219d3",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "827d481804c49fd1",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "client-trace",
      "normalized_name": "client-trace",
      "package_manager": "pnpm",
      "path": "lib/client-trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,integration,observability",
      "component_id": "75ba44a3599a4b01e4ad2984",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getSpotifyEmbedHtml, spotifyExtractor | imports:../content-types, ./shared | logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "getSpotifyEmbedHtml,spotifyExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "545386a95815fcad",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 221,
      "logic_relevance": "primary",
      "name": "spotify",
      "normalized_name": "spotify",
      "package_manager": "pnpm",
      "path": "lib/extractors/spotify.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "55e04b76fadf668bd8f34419",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:blueskyExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55",
      "exports": "blueskyExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "574752dd4ba2d081",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "bluesky",
      "normalized_name": "bluesky",
      "package_manager": "pnpm",
      "path": "lib/extractors/bluesky.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "e8b1fdb30d1e529cf6a0d70b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:tiktokExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "tiktokExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f5141ed640696554",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 87,
      "logic_relevance": "primary",
      "name": "tiktok",
      "normalized_name": "tiktok",
      "package_manager": "pnpm",
      "path": "lib/extractors/tiktok.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "9cdb879992b24b6e0f19d3ea",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:instagramExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55",
      "exports": "instagramExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e6a241b4c23d1fb4",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "instagram",
      "normalized_name": "instagram",
      "package_manager": "pnpm",
      "path": "lib/extractors/instagram.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "408fca3b367319cbd470cb82",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:InferredLicense, IngestionQuality, assessIngestionQuality, inferLicenseFromHtml, mergeLicense, normalizeLicenseType | imports:../content-types, ./shared | logic-score:85",
      "exports": "InferredLicense,IngestionQuality,assessIngestionQuality,inferLicenseFromHtml,mergeLicense,normalizeLicenseType",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "63fdff0511cb8a97",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "lib/extractors/license.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "611c8201b9ece181b72d44f5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:soundcloudExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "soundcloudExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1ac5383db438d4e4",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 88,
      "logic_relevance": "primary",
      "name": "soundcloud",
      "normalized_name": "soundcloud",
      "package_manager": "pnpm",
      "path": "lib/extractors/soundcloud.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "58d31ed1dda775fc1f92ab75",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cleanText, decodeHtmlEntities, extractIframeSrc, extractJsonLdObjects, extractLinkHref, extractMetaContent, getExtractorHeaders, makeAbsoluteUrl | logic-score:85",
      "exports": "cleanText,decodeHtmlEntities,extractIframeSrc,extractJsonLdObjects,extractLinkHref,extractMetaContent,getExtractorHeaders,makeAbsoluteUrl,normalizeInteger,resolveIngestUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "20e725706af9ae61",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "shared",
      "normalized_name": "shared",
      "package_manager": "pnpm",
      "path": "lib/extractors/shared.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "aee95a6d2757c62b6861f644",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:facebookExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55",
      "exports": "facebookExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e2d02e322af2a056",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "facebook",
      "normalized_name": "facebook",
      "package_manager": "pnpm",
      "path": "lib/extractors/facebook.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "710e6108417d0de9125250cc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:xExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "xExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "40c1585031f10153",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 113,
      "logic_relevance": "primary",
      "name": "x",
      "normalized_name": "x",
      "package_manager": "pnpm",
      "path": "lib/extractors/x.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "1ff43b0b392de6d26e50d086",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:applePodcastsExtractor | imports:../content-types, ./license, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "applePodcastsExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba300f8cac85064a",
      "framework": "next-react",
      "imports": "../content-types,./license,./shared",
      "lines": 105,
      "logic_relevance": "primary",
      "name": "apple-podcasts",
      "normalized_name": "apple-podcasts",
      "package_manager": "pnpm",
      "path": "lib/extractors/apple-podcasts.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "c9d06691b804cd4b33ad006a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getVimeoEmbedHtml, vimeoExtractor | imports:../content-types, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "getVimeoEmbedHtml,vimeoExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4a00586d4eb5c221",
      "framework": "next-react",
      "imports": "../content-types,./shared",
      "lines": 200,
      "logic_relevance": "primary",
      "name": "vimeo",
      "normalized_name": "vimeo",
      "package_manager": "pnpm",
      "path": "lib/extractors/vimeo.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "70b7e26623b96884f46e2c4a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:blueskyExtractor, boxcastExtractor, detectPlatform, facebookExtractor, getEmbedUrl, getExtractor, getOEmbedUrl, getPlatformLabel | imports:../content-types, ../logger, ../node-network, ./apple-podcasts, ./bluesky, ./boxcast, ./facebook, ./instagram | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "blueskyExtractor,boxcastExtractor,detectPlatform,facebookExtractor,getEmbedUrl,getExtractor,getOEmbedUrl,getPlatformLabel,instagramExtractor,isSupportedPlatform,isValidUrl,podcastExtractor,resolveIngestUrl,spotifyExtractor,validatePlatformUrl,vimeoExtractor,xExtractor,youtubeExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f81f7881cb8f6607",
      "framework": "next-react",
      "imports": "../content-types,../logger,../node-network,./apple-podcasts,./bluesky,./boxcast,./facebook,./instagram,./license,./podcast,./shared,./soundcloud,./spotify,./tiktok,./vimeo,./x,./youtube",
      "lines": 350,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/extractors/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "d70ce0952621d1b24f103915",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:podcastExtractor | imports:../content-types, ./license, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "podcastExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f505d9a135c226a4",
      "framework": "next-react",
      "imports": "../content-types,./license,./shared",
      "lines": 148,
      "logic_relevance": "primary",
      "name": "podcast",
      "normalized_name": "podcast",
      "package_manager": "pnpm",
      "path": "lib/extractors/podcast.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "84fdacc650d10c20a7a2a92a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:youtubeExtractor | imports:../content-types, ../logger, ./shared | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "youtubeExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "14e9abba4f121141",
      "framework": "next-react",
      "imports": "../content-types,../logger,./shared",
      "lines": 227,
      "logic_relevance": "primary",
      "name": "youtube",
      "normalized_name": "youtube",
      "package_manager": "pnpm",
      "path": "lib/extractors/youtube.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "74264fb29a2e6f82e1afd55f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:boxcastExtractor | imports:../content-types, ./license, ./shared | logic-score:85 | observability-score:55",
      "exports": "boxcastExtractor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9486c220e02155d6",
      "framework": "next-react",
      "imports": "../content-types,./license,./shared",
      "lines": 113,
      "logic_relevance": "primary",
      "name": "boxcast",
      "normalized_name": "boxcast",
      "package_manager": "pnpm",
      "path": "lib/extractors/boxcast.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opencontent",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "b868e2d310e2d1a0087a9f9d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "728c94fab986f457",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "0a0e5e09a0d1d781e296342d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "405cfe9073576697",
      "framework": "next-react",
      "imports": "",
      "lines": 9138,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b7051a42f7f121e663be892d",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8a30d8c20f0fd441",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 78,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bc817a44a3b2950383cf6c8d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f29f54eba64a18b7",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "PRINCIPLES",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "PRINCIPLES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8dc8d9938ee36e45e1de629c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eadfce138d62adea",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "4c8719de8dce0e79a4f1ae90",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "9eadb8d6ff7a9686cd54e6d7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "006fe7e984e83d10",
      "framework": "next-react",
      "imports": "",
      "lines": 470,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "2dac904fd0f4d507515f8b09",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/db, @/lib/emoji | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c6f4b8184df8d87",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/emoji",
      "lines": 77,
      "logic_relevance": "none",
      "name": "benchmark_automation",
      "normalized_name": "benchmark-automation",
      "package_manager": "pnpm",
      "path": "benchmark_automation.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "038281efbcfa5212fe0cfd25",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4538ce79b23c3b16",
      "framework": "next-react",
      "imports": "fs",
      "lines": 25,
      "logic_relevance": "none",
      "name": "patch_page",
      "normalized_name": "patch-page",
      "package_manager": "pnpm",
      "path": "patch_page.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "1c46e15c8f1a44dc9a067a6d",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dcd503c5866c3d0b",
      "framework": "next-react",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "82fcfde1725043a57de9f2ad",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "0d252f3154455e9e9e0c8faf",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib,crypto,fs,next,path",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/markdown, @/lib/seo-generator, crypto, fs, next/server, path | process-score:100 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd0b7a0147698c0e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/markdown,@/lib/seo-generator,crypto,fs,next/server,path",
      "lines": 1294,
      "logic_relevance": "none",
      "name": "anoms-do-not-delete",
      "normalized_name": "anoms-do-not-delete",
      "package_manager": "pnpm",
      "path": "anoms-do-not-delete.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "822b66590bffc54d7a31362b",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "790c5dddc9622733",
      "framework": "next-react",
      "imports": "fs",
      "lines": 10,
      "logic_relevance": "none",
      "name": "patch_test",
      "normalized_name": "patch-test",
      "package_manager": "pnpm",
      "path": "patch_test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "79df08692927affb74086a1a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "55171a8cac9a09fc",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "83d836ebddb33f6c5eb5e098",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "91b38ab4d3480c59",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "616bc60fba05eca051859eff",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a95767b4590b731",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "217cf39bebaeca79046085ee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b5cc7ce0c2a4486b",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "LOCAL_DEV",
      "normalized_name": "local-dev",
      "package_manager": "pnpm",
      "path": "LOCAL_DEV.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d83ee193127eb4d66e550f7f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a99044cbc9c6dff8",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "e0c2446d88f10c5760a19aef",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3036333cb2579362",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "9f148786651046950d4849ec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "playwright",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:playwright | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ecd584ec304b9ec5",
      "framework": "next-react",
      "imports": "playwright",
      "lines": 15,
      "logic_relevance": "none",
      "name": "test-frontend",
      "normalized_name": "test-frontend",
      "package_manager": "pnpm",
      "path": "test-frontend.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "cf9b8b0e0e301b4b4b0fd164",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "be6fea0275fdc4bc",
      "framework": "next-react",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "744ed9212b38476d98844802",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "05ab70739dcdee8f",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "5d6c41b66eebaa77271934c6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9036a171fe340712",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,ai",
      "component_id": "6d3e6477c9682156baa5b1b6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "19d4aa8ed7abf3cd",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ff18016bd5a7e0f0a50edbc8",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@neondatabase/serverless,crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, crypto | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "51d7273786577780",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto",
      "lines": 17,
      "logic_relevance": "none",
      "name": "playwright-global-teardown",
      "normalized_name": "playwright-global-teardown",
      "package_manager": "pnpm",
      "path": "playwright-global-teardown.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5b3493b17927817bb5716e73",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@neondatabase/serverless,crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, crypto | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a7d8f22a4a6309cf",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto",
      "lines": 24,
      "logic_relevance": "none",
      "name": "playwright-global-setup",
      "normalized_name": "playwright-global-setup",
      "package_manager": "pnpm",
      "path": "playwright-global-setup.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "a2431f99e9ceffac2742af01",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "df47fcc4bc5526b9",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "pnpm",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,observability,security,automation,ai",
      "component_id": "3bb1391600e00e2df6bf0839",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@hookform/resolvers,@modelcontextprotocol/sdk,@neondatabase/serverless,@vercel/og,@vercel/toolbar,next,react-hook-form,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime, sql | imports:@hookform/resolvers/zod, @modelcontextprotocol/sdk/server/mcp.js, @modelcontextprotocol/sdk/server/web.js, @neondatabase/serverless, @vercel/og, @vercel/toolbar/next, next/og, react-hook-form | backend-score:105 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime,sql",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c85b26d4df5e10ab",
      "framework": "next-react",
      "imports": "@hookform/resolvers/zod,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/web.js,@neondatabase/serverless,@vercel/og,@vercel/toolbar/next,next/og,react-hook-form,zod",
      "lines": 359,
      "logic_relevance": "none",
      "name": "PACKAGES",
      "normalized_name": "packages",
      "package_manager": "pnpm",
      "path": "PACKAGES.md",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "31544faccb630834f35ec0e5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ebe077e027758b0",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 27,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "198533e993ab9511a2a26a17",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "036a65675e8d9f4176481041",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e1413cbdd2b12ca8",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_desc",
      "normalized_name": "pr-desc",
      "package_manager": "pnpm",
      "path": "pr_desc.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "bc1454f770c349e21213c5d7",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "eslint-config-next",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:eslint-config-next | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ba9601711d00ff68",
      "framework": "next-react",
      "imports": "eslint-config-next",
      "lines": 10,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "pnpm",
      "path": "eslint.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "f692bdc2fdc0de752e8eba83",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0a83b8efb9e7339a",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "91907783d939c8e44d2be3a0",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, @vercel/analytics/react, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe1db4529b93492a",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/react,next,next/font/google",
      "lines": 76,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "6cec1277c7ebfc5fd93a0f9b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db, @/lib/platform-contract, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "385d02a07bb98925",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db,@/lib/platform-contract,lucide-react,next,next/link",
      "lines": 461,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "773dd4883219c530042d5f36",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d15b6110571df797",
      "framework": "next-react",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "913959155382e79273cb8c63",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "310cd4ff1e70a206",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 47,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "88ff0bd8fb12c68f3a935bf5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1d72cad7c75fc8f1",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 171,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "de42033bc22e861bebcb6c06",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cba49e4232f33618",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 118,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "75d34ec984802fdbfc0bc0af",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/rss.xml/route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f1eda0a36de2825b",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9f935ab1b46d97154c8c7db6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e4315cde63dda86",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,@/components/ui/tooltip,@/lib/i18n,@/lib/logger,lucide-react,next/link,react",
      "lines": 653,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "0cd6a23434a332d2d20f722c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage | imports:@/components/docs-layout, @/components/markdown-renderer, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SubmitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "017877729df5a6c7",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/markdown-renderer,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/tooltip,lucide-react,next/link,react",
      "lines": 1491,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "dd35fa3ccc117c691847bf36",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/separator, @/lib/platform-contract, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f599e40ebd04e4cc",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/separator,@/lib/platform-contract,next,next/link",
      "lines": 168,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "f0a2ac5ce36543387d96048a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/platform-contract, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3340e7ed1d7783ce",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform-contract,next/server",
      "lines": 91,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "6a0942f69b5f4d6ec059e358",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f56e0345386a1911",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "b4e756e58bb651a02cdefce4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "04a78bceacd85520",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "a717c9eb8ad7eabc54e5806c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2e972710323dcb2b",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "c86f8fa101267dc01865bb42",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic, metadata | imports:@/components/docs-layout, @/components/docs-list-client, @/lib/db | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "dynamic,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8a7a7d8454cac7e",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/docs-list-client,@/lib/db",
      "lines": 85,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "dd52a5f59d14988c0760ed5d",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "59402ceb80e0e47f",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "app/docs/security.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "0ba966bdf0bf9732a36c4afe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryPage | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | metadata",
      "exports": "CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c61ac38b3a1d1e79",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db,lucide-react,next/link,next/navigation",
      "lines": 171,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,integration,observability,security,process,ai",
      "component_id": "53fe9030ef683cbf49011aba",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/db, @/lib/mcp, lucide-react | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59b057ddcf697ced",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/db,@/lib/mcp,lucide-react",
      "lines": 340,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,backend,process",
      "component_id": "3f504c26ed1a2c319c9b7103",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiCodeBlock | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | process-score:45",
      "exports": "ApiCodeBlock",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69c3b383499c5adf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "api-code-block",
      "normalized_name": "api-code-block",
      "package_manager": "pnpm",
      "path": "app/docs/api/api-code-block.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,backend,observability,security,automation,ai",
      "component_id": "b6b2515a4afd2d2e3e8ac8de",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./api-code-block, @/components/docs-layout, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/lib/db, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e02644ee768f59ec",
      "framework": "next-react",
      "imports": "./api-code-block,@/components/docs-layout,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/lib/db,lucide-react",
      "lines": 508,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/api/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "b69bda8965ff87e9b81dc0a9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentPage | imports:@/components/docs-layout, @/components/markdown-renderer, @/components/share-buttons, @/components/ui/badge, @/components/ui/button, @/components/ui/separator, @/lib/db, @/lib/seo-generator | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | metadata",
      "exports": "DocumentPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "659d31c703099acb",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/markdown-renderer,@/components/share-buttons,@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/lib/db,@/lib/seo-generator,lucide-react,next,next/link,next/navigation",
      "lines": 487,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,process",
      "component_id": "e5cef17330914a53719da9a3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocumentNotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "DocumentNotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5cbc93b13fe353e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 48,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/docs/[slug]/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "eadf6b8c9ac4c0caf65b8599",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/docs-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/db, @/lib/logger, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c1164fc14bc1ecd",
      "framework": "next-react",
      "imports": "@/components/docs-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/db,@/lib/logger,lucide-react,next/link",
      "lines": 218,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "9cd15293ca9adcdb70c29e73",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "80a0823918f0fed7",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform-contract,next/server",
      "lines": 238,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "1e72ea9e99981b90af7d2137",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "813d3c4f51be43ac",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f7fbce7225feb1bca908d061",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, PUT | imports:@/lib/db, @/lib/logger, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3a5731046d2e7e66",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,crypto,next/server",
      "lines": 182,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,observability,automation",
      "component_id": "c8f6e22fb8b1037ae10b1e07",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/api-helpers, @/lib/cache-strategy, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6d613c4d6f1b7d0b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/cache-strategy,@/lib/db,next/server",
      "lines": 139,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/discover/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7abb445b9a4964d0bcbf4959",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/capabilities/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "53d8a43f5c51d8f6",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d1f1fedef79c127b6edbbb24",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/auto-name, @/lib/clipping, @/lib/db, @/lib/seo-generator, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23fea4c639adff35",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auto-name,@/lib/clipping,@/lib/db,@/lib/seo-generator,@/lib/trace,next/server",
      "lines": 115,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/commit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend",
      "component_id": "2f35d8d9e7cdab2ef09d6e5b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b1ddcde9209ef016",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/image/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend",
      "component_id": "0bca3d7f7f3b594039d1b2ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "40502f84888f8ab8",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/google-drive/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend",
      "component_id": "fecf60d24cf92be33fefdc41",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bc1a1357ce3b8623",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/reddit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend",
      "component_id": "26a6a08ba4d09a00dfd67265",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "33630684791f4f4e",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/dropbox/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "5cfe122c3c44c8ae92a06f42",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3eefb6acc804a23f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend",
      "component_id": "aa00241105bc674a29c6fc63",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "981456690557151a",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/platform-post/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend,observability",
      "component_id": "4e70ad6511417914d31c94f0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "384c0c6f98acb23f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend,security",
      "component_id": "000d88272974a3fbd01f2b4d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/tagging, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9252c9eed22f0a32",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/tagging,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/[id]/tags/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,discovery",
      "component_id": "200a2e53ca40848d40986294",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/seo-generator, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cabfd19357628570",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/seo-generator,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/[id]/metadata/regenerate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend",
      "component_id": "8af277212f0886b138378a0e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/clipping, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a71687a17d2aa768",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/clipping,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/clip/paste/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3f5cb42c51747f5255295eda",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf58e69fd4f2fcee",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "ea8ca26fd14fc6579b577317",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid,youtube-dl-exec",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_CONTENT_SIZE, POST, RETRYABLE_STATUS_CODES, XML_SNIFF_BYTES | imports:@/lib/api-helpers, @/lib/auto-name, @/lib/db, @/lib/emoji, @/lib/seo-generator, @/lib/ssrf, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,MAX_CONTENT_SIZE,POST,RETRYABLE_STATUS_CODES,XML_SNIFF_BYTES",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fb612e55f1b93ed8",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auto-name,@/lib/db,@/lib/emoji,@/lib/seo-generator,@/lib/ssrf,next/server,uuid,youtube-dl-exec",
      "lines": 1144,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "af2378cf47cea2677051a669",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, @/lib/mcp-network, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71b770a91c6b80d2",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/mcp-network,@/lib/ssrf,next/server",
      "lines": 200,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "71d259bff7eb0b8212ad9ba9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/mcp-network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "638779f4f8a660e3",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp-network,next/server",
      "lines": 212,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/scores/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "589c712ea98bdd87ce57cc4d",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b8af5329ca7524d",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "f0fda45131d40f5a9d79fcdc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, DOC_FILES, GET | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DOCS_DIR,DOC_FILES,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "929c8e37f277dceb",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 97,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "e0eb9f10f0c69c4a0f8bf37e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, GET | imports:fs, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DOCS_DIR,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "50d17b7adb896997",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security",
      "component_id": "247ae9ec9c31dbcb14afaf55",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cefc2569c995277f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 115,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tags/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fae7bd53e12e0726038451ab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/cache-strategy, @/lib/db, @/lib/logger, @/lib/query-builder, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9854cf8dabe5595f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/cache-strategy,@/lib/db,@/lib/logger,@/lib/query-builder,next/server",
      "lines": 123,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "c12006e0f5d59a83bc434209",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71c14d34cdaba732",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "6f7fc709c6c705ce0656a359",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT, GET, POST | imports:@/lib/db, @/lib/ssrf, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "DEFAULT_TENANT,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "210ab3858cd0b24f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/ssrf,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/[name]/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,frontend,automation",
      "component_id": "8c88e5d27adcae8076286b5e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BUILD, GET, TIMESTAMP, VERSION | imports:next/server | backend-score:125 | frontend-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "BUILD,GET,TIMESTAMP,VERSION",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ec80da6d126f9b62",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/version/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,process,frontend,observability,security,automation,ai",
      "component_id": "c937a61db4569e5201050697",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api-helpers, @/lib/db, @/lib/emoji, @/lib/seo-generator, @/lib/ssrf, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5097a03e8a272886",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/emoji,@/lib/seo-generator,@/lib/ssrf,next/server",
      "lines": 540,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflow/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "d43c157ae8c1f3faa2acedb2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, @/lib/query-builder, @/lib/tagging, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "81c3786274eb37c6",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,@/lib/query-builder,@/lib/tagging,next/server",
      "lines": 161,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b5224ede013b72929e8ce07c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server, uuid | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5a450c5b5839528c",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server,uuid",
      "lines": 245,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend,observability",
      "component_id": "815ce30ddb1f563aee885d53",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "aa30b1180a2a1640",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "1e4b9865239e4eee672e35a9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fd288e3e811a47a9",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sources/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "555445fbe98b8298162acac7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2fc61f0e27dc82df",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 187,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "edfc8c4ad6a172bfed360e57",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api-helpers, @/lib/db, @/lib/emoji, @/lib/logger, @/lib/markdown, @/lib/seo-generator, @/lib/ssrf, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fd625e77e52d72a2",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,@/lib/emoji,@/lib/logger,@/lib/markdown,@/lib/seo-generator,@/lib/ssrf,next/server",
      "lines": 563,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/automation/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "0172e010100fd2c4f5759ff4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/cache-strategy, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "609ef173a018127c",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/cache-strategy,@/lib/db,next/server",
      "lines": 240,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "d0670459fcde7973ec7e284b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/cache-strategy, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "81668ac4d2fb5a9c",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/cache-strategy,@/lib/db,next/server",
      "lines": 203,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/documents/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "e01d1ae37bfb3a6f8e6cba0e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e5a8c7be6f8746f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,crypto,next/server",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "848ea095f5f6b490a6e9a6fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/api-types, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bde3f3bc5125b6c3",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/api-types,@/lib/db,next/server",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "8977f0549483aba874a5fe48",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/mcp/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62e17b8ff7b0b254",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation,ai",
      "component_id": "c779ef0dcfde27ffec3cc149",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,node:net",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/platform-contract, next/server, node:net | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3972ad0de2666ff7",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform-contract,next/server,node:net",
      "lines": 115,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "7ae27a05ed18c8983d5c28dc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@modelcontextprotocol/sdk,crypto,fs,next,path,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:createMcpServer, dynamic | imports:@/lib/api-helpers, @/lib/auto-name, @/lib/clipping, @/lib/db, @/lib/markdown, @/lib/mcp, @/lib/mcp-network, @/lib/platform-contract | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "createMcpServer,dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8a3db5b6a99a9cd0",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/auto-name,@/lib/clipping,@/lib/db,@/lib/markdown,@/lib/mcp,@/lib/mcp-network,@/lib/platform-contract,@/lib/seo-generator,@/lib/ssrf,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js,crypto,fs,next/server,path,zod",
      "lines": 1497,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,automation,ai",
      "component_id": "978650eaf973f920e64e06f3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, POST | imports:@/lib/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f2ae8eac0191f9f",
      "framework": "next-react",
      "imports": "@/lib/mcp,next/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,frontend,backend,observability,security,discovery,automation",
      "component_id": "03883de9dd4ab89cf2377efb",
      "component_kind": "process-document",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET | imports:@/lib/platform-contract, next/server | process-score:80 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f9114b0546225bc",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 621,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "4d8a1b97d0c57f3094d66153",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "498a0934b3d4785e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,automation",
      "component_id": "5013cebff8834c8a9ef7c703",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@vercel/og,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@vercel/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d4ea97df71e396d9",
      "framework": "next-react",
      "imports": "@vercel/og,next/server",
      "lines": 129,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "28c838963f31aa036a471864",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-helpers, @/lib/db, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d4a91708daee602f",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,@/lib/db,next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e317ab1db9021e1d56110564",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/fingerprint, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7796b5927ce26d7a",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "66b74efae5bc478bd65ca5bf",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/app/sitemap.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3fc0fe15ad038401",
      "framework": "next-react",
      "imports": "@/app/sitemap.xml/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "4ba16ccbe0d902f6b8d5c679",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee8d9f28ebc3da69",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,security,discovery",
      "component_id": "b7cc5cc1d8c9ad53de2459ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/app/api/docs/route, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5800fbe8f041700b",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "84e964d6938d9fe54b14ed00",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0149914247393863",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "217ace923cd0a7a3e7221738",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbbca6888b92e6a2",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform-contract,next/server",
      "lines": 222,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "29163ceaaee003eab05bd72e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "29ccf4ef1f9e5a11",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "e9545bd3f52953192c05c517",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/app/api/docs/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0778c67af0c17b63",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,ai",
      "component_id": "f11932b1d2f7468c11d5ebdf",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4f84aea2cdca09d8",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "custom-dictionary-workspace",
      "normalized_name": "custom-dictionary-workspace",
      "package_manager": "pnpm",
      "path": ".cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6f2b32e61b97d2443387d9dd",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "560eb0bb81669433db0d22fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareButtons, ShareDialog | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/lib/logger, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShareButtons,ShareDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d00fab28c4133c93",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/lib/logger,lucide-react,react",
      "lines": 258,
      "logic_relevance": "none",
      "name": "share-buttons",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "components/share-buttons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "4b9ff951d5fb82dab587ccff",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "dfe7431aff4ae4c4b973c8c2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsLayout | imports:@/components/accessible-theme-switcher, @/components/ui/badge, @/components/ui/button, @/components/ui/collapsible, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/sheet, @/components/ui/skeleton | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca2543e6f264a872",
      "framework": "next-react",
      "imports": "@/components/accessible-theme-switcher,@/components/ui/badge,@/components/ui/button,@/components/ui/collapsible,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react,swr",
      "lines": 589,
      "logic_relevance": "none",
      "name": "docs-layout",
      "normalized_name": "docs-layout",
      "package_manager": "pnpm",
      "path": "components/docs-layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0179ea4523d27f65b6b538ec",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,html-react-parser,isomorphic-dompurify,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarkdownRenderer | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/utils, html-react-parser, isomorphic-dompurify, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownRenderer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f84003d262a773f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/utils,html-react-parser,isomorphic-dompurify,lucide-react,react",
      "lines": 639,
      "logic_relevance": "none",
      "name": "markdown-renderer",
      "normalized_name": "markdown-renderer",
      "package_manager": "pnpm",
      "path": "components/markdown-renderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a59a8f024caa4c591538d460",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LocaleSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e817461eb9c8943e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n,lucide-react,next/navigation",
      "lines": 50,
      "logic_relevance": "none",
      "name": "locale-switcher",
      "normalized_name": "locale-switcher",
      "package_manager": "pnpm",
      "path": "components/locale-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "e741e37ee27f9c18bac64f7a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsListClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/hooks/use-debounce, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsListClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff7bf9728ee79e23",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/hooks/use-debounce,lucide-react,next/link,react",
      "lines": 296,
      "logic_relevance": "none",
      "name": "docs-list-client",
      "normalized_name": "docs-list-client",
      "package_manager": "pnpm",
      "path": "components/docs-list-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "aa10efbd2408cdaa77984e5d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibleThemeSwitcher | imports:./theme-switcher/constants, ./theme-switcher/use-theme-settings, @/components/ui/button, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AccessibleThemeSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "caec9e2aabf3d6ab",
      "framework": "next-react",
      "imports": "./theme-switcher/constants,./theme-switcher/use-theme-settings,@/components/ui/button,@/lib/utils,lucide-react",
      "lines": 368,
      "logic_relevance": "none",
      "name": "accessible-theme-switcher",
      "normalized_name": "accessible-theme-switcher",
      "package_manager": "pnpm",
      "path": "components/accessible-theme-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6c73223c3bd8fc8d4777f661",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a4c714e9e3822cfc9c43ca28",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2c42e84d1066189280fea02b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4d4ac0dcd1b519c3fcdbfb9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cc4235e696329af425e1d69c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "82c7ffc4a9012b0ce6d5a3d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "82715c626f7d9cd4a8bf5d0c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "7ee2486b23b06e5f47de96a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "44c362c93bf9d19f95b92580",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d024b0e621252c741e1483e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "954333580a37986cf3d8611e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "cb8aa4bc4fb98527b267acec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7daa1824f84d4271991a7fee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9c12b1df892d5fc74e467e1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ad08aec6bab33dcaf0b7a1cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "77965a3707892c48a92149b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "326ddfd2e621e80b6c7e4195",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4cd6e4c0db6b8767795bfa48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "80f52a9a21d8abd39281ded7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c017b834b80e1794576bf9e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3f2c37e9ae0e6ae9acdd6c86",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7f3f8c079a54e4653a2c577d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0d6769ab7d40d124a88b4d84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "26db215c983f8a7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b4225d015d96867e11d800aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e8779e4a9753086a3bc3df58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "dd3ee4667ba4fc5d46086579",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a4e7bc37fdbfb78f4b2e6489",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "6eadf078c0a192455277d30d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "165f43158d9a5cdc002b4b21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "c0763ecdd6b7da9f492d9065",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e6027cb81ba59a8b7dcdb76d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6d5fa970a737f1b4b927c639",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1b193d06e37571aa06035216",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f2c0ed1617439ac42f4efccf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "67590253cec7b16c998a3cc2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "2f63f92f031939354ad30024",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8d48e953c00f25356966db3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8c079bfdeb370ee039d10fa3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "87e6a9f53e14fcfe184a0bb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3c5143f35c31c7e65175850c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b77f1a013dfaead85eb6e8e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "11a0c5f89b8a7cf5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 727,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "10b3b224e30ec95e988ac6af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8d4fce89c06246f18ea14fd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "01c90f7266d03c037f4d58b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "eaf435c0171338aa241a62d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fb344c98a635498bcce5408f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9a0a1423e876ff62dfe3ca82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "75da0d09c1c3a4c0939a9230",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4291dd99cc74445655b04310",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3bdf089f87364b05e6e353e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "214dc6c08915416a5b63bfad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bbe74cce6ae3e3a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9358c5393aa0cf6af44b204f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c8f574613a7237685def665b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "dc4a05d69c97c33bc9a562b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3ab2b500207c7baa68a3524e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "a7c2b7c2feb15fe37b0c47d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "753dff1b73d2d3852ff99f36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,observability,security,automation",
      "component_id": "d8f0692371d929d9f604b4a9",
      "component_kind": "frontend-hook",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useThemeSettings | imports:./constants, next-themes, react | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "useThemeSettings",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b3e3f97fca71c2e5",
      "framework": "next-react",
      "imports": "./constants,next-themes,react",
      "lines": 158,
      "logic_relevance": "none",
      "name": "use-theme-settings",
      "normalized_name": "use-theme-settings",
      "package_manager": "pnpm",
      "path": "components/theme-switcher/use-theme-settings.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "frontend,observability,automation",
      "component_id": "b9af6853489641c395dbf154",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ACCENT_COLORS, ACCESSIBILITY_PRESETS, THEME_PRESETS | imports:lucide-react | frontend-score:55 | observability-score:55 | automation-score:45",
      "exports": "ACCENT_COLORS,ACCESSIBILITY_PRESETS,THEME_PRESETS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "355e5d1dc2b94b21",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "components/theme-switcher/constants.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0a4c935da1b78ea158fb893f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "12670028983c89c3",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "faa14a4da3bccac2973d5686",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3f947853ebe0064f",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "db69b73b261b403fbfc388c6",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0941c2dee5f972b8",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "170197f9beb082938af8c95c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d917c113579840c",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "6444eae04dad23f3f2d1d28e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7a046f4c89e72a75",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "1f4c0dc7513285d3116f902f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "63056197079bfe3a",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "db67336c72e5daecadb69cee",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "04a9fd47b0b8bdf0",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,ai",
      "component_id": "85d7d1edda0e54aa5f89bb3c",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6bba0a8fdd23e7c3",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "openapi-starter-bundle",
      "normalized_name": "openapi-starter-bundle",
      "package_manager": "pnpm",
      "path": "public/schemas/openapi-starter-bundle.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "166798b0f06e8fd7ffe80fb9",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "7eae218032a4afdc9eab6e16",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "621dc9069b64b32c",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,security",
      "component_id": "25876fbc0803882aa4f38746",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "88d92c40685e9d73",
      "framework": "next-react",
      "imports": "",
      "lines": 51,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "b9c9298ef5526c458edcea10",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/markdown-renderer, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "492ae2e04b629124",
      "framework": "next-react",
      "imports": "@/components/markdown-renderer,@testing-library/react,react,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "markdown-renderer-xss.test",
      "normalized_name": "markdown-renderer-xss",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/markdown-renderer-xss.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "64c354cfad5f09537636cded",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/settings/page, @/lib/logger, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ddc5f108bef0039d",
      "framework": "next-react",
      "imports": "@/app/settings/page,@/lib/logger,@testing-library/react,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "settings-page.test",
      "normalized_name": "settings-page",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/settings-page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,process",
      "component_id": "d5ce3ae1391b11cc91ec08d4",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/docs-list-client, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a14f865a09cc1b8",
      "framework": "next-react",
      "imports": "@/components/docs-list-client,@testing-library/react,vitest",
      "lines": 192,
      "logic_relevance": "none",
      "name": "docs-list-client.test",
      "normalized_name": "docs-list-client",
      "package_manager": "pnpm",
      "path": "__tests__/unit/components/docs-list-client.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "230c87e0c73f561b1e037590",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/hooks,@testing-library/react,vitest",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/hooks/use-debounce, @testing-library/react, vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "add9690227c46c88",
      "framework": "next-react",
      "imports": "@/hooks/use-debounce,@testing-library/react,vitest",
      "lines": 96,
      "logic_relevance": "none",
      "name": "use-debounce.test",
      "normalized_name": "use-debounce",
      "package_manager": "pnpm",
      "path": "__tests__/unit/hooks/use-debounce.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,observability",
      "component_id": "182a8d9b56a0a75a2888cc6a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/query-builder, vitest | logic-score:85 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66c976b0889036b9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/query-builder,vitest",
      "lines": 186,
      "logic_relevance": "primary",
      "name": "query-builder.test",
      "normalized_name": "query-builder",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/query-builder.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "daa04f27505a112f92cb3a53",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3b99717ca72b89b",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,ai",
      "component_id": "96c875e2be0b07208c7fe03f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp, vitest | logic-score:85 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "26d64cc5ba20aaa4",
      "framework": "next-react",
      "imports": "@/lib/mcp,vitest",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/mcp.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "794bb9248dbf67906668bf84",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-types, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08d68457437f7cd0",
      "framework": "next-react",
      "imports": "@/lib/api-types,vitest",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "api-types.test",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/api-types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "c591f97048c05054ba62a226",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, vitest | logic-score:60 | backend-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9512fd48f95b3c0",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/db.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "55155cff8ce44a81307c0544",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/ssrf, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "edbc2a4d0821e699",
      "framework": "next-react",
      "imports": "@/lib/ssrf,vitest",
      "lines": 98,
      "logic_relevance": "primary",
      "name": "ssrf.test",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/ssrf.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,security,automation",
      "component_id": "9ddde5d562618633bd5d8898",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/markdown, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6535db810eb3314f",
      "framework": "next-react",
      "imports": "@/lib/markdown,vitest",
      "lines": 276,
      "logic_relevance": "primary",
      "name": "markdown.test",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/markdown.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "78614983ef52811b1c327cef",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo-generator, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "931dbc9c44bd3107",
      "framework": "next-react",
      "imports": "@/lib/seo-generator,vitest",
      "lines": 279,
      "logic_relevance": "primary",
      "name": "seo-generator.test",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/seo-generator.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation,ai",
      "component_id": "7ed43e5c51ff203accf1d3b3",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo-generator, vitest | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a38baad1b4c20e64",
      "framework": "next-react",
      "imports": "@/lib/seo-generator,vitest",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "aeo-geo.test",
      "normalized_name": "aeo-geo",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/aeo-geo.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "beab10f49bae404c74ff21c2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/cache-strategy, next/server, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8420b6f83da1e10b",
      "framework": "next-react",
      "imports": "@/lib/cache-strategy,next/server,vitest",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "cache-strategy.test",
      "normalized_name": "cache-strategy",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/cache-strategy.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "e5272d86a91db1e41a18b945",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/clipping, vitest | logic-score:60 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "101006f855745896",
      "framework": "next-react",
      "imports": "@/lib/clipping,vitest",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "clipping.test",
      "normalized_name": "clipping",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/clipping.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "d2475f240d7ff2e904234eba",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f81861dbf09b832",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 201,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "105e01888f8ed7d44ba0210e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auto-name, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f9e681a5a59210a",
      "framework": "next-react",
      "imports": "@/lib/auto-name,vitest",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "auto-name.test",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/auto-name.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "763a8e2877e3639263ba77c7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/version, vitest | logic-score:60 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d0c97e6595e0cd2",
      "framework": "next-react",
      "imports": "@/lib/version,vitest",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/version.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "972feda6397751c14199f5cf",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/tagging, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f1b15cd066035f4c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/tagging,vitest",
      "lines": 350,
      "logic_relevance": "primary",
      "name": "tagging.test",
      "normalized_name": "tagging",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/tagging.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,backend",
      "component_id": "83739f8ff2c228d2cc898a8c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/api-helpers, vitest | logic-score:85 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9ff7dbb0f0ed299b",
      "framework": "next-react",
      "imports": "@/lib/api-helpers,vitest",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "api-helpers.test",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/api-helpers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "92d7249e96a660210153d60b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "28ab164cb7c46d12",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 220,
      "logic_relevance": "primary",
      "name": "fingerprint-enhanced.test",
      "normalized_name": "fingerprint-enhanced",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/fingerprint-enhanced.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security",
      "component_id": "b2e33ac3c2c2e3ef0e2ad811",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/emoji, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4168b1880f81ab71",
      "framework": "next-react",
      "imports": "@/lib/emoji,vitest",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "emoji.test",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/emoji.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation",
      "component_id": "970b511e425bb31f906ec529",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/mcp-network, vitest | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2d32d0c5a02645a9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/mcp-network,vitest",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "mcp-network.test",
      "normalized_name": "mcp-network",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/mcp-network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "96a82d1c8d35bb385337c639",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/i18n, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e74b72a56644f78",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "03b1be4a93d66cb0cb26abf0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, vitest | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4cb8c82fbd36e690",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 180,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/unit/lib/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "1fdcc19e404a2c22eec55e02",
      "component_kind": "process-document",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/workflow/route, @/lib/db, @/lib/seo-generator, next/server, vitest | process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "56320fc068117a3e",
      "framework": "next-react",
      "imports": "@/app/api/v1/workflow/route,@/lib/db,@/lib/seo-generator,next/server,vitest",
      "lines": 201,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/unit/api/v1/workflow/route.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "d491c50bc15490593d794fcf",
      "component_kind": "mcp-server",
      "confidence": 90,
      "dependency_roots": "@/app,@/lib,@modelcontextprotocol/sdk,fs,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EXPECTED_TOOLS | imports:@/app/api/mcp/route, @/lib/mcp, @modelcontextprotocol/sdk/client/index.js, @modelcontextprotocol/sdk/inMemory.js, fs, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EXPECTED_TOOLS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c883b95af9923763",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/mcp,@modelcontextprotocol/sdk/client/index.js,@modelcontextprotocol/sdk/inMemory.js,fs,vitest",
      "lines": 1562,
      "logic_relevance": "none",
      "name": "mcp-server.test",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/mcp-server.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,observability,automation",
      "component_id": "879996c7ddfa9852f3d98007",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/claws-sdk, @/lib/mcp-network, vitest | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4a532a0efceceaa",
      "framework": "next-react",
      "imports": "@/lib/claws-sdk,@/lib/mcp-network,vitest",
      "lines": 97,
      "logic_relevance": "none",
      "name": "claws-integration.test",
      "normalized_name": "claws-integration",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/claws-integration.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability",
      "component_id": "e647aae2273ca019b890dcd2",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp-network, vitest | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13e28d2e9a7393ef",
      "framework": "next-react",
      "imports": "@/lib/mcp-network,vitest",
      "lines": 121,
      "logic_relevance": "none",
      "name": "platphorm-network.test",
      "normalized_name": "platphorm-network",
      "package_manager": "pnpm",
      "path": "__tests__/integration/mcp/platphorm-network.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "86b875d6c4ccb8b5a7db326d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_EXTERNAL_IP, ORIGINAL_PLATFORM_API_KEY, TEST_PLATFORM_API_KEY | imports:@/app/api/v1/ingest/route, @/lib/db, @/lib/ssrf, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "MOCK_EXTERNAL_IP,ORIGINAL_PLATFORM_API_KEY,TEST_PLATFORM_API_KEY",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e197bcc6f4710182",
      "framework": "next-react",
      "imports": "@/app/api/v1/ingest/route,@/lib/db,@/lib/ssrf,next/server,vitest",
      "lines": 1342,
      "logic_relevance": "none",
      "name": "ingest.test",
      "normalized_name": "ingest",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/ingest.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "cd71a51b23cfb3a253b4a093",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/webhooks/route, @/lib/db, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0aa468885aaed42b",
      "framework": "next-react",
      "imports": "@/app/api/v1/webhooks/route,@/lib/db,next/server,vitest",
      "lines": 178,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/webhooks.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "9656696a4473db16057b0f7d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "047245d7e82f11eb",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/route,@/lib/db,next/server,vitest",
      "lines": 286,
      "logic_relevance": "none",
      "name": "documents.test",
      "normalized_name": "documents",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "d4f1aea3b30c1f693620d5b1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/submissions/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8b944704a704ef9",
      "framework": "next-react",
      "imports": "@/app/api/v1/submissions/route,@/lib/db,next/server,vitest",
      "lines": 147,
      "logic_relevance": "none",
      "name": "submissions.test",
      "normalized_name": "submissions",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/submissions.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5e100f988c39a99cc2264d82",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ORIGINAL_PLATFORM_API_KEY, TEST_PLATFORM_API_KEY | imports:@/app/api/v1/keys/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ORIGINAL_PLATFORM_API_KEY,TEST_PLATFORM_API_KEY",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f1c79b407b8aab62",
      "framework": "next-react",
      "imports": "@/app/api/v1/keys/route,@/lib/db,next/server,vitest",
      "lines": 204,
      "logic_relevance": "none",
      "name": "keys.test",
      "normalized_name": "keys",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "9864b66d0de3de9a5dd7787c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/clip/commit/route, @/app/api/v1/clip/paste/route, @/app/api/v1/clip/preview/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d7c5385202ccded",
      "framework": "next-react",
      "imports": "@/app/api/v1/clip/commit/route,@/app/api/v1/clip/paste/route,@/app/api/v1/clip/preview/route,@/lib/db,next/server,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "clip.test",
      "normalized_name": "clip",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/clip.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "507daa6f5778af7150d29682",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/categories/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb9e93b39f7568bc",
      "framework": "next-react",
      "imports": "@/app/api/v1/categories/route,@/lib/db,next/server,vitest",
      "lines": 189,
      "logic_relevance": "none",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/categories.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "bee80f4cb7626690a97ed8f1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/settings/route, @/lib/db, @/lib/logger, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f737951ac8d58ea",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,@/lib/db,@/lib/logger,next/server,vitest",
      "lines": 87,
      "logic_relevance": "none",
      "name": "settings.test",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/settings.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "6e9396bf521c1a4a08d44e29",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/search/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f95f2d6c9887fecd",
      "framework": "next-react",
      "imports": "@/app/api/v1/search/route,@/lib/db,next/server,vitest",
      "lines": 185,
      "logic_relevance": "none",
      "name": "search.test",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/search.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,observability,security",
      "component_id": "e71e83d9a565dc6a21af8dd2",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, @/lib/db, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b82fa847cc889dd",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,@/lib/db,next/server,vitest",
      "lines": 79,
      "logic_relevance": "none",
      "name": "automation.test",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/automation.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,observability,automation",
      "component_id": "d39dca3385408c6a47798291",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/version/route, vitest | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83ac4af37b0ad3d1",
      "framework": "next-react",
      "imports": "@/app/api/v1/version/route,vitest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "version.test",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/version.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,backend,observability,security",
      "component_id": "86deef17238058bf81d24af8",
      "component_kind": "process-document",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/workflow/route, @/lib/api-helpers, @/lib/db, next/server, vitest | process-score:80 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9c5affcc0fd699f3",
      "framework": "next-react",
      "imports": "@/app/api/v1/workflow/route,@/lib/api-helpers,@/lib/db,next/server,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "workflow.test",
      "normalized_name": "workflow",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/workflow.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "4025930406ef20c7884b386d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/.well-known/agent.json/route, @/app/.well-known/security.txt/route, @/app/api/docs/route, @/app/llms-index.json/route, @/app/robots.txt/route, @/app/rss.xml/route, @/app/sitemap.xml/route, @/lib/db | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8afcc111ec3cfb1b",
      "framework": "next-react",
      "imports": "@/app/.well-known/agent.json/route,@/app/.well-known/security.txt/route,@/app/api/docs/route,@/app/llms-index.json/route,@/app/robots.txt/route,@/app/rss.xml/route,@/app/sitemap.xml/route,@/lib/db,vitest",
      "lines": 558,
      "logic_relevance": "none",
      "name": "discovery-routes.test",
      "normalized_name": "discovery-routes",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/discovery-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ebd64ce99309adcaf8526d72",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/documents/[slug]/route, @/lib/db, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1421d6a588cd92cd",
      "framework": "next-react",
      "imports": "@/app/api/v1/documents/[slug]/route,@/lib/db,next/server,vitest",
      "lines": 161,
      "logic_relevance": "none",
      "name": "documents-slug.test",
      "normalized_name": "documents-slug",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/documents-slug.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "fde7e41a2a81d01de4de791f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/db, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "449cf96e4b6ad733",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/db,vitest",
      "lines": 64,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "4a17e0aba976506d83a12edc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/network/route, @/lib/db, @/lib/mcp-network, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba68d2af1f55fa86",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/route,@/lib/db,@/lib/mcp-network,next/server,vitest",
      "lines": 111,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/v1/network.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "d63a42283fba410c1aac0265",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, next/server, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "00d6458f2dc2abc7",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,next/server,vitest",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api/v1/automation/route.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "dec140442ab97b91a7db6360",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/cron/categories/route, @/lib/db, next/server, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fcc783fc51b9d97e",
      "framework": "next-react",
      "imports": "@/app/api/cron/categories/route,@/lib/db,next/server,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "__tests__/performance/categories.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5c9a4c61a9224f946191bbe1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/settings/route, @/lib/db, next/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "199b06b94a60e1db",
      "framework": "next-react",
      "imports": "@/app/api/v1/settings/route,@/lib/db,next/server,vitest",
      "lines": 50,
      "logic_relevance": "none",
      "name": "settings.test",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "__tests__/performance/settings.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "8b1acf99d03526eeb63bf92d",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/v1/automation/route, @/lib/api-helpers, @/lib/db, next/server, vitest | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2c8fd031bfd3477f",
      "framework": "next-react",
      "imports": "@/app/api/v1/automation/route,@/lib/api-helpers,@/lib/db,next/server,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "automation.test",
      "normalized_name": "automation",
      "package_manager": "pnpm",
      "path": "__tests__/performance/automation.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d7c57b760c2e27ec7e5b8f1e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:perf_hooks | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "76a0d40a98bb8e8d",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 46,
      "logic_relevance": "none",
      "name": "scores-chunking",
      "normalized_name": "scores-chunking",
      "package_manager": "pnpm",
      "path": "__tests__/performance/scores-chunking.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "049192f013bf24e6d5d355e8",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0f664dd477702754",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 70,
      "logic_relevance": "none",
      "name": "ingest.spec",
      "normalized_name": "ingest",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/ingest.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process,ai",
      "component_id": "505c33d08d3da0309ebfbdbc",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "323c428face1083d",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 105,
      "logic_relevance": "none",
      "name": "clip.spec",
      "normalized_name": "clip",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/clip.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,observability,security,automation",
      "component_id": "ce0202b3feef2c5380cfce25",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31e454f17b6a20ac",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "57bb92a1bbf7bca662ed2ee1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1db7dffdcd1b6809",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,security,automation",
      "component_id": "2ae8a2d8345ac0850ab540b6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d91767efe1ee22d1",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "1e11ca11939cdd5aa48cfad9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | ai-score:45 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1e1c5526f160f043",
      "framework": "next-react",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "test-api",
      "normalized_name": "test-api",
      "package_manager": "pnpm",
      "path": "scripts/test-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "b889248e6785736a25f8172f",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiResponse, generateApiKey, generateRequestId, generateSlug, getPaginationParams, hasScope, hasValidPlatformApiKey | imports:./api-types, ./db, crypto, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "apiError,apiResponse,generateApiKey,generateRequestId,generateSlug,getPaginationParams,hasScope,hasValidPlatformApiKey,publicProtectedBoundary,redactIpAddress,shouldRequirePlatformApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f5f81cabe2feebad",
      "framework": "next-react",
      "imports": "./api-types,./db,crypto,next/server",
      "lines": 247,
      "logic_relevance": "primary",
      "name": "api-helpers",
      "normalized_name": "api-helpers",
      "package_manager": "pnpm",
      "path": "lib/api-helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "f0d790fd90b73ab1d0256f8b",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ModelAdapterStatus, ModelCapability, getModelAdapterStatus | imports:./trace | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "ModelAdapterStatus,ModelCapability,getModelAdapterStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5ed1576044941ee3",
      "framework": "next-react",
      "imports": "./trace",
      "lines": 60,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "232edf0f0023e2c54f135fd6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TagMetadata, autoDetectCategory, autoGenerateTags, normalizeTag, validateTags | imports:./db | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "TagMetadata,autoDetectCategory,autoGenerateTags,normalizeTag,validateTags",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3469e44fb8f31bd",
      "framework": "next-react",
      "imports": "./db",
      "lines": 223,
      "logic_relevance": "primary",
      "name": "tagging",
      "normalized_name": "tagging",
      "package_manager": "pnpm",
      "path": "lib/tagging.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "edc67c1551fc50cf9146d157",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocumentScore, NetworkGraphResponse, NetworkNode, NetworkRegistration, SourceScore, mcpNetwork | imports:@/lib/db | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "DocumentScore,NetworkGraphResponse,NetworkNode,NetworkRegistration,SourceScore,mcpNetwork",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8849207574bc44d4",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 526,
      "logic_relevance": "primary",
      "name": "mcp-network",
      "normalized_name": "mcp-network",
      "package_manager": "pnpm",
      "path": "lib/mcp-network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "136edcce1998ab5f4831e809",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "dns,ipaddr.js",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BLOCKED_HOST_PATTERNS, ValidatedExternalUrl | imports:dns, ipaddr.js | logic-score:85 | automation-score:45",
      "exports": "BLOCKED_HOST_PATTERNS,ValidatedExternalUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f3d1ad6926b0606d",
      "framework": "next-react",
      "imports": "dns,ipaddr.js",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "ssrf",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "lib/ssrf.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "9a5541df99a0209980e4f386",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, TranslationKey, localeNames, locales, t, useTranslations | logic-score:70 | security-score:55 | automation-score:45",
      "exports": "Locale,TranslationKey,localeNames,locales,t,useTranslations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0ec5f33d304c4f31",
      "framework": "next-react",
      "imports": "",
      "lines": 1239,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "logic,observability,security,automation",
      "component_id": "30747f5b41a589c3925c6ba9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarkdownOptions, TableOfContentsItem, extractTableOfContents, getExcerpt, htmlToPlainText, parseMarkdown, processEmoji | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MarkdownOptions,TableOfContentsItem,extractTableOfContents,getExcerpt,htmlToPlainText,parseMarkdown,processEmoji",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a2851971b2af9756",
      "framework": "next-react",
      "imports": "",
      "lines": 474,
      "logic_relevance": "primary",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "pnpm",
      "path": "lib/markdown.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "550baf573cc21cc6ef9d03ba",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "dns,ipaddr.js",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:dns, ipaddr.js | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cb734451288fe799",
      "framework": "next-react",
      "imports": "dns,ipaddr.js",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "ssrf-test",
      "normalized_name": "ssrf-test",
      "package_manager": "pnpm",
      "path": "lib/ssrf-test.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "d92eaace5a1f49e0474d45f4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c243482a916a9da",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "b1656cefbec47428e42a369d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, API_VERSION, CategoryCreateInput, DocumentCreateInput, DocumentUpdateInput, MCPPrompt, MCPResource, MCPTool | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "APIResponse,API_VERSION,CategoryCreateInput,DocumentCreateInput,DocumentUpdateInput,MCPPrompt,MCPResource,MCPTool,OPENAPI_VERSION,PaginationParams,SubmissionCreateInput,WebhookCreateInput",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b49d31d9b562546",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "primary",
      "name": "api-types",
      "normalized_name": "api-types",
      "package_manager": "pnpm",
      "path": "lib/api-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "bfb96c3b7b19d6a5f14198b0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AEOMetadata, DocumentMeta, FullOptimization, GEOMetadata, OG_IMAGE_DESCRIPTION_MAX_LENGTH, SEOMetadata, ShareLink, buildOgImageUrl | imports:./db | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AEOMetadata,DocumentMeta,FullOptimization,GEOMetadata,OG_IMAGE_DESCRIPTION_MAX_LENGTH,SEOMetadata,ShareLink,buildOgImageUrl,calculateReadingTime,extractFAQFromContent,extractKeyFacts,extractKeywords,extractQuestions,generateAEOMetadata,generateDescription,generateDirectAnswer,generateEmojiSummary,generateGEOMetadata,generateShareLinks,generateStructuredData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "04eff76fdc7f5892",
      "framework": "next-react",
      "imports": "./db",
      "lines": 717,
      "logic_relevance": "primary",
      "name": "seo-generator",
      "normalized_name": "seo-generator",
      "package_manager": "pnpm",
      "path": "lib/seo-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d9167e3842942bc408fd0cc0",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "abc9a91fab295bc10b7545bf",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClipPreviewInput, ClipPreviewResult, ClipSourceType, SourceAttribution, TagSuggestion, createClipTrace, detectClipSourceType, htmlToCleanMarkdown | imports:./model-adapter, ./seo-generator, ./ssrf, ./tagging, ./trace, crypto | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "ClipPreviewInput,ClipPreviewResult,ClipSourceType,SourceAttribution,TagSuggestion,createClipTrace,detectClipSourceType,htmlToCleanMarkdown,sourceDomain",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a2ac9a8b2c6862b",
      "framework": "next-react",
      "imports": "./model-adapter,./seo-generator,./ssrf,./tagging,./trace,crypto",
      "lines": 672,
      "logic_relevance": "primary",
      "name": "clipping",
      "normalized_name": "clipping",
      "package_manager": "pnpm",
      "path": "lib/clipping.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "982d6c66691caf69a387d590",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, generateRequestId, getRequestContext, logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "LogContext,LogLevel,generateRequestId,getRequestContext,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e82b443b011458c4",
      "framework": "next-react",
      "imports": "",
      "lines": 250,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "7c72741f2350167db38b897a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmojiResult, EmojiSummary, enhanceWithEmojis, getCategoryEmoji, getCategoryEmojis, parseEmojiShortcodes | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EmojiResult,EmojiSummary,enhanceWithEmojis,getCategoryEmoji,getCategoryEmojis,parseEmojiShortcodes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e530556c8a5f571",
      "framework": "next-react",
      "imports": "",
      "lines": 334,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "43a494fc76601d9e256f696e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintComponents, GeoInfo, Session, extractGeoInfo, generateJA4Fingerprint, generateSessionHash | imports:./db, crypto, next/headers | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "FingerprintComponents,GeoInfo,Session,extractGeoInfo,generateJA4Fingerprint,generateSessionHash",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5436e27b6296622f",
      "framework": "next-react",
      "imports": "./db,crypto,next/headers",
      "lines": 274,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9c248ea2d93d549889938ca8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:formatUrlForDisplay, generateBreadcrumbs, generateCanonicalUrl, generateSemanticSlug, generateSimpleSlug, isValidSlug, parseUrlComponents, titleFromUrl | imports:crypto | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "formatUrlForDisplay,generateBreadcrumbs,generateCanonicalUrl,generateSemanticSlug,generateSimpleSlug,isValidSlug,parseUrlComponents,titleFromUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ce8bb7a9426fa77",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 314,
      "logic_relevance": "primary",
      "name": "auto-name",
      "normalized_name": "auto-name",
      "package_manager": "pnpm",
      "path": "lib/auto-name.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,observability,automation",
      "component_id": "04a67252ed3e29d1091f70e1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp-network | logic-score:60 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5baf780413f2caf1",
      "framework": "next-react",
      "imports": "@/lib/mcp-network",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "claws-sdk",
      "normalized_name": "claws-sdk",
      "package_manager": "pnpm",
      "path": "lib/claws-sdk.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "852b3c25d3de27ce8be76e97",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DOCS_BASE_URL, PROTECTED_ACTIONS, PlatformStats, REQUIRED_PUBLIC_ROUTES, SERVICE_ID, SERVICE_NAME, SERVICE_PURPOSE, TRUST_POLICY_LINE | imports:./db, ./mcp | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "DOCS_BASE_URL,PROTECTED_ACTIONS,PlatformStats,REQUIRED_PUBLIC_ROUTES,SERVICE_ID,SERVICE_NAME,SERVICE_PURPOSE,TRUST_POLICY_LINE,getAuthDescription,getMcpInventory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2c71e40f0cce83d0",
      "framework": "next-react",
      "imports": "./db,./mcp",
      "lines": 154,
      "logic_relevance": "primary",
      "name": "platform-contract",
      "normalized_name": "platform-contract",
      "package_manager": "pnpm",
      "path": "lib/platform-contract.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "mcp",
      "categories": "logic,automation",
      "component_id": "2916e368c38da9e6c2f8cd43",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for mcp; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:build, compatibility, environment, timestamp, vercel, version | logic-score:45 | automation-score:45 | uses-env",
      "exports": "build,compatibility,environment,timestamp,vercel,version",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9d78a07d0d7e51f7",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "secondary",
      "name": "version",
      "normalized_name": "version",
      "package_manager": "pnpm",
      "path": "lib/version.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,observability,security,automation",
      "component_id": "5f80e76a8ae7db0a6a7b5f2a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CACHE_STRATEGIES, CacheConfig, applyCacheHeaders, checkCacheValidation, generateCacheControl, generateCacheKey, getCacheNotModifiedResponse, getFreshnessAge | imports:next/headers, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CACHE_STRATEGIES,CacheConfig,applyCacheHeaders,checkCacheValidation,generateCacheControl,generateCacheKey,getCacheNotModifiedResponse,getFreshnessAge,getOptimalCacheHeaders,selectCacheStrategy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a80e19424aeb95a3",
      "framework": "next-react",
      "imports": "next/headers,next/server",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "cache-strategy",
      "normalized_name": "cache-strategy",
      "package_manager": "pnpm",
      "path": "lib/cache-strategy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,observability",
      "component_id": "14b8f78332ea92d28b6583c7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocumentQueryBuilder, QueryFilters, SubmissionQueryBuilder | imports:./db | logic-score:85 | observability-score:55",
      "exports": "DocumentQueryBuilder,QueryFilters,SubmissionQueryBuilder",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45e11b8b3aa4f18f",
      "framework": "next-react",
      "imports": "./db",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "query-builder",
      "normalized_name": "query-builder",
      "package_manager": "pnpm",
      "path": "lib/query-builder.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "fc659c0619941460b346b681",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiKey, AuditLog, Category, DEFAULT_TENANT_ID, Document, MCPSession, SqlClient, Submission | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiKey,AuditLog,Category,DEFAULT_TENANT_ID,Document,MCPSession,SqlClient,Submission,Tenant,isLocalLabDatabaseUrl,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "902cbbd7ba36e148",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 172,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d1c266b6420300f400e03fef",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocsTraceContext, buildTraceHeaders, createDocsTraceContext, getTraceLink, redactedTraceAttributes | imports:crypto | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DocsTraceContext,buildTraceHeaders,createDocsTraceContext,getTraceLink,redactedTraceAttributes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2668facd83fea16c",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "61eba64d311ced8549681e57",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4c23fcf12504ecfb",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-opendocs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "851d8dec9c0e59873caa85db",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c50f46a0048281c",
      "framework": "next-react",
      "imports": "",
      "lines": 3208,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "dc7c11a75760031539bc6783",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "423d93327d64c2ac",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "78ba967cc4d13c612a8cbb26",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4bd49f3a33b530f5",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "fa04adcc0fa35e71f1e063f8",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7021632054e52764",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 53,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "48f53c8bae0922dd6891b08d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/paperboy/paperboy-game | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f092a575fecbec4",
      "framework": "next-react",
      "imports": "@/components/paperboy/paperboy-game",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "407f4db97a9506b0ad0407ab",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "55da33bb53936a3c",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "08c6e0d4d007c1a09e048bb7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "fda1e00a96c64ad766f87488",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "fcdca67b784526ae72e3863e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f8882619efbc730df2a26818",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "69f3beb22ecb0208559afbc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f8c181104d79da7a0834d838",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "59c093c36aeb81a5282ee7ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d0795f782aac5a532f6ceb61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e6ae8d7b3e2ccaa084d46b70",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "75fce511794b9ae9d1f2c887",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9ed8c9579d50672019bbc802",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c8e4ec0428a7d15631a67d8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "f5375786de59c1f636a2a78a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "22b214e0dc731802f39de4f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4f624c3b8b450c699c39ada7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "15bbe0bdefadf864148ac3d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "22dee33840dad60b3efd2a11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f2b4a84729cc23cf1808206c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a53af3ff205dec0819084895",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8836975777404bc2a88b94aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "eea7cebbbfe0126dbb91c7bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "97dac6bc35828362dac34604",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a039bd96e64cd58af7003be6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e796025c0434cd2c11eedf0c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f535a2b19cdb9ccf49f349e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "80069af339f9092ae170ad1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a32d1f1f976398dc3bcba3d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3586ddb1efa53388165a6f32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "68cffdc0910d9383bd7bc4f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "cc3e077efcece5b66975da4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6b88a452d74dd8b6504458f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "afea94e49be288256742dfd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e58b2618efc691a9ca1c8d0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8612ea8abcd4136cdef88785",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4ee46923895172f750aa5a7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f96b167b79adc9dca65e262e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2134d58d9162346809555edb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a505738d5412b08ef71b1a21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7424642d3692a70b0e0e5a90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0c7b246ee736f486e8823ea7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "20d3158cd8247aa0159a4ca9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "618c2f8371cb4ec82779befd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "adcf0b894a58114aaa50b3cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f3f07b3d5646ef47a3a4121d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d41e7aa19ece39ab6a940045",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "21db6d5bd9b7bdbe09310da2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e5d2c1af3640a47edc349938",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "54a93d5420f34085289886e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "77978999e3727eacb926fdb1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "2fe0ef8fd9ad456014da0ac0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "437700778db53eaeb1753324",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "39ef862820a2e90d342b34c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fbbb906bc14a5ca4cc0bb33e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "da9561354ae976ffa716ee7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2d84bba9ff9a29e8ab5bc473",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c55b26d380e94dfc841009a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2486ae0cb3d8d6748deb709f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "c7b0c6034d2a56850caefe76",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f0848aebcdd307275a110c0b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "frontend,ui,observability,automation",
      "component_id": "ecde47a6bafe7e8853aa8d3d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:PaperboyGame | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "PaperboyGame",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad57b1744624b4b7",
      "framework": "next-react",
      "imports": "react",
      "lines": 2087,
      "logic_relevance": "none",
      "name": "paperboy-game",
      "normalized_name": "paperboy-game",
      "package_manager": "pnpm",
      "path": "components/paperboy/paperboy-game.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "63507448edc3822c910d3690",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-paperboy",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "958831703c07395d1ded6f5c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4ff55df13c6d4e4",
      "framework": "next-react",
      "imports": "",
      "lines": 7795,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "3ee4cc6c61de9a15ad3795c6",
      "component_kind": "feed",
      "confidence": 65,
      "dependency_roots": "fs",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:fs | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "70b9a51219427179",
      "framework": "next-react",
      "imports": "fs",
      "lines": 15,
      "logic_relevance": "none",
      "name": "fix-rss-test",
      "normalized_name": "fix-rss-test",
      "package_manager": "pnpm",
      "path": "fix-rss-test.js",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "28fd7263670cc587386e33e9",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "358b056ba6081f09",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "10fc63f04b6ed03e90b11e10",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f34bdd7796e2b4ab",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "vercel.pro",
      "normalized_name": "vercel-pro",
      "package_manager": "pnpm",
      "path": "vercel.pro.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "process",
      "component_id": "c6d0ecff2f69a03cacea32a9",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for media; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "402c2de0f88a9b73",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "FAQ",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security",
      "component_id": "00512d2a6f2c21254ccbcfb1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "359cadde0dc27d56",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "789c55fe799886fe28eab078",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "518a7c391d1958fd",
      "framework": "next-react",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3ccd6849afeced2c0f06802d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:next/server | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6147aea3b9481600",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 188,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "ab3c3fe4c751f4263fadb40d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1f9fb7a884363e54",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "plan",
      "normalized_name": "plan",
      "package_manager": "pnpm",
      "path": "plan.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d18a43d5c8ff5d33b8967a37",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "56306179f8a39cc0",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 29,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "274e7b78e0a88a29bd7b0535",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6938c9320cf6e28f",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "fallback-build-manifest",
      "normalized_name": "fallback-build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/fallback-build-manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "ee23172f2d046167274f91c7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "02f3de7dfab268ee",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "images-manifest",
      "normalized_name": "images-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/images-manifest.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "04d1647a5d7d8e7d2c3d9775",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "687274998dc5511f",
      "framework": "next-react",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "required-server-files",
      "normalized_name": "required-server-files",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/required-server-files.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "6d6e422971b998bcb599ae22",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5710386f9b755e01",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/build-manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security,discovery",
      "component_id": "7ed8b2a6ac516ffdb1bc4c9e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "61f7932b0004ff1d",
      "framework": "next-react",
      "imports": "",
      "lines": 229,
      "logic_relevance": "none",
      "name": "prerender-manifest",
      "normalized_name": "prerender-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/prerender-manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "f7ce349a5b3161acd68e85ce",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9d455fd1099a21d0",
      "framework": "next-react",
      "imports": "",
      "lines": 338,
      "logic_relevance": "none",
      "name": "routes-manifest",
      "normalized_name": "routes-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/routes-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "36d3245dcb2797dd6bd84862",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2b3bd5548419fae7",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "app-path-routes-manifest",
      "normalized_name": "app-path-routes-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/app-path-routes-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c7ef228ec762cd15a6b02911",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6dc56e06547dfbc3",
      "framework": "next-react",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "required-server-files",
      "normalized_name": "required-server-files",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/required-server-files.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "00e38b07deacb8aa1bbb9bf6",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a82b6ac164149bdc",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "next-server.js.nft",
      "normalized_name": "next-server-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/next-server.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9779fb40fbc9859f3577f83e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c0e21ac043c4ec74",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "next-minimal-server.js.nft",
      "normalized_name": "next-minimal-server-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/next-minimal-server.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "bca059e8460937b53b388c1e",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:cacheLife, cacheTag, refresh, revalidatePath, revalidateTag, unstable_cache, unstable_cacheLife, unstable_cacheTag | imports:next/dist/server/use-cache/cache-tag, next/dist/server/web/spec-extension/revalidate, next/dist/server/web/spec-extension/unstable-cache, next/dist/server/web/spec-extension/unstable-no-store | observability-score:55",
      "exports": "cacheLife,cacheTag,refresh,revalidatePath,revalidateTag,unstable_cache,unstable_cacheLife,unstable_cacheTag,unstable_noStore,updateTag",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d1986184a09a52db",
      "framework": "next-react",
      "imports": "next/dist/server/use-cache/cache-tag,next/dist/server/web/spec-extension/revalidate,next/dist/server/web/spec-extension/unstable-cache,next/dist/server/web/spec-extension/unstable-no-store",
      "lines": 145,
      "logic_relevance": "none",
      "name": "cache-life.d",
      "normalized_name": "cache-life-d",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/types/cache-life.d.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f7fdae9713d04d2bf93f66ea",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Layout, Page, ParamsOf | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler | cron-or-schedule",
      "exports": "Layout,Page,ParamsOf",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84c22621f6ff8736",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "routes.d",
      "normalized_name": "routes-d",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/types/routes.d.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a2dc43412413fcd3f6307028",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../app/.well-known/ai-plugin.json/route.js, ../../app/.well-known/mcp.json/route.js, ../../app/.well-known/security.txt/route.js, ../../app/api/ai/analyze/route.js, ../../app/api/ai/chat/route.js, ../../app/api/ai/recommend/route.js, ../../app/api/cron/daily-sync/route.js, ../../app/api/cron/register/route.js | observability-score:55 | security-score:55 | automation-score:45 | metadata | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1cc7b7341725de5b",
      "framework": "next-react",
      "imports": "../../app/.well-known/ai-plugin.json/route.js,../../app/.well-known/mcp.json/route.js,../../app/.well-known/security.txt/route.js,../../app/api/ai/analyze/route.js,../../app/api/ai/chat/route.js,../../app/api/ai/recommend/route.js,../../app/api/cron/daily-sync/route.js,../../app/api/cron/register/route.js,../../app/api/cron/sync-catalog/route.js,../../app/api/cron/sync/route.js,../../app/api/cron/validate-feeds/route.js,../../app/api/docs/page.js,../../app/api/docs/submit/route.js,../../app/api/health/route.js,../../app/api/mcp/route.js,../../app/api/og/route.js,../../app/api/openapi.json/route.js,../../app/api/v1/audit/route.js,../../app/api/v1/categories/route.js,../../app/api/v1/community/route.js,../../app/api/v1/events/route.js,../../app/api/v1/health-stats/route.js,../../app/api/v1/ingest/route.js,../../app/api/v1/jobs/route.js,../../app/api/v1/leaderboard/route.js,../../app/api/v1/network/route.js,../../app/api/v1/podcasts/route.js,../../app/api/v1/publish/route.js,../../app/api/v1/sentiment/route.js,../../app/api/v1/stations/[id]/route.js,../../app/api/v1/submissions/route.js,../../app/api/v1/trace/route.js,../../app/api/v1/trending/route.js,../../app/api/v1/validate/route.js,../../app/api/v1/webhooks/deliver/route.js,../../app/api/v1/webhooks/route.js,../../app/chat/page.js,../../app/dashboard/page.js,../../app/discover/page.js,../../app/faq/page.js,../../app/feed.xml/route.js,../../app/layout.js,../../app/p/[slug]/page.js,../../app/page.js,../../app/rss.xml/route.js,../../app/submit/page.js,./routes.js,next/server.js,next/types.js",
      "lines": 466,
      "logic_relevance": "none",
      "name": "validator",
      "normalized_name": "validator",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/types/validator.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "51f8e387e5940986c7b3e27a",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b2e7dd1c8dcd6594",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/cache/config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a5b59e5014716996a9d5e198",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c354059caa217e72",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "pages-manifest",
      "normalized_name": "pages-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/pages-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8875a471bda22568d232466f",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "36feb6ff9eda2c95",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/next-font-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b355b8a9db2c06dafb2ba37b",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fc5133e40acf09e6",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "interception-route-rewrite-manifest",
      "normalized_name": "interception-route-rewrite-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/interception-route-rewrite-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "c042410282517be1383ea432",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f779c6f29feb54d0",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/server-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "a23c12c70d1d59bfbcba84ff",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "30fb00f8c72077d8",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "functions-config-manifest",
      "normalized_name": "functions-config-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/functions-config-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "7e0e82cf2a29c0002ce2572d",
      "component_kind": "middleware",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d18a5ad526a193c",
      "framework": "next-react",
      "imports": "",
      "lines": 655,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "c198f93ac9c2479539c260a3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "65b5e05be28604aa",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7679e1cc9c660444efbf314f",
      "component_kind": "middleware",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11c402cf00d41a80",
      "framework": "next-react",
      "imports": "./chunks/[turbopack]_runtime.js",
      "lines": 5,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/middleware.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "66ce1e831f2a35757b8aebae",
      "component_kind": "middleware",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2829d22bd3b720d8",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "middleware-build-manifest",
      "normalized_name": "middleware-build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/middleware-build-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3fd1a8ffb01ad95fff4dd245",
      "component_kind": "middleware",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "98edc9e1ff89423b",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "middleware.js.nft",
      "normalized_name": "middleware-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/middleware.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "1cb8486344029f9703aa251f",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f99ff41a132f63d6",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "768e34223004b21fa79f93ec",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "65f953122fe2fb59",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b9c9c88cfffebc0c0a7db051",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "prefetch-hints",
      "normalized_name": "prefetch-hints",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/prefetch-hints.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2b098668ed2cb86c706e5dba",
      "component_kind": "middleware",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3270c78435dd6e49",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/middleware/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "f17e9150d2a042f03fd50cbf",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bb516d564409e178",
      "framework": "next-react",
      "imports": "../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "6c644da3741a5b7435ed12e1",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "13eb2f86eff52f66",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "89e64a5d04635f75591d7fa2",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6c266be495781f8c",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4f5753ffec846e71464da614",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "22d30b43c5bbdb2a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/rss.xml/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "e3e6b956e378c20be959798a",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d27e621c8aa90662",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/rss.xml/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9f7fd883d97f17cca09c9dd0",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/rss.xml/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "83d240e88179d04f977ef6bd",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "40ae6787a9f69c94",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/rss.xml/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4764d4195980b54b27920853",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/rss.xml/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8dcd342e4019f4e3e2710a77",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "810ca96169f2798b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/feed.xml/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "10fa2f1fe9c40dd1c9409f87",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6321b9d2edac8440",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/feed.xml/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "13f6b58d0093ea12c6ad6aaf",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/feed.xml/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "311816127fbd91420d47de69",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "27a523a5c9417ff7",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/feed.xml/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bc893a478a6399c276ed59ee",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/feed.xml/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8ee1c53c9693a6ae312f4bd2",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8c33554fb189757172f00a2f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1fe73a8fcbab5bcd9bf626d2",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e0be75c853555b01",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "564ccf0368ae30893d61eb0f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "970c24d49257ca820bbb091f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "1156a472e477645dac91111d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9d1a9f54ca04deef",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "ed2905a4af2178f0ab02380f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "825b6f1fad23e1e7",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "7f11c7b4a334d88c2cfce925",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "69ddddb173c073c9",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "dc27cf7a5793c655a32a5e20",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1ba0f419afbfb6586b3eba3c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "019d76144b52fe5875dbb8ce",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9a946feae1f09f66",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "14b47e27f52b965a1f171fb9",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "25129c589e87f9bc7202290f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/discover/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "9bda66290d164f3cef73a256",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e18b19798d089ba9",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "4a87fd85eae24e8a6096111f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "111aeed795663f8b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "d7b2aa2bb6ff8f5c559844f5",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "455ffd16b5847ed4",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3cd23c7b590d3590d26dcdfb",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c867a12547f277da4be78866",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "28bdc03c01efa89a07fe7ce5",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "daeb35a12037606f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "7229da87344cd4ea1296390e",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9cb2ac6392837c32268b780f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/submit/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,security",
      "component_id": "9766db8d50ddeed290694993",
      "component_kind": "ai-chat",
      "confidence": 85,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | ai-score:75 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f0bbb718d9e93ace",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,observability,discovery,automation",
      "component_id": "e06af7ed6917545390ea0d37",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0aa8ae3e929150ce",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page_client-reference-manifest.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,observability,security,automation",
      "component_id": "f6c114f579168b895d253938",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5283b70e0d514e06",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page.js.nft.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "73f08e31f2e8c45f3366b195",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page/react-loadable-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "5c5bb453364b8beb4ed55c4c",
      "component_kind": "ai-chat",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page/build-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "9eb2bfc4f589a1bcb4110332",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "42502c5ab1aa1a5f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page/app-paths-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "6ab909592082e3003b864a51",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page/server-reference-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "a802b9fa15201fe8b0ca627a",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/chat/page/next-font-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8c106e516139032979d27a83",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "537d803d31b2b01b",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "403d48a73c1ae969eb1730b4",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "de9f95e1648306e6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "efad39ebb6d7a8c9cb12e861",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d64e93926afa36d7",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4eff55e15dd541cfe4e29b06",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2a13cbae7f870e6c190bd3d5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2c10484390c05bb856e7d536",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f01d80c98fe48c99",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "15159973d3364d119e0fcf93",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "523177d2f10b2d521848d7a3",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/faq/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "8ca2d57386d8621d7bdf859f",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../chunks/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77a4f24a61d15a54",
      "framework": "next-react",
      "imports": "../../../chunks/[turbopack]_runtime.js",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/security.txt/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "11c78f7cc34e374e8e6937ba",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1ed28ed0d0ab43cd",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/security.txt/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ca859678a5ad162f7d6cf647",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3faf2fca6bda4115",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/security.txt/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "0c9755ffb61660c25e12453a",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/security.txt/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "f24bf5bb90eacab701d2424c",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2a62854dcbc07621",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/security.txt/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "281df11d42d9c8f6d6ae350a",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/security.txt/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "d4c9564cbd986db7d47283b3",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../../../chunks/[turbopack]_runtime.js | ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "05e3358978745a4b",
      "framework": "next-react",
      "imports": "../../../chunks/[turbopack]_runtime.js",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "eb4d0a630d789f41f49d553a",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7511db3dd92db444",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route_client-reference-manifest.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,observability,security,automation",
      "component_id": "97bc6ea4cb14465368a632bb",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "4ff991de5272d34c",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route.js.nft.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "41e0819412646f633007f894",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route/build-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "2e55b93376c978444aa9dc2b",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "eeeac3c73bbc8d4a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route/app-paths-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "4d42e28fb64c415dd29da09b",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route/server-reference-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "793f4b84b8ac66681f009e1d",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../chunks/[turbopack]_runtime.js | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f9f5824663606928",
      "framework": "next-react",
      "imports": "../../../chunks/[turbopack]_runtime.js",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "55b28e6e396a174a27cfce95",
      "component_kind": "mcp-server",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a229b2b214ff01c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "d2930805cb78edbf0ca16050",
      "component_kind": "mcp-server",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90a03d94cde9f963",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "5c774d85106c6149eca803ae",
      "component_kind": "mcp-server",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "9f09d4f249b11bd883daaddb",
      "component_kind": "mcp-server",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b4ba42d6b9e9234",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "4e398a855dd3f1b6248ec910",
      "component_kind": "mcp-server",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/.well-known/mcp.json/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "83845b7b7a00d6e9e41ae39b",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b208e0a7faec7c2c",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "88724d70bba4ea5403dc559d",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "52131b5f1ebef65a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ebac417b711e869d93d320ad",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9a13fc53fe77163a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "58a91a1dbef0bf1860910639",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "5a2b43d629114d29904db785",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4c079b9e3ed1dbbb28c917a5",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7d07acd96c16efc9",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "42d5ed8715aa61a86c6fa199",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "465a9b6f7d103c483ae750ea",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/dashboard/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d155a5564a702636c92c5223",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e98c526cf1429ac8",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "677ac1e207536b857299dc4b",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "08e4cec6a27e7e3b",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b428b3e7ccfa59723041d99b",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "846f5affa3a272a4e9061a2e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6080b7e68e2cfa03",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "340c01b166745b72c6b9fde4",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "907282bc859f1f8657a6e35f",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aeac68c675e304dd",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/validate/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f02bb9f4d06148c754feb20f",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b2e57c850a736e3",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/validate/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "79a7f0a308eff31ffd8107de",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56b78f4d02f02a00",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/validate/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a79d7d1ae6e7e756e4f80d5e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/validate/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "42a3f5c977ae4d1ff3a7c7df",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d985caa56954ace",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/validate/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "97b998e736e8b5558672601b",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/validate/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "fa7d9b485bd4c6146db3e555",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "587da306254384f0",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trace/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "112af6ff2b9a927c61502c09",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c5865d5ae10b5b13",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trace/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "f6436a06d70a5d4f5ae2789f",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trace/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "89e9a3fbf77b7367315d52a7",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36aca223be2bf488",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trace/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "9fe69c577ac335643fd6ffc7",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trace/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "e86cffd71f4224429bfa4163",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a18d3de57e3b21b9",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/ingest/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1a9655a73eb833b3c0408c4c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fefed3611bc7a3fd",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/ingest/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "14e2f96384202b9c64030b74",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a3ba54d58b88158",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/ingest/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bde90a495669f6d8642a2050",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/ingest/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4bf7c2003c88395ff6eee654",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f0535a747284118",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/ingest/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b36f5116ca2c1a5c61d99e71",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/ingest/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b89cb386b5a9c34d07192292",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e86908b12594f7dc",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/network/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "4d1ff23071df6aa43378338d",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "da87413567a8a30d",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/network/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3c8bbc51536b2b640b4bbca5",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/network/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "031d953bf574bb124cacc177",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "43f24a07f6e8e29e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/network/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "52715bf2510952e624efc6dd",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/network/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "000f07764bef2f7e383f1f46",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "79733c1bdf6b7f63",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/leaderboard/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "5a8c6e890db5fa7f20b530d4",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ff7805802f9997f1",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1c0ea49a1234b25b3141462c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "82c59aea9c56a17d21a22998",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "702ddd925e7f09f9",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "fe8b7509c203e113bd11019b",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend",
      "component_id": "72a8a0cab1f4be3f944bd3b5",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "74308edf7b2b933f",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/podcasts/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "72339e177c24285b9cac59ab",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "afc17784f6b32b94",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/podcasts/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "8d19a54f513476e3c3de9765",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebc71f9aa21692da",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/podcasts/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "01ddbe9382309d53299be0e0",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/podcasts/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "73aa0b1492053c86e3dbbb53",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91709d901f34c05e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/podcasts/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "df565e73db027620167bc56c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/podcasts/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "ea9428b72eaa15dd62ae79c4",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "885b4860bdca75eb",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/publish/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "437e04860c654f1576b58b12",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "59dfad537b07a866",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/publish/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "7ed3bfb698162ab7f08d0d2d",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd979fe45faa2bdb",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/publish/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4f9824e0e179b6e4d8296ec6",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/publish/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2e446deb8d6e489d1f8afec8",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c86651412da11848",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/publish/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9d2066d2a47cf26aa4ab3d11",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/publish/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "adbf766842a2678cc690828c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c63bdb84e3da6de8",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/audit/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "fadae7d8ab363693ec7eaa45",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "25a0ebe4a9ad8f99",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/audit/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "82a36983b5d5f32fea6b6c38",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/audit/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "89b3b089c617259338de4074",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b5654b21c2c7ad00",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/audit/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b58443f0f39b660ac9951b90",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/audit/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3444f5f503d06e7d02fd3553",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2afa36bc43ac5f86",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/submissions/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "52ddf024bd7e3c152e4cf338",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7b1c5f8649dad706",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/submissions/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1178e68b3d39839d28980acf",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/submissions/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b2a7f81ddacf6e0f10b28e02",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4ca8366f540bc728",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/submissions/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6092dfcfc70e0cdb0b50dccd",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/submissions/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9ea5294bb26c61a3f8799f8a",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d99324d9fbf232ab",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trending/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "148ba5f41666cb10f5f28150",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "34e9569c1231034d",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trending/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8ab747eb265eaa891bf878b0",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trending/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "39ed2ac14297b2b90fb36612",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ed6a6a4bd4d208a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trending/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bcc9665a73805da6048b27bc",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/trending/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "55905a3b08e29d2f97c86956",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "db3e00b4072fe608",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/health-stats/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "1a62da506da7810759c5a435",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d7d42a69cf6ea9c7",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/health-stats/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e5f3887a1ee1a72682ac3e73",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78c177c84a883731",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/health-stats/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "ed996133f373726d3969f84e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/health-stats/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "f43538ef085a43b5e9823943",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d7ae1c9dd43bc4ff",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/health-stats/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "2b421db7bd20a908ed047720",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/health-stats/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "050f569e32c31b7fe84ca4d8",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "88da64a1723fac9d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/jobs/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,security,discovery,automation",
      "component_id": "7378683b0f503ff2d5eaa55b",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9343efd90fc8ab46",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/jobs/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "dbcbe29ab8bbe7b10c2163cf",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/jobs/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "14502df633f2112957bfa43d",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "60f820d75dca4089",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/jobs/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "8af14a5e50857c1fdfa7b301",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/jobs/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f47d12be15d015da84e81f27",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "634d0a2036714e1e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/events/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "46839ef8e2b775b686c11d95",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8d27769c627c1f7b",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/events/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "760f50b886f8aee4e1af4012",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/events/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3764b29ebda5a46db486ca16",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6d07a294d511e84f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/events/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f8aeabe9edb1ef4187216076",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/events/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "556988dc7da6f3b064e64c92",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0385493f7febd7c4",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/community/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b43fbdd0358608688838b50f",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "02291d041e65dd5d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/community/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ff647382fee9d3ce9831f0f0",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b0c193026ece854",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/community/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f8ce44900587143772b1258b",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/community/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "fd7a56973ff8c84bb67d8eb0",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "87b6ba50fe5c8e6d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/community/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b2e343a1c4d092736fb54f13",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/community/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "4e5eeba0b1335557f4b60516",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "038314e27cca8b33",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,integration,discovery,automation",
      "component_id": "85dcb6c172b158cff342a2f5",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f1a78460f6cecd28",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "e1af03ccde6f3226eb8b565b",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c919eeecbb5916f",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "92d553ec8f86973805725b26",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,integration,discovery,automation",
      "component_id": "b7b2eee257e3e4df479669ad",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9526deff1893b61f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "d8b2d5cfa4e82538d4027c5f",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "5993a6e6d0f2dd5d42838f64",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../../chunks/[turbopack]_runtime.js | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f2d30a9fcf01fe77",
      "framework": "next-react",
      "imports": "../../../../../chunks/[turbopack]_runtime.js",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,integration,discovery,automation",
      "component_id": "306755c1869e44174e55d69a",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f9def80f5be57b9f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "ab212a3c0039b5a33abad169",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e0bedf76ab18154a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "d42a8e4e91472eb429854ed7",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,integration,discovery,automation",
      "component_id": "d22fdcfab08ba3756539e6e2",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf92b44913d3c585",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "e66f3bf8aad9328e5acec383",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "0e18ac298e84ab4c9fe7e440",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b588d4daa52f89dc",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/sentiment/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "344a327713500466123cbd54",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6bf706a1b0f40e29",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/sentiment/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a36ef2e9ae7c613e937773ff",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/sentiment/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "13e0aa75a453ad8433efb30e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "876a967105658142",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/sentiment/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6a342fde0e8e0f341256fd09",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/sentiment/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "bc5f87d2c69a3601709d581c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2fb5af3406cab9fc",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/categories/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8cf2c5d76240536059052ff9",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "293b2d837b1091bd",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/categories/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e8811b954266817a82d5073e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "883d24b3760c4689",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/categories/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "5205a2121941efd4aed7cab1",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/categories/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "999400cef853be1f62a8986f",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0af092b508f6c44",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/categories/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "edb5b1a4679ea6a4eb858d85",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/v1/categories/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "2e2008c50093042a71d5b630",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "941d76ea661b1253",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/health/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "33fe33973c8d0a692dc09fdf",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4f0eb6a47c3deffe",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/health/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "b3f585720a7f53b6faceaa4c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/health/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "f39ded2cfdd1d5e4f1bdfb8e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3900f80a19ce520c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/health/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "b23285378cc856f432468586",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/health/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "ea6d48319118e846f9d72b9e",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../chunks/[turbopack]_runtime.js | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6027d13a8530ed6f",
      "framework": "next-react",
      "imports": "../../../chunks/[turbopack]_runtime.js",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/mcp/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "cd7014bc54f2d999b3cba8b3",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8000277d88b2a161",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/mcp/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "7fd18840b1f2b9e31c27354a",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f11a94d6b32d81ae",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/mcp/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "864eb46ad4c5f33ffdb035c1",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/mcp/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "aaa84f3ad659ed6e99a9d435",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "380ec9f4fce8ac87",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/mcp/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,discovery",
      "component_id": "531d02986ea6a291eb630a00",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/mcp/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,discovery,process",
      "component_id": "eebfc617e8508f1286dcf98a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3e94735647e1afcf",
      "framework": "next-react",
      "imports": "../../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,process,automation",
      "component_id": "c6f8f718cd7700e4288dbe99",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "74994b7334223c61",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,process,automation",
      "component_id": "c9fa2eb21ca93083da2330c5",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5cd361d9585e9afe",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "9cfa6d9b4b5e74d75ded65fc",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "b6938fe5ea81e65ab9c51b95",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "fb3a559cb3f1a7d54997ffc8",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6adecd6082d99946",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "53ed8fbafe932e48294af398",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "f7a93cfe43c188c7b07c024c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,discovery,process",
      "component_id": "09ef8ac2821050f7f03bfeb5",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1af8e3d69da1fcf",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/submit/route.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "fbc83bf7041c92c838faf4e5",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c772492004755a5f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/submit/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,process,automation",
      "component_id": "80fa9f44228ad50d95d6b219",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d547e74e24adebf7",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/submit/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "2a08a5202e9780c2eca2a72d",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/submit/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "738e1baa0e0a79e05c5a5c4c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "537f036d9e169ff6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/submit/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "2a8db15283c04d18a0f7de4c",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/docs/submit/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "993b4e85c264049818b9c05a",
      "component_kind": "ai-chat",
      "confidence": 80,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "95d1ae993a618655",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/chat/route.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "4a6e7ea7d6b4220431cd498f",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "36cb08b89969382d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/chat/route_client-reference-manifest.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,observability,security,automation",
      "component_id": "2d65e56f72518044ce3a9484",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "24f650d29770e8f8",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/chat/route.js.nft.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "005cc65b6f7d61c00cdf2e88",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/chat/route/build-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "30c75395dd625682702d3547",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "89497ac621d7110c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/chat/route/app-paths-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,discovery",
      "component_id": "eca4c0545d8c19adb4ad874c",
      "component_kind": "ai-chat",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/chat/route/server-reference-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "dc5d752d9130a234a6d623f7",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "eb42bff5630771f4",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/recommend/route.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "853caaa127d066b6f708a8b2",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "40294c47ac0dcc88",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/recommend/route_client-reference-manifest.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,observability,security,automation",
      "component_id": "15252aad1f88b030cc9919fa",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3aa893b7a2cf4afd",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/recommend/route.js.nft.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "97e0a730ec3d8e91813d548c",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/recommend/route/build-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "e3bc42924bd8472746541cad",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d17682ce5a9bcc41",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/recommend/route/app-paths-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "4bcc9d64e611bafce75d087e",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/recommend/route/server-reference-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "3ebe034272a1c9bd49dab7e4",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../../../../chunks/[turbopack]_runtime.js | ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "afe93374659355b0",
      "framework": "next-react",
      "imports": "../../../../chunks/[turbopack]_runtime.js",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/analyze/route.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "04bd9e3c389a8a7d408666d5",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "81c0a673da56cc9e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/analyze/route_client-reference-manifest.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,backend,observability,security,automation",
      "component_id": "dc1893de8f14552db54a5856",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "50338270dc0d4990",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/analyze/route.js.nft.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "85dccfc88c3d583a6600195f",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/analyze/route/build-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "b4530a1e833be0c26dc997de",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "34bbc59d2c883bc4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/analyze/route/app-paths-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "ai,backend,discovery",
      "component_id": "9e028f7beffcbd657a34cf8e",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for discovery; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/ai/analyze/route/server-reference-manifest.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "5b1620e1a97ab2d93d6b93dd",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d262264221810ad6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/og/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,security,discovery,automation",
      "component_id": "55bd805311de4feb12f4080b",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a3432b775c23f271",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/og/route/middleware-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "86cb3dec365c608abdb4c444",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/og/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3d6ce2939519bf945ae9c588",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c6dad2d68d7be3b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/og/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8095a2c02bfd121e21976d34",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/og/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "5394cd3542ef8a5cac4fa674",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../chunks/[turbopack]_runtime.js | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a1df7dba87520701",
      "framework": "next-react",
      "imports": "../../../chunks/[turbopack]_runtime.js",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/openapi.json/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "e69746c7e3e9216d682f4f0e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee3802a5bedff3b4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/openapi.json/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery,automation",
      "component_id": "30b8c8b38de78d9592ca17f7",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f6fcb3240894c3c",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/openapi.json/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "e48199b5db8ffc200f002e8d",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/openapi.json/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "7102e7d2ea497da876241bed",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca03dc8da33047cb",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/openapi.json/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "fc4a5963a4989b3d3c11201b",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/openapi.json/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,discovery",
      "component_id": "a1e62d90404b10e06f0b266a",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c69a228b613572d8",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route_client-reference-manifest.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,discovery",
      "component_id": "5f45ef88d906013e36796690",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f0502c2eba7b2082",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/middleware-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,discovery,automation",
      "component_id": "504d417c624d876db163d010",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,discovery",
      "component_id": "c386b106cfc73223fccb0401",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9f95ff1a278eddb5",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/app-paths-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,discovery,automation",
      "component_id": "343fc3af10229c5118edf712",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "d3bcb4d43c0b624d2ac396ee",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f8897bb408020d39",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/daily-sync/route_client-reference-manifest.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,security,discovery",
      "component_id": "5521d223ded2d99e1110132d",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | security-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a91f816638aab1b9",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/middleware-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "ac65630712f4c241e499e3ad",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "4fe6a04ed0e11ff848d68e00",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "988b802414771e73",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/app-paths-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "f4357e1ecd510d579b9e2562",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "8b86693b1d2e2d73bc24f816",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3c44024fd3813683",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/register/route_client-reference-manifest.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,security,discovery",
      "component_id": "e50ca401c0d4250ba4ac10c6",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | security-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eb4d0d41be896917",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/register/route/middleware-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "91b6986feb9893e21704701e",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/register/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "6e7e8281dd4ab453d5ec17cb",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "32551cd0fc0d9770",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/register/route/app-paths-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "afb830abf45841f9d2085963",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/register/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "820150bf2ab14c16e1b18b94",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aee0e1d2874f932d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route_client-reference-manifest.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,security,discovery",
      "component_id": "b13a541122e8f49aa54d6943",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | security-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "00634f1d0861d3b1",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/middleware-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "6d4c4a7459d9a73f96309b0a",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "9198a1563ba8f14763936ee4",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3fac32307fcc9f3",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/app-paths-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "baccb9a6302d107529744fec",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "7812a5cbd11a5a80d5e920b4",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "58acde3b3309459f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync/route_client-reference-manifest.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,security,discovery",
      "component_id": "aa34766b168e4e133f159b42",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | security-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "82fabc1eef63333c",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "middleware-manifest",
      "normalized_name": "middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync/route/middleware-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "ce686cb9f9cc3dc371699f79",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "c4f87548b28a8f21957fc8fe",
      "component_kind": "scheduled-job",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "078ab764cd96faa9",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync/route/app-paths-manifest.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "a544541ffea869302956c0f5",
      "component_kind": "api-route",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/api/cron/sync/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8d5f44ac4d698e5d22195c00",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/[turbopack]_runtime.js | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4196dff532303251",
      "framework": "next-react",
      "imports": "../../chunks/[turbopack]_runtime.js",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/sitemap.xml/route.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bf4d1ad33c206c8a070a1eb8",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "15c4d5f81eac237f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route_client-reference-manifest",
      "normalized_name": "route-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/sitemap.xml/route_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "5c003405273976713cd91df2",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d9d5a658bc2063be",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route.js.nft",
      "normalized_name": "route-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/sitemap.xml/route.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "703e4f71f6c018f112e7c532",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6b8cf5d96b239eba",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/sitemap.xml/route/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2e5539976cf3aacb603066c8",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "20cd02fc21cbee07",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/sitemap.xml/route/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "961a05ca9865feec8c4a19af",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/sitemap.xml/route/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "e8431e7d65ced6b28799a701",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3fe76f8e7d48e447",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 12,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "76b31224b42a9437729d05ed",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dcc44257c3b831bf",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "5891218bf82af21e5079e173",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7dcc9adb05713eab",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "0c5e4545e871cf8fbe6c530b",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bd7c09b1a520722b479b7b23",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "08b34dbaf1a6b821a84031f3",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e96e120dd8e4ae7f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ef84998ee3804e858d91d527",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c1b5ce337db412f9442517df",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_not-found/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a421898700f34036e9d70cdc",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../chunks/ssr/[turbopack]_runtime.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eacb9d5a72de9c13",
      "framework": "next-react",
      "imports": "../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "d7013e2c0c52a105cde434ec",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f6fcc0be8f1477ff",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "6dcfef175032647f56cbb242",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "82d1af0aabbcfdaa",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "94c8c12bd26e96e5b851ad49",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "eccb053b757bee11e0a236eb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bf12e344ba8e7a49d433e5e1",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "67d788223a06e347",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1601808ccf65cb4115da8b16",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "244fa475738477e1a685c5ee",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/_global-error/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "c5dd7faed55ab1506d6c8814",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../../chunks/ssr/[turbopack]_runtime.js | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "32f9c65cd070502e",
      "framework": "next-react",
      "imports": "../../../chunks/ssr/[turbopack]_runtime.js",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "b1d80d0b03e32b81459835ea",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "98e0faf97c5482e6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page_client-reference-manifest",
      "normalized_name": "page-client-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page_client-reference-manifest.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "feb085666f6560bc0f076b8d",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ce4b294c6c3e6d56",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page.js.nft",
      "normalized_name": "page-js-nft",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page.js.nft.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c03b8fd83a4f6b1d94430904",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "44136fa355b3678a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "react-loadable-manifest",
      "normalized_name": "react-loadable-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1277280c8a8832f0f2b555b4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c70fad0885927013",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "build-manifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page/build-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "8ba60e6dd347f43c900ffc3c",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ca22118b3b7e1371",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app-paths-manifest",
      "normalized_name": "app-paths-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page/app-paths-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "acf22e30c5766302a76446e6",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d0c7f70e7b24a0f6",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "server-reference-manifest",
      "normalized_name": "server-reference-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page/server-reference-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "e8d7bf461009cba063db5d7f",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc1719fb3b973279",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "next-font-manifest",
      "normalized_name": "next-font-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/app/p/[slug]/page/next-font-manifest.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b3e905386d09681b9dc484de",
      "component_kind": "health-check",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fb5fee4f5288509c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_health_route_actions_0xzu-qp",
      "normalized_name": "next-internal-server-app-api-health-route-actions-0xzu-qp",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_health_route_actions_0xzu-qp.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0f03263dcf950b302d2549ef",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eca03845f2502d5d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_submissions_route_actions_0pw3ajx",
      "normalized_name": "next-internal-server-app-api-v1-submissions-route-actions-0pw3ajx",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_submissions_route_actions_0pw3ajx.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2faf150eca5ffa97ce1388a6",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, H, T, U | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "A,H,T,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "87b861e5002d31c2",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_edge-app-route_10uepmg",
      "normalized_name": "0idx-next-dist-esm-build-templates-edge-app-route-10uepmg",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_esm_build_templates_edge-app-route_10uepmg.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,ai",
      "component_id": "23357361e4af5031c781bcba",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:node:async_hooks | backend-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8008123f1b7f2787",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0hxtpic._",
      "normalized_name": "root-of-the-server-0hxtpic",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0hxtpic._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "8430bdf6f062721079f7a894",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, H, S | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "C,H,S",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "84b965f6b796678c",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__08.7txu._",
      "normalized_name": "root-of-the-server-08-7txu",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__08.7txu._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,automation,ai",
      "component_id": "d0d541e6bf5fadac143a6517",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:node:async_hooks | backend-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da183f2b4e38ae90",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__01lxzr3._",
      "normalized_name": "root-of-the-server-01lxzr3",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__01lxzr3._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "a34336f6fc6195a409cb312f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, E, H, L, O, P, W | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,E,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35ed53265228f693",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0jknnpm",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0jknnpm",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0jknnpm.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "c2d6ef6cdbb48990725e6e61",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, H, L, O, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,C,H,L,O,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cd8c8c04dfea672",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0jfvd80",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0jfvd80",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0jfvd80.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "4b2d72262bd9480e2c98f4dc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, L, O, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,C,L,O,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c639a528dfb690f5",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0.vn~3b",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0-vn-3b",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0.vn~3b.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "0858a4203eeb22b006ce8460",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b088015ff930dc44",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0j8de-l._",
      "normalized_name": "root-of-the-server-0j8de-l",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0j8de-l._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "5afd44ae41fb9749456acbf0",
      "component_kind": "scheduled-job",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e781655f7405f704",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_cron_register_route_actions_0qjo0i6",
      "normalized_name": "next-internal-server-app-api-cron-register-route-actions-0qjo0i6",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_cron_register_route_actions_0qjo0i6.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "48eb6b8574a78ec7e6b2f98c",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99b0901a788a7f80",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_stations_[id]_route_actions_0na4xz7",
      "normalized_name": "next-internal-server-app-api-v1-stations-id-route-actions-0na4xz7",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_stations_[id]_route_actions_0na4xz7.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,backend,integration,security",
      "component_id": "4f4ca2e6b06d1e067b387834",
      "component_kind": "deployment-automation",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:A, B, C, E, F, I, J, L | automation-score:95 | backend-score:55 | integration-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "A,B,C,E,F,I,J,L,N,O,P,R,S,T,U,X,Z",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "005dd8d924a70367",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "0idx_next_dist_compiled_@vercel_og_0neebny._",
      "normalized_name": "0idx-next-dist-compiled-vercel-og-0neebny",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_compiled_@vercel_og_0neebny._.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a4a819dba58ab70d82aae8a6",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55331f574e2b915a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_og_route_actions_07_f~hj",
      "normalized_name": "next-internal-server-app-api-og-route-actions-07-f-hj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_og_route_actions_07_f~hj.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6778a6b71e073312deb227ed",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06df90dcd28c65cc",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_network_route_actions_0~fub99",
      "normalized_name": "next-internal-server-app-api-v1-network-route-actions-0-fub99",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_network_route_actions_0~fub99.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "3a791a56c6f01d34b224fab0",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, F, H, T, U | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,F,H,T,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9babf067b13c2514",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_edge-app-route_0r104h~",
      "normalized_name": "0idx-next-dist-esm-build-templates-edge-app-route-0r104h",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_esm_build_templates_edge-app-route_0r104h~.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "ef8172e804d7b84923560b0d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, U | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "A,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ed4a01700bf9a66a",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0sh86vn._",
      "normalized_name": "root-of-the-server-0sh86vn",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0sh86vn._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "5cc11525b7700ec2883c7aac",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, R | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "A,R",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "25545cd546a80e78",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 40,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0rg~9.n._",
      "normalized_name": "root-of-the-server-0rg-9-n",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0rg~9.n._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "adc7ae339fed676a8844d7f1",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, R | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "A,R",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fdee8aa1c3152424",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 39,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0vxyihz._",
      "normalized_name": "root-of-the-server-0vxyihz",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0vxyihz._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6916527ba89aacecec8e23af",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "27c1f96b13a02f0a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_trace_route_actions_06fv1q6",
      "normalized_name": "next-internal-server-app-api-v1-trace-route-actions-06fv1q6",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_trace_route_actions_06fv1q6.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "ea2163d4e0f4be3fbeba4276",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1469f6f4c14586b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_sentiment_route_actions_0uyvdrf",
      "normalized_name": "next-internal-server-app-api-v1-sentiment-route-actions-0uyvdrf",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_sentiment_route_actions_0uyvdrf.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "167750972e6ad611070e8829",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, M | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "A,M",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "05badb5b5c8906b1",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__08e5__w._",
      "normalized_name": "root-of-the-server-08e5-w",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__08e5__w._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6b86116b3264d167908ccf14",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "770321ee452854ce",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_audit_route_actions_0.~9kx9",
      "normalized_name": "next-internal-server-app-api-v1-audit-route-actions-0-9kx9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_audit_route_actions_0.~9kx9.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "e6dbf7b778317c8935ce5534",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, O, U | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "C,O,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bec36bc2ebfd5cde",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0a6onxz._",
      "normalized_name": "root-of-the-server-0a6onxz",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0a6onxz._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "eff5926e35a273d3b00ccf4e",
      "component_kind": "scheduled-job",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "df64ab8bf0aaa2a4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_cron_sync-catalog_route_actions_0dpotyj",
      "normalized_name": "next-internal-server-app-api-cron-sync-catalog-route-actions-0dpotyj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_cron_sync-catalog_route_actions_0dpotyj.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "1ae6b2e060f6c3d2a8c4992e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, E, L, O, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,C,E,L,O,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50f3caa32a6166b8",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0s3xkpr",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0s3xkpr",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0s3xkpr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "272217ec95e7c3e13593522e",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5d3192e1a55bd471",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_rss_xml_route_actions_0wa~.fw",
      "normalized_name": "next-internal-server-app-rss-xml-route-actions-0wa-fw",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_rss_xml_route_actions_0wa~.fw.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "6f6add0cfde7bffc1bc06bcc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a0997bca6074235",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0te28g1",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0te28g1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0te28g1.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "e0364049311cce7bc11710eb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c522dcac5f78229c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_00~yurx",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-00-yurx",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_00~yurx.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "ee0e4b72d2a0c24691da0b10",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, H, L, O, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,C,H,L,O,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1747766e0eef0e3d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_02h-fvl",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-02h-fvl",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_02h-fvl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "cf069ca3eb1ecc6d60963036",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a855130684905e0",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0fg1qhp",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0fg1qhp",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0fg1qhp.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "09b244cb69dc1fa9460f5022",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, O, U | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "C,O,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d20a197f016bbedd",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0a6i5kj._",
      "normalized_name": "root-of-the-server-0a6i5kj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0a6i5kj._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,ai",
      "component_id": "9925a035dcbee5cb955076c6",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:I, R | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "I,R",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "98b59630ef95035b",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_12~f69e._",
      "normalized_name": "12-f69e",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_12~f69e._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "289578a95e3f6865323f947c",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a8c39c1f0a4bb39",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_trending_route_actions_013.pf6",
      "normalized_name": "next-internal-server-app-api-v1-trending-route-actions-013-pf6",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_trending_route_actions_013.pf6.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "68fc61a2ec9c97ea130ef0b1",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7170b4a9eee49dba",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_feed_xml_route_actions_0wuz8bt",
      "normalized_name": "next-internal-server-app-feed-xml-route-actions-0wuz8bt",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_feed_xml_route_actions_0wuz8bt.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "ed2d21b8d340aa8aa5de45ea",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, P | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "A,P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "072842609a91ea0f",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0_s04xu._",
      "normalized_name": "root-of-the-server-0-s04xu",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0_s04xu._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "44bb19ca56af2b9051c26404",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "S",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "51022e84a67a523c",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__09e3xku._",
      "normalized_name": "root-of-the-server-09e3xku",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__09e3xku._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "0cbc1cbb7bfad9a093c22b89",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c78518609ac210ae",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_065hq8p",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-065hq8p",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_065hq8p.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "87a1e2dd81e45a91b7c73959",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:M, P | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "M,P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d6c1fe49c255dbd3",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0aas_lj._",
      "normalized_name": "root-of-the-server-0aas-lj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0aas_lj._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "cc566a1b2c5d724eb78b87ad",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efd4c0132e81dfe1",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0uohenk",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0uohenk",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0uohenk.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "9903e0ca17bd2a0b75e7594c",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, P, U | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "C,P,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "789df6c290c22f8d",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__085myc1._",
      "normalized_name": "root-of-the-server-085myc1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__085myc1._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a671d3998d47a3eecf80f808",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ws",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:B, C, P, T | imports:ws | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "B,C,P,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6cd28c81c0ae0275",
      "framework": "next-react",
      "imports": "ws",
      "lines": 39,
      "logic_relevance": "none",
      "name": "096._@supabase_supabase-js_dist_index_mjs_0o5sase._",
      "normalized_name": "096-supabase-supabase-js-dist-index-mjs-0o5sase",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/096._@supabase_supabase-js_dist_index_mjs_0o5sase._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,observability,security,automation",
      "component_id": "0d3e1972239d82723685723e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "96c971e6f3fcaa5b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0mt8a8z",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0mt8a8z",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0mt8a8z.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "99435ac712cbd728b6200920",
      "component_kind": "scheduled-job",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "abb1319ecf2b9e99",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_cron_daily-sync_route_actions_0hfc_l1",
      "normalized_name": "next-internal-server-app-api-cron-daily-sync-route-actions-0hfc-l1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_cron_daily-sync_route_actions_0hfc_l1.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "4af78926676eb9e5b92d9b95",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "742225dd3d1bda9d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_events_route_actions_01fbpmy",
      "normalized_name": "next-internal-server-app-api-v1-events-route-actions-01fbpmy",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_events_route_actions_01fbpmy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,automation",
      "component_id": "1b0f1cf5b670cb0186dcda06",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e6ab65742beb99c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_jobs_route_actions_03i6fc9",
      "normalized_name": "next-internal-server-app-api-v1-jobs-route-actions-03i6fc9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_jobs_route_actions_03i6fc9.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "fcb93b089f433e3c4687c0d2",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, I, P | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "C,I,P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0e9600e35b9c974f",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__02~fs9_._",
      "normalized_name": "root-of-the-server-02-fs9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__02~fs9_._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend,security,discovery,ai",
      "component_id": "a25342d5af5530bae5ccc64e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:B, F, G, I, J, K, L, N | logic-score:85 | backend-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "B,F,G,I,J,K,L,N,P,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "768e53a72dd791b4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "primary",
      "name": "lib_rss_ts_09m6lac._",
      "normalized_name": "lib-rss-ts-09m6lac",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/lib_rss_ts_09m6lac._.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5ed30d255c1eee37e5db7d60",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "+c),u.warn(,+c)}return S(,node:buffer",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, fetchCache, middleware, revalidate | imports:+c),u.warn(, +c)}return S(, node:buffer | backend-score:55 | observability-score:55 | security-score:55 | uses-env | metadata",
      "exports": "dynamic,fetchCache,middleware,revalidate",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "87d2f997ff9e4ed2",
      "framework": "next-react",
      "imports": "+c),u.warn(,+c)}return S(,node:buffer",
      "lines": 14,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0au0nsd._",
      "normalized_name": "root-of-the-server-0au0nsd",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0au0nsd._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "314ec0ddef9ce57c44ddf9d5",
      "component_kind": "scheduled-job",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b6b0d7a43fbcc36c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_cron_validate-feeds_route_actions_0wyp9-t",
      "normalized_name": "next-internal-server-app-api-cron-validate-feeds-route-actions-0wyp9-t",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_cron_validate-feeds_route_actions_0wyp9-t.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "5ae2089c953e2cc9e8ed76dc",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d106a20454a9a269",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0ntqc~z",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0ntqc-z",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0ntqc~z.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "076ea6dec3f9acf56d29d28b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, E, H, L, O, P, W | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,E,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ffac20c2795f8f1a",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0~n.lr7",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0-n-lr7",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0~n.lr7.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "241f085971c047ffa614ceb0",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "aa6aedb7e308c63d",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__12nj_fr._",
      "normalized_name": "root-of-the-server-12nj-fr",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__12nj_fr._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,observability,security,automation",
      "component_id": "4e2119c92e9db75e8432f5ea",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "74da2608e4ecc40f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0plhfu0",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0plhfu0",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0plhfu0.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "0ff7630076843d49d51cac09",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:H, P | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "H,P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f308fd08066313aa",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_edge-app-route_0d_u76w",
      "normalized_name": "0idx-next-dist-esm-build-templates-edge-app-route-0d-u76w",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_esm_build_templates_edge-app-route_0d_u76w.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "888642d705f0009845096b6f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, E, H, L, O, W | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,C,E,H,L,O,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfc7900269dcfa86",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0.2enlu",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0-2enlu",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0.2enlu.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "10ac0f6e0c91ca12e9070428",
      "component_kind": "scheduled-job",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "26fa27ef46c6a678",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_cron_sync_route_actions_13kz9c9",
      "normalized_name": "next-internal-server-app-api-cron-sync-route-actions-13kz9c9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_cron_sync_route_actions_13kz9c9.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "f65ae083d406219a58f967d4",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9ed38bd12f8b437",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__07-4ew8._",
      "normalized_name": "root-of-the-server-07-4ew8",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__07-4ew8._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "2baa7ac553df6a54aed9e9ea",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e96bd31a5bf75448",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_0hf84fq._",
      "normalized_name": "0idx-next-dist-0hf84fq",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_0hf84fq._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "8de6b86f9acc01a3e930e9e5",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc2ea74b04358091",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0~1qu~y",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0-1qu-y",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0~1qu~y.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "86dc0247d5bba597bb4321c3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, F, M, N, S, T | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,F,M,N,S,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efecf8850b2f88f9",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_edge-app-route_06nkw3s",
      "normalized_name": "0idx-next-dist-esm-build-templates-edge-app-route-06nkw3s",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_esm_build_templates_edge-app-route_06nkw3s.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "91870e6ed760ced6e7bfe9f3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L, N, P, U | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "L,N,P,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1aece2a0018cdd2c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_edge-app-route_0.fl26g",
      "normalized_name": "0idx-next-dist-esm-build-templates-edge-app-route-0-fl26g",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0idx_next_dist_esm_build_templates_edge-app-route_0.fl26g.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "a41e52616ce073a25014a766",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, H, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,H,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be92ced489ca9351",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0-2ponr",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0-2ponr",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0-2ponr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "c71c617dad0dfc40c0ad1fe8",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, I | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "C,I",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5a825c295a8e728a",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0m12z61._",
      "normalized_name": "root-of-the-server-0m12z61",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__0m12z61._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "c0650351567646d58094659e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, L, O, P, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,L,O,P,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40a5b5a5fbf1bd9d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0azsc7f",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0azsc7f",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0azsc7f.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "backend,observability,security,automation",
      "component_id": "47348c811ba37d25168b873b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, H, L, O, W, X | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,B,C,H,L,O,W,X",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d33467b9e60e0b2",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0xjv_next_dist_esm_build_templates_edge-wrapper_0e2-xwt",
      "normalized_name": "0xjv-next-dist-esm-build-templates-edge-wrapper-0e2-xwt",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/0xjv_next_dist_esm_build_templates_edge-wrapper_0e2-xwt.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "07ef52f9c3a82a148415adf0",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb5b31b34cecd2a6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_leaderboard_route_actions_02ou1pe",
      "normalized_name": "next-internal-server-app-api-v1-leaderboard-route-actions-02ou1pe",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/_next-internal_server_app_api_v1_leaderboard_route_actions_02ou1pe.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "7a82cb45c9367a510e4b4203",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "node:async_hooks",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:D | imports:node:async_hooks | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "D",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0fafe318f4c1b5bf",
      "framework": "next-react",
      "imports": "node:async_hooks",
      "lines": 4,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__033xcwl._",
      "normalized_name": "root-of-the-server-033xcwl",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/edge/chunks/[root-of-the-server]__033xcwl._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0aa8572160692815e049a3e9",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "+u),c.warn(,+u)}return m(,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fetchCache | imports:+u),c.warn(, +u)}return m(, next/dist/compiled/next-server/app-route-turbo.runtime.prod.js | backend-score:55 | observability-score:55 | security-score:55 | uses-env | metadata",
      "exports": "fetchCache",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cc89b24adf549673",
      "framework": "next-react",
      "imports": "+u),c.warn(,+u)}return m(,next/dist/compiled/next-server/app-route-turbo.runtime.prod.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0ljjcvd._",
      "normalized_name": "root-of-the-server-0ljjcvd",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0ljjcvd._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ad9ef72fba537918f425199f",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "616ce18931071e16",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__01q4od6._",
      "normalized_name": "root-of-the-server-01q4od6",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__01q4od6._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "b76db1c100f06d60801edfd3",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:G, H, K, V, W, Z | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | model-provider",
      "exports": "G,H,K,V,W,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2aa39ee2bef8393a",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "node_modules__pnpm_0.fsi09._",
      "normalized_name": "node-modules-pnpm-0-fsi09",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/node_modules__pnpm_0.fsi09._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "5b8b2eee216cc662afabe3fc",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "accab8df38779bdd",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_sitemap_xml_route_actions_036gxb_",
      "normalized_name": "next-internal-server-app-sitemap-xml-route-actions-036gxb",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_sitemap_xml_route_actions_036gxb_.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "1678570d2ba243e35d58f362",
      "component_kind": "ai-chat",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1cefb4e738dc9ecf",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_ai_chat_route_actions_0bp-rsc",
      "normalized_name": "next-internal-server-app-api-ai-chat-route-actions-0bp-rsc",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_ai_chat_route_actions_0bp-rsc.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "9f36d784e76cb6ba7c9c547a",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "crypto,next,node:async_hooks,path",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:crypto, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, node:async_hooks, path | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe34d612bf69676b",
      "framework": "next-react",
      "imports": "crypto,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,node:async_hooks,path",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[externals]__0gop8be._",
      "normalized_name": "externals-0gop8be",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[externals]__0gop8be._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "68934f61cf9e1a9b3a3e4be5",
      "component_kind": "webhook-handler",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3ce24e1b95d677e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_webhooks_route_actions_0eididy",
      "normalized_name": "next-internal-server-app-api-v1-webhooks-route-actions-0eididy",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_webhooks_route_actions_0eididy.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "logic,backend,security",
      "component_id": "21f894a708eb73da12de8586",
      "component_kind": "business-logic",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5db75704df00f210",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "primary",
      "name": "lib_supabase_client_ts_11ql7hx._",
      "normalized_name": "lib-supabase-client-ts-11ql7hx",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/lib_supabase_client_ts_11ql7hx._.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "0f6f3680b9797ddb88b4da4d",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d8a5b28efa939473",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_validate_route_actions_0zk60_m",
      "normalized_name": "next-internal-server-app-api-v1-validate-route-actions-0zk60-m",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_validate_route_actions_0zk60_m.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "b5eb8b090623c8e90bdbacbf",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, R | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "A,R",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "114a56f4ced5ff41",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0bp5jd1._",
      "normalized_name": "root-of-the-server-0bp5jd1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0bp5jd1._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f5ba8493860cd0bfef125249",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:O | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "O",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c278a43295476ba9",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "0idx_next_dist_03ek_up._",
      "normalized_name": "0idx-next-dist-03ek-up",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0idx_next_dist_03ek_up._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend,security,discovery,ai",
      "component_id": "d267037451f5abbb9c355828",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, B, E, G, H, I, J, L | logic-score:85 | backend-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "A,B,E,G,H,I,J,L,N,O,R,U,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4afdb1975d9e7b41",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "primary",
      "name": "lib_rss_ts_0lisoka._",
      "normalized_name": "lib-rss-ts-0lisoka",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/lib_rss_ts_0lisoka._.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "3f63c6064d6a8049c56bf143",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "abf275dcf783e728",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_0wbq467._",
      "normalized_name": "0wbq467",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_0wbq467._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f863b13049c8e6d45e713ae9",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ce8dc2fcc56fc11",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_ingest_route_actions_0hgiy2z",
      "normalized_name": "next-internal-server-app-api-v1-ingest-route-actions-0hgiy2z",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_ingest_route_actions_0hgiy2z.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "d7bd33db09dd5918d6b688bb",
      "component_kind": "mcp-server",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fb2bd47272e7e0bf",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_mcp_route_actions_0~f15.v",
      "normalized_name": "next-internal-server-app-api-mcp-route-actions-0-f15-v",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_mcp_route_actions_0~f15.v.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "749d7c07e3976a46c9fed5db",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "S",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c38f6b9a050bda2e",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0hk6-08._",
      "normalized_name": "root-of-the-server-0hk6-08",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0hk6-08._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f1f1fa470544e82e8d605eab",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe9a7ed9a7b26307",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_community_route_actions_11f6-iw",
      "normalized_name": "next-internal-server-app-api-v1-community-route-actions-11f6-iw",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_community_route_actions_11f6-iw.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "2b308c487737958c167b881e",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "A",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bca338d4c5605b73",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__01bv_w0._",
      "normalized_name": "root-of-the-server-01bv-w0",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__01bv_w0._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "7181bbcb2f3b1b3682f1039e",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, E, N, R, S | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "C,E,N,R,S",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "883a48693f149aa6",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0hgjhje._",
      "normalized_name": "root-of-the-server-0hgjhje",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0hgjhje._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "279c1fd6a9c12ef00b095ee7",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6657bef110056c2c",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[externals]_next_dist_0vsodtb._",
      "normalized_name": "externals-next-dist-0vsodtb",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[externals]_next_dist_0vsodtb._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "bbeb97cfd8e7047fdcd73cc2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "fs,next,os,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, E, O, P, R, T | imports:fs, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js, os, path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | model-provider",
      "exports": "C,E,O,P,R,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9104bfd01345a3c",
      "framework": "next-react",
      "imports": "fs,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js,os,path",
      "lines": 12,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0mhh1tg._",
      "normalized_name": "root-of-the-server-0mhh1tg",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0mhh1tg._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "6d6035763ab44fa0b737bb04",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ws",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:B, C, P, T | imports:ws | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "B,C,P,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a4a0d8b3a9cdd09e",
      "framework": "next-react",
      "imports": "ws",
      "lines": 39,
      "logic_relevance": "none",
      "name": "096._@supabase_supabase-js_dist_index_mjs_0qqs3z-._",
      "normalized_name": "096-supabase-supabase-js-dist-index-mjs-0qqs3z",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/096._@supabase_supabase-js_dist_index_mjs_0qqs3z-._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "ac95d1e804ff0a69cc206103",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "crypto,next,node:crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:crypto, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js, node:crypto | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "887b0fcf10409a3e",
      "framework": "next-react",
      "imports": "crypto,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js,node:crypto",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0nto_4q._",
      "normalized_name": "root-of-the-server-0nto-4q",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0nto_4q._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "9de19ec2a27d4a927ad0d76e",
      "component_kind": "api-docs",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8e8e4946f818c3bb",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_docs_submit_route_actions_0aae14v",
      "normalized_name": "next-internal-server-app-api-docs-submit-route-actions-0aae14v",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_docs_submit_route_actions_0aae14v.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend",
      "component_id": "5a8e4c9ef762115b361478ab",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b42f934b75e0116",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_podcasts_route_actions_0efaoxl",
      "normalized_name": "next-internal-server-app-api-v1-podcasts-route-actions-0efaoxl",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_podcasts_route_actions_0efaoxl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "628330cfff0b2eff25bae6ac",
      "component_kind": "ai-integration",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c0b3643282885b25",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_ai_recommend_route_actions_0q1epz.",
      "normalized_name": "next-internal-server-app-api-ai-recommend-route-actions-0q1epz",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_ai_recommend_route_actions_0q1epz..js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "0de0fd541c49162e26740658",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e8b88336016ddbfa",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__131.01j._",
      "normalized_name": "root-of-the-server-131-01j",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__131.01j._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "21f986b671e8665d5ffd74f5",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fd8f32572f37889",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_publish_route_actions_12fcdv1",
      "normalized_name": "next-internal-server-app-api-v1-publish-route-actions-12fcdv1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_publish_route_actions_12fcdv1.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "bde43686d5ac7e9c09904941",
      "component_kind": "ai-integration",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7846321cb13349d5",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app__well-known_ai-plugin_json_route_actions_0zbcj_f",
      "normalized_name": "next-internal-server-app-well-known-ai-plugin-json-route-actions-0zbcj-f",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app__well-known_ai-plugin_json_route_actions_0zbcj_f.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "acf653d792fb280b1a5c3e10",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, M, T | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "C,M,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "758772168c33a2d7",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-route_022oq3_",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-route-022oq3",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0idx_next_dist_esm_build_templates_app-route_022oq3_.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6d5bc0483b0f410659d4cbec",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7077fa72093ff9cf",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "node_modules__pnpm_0el1sm1._",
      "normalized_name": "node-modules-pnpm-0el1sm1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/node_modules__pnpm_0el1sm1._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,integration,security",
      "component_id": "045ec5778f8b6324ff119be2",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | integration-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "68463379b87be0bf",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0ozc_@vercel_oidc_dist_token_0m1934l",
      "normalized_name": "0ozc-vercel-oidc-dist-token-0m1934l",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0ozc_@vercel_oidc_dist_token_0m1934l.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "1612f602b26ae4dfb8290128",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "fs,next,os,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, C, E, O, P, R, T | imports:fs, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js, os, path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | model-provider",
      "exports": "A,C,E,O,P,R,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "df8c37426df3ea0d",
      "framework": "next-react",
      "imports": "fs,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js,os,path",
      "lines": 23,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__12ng1av._",
      "normalized_name": "root-of-the-server-12ng1av",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__12ng1av._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2f1b9977dec093609e2da6cd",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, C, E, I, S, U | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A,C,E,I,S,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5dfce1f21892a5e6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-route_07f-rqt",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-route-07f-rqt",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0idx_next_dist_esm_build_templates_app-route_07f-rqt.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "d1c125477eb7ba6b5bf41381",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4a304115d1e790f2",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0ngrs9-._",
      "normalized_name": "root-of-the-server-0ngrs9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0ngrs9-._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "34a78ba98e44bfbb47439118",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "28fb44e2aef04f56",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 9,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__02eisyc._",
      "normalized_name": "root-of-the-server-02eisyc",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__02eisyc._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "1c38721045977075eefce57e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "+c),u.warn(,+c)}return x(,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:middleware | imports:+c),u.warn(, +c)}return x(, next/dist/build/adapter/setup-node-env.external.js, next/dist/server/lib/incremental-cache/memory-cache.external.js, next/dist/server/lib/incremental-cache/shared-cache-controls.external.js, next/dist/server/lib/incremental-cache/tags-manifest.external.js, next/og, next/server | backend-score:55 | observability-score:55 | security-score:55 | uses-env | metadata | model-provider",
      "exports": "middleware",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d3cceb9d1ef565ae",
      "framework": "next-react",
      "imports": "+c),u.warn(,+c)}return x(,next/dist/build/adapter/setup-node-env.external.js,next/dist/server/lib/incremental-cache/memory-cache.external.js,next/dist/server/lib/incremental-cache/shared-cache-controls.external.js,next/dist/server/lib/incremental-cache/tags-manifest.external.js,next/og,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0q0vv~f._",
      "normalized_name": "root-of-the-server-0q0vv-f",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0q0vv~f._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "6bc601486b2cb7ba5332baa6",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs,next,os,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, C, E, O, P, R, T | imports:fs, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js, os, path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | model-provider",
      "exports": "A,C,E,O,P,R,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "24993e34241eb6ee",
      "framework": "next-react",
      "imports": "fs,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js,os,path",
      "lines": 9,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0cj3cyl._",
      "normalized_name": "root-of-the-server-0cj3cyl",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0cj3cyl._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "f5114eda65fa575405581363",
      "component_kind": "webhook-handler",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78978faa4183bb8c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_webhooks_deliver_route_actions_0ecg142",
      "normalized_name": "next-internal-server-app-api-v1-webhooks-deliver-route-actions-0ecg142",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_webhooks_deliver_route_actions_0ecg142.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "5a701d3598b0725f6f8b6f30",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:S | imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "S",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9a91c79d8305d62",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__04wq8fq._",
      "normalized_name": "root-of-the-server-04wq8fq",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__04wq8fq._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,observability,security,ai",
      "component_id": "3592a85e504801e2659abd84",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:middleware | imports:next/og, next/server | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "middleware",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "585dd200375499ae",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "0idx_next_136561s._",
      "normalized_name": "0idx-next-136561s",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0idx_next_136561s._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "5abd16b0d6644bd691dda253",
      "component_kind": "api-docs",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "525b50891b80b0de",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_openapi_json_route_actions_0tzs_3g",
      "normalized_name": "next-internal-server-app-api-openapi-json-route-actions-0tzs-3g",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_openapi_json_route_actions_0tzs_3g.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "8eace60c55a4b9de22d44567",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, E, I, K, M, O, R, S | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | model-provider",
      "exports": "C,E,I,K,M,O,R,S,V",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "150f27e31eac377f",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-route_09qtwbs",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-route-09qtwbs",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0idx_next_dist_esm_build_templates_app-route_09qtwbs.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "199c6ee7a8cd43a301293e73",
      "component_kind": "health-check",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7bbe8051d32767d2",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_health-stats_route_actions_0~84gc3",
      "normalized_name": "next-internal-server-app-api-v1-health-stats-route-actions-0-84gc3",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_health-stats_route_actions_0~84gc3.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "cc98d5a6dd18bdf7d3678ec0",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5f92562bafe9d1da",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0b2eojm._",
      "normalized_name": "root-of-the-server-0b2eojm",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0b2eojm._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "7c7a808041f5416cfc5d8a4d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "crypto,next,node:crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A | imports:crypto, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js, node:crypto | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "A",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8a5bd6adb181f37b",
      "framework": "next-react",
      "imports": "crypto,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js,node:crypto",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0m7xxvq._",
      "normalized_name": "root-of-the-server-0m7xxvq",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0m7xxvq._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "beff5bd8201b08571600c6c2",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf90411b4efeb5f5",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app__well-known_security_txt_route_actions_0bqt.5_",
      "normalized_name": "next-internal-server-app-well-known-security-txt-route-actions-0bqt-5",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app__well-known_security_txt_route_actions_0bqt.5_.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2ea2b91c5a3bf732c878fe9c",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fdcfc8ebf9dc4762",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__08id4ch._",
      "normalized_name": "root-of-the-server-08id4ch",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__08id4ch._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "5af227d3c85c5fa328d0da4c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3adec0a214478687",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-route_0n-fydl",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-route-0n-fydl",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/0idx_next_dist_esm_build_templates_app-route_0n-fydl.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d3257f03c67cd805fdc880e5",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ee91ba4c98e27f4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_v1_categories_route_actions_0pds.92",
      "normalized_name": "next-internal-server-app-api-v1-categories-route-actions-0pds-92",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_v1_categories_route_actions_0pds.92.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "a1d5297ccd86dd7a75d68278",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs,next,os,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, E, O, P, T | imports:fs, next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, next/dist/shared/lib/no-fallback-error.external.js, os, path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "A,E,O,P,T",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0e0da95aea482cb8",
      "framework": "next-react",
      "imports": "fs,next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,next/dist/shared/lib/no-fallback-error.external.js,os,path",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0b8og0f._",
      "normalized_name": "root-of-the-server-0b8og0f",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[root-of-the-server]__0b8og0f._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "a0231aeb91be230080881fc8",
      "component_kind": "ai-integration",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6c2c1251522dd78d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_ai_analyze_route_actions_0p-7b9a",
      "normalized_name": "next-internal-server-app-api-ai-analyze-route-actions-0p-7b9a",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app_api_ai_analyze_route_actions_0p-7b9a.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability,security",
      "component_id": "a9a92694caa864eeed158c4f",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "fs,path,something,stream,url,worker_threads",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ABSOLUTE_ROOT, ASSET_PREFIX, BindingTag_Value, Context, LEAF_PROTOTYPES, REEXPORTED_OBJECTS, RELATIVE_ROOT_PATH, RUNTIME_PUBLIC_PATH | imports:fs, path, something, stream, url, worker_threads | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ABSOLUTE_ROOT,ASSET_PREFIX,BindingTag_Value,Context,LEAF_PROTOTYPES,REEXPORTED_OBJECTS,RELATIVE_ROOT_PATH,RUNTIME_PUBLIC_PATH,RUNTIME_ROOT,WORKER_FORWARDED_GLOBALS",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de522aaf24e43a29",
      "framework": "next-react",
      "imports": "fs,path,something,stream,url,worker_threads",
      "lines": 903,
      "logic_relevance": "none",
      "name": "[turbopack]_runtime",
      "normalized_name": "turbopack-runtime",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/[turbopack]_runtime.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "f379dc7b4f6145b5aefa738e",
      "component_kind": "mcp-server",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "41853ef409421ada",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app__well-known_mcp_json_route_actions_0fqzh1h",
      "normalized_name": "next-internal-server-app-well-known-mcp-json-route-actions-0fqzh1h",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/_next-internal_server_app__well-known_mcp_json_route_actions_0fqzh1h.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "ee24a95a3b80e8e6275d2d11",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30614c954e4e3d0e",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__00tqaml._",
      "normalized_name": "root-of-the-server-00tqaml",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__00tqaml._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "74621f75131543fb8fe073f3",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3074b28db8ebd40f",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0w1_57r._",
      "normalized_name": "root-of-the-server-0w1-57r",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0w1_57r._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "4d3f783df1f2a946a709c8e8",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1aee23e630a7b271",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app_not-found_tsx_0u42gv_._",
      "normalized_name": "app-not-found-tsx-0u42gv",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/app_not-found_tsx_0u42gv_._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "62f31a19d57d909a171f3ea5",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6d4635e19dbfbecf",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_138c1sp",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-138c1sp",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_138c1sp.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "16b1629d8a94b1cec44a27c5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44048780d45d50cc",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0zegtt8._",
      "normalized_name": "root-of-the-server-0zegtt8",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0zegtt8._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "12e612b790f42d72e3c4f589",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "14a08eaea731756d",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_0sy5m19",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-0sy5m19",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_0sy5m19.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6e5f1c7bf3efd9ce436d3882",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64da27a978fab216",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_p_[slug]_page_actions_03tbjh8",
      "normalized_name": "next-internal-server-app-p-slug-page-actions-03tbjh8",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_p_[slug]_page_actions_03tbjh8.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "5d1a3f4ca7446c55968dc3ec",
      "component_kind": "api-docs",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1cfe2bfa4a75f589",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_api_docs_page_actions_0fmgijz",
      "normalized_name": "next-internal-server-app-api-docs-page-actions-0fmgijz",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_api_docs_page_actions_0fmgijz.js",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "7fd1f82699908b9bb7737db1",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "fs,os,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D | imports:fs, os, path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "A,B,C,D",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "08d1ecb44caf6eb1",
      "framework": "next-react",
      "imports": "fs,os,path",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__10~.lww._",
      "normalized_name": "root-of-the-server-10-lww",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__10~.lww._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "e77fd56f9a98b1794525e122",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8389bd9184407101",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0~tmfd7._",
      "normalized_name": "root-of-the-server-0-tmfd7",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0~tmfd7._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security,ai",
      "component_id": "eaa5e25acd9a9993ee7aeb04",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "crypto",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:crypto | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84c1febb769f9db0",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0cpajae._",
      "normalized_name": "root-of-the-server-0cpajae",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0cpajae._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "ba63d84fe5364ad11f906de0",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "671a9db9c69be30e",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app_not-found_tsx_0tzt-qu._",
      "normalized_name": "app-not-found-tsx-0tzt-qu",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/app_not-found_tsx_0tzt-qu._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "4f25ce606f08b4aee51b8ee3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "+j),i.warn(,+j)}return oJ(",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:+j),i.warn(, +j)}return oJ( | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "41a870f145268859",
      "framework": "next-react",
      "imports": "+j),i.warn(,+j)}return oJ(",
      "lines": 72,
      "logic_relevance": "none",
      "name": "_0zx0_re._",
      "normalized_name": "0zx0-re",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_0zx0_re._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "4607f9391afb172f3a9b6297",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "34ef642c91522504",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_13_yynt",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-13-yynt",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_13_yynt.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "4ee50409dfc0d027405541a6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "ws",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L, M, N, O, P, Q, V | imports:ws | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "L,M,N,O,P,Q,V",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "661823c5a3e4dcc1",
      "framework": "next-react",
      "imports": "ws",
      "lines": 61,
      "logic_relevance": "none",
      "name": "_0yzs0by._",
      "normalized_name": "0yzs0by",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_0yzs0by._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "0cf6ba12abc6390346886172",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4735e73817296e0a",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "node_modules__pnpm_0z~6xtb._",
      "normalized_name": "node-modules-pnpm-0z-6xtb",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/node_modules__pnpm_0z~6xtb._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "72fc192bad9862b4ed2ccbc8",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dbe5ceee8252806b",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0uyy9uj._",
      "normalized_name": "root-of-the-server-0uyy9uj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0uyy9uj._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c949a0e12e67aa1af0bb87d4",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb5e6e6611ed092d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_page_actions_09-gtaw",
      "normalized_name": "next-internal-server-app-page-actions-09-gtaw",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "0a30c2d78fb913a17a9394db",
      "component_kind": "ai-chat",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "22838f0f64e640a2",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_chat_page_actions_0ymiytn",
      "normalized_name": "next-internal-server-app-chat-page-actions-0ymiytn",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_chat_page_actions_0ymiytn.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "3d928f0ab17c713619aba0dc",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "65f8658b7261ac58",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_060bdh2",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-060bdh2",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_060bdh2.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security",
      "component_id": "aa92b3dfea44841737734a7a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D, E, F, G, H | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ba1a391ff9c29a83",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_0-dyeot._",
      "normalized_name": "0idx-next-dist-0-dyeot",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_0-dyeot._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "d250e7020a5987421dae9c2c",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d009e7f2f018636d",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_0wi6bg6",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-0wi6bg6",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_0wi6bg6.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "a51dd72c4dc1dc592177881e",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3c3d532338def1ad",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_01~l1yc",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-01-l1yc",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_01~l1yc.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "e32f0c840e01745260621ebc",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "639cc0011c4941c8",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0w-2_lucide-react_dist_esm_icons_0v57~n0._",
      "normalized_name": "0w-2-lucide-react-dist-esm-icons-0v57-n0",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_0v57~n0._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "493c1905798225eacc8e9378",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54ee7cf41a3c1d47",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_submit_page_actions_0pqd_gn",
      "normalized_name": "next-internal-server-app-submit-page-actions-0pqd-gn",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_submit_page_actions_0pqd_gn.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b0010cdf9b6980d3254a7169",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15cb527917dd2e62",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_dashboard_page_actions_0lwvh3z",
      "normalized_name": "next-internal-server-app-dashboard-page-actions-0lwvh3z",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_dashboard_page_actions_0lwvh3z.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "6b598503db0e6a80e074e983",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b2a749ab85e03290",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_0i3j9p8",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-0i3j9p8",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_0i3j9p8.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,integration,security",
      "component_id": "5efd07b8d4f7b884911b7c36",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | backend-score:55 | integration-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "794c483263d311ee",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0ozc_@vercel_oidc_dist_token_0qkzh69",
      "normalized_name": "0ozc-vercel-oidc-dist-token-0qkzh69",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0ozc_@vercel_oidc_dist_token_0qkzh69.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "edd351349fbff184de7255aa",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2470a55dd922449c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_discover_page_actions_00cgl4k",
      "normalized_name": "next-internal-server-app-discover-page-actions-00cgl4k",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_discover_page_actions_00cgl4k.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "b0f1c53e6bb04da07790c557",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ba7cf82fbbbce1f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0w-2_lucide-react_dist_esm_icons_0-bvh-b._",
      "normalized_name": "0w-2-lucide-react-dist-esm-icons-0-bvh-b",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_0-bvh-b._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f6398fafeb541a16a63e7e03",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "+k),j.warn(,+k)}return y(,use server,util",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:fetchCache | imports:+k),j.warn(, +k)}return y(, use server, util | backend-score:55 | observability-score:55 | security-score:55 | uses-env | metadata",
      "exports": "fetchCache",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4428a84e807b6b79",
      "framework": "next-react",
      "imports": "+k),j.warn(,+k)}return y(,use server,util",
      "lines": 19,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0yu6n76._",
      "normalized_name": "root-of-the-server-0yu6n76",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0yu6n76._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend",
      "component_id": "f181423157a25a84042eb099",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb85fc384a747d80",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 33,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0br8mk-._",
      "normalized_name": "root-of-the-server-0br8mk",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0br8mk-._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security",
      "component_id": "3ba1d242a4b3812b1c9aca08",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12be385cf6b19237",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0w-2_lucide-react_dist_esm_icons_0lhu~x3._",
      "normalized_name": "0w-2-lucide-react-dist-esm-icons-0lhu-x3",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_0lhu~x3._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "29efebc2e111bdc1c9d27607",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, C, D, J, K, L, M, N | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "A,C,D,J,K,L,M,N",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ade8dc5e1f1515aa",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "0idx_next_dist_0oyy664._",
      "normalized_name": "0idx-next-dist-0oyy664",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_0oyy664._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security",
      "component_id": "ddd7bf314e7b001f954bfc0e",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:I, J, P | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "I,J,P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "855843a686f5cbe5",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app_page_tsx_0es_sk2._",
      "normalized_name": "app-page-tsx-0es-sk2",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/app_page_tsx_0es_sk2._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c3b6de8f436d46473f86e906",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43f70062b36a427b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app__global-error_page_actions_0k77kol",
      "normalized_name": "next-internal-server-app-global-error-page-actions-0k77kol",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0k77kol.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dca0a962448f375296bc5ccc",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d8e0bc5671c4dd3",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app_faq_page_actions_03t0wwz",
      "normalized_name": "next-internal-server-app-faq-page-actions-03t0wwz",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app_faq_page_actions_03t0wwz.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "302775c34f3dda6ae819cdc7",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "56bfc450269b60bf",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_0gwwqyp._",
      "normalized_name": "0gwwqyp",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_0gwwqyp._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "abf842706f8843a68e59b9f8",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1a5e75e4a0d1ad46",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "app_api_docs_page_tsx_134x5g4._",
      "normalized_name": "app-api-docs-page-tsx-134x5g4",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/app_api_docs_page_tsx_134x5g4._.js",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4c0d05e889a0045d1228fa52",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/action-async-storage.external.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/dynamic-access-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7af232d61f46b296",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/action-async-storage.external.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/dynamic-access-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js,path",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0zpfczu._",
      "normalized_name": "root-of-the-server-0zpfczu",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0zpfczu._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "79198e570b03b195ae80fd6d",
      "component_kind": "auth-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1c8782a86f84ab71",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_client_components_builtin_unauthorized_1288a7z",
      "normalized_name": "0idx-next-dist-client-components-builtin-unauthorized-1288a7z",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_client_components_builtin_unauthorized_1288a7z.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "2f26120f374437ebbd2cbcfc",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/action-async-storage.external.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/dynamic-access-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0a4d1b4f16d56aab",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/action-async-storage.external.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/dynamic-access-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__05uaxc9._",
      "normalized_name": "root-of-the-server-05uaxc9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__05uaxc9._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "b25dc3ceab4dd65420eeb8a0",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "43e5a75d87d542ad",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_client_components_builtin_global-error_0vma7h0",
      "normalized_name": "0idx-next-dist-client-components-builtin-global-error-0vma7h0",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_client_components_builtin_global-error_0vma7h0.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "76cd846f63c44ee6ac42e6e4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, C, D, E, F, G, H | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "A,B,C,D,E,F,G,H,J,K,L,M,N,O,P,Q,R,S,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf3affd36946bea1",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "0idx_next_04bs8k4._",
      "normalized_name": "0idx-next-04bs8k4",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_04bs8k4._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "2d59528c0184d39bac152e2c",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a99be21a0d99efd",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0rygb1m._",
      "normalized_name": "root-of-the-server-0rygb1m",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0rygb1m._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ce5bdc2c7727e7c717e8c139",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, E, G, K, L, W, X | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "A,B,E,G,K,L,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c66bfc6430a38e60",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "app_submit_page_tsx_0e3iz2p._",
      "normalized_name": "app-submit-page-tsx-0e3iz2p",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/app_submit_page_tsx_0e3iz2p._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "62c20e8dc30706c601d041f6",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b73f69c36dda4233",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0bos.mk._",
      "normalized_name": "root-of-the-server-0bos-mk",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0bos.mk._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "4349e587516c86f328be7554",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04e8e4b780d930d0",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__05og9fs._",
      "normalized_name": "root-of-the-server-05og9fs",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__05og9fs._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "a615b67236cbff0e557b30fc",
      "component_kind": "backend-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dbbad7fd62ad5b64",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0idx_next_dist_client_components_01_o88o._",
      "normalized_name": "0idx-next-dist-client-components-01-o88o",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_client_components_01_o88o._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "2fa8855df6f6ad59c13cc5b2",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03c91d61469feee9",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_0swz6px",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-0swz6px",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_0swz6px.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security,ai",
      "component_id": "5fe3fb808aa25656ceab26fe",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:A, B, G, H, I, J, O, P | backend-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "A,B,G,H,I,J,O,P,U,V,W,X,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "eda1c0fe427597b3",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app_dashboard_page_tsx_0bj~--5._",
      "normalized_name": "app-dashboard-page-tsx-0bj-5",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/app_dashboard_page_tsx_0bj~--5._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "bd30855146b5fbaa2f4ab9a2",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "af42d6fc49dde4a4",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_0_4y6gm",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-0-4y6gm",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_0_4y6gm.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "bdb699ebba37877a5990392d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:L | imports:path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "L",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c20e8abb35e25849",
      "framework": "next-react",
      "imports": "path",
      "lines": 4,
      "logic_relevance": "none",
      "name": "0idx_next_dist_esm_build_templates_app-page_0kvgh50",
      "normalized_name": "0idx-next-dist-esm-build-templates-app-page-0kvgh50",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0idx_next_dist_esm_build_templates_app-page_0kvgh50.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ed83b9eb17640ac76c9a76d5",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0a5dfd4805c50e38",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0w-2_lucide-react_dist_esm_icons_radio_0nli~et",
      "normalized_name": "0w-2-lucide-react-dist-esm-icons-radio-0nli-et",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_radio_0nli~et.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "5f789a16bf3fc222213fa8fb",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dee497261afd3a6b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "0w-2_lucide-react_dist_esm_icons_01-jlg~._",
      "normalized_name": "0w-2-lucide-react-dist-esm-icons-01-jlg",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/0w-2_lucide-react_dist_esm_icons_01-jlg~._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "018448a2dce594d2fd8cd438",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:C, D, E | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "C,D,E",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f86b78068d1f0f28",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_11v_k_-._",
      "normalized_name": "11v-k",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_11v_k_-._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "dcd16f9d4e6d0b79a4e93636",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/shared/lib/no-fallback-error.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf05121d92e9a725",
      "framework": "next-react",
      "imports": "next/dist/shared/lib/no-fallback-error.external.js",
      "lines": 3,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0dl1l2x._",
      "normalized_name": "root-of-the-server-0dl1l2x",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0dl1l2x._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e230d7ecec99124500dfbe7e",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d82f68d1c0dd2be4",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "_next-internal_server_app__not-found_page_actions_0eq97pa",
      "normalized_name": "next-internal-server-app-not-found-page-actions-0eq97pa",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0eq97pa.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability,security",
      "component_id": "45e6a63483544d42cdfda8d4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "fs,path,something,stream,url,worker_threads",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ABSOLUTE_ROOT, ASSET_PREFIX, BindingTag_Value, Context, LEAF_PROTOTYPES, REEXPORTED_OBJECTS, RELATIVE_ROOT_PATH, RUNTIME_PUBLIC_PATH | imports:fs, path, something, stream, url, worker_threads | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ABSOLUTE_ROOT,ASSET_PREFIX,BindingTag_Value,Context,LEAF_PROTOTYPES,REEXPORTED_OBJECTS,RELATIVE_ROOT_PATH,RUNTIME_PUBLIC_PATH,RUNTIME_ROOT,WORKER_FORWARDED_GLOBALS",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af883ca759072754",
      "framework": "next-react",
      "imports": "fs,path,something,stream,url,worker_threads",
      "lines": 903,
      "logic_relevance": "none",
      "name": "[turbopack]_runtime",
      "normalized_name": "turbopack-runtime",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[turbopack]_runtime.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "dd98648864dcc8acc7778823",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next/dist/compiled/next-server/app-page-turbo.runtime.prod.js, next/dist/server/app-render/action-async-storage.external.js, next/dist/server/app-render/after-task-async-storage.external.js, next/dist/server/app-render/dynamic-access-async-storage.external.js, next/dist/server/app-render/work-async-storage.external.js, next/dist/server/app-render/work-unit-async-storage.external.js | backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26737d4fc7ff5e2c",
      "framework": "next-react",
      "imports": "next/dist/compiled/next-server/app-page-turbo.runtime.prod.js,next/dist/server/app-render/action-async-storage.external.js,next/dist/server/app-render/after-task-async-storage.external.js,next/dist/server/app-render/dynamic-access-async-storage.external.js,next/dist/server/app-render/work-async-storage.external.js,next/dist/server/app-render/work-unit-async-storage.external.js",
      "lines": 33,
      "logic_relevance": "none",
      "name": "[root-of-the-server]__0xu1-y_._",
      "normalized_name": "root-of-the-server-0xu1-y",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/server/chunks/ssr/[root-of-the-server]__0xu1-y_._.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "729122afefcda7b70873a41a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ws",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:B, D, G, H, M, W | imports:ws | observability-score:55 | security-score:55",
      "exports": "B,D,G,H,M,W",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9d8157a9fa729ac5",
      "framework": "next-react",
      "imports": "ws",
      "lines": 59,
      "logic_relevance": "none",
      "name": "0tl4f~l2g6n0s",
      "normalized_name": "0tl4f-l2g6n0s",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0tl4f~l2g6n0s.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "a13f61b34d3da905d19490b1",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:C, D, G, H, K, M, O, Q | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "C,D,G,H,K,M,O,Q,R,T,U,X",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a08533d3bc93c27d",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0nv4vh_.urisx",
      "normalized_name": "0nv4vh-urisx",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0nv4vh_.urisx.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation,ai",
      "component_id": "e5ff29e214cc323e97d35951",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, D, E, F, H, I | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | metadata",
      "exports": "A,B,C,D,E,F,H,I,J,L,M,N,O,P,Q,R,S,T,U,W,X",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d39995a34ede57c",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "09ngnrxyxkdt2",
      "normalized_name": "09ngnrxyxkdt2",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/09ngnrxyxkdt2.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "32565eb40528f36f53c53b63",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:C, E, G, I, J, K, N, O | observability-score:55 | security-score:55",
      "exports": "C,E,G,I,J,K,N,O,Q,R,S,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4d6a8e9a1bbbf92d",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "04hn5u4n5marj",
      "normalized_name": "04hn5u4n5marj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/04hn5u4n5marj.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "0b55484c9bd52b54d113e2e1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Jm, Qm, Zm | security-score:55",
      "exports": "Jm,Qm,Zm",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0973c1d64c88adc8",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "03~yq9q893hmn",
      "normalized_name": "03-yq9q893hmn",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/03~yq9q893hmn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "c35d57c5209a6a69bb4e7aa5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, E, O, S, T, U | observability-score:55 | security-score:55",
      "exports": "A,B,C,E,O,S,T,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "685b13c8889deeb1",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "10st02lackzgs",
      "normalized_name": "10st02lackzgs",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/10st02lackzgs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "observability,security,automation",
      "component_id": "ec2015b2a6f5f6fb201b3263",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for workflow; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:C, D, F, L, M, N, O, R | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "C,D,F,L,M,N,O,R,T,W",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e64b13aad2364cfb",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "turbopack-0cphma5syvho8",
      "normalized_name": "turbopack-0cphma5syvho8",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/turbopack-0cphma5syvho8.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a56c30ca329ccb05fecf0d35",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, Context, D, E, F, G | observability-score:55 | security-score:55",
      "exports": "A,B,C,Context,D,E,F,G,H,I,J,K,L,M,N,O,P,R,S,T,U,V,W,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "91e4c5344ce342bb",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0t0z78mhr-aw~",
      "normalized_name": "0t0z78mhr-aw",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0t0z78mhr-aw~.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "cbf40a11c09f261213c62b0f",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "75c8536d4ab8c8db",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "09mgchhv7rymj",
      "normalized_name": "09mgchhv7rymj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/09mgchhv7rymj.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "7c1e7e9a5a9cfdb279532508",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ee8483d477058131",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0vv78ge_pjonj",
      "normalized_name": "0vv78ge-pjonj",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0vv78ge_pjonj.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "observability,automation",
      "component_id": "c9ad3bb0eb0010379a046fdb",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:E, F, G, H, I, J, L, O | observability-score:55 | automation-score:45",
      "exports": "E,F,G,H,I,J,L,O,R,S,T,Z",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88545f1bb58b21c4",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0jfn08mdmnp0k",
      "normalized_name": "0jfn08mdmnp0k",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0jfn08mdmnp0k.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "81002300213d4e5f1df0f996",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:M, R | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "M,R",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7111858757e9b16b",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0td84qyfetjz2",
      "normalized_name": "0td84qyfetjz2",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0td84qyfetjz2.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5327e5a1a875c2f05893141e",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f8bd24dd0dce595",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0z0op_a6w~2l0",
      "normalized_name": "0z0op-a6w-2l0",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0z0op_a6w~2l0.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,ai",
      "component_id": "6ad90d515168fb3996b596b8",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "use server",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, D, E, F, G, H | imports:use server | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "851d7d7ebf715484",
      "framework": "next-react",
      "imports": "use server",
      "lines": 2,
      "logic_relevance": "none",
      "name": "11hv5fdb_8h1-",
      "normalized_name": "11hv5fdb-8h1",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/11hv5fdb_8h1-.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security,ai",
      "component_id": "37443d21596f7661380dc743",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, C, E, O, P, R, S | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "A,C,E,O,P,R,S",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0102a30856671a55",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "15~.m9k8joc1m",
      "normalized_name": "15-m9k8joc1m",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/15~.m9k8joc1m.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "52335064ac2ee595fbdc41f2",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, E, M, O, T, U | observability-score:55 | security-score:55",
      "exports": "A,B,E,M,O,T,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e3b46d6e4ab1de3a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0wjw7o0888s6h",
      "normalized_name": "0wjw7o0888s6h",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0wjw7o0888s6h.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "6100240ba7878a485b22a7ab",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4a886716b95e65b6",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "0zbh6mhpaju0-",
      "normalized_name": "0zbh6mhpaju0",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0zbh6mhpaju0-.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "de2698d083052def3f56164c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, C, H, I, N, R, T, U | observability-score:55 | security-score:55",
      "exports": "A,C,H,I,N,R,T,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "30fe32f70189040b",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "0xb3jusdg.6-v",
      "normalized_name": "0xb3jusdg-6-v",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0xb3jusdg.6-v.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "ab5b06193721b0dc259e2b47",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, E, O, S, T, U | observability-score:55 | security-score:55",
      "exports": "A,B,C,E,O,S,T,U",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a92d7ca34eb4897a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0ctgixb~cw~.7",
      "normalized_name": "0ctgixb-cw-7",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0ctgixb~cw~.7.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "409dfcd046fc3f1dd5e2b98f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:P | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e594eaa150e9db0d",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0d~b1ynl~z_e.",
      "normalized_name": "0d-b1ynl-z-e",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0d~b1ynl~z_e..js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security,ai",
      "component_id": "1fb43700bfc09c6b41ff34a4",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, E, M, S, T, U | security-score:55 | ai-score:45",
      "exports": "A,E,M,S,T,U",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6ea9c07826fd3ca",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0sobb.8_qkzqm",
      "normalized_name": "0sobb-8-qkzqm",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0sobb.8_qkzqm.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "a5b62de35d14b5a7be767381",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "+u),l.warn(,+u)}return fD(",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:+u),l.warn(, +u)}return fD( | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8386e18ab970c478",
      "framework": "next-react",
      "imports": "+u),l.warn(,+u)}return fD(",
      "lines": 69,
      "logic_relevance": "none",
      "name": "07oaj504mjh9.",
      "normalized_name": "07oaj504mjh9",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/07oaj504mjh9..js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "8aaa4d5102dd225983b7c3ec",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:E, N, O, P | security-score:55",
      "exports": "E,N,O,P",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "abc7da40d60eb523",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "0hgskzq5095.i",
      "normalized_name": "0hgskzq5095-i",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/chunks/0hgskzq5095.i.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "bd7c89d192b3d63f76c89253",
      "component_kind": "discovery-artifact",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "678f6ce2cb80b1fe",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "_ssgManifest",
      "normalized_name": "ssg-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/EiMx9AF6AWdU1h1xGqzIv/_ssgManifest.js",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "f60320ad913c8208ed877f32",
      "component_kind": "discovery-artifact",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dbd41b9cebb7ab75",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "_clientMiddlewareManifest",
      "normalized_name": "client-middleware-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/EiMx9AF6AWdU1h1xGqzIv/_clientMiddlewareManifest.js",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "a4c2d102da2924b005197074",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9476e0afd3f9da68",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "_buildManifest",
      "normalized_name": "build-manifest",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/static/EiMx9AF6AWdU1h1xGqzIv/_buildManifest.js",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "7f7b3b9d5d0541c7baf3a91c",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9b08f412f81550ab",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "route-bundle-stats",
      "normalized_name": "route-bundle-stats",
      "package_manager": "pnpm",
      "path": ".next.preverify-20260419-2027/diagnostics/route-bundle-stats.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "108faac9c8141ed679214f7a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, @/lib/podcast/archive, next | frontend-score:55 | discovery-score:55",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "280a595c9cf53c9a",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/podcast/archive,next",
      "lines": 69,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a9f9ae988ac9c5aa92dbae6c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e40725404eb905cb",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next",
      "lines": 218,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "b92456d85b349247239f571f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PodcastRadio | imports:@/components/audio-visualizer, @/components/generative-background, @/components/network-sidebar, @/components/sentiment-display, @/components/station-browser, @/components/thumbnail-visualizer, @/components/ui/eq-bars, @/lib/podcasts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PodcastRadio",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c8a293fc052b4bd",
      "framework": "next-react",
      "imports": "@/components/audio-visualizer,@/components/generative-background,@/components/network-sidebar,@/components/sentiment-display,@/components/station-browser,@/components/thumbnail-visualizer,@/components/ui/eq-bars,@/lib/podcasts,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 1108,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "f16d709d5a0374331cf679dc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0d59ca257c20660c",
      "framework": "next-react",
      "imports": "",
      "lines": 527,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "6516537ef446275aa17fd605",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:react | frontend-score:115 | ui-score:70",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff0125de04ff8234",
      "framework": "next-react",
      "imports": "react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2dd5b754348f414e9839d3e8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1dd8b4cdb70805b",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/reader/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "735210dccbe3657475a7329d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "15be726dd85784ac",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "56491dbf0d0c22b2bed69acd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, @/lib/podcast/archive | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a379ddd81395017d",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/podcast/archive",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,discovery",
      "component_id": "514cd6c6428f91e52194e5df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, @/lib/podcast/archive | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a2e4445a6a7affd2",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,@/lib/podcast/archive",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "56bcb01fea630975b4f41436",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8246807433f6562e",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/discover/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4f5a0f044459bb4fe0871907",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SubmitPage | imports:@/lib/podcast/feed-url, @/lib/utils, @radix-ui/react-tooltip, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SubmitPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8b5a109c062c1a3",
      "framework": "next-react",
      "imports": "@/lib/podcast/feed-url,@/lib/utils,@radix-ui/react-tooltip,lucide-react,next/link,next/navigation,react",
      "lines": 649,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/submit/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "9d883d57163217da7f854afc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8688f68135907f03",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/category/[category]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "8f02c31e0a54ebb0e3aede44",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatPage | imports:@/components/podcasts/page-chrome | ai-score:120 | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "ChatPage",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "145d331725dbc1ca",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/chat/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "404496131feb43934e06159f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "863a35a2656e2ad1",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 73,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e12d33c8e684c01a292184f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f2432a9a6fe2973",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "7b97208e376792de81c3dbb7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e547b2f0bea8d24d",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "a76302652253d8b19f8d9f79",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/app/.well-known/agents.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d8584cb40e75c43b",
      "framework": "next-react",
      "imports": "@/app/.well-known/agents.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "3a670ea7361146972b52729a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/.well-known/trust.json/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "185c27485ce11565",
      "framework": "next-react",
      "imports": "@/app/.well-known/trust.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "11a5b20b277fe7877c13be3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4f1d9920e5d7dd5b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "1d3cd2b102d5b68c897b058f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9ab2435d5dd1313b",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "6e92ce177b5b968906949283",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "702865e227aa1867",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "fa63409898031ee301c7af26",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ffb1be36c8d14d08",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/navigation",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/episodes/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "db026199db2b830be4a0daa3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86743b652d157db7",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tags/[tag]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "926c8f32d1c98d7f5a71e13d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "366ea7210b7542ff",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "322e43fe70e9e9245453cfdd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68c81f882607c64d",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link,next/navigation",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/feeds/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "081eb7723af229d18a4285b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e3e0b9c3acffcfd",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "326314d1cde2ea9cecf1b616",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/lib/feed-validator, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "866db1c26237dd9b",
      "framework": "next-react",
      "imports": "@/lib/feed-validator,@/lib/utils,lucide-react,next/link,react",
      "lines": 324,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security,discovery",
      "component_id": "04d298b67983ea074b453f9d",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddFeedPage | imports:@/components/podcasts/add-feed-form, @/components/podcasts/page-chrome | frontend-score:85 | ui-score:55 | security-score:55 | discovery-score:55",
      "exports": "AddFeedPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14b14d7ba35d85e9",
      "framework": "next-react",
      "imports": "@/components/podcasts/add-feed-form,@/components/podcasts/page-chrome",
      "lines": 10,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/add-feed/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "e6dd48a41ce09a22c9e20a1c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/feed.xml/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a45ad4f5030b9eb5",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "ec5c1c1a7ff634ac145bede8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "808c4f5a26cad719",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4e5c186887531f0e869e5cb6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7dc5ec3d3e797fb9",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "2862fa4b2049a9a597e1ea77",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/podcasts, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6126b140d172ccee",
      "framework": "next-react",
      "imports": "@/lib/podcasts,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stations/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "164a32d6efc47bbf80e4e010",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, POST | imports:@/lib/feed-validator, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9f441c7fbf6fecec",
      "framework": "next-react",
      "imports": "@/lib/feed-validator,@/lib/logger,next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend",
      "component_id": "43a6a27d788906bc54350dbb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8b1d70419ee44f14",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/entries/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "5c5a6f15122162358d6f4f98",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21e942fb259a6bc6",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/entries/archive/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend",
      "component_id": "dd0b92ff90d858b96d405996",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "922018b56f40aa08",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/entries/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "b1549db6879d030ad6c41491",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eae615fcb3a31d2c",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/entries/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend",
      "component_id": "a9f2328e16b363515c79332a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f501d9768992445",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/entries/recent/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "029826cbcbbaef3edbca5b5d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/fingerprint, @/lib/logger, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "911445c29c1fbe7c",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,@/lib/supabase/server,next/server",
      "lines": 233,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f0ec76b2e304654c8b9b5359",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cf58e69fd4f2fcee",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c2f1a5c3e4df40a8fc152759",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/podcast/archive, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ed797f540e92047c",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/podcast/archive,next/server,zod",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "e8c58dee2c71b91db71f9685",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "411b1d0106efc6a6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3df58c82ce8e5bc3a3503708",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19d783910c14ae55",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/feed-sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "42f55a836888898a4538fcad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/platform/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d0157ef1c99fa679",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "215c43cac92bfc9682420165",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f610b215547dc74",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "27a93fcc60558ea8f52c82fd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cee91b3da2284c05",
      "framework": "next-react",
      "imports": "@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "efb45e1e0411f67a32145fe5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56c948454c1674d5",
      "framework": "next-react",
      "imports": "@/lib/platform/response",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,automation",
      "component_id": "ca4f2a62c889159c3ae95da6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response | backend-score:125 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "58e205c0c777c3db",
      "framework": "next-react",
      "imports": "@/lib/platform/response",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend",
      "component_id": "9a71e7107bc1212700821f42",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b85999c65030783f",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/episodes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend",
      "component_id": "4c0fc71229d3d5aa2c04f043",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e7877a6942746c61",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/episodes/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend,observability",
      "component_id": "82372d0434e2a908b956d45b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d19dcb46df6f2f9b",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 124,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/leaderboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "e2dff6f31d58e47cdd4abfcd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "367aa438031ccb87",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/podcasts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend",
      "component_id": "5cbd802f15feba726a695ed4",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/podcast/archive | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1e5d1ed128c6da8d",
      "framework": "next-react",
      "imports": "@/lib/podcast/archive",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/opml/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ea346ab3c35dcb6ce2698763",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f5bc8c5a9c12930",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/podcast/archive,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/opml/import/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend",
      "component_id": "34e1a1caba8511e06b39e0a5",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f8f9ef79097a2091",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tags/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "dd1a97922b190f92b5b5de3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/podcast/archive, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "147654715426dd4a",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/podcast/archive,next/server,zod",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "8b5135aaba6701183d96a3d7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c7ef8b84c61744aa",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "e9c1c7c296991ea0b6fdbb32",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2aef2fed17e6f816",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/[id]/entries/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "dce497067cb6b6e4444a7cf2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1018f4da0bfb08ea",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/[id]/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "4fe8f8fffd28b0b9a136961a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "324dd2aec2cc4bd2",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/podcast/archive,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/[id]/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "508bcc0ee01183d71ab6ce60",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/auth, @/lib/supabase/client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "775413e778fde046",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/supabase/client,next/server",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/publish/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "016544010fb8353e27f1c6bf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5870b3a44c0c960f",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/audit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "5309489b4e189eac14c78310",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,nanoid,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/rss/index, @/lib/supabase/server, ai, nanoid, next/server, zod | backend-score:160 | ai-score:75 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2dbd913266cd92eb",
      "framework": "next-react",
      "imports": "@/lib/rss/index,@/lib/supabase/server,ai,nanoid,next/server,zod",
      "lines": 287,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/submissions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "f4bbb8ef92b5bf8bc325f051",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3ad9b5b58a96072",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security",
      "component_id": "f70f5a5e61bcacc2709fd094",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "508bb1961e5675c3",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trending/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5bfaf54116ed4b8a31b7b536",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase/admin, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "af1c655077f03b49",
      "framework": "next-react",
      "imports": "@/lib/supabase/admin,next/server",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health-stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,automation,frontend,observability",
      "component_id": "dd842ec18a1684c83298e3d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5da0fc703756b844",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/jobs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "6fd76234ede9a92c11c56b77",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e673d1c52494758",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security",
      "component_id": "f6d8526e4a7d72e775b05fd9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d96da1c5cdb6b9c3",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/community/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "51f98f42593df5fa4f282b34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, crypto, nanoid, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "28e94fec0c43b8bd",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,crypto,nanoid,next/server",
      "lines": 157,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "7a22b37c4691b75f7ff0ca63",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,nanoid,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase/server, crypto, nanoid, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "887aa9a6f7755530",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,crypto,nanoid,next/server",
      "lines": 228,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/deliver/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend,frontend,observability,security",
      "component_id": "59b654539acc83c3c04d5591",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/podcasts, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "87e6897552a40630",
      "framework": "next-react",
      "imports": "@/lib/podcasts,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sentiment/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "78bce0d7a6a47913fdfeffdc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "049f2a70e51123e4",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shows/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "7fa79244c1ddb5e53b03f337",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "60491da4dfa1b77d",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shows/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend",
      "component_id": "afa2eec713b706243d35cd5f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bae9c36bc8a490d8",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shows/[id]/episodes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "backend",
      "component_id": "755aab879cf74b3053aaccdc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for media; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive | backend-score:125 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1302281e16ce6247",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "de7914c4e1e9b5c606e2c04b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/response, @/lib/podcast/archive | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2f421a729b7f603e",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/podcast/archive",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "fa58d882441beea975acfdd8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/discovery, @/lib/platform/trace, @/lib/podcast/archive, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "316fc2b833714dd7",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/discovery,@/lib/platform/trace,@/lib/podcast/archive,next/server",
      "lines": 313,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,discovery,process",
      "component_id": "91a9f2115f1a5e81c3ae95a3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a3218fd446cb5c0",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/link",
      "lines": 112,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "37df81c5bd70ffedd7d00671",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c14945faceadff6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/submit/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability",
      "component_id": "5090f0d54c61e394cc464421",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/response | backend-score:125 | ai-score:120 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b4014d94939c48bc",
      "framework": "next-react",
      "imports": "@/lib/platform/response",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "fa1e76931a2822abe985427f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1058e2274649083b",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/recommend/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "86d8772453ee248b14bfea74",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/podcast/archive, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b12e9ef0f81466a",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/podcast/archive,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,frontend,observability,automation",
      "component_id": "830ca47d16fc8bf378d28b34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/podcast/validate, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "febaeb9cc08e5289",
      "framework": "next-react",
      "imports": "@/lib/podcast/validate,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/podcast/submit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,security",
      "component_id": "378356259b35e121b96d13d1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "182c036c472630be",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 181,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "2d145d4721b39b4939e1fa83",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23427ac8f9c88057",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "2fd262359c40d68bb66d26e0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/lib/fingerprint, @/lib/logger, @/lib/supabase/admin, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "32a5c8aef948161a",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,@/lib/supabase/admin,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/sync-catalog/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "c8518f269ac82c9156b41d4b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/lib/fingerprint, @/lib/supabase/server, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0755f9731849f8f6",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/supabase/server,next/server",
      "lines": 104,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/daily-sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "7bb8c4f531a332d1c24b7743",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "27a3230f71799efa",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security,discovery",
      "component_id": "ac788e593d9b6d275d3944b4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, maxDuration, runtime | imports:@/lib/feed-validator, @/lib/logger, @/lib/supabase/admin, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d985bf9538f3ff9c",
      "framework": "next-react",
      "imports": "@/lib/feed-validator,@/lib/logger,@/lib/supabase/admin,next/server",
      "lines": 147,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/validate-feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "e716fac4bba6c7f3c0d12ebc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/lib/supabase/server, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76fcdda922e56de9",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 264,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "460ea004608b291a6c8b8065",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc1b1a19c98b16af",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "f8e07994ca49f00683295320",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd9699b25ea02f3a",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/browse/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "1022d77cdc0abc0bc5121e29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e293bdcd40b00c3",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "26130c6a8e8c6afd63aa3f95",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "08fb9832beff692b",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "a11ce5ca8353c64fd3399a1f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "847ba65a4b3866c1",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cfbfe405210ae4347d2c24a2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eadf0e6047993b8e",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/community/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "9c2780739549695f45068eb2",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/app/feeds/[id]/page | frontend-score:85 | ui-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee90d1e53b242404",
      "framework": "next-react",
      "imports": "@/app/feeds/[id]/page",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/shows/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "d3a57af89ac3b1bd0848142b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/podcasts/page-chrome, @/lib/podcast/archive, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d34c26cee18394c9",
      "framework": "next-react",
      "imports": "@/components/podcasts/page-chrome,@/lib/podcast/archive,next/link",
      "lines": 22,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "eeddec9551ab1b196659fb34",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:PodcastPage | imports:@/lib/supabase/client, @/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PodcastPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cc2c31b8b42f065",
      "framework": "next-react",
      "imports": "@/lib/supabase/client,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 535,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/p/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4edb8f963954bdba2006f85a",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:vitest | observability-score:55 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e453836ed8670f97",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 213,
      "logic_relevance": "none",
      "name": "submissions.test",
      "normalized_name": "submissions",
      "package_manager": "pnpm",
      "path": "tests/submissions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "37816192226db95751e094d9",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c9246edeb5ed1d99",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 66,
      "logic_relevance": "none",
      "name": "podcasts-phase1.spec",
      "normalized_name": "podcasts-phase1",
      "package_manager": "pnpm",
      "path": "tests/e2e/podcasts-phase1.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "5f825921934a793cfe2c9188",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6538bd4e7f5da4c9",
      "framework": "next-react",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "ENHANCEMENT_PLAN",
      "normalized_name": "enhancement-plan",
      "package_manager": "pnpm",
      "path": "docs/ENHANCEMENT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "5d6b6179a28db729d306ff78",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "916ce2e9bac0ad640bc938a7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "e63f121b10e073f31304f5ee",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "57666125487dcac33a2e3694",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RadioTuner | imports:./generative-background, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RadioTuner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b860952697e557f",
      "framework": "next-react",
      "imports": "./generative-background,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 341,
      "logic_relevance": "none",
      "name": "radio-tuner",
      "normalized_name": "radio-tuner",
      "package_manager": "pnpm",
      "path": "components/radio-tuner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "e503d4ce6cd5dfc9cfb63e0c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThumbnailVisualizer | imports:@/lib/crypto-utils, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ThumbnailVisualizer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3aa5db8c771f344",
      "framework": "next-react",
      "imports": "@/lib/crypto-utils,@/lib/utils,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "thumbnail-visualizer",
      "normalized_name": "thumbnail-visualizer",
      "package_manager": "pnpm",
      "path": "components/thumbnail-visualizer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "69b5928eb066687b07f7c766",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WinampPlayer | imports:./generative-background, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WinampPlayer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5a9c2f5645bd292",
      "framework": "next-react",
      "imports": "./generative-background,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 412,
      "logic_relevance": "none",
      "name": "winamp-player",
      "normalized_name": "winamp-player",
      "package_manager": "pnpm",
      "path": "components/winamp-player.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0b14f68d17f3997027cb517",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9c87ac1e06dbb7cd",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/Breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,security",
      "component_id": "5bd8906b0590ded123d6f099",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:GenerativeBackground, Sentiment | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "GenerativeBackground,Sentiment",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fdc87ba7e63517c1",
      "framework": "next-react",
      "imports": "react",
      "lines": 430,
      "logic_relevance": "none",
      "name": "generative-background",
      "normalized_name": "generative-background",
      "package_manager": "pnpm",
      "path": "components/generative-background.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "3f067ac0437389597a56ce49",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkSidebar | imports:@/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NetworkSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70724cd218d847c6",
      "framework": "next-react",
      "imports": "@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 234,
      "logic_relevance": "none",
      "name": "network-sidebar",
      "normalized_name": "network-sidebar",
      "package_manager": "pnpm",
      "path": "components/network-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c8fcead922b97fa86c1cd1fd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicHero | imports:./generative-background, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CinematicHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee165b63afc2679f",
      "framework": "next-react",
      "imports": "./generative-background,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 310,
      "logic_relevance": "none",
      "name": "cinematic-hero",
      "normalized_name": "cinematic-hero",
      "package_manager": "pnpm",
      "path": "components/cinematic-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8a0de5ce706f1a242c48f7eb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SentimentDisplay | imports:./generative-background, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SentimentDisplay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a1df7ef8e953b3a",
      "framework": "next-react",
      "imports": "./generative-background,@/lib/utils,lucide-react,react",
      "lines": 219,
      "logic_relevance": "none",
      "name": "sentiment-display",
      "normalized_name": "sentiment-display",
      "package_manager": "pnpm",
      "path": "components/sentiment-display.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,security",
      "component_id": "9721e79e009729848bd49c91",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioVisualizer | imports:@/lib/crypto-utils, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "AudioVisualizer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b2990e1bf72c738",
      "framework": "next-react",
      "imports": "@/lib/crypto-utils,@/lib/utils,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "audio-visualizer",
      "normalized_name": "audio-visualizer",
      "package_manager": "pnpm",
      "path": "components/audio-visualizer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "766ef4acbf2c71652f507f5a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StationBrowser | imports:./generative-background, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StationBrowser",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11dc2c3e79c6674e",
      "framework": "next-react",
      "imports": "./generative-background,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 334,
      "logic_relevance": "none",
      "name": "station-browser",
      "normalized_name": "station-browser",
      "package_manager": "pnpm",
      "path": "components/station-browser.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6a0534eee9eee28f2848c538",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7bd604ab8cac720c8317b5ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2b7370f39231717e424ecc44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1fc8b1cc68f29ef01d933cf5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fcb71e741ce8bbfb6741fa1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "58494e14a912506ea6d90090",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "98e4fad7299b8dad1e232a83",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "5203edab92c4564d22985558",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2a590859b37a90d6b2381e98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7e6f6d0561a4ded205e62a5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6b655e5c9908801987d3bb25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "c84840900de5026cf46fc206",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2d029ad6ecf17846135277cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5b7c7eb0a41390c6fef22bef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5e25ce95e5c8d185",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "35a3ee3ff437e563c3dc7f03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b40b98c24954b10ec113f1ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d9f8334199024a4e8fb88555",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d3806d8cb22a5df2131e7a55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7da81bb80b0303c66460acd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b50b684c2a9ac084619038bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1e02d79192164bf970922537",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "0ebaebca98fee55e46324b52",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:EqBars | imports:@/lib/crypto-utils, @/lib/utils, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "EqBars",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8c0aeaf48d456b28",
      "framework": "next-react",
      "imports": "@/lib/crypto-utils,@/lib/utils,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "eq-bars",
      "normalized_name": "eq-bars",
      "package_manager": "pnpm",
      "path": "components/ui/eq-bars.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fdba7a2a527244504f22a4ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d0190b206648af38c0c38771",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c01664ef004f9a5e6d7e5765",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "567a1bb5ba78c1d81138b8bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "13c228d39a855552741de7c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5784c2f1374b95d72d548bb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "c5913860c11954b9239600d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b1381496b18dbcadad18908e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "0aca23026d217a5bbfa16df1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "363327a4d3b9f3ce6412f38c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8f268c245bb7edf78ddf62ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c0323c5956d97eff1a49abe2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "861c7604dc40ba1526228492",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "edeffe4378e1166726e59a8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a33df78ec77ab139c9962e96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "477186752ccae7b6a37bec35",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ca45aee9524e3134afb6de82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "25e650cb717b27901344c1e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5512bdb1538aac1b8507c8f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f0ffa4f6bb5a686edf92af0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9e3ff6ad584b9940",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 733,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7c24d7a9a06d8c0f1b7d64d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "074aaa9d2121bce7671586ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ba4ab52de065bad4f375eb68",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3c94fbf819a01411b7a02b14",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f2ada5a8765ef6ca07f0e6fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b57155b3b227a4aecba08af9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "475b60d572c4715aed44cf81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "645b58a4c1589df327c23388",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "99e938a1ec9c42bc8f5dfbf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cac6aeb11e915ff9ca83fec3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c41be61bc7b5b16996c57573",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "db8b2b272b12a379f8a9ef20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e5d122fda22ac9de2cd0e2e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "815dff5e92d1e7e89173bd5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "892851abed20209c7affd6b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a3ddafc7b6b9e05ef67f328f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "595d6453fe62ac6b9bbb3ae5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioPlayer | imports:react | frontend-score:115 | ui-score:70",
      "exports": "AudioPlayer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "776df11c20d0edb2",
      "framework": "next-react",
      "imports": "react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "audio-player",
      "normalized_name": "audio-player",
      "package_manager": "pnpm",
      "path": "components/podcasts/audio-player.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "6f1d7beea46545a6bbd55b13",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddFeedForm | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | discovery-score:55",
      "exports": "AddFeedForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "87026943169ae91e",
      "framework": "next-react",
      "imports": "react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "add-feed-form",
      "normalized_name": "add-feed-form",
      "package_manager": "pnpm",
      "path": "components/podcasts/add-feed-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "aff6ccaf3d72c00ea677b494",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PageChrome | imports:next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PageChrome",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3483b155064be86",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page-chrome",
      "normalized_name": "page-chrome",
      "package_manager": "pnpm",
      "path": "components/podcasts/page-chrome.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9241570b553f989b20a21804",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityView | imports:@/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CommunityView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9df4f43cd916100",
      "framework": "next-react",
      "imports": "@/lib/types,lucide-react,react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "Community",
      "normalized_name": "community",
      "package_manager": "pnpm",
      "path": "components/views/Community.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f14da6f584f84a715cd188f0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TunerView | imports:@/components/audio-visualizer, @/components/sentiment-display, @/components/thumbnail-visualizer, @/components/ui/eq-bars, @/lib/i18n, @/lib/types, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TunerView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3edd845c58963b9",
      "framework": "next-react",
      "imports": "@/components/audio-visualizer,@/components/sentiment-display,@/components/thumbnail-visualizer,@/components/ui/eq-bars,@/lib/i18n,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 373,
      "logic_relevance": "none",
      "name": "Tuner",
      "normalized_name": "tuner",
      "package_manager": "pnpm",
      "path": "components/views/Tuner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "aa80674ef12f9644cb446e5d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BrowseView | imports:@/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BrowseView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6cb020034517e7f7",
      "framework": "next-react",
      "imports": "@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "Browse",
      "normalized_name": "browse",
      "package_manager": "pnpm",
      "path": "components/views/Browse.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "0e99814223b32a95c3764778",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "34ccfabaff3d1351",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,discovery",
      "component_id": "ab4ddf84544d97cf8840dff9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9d97e170cc4edc57",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "feeds-index",
      "normalized_name": "feeds-index",
      "package_manager": "pnpm",
      "path": "public/feeds-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "41614f0639588f74e6787d85",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ae39cbabd4c97eb2",
      "framework": "next-react",
      "imports": "",
      "lines": 256,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "19f5ab1927db1e81fe90b150",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cdf6bf82364e2d40",
      "framework": "next-react",
      "imports": "",
      "lines": 602,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "2d42437242ccb75fbcf30bc2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "25b8371e4dd45b13",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "37876a9d0d8e08f964f84a17",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2fed9ccb0cc58ac3",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "ed59f6a0bb8f4b39522fc260",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dbf6228ebd63034d",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "69e2c61df48a5d6b79b5bb4e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0a75f6041037fd3a",
      "framework": "next-react",
      "imports": "",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "41bab5f6f95b715126704534",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "532a6eea74bd5cb3478f3f33",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "45c526109da8eb1b",
      "framework": "next-react",
      "imports": "",
      "lines": 266,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "827cfc176fca0962b5931125",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fc8622c4a47a396b",
      "framework": "next-react",
      "imports": "",
      "lines": 875,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "91d279e845e4374ab34b8144",
      "component_kind": "ai-eval",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f0e5bbf5cf25c409",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6414cc079358037107408349",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "950e77800b9eab95",
      "framework": "next-react",
      "imports": "fs",
      "lines": 3,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "pnpm",
      "path": "public/tmp/test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "security",
      "component_id": "5553349e805db34ee6944541",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/sentiment, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "123e185b6b10c9d3",
      "framework": "next-react",
      "imports": "@/lib/sentiment,vitest",
      "lines": 71,
      "logic_relevance": "none",
      "name": "sentiment.test",
      "normalized_name": "sentiment",
      "package_manager": "pnpm",
      "path": "__tests__/sentiment.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "505f6b44002d4565cb565346",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:vitest | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "531d55c456d39723",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 383,
      "logic_relevance": "none",
      "name": "seo.test",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "__tests__/seo.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9e1a75e1bbaad4d8d85d7a2a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/v1/ingest/route, @/lib/podcast/archive, next/server, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eef78db98fe45911",
      "framework": "next-react",
      "imports": "../app/api/v1/ingest/route,@/lib/podcast/archive,next/server,vitest",
      "lines": 93,
      "logic_relevance": "none",
      "name": "ingest.test",
      "normalized_name": "ingest",
      "package_manager": "pnpm",
      "path": "__tests__/ingest.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "4c940adedb4fffdada8dc005",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/feed-validator, vitest | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8bb634592e8b2c20",
      "framework": "next-react",
      "imports": "../lib/feed-validator,vitest",
      "lines": 116,
      "logic_relevance": "none",
      "name": "feed-validator.test",
      "normalized_name": "feed-validator",
      "package_manager": "pnpm",
      "path": "__tests__/feed-validator.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "3aae54f13a40a07ac382fd7a",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../lib/podcast/feed-url, vitest | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a2382cc48f53e3f7",
      "framework": "next-react",
      "imports": "../lib/podcast/feed-url,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "podcast-feed-url.test",
      "normalized_name": "podcast-feed-url",
      "package_manager": "pnpm",
      "path": "__tests__/podcast-feed-url.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "1b6c7898bf521309261112c0",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "adc9ffc47a951d4c",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "c60cab55ddb72add6942c244",
      "component_kind": "feed",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../lib/podcast/parse-rss, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5bf8af37f707891f",
      "framework": "next-react",
      "imports": "../lib/podcast/parse-rss,vitest",
      "lines": 152,
      "logic_relevance": "none",
      "name": "parse-rss.test",
      "normalized_name": "parse-rss",
      "package_manager": "pnpm",
      "path": "__tests__/parse-rss.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "958934ce2e44a40470c33d13",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/winamp-player, @/lib/types, @testing-library/react, vitest | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba31da299b18684f",
      "framework": "next-react",
      "imports": "@/components/winamp-player,@/lib/types,@testing-library/react,vitest",
      "lines": 244,
      "logic_relevance": "none",
      "name": "winamp-player.test",
      "normalized_name": "winamp-player",
      "package_manager": "pnpm",
      "path": "__tests__/winamp-player.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1798ede3e15c0141fad89cc2",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/cron/daily-sync/route, next/server, vitest | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "23f636d652c336c0",
      "framework": "next-react",
      "imports": "../app/api/cron/daily-sync/route,next/server,vitest",
      "lines": 68,
      "logic_relevance": "none",
      "name": "daily-sync-performance.test",
      "normalized_name": "daily-sync-performance",
      "package_manager": "pnpm",
      "path": "__tests__/daily-sync-performance.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "f8c95609590e863c3c655af0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/app,next,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/submissions/route, next/server, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41152deb5facfe20",
      "framework": "next-react",
      "imports": "@/app/api/v1/submissions/route,next/server,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "submissions.test",
      "normalized_name": "submissions",
      "package_manager": "pnpm",
      "path": "__tests__/submissions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "2dd57d20e1eb7dc4d7dd5ceb",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:RATE_LIMIT, RATE_WINDOW | imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | model-provider",
      "exports": "RATE_LIMIT,RATE_WINDOW",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1606a29d6fbb23fb",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 278,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b9207064baa3cc867dcd3956",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/types, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bba4db9ea437836",
      "framework": "next-react",
      "imports": "@/lib/types,vitest",
      "lines": 258,
      "logic_relevance": "none",
      "name": "types.test",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "__tests__/types.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4aa5e17eaaa126ef525c6653",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/podcasts/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75adb9d32a89d65f",
      "framework": "next-react",
      "imports": "@/app/api/v1/podcasts/route,next/server,vitest",
      "lines": 117,
      "logic_relevance": "none",
      "name": "podcasts-route.test",
      "normalized_name": "podcasts-route",
      "package_manager": "pnpm",
      "path": "__tests__/podcasts-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b775d777c2c319c4d1ab42e0",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,node:fs,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/podcast-catalog, @/lib/podcast-catalog, @/lib/podcast-store, @/lib/podcasts, node:fs, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84ab89a76ac28810",
      "framework": "next-react",
      "imports": "../lib/podcast-catalog,@/lib/podcast-catalog,@/lib/podcast-store,@/lib/podcasts,node:fs,vitest",
      "lines": 286,
      "logic_relevance": "none",
      "name": "podcast-catalog.test",
      "normalized_name": "podcast-catalog",
      "package_manager": "pnpm",
      "path": "__tests__/podcast-catalog.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "9736f990bf583d6e8b8d8fa4",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:vitest | automation-score:95 | backend-score:55 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "72050de40b715d21",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 333,
      "logic_relevance": "none",
      "name": "cron.test",
      "normalized_name": "cron",
      "package_manager": "pnpm",
      "path": "__tests__/cron.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "455247dc00224df491923aa7",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../app/api/cron/register/route, vitest | automation-score:95 | backend-score:55 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "defb5c85e95d5038",
      "framework": "next-react",
      "imports": "../app/api/cron/register/route,vitest",
      "lines": 75,
      "logic_relevance": "none",
      "name": "register-cron.test",
      "normalized_name": "register-cron",
      "package_manager": "pnpm",
      "path": "__tests__/register-cron.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "observability,discovery,automation",
      "component_id": "9ec5886b46e5e91612d0e4aa",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/podcast-ingest, @/lib/podcast/feed-url, @/lib/podcast/fetch-feed, vitest | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ed962932bdb30b5",
      "framework": "next-react",
      "imports": "@/lib/podcast-ingest,@/lib/podcast/feed-url,@/lib/podcast/fetch-feed,vitest",
      "lines": 43,
      "logic_relevance": "none",
      "name": "podcast-feed-support.test",
      "normalized_name": "podcast-feed-support",
      "package_manager": "pnpm",
      "path": "__tests__/podcast-feed-support.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,discovery",
      "component_id": "696792a8e29a96603b59c5c2",
      "component_kind": "openapi",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:vitest | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c614eeca105135d0",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 329,
      "logic_relevance": "none",
      "name": "openapi.test",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "__tests__/openapi.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "a8b55cc6a13af501115104c3",
      "component_kind": "integration-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/logger, @/lib/spotify, vitest | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74bafd5ddb6fba6b",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/spotify,vitest",
      "lines": 159,
      "logic_relevance": "none",
      "name": "spotify.test",
      "normalized_name": "spotify",
      "package_manager": "pnpm",
      "path": "__tests__/spotify.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "86af9beb4323c67e33188369",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/podcast/detect-format, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bf91537efc4dc54",
      "framework": "next-react",
      "imports": "@/lib/podcast/detect-format,vitest",
      "lines": 81,
      "logic_relevance": "none",
      "name": "detect-format.test",
      "normalized_name": "detect-format",
      "package_manager": "pnpm",
      "path": "__tests__/detect-format.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9dad0a848197c9a2626b6adc",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/categories, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20d97de8f21b413e",
      "framework": "next-react",
      "imports": "@/lib/categories,vitest",
      "lines": 130,
      "logic_relevance": "none",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "__tests__/categories.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b2aa2aa60341c41c58c29481",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEFAULT_TENANT | imports:vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DEFAULT_TENANT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b5aa184f27f239c1",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 434,
      "logic_relevance": "none",
      "name": "database.test",
      "normalized_name": "database",
      "package_manager": "pnpm",
      "path": "__tests__/database.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "f7d91ad96fe5c5cfbc2f351d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/platform/discovery, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db0e0985dc4c6c0f",
      "framework": "next-react",
      "imports": "@/lib/platform/discovery,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "__tests__/discovery.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ad3c224cb4c43497aceffa14",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/fingerprint, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e727a9bd5e1a77c6",
      "framework": "next-react",
      "imports": "../lib/fingerprint,vitest",
      "lines": 175,
      "logic_relevance": "none",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "__tests__/fingerprint.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "ac6bce9abf5053609688754b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/platform/auth, @/lib/podcast/archive, @/lib/podcast/parse-feed-document, next/server, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2cb19b0d3c8b4c65",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/podcast/archive,@/lib/podcast/parse-feed-document,next/server,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "phase1-archive.test",
      "normalized_name": "phase1-archive",
      "package_manager": "pnpm",
      "path": "__tests__/phase1-archive.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "f49c61673c516946dce90405",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/podcast-streams, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f167e2927f656ab5",
      "framework": "next-react",
      "imports": "@/lib/podcast-streams,vitest",
      "lines": 163,
      "logic_relevance": "none",
      "name": "podcast-streams.test",
      "normalized_name": "podcast-streams",
      "package_manager": "pnpm",
      "path": "__tests__/podcast-streams.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "458dd0214e8528cbf120ecad",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FREQUENCY_MAX, FREQUENCY_MIN, FREQUENCY_STEP, MOBILE_BREAKPOINT | imports:vitest | observability-score:55 | security-score:55",
      "exports": "FREQUENCY_MAX,FREQUENCY_MIN,FREQUENCY_STEP,MOBILE_BREAKPOINT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "946f8790845d8c02",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 472,
      "logic_relevance": "none",
      "name": "components.test",
      "normalized_name": "components",
      "package_manager": "pnpm",
      "path": "__tests__/components.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "0974f6cfc3ebc363337b0c83",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MAX_EPISODES, MAX_FEED_SIZE | imports:../lib/rss, vitest | observability-score:55 | discovery-score:55",
      "exports": "MAX_EPISODES,MAX_FEED_SIZE",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d6fded5e1d2c357",
      "framework": "next-react",
      "imports": "../lib/rss,vitest",
      "lines": 721,
      "logic_relevance": "none",
      "name": "rss.test",
      "normalized_name": "rss",
      "package_manager": "pnpm",
      "path": "__tests__/rss.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5f0938d02fa7e67842e55638",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1e2b4e2fed5be039",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 442,
      "logic_relevance": "none",
      "name": "integration.test",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "__tests__/integration.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "frontend,ui,automation",
      "component_id": "022ca6ebc3dc00c00ba0748c",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,react,vitest",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/podcasts/audio-player, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca1635ab7958fba0",
      "framework": "next-react",
      "imports": "../components/podcasts/audio-player,@testing-library/react,react,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "audio-player.test",
      "normalized_name": "audio-player",
      "package_manager": "pnpm",
      "path": "__tests__/audio-player.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "b5a18cb85047afddfbf78e5c",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../lib/podcast-store, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "68435310522bf6f3",
      "framework": "next-react",
      "imports": "../lib/podcast-store,vitest",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "podcast-store.test",
      "normalized_name": "podcast-store",
      "package_manager": "pnpm",
      "path": "__tests__/podcast-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "a6bb4185e4c1238c29dffbf5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/i18n, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5c07d514a103d5c",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 193,
      "logic_relevance": "none",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "__tests__/i18n.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "observability,automation",
      "component_id": "000f6ed471c96e93402a5282",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/v1/opml/import/route, @/lib/podcast/archive, next/server, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8ab0bff3dc1af70",
      "framework": "next-react",
      "imports": "../app/api/v1/opml/import/route,@/lib/podcast/archive,next/server,vitest",
      "lines": 45,
      "logic_relevance": "none",
      "name": "ingest-performance.test",
      "normalized_name": "ingest-performance",
      "package_manager": "pnpm",
      "path": "__tests__/ingest-performance.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "5c9e5ef0d8dc46ff4a293e0c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "df4637fe8b20e883",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 315,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "__tests__/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c39296dc7c4fa7e74d6c2de3",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_LIMIT, MAX_DESCRIPTION_LENGTH, MAX_LIMIT, MAX_TITLE_LENGTH, MAX_URL_LENGTH, VALID_CATEGORIES | imports:vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DEFAULT_LIMIT,MAX_DESCRIPTION_LENGTH,MAX_LIMIT,MAX_TITLE_LENGTH,MAX_URL_LENGTH,VALID_CATEGORIES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e04912a8c715e620",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 346,
      "logic_relevance": "primary",
      "name": "validation.test",
      "normalized_name": "validation",
      "package_manager": "pnpm",
      "path": "__tests__/validation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "d22a83637685ea83d4e17361",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/logger, vitest | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44c602784bff4dfe",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 166,
      "logic_relevance": "none",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/logger.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "51306b90acbc06f7dbf5e670",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/podcasts, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b6482602a31e7ce",
      "framework": "next-react",
      "imports": "@/lib/podcasts,vitest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "podcasts.test",
      "normalized_name": "podcasts",
      "package_manager": "pnpm",
      "path": "__tests__/podcasts.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation",
      "component_id": "b54f2dbf23929f9fb3719a77",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/cron/validate-feeds/route, next/server, vitest | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "95ab4f8ffba36b2c",
      "framework": "next-react",
      "imports": "../app/api/cron/validate-feeds/route,next/server,vitest",
      "lines": 84,
      "logic_relevance": "none",
      "name": "validate-feeds-performance.test",
      "normalized_name": "validate-feeds-performance",
      "package_manager": "pnpm",
      "path": "__tests__/validate-feeds-performance.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "1d4d695c91f03acc4f3f83e7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,@supabase/supabase-js,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/supabase/admin, @supabase/supabase-js, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be2efc85e6a6d3aa",
      "framework": "next-react",
      "imports": "@/lib/supabase/admin,@supabase/supabase-js,vitest",
      "lines": 57,
      "logic_relevance": "none",
      "name": "admin.test",
      "normalized_name": "admin",
      "package_manager": "pnpm",
      "path": "__tests__/supabase/admin.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "security",
      "component_id": "fef9c8542beacf80e823c0e5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Security component for media; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/podcast/dedupe, ../../lib/podcast/types, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9456bde2c0de1cf3",
      "framework": "next-react",
      "imports": "../../lib/podcast/dedupe,../../lib/podcast/types,vitest",
      "lines": 95,
      "logic_relevance": "none",
      "name": "dedupe.test",
      "normalized_name": "dedupe",
      "package_manager": "pnpm",
      "path": "__tests__/podcast/dedupe.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "322f0836a6f4f77820a77aa7",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "crypto",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:crypto | process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2c903858201f158d",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 33,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "process",
      "component_id": "a0b94fd911a488cdaf477d99",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for media; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "550b1f04cec816ba",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "57455cb139e3dc5bb159ab4c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "526507f523e186ac",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "db21440aa6ad990e4b45302f",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BASE_URL | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2219c0739346fb6a",
      "framework": "next-react",
      "imports": "",
      "lines": 193,
      "logic_relevance": "none",
      "name": "test-integrations",
      "normalized_name": "test-integrations",
      "package_manager": "pnpm",
      "path": "scripts/test-integrations.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "039a8a59dad39fc94f95f5ca",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,dotenv,fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, dotenv, fs, path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b1be49f417e65bf1",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,dotenv,fs,path",
      "lines": 89,
      "logic_relevance": "none",
      "name": "bulk-ingest",
      "normalized_name": "bulk-ingest",
      "package_manager": "pnpm",
      "path": "scripts/bulk-ingest.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "96f34e117fa3c5db721b6675",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | observability-score:55 | automation-score:50 | ai-score:45 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "87e655885186591f",
      "framework": "next-react",
      "imports": "",
      "lines": 219,
      "logic_relevance": "none",
      "name": "test-all",
      "normalized_name": "test-all",
      "package_manager": "pnpm",
      "path": "scripts/test-all.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7b6ea5e40769a22325ea7780",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PocketCastsMetadata, PodcastPlatform, detectPodcastPlatform, normalizeInputUrl | imports:@/lib/logger, @/lib/podcast/feed-url | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "PocketCastsMetadata,PodcastPlatform,detectPodcastPlatform,normalizeInputUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fbd5aa362b594a84",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/podcast/feed-url",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "podcast-ingest",
      "normalized_name": "podcast-ingest",
      "package_manager": "pnpm",
      "path": "lib/podcast-ingest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,discovery",
      "component_id": "e4ae8045531df9d6cf94afda",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeedValidation, StreamValidation, ValidationIssue, getHealthScoreColor, getHealthScoreLabel | imports:./podcast-streams, ./rss | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "FeedValidation,StreamValidation,ValidationIssue,getHealthScoreColor,getHealthScoreLabel",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a12802d5b498cec",
      "framework": "next-react",
      "imports": "./podcast-streams,./rss",
      "lines": 451,
      "logic_relevance": "primary",
      "name": "feed-validator",
      "normalized_name": "feed-validator",
      "package_manager": "pnpm",
      "path": "lib/feed-validator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security",
      "component_id": "8f3beda9aa4060e75efb89a6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SpotifyShow, extractCategoryFromSpotify | imports:@/lib/logger | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SpotifyShow,extractCategoryFromSpotify",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "24a391dbdef69c29",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 216,
      "logic_relevance": "primary",
      "name": "spotify",
      "normalized_name": "spotify",
      "package_manager": "pnpm",
      "path": "lib/spotify.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "d84b885bac6ee38d3971941e",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getAllPodcasts, getEpisodes, getPodcastById, getPodcastBySlug, storePodcast | logic-score:85 | security-score:55",
      "exports": "getAllPodcasts,getEpisodes,getPodcastById,getPodcastBySlug,storePodcast",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "93759b9b900c6b75",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "primary",
      "name": "podcast-store",
      "normalized_name": "podcast-store",
      "package_manager": "pnpm",
      "path": "lib/podcast-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "7af0dc799ccc6e56b4dda751",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, detectLocale, getLocaleFromUrl, localeNames, locales, t, translations | logic-score:85 | security-score:55",
      "exports": "Locale,detectLocale,getLocaleFromUrl,localeNames,locales,t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1754f5a7915b1804",
      "framework": "next-react",
      "imports": "",
      "lines": 225,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "c39233de5509d4cc0443b193",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isLikelyAudioContentType, isLikelyAudioUrl, normalizeStreamUrl, pickPrimaryAudioUrl | logic-score:85",
      "exports": "isLikelyAudioContentType,isLikelyAudioUrl,normalizeStreamUrl,pickPrimaryAudioUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b6a44e70946ba8e8",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "podcast-streams",
      "normalized_name": "podcast-streams",
      "package_manager": "pnpm",
      "path": "lib/podcast-streams.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "34e3d73c8c6f12bd2398d2ae",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, MCPResource, MCPResponse, MCPServer, MCPTool | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "MCPClient,MCPResource,MCPResponse,MCPServer,MCPTool",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ff5b080529001de5",
      "framework": "next-react",
      "imports": "",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "b010c47e5a5b985f8df46893",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a3faff9c76ccb00971bbd834",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:fs,node:path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CatalogEpisode, CatalogPodcast, createPodcastSlug, getCuratedCatalogEpisodes, getCuratedCatalogPodcasts, getFeedIndexCatalogPodcasts, getStoredCatalogEpisodes, getStoredCatalogPodcasts | imports:@/lib/podcast-store, @/lib/podcasts, @/lib/supabase/admin, node:fs, node:path | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CatalogEpisode,CatalogPodcast,createPodcastSlug,getCuratedCatalogEpisodes,getCuratedCatalogPodcasts,getFeedIndexCatalogPodcasts,getStoredCatalogEpisodes,getStoredCatalogPodcasts,getTrendingScore,matchesPodcastQuery,mergeCatalogPodcasts,normalizeDatabasePodcastRow,sortCatalogPodcasts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "670a2d7d34c9c912",
      "framework": "next-react",
      "imports": "@/lib/podcast-store,@/lib/podcasts,@/lib/supabase/admin,node:fs,node:path",
      "lines": 401,
      "logic_relevance": "primary",
      "name": "podcast-catalog",
      "normalized_name": "podcast-catalog",
      "package_manager": "pnpm",
      "path": "lib/podcast-catalog.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "525ab71781d8eb54d1179e84",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Episode, FeedItem, NetworkGraph, NetworkNode, Podcast, PodcastFeed, Sentiment, Station | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "Episode,FeedItem,NetworkGraph,NetworkNode,Podcast,PodcastFeed,Sentiment,Station",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "67a7a7b14535a3c2",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d215ee9ea69023a1dc11331d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, getBotId, getRequestId, logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "LogContext,LogLevel,getBotId,getRequestId,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "596aeac60f9328a8",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "b7d5e4c2103172abc2eebe5b",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getSecureRandom | logic-score:60",
      "exports": "getSecureRandom",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d923a24f51f57e78",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "crypto-utils",
      "normalized_name": "crypto-utils",
      "package_manager": "pnpm",
      "path": "lib/crypto-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "982c61e6acace9a8c7826519",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PODCAST_CATEGORIES, PodcastCategory, UICategory, UI_CATEGORIES, detectCategory, getCategoryColor, getCategoryIcon | logic-score:85 | observability-score:55",
      "exports": "PODCAST_CATEGORIES,PodcastCategory,UICategory,UI_CATEGORIES,detectCategory,getCategoryColor,getCategoryIcon",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "646468e7c36ece56",
      "framework": "next-react",
      "imports": "",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "categories",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "lib/categories.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "045f87d796b75cc758c92ff8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Category, analyzeSentiment, categories, curatedPodcasts, generateSampleStations | imports:./categories, ./sentiment, ./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Category,analyzeSentiment,categories,curatedPodcasts,generateSampleStations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83852e4b52256fab",
      "framework": "next-react",
      "imports": "./categories,./sentiment,./types",
      "lines": 269,
      "logic_relevance": "primary",
      "name": "podcasts",
      "normalized_name": "podcasts",
      "package_manager": "pnpm",
      "path": "lib/podcasts.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d45218c1b2ce4bc1db1a45c4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DOCS_ENDPOINT, Fingerprint, TRACE_ENDPOINT, TraceEvent, generateFingerprint, generateRequestId, getCanvasHash, getSessionId | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DOCS_ENDPOINT,Fingerprint,TRACE_ENDPOINT,TraceEvent,generateFingerprint,generateRequestId,getCanvasHash,getSessionId,getStoredFingerprint,getWebGLRenderer,isBot,parseUserAgent,storeFingerprint",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f705f593e075093a",
      "framework": "next-react",
      "imports": "",
      "lines": 291,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "677f51bddd11e606a398a793",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Sentiment, SentimentResult, analyzeSentiment, detectSentiment, getSentimentColor, getSentimentGradient, getSentimentIcon | logic-score:85 | security-score:55",
      "exports": "Sentiment,SentimentResult,analyzeSentiment,detectSentiment,getSentimentColor,getSentimentGradient,getSentimentIcon",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f072cb29d8543d1",
      "framework": "next-react",
      "imports": "",
      "lines": 139,
      "logic_relevance": "primary",
      "name": "sentiment",
      "normalized_name": "sentiment",
      "package_manager": "pnpm",
      "path": "lib/sentiment.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,observability",
      "component_id": "40c85bfa675cdc97f8696303",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformErrorBody, fail, legacySuccess, ok | imports:next/server | logic-score:85 | observability-score:55",
      "exports": "PlatformErrorBody,fail,legacySuccess,ok",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5bde2c903d298ae9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "27dc0640a915a7b6334ee370",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL, buildOpenApiSpec, buildTrustPolicy, protectedActions, publicRoutes | imports:@/lib/podcast/archive | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BASE_URL,buildOpenApiSpec,buildTrustPolicy,protectedActions,publicRoutes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c8c62177d63e94f5",
      "framework": "next-react",
      "imports": "@/lib/podcast/archive",
      "lines": 282,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/platform/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration",
      "component_id": "ac0f511db5a3100c4aea8c8d",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureVercelRequestMetadata, hashSensitiveHeader | imports:node:crypto | automation-score:95 | logic-score:60 | integration-score:55",
      "exports": "captureVercelRequestMetadata,hashSensitiveHeader",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "666aab62ee687a87",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "lib/platform/vercel.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "0c5b7c3e1782327b2a97e84e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformTraceContext, buildPlatphormHeaders, createLocalSpan, getTraceContext | imports:node:crypto | logic-score:85 | observability-score:55 | uses-env",
      "exports": "PlatformTraceContext,buildPlatphormHeaders,createLocalSpan,getTraceContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bd987b28472f9938",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "c9af2dad0ea514927ad44530",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,node:crypto",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isPlatformAuthorized, readPlatformApiKey, requirePlatformApiKey | imports:./response, next/server, node:crypto | logic-score:85 | security-score:55 | uses-env",
      "exports": "isPlatformAuthorized,readPlatformApiKey,requirePlatformApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "124b24999b3b5312",
      "framework": "next-react",
      "imports": "./response,next/server,node:crypto",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,discovery",
      "component_id": "c84766e838161eed1067f279",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BLOCKED_HOSTNAMES, USER_AGENT | imports:./detect, ./discovery, ./parser, ./types | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "BLOCKED_HOSTNAMES,USER_AGENT",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "674c73518de6bf5e",
      "framework": "next-react",
      "imports": "./detect,./discovery,./parser,./types",
      "lines": 161,
      "logic_relevance": "primary",
      "name": "fetcher",
      "normalized_name": "fetcher",
      "package_manager": "pnpm",
      "path": "lib/rss/fetcher.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "b866c629d2e13d5e00b37106",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:detectFeedType | imports:./types, ./utils | logic-score:85 | discovery-score:55",
      "exports": "detectFeedType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a46f4fbc26df8889",
      "framework": "next-react",
      "imports": "./types,./utils",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "detect",
      "normalized_name": "detect",
      "package_manager": "pnpm",
      "path": "lib/rss/detect.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "813eeb460121ade48e774690",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:asArray, cleanText, createEpisodeId, dedupeStrings, formatDurationNumber, getNodeText, isExplicit, looksLikeTextList | logic-score:85 | discovery-score:55",
      "exports": "asArray,cleanText,createEpisodeId,dedupeStrings,formatDurationNumber,getNodeText,isExplicit,looksLikeTextList,normalizeDuration,normalizeListedUrl,normalizePublishedAt,parseOptionalInt,simpleHash",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83a2ff018d42cd6a",
      "framework": "next-react",
      "imports": "",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/rss/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security,discovery",
      "component_id": "5515f7faa869007b2144858f",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "fast-xml-parser",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parseFeed | imports:../podcast-streams, ./detect, ./types, ./utils, fast-xml-parser | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "parseFeed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d577caa065130de8",
      "framework": "next-react",
      "imports": "../podcast-streams,./detect,./types,./utils,fast-xml-parser",
      "lines": 475,
      "logic_relevance": "primary",
      "name": "parser",
      "normalized_name": "parser",
      "package_manager": "pnpm",
      "path": "lib/rss/parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security,discovery",
      "component_id": "5bfb0f879d18cf0fdd5c8068",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeedType, FetchResult, ParsedEpisode, ParsedFeed, ParsedFeedLink | logic-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "FeedType,FetchResult,ParsedEpisode,ParsedFeed,ParsedFeedLink",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "48e4b2bafd0731bc",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/rss/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "533b5fe8768b142ff82ed65d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:discoverFeedUrlFromHtml, discoverFeedUrlsFromHtml | imports:../podcast-streams | logic-score:85 | discovery-score:55",
      "exports": "discoverFeedUrlFromHtml,discoverFeedUrlsFromHtml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ddd7e12bd37d172",
      "framework": "next-react",
      "imports": "../podcast-streams",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/rss/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "5f426dcecef9e53501538e68",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./detect, ./discovery, ./fetcher, ./parser, ./types, ./utils | logic-score:70 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfbd52aa15c44efd",
      "framework": "next-react",
      "imports": "./detect,./discovery,./fetcher,./parser,./types,./utils",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/rss/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "75fd4e55367a4840a9cced28",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:schemas | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "schemas",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eba53db6e9f3f723",
      "framework": "next-react",
      "imports": "",
      "lines": 261,
      "logic_relevance": "primary",
      "name": "schemas",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "lib/openapi/schemas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "741e71d9fb15445f16c3e27e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:openapiSpec | imports:./paths, ./schemas | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "openapiSpec",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "32a66cedd8999cfe",
      "framework": "next-react",
      "imports": "./paths,./schemas",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/openapi/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "d6f62cf52bc7f24a5b73b5b4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:paths | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "paths",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ab48e5f276347156",
      "framework": "next-react",
      "imports": "",
      "lines": 362,
      "logic_relevance": "primary",
      "name": "paths",
      "normalized_name": "paths",
      "package_manager": "pnpm",
      "path": "lib/openapi/paths.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "141a9738ccdf1c823d2b4720",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "lib/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "3f4decbfb49bc7221b263942",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createAdminClient | imports:@supabase/supabase-js | logic-score:60 | security-score:55 | uses-env",
      "exports": "createAdminClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dbcfb9a4935bbfae",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "pnpm",
      "path": "lib/supabase/admin.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "f2cf9b50e1e01d3590cd3dd7",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e8476d533df0153",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "36624556a869f4e8f9995697",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b0734bcf5d3fa64",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "36cc3a6743c6c547a285fe04",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../client, @supabase/ssr, vitest | logic-score:60 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "46dafebbb7edf2a4",
      "framework": "next-react",
      "imports": "../client,@supabase/ssr,vitest",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/__tests__/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,security,automation",
      "component_id": "dd309632c74cade05589bf27",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../sentiment, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "81a9d39a9772cc9e",
      "framework": "next-react",
      "imports": "../sentiment,vitest",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "sentiment.test",
      "normalized_name": "sentiment",
      "package_manager": "pnpm",
      "path": "lib/__tests__/sentiment.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "97e071853968245f4bc9d582",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,node:fs,node:path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/podcast-catalog, node:fs, node:path, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9648c09cbd3ffe54",
      "framework": "next-react",
      "imports": "@/lib/podcast-catalog,node:fs,node:path,vitest",
      "lines": 119,
      "logic_relevance": "primary",
      "name": "podcast-catalog.test",
      "normalized_name": "podcast-catalog",
      "package_manager": "pnpm",
      "path": "lib/__tests__/podcast-catalog.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "42842ce906add2829cdc1aa6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../categories, vitest | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dfb2aa2a9e0851ad",
      "framework": "next-react",
      "imports": "../categories,vitest",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "categories.test",
      "normalized_name": "categories",
      "package_manager": "pnpm",
      "path": "lib/__tests__/categories.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "a6276d23d4f670d84c014fbe",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../podcast-streams, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "51eddf5184c0a52a",
      "framework": "next-react",
      "imports": "../podcast-streams,vitest",
      "lines": 139,
      "logic_relevance": "primary",
      "name": "podcast-streams.test",
      "normalized_name": "podcast-streams",
      "package_manager": "pnpm",
      "path": "lib/__tests__/podcast-streams.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "5624eb8f086b04e09e77e132",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "96f5ed3d02a5bef5",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "generative-background.test",
      "normalized_name": "generative-background",
      "package_manager": "pnpm",
      "path": "lib/__tests__/generative-background.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security,ai",
      "component_id": "e551636902a3c9daa3eb28eb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../i18n, vitest | logic-score:60 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "698923fc50cdec3c",
      "framework": "next-react",
      "imports": "../i18n,vitest",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/__tests__/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "6970b5e29cba9a02db8c00e9",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "fast-xml-parser",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parseRssFeed | imports:./types, fast-xml-parser | logic-score:85 | discovery-score:55",
      "exports": "parseRssFeed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69fb6e2fb23d1450",
      "framework": "next-react",
      "imports": "./types,fast-xml-parser",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "parse-rss",
      "normalized_name": "parse-rss",
      "package_manager": "pnpm",
      "path": "lib/podcast/parse-rss.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "e09b6a0ef30a92cce13e3ac0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "node:dns,node:net",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BLOCKED_HOSTNAMES | imports:node:dns/promises, node:net | logic-score:85",
      "exports": "BLOCKED_HOSTNAMES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a348ae8e450b958c",
      "framework": "next-react",
      "imports": "node:dns/promises,node:net",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "url-policy",
      "normalized_name": "url-policy",
      "package_manager": "pnpm",
      "path": "lib/podcast/url-policy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c00b65783ecdc7db0314510b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ArchiveStats, EntryStatus, FeedEntry, FeedSource, FeedSourceOrigin, FeedSourceStatus, FeedSourceType, FeedSourceVisibility | imports:./fetch-feed, ./parse-feed-document, ./platform-resolver, @/lib/categories, @/lib/platform/trace, @/lib/platform/vercel, @/lib/podcasts, @/lib/supabase/admin | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ArchiveStats,EntryStatus,FeedEntry,FeedSource,FeedSourceOrigin,FeedSourceStatus,FeedSourceType,FeedSourceVisibility,FeedSyncResult,PodcastEpisode,buildEntryRowsForPersistence,entryIdForIdentity,getArchiveMode,hasArchiveDatabase,parseOpmlFeedUrls,slugify,sourceIdForFeed,stableHash",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f274918b794a968",
      "framework": "next-react",
      "imports": "./fetch-feed,./parse-feed-document,./platform-resolver,@/lib/categories,@/lib/platform/trace,@/lib/platform/vercel,@/lib/podcasts,@/lib/supabase/admin,node:crypto",
      "lines": 1181,
      "logic_relevance": "primary",
      "name": "archive",
      "normalized_name": "archive",
      "package_manager": "pnpm",
      "path": "lib/podcast/archive.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability",
      "component_id": "f8e689489693622d6a5df29b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./detect-format, ./fetch-feed, ./parse-rss, ./types | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "90f0a66efb02e7d8",
      "framework": "next-react",
      "imports": "./detect-format,./fetch-feed,./parse-rss,./types",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "validate",
      "normalized_name": "validate",
      "package_manager": "pnpm",
      "path": "lib/podcast/validate.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,discovery",
      "component_id": "6d37fbf0af8bde71682ddf77",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FetchFeedResult | imports:./url-policy | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "FetchFeedResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0f77e0334780acb9",
      "framework": "next-react",
      "imports": "./url-policy",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "fetch-feed",
      "normalized_name": "fetch-feed",
      "package_manager": "pnpm",
      "path": "lib/podcast/fetch-feed.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1b51d63677a6db2774729181",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanonicalPodcastEpisode, CanonicalPodcastSource, FeedFormat, FeedSubmissionInput, FeedValidationIssue, FeedValidationResult, FeedValidationSeverity, ParsedEpisode | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "CanonicalPodcastEpisode,CanonicalPodcastSource,FeedFormat,FeedSubmissionInput,FeedValidationIssue,FeedValidationResult,FeedValidationSeverity,ParsedEpisode,ParsedFeed,PodcastSourceStatus",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e7ebf0d8f2da68a",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/podcast/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "661867a7b482e43061ce9458",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AttributionRole, ResolvedFeedInput, ResolvedPlatformEpisode, ResolvedPodcastInput, SourceAttribution, extractPlatformEpisodeFromHtml | imports:./feed-url, ./fetch-feed, @/lib/podcast-ingest, @/lib/podcast-streams, @/lib/rss, @/lib/spotify | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "AttributionRole,ResolvedFeedInput,ResolvedPlatformEpisode,ResolvedPodcastInput,SourceAttribution,extractPlatformEpisodeFromHtml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bf29d80c74ffa0f5",
      "framework": "next-react",
      "imports": "./feed-url,./fetch-feed,@/lib/podcast-ingest,@/lib/podcast-streams,@/lib/rss,@/lib/spotify",
      "lines": 431,
      "logic_relevance": "primary",
      "name": "platform-resolver",
      "normalized_name": "platform-resolver",
      "package_manager": "pnpm",
      "path": "lib/podcast/platform-resolver.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "5bf1be57f02f86d10cb094b2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:detectFeedFormat | imports:./types | logic-score:85",
      "exports": "detectFeedFormat",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "74bdf886cd9aa2e1",
      "framework": "next-react",
      "imports": "./types",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "detect-format",
      "normalized_name": "detect-format",
      "package_manager": "pnpm",
      "path": "lib/podcast/detect-format.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic,security",
      "component_id": "87088c9ac0558ea5b21af04e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fingerprintEpisode | imports:./types, node:crypto | logic-score:85 | security-score:55",
      "exports": "fingerprintEpisode",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e546b1512211299c",
      "framework": "next-react",
      "imports": "./types,node:crypto",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "dedupe",
      "normalized_name": "dedupe",
      "package_manager": "pnpm",
      "path": "lib/podcast/dedupe.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security,discovery",
      "component_id": "663d98fed6799cb05d2be32a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isLikelyFeedUrl | logic-score:85 | security-score:55 | discovery-score:55",
      "exports": "isLikelyFeedUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c75a64365fe28e51",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "feed-url",
      "normalized_name": "feed-url",
      "package_manager": "pnpm",
      "path": "lib/podcast/feed-url.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security,discovery",
      "component_id": "7e99bf8674dc39c3b7d29e4a",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "@/lib,fast-xml-parser,node:crypto",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParsedFeedDocument, ParsedFeedDocumentEntry, parseFeedDocument | imports:@/lib/podcast-streams, @/lib/rss, fast-xml-parser, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "ParsedFeedDocument,ParsedFeedDocumentEntry,parseFeedDocument",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "812b15f0d32b7b98",
      "framework": "next-react",
      "imports": "@/lib/podcast-streams,@/lib/rss,fast-xml-parser,node:crypto",
      "lines": 405,
      "logic_relevance": "primary",
      "name": "parse-feed-document",
      "normalized_name": "parse-feed-document",
      "package_manager": "pnpm",
      "path": "lib/podcast/parse-feed-document.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-podcasts",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "5b9f2c9fb138da97719f6a6f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21d56a43b2e27bd2",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a11e800c44e3a1b68502e3df",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62cefc0593cc0a5f",
      "framework": "next-react",
      "imports": "",
      "lines": 6151,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "887cdcd46fbc6d47c85cad3e",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55 | observability-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "930b44f9c663893c",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "d29da42d2c7c8d0cd5d31039",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ae66fd8d4671cffa",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "SETUP_INSTRUCTIONS",
      "normalized_name": "setup-instructions",
      "package_manager": "pnpm",
      "path": "SETUP_INSTRUCTIONS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "cb84f7f7cb07942b49a22c2e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "fs",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:FECForm2 | imports:fs | security-score:55",
      "exports": "FECForm2",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec42673c0f631a64",
      "framework": "next-react",
      "imports": "fs",
      "lines": 42,
      "logic_relevance": "none",
      "name": "patch",
      "normalized_name": "patch",
      "package_manager": "pnpm",
      "path": "patch.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a84ff959640273df5454222b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a94ff700fc239691",
      "framework": "next-react",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "2a44fbb80e956bec32ec9419",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d3b5f630cbf86d06",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a9bd65bad0bdeb4a00cfb3fe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "379595a37ee964d2",
      "framework": "next-react",
      "imports": "",
      "lines": 10094,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1404889ac52bf04c184cd605",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "56d15e49f15d92fc",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "63e02b010b9a28be09bc94f9",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/footer, @/components/ui/sonner, @vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14b24f37ec9b2db2",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/ui/sonner,@vercel/analytics/next,next,next/font/google,react",
      "lines": 107,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a25de4aea83c5dd72f9a83b1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "582e0fb70345644b",
      "framework": "next-react",
      "imports": "@/components/header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 305,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ec564b859332075f2201256a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7c294e4ad5f20383",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "13999411bb8f62efc6b4da18",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewFormPage | imports:@/components/fec-form-2, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewFormPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b028204efaf04c6d",
      "framework": "next-react",
      "imports": "@/components/fec-form-2,@/lib/supabase/server,next/navigation",
      "lines": 17,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/form/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3859ffdc5d335544454436b2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FormDetailPage | imports:@/components/form-detail, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FormDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "861d93d83e82f1e8",
      "framework": "next-react",
      "imports": "@/components/form-detail,@/lib/supabase/server,next/navigation",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/form/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "190f500185cb31f9ea055ca0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc8e540ea34334ee",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6e9955b370813b5f38f9a056",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4bcd3c9c1f4fc0f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,next/link",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "4561a9d10c0f6d739b906c8d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/navigation | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c6b787b16977b14",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/navigation",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/signout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bfb7843fc605aea112531a0d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8224a04af7d05ece",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "6546804fcbb9a88a3919d821",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/header, @/components/ui/accordion, @/components/ui/breadcrumb | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76e9ee759388668b",
      "framework": "next-react",
      "imports": "@/components/header,@/components/ui/accordion,@/components/ui/breadcrumb",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "00db67058eee09e08a2f5bae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage, Icon | imports:@/components/onboarding-wizard, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardPage,Icon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae5250793610fd52",
      "framework": "next-react",
      "imports": "@/components/onboarding-wizard,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation,react",
      "lines": 271,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security",
      "component_id": "d98928167d28a1a729d41fb9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c158b6712c157cd9",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/complete-onboarding/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "f02f7c464a28008abb3a5732",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9d1165f292dc491",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "0f423edb9dc790d355f9c4a0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f4bb2b15bb75433",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "eed5bcbdbd636fbbfea07d60",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f4bb2b15bb75433",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "e9aa017ea03058a4b96b490c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3326fca8618ea621",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/well-known/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "0688c86c882656e9e6e4eccc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FEC_ADDRESS, POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "FEC_ADDRESS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c588581f828c4aad",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/send-mail/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "568af7e383d7ae612aaf3b80",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/blob,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/pdf-generator, @/lib/supabase/server, @vercel/blob, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4594990bec0f4bfb",
      "framework": "next-react",
      "imports": "@/lib/pdf-generator,@/lib/supabase/server,@vercel/blob,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/generate-pdf/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b8d7b86c338034b052d520b4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9afe97d01e8fb8b",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/save-form/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,ai",
      "component_id": "1d7bd0299aafa8029b2cc6d1",
      "component_kind": "mcp",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "353250b81915770f",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": ".well-known/mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "aeae7b644888ffd4594eef07",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:../../app/page, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c6299cb8c0363605",
      "framework": "next-react",
      "imports": "../../app/page,@testing-library/react,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "tests/ui/page.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4a3aa24b33204d91d8c9849e",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:../../components/ui/button, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c58fdcf2861e0125",
      "framework": "next-react",
      "imports": "../../components/ui/button,@testing-library/react,vitest",
      "lines": 11,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "tests/components/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "40e66a70bbac63429058b68d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "d1ce92d54083c1dcbab89eab",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "205e691f774b41ddb6872100",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FECForm2 | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/tooltip, @/lib/supabase/client | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FECForm2",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f685da32389c66b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tooltip,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 576,
      "logic_relevance": "none",
      "name": "fec-form-2",
      "normalized_name": "fec-form-2",
      "package_manager": "pnpm",
      "path": "components/fec-form-2.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9f715f0408f33dd13e924b05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FormDetail | imports:@/components/env-setup-banner, @/components/fec-tracking, @/components/social-share, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "FormDetail",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f84cba19efb24176",
      "framework": "next-react",
      "imports": "@/components/env-setup-banner,@/components/fec-tracking,@/components/social-share,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation,react",
      "lines": 300,
      "logic_relevance": "none",
      "name": "form-detail",
      "normalized_name": "form-detail",
      "package_manager": "pnpm",
      "path": "components/form-detail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "4d8f79376d6effff45a1a099",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df647d1ca9f54a13",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 24,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "80f01c86f47e167c7461adba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialShare | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "SocialShare",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29de4578c43ab05a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,react,sonner",
      "lines": 136,
      "logic_relevance": "none",
      "name": "social-share",
      "normalized_name": "social-share",
      "package_manager": "pnpm",
      "path": "components/social-share.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "947d6e4f89eb144d3045e9ae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6866b1b2b7b2f98b",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 24,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "73674858d8c3f63a50cd5717",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnvSetupBanner | imports:@/components/ui/alert, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EnvSetupBanner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "977a7476b41f7575",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "env-setup-banner",
      "normalized_name": "env-setup-banner",
      "package_manager": "pnpm",
      "path": "components/env-setup-banner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "a7728d4a015c786a8e2d1170",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FECTracking | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FECTracking",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5abe7674028efd3c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,lucide-react,react",
      "lines": 289,
      "logic_relevance": "none",
      "name": "fec-tracking",
      "normalized_name": "fec-tracking",
      "package_manager": "pnpm",
      "path": "components/fec-tracking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "d510f7df5deb0a353350f614",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingWizard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, lucide-react, next/navigation, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "OnboardingWizard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98a4e8ac459c58b4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 307,
      "logic_relevance": "none",
      "name": "onboarding-wizard",
      "normalized_name": "onboarding-wizard",
      "package_manager": "pnpm",
      "path": "components/onboarding-wizard.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "73aa8344f765019ba2339fc6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f833229bd9e6aea90644c074",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b56026cdd7f60fb7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "615df0610da656cdc32843a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,react,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, react, sonner | ui-score:140 | frontend-score:115",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e78b9b20bfe8d1b4",
      "framework": "next-react",
      "imports": "next-themes,react,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fd25d5d335106f2f3968a486",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,radix-ui,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, lucide-react, radix-ui, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a4f153089ba886df",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,radix-ui,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ca8f722e7fe78a29b1cda1ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "34200a581bea7982a5f9db3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bddd0ffd18d9c513",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fc952850276c8c5bf1217484",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,radix-ui,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, lucide-react, radix-ui, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d4c0831bba2212e7",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,radix-ui,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "81e6580eeb81a32d31d3119f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ba84b7c4e017f18f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d4c4b6d715e1808dc1e044c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a8506d7c043fb70f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5228adeabcb43713f620736c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9d8c5f803330c03cd3f2d94c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b318f50523a9eb2059110a3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c79e1748f93d613f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e7685ff0fbf1607a86bcd794",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "010f238b2b037a2beb9b074c",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@/lib,react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "434f3199f6d5879d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 8,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery",
      "component_id": "58ec99bb23b4368537807cb6",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "557215f96c9a81d2",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "e71efab2eac22adc9b52a03d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fa5e620f16c8241b",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "bb520cc0c0d5a075f387502b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3d761b13ed833120",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "681942037cfb76d6c88dc864",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "84dbd74ef92c920b",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "0c536654c867b6ac97a376c5",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "4343fd3f628e5b39",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "92f526e0fd82fd6dfadb37d3",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bbe687e8678578fa",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 56,
      "logic_relevance": "none",
      "name": "create-test-user",
      "normalized_name": "create-test-user",
      "package_manager": "pnpm",
      "path": "scripts/create-test-user.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "c718b7aa18a5ccfd15e37dfa",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "d8166dd8932ed8801e7507f8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "jspdf",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:jspdf | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "53794ea12e7a13b5",
      "framework": "next-react",
      "imports": "jspdf",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "pdf-generator",
      "normalized_name": "pdf-generator",
      "package_manager": "pnpm",
      "path": "lib/pdf-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "a2f7694887efc6343098d75d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "96ea0430e05315be",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "05f583e0918bab494cdc17db",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5643941971cbf30",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "8607bd51fe502a93cf012aae",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1cc927ab9947365c",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-politics",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,observability,security",
      "component_id": "d54a02f8a17d5a807d09541d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d2106fc9886ccf00",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5fe062c3e3d6019ef2c720fe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63f1866a97af076b",
      "framework": "next-react",
      "imports": "",
      "lines": 7629,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "efc7893987b8c3ebb73fc46e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrinciplesSection | imports:@/components/cursor-effect, @/components/glass-card, @/components/scroll-reveal, @/components/ui/button, @/components/ui/card, framer-motion, lucide-react, next/link | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PrinciplesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e65bcfdf78e6a85d",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/scroll-reveal,@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,next/link,react",
      "lines": 253,
      "logic_relevance": "none",
      "name": "principles-section",
      "normalized_name": "principles-section",
      "package_manager": "pnpm",
      "path": "principles-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "52eb01a0fc3ca2c4fb090611",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f29f54eba64a18b7",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "PRINCIPLES",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "PRINCIPLES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "1ae645a7bf2bc5fb48031d16",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "10877a13d0c26618",
      "framework": "next-react",
      "imports": "",
      "lines": 354,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "115c36e963a51884d5004dcf",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "5f2b4554a95a2f5f1cca0452",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7ddcf933d83498a9",
      "framework": "next-react",
      "imports": "",
      "lines": 486,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "b9b33d7c6b6319510e86959c",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e6f1838de66efeba",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e705d4d824a6d394e822382a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "be7c5c6908618094238710d1",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib,crypto,fs,next,path",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/markdown, @/lib/seo-generator, crypto, fs, next/server, path | process-score:100 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3f4e777f8b51e82",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/markdown,@/lib/seo-generator,crypto,fs,next/server,path",
      "lines": 1293,
      "logic_relevance": "none",
      "name": "anoms-do-not-delete",
      "normalized_name": "anoms-do-not-delete",
      "package_manager": "pnpm",
      "path": "anoms-do-not-delete.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f668a6feb81d451f2dccb9b7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "008a69f55256e022",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "fbc5eb0775435318bf6ad495",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8f4368fc595f1ed",
      "framework": "next-react",
      "imports": "next",
      "lines": 51,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "604f8039943c1e5d3ecee40a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5e5ea6b330bbf47d",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "FINAL_SUITE_V1",
      "normalized_name": "final-suite-v1",
      "package_manager": "pnpm",
      "path": "FINAL_SUITE_V1.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "27f8791835394f990a6ae95c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "333ad9b7601a7c24",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ae34205c4d1685c8034c7303",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2581d8e4699f1e29",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "0f5653fecdfcaadca512a233",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "247abe297ec52eef",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0e3feec467a52dc4e9378420",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3d5b999fd6e77ca2",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "run_tests",
      "normalized_name": "run-tests",
      "package_manager": "pnpm",
      "path": "run_tests.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "66bedc653ee0c8f0b5a10b11",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b61807746ea5040e",
      "framework": "next-react",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "d93d63ba099f92e44ca3acd5",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:config, proxy | imports:@/lib/i18n, next/server | automation-score:45",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8367b7b11d8a4d84",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,observability,security,automation,ai",
      "component_id": "9875dfb0638baa0a611ab009",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@hookform/resolvers,@modelcontextprotocol/sdk,@neondatabase/serverless,@vercel/og,@vercel/toolbar,next,react-hook-form,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime, sql | imports:@hookform/resolvers/zod, @modelcontextprotocol/sdk/server/mcp.js, @modelcontextprotocol/sdk/server/web.js, @neondatabase/serverless, @vercel/og, @vercel/toolbar/next, next/og, react-hook-form | backend-score:105 | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime,sql",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "54372ab89172f994",
      "framework": "next-react",
      "imports": "@hookform/resolvers/zod,@modelcontextprotocol/sdk/server/mcp.js,@modelcontextprotocol/sdk/server/web.js,@neondatabase/serverless,@vercel/og,@vercel/toolbar/next,next/og,react-hook-form,zod",
      "lines": 488,
      "logic_relevance": "none",
      "name": "PACKAGES",
      "normalized_name": "packages",
      "package_manager": "pnpm",
      "path": "PACKAGES.md",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "83e6b06602af83f6a5f89c41",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2d1b3b804373dff4",
      "framework": "next-react",
      "imports": "",
      "lines": 275,
      "logic_relevance": "none",
      "name": "FEATURES",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "FEATURES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c19d828cefba2475fc9db7d3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "3635aed52e150219fd0364e3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vite-tsconfig-paths,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:vite-tsconfig-paths, vitest/config | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dfe64a8967728b90",
      "framework": "next-react",
      "imports": "vite-tsconfig-paths,vitest/config",
      "lines": 40,
      "logic_relevance": "none",
      "name": "vitest.config",
      "normalized_name": "vitest-config",
      "package_manager": "pnpm",
      "path": "vitest.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4e67a60040489f186ddf4b1a",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesSection | imports:@/components/cursor-effect, @/components/glass-card, @/components/scroll-reveal, @/components/ui/badge, @/components/ui/button, @/components/ui/card, framer-motion, lucide-react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ResourcesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92bef57c2fe13ae2",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/scroll-reveal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,next/link,react",
      "lines": 261,
      "logic_relevance": "none",
      "name": "resources-section",
      "normalized_name": "resources-section",
      "package_manager": "pnpm",
      "path": "resources-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "e38da18d1251989b1beaa755",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MethodologySection | imports:@/components/cursor-effect, @/components/glass-card, @/components/knowledge-graph, @/components/scroll-reveal, @/components/ui/button, framer-motion, lucide-react, next/link | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MethodologySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94a6e4ef726ee287",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/knowledge-graph,@/components/scroll-reveal,@/components/ui/button,framer-motion,lucide-react,next/link,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "methodology-section",
      "normalized_name": "methodology-section",
      "package_manager": "pnpm",
      "path": "methodology-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "97318524cc2bf576220bdc3f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bdcceb82e32edf6c",
      "framework": "next-react",
      "imports": "",
      "lines": 274,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_PLAN",
      "normalized_name": "implementation-plan",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "7e54ba78610bae2a9da650eb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "064527a6e4aa28cb",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "0d83a8286a1f5fc1054f8e7a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/site-header, @/lib/utils, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google, next/script, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecffd13792673308",
      "framework": "next-react",
      "imports": "@/components/site-header,@/lib/utils,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,next/script,react",
      "lines": 187,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "47c0ab7433acbb65d4d8536a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/copy-button, @/components/language-switcher, @/components/recent-markets, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/network, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03e36b29b3559c83",
      "framework": "next-react",
      "imports": "@/components/copy-button,@/components/language-switcher,@/components/recent-markets,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/network,@/lib/utils,lucide-react,next/link,next/script,react",
      "lines": 490,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6db28871a19b92fe816d7042",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f3634e68b3971816",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "12cedeced669dd099ba5fbe5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule | model-provider",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f6814150a0da4400",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 163,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3e41293b3e3defc6da2301f7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:../api/feed/rss/route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "27cfababe0686eee",
      "framework": "next-react",
      "imports": "../api/feed/rss/route",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d5a1527796165effa3bd8e8c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:../api/feed/xml/route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "179205828ef1e4d5",
      "framework": "next-react",
      "imports": "../api/feed/xml/route",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e1468ff3e52a727e701102af",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, LocaleLayout | imports:@/lib/i18n, next, next/navigation, react | frontend-score:115 | ui-score:70 | uses-env | metadata",
      "exports": "BASE_URL,LocaleLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b08b507ef9b6595f",
      "framework": "next-react",
      "imports": "@/lib/i18n,next,next/navigation,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "e3d66659a5bf7b1c0e9d9278",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, LocaleHomePage | imports:@/components/copy-button, @/components/language-switcher, @/components/recent-markets, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/i18n, @/lib/network | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "BASE_URL,LocaleHomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3082393286d3c23d",
      "framework": "next-react",
      "imports": "@/components/copy-button,@/components/language-switcher,@/components/recent-markets,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/i18n,@/lib/network,@/lib/utils,lucide-react,next/link,next/navigation,next/script,react",
      "lines": 510,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "9565fa4241d8f94bda13794d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/market-table, @/lib/market-service | frontend-score:85 | ui-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32979347d6caad1a",
      "framework": "next-react",
      "imports": "@/components/market-table,@/lib/market-service",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/quality/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation,ai",
      "component_id": "c7448bd29fd2117004150899",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0b0c119cd2925f06",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend",
      "component_id": "ce6732beddc0a0d2638d3209",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8ff7be2cf260e80e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "c8acb1e24ebb8bd00a5d55e0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee68fa02bfae1f16",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "5a9d41918c5c25685cbb1657",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/discovery-docs, @/lib/platform | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c28a1bb975b1ad0",
      "framework": "next-react",
      "imports": "@/lib/discovery-docs,@/lib/platform",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "8917504df242caa03e26040d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "18b9f6e596a07acb",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "e849f0346f39022700267fe9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:../trust.json/route | backend-score:125 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "150b86c4ee9ebff1",
      "framework": "next-react",
      "imports": "../trust.json/route",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "743ba375bfbb2c860124c482",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2ef7ea169740def7",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "122811b0459c32c9c1ebd82a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/platform | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3ff607b4ff0569a6",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "a46eebf9f8bc715365e18510",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fd57790c6c39a4ea",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/feeds.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "85c65a59b0018fc88709df89",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/discovery-docs, @/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f777d086978037e2",
      "framework": "next-react",
      "imports": "@/lib/discovery-docs,@/lib/platform",
      "lines": 70,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "ff38ba6473a70c5e8bcaac58",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/market-table, @/lib/market-service | frontend-score:85 | ui-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1850a16afe050311",
      "framework": "next-react",
      "imports": "@/components/market-table,@/lib/market-service",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signals/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "f067626676994b46049e12b0",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8235d5d71d73956d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend",
      "component_id": "809450661b14371d658a24b8",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "26e919f9c45142be",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/xml/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,discovery,automation,ai",
      "component_id": "24861d4c382c64af4f081c98",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeedsPage | imports:@/components/copy-button, @/components/ui/card, @/lib/platform | frontend-score:85 | ui-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "FeedsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d68e89e7587f10f0",
      "framework": "next-react",
      "imports": "@/components/copy-button,@/components/ui/card,@/lib/platform",
      "lines": 64,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/feeds/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "61dfa7adb2e249ce61f165c4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/discovery-docs, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57039b8d8c37b069",
      "framework": "next-react",
      "imports": "@/lib/discovery-docs,@/lib/platform",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "776e4cac1994d3850ca59d33",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:../api/feed/atom/route | backend-score:125 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bdd7b9d1f88a81df",
      "framework": "next-react",
      "imports": "../api/feed/atom/route",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend",
      "component_id": "fa300f720802332668c16bcc",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4cc5f839a15cd6dc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/json/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "8a3b7dcd1ad064fd84be0b4c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/market-table, @/components/ui/button, @/lib/market-service, next/link | frontend-score:115 | ui-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "931bbf9eb31f1432",
      "framework": "next-react",
      "imports": "@/components/market-table,@/components/ui/button,@/lib/market-service,next/link",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/markets/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "90e0bddf6e454927b4edc46a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:revalidate | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/market-service, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "927bda7249913ac2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/market-service,next/link",
      "lines": 96,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/markets/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "2088fd19bf8dbb7508fe674e",
      "component_kind": "frontend-feature",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET | imports:next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "58b95292f280f9b4",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c0adf749a11c9acac23e246f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/platform | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6e9ed613ba7bb6aa",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "244eaf7b39746493de9078bc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8c57d3bd14cf32c2",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/source-status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f11808a1896bf3406250a071",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cad10eabff66ea8a",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quality/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f365cbcd7e0d6038ab49872a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:../../health/route | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ed72a8fc046c2a0",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "469910a05217e125e9003402",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7d6467da5b62077e",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/signals/live/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "35ed7f072c16b33a7110e92e",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/network-discovery, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "378fbacf3e6529ae",
      "framework": "next-react",
      "imports": "@/lib/network-discovery,@/lib/platform",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "95d54908ed403741ba658e4e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/network-discovery, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5a59ac7a26fb2064",
      "framework": "next-react",
      "imports": "@/lib/network-discovery,@/lib/platform",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "234913332fd848356e918337",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/network-discovery, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab397e500eca0c10",
      "framework": "next-react",
      "imports": "@/lib/network-discovery,@/lib/platform",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d76bf16b27ea3b4e6abada10",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d3ced3a280e3e1c6",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "a834fef99c8b69479f93256b",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/network-discovery, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "edf461e7b7dfb1d5",
      "framework": "next-react",
      "imports": "@/lib/network-discovery,@/lib/platform",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6c18471058d45b824c989e29",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab645bf1d0478ec5",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/markets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "dde99cd8082de8853c4dc9f3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2b541dc038c5ace3",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/markets/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "80788658e703c98266fa4490",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "11b4bb73d64488ce",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/markets/[id]/related/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "afaf38f9a2a377e839bf3528",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4694e6b05f716b21",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/markets/[id]/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "fe74aa83a57b1da272dfc725",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e17bc87721867960",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/markets/[id]/orderbook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c1c51cbe826e9a92e02414e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a6721abc9919571c",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trending/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a78169b6cf2618d4675ab5fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a69719a3b43afe47",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b32d42834a771cb519ddd853",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/lib/market-service, @/lib/platform, @/lib/trace | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "05978297dd3c3170",
      "framework": "next-react",
      "imports": "@/lib/market-service,@/lib/platform,@/lib/trace",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/markets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e42fd5ca1507db01d1fc44b6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/platform, @/lib/polymarket-api, @/lib/trace | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53eb7ce3461c2534",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/polymarket-api,@/lib/trace",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "b260cb30f41a6a116b8074dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/logger, @/lib/market-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a21dba46f7e48fd5",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/market-service,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/quality/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "8c79e4917ef8b8f98e2ca77d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "156b3cd3c7320b5c",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/trace,next/server",
      "lines": 107,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "928bd255612fd5c415eea4f1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/logger, @/lib/market-service, @/lib/market-signals, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "163d48068cf75efd",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/market-service,@/lib/market-signals,next/server",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/signals/live/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1f637269ec5c4ee28a650fbc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/network, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "163f787b598be05d",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,ai",
      "component_id": "5d12cfc6edc326ae8af39732",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/discovery-docs, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6e95031b776f3da9",
      "framework": "next-react",
      "imports": "@/lib/discovery-docs,@/lib/platform,next/server",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "731a7f44c355441d8ada9145",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,next,node:fs,node:path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration, runtime | imports:@/app/api/docs/route, @/lib/db, @/lib/discovery-docs, @/lib/market-service, @/lib/mcp-logger, @/lib/platform, @/lib/trace, @/lib/utils | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "maxDuration,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a04d308171eb4781",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,@/lib/db,@/lib/discovery-docs,@/lib/market-service,@/lib/mcp-logger,@/lib/platform,@/lib/trace,@/lib/utils,next/server,node:fs/promises,node:path",
      "lines": 496,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery",
      "component_id": "ff869e72fedbabfc93ac0b48",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PUBLIC_DOCS, runtime | imports:@/lib/network, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "PUBLIC_DOCS,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "26884a945b46fe88",
      "framework": "next-react",
      "imports": "@/lib/network,next/server",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery",
      "component_id": "bf109524463d0ca42a67c8ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,node:fs,node:path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:../route, next/server, node:fs/promises, node:path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "75f35d57e66adcec",
      "framework": "next-react",
      "imports": "../route,next/server,node:fs/promises,node:path",
      "lines": 228,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/[doc]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "cbc3e205ed0e00ec702293cf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/logger, @/lib/market-service, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec0e3b688a85c488",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/market-service,@/lib/trace,next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/markets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "4acb117986fa80a93f2eb8b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/clob-api, @/lib/db, @/lib/logger, @/lib/polymarket-api, @/lib/rss-generator, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fabfe89191eb7d30",
      "framework": "next-react",
      "imports": "@/lib/clob-api,@/lib/db,@/lib/logger,@/lib/polymarket-api,@/lib/rss-generator,@/lib/utils,next/server",
      "lines": 302,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/feed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "1f66802769daa9d545603722",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/atom-generator, @/lib/clob-api, @/lib/db, @/lib/logger, @/lib/polymarket-api, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0fbee448f3f8a228",
      "framework": "next-react",
      "imports": "@/lib/atom-generator,@/lib/clob-api,@/lib/db,@/lib/logger,@/lib/polymarket-api,@/lib/utils,next/server",
      "lines": 156,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/feed/atom/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d3629b347489632a8ef8d678",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:../route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5725490485ff4f1d",
      "framework": "next-react",
      "imports": "../route",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/feed/rss/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "cf4d13ce1564d04241bd0d10",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:../route | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5725490485ff4f1d",
      "framework": "next-react",
      "imports": "../route",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/feed/xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "a9f28ae0929cac8487f8951b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/clob-api, @/lib/db, @/lib/logger, @/lib/market-signals, @/lib/polymarket-api, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "05caaf6d900a6572",
      "framework": "next-react",
      "imports": "@/lib/clob-api,@/lib/db,@/lib/logger,@/lib/market-signals,@/lib/polymarket-api,@/lib/utils,next/server",
      "lines": 277,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/feed/json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a43862996ac46cee957bcb59",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/logger, @/lib/market-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbbbb3d3911a35c7",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/market-service,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/trending/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d0133f603b8225b606371535",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/logger, @/lib/platform, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8bb63ae0d4681a1e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,@/lib/utils,next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/errors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability",
      "component_id": "e20c56b5c84b3c921235c421",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b143473e1292f6ad",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 155,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "db45bbcf8c4c79eb8d6450d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/logger, @/lib/polymarket-api, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e19bcbf8d5b5a7b6",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/polymarket-api,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "20a8e8f68445e2bfb9c812a2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/cache, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b1cca2e9937ceea",
      "framework": "next-react",
      "imports": "@/lib/cache,@/lib/logger,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "c41457927c652c0371c62d01",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/logger, @/lib/market-service, @/lib/platform, @/lib/trace, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d442f392c77265c1",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/market-service,@/lib/platform,@/lib/trace,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/sync-markets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "64e8a583afb51bd28ac1b0e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/logger, @/lib/platform, @/lib/utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7031b96979415437",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,@/lib/utils,next/server",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "80b40536209f08730f057b30",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/market-table, @/lib/market-service | frontend-score:85 | ui-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59434dada95f4085",
      "framework": "next-react",
      "imports": "@/components/market-table,@/lib/market-service",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/trending/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery",
      "component_id": "18681a6097b31eaabff9c2e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0dbfb9312ce3905d",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 106,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "389ed2a0d59d2a412ea888d3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/discovery-docs | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82536a735efcac3f",
      "framework": "next-react",
      "imports": "@/lib/discovery-docs",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery,automation",
      "component_id": "18ad00395393e7ece9563f42",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env | next-route-handler | cron-or-schedule | model-provider",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4774c7d7062a7d82",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "d5b2e5211f6ed7a319c41f11",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/discovery-docs | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dae19da75e7531be",
      "framework": "next-react",
      "imports": "@/lib/discovery-docs",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "a83f222a445c33aac4fa64bc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate, runtime | imports:@/lib/platform | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71afc0971c0f4c29",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "36c0ecb222a6195d590866b7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/ui/card, @/lib/polymarket-api, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14d8a585787424aa",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/polymarket-api,next/link",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "84c5a73ec225f63f775b5695",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/market-table, @/lib/market-service | frontend-score:85 | ui-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf6d84670a1b2a94",
      "framework": "next-react",
      "imports": "@/components/market-table,@/lib/market-service",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/[category]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "7c91c78ad2d9dac9e873a15c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/mcp/route, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da3e433549cc8f4e",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,vitest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "repro_nan.test",
      "normalized_name": "repro-nan",
      "package_manager": "pnpm",
      "path": "tests/repro_nan.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4838f3c869124329cf06b379",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/feed/route, ../lib/db, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3dc7f8aba4f1c96b",
      "framework": "next-react",
      "imports": "../app/api/feed/route,../lib/db,vitest",
      "lines": 66,
      "logic_relevance": "none",
      "name": "perf.test",
      "normalized_name": "perf",
      "package_manager": "pnpm",
      "path": "tests/perf.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "93ba4fbfef21efcd9279b80e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/db, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6cbd594d5f0ae21",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/db,vitest",
      "lines": 61,
      "logic_relevance": "none",
      "name": "verify_ip_spoofing_fix.test",
      "normalized_name": "verify-ip-spoofing-fix",
      "package_manager": "pnpm",
      "path": "tests/verify_ip_spoofing_fix.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "89be924bf01895cc0e5fdb25",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/mcp-logger, vitest | integration-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8262cacd6062a7bd",
      "framework": "next-react",
      "imports": "@/lib/mcp-logger,vitest",
      "lines": 65,
      "logic_relevance": "none",
      "name": "mcp-logger.test",
      "normalized_name": "mcp-logger",
      "package_manager": "pnpm",
      "path": "tests/unit/mcp-logger.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,automation",
      "component_id": "e9e00ae26d466a7f70695ee9",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4a875df5ef6e9d40",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 131,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/unit/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "f6b03ccc0df6fa43b05f5a7a",
      "component_kind": "feed",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/lib/atom-generator, @/lib/polymarket-api, @/lib/rss-generator, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb859b731320b2ab",
      "framework": "next-react",
      "imports": "@/lib/atom-generator,@/lib/polymarket-api,@/lib/rss-generator,vitest",
      "lines": 51,
      "logic_relevance": "none",
      "name": "feed-generators.test",
      "normalized_name": "feed-generators",
      "package_manager": "pnpm",
      "path": "tests/unit/feed-generators.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "c93736de77bf7f8fdacef182",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/cache, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0de663e59c63707d",
      "framework": "next-react",
      "imports": "@/lib/cache,vitest",
      "lines": 221,
      "logic_relevance": "none",
      "name": "cache.test",
      "normalized_name": "cache",
      "package_manager": "pnpm",
      "path": "tests/unit/cache.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "0ff0e4a9efa470821f6288e0",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/i18n, vitest | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68613fca43d33f1e",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 69,
      "logic_relevance": "none",
      "name": "locale-route.test",
      "normalized_name": "locale-route",
      "package_manager": "pnpm",
      "path": "tests/unit/locale-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4f103403ccbd16aa056aae08",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f22fe6d1fcbe046",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 385,
      "logic_relevance": "none",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "tests/unit/db.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability",
      "component_id": "3ead8b341be17eb37d406ca0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/network, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cb72a727e1077d2",
      "framework": "next-react",
      "imports": "@/lib/network,vitest",
      "lines": 202,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "tests/unit/network.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "db655eafd4846445aa5ec970",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/cache, @/lib/clob-api, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca4386e1e8d0da8f",
      "framework": "next-react",
      "imports": "@/lib/cache,@/lib/clob-api,vitest",
      "lines": 198,
      "logic_relevance": "none",
      "name": "clob-api.test",
      "normalized_name": "clob-api",
      "package_manager": "pnpm",
      "path": "tests/unit/clob-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "f083922cf449bb58f6ff3ee9",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:DEFAULT_OPTIONS, SAFE_FIXTURES | imports:../msw/fixtures, @/lib/atom-generator, vitest | security-score:55",
      "exports": "DEFAULT_OPTIONS,SAFE_FIXTURES",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b6dc9bf4d145234",
      "framework": "next-react",
      "imports": "../msw/fixtures,@/lib/atom-generator,vitest",
      "lines": 73,
      "logic_relevance": "none",
      "name": "atom-generator.test",
      "normalized_name": "atom-generator",
      "package_manager": "pnpm",
      "path": "tests/unit/atom-generator.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "88dcbe76fb353871a2153fdb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,msw,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../msw/fixtures, ../msw/server, @/lib/cache, @/lib/polymarket-api, msw, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6cff9b9581c2798",
      "framework": "next-react",
      "imports": "../msw/fixtures,../msw/server,@/lib/cache,@/lib/polymarket-api,msw,vitest",
      "lines": 289,
      "logic_relevance": "none",
      "name": "polymarket-api.test",
      "normalized_name": "polymarket-api",
      "package_manager": "pnpm",
      "path": "tests/unit/polymarket-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "0c893d2723873aaef2daa781",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/emoji, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5462b93f4cb8f7de",
      "framework": "next-react",
      "imports": "@/lib/emoji,vitest",
      "lines": 192,
      "logic_relevance": "none",
      "name": "emoji.test",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "tests/unit/emoji.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d6fbff6dd805a5ad31ecaf1a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:@/lib/i18n, vitest | observability-score:55 | security-score:55",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2571c8601cbc8ece",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 131,
      "logic_relevance": "none",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "tests/unit/i18n.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "a60ddc15d13e132c5123d173",
      "component_kind": "feed",
      "confidence": 80,
      "dependency_roots": "@/lib,vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "exports:DEFAULT_OPTIONS, SAFE_FIXTURES | imports:../msw/fixtures, @/lib/rss-generator, vitest | discovery-score:55",
      "exports": "DEFAULT_OPTIONS,SAFE_FIXTURES",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1618515e4a03277f",
      "framework": "next-react",
      "imports": "../msw/fixtures,@/lib/rss-generator,vitest",
      "lines": 81,
      "logic_relevance": "none",
      "name": "rss-generator.test",
      "normalized_name": "rss-generator",
      "package_manager": "pnpm",
      "path": "tests/unit/rss-generator.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "26f31d089d2e2ad3aed7f8be",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/logger, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0454a059ab01c01",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 188,
      "logic_relevance": "none",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "tests/unit/logger.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,discovery",
      "component_id": "2b59e7346a8bbab664e83d0a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/atom/route, @/app/feed/route, @/app/json/route, @/app/rss/route, @/app/xml/route, vitest | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "181017edfb3b0a04",
      "framework": "next-react",
      "imports": "@/app/atom/route,@/app/feed/route,@/app/json/route,@/app/rss/route,@/app/xml/route,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "feed-aliases.test",
      "normalized_name": "feed-aliases",
      "package_manager": "pnpm",
      "path": "tests/integration/feed-aliases.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "67224f3b3f94fcbda2c75bf7",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/.well-known/mcp.json/route, vitest | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64767e2b7f26e13a",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json/route,vitest",
      "lines": 137,
      "logic_relevance": "none",
      "name": "mcp-discovery.test",
      "normalized_name": "mcp-discovery",
      "package_manager": "pnpm",
      "path": "tests/integration/mcp-discovery.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "e814157786ea09a32a8f61a1",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../msw/fixtures, @/app/api/mcp/route, vitest | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "506168afa8239e78",
      "framework": "next-react",
      "imports": "../msw/fixtures,@/app/api/mcp/route,vitest",
      "lines": 78,
      "logic_relevance": "none",
      "name": "mcp-new-tools.test",
      "normalized_name": "mcp-new-tools",
      "package_manager": "pnpm",
      "path": "tests/integration/mcp-new-tools.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "2bb9e11f0d56c6cc73e9c174",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../msw/fixtures, @/app/api/mcp/route, vitest | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35fef2881aec6383",
      "framework": "next-react",
      "imports": "../msw/fixtures,@/app/api/mcp/route,vitest",
      "lines": 277,
      "logic_relevance": "none",
      "name": "mcp-tools.test",
      "normalized_name": "mcp-tools",
      "package_manager": "pnpm",
      "path": "tests/integration/mcp-tools.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d8ba86588616d79d024a88de",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/signals/live/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35f5233065470303",
      "framework": "next-react",
      "imports": "@/app/api/signals/live/route,vitest",
      "lines": 64,
      "logic_relevance": "none",
      "name": "signals-api.test",
      "normalized_name": "signals-api",
      "package_manager": "pnpm",
      "path": "tests/integration/signals-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "3d009ae6edd889bdef0554d3",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/api/cron/sync-markets/route, vitest | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "05af4a5f063397c9",
      "framework": "next-react",
      "imports": "@/app/api/cron/sync-markets/route,vitest",
      "lines": 201,
      "logic_relevance": "none",
      "name": "cron.test",
      "normalized_name": "cron",
      "package_manager": "pnpm",
      "path": "tests/integration/cron.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "8bef9e0225764c9c17566274",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../msw/fixtures, @/app/api/feed/atom/route, @/app/api/feed/json/route, @/app/api/feed/route, @/app/api/feed/rss/route, @/app/api/feed/xml/route, @/lib/clob-api, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c810a909e43b703d",
      "framework": "next-react",
      "imports": "../msw/fixtures,@/app/api/feed/atom/route,@/app/api/feed/json/route,@/app/api/feed/route,@/app/api/feed/rss/route,@/app/api/feed/xml/route,@/lib/clob-api,vitest",
      "lines": 342,
      "logic_relevance": "none",
      "name": "feed-routes.test",
      "normalized_name": "feed-routes",
      "package_manager": "pnpm",
      "path": "tests/integration/feed-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "224892d50816ed308cc10bf2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/analytics/route, @/app/api/categories/route, @/app/api/errors/route, @/app/api/health/route, @/app/api/markets/route, @/app/api/stats/route, @/lib/polymarket-api, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a72eaece7607673",
      "framework": "next-react",
      "imports": "@/app/api/analytics/route,@/app/api/categories/route,@/app/api/errors/route,@/app/api/health/route,@/app/api/markets/route,@/app/api/stats/route,@/lib/polymarket-api,vitest",
      "lines": 360,
      "logic_relevance": "none",
      "name": "rest-api.test",
      "normalized_name": "rest-api",
      "package_manager": "pnpm",
      "path": "tests/integration/rest-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "observability,security",
      "component_id": "11fe761dbcfed758687098eb",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,next,vitest",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/.well-known/security.txt/route, next/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c6a9ad855b7988e",
      "framework": "next-react",
      "imports": "@/app/.well-known/security.txt/route,next/server,vitest",
      "lines": 66,
      "logic_relevance": "none",
      "name": "security-txt.test",
      "normalized_name": "security-txt",
      "package_manager": "pnpm",
      "path": "tests/integration/security-txt.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "9c2daf88bd82b3f2950d9840",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/api/mcp/route, vitest | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b3f357c9a409247",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,vitest",
      "lines": 235,
      "logic_relevance": "none",
      "name": "mcp-protocol.test",
      "normalized_name": "mcp-protocol",
      "package_manager": "pnpm",
      "path": "tests/integration/mcp-protocol.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "9354aba064bde2cc4b036cb3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/network/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "457e1f622643a32e",
      "framework": "next-react",
      "imports": "@/app/api/network/route,vitest",
      "lines": 167,
      "logic_relevance": "none",
      "name": "network-api.test",
      "normalized_name": "network-api",
      "package_manager": "pnpm",
      "path": "tests/integration/network-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ab94a6c078a071f78af384ed",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/quality/route, @/app/api/trending/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "716b9d005d0945e1",
      "framework": "next-react",
      "imports": "@/app/api/quality/route,@/app/api/trending/route,vitest",
      "lines": 100,
      "logic_relevance": "none",
      "name": "trending-quality-api.test",
      "normalized_name": "trending-quality-api",
      "package_manager": "pnpm",
      "path": "tests/integration/trending-quality-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "7b72dd2dd18bc47fd9a1f795",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/feeds.json/route, @/app/api/discovery/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "139dcfdfdd5e56a9",
      "framework": "next-react",
      "imports": "@/app/.well-known/feeds.json/route,@/app/api/discovery/route,vitest",
      "lines": 30,
      "logic_relevance": "none",
      "name": "discovery-routes.test",
      "normalized_name": "discovery-routes",
      "package_manager": "pnpm",
      "path": "tests/integration/discovery-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,process",
      "component_id": "7177c250a4a02ec5e4dde2ca",
      "component_kind": "api-docs",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/[doc]/route, @/app/api/docs/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c8c55b52f6c7bb9",
      "framework": "next-react",
      "imports": "@/app/api/docs/[doc]/route,@/app/api/docs/route,vitest",
      "lines": 250,
      "logic_relevance": "none",
      "name": "docs-api.test",
      "normalized_name": "docs-api",
      "package_manager": "pnpm",
      "path": "tests/integration/docs-api.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d9c9372973540e7cac6b9277",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ALL_FIXTURES, BTC_MARKET, ETH_MARKET, FED_MARKET, SENATE_MARKET, WARRIORS_MARKET | imports:@/lib/polymarket-api | security-score:55",
      "exports": "ALL_FIXTURES,BTC_MARKET,ETH_MARKET,FED_MARKET,SENATE_MARKET,WARRIORS_MARKET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "195ac97b47caa3a7",
      "framework": "next-react",
      "imports": "@/lib/polymarket-api",
      "lines": 124,
      "logic_relevance": "none",
      "name": "fixtures",
      "normalized_name": "fixtures",
      "package_manager": "pnpm",
      "path": "tests/msw/fixtures.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "7858d72f7a36a8f95281feb8",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "msw",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handlers | imports:./fixtures, msw | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "handlers",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5dd0fb3042ce2382",
      "framework": "next-react",
      "imports": "./fixtures,msw",
      "lines": 64,
      "logic_relevance": "none",
      "name": "handlers",
      "normalized_name": "handlers",
      "package_manager": "pnpm",
      "path": "tests/msw/handlers.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "c39698eb46216eaf96c4e1fb",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "msw",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:server | imports:./handlers, msw/node | backend-score:55",
      "exports": "server",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ab8c6e694c22073",
      "framework": "next-react",
      "imports": "./handlers,msw/node",
      "lines": 8,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "tests/msw/server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a8255acd9e6c11b9dca05647",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GAMMA_URL, OUT_DIR, OUT_FILE | imports:fs, path | observability-score:55",
      "exports": "GAMMA_URL,OUT_DIR,OUT_FILE",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f9b82cc85a3bb39f",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 42,
      "logic_relevance": "none",
      "name": "seed",
      "normalized_name": "seed",
      "package_manager": "pnpm",
      "path": "tests/fixtures/seed.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "3891cf2e1df63297b3984e91",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "universal-schema",
      "normalized_name": "universal-schema",
      "package_manager": "pnpm",
      "path": "schemas/universal-schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "f54f1d06111e168324a60bd2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f41fc1211150c71",
      "framework": "next-react",
      "imports": "",
      "lines": 1195,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c9a70abed092cb888d96abbf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "529aaa6897c49a1a7026c692",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0d08c101a2e4828ead47e7c3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CopyButton | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CopyButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfa5de719dd497f0",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "copy-button",
      "normalized_name": "copy-button",
      "package_manager": "pnpm",
      "path": "components/copy-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2d233308c0f0c741e5658288",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqSection | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FaqSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "63275943b9e24e63",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "faq-section",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "components/faq-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ac990ee21c9ded2e2956a020",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/ui/badge, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32e45a5224bcd0d6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,next/link",
      "lines": 46,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "56c1275b52bb1458eedda374",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4f6431d87bb75ace",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 35,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "451fcf87ab95b95e55dd1516",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentMarkets | imports:@/components/ui/badge, @/components/ui/card, @/lib/polymarket-api, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RecentMarkets",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db301ad08e3663a1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/polymarket-api,lucide-react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "recent-markets",
      "normalized_name": "recent-markets",
      "package_manager": "pnpm",
      "path": "components/recent-markets.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "19ee1f3aa614e9e3bb6407ff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSwitcher | imports:@/lib/i18n, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "LanguageSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82d63edee63db11b",
      "framework": "next-react",
      "imports": "@/lib/i18n,lucide-react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "language-switcher",
      "normalized_name": "language-switcher",
      "package_manager": "pnpm",
      "path": "components/language-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "e1979d0babf96fb9fefca6a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketTable | imports:@/components/ui/badge, @/components/ui/card, @/lib/polymarket-api, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "MarketTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cc4723b17656966",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/polymarket-api,next/link",
      "lines": 77,
      "logic_relevance": "none",
      "name": "market-table",
      "normalized_name": "market-table",
      "package_manager": "pnpm",
      "path": "components/market-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "abd5643b8d3e272fd8459c3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "003813167980037f2a49705e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "98a79fb4253ee1e5265e0dc0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "99c1a997306d1b094802d08c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2f593142d998b1ba",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "fea1feecb8b881268fd51b66",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "Copy",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:Copy | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2d8ad8416041772f",
      "framework": "next-react",
      "imports": "Copy",
      "lines": 52,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "42dc7e6dd630dcbbfee0995a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "88ca6023c7e8eeac",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9d272645944b9f85d6125f5d",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DEFAULT_BASE_URL | imports:node:fs/promises, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "DEFAULT_BASE_URL",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "067f056e9797a7c2",
      "framework": "next-react",
      "imports": "node:fs/promises,node:path",
      "lines": 228,
      "logic_relevance": "none",
      "name": "live-smoke",
      "normalized_name": "live-smoke",
      "package_manager": "pnpm",
      "path": "scripts/live-smoke.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "85d7f4f63616f8181cdbceed",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "os",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:os | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule | model-provider",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ce8e866ac4320ebe",
      "framework": "next-react",
      "imports": "os",
      "lines": 252,
      "logic_relevance": "none",
      "name": "update-impl",
      "normalized_name": "update-impl",
      "package_manager": "pnpm",
      "path": "scripts/update-impl.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "f9b2e3651406c05fdf2cdf38",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@neondatabase/serverless, node:fs/promises, node:path | backend-score:90 | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "d8baa73cf7868fbd",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs/promises,node:path",
      "lines": 85,
      "logic_relevance": "none",
      "name": "apply-db-migrations",
      "normalized_name": "apply-db-migrations",
      "package_manager": "pnpm",
      "path": "scripts/apply-db-migrations.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security,ai",
      "component_id": "22bb3a48cd71b6653ece3f57",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BOLD, CYAN, GRAY, GREEN, RED, RESET | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "BOLD,CYAN,GRAY,GREEN,RED,RESET",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4e1774b105ce6ac",
      "framework": "next-react",
      "imports": "",
      "lines": 334,
      "logic_relevance": "none",
      "name": "test-mcp-env",
      "normalized_name": "test-mcp-env",
      "package_manager": "pnpm",
      "path": "scripts/test-mcp-env.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "acb81cf688ff66cc9455ac22",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "os",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:os | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "feae585ebb3042c1",
      "framework": "next-react",
      "imports": "os",
      "lines": 319,
      "logic_relevance": "none",
      "name": "update-arch",
      "normalized_name": "update-arch",
      "package_manager": "pnpm",
      "path": "scripts/update-arch.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,discovery",
      "component_id": "f54ea3c6dbe90968c6dee879",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RSSFeedOptions, generateRSSFeed | imports:./market-signals, ./polymarket-api | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "RSSFeedOptions,generateRSSFeed",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f9642b798b9c8af8",
      "framework": "next-react",
      "imports": "./market-signals,./polymarket-api",
      "lines": 189,
      "logic_relevance": "primary",
      "name": "rss-generator",
      "normalized_name": "rss-generator",
      "package_manager": "pnpm",
      "path": "lib/rss-generator.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability",
      "component_id": "16789128f42dac12ee8b5fc0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_SITEMAP_INDEX_URL, ROOT_GRAPH_URL | logic-score:85 | observability-score:55",
      "exports": "BASE_SITEMAP_INDEX_URL,ROOT_GRAPH_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "62f698a5346eb26b",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "primary",
      "name": "network-discovery",
      "normalized_name": "network-discovery",
      "package_manager": "pnpm",
      "path": "lib/network-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "b4b49bc45c112fdf600cd7cc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FetchMarketsOptions, PolymarketMarket, filterRecentMarkets | imports:./cache, ./logger, ./trace | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "FetchMarketsOptions,PolymarketMarket,filterRecentMarkets",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "424687a27ea2aeba",
      "framework": "next-react",
      "imports": "./cache,./logger,./trace",
      "lines": 255,
      "logic_relevance": "primary",
      "name": "polymarket-api",
      "normalized_name": "polymarket-api",
      "package_manager": "pnpm",
      "path": "lib/polymarket-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,discovery",
      "component_id": "192579f6a9f62fff0c5f1035",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:captureVercelRequestMetadata, captureVercelResponseMetadata | imports:node:crypto | automation-score:95 | logic-score:85 | integration-score:55 | discovery-score:55",
      "exports": "captureVercelRequestMetadata,captureVercelResponseMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9216f98bfdb3ad5",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 51,
      "logic_relevance": "secondary",
      "name": "vercel-metadata",
      "normalized_name": "vercel-metadata",
      "package_manager": "pnpm",
      "path": "lib/vercel-metadata.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,security,automation,ai",
      "component_id": "c1ad536f035c51afaf5fcfed",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FEED_ENDPOINTS, MARKET_ENDPOINTS, MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, PLATFORM_ENDPOINTS, buildLlmsIndex, buildOpenApiYaml | imports:@/lib/platform | logic-score:85 | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FEED_ENDPOINTS,MARKET_ENDPOINTS,MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,PLATFORM_ENDPOINTS,buildLlmsIndex,buildOpenApiYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "831c2e8e52debf60",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 199,
      "logic_relevance": "primary",
      "name": "discovery-docs",
      "normalized_name": "discovery-docs",
      "package_manager": "pnpm",
      "path": "lib/discovery-docs.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "e41fee48625330c68fc4df11",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_LOCALE, Dictionary, LOCALE_NAMES, Locale, SUPPORTED_LOCALES, buildAlternates, getLocaleFromPathname | logic-score:85 | observability-score:55",
      "exports": "DEFAULT_LOCALE,Dictionary,LOCALE_NAMES,Locale,SUPPORTED_LOCALES,buildAlternates,getLocaleFromPathname",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b9f86052a2697c0",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "6275d025f1b4951b788ad639",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@neondatabase/serverless | logic-score:70 | integration-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "183f14e207699b41",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "mcp-logger",
      "normalized_name": "mcp-logger",
      "package_manager": "pnpm",
      "path": "lib/mcp-logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "c1a474f2ebe3b88406ec686a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_META, NETWORK_SERVICES, NetworkService, getDocsServices, getLiveServices, getMcpServices | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "NETWORK_META,NETWORK_SERVICES,NetworkService,getDocsServices,getLiveServices,getMcpServices",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f96d89008e1139b0",
      "framework": "next-react",
      "imports": "",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "lib/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,automation",
      "component_id": "95c6b5641dc8c2de1bfa4239",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, getClientIp, parseJsonWithCache, safeJsonLd | imports:clsx, tailwind-merge | logic-score:85 | automation-score:45",
      "exports": "cn,getClientIp,parseJsonWithCache,safeJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2b35b6be91b7d1a1",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "14007670d7964140971a320e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MarketSignal, SignalDirection, SignalStrength, calculateMarketSignal, calculateSignals | imports:./polymarket-api | logic-score:85",
      "exports": "MarketSignal,SignalDirection,SignalStrength,calculateMarketSignal,calculateSignals",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f41aac7279ae326",
      "framework": "next-react",
      "imports": "./polymarket-api",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "market-signals",
      "normalized_name": "market-signals",
      "package_manager": "pnpm",
      "path": "lib/market-signals.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "4e4625b2fba0f4613e06a886",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ListMarketsInput, MarketSort, marketUrl, serializeMarket | imports:@/lib/clob-api, @/lib/db, @/lib/market-signals, @/lib/polymarket-api | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ListMarketsInput,MarketSort,marketUrl,serializeMarket",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54ddaab859fe9935",
      "framework": "next-react",
      "imports": "@/lib/clob-api,@/lib/db,@/lib/market-signals,@/lib/polymarket-api",
      "lines": 245,
      "logic_relevance": "primary",
      "name": "market-service",
      "normalized_name": "market-service",
      "package_manager": "pnpm",
      "path": "lib/market-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "ebab73e4aa797fc528079257",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL, SERVICE_ID, SERVICE_NAME, SERVICE_VERSION, TRUST_POLICY_LINE, authRequiredResponse, clampFloat, clampInt | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BASE_URL,SERVICE_ID,SERVICE_NAME,SERVICE_VERSION,TRUST_POLICY_LINE,authRequiredResponse,clampFloat,clampInt,isPlatformAuthorized,jsonError,jsonOk,publicProtectedBoundary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bdecf751e9b238a3",
      "framework": "next-react",
      "imports": "",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "231b558918ed747aea935109",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClobBookLevel, ClobBookResponse, ClobHistoryPoint, MarketOrderbook, MarketOutcomeOrderbook, PriceHistoryResult | imports:./cache, ./logger, ./polymarket-api, ./trace | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ClobBookLevel,ClobBookResponse,ClobHistoryPoint,MarketOrderbook,MarketOutcomeOrderbook,PriceHistoryResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4aea5b5bd6afa5cf",
      "framework": "next-react",
      "imports": "./cache,./logger,./polymarket-api,./trace",
      "lines": 343,
      "logic_relevance": "primary",
      "name": "clob-api",
      "normalized_name": "clob-api",
      "package_manager": "pnpm",
      "path": "lib/clob-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "0a82a03f70d2945b69c179d6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogEntry, LogLevel, log, logger | imports:@/lib/db | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LogEntry,LogLevel,log,logger",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f600e75969218ecf",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "2e88e1d3ced7a883ee7ec4a8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cache | imports:@/lib/logger | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "cache",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "92ddb9fb32233364",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 101,
      "logic_relevance": "primary",
      "name": "cache",
      "normalized_name": "cache",
      "package_manager": "pnpm",
      "path": "lib/cache.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,automation,ai",
      "component_id": "72dbd2d2e0f1bacd02931740",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EMOJI_TABLE, EmojiEntry, lookupEmojiBuiltin | logic-score:85 | automation-score:45 | ai-score:45",
      "exports": "EMOJI_TABLE,EmojiEntry,lookupEmojiBuiltin",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b0e846ec81fbab97",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "084d8e8e4938913ae0a91e7e",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiError, FeedRequest, MarketCache, db, hasDatabaseConnection | imports:@/lib/cache, @/lib/logger, @neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ApiError,FeedRequest,MarketCache,db,hasDatabaseConnection",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8fa2c8270b65d21e",
      "framework": "next-react",
      "imports": "@/lib/cache,@/lib/logger,@neondatabase/serverless",
      "lines": 511,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c5126ba0aca1766912a525c7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformTraceContext, emitSpan, getTraceContext, responseTraceHeaders, traceHeaders | imports:@/lib/platform | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PlatformTraceContext,emitSpan,getTraceContext,responseTraceHeaders,traceHeaders",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9298a5f4bb93583e",
      "framework": "next-react",
      "imports": "@/lib/platform",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "5ceaeb40689ffa5b8285a465",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AtomFeedOptions, generateAtomFeed | imports:./polymarket-api | logic-score:85 | security-score:55 | uses-env",
      "exports": "AtomFeedOptions,generateAtomFeed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f60bfa09f39d4738",
      "framework": "next-react",
      "imports": "./polymarket-api",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "atom-generator",
      "normalized_name": "atom-generator",
      "package_manager": "pnpm",
      "path": "lib/atom-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymarket-rss-feed",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,observability,security",
      "component_id": "d60950c763c9bf18432d7bef",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d2106fc9886ccf00",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9653166cbec2271dcebc343b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56a05c4612db78df",
      "framework": "next-react",
      "imports": "",
      "lines": 7808,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "f292a63a96c3df2fe76e1e97",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a93cc47b6fc42512",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "e1e8d87ccad4847bf1511826",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2bc03c216d299220",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "52fabf792f4fd8d516df5d0c",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "698b3ca396bf8f77",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "602ec0586e4042912978536e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9ec43d56abcc55c7",
      "framework": "next-react",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "fe7ec6e6f417de3f6913d0f9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07c8a6f3660cdad2",
      "framework": "next-react",
      "imports": "",
      "lines": 6951,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0a7c42ccae9df5c6c3255519",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1a3b8fdfcad9ce03",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "2821f1e1b5eb84340a969241",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b61807746ea5040e",
      "framework": "next-react",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "00767cbff7a7a9c7df49b056",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ebd35e53f8107e9d",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 25,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "ab030e5c4f5afb8bddf8de15",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a2b2bb9e3fbc8c16",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "d9a6a369057d46d8e090262e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/polymaths/content, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d33dcc7491c3d80b",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "737c7af266a8c9a81d1bdfa7",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/back-to-top, @/components/breadcrumbs, @/components/json-ld, @/components/skip-to-content, @/components/theme-provider, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b9ebfc6b0eb83bb",
      "framework": "next-react",
      "imports": "@/components/back-to-top,@/components/breadcrumbs,@/components/json-ld,@/components/skip-to-content,@/components/theme-provider,next,next/font/google",
      "lines": 151,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8cd723869f7294e6347ae253",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/polymath-logo | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50cb2d154e9a5990",
      "framework": "next-react",
      "imports": "@/components/polymath-logo",
      "lines": 12,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b5d36829b3941fdf782331a1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/cursor-effect, @/components/polymath-mentor, @/components/sections/cta-section, @/components/sections/faq-section, @/components/sections/hero-section, @/components/sections/methodology-section, @/components/sections/polymaths-showcase, @/components/sections/principles-section | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75423fb34ff6c4b4",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/polymath-mentor,@/components/sections/cta-section,@/components/sections/faq-section,@/components/sections/hero-section,@/components/sections/methodology-section,@/components/sections/polymaths-showcase,@/components/sections/principles-section,@/components/sections/resources-section,@/components/site-footer,@/components/site-header",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "677b5c569550fbc808ffb8b7",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "66da16cde32144af",
      "framework": "next-react",
      "imports": "",
      "lines": 275,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "62e9203e8c3de50aa57a0a55",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/polymath-logo, @/components/site-footer, @/components/site-header, @/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d452f743dd936cb8",
      "framework": "next-react",
      "imports": "@/components/polymath-logo,@/components/site-footer,@/components/site-header,@/components/ui/button,lucide-react,next/link",
      "lines": 60,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "b8092ef68bedd820820151d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platphorm/auth, @/lib/platphorm/network-discovery, @/lib/polymaths/content, @/lib/polymaths/mcp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b4d3fdb5e0df835",
      "framework": "next-react",
      "imports": "@/lib/platphorm/auth,@/lib/platphorm/network-discovery,@/lib/polymaths/content,@/lib/polymaths/mcp,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "0bd96a2654fad7ce989be163",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a252b3aa1d220800",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security,discovery",
      "component_id": "602fe07c6e10f12df159eec3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8472256318d70ceb",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "e8750473a08d4d160adf84b0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LearnPage, metadata | imports:@/components/learning-path-builder, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "LearnPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "471260f7458428ee",
      "framework": "next-react",
      "imports": "@/components/learning-path-builder,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 324,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/learn/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "834b2f4d3816a69adf070030",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MethodologyPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MethodologyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f8dc958f18ab0cf",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 213,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/learn/methodology/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "707b52942af401cec0287ed8",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:GettingStartedLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "GettingStartedLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "109f51d7a24a19f0",
      "framework": "next-react",
      "imports": "next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/learn/getting-started/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "470a1e3546b0b44c5fd43681",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GettingStartedPage | imports:@/components/scroll-reveal, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GettingStartedPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ddceb19c33ff080",
      "framework": "next-react",
      "imports": "@/components/scroll-reveal,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 209,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/learn/getting-started/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "7fba2aa9982a50144c0b3307",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrinciplesPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PrinciplesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8da6b3402a64aba",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,lucide-react,next,next/link",
      "lines": 177,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/learn/principles/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "3e539067284c19ec54aa460d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0def20e7f701f96d",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,next",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b9671dd9751cd0e9bd114d80",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OpenSourcePage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "OpenSourcePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e463ab1fd2abb0d",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next",
      "lines": 152,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/open-source/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8fe62227881a2ea66a2265c4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DataPolicyPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DataPolicyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fdcc2b2332ce2d9c",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next",
      "lines": 201,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/data-policy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "b50e63f7f32ce8802f98dd90",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/breadcrumbs, @/components/sections/faq-section, next | frontend-score:115 | ui-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c55a35d6e2649901",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/sections/faq-section,next",
      "lines": 17,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "22400200558eb1b1889646dd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, dynamic | imports:@/lib/platphorm/auth, @/lib/platphorm/network-discovery, @/lib/polymaths/content, @/lib/polymaths/mcp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "156939bf0ff5f343",
      "framework": "next-react",
      "imports": "@/lib/platphorm/auth,@/lib/platphorm/network-discovery,@/lib/polymaths/content,@/lib/polymaths/mcp,next/server",
      "lines": 140,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/platphorm.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "43021c6fd4067c65566b0f27",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platphorm/api, @/lib/platphorm/auth, @/lib/platphorm/network-discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a2b9ab67829e4da2",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/platphorm/auth,@/lib/platphorm/network-discovery,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "9a2e7d07e9719126f134e86f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dbffdbb5b020c450",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "718dc3761c13d8b756c912ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3a88c4a4d109e438",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "72a3d341fb6562676c2c9b11",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e37895146e982a07",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "a9276021e79568be21b02836",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS | imports:@/lib/polymaths/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "efb7e18329c4b022",
      "framework": "next-react",
      "imports": "@/lib/polymaths/mcp,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "89dae490e01a426a49adfb0e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ResourcesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cee6e95dbf29b91d",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 330,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/resources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "12589848be15ac767e1bf90f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ToolsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a0f362ad18dd8587",
      "framework": "next-react",
      "imports": "next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/resources/tools/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "ad515727cdb86bc668ac4149",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ToolsPage | imports:@/components/scroll-reveal, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ToolsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "52717a7853ea7d1e",
      "framework": "next-react",
      "imports": "@/components/scroll-reveal,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/resources/tools/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "7e7b6ce8478a09d1a24c2d10",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReadingListPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ReadingListPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7355596737e549c4",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 232,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/resources/reading-list/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "96f2d8efdb402a0963d35b3c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CommunityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee852bf78a4c33c9",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 254,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/resources/community/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5fbe4c75bcffa40bcec75367",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "TermsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f5221eea1d21c7f",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 6,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "26613e0b91a79d4a6dfef509",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fdb782849b33bf5",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/link",
      "lines": 270,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "a61471ecad929dd15448ea8a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, @/lib/polymaths/mcp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6e47993e554fe02a",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,@/lib/polymaths/mcp,next/server",
      "lines": 121,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2acff476801e1905921548e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PolymathsPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, @/lib/polymaths/content, lucide-react, next, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PolymathsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6d1bce0edcf0b18",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,@/lib/polymaths/content,lucide-react,next,next/image,next/link",
      "lines": 255,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/polymaths/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2952165f4ff092c0fd35cf48",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoricalPolymathsPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HistoricalPolymathsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd01134b2998434c",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/image,next/link",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/polymaths/historical/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "01f770047194ef5491a120be",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModernPolymathsPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ModernPolymathsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f1c916bbe4adabb",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,lucide-react,next,next/image,next/link",
      "lines": 208,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/polymaths/modern/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c887b2b8a60c1c5d51eda6e1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TimelinePage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TimelinePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df296aaf0310aca5",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,lucide-react,next,next/link",
      "lines": 340,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/polymaths/timeline/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3fa701b6fe2079c6d3a1b27c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/card, @/lib/polymaths/content, lucide-react, next, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5edd1514cf050bce",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/card,@/lib/polymaths/content,lucide-react,next,next/image,next/link,next/navigation",
      "lines": 121,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/polymaths/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "c003e18f9ca2097ec0a2d995",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c02db81f9bd157f1",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "86f0c6ca3242bb15e3feeba7",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d83fb8056f9e28c5",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/knowledge-map/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "33f0d33c8a432b5230fde154",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b30a041a2150c56",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quotes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5c9874b05251ea0a6b57d794",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21bf630d80008942",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "fe344edcdba3368d94c3d88e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a58ede70204402a3",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/resources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b5531ec858e1fcea865095c2",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "33db2556916b9dd2",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/resources/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f5a283c380fc57a7c4d61e5d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2de489ba359d963f",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/methodology/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "c1b4b90b376af34bd34a97fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "94ec6fc56d148ecb",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/methodology/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "4e42d871d238a67b401bcc79",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platphorm/api, @/lib/platphorm/network-discovery, @/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ab199921ef7f3e0",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/platphorm/network-discovery,@/lib/polymaths/content,next/server",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability",
      "component_id": "e594e2883ef18d29cceba4ab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS, GET | imports:next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DOCS,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8833b43c09c614db",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,frontend,observability",
      "component_id": "7efef18424e3109147208c32",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOCS_DIR, GET, VALID_DOCS | imports:fs/promises, next/server, path | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DOCS_DIR,GET,VALID_DOCS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e67f7f754859d54a",
      "framework": "next-react",
      "imports": "fs/promises,next/server,path",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,ai",
      "component_id": "88bcc30c046c6f8595806564",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platphorm/api | backend-score:125 | security-score:55 | ai-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ddf2a457757f650e",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mentor/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,ai",
      "component_id": "c27a9eae1b4c891df3f47398",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "15639ae0fe1b0054",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mentor/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "690785e5fd06ef494afa2d92",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:polymathsData | imports:@/lib/platphorm/api, @/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "polymathsData",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b687a4f252ae501b",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/polymaths/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "793d6c57cd876f6fd2e42310",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ed646b94a07ce7d0",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/polymaths/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "cf0707d541c50766f0693cce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:principlesData | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "principlesData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "373b477fdd031a72",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/principles/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "66877fe66fe47eba8ce8b77f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "739c6ad7fde8b666",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/principles/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "e1a95b6b618b51a0ea0a4a01",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:LearningPathRequest, POST | imports:@/lib/platphorm/api, @/lib/polymaths/content, zod | backend-score:160 | observability-score:55 | next-route-handler",
      "exports": "LearningPathRequest,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "164f58252c2968b7",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content,zod",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/learning-paths/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "10cd322ce46ae8afabb65a60",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0683f6e31eb8bcff",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/learning-paths/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "b4d90888444e028a522c95de",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/polymaths/content | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ed4506f4a46db9eb",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/polymaths/content",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/timeline/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "932a2a6a051bef5fb7996e8d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/api, @/lib/platphorm/auth, @/lib/platphorm/trace, @/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5895153532b31040",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/platphorm/auth,@/lib/platphorm/trace,@/lib/polymaths/content,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "ca77bffae899e4c9061d7022",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/polymaths/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8b952844b8624f13",
      "framework": "next-react",
      "imports": "@/lib/polymaths/mcp,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,backend,observability,security,discovery,ai",
      "component_id": "b328bb3856128fab84b74c7e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsPage, metadata | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/card, @/components/ui/tabs, @/lib/polymaths/content, next | frontend-score:115 | process-score:80 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "ApiDocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e1378e1c70da441",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/card,@/components/ui/tabs,@/lib/polymaths/content,next",
      "lines": 185,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery,process",
      "component_id": "ee888a2d91c7dcbf19127359",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07090ac8b4fba97b",
      "framework": "next-react",
      "imports": "@/lib/polymaths/openapi,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,security",
      "component_id": "aa72088f50ee02cc7a3e739e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/platphorm/api | backend-score:125 | ai-score:120 | security-score:55 | uses-env | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "251e21ae91eabafc",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mentor/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,security,ai",
      "component_id": "17ba77ffb87aa4b4ca595301",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platphorm/api | backend-score:125 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2e048223256b250",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mentor/publish/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "dec06649bd5cc3521eada419",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platphorm/api, @/lib/platphorm/auth, @/lib/platphorm/network-discovery, @/lib/polymaths/content, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aceb3ce431771349",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/platphorm/auth,@/lib/platphorm/network-discovery,@/lib/polymaths/content,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "44e4813a39adfb6b675d67e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d2b7bb2a8ccbf56f",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "51e00e71df315b255dc9fce5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "30305090063da4b4",
      "framework": "next-react",
      "imports": "@/lib/polymaths/openapi,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "2954eeb1850cb837e1c0131f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platphorm/api, @/lib/platphorm/auth, @/lib/platphorm/network-discovery, @/lib/polymaths/content, @/lib/polymaths/mcp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4a6061fd6ccf6bc3",
      "framework": "next-react",
      "imports": "@/lib/platphorm/api,@/lib/platphorm/auth,@/lib/platphorm/network-discovery,@/lib/polymaths/content,@/lib/polymaths/mcp,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "71742c044b6fb30622d7c429",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e990350fd0ebb512",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "290506f6afe090a99392ce2a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "CommunityLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea60835b6428623f",
      "framework": "next-react",
      "imports": "next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/community/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "985ed044ecb2ac8134d80908",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityPage | imports:@/components/glass-card, @/components/scroll-reveal, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CommunityPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27c9d9cfa205fc47",
      "framework": "next-react",
      "imports": "@/components/glass-card,@/components/scroll-reveal,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 209,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/community/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "92893cc6c5400fce5b3548b3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibilityPage, metadata | imports:@/components/site-footer, @/components/site-header, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AccessibilityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "008ff35647968825",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,next,next/link",
      "lines": 69,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/accessibility/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "fc2e897c64d9ea80dd7caec8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/docs/openapi.json/route | backend-score:55 | integration-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "259d5d26356a5c35",
      "framework": "next-react",
      "imports": "@/app/api/docs/openapi.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "7d9fcfacbc9aded3f10b8f9d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/polymaths/content, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "557dd4c862f003a6",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "0abc6a50ce69631ed0d1f053",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8e1fe6e80292dbcb",
      "framework": "next-react",
      "imports": "",
      "lines": 298,
      "logic_relevance": "none",
      "name": "PRINCIPLES",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "docs/PRINCIPLES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f8ec386c43151906ff289a17",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | metadata | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "389eccd3e651fe0d",
      "framework": "next-react",
      "imports": "",
      "lines": 428,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "b2e2875144318b34ec9942a6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73f907a2fa43f0d5",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "764f7d4367dc6ad0e1081255",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0dec008ac69cdf1d",
      "framework": "next-react",
      "imports": "",
      "lines": 452,
      "logic_relevance": "none",
      "name": "INTEGRATION",
      "normalized_name": "integration",
      "package_manager": "pnpm",
      "path": "docs/INTEGRATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "a4ed31de6c4934e8a8f0ac95",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/app,@/lib,path,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/.well-known/mcp.json, @/app/api/v1/polymaths/route, @/lib/utils, path, vitest, vitest/config | process-score:145 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b75a4c2ee9a60df8",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json,@/app/api/v1/polymaths/route,@/lib/utils,path,vitest,vitest/config",
      "lines": 190,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": "docs/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "013d8eb42ea71395d542f6e6",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "138a974747f8a26f",
      "framework": "next-react",
      "imports": "",
      "lines": 297,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "ead22ece6cca3ea0237c47b2",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/components,next,zod",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:PolymathCard, metadata | imports:@/components/knowledge-graph, next/image, zod | process-score:145 | backend-score:105 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "PolymathCard,metadata",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9db82671b3af25ac",
      "framework": "next-react",
      "imports": "@/components/knowledge-graph,next/image,zod",
      "lines": 406,
      "logic_relevance": "none",
      "name": "STANDARDS",
      "normalized_name": "standards",
      "package_manager": "pnpm",
      "path": "docs/STANDARDS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "96a2f5236e66288d89cbaa0c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "231bc37bd9fdb415",
      "framework": "next-react",
      "imports": "",
      "lines": 271,
      "logic_relevance": "none",
      "name": "GOALS",
      "normalized_name": "goals",
      "package_manager": "pnpm",
      "path": "docs/GOALS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ef520db5ff18f332e01967a5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "7274d4891ece31916776576c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SkipToContent | imports:@/lib/utils | frontend-score:85 | ui-score:55",
      "exports": "SkipToContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d1375e4a5fc6409",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 27,
      "logic_relevance": "none",
      "name": "skip-to-content",
      "normalized_name": "skip-to-content",
      "package_manager": "pnpm",
      "path": "components/skip-to-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "3fac0644a98094872dbba400",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2c687e4780d5c43dc2e770d7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnimatedCounter, StatCard | imports:@/components/ui/tooltip, framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AnimatedCounter,StatCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7dffd63651768e0a",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,framer-motion,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "animated-counter",
      "normalized_name": "animated-counter",
      "package_manager": "pnpm",
      "path": "components/animated-counter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "85ceb28f0d541a68201ad2d4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:./polymath-logo, ./theme-toggle, @/components/ui/button, @/components/ui/navigation-menu, @/components/ui/sheet, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a92f704313f7c1e",
      "framework": "next-react",
      "imports": "./polymath-logo,./theme-toggle,@/components/ui/button,@/components/ui/navigation-menu,@/components/ui/sheet,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 200,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "c23771a31df54b01791a405a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@ai-sdk/react,ai,framer-motion,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:PolymathMentor | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/scroll-area, @/lib/cosmological-id, @/lib/utils, @ai-sdk/react, ai | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "PolymathMentor",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d7181a5d93ea691",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/scroll-area,@/lib/cosmological-id,@/lib/utils,@ai-sdk/react,ai,framer-motion,lucide-react,react",
      "lines": 380,
      "logic_relevance": "none",
      "name": "polymath-mentor",
      "normalized_name": "polymath-mentor",
      "package_manager": "pnpm",
      "path": "components/polymath-mentor.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c0c4e9cfa365cd5a5ab599a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:./polymath-logo, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7dd4662d25e7bcae",
      "framework": "next-react",
      "imports": "./polymath-logo,lucide-react,next/link",
      "lines": 186,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "874365944a4cbf910e0508d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/components/ui/breadcrumb, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eadbe1d54bc0486f",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,lucide-react,next/link,next/navigation",
      "lines": 86,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,automation,ai",
      "component_id": "adbcc96fc07a9a4709c40806",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd, generateBreadcrumbSchema, generatePolymathSchema, schemas | imports:@/lib/data/polymaths | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "JsonLd,generateBreadcrumbSchema,generatePolymathSchema,schemas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bc5a306158b9d9d",
      "framework": "next-react",
      "imports": "@/lib/data/polymaths",
      "lines": 375,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c120e5dbf4748d39557d3a28",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LineReveal, ParallaxSection, ScrollReveal, StaggerContainer, TextReveal | imports:framer-motion, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LineReveal,ParallaxSection,ScrollReveal,StaggerContainer,TextReveal",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce048847200bcd6a",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 242,
      "logic_relevance": "none",
      "name": "scroll-reveal",
      "normalized_name": "scroll-reveal",
      "package_manager": "pnpm",
      "path": "components/scroll-reveal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b22003ba3104475898aa24b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PolymathLogo | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "PolymathLogo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df7c221a3597be22",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 69,
      "logic_relevance": "none",
      "name": "polymath-logo",
      "normalized_name": "polymath-logo",
      "package_manager": "pnpm",
      "path": "components/polymath-logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8091560c7b3dad8ed1c5e8d9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KnowledgeGraph | imports:@/components/ui/button, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "KnowledgeGraph",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb7b6c9f823a862a",
      "framework": "next-react",
      "imports": "@/components/ui/button,framer-motion,lucide-react,react",
      "lines": 320,
      "logic_relevance": "none",
      "name": "knowledge-graph",
      "normalized_name": "knowledge-graph",
      "package_manager": "pnpm",
      "path": "components/knowledge-graph.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "bd06ef279cf830ed70a94d13",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:VitruvianAnimation | imports:framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "VitruvianAnimation",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf55666e7cb1b3e",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 443,
      "logic_relevance": "none",
      "name": "vitruvian-animation",
      "normalized_name": "vitruvian-animation",
      "package_manager": "pnpm",
      "path": "components/vitruvian-animation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d055332a2498e282216613fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LearningPathBuilder | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "LearningPathBuilder",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16efd1e51dcae881",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/tooltip,lucide-react,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "learning-path-builder",
      "normalized_name": "learning-path-builder",
      "package_manager": "pnpm",
      "path": "components/learning-path-builder.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "289ea418f923460344f028d4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CursorEffect, MagneticButton | imports:framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "CursorEffect,MagneticButton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "68187218b15874be",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 173,
      "logic_relevance": "none",
      "name": "cursor-effect",
      "normalized_name": "cursor-effect",
      "package_manager": "pnpm",
      "path": "components/cursor-effect.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "4728b8ddd0ce7946998d4144",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BackToTop | imports:@/lib/utils, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "BackToTop",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56b53b9bff1fe6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,framer-motion,lucide-react,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "back-to-top",
      "normalized_name": "back-to-top",
      "package_manager": "pnpm",
      "path": "components/back-to-top.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5d07757ed12037b73c16cdac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5c8a3e008ec885c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next-themes,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "e9ae4ac9e4d16e3fef07bfac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FloatingCard, GlassCard, GlowingBorder | imports:@/lib/utils, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "FloatingCard,GlassCard,GlowingBorder",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da487536a408f7af",
      "framework": "next-react",
      "imports": "@/lib/utils,framer-motion,react",
      "lines": 171,
      "logic_relevance": "none",
      "name": "glass-card",
      "normalized_name": "glass-card",
      "package_manager": "pnpm",
      "path": "components/glass-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "215a989b924d8c54f4aee7fc",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsWrapper | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "AnalyticsWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ecff5db61fbd7130",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "analytics-wrapper",
      "normalized_name": "analytics-wrapper",
      "package_manager": "pnpm",
      "path": "components/analytics-wrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "13fc5a9bb3e9337cf3c63577",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7b5265d216641ec13bd95491",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d34c23d5554233525ad960c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8a6b5f4578e8e59e4dc33d81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "38ab3efc62f57fe25dcf697a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e53c0d33d0c0a45fe633f429",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ef9fc8ef3452f42bf776c164",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "cdc000e02fd1458142319ff6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "56a799c8c61d6593177b8f25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0476ac8403a994b6c22679a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "cfb66cdfaec58f2ad06b9fdd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "15541d2cbfa759b8cd5902a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "19e42e57836e219f1da61d6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "10534587f198528e64fbddd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9e52957c6cc0792c1101c27f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db04cb77d81366ae875f4b84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ea32733e40e70af73c6159fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c86461a6e7b55764d390a0f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "69183b9bd0d521140c62af39",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "808c7921f0a2a3e51057f757",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "26c4a3306576306c287306cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e31d09fe116ceb782bf4b51f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9cde4dedd3b962145d8cdb9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "79b761ee260fe98319f69967",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9286b92a8aaa1ae328bc7381",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "56413e5f32a1a15e8e2fb67c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "422fa975ebee46a338d8afd6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "78854b9e7481a4651808fb5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "769fcca9ec2e6ec1f7c844c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "53cfae419ae641fb363d3f1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0eb4d4542635bdffa16c024c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "74a6149452f60debcc53d952",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "50a6b04aeb0add3064c56594",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "644b58670576eb902686d497",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0eb32ad2372a56dae8003360",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5b41d9618a61e84c41dae0c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c3a2916d74638b07acee9d8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5dcdd4471ceca0d434e20494",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f95f01ce41cd957de688f07a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6b2563276026fb5066604683",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "447d8d6da0017f52fdb064eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3790acdffdbcf074ba7bf387",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "cffb30ec4c7bba6e2ab2d750",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7795e8faa2cb43d14e92cdf6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f6336264602aeb5c03f14dd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0361ab0be256b9bcb7578fff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d8782fad1c6df1dd26740b99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "25730e38c9e005684112f8fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "36d3a774de2045a0fa727e14",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0350cd2939d9e84486f3f603",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5899624b66395c67ca0d105c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dd6b70fa579da3498b220d85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "11b7e1ce5ce6913195a7677e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "140fb430c781f5ab7f75dd99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1795a266e24d765d6c6964b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "8adbe7dc6366160a4d2bfe4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c9fb371b434188502aefa990",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "21c3ffc06021a3cd47885937",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrinciplesSection | imports:@/components/cursor-effect, @/components/glass-card, @/components/scroll-reveal, @/components/ui/button, @/components/ui/card, framer-motion, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PrinciplesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e65bcfdf78e6a85d",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/scroll-reveal,@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,next/link,react",
      "lines": 253,
      "logic_relevance": "none",
      "name": "principles-section",
      "normalized_name": "principles-section",
      "package_manager": "pnpm",
      "path": "components/sections/principles-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e71dbadce6c5ddd35fbcdb9f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQSection | imports:@/components/glass-card, @/components/scroll-reveal, @/components/ui/accordion, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FAQSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a61afb103bde809",
      "framework": "next-react",
      "imports": "@/components/glass-card,@/components/scroll-reveal,@/components/ui/accordion,framer-motion,lucide-react,react",
      "lines": 158,
      "logic_relevance": "none",
      "name": "faq-section",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "components/sections/faq-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "61fe5fcd85de06e6dafb9dfa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/animated-counter, @/components/cursor-effect, @/components/glass-card, @/components/scroll-reveal, @/components/ui/badge, @/components/ui/button, @/components/vitruvian-animation, @/lib/polymaths/content | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d638f3a83395042",
      "framework": "next-react",
      "imports": "@/components/animated-counter,@/components/cursor-effect,@/components/glass-card,@/components/scroll-reveal,@/components/ui/badge,@/components/ui/button,@/components/vitruvian-animation,@/lib/polymaths/content,framer-motion,lucide-react,next/link,react",
      "lines": 286,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/sections/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3b7e5c732c1416c59f800e7f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesSection | imports:@/components/cursor-effect, @/components/glass-card, @/components/scroll-reveal, @/components/ui/badge, @/components/ui/button, @/components/ui/card, framer-motion, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ResourcesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5cf03cb826cdc9dc",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/scroll-reveal,@/components/ui/badge,@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,next/link,react",
      "lines": 256,
      "logic_relevance": "none",
      "name": "resources-section",
      "normalized_name": "resources-section",
      "package_manager": "pnpm",
      "path": "components/sections/resources-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "874d3979e2b3f60b70c6370a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PolymathsShowcase | imports:@/components/cursor-effect, @/components/glass-card, @/components/scroll-reveal, @/components/ui/badge, @/components/ui/button, framer-motion, lucide-react, next/image | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PolymathsShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8498bcf0c56dd48",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/scroll-reveal,@/components/ui/badge,@/components/ui/button,framer-motion,lucide-react,next/image,next/link,react",
      "lines": 412,
      "logic_relevance": "none",
      "name": "polymaths-showcase",
      "normalized_name": "polymaths-showcase",
      "package_manager": "pnpm",
      "path": "components/sections/polymaths-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "1eb2f5aee121cb6abab1ad80",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MethodologySection | imports:@/components/cursor-effect, @/components/glass-card, @/components/knowledge-graph, @/components/scroll-reveal, @/components/ui/button, framer-motion, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MethodologySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94a6e4ef726ee287",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/knowledge-graph,@/components/scroll-reveal,@/components/ui/button,framer-motion,lucide-react,next/link,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "methodology-section",
      "normalized_name": "methodology-section",
      "package_manager": "pnpm",
      "path": "components/sections/methodology-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dc08ec981c11781d6787a0d6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTASection | imports:@/components/cursor-effect, @/components/polymath-logo, @/components/scroll-reveal, @/components/ui/button, framer-motion, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CTASection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2285390a062a16a5",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/polymath-logo,@/components/scroll-reveal,@/components/ui/button,framer-motion,lucide-react,next/link,react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/sections/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "b8d73b1e1e3595ae2f7dc4f2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cd317bf73e2cc40d",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "d4395a976351d4481a3ac329",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "079f0c4080f598d6",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "5fdc6f3694dbe2329631ea7e",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/faq/page, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35211a7d7f471e1f",
      "framework": "next-react",
      "imports": "@/app/faq/page,@testing-library/react,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/faq/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,security,discovery,ai",
      "component_id": "04cefac25916410c6c1cb6e5",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platphorm/config, @/lib/platphorm/mcp-types, vitest | logic-score:85 | integration-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "14ab89c167e527ee",
      "framework": "next-react",
      "imports": "@/lib/platphorm/config,@/lib/platphorm/mcp-types,vitest",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "mcp-manifest-validation.test",
      "normalized_name": "mcp-manifest-validation",
      "package_manager": "pnpm",
      "path": "__tests__/mcp/mcp-manifest-validation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "8249dbccda1f1fe4e3744e61",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/.well-known/mcp.json/route, vitest | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00428d29a8467f75",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json/route,vitest",
      "lines": 102,
      "logic_relevance": "none",
      "name": "mcp-endpoint.test",
      "normalized_name": "mcp-endpoint",
      "package_manager": "pnpm",
      "path": "__tests__/mcp/mcp-endpoint.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "46c539b8c56b8e68955cfff3",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/.well-known/platphorm.json/route, vitest | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba0600522d11422e",
      "framework": "next-react",
      "imports": "@/app/.well-known/platphorm.json/route,vitest",
      "lines": 147,
      "logic_relevance": "none",
      "name": "platphorm-endpoint.test",
      "normalized_name": "platphorm-endpoint",
      "package_manager": "pnpm",
      "path": "__tests__/mcp/platphorm-endpoint.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "03ee6d9e6b00fa7852fbc127",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/back-to-top, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aefed6d2e43dbbfa",
      "framework": "next-react",
      "imports": "@/components/back-to-top,@testing-library/react,vitest",
      "lines": 71,
      "logic_relevance": "none",
      "name": "back-to-top.test",
      "normalized_name": "back-to-top",
      "package_manager": "pnpm",
      "path": "__tests__/components/back-to-top.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6f86b6c4211c46edf8bb05a0",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/breadcrumb, @testing-library/react, vitest | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5104d251a3b1364e",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,@testing-library/react,vitest",
      "lines": 61,
      "logic_relevance": "none",
      "name": "breadcrumb.test",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "__tests__/components/breadcrumb.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "4438b788e13d390fd146dd6c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/breadcrumbs, @testing-library/react, next/navigation, vitest | frontend-score:115 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d731041eb2c851e1",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@testing-library/react,next/navigation,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "__tests__/components/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "bf2c570a538d4cef3da1ad37",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/skip-to-content, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ff2fdc1502a097b",
      "framework": "next-react",
      "imports": "@/components/skip-to-content,@testing-library/react,vitest",
      "lines": 30,
      "logic_relevance": "none",
      "name": "skip-to-content.test",
      "normalized_name": "skip-to-content",
      "package_manager": "pnpm",
      "path": "__tests__/components/skip-to-content.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,security",
      "component_id": "d78cb15202d8906f19e489a6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/not-found, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d1459bc8afdc869",
      "framework": "next-react",
      "imports": "@/app/not-found,@testing-library/react,vitest",
      "lines": 50,
      "logic_relevance": "none",
      "name": "not-found.test",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "__tests__/components/not-found.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "b1ede6208cb23bfdfd8a623a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/sections/faq-section, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21e478a0a6928a49",
      "framework": "next-react",
      "imports": "@/components/sections/faq-section,@testing-library/react,vitest",
      "lines": 54,
      "logic_relevance": "none",
      "name": "faq-section.test",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "__tests__/components/faq-section.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8d3af54a0ff233170eb97a76",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/sections/faq-section, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8134d87f3d647aec",
      "framework": "next-react",
      "imports": "@/components/sections/faq-section,@testing-library/react,react,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "faq-section.test",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "__tests__/components/sections/faq-section.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "b177b8310a73b5099ca150be",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f945d5bc60ac3792",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "522141faa5dc521701e89dd9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platphorm/mcp-types, vitest | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "29b56e8211d35370",
      "framework": "next-react",
      "imports": "@/lib/platphorm/mcp-types,vitest",
      "lines": 149,
      "logic_relevance": "primary",
      "name": "mcp-types.test",
      "normalized_name": "mcp-types",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp-types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "16ec5a834978e97dec166ca5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platphorm/config, vitest | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "861f21583842b41c",
      "framework": "next-react",
      "imports": "@/lib/platphorm/config,vitest",
      "lines": 108,
      "logic_relevance": "primary",
      "name": "config.test",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "__tests__/lib/config.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "bcd0394e76456a2412d0b311",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/data/polymaths, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "213899e3cf03b318",
      "framework": "next-react",
      "imports": "@/lib/data/polymaths,vitest",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "polymaths-data.test",
      "normalized_name": "polymaths-data",
      "package_manager": "pnpm",
      "path": "__tests__/lib/polymaths-data.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "7ad3e0f6dd535ffcb326a2b1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/cosmological-id, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a75149328bd0b0f0",
      "framework": "next-react",
      "imports": "@/lib/cosmological-id,vitest",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "cosmological-id.test",
      "normalized_name": "cosmological-id",
      "package_manager": "pnpm",
      "path": "__tests__/lib/cosmological-id.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "6fb5d63ff3b89dc94142b10e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/quotes/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0733bebd42ead915",
      "framework": "next-react",
      "imports": "@/app/api/v1/quotes/route,next/server,vitest",
      "lines": 87,
      "logic_relevance": "none",
      "name": "quotes.test",
      "normalized_name": "quotes",
      "package_manager": "pnpm",
      "path": "__tests__/api/quotes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "764bb8fe5a5182d79bb4f945",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/polymaths/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0a041a4abcf9f954",
      "framework": "next-react",
      "imports": "@/app/api/v1/polymaths/route,next/server,vitest",
      "lines": 102,
      "logic_relevance": "none",
      "name": "polymaths.test",
      "normalized_name": "polymaths",
      "package_manager": "pnpm",
      "path": "__tests__/api/polymaths.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security",
      "component_id": "1232421ccea4320645089ec7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/network/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "55e921b9098134e6",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/route,vitest",
      "lines": 78,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/api/network.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "284fe5de56145356ae1cb27c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/methodology/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "601a21ca82fa5b96",
      "framework": "next-react",
      "imports": "@/app/api/v1/methodology/route,vitest",
      "lines": 75,
      "logic_relevance": "none",
      "name": "methodology.test",
      "normalized_name": "methodology",
      "package_manager": "pnpm",
      "path": "__tests__/api/methodology.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,observability,discovery,process",
      "component_id": "e088c5cd45424d5e59da1f93",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/docs/[slug]/route, next/server, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6874f0baedef1aed",
      "framework": "next-react",
      "imports": "@/app/api/v1/docs/[slug]/route,next/server,vitest",
      "lines": 80,
      "logic_relevance": "none",
      "name": "docs-slug.test",
      "normalized_name": "docs-slug",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs-slug.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,observability,discovery,process",
      "component_id": "d8bee48789edc45993be6137",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/docs/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ca119af2d648ae07",
      "framework": "next-react",
      "imports": "@/app/api/v1/docs/route,vitest",
      "lines": 59,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "c73970ca61694addd7fdedd3",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/principles/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7332ec030482afe0",
      "framework": "next-react",
      "imports": "@/app/api/v1/principles/route,vitest",
      "lines": 55,
      "logic_relevance": "none",
      "name": "principles.test",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "__tests__/api/principles.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,ai",
      "component_id": "78481cdfed759fbaeade9ccc",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, @/app/api/v1/learning-paths/route, @/app/api/v1/mentor/status/route, @/app/api/v1/resources/route, @/app/llms-index.json/route, @/app/sitemap, next/server, vitest | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5ef0a3ea260bd29",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/app/api/v1/learning-paths/route,@/app/api/v1/mentor/status/route,@/app/api/v1/resources/route,@/app/llms-index.json/route,@/app/sitemap,next/server,vitest",
      "lines": 104,
      "logic_relevance": "none",
      "name": "phase1-platform.test",
      "normalized_name": "phase1-platform",
      "package_manager": "pnpm",
      "path": "__tests__/api/phase1-platform.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "c7b9f3ad972f2cc83089436f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/polymaths/[slug]/route, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "11e1a86bd0099885",
      "framework": "next-react",
      "imports": "@/app/api/v1/polymaths/[slug]/route,next/server,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "polymaths-slug.test",
      "normalized_name": "polymaths-slug",
      "package_manager": "pnpm",
      "path": "__tests__/api/polymaths-slug.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6106cc5399fc3b8687873df1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2931b465b45c75d7",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 44,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "17566e32a7f0584e107a731f",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1aebb6bf7f2810ef",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,security",
      "component_id": "b59faccf2bbe580dd5d8487f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fcc855220a0c83e4",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ade9242d4e2a58863227fa37",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "7962073ecf02a84a1fa8c632",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ConversationMessage, formatConversationAsMarkdown, generateULID | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ConversationMessage,formatConversationAsMarkdown,generateULID",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e2351bf6720a4237",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "cosmological-id",
      "normalized_name": "cosmological-id",
      "package_manager": "pnpm",
      "path": "lib/cosmological-id.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "e42fa132b6a86aa19a1c15fa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOL_NAMES, getMcpManifest, getMcpPrompts, getMcpResources, getMcpTools | imports:@/lib/polymaths/content, @/lib/polymaths/openapi | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | model-provider",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOL_NAMES,getMcpManifest,getMcpPrompts,getMcpResources,getMcpTools",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6307d7fbe69e322f",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content,@/lib/polymaths/openapi",
      "lines": 411,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/polymaths/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "d15dbe8a0b357ac961219ac6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LearningPath, LearningPathInput, LearningPathStep, PolymathProfile, PolymathQuote, Resource, SERVICE_ID, SERVICE_VERSION | imports:@/lib/data/polymaths | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "LearningPath,LearningPathInput,LearningPathStep,PolymathProfile,PolymathQuote,Resource,SERVICE_ID,SERVICE_VERSION,SITE_BASE_URL,generateDeterministicLearningPath,getContentStats,getFeedItems,getKnowledgeMap,getMethodologies,getMethodology,getPolymathProfile,getPolymathProfiles,getPrinciple,getPrinciples,getPublicPageRoutes,getQuotes,getResource,getResources,getTimeline,learningPathTemplates,resources",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "368242ce19dcab1e",
      "framework": "next-react",
      "imports": "@/lib/data/polymaths",
      "lines": 559,
      "logic_relevance": "primary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "lib/polymaths/content.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,ai",
      "component_id": "c757fbc4315affcbf9b4edbd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec, buildOpenApiYaml | imports:@/lib/polymaths/content | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "buildOpenApiSpec,buildOpenApiYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61abba097eb4eade",
      "framework": "next-react",
      "imports": "@/lib/polymaths/content",
      "lines": 200,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/polymaths/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "1a744b8669dcb816c2bf0d9f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanonicalNetworkDiscovery | imports:@/lib/platphorm/trace | logic-score:85 | observability-score:55",
      "exports": "CanonicalNetworkDiscovery",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "599f4122fe96978b",
      "framework": "next-react",
      "imports": "@/lib/platphorm/trace",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "network-discovery",
      "normalized_name": "network-discovery",
      "package_manager": "pnpm",
      "path": "lib/platphorm/network-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "a70aba715b213f463733af38",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorBody, ApiMeta, error, ok | imports:@/lib/platphorm/trace, @/lib/polymaths/content, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiErrorBody,ApiMeta,error,ok",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d1f8b4256480207",
      "framework": "next-react",
      "imports": "@/lib/platphorm/trace,@/lib/polymaths/content,next/server",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "lib/platphorm/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,ai",
      "component_id": "281e66020ca4bc5649514f50",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPManifest, MCPResource, MCPTool, MCPToolResult, POLYMATHS_MCP_RESOURCES, POLYMATHS_MCP_TOOLS, generateMCPManifest | imports:@/lib/polymaths/mcp | logic-score:85 | integration-score:55 | ai-score:45",
      "exports": "MCPManifest,MCPResource,MCPTool,MCPToolResult,POLYMATHS_MCP_RESOURCES,POLYMATHS_MCP_TOOLS,generateMCPManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d707065edda3d610",
      "framework": "next-react",
      "imports": "@/lib/polymaths/mcp",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "mcp-types",
      "normalized_name": "mcp-types",
      "package_manager": "pnpm",
      "path": "lib/platphorm/mcp-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "2571349c035bbff3399cd1f1",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_SITES, NetworkSite, SITE_CONFIG, SiteConfig | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "NETWORK_SITES,NetworkSite,SITE_CONFIG,SiteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a50dc7d78f210f87",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/platphorm/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "b510e5066a71d0c5cbd9e0a7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, createOutboundTraceHeaders, createTraceContext, sanitizeVercelMetadata | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "TraceContext,createOutboundTraceHeaders,createTraceContext,sanitizeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "920907440febd73b",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platphorm/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security,ai",
      "component_id": "d15cf01000ea93c6f75162f6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AUTH_POLICY, getAuthPolicy, validatePlatphormApiKey | imports:next/server | logic-score:85 | security-score:55 | ai-score:45 | uses-env",
      "exports": "AUTH_POLICY,getAuthPolicy,validatePlatphormApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "036c891cfece5942",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platphorm/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "cde0dcd6f9afa26572ac2e2b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Methodology, Polymath, PolymathDisplay, Principle, getAllDisciplines, getAllEras, getPolymathBySlug, getPolymathsByDiscipline | logic-score:70 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "Methodology,Polymath,PolymathDisplay,Principle,getAllDisciplines,getAllEras,getPolymathBySlug,getPolymathsByDiscipline,getPolymathsByEra,getPolymathsForDisplay,getRandomQuote,methodologies,polymaths,principles",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "318c4b2e97aa88ed",
      "framework": "next-react",
      "imports": "",
      "lines": 938,
      "logic_relevance": "primary",
      "name": "polymaths",
      "normalized_name": "polymaths",
      "package_manager": "pnpm",
      "path": "lib/data/polymaths.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "d99601080927c0472ffa9d99",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "850858333dcec1ca",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 16,
      "logic_relevance": "none",
      "name": "home.spec",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": "e2e/home.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-polymaths",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e0545471e9ec41aa263cfa55",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55349d45929be8e0",
      "framework": "next-react",
      "imports": "",
      "lines": 3234,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "e41c0f71b575bc57a23e04a8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bceaf22a0ea4f589",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e2beadd2e58b92222ed78b5c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a15cda3f6e9a1a17",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "427222a188d115bf801e6cfb",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "89a585afd06ce08f",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "d9530182a1e9cec1990ad51d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/contact-section, @/components/easter-egg-listener, @/components/footer, @/components/header, @/components/hero-section, @/components/projects-section, @/components/skills-section | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "782e98344849b51b",
      "framework": "next-react",
      "imports": "@/components/contact-section,@/components/easter-egg-listener,@/components/footer,@/components/header,@/components/hero-section,@/components/projects-section,@/components/skills-section",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "73f07efa3b238aee57b781fd",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ae8abb6d02153338",
      "framework": "next-react",
      "imports": "",
      "lines": 269,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c9a346fa2cd86194c4e454a0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/project-detail-client, @/lib/projects-data, next, next/navigation | frontend-score:115 | ui-score:55 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a180b18f7f53369e",
      "framework": "next-react",
      "imports": "@/components/project-detail-client,@/lib/projects-data,next,next/navigation",
      "lines": 48,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/project/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "2f27b2f69d2e05d36f957672",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SkunkworksPage, metadata | imports:@/components/skunkworks-content, next | frontend-score:115 | ui-score:55",
      "exports": "SkunkworksPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "471c5e879fe9b161",
      "framework": "next-react",
      "imports": "@/components/skunkworks-content,next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/skunkworks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "651f066324286126203fc527",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "a7578c29a44849cee036b95a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "803e671eafb74b325c1eeebc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectDetailClient | imports:@/components/footer, @/components/header, @/components/project-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/projects-data, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProjectDetailClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "751b87d30a1e51ca",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/project-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/projects-data,lucide-react,next/image,next/link,react",
      "lines": 317,
      "logic_relevance": "none",
      "name": "project-detail-client",
      "normalized_name": "project-detail-client",
      "package_manager": "pnpm",
      "path": "components/project-detail-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7feb1de8593adc85724a7c05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactSection | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ContactSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c9aa6b9f78a6c7a",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "contact-section",
      "normalized_name": "contact-section",
      "package_manager": "pnpm",
      "path": "components/contact-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "71a18421806049e45328f83c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SkunkworksContent | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SkunkworksContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76c4958fc5bc50d9",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 261,
      "logic_relevance": "none",
      "name": "skunkworks-content",
      "normalized_name": "skunkworks-content",
      "package_manager": "pnpm",
      "path": "components/skunkworks-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "109a63aafd4ddeeeec2f2564",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectsSection | imports:@/components/project-card, @/components/ui/button, @/components/ui/input, @/components/ui/select, @/lib/projects-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProjectsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c65a8d3770afa44",
      "framework": "next-react",
      "imports": "@/components/project-card,@/components/ui/button,@/components/ui/input,@/components/ui/select,@/lib/projects-data,lucide-react,react",
      "lines": 173,
      "logic_relevance": "none",
      "name": "projects-section",
      "normalized_name": "projects-section",
      "package_manager": "pnpm",
      "path": "components/projects-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "04fbbaca752e22eedd50ecb6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:EasterEggListener | imports:next/navigation, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "EasterEggListener",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2a7eacc93b0d0b61",
      "framework": "next-react",
      "imports": "next/navigation,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "easter-egg-listener",
      "normalized_name": "easter-egg-listener",
      "package_manager": "pnpm",
      "path": "components/easter-egg-listener.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7e0b7eae84351a6bfd188d81",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SkillsSection | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "SkillsSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9f6140e181825de0",
      "framework": "next-react",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "skills-section",
      "normalized_name": "skills-section",
      "package_manager": "pnpm",
      "path": "components/skills-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e9901ab312cd259e0bc713db",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/projects-data, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProjectCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62ef266f13b78d94",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/projects-data,lucide-react,next/image,next/link,react",
      "lines": 163,
      "logic_relevance": "none",
      "name": "project-card",
      "normalized_name": "project-card",
      "package_manager": "pnpm",
      "path": "components/project-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "31052ea7e99454704f374ab6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "711ecbfde7087176",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4d2d0083f61941e8fdcbdc3f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, @/lib/projects-data, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eafead381202a34f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/projects-data,lucide-react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "39a1a461dcf76136336eb661",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3fa38963d945c4f",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bd7b4ed17e9b02e36d285efa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3ca790e3bb47d9437c9b5b73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "79283c9cbce0ac24a6cdf617",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "64edd1c9471db022b90f9ee6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "153815b3dd28fb9af2929187",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "2e125f9ef1425aec81bfddff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "76751f5ba23e9869",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "973529dfbe81fd0f2cfc23c6",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fb86f5d7875b19f5",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "d1c15f8741c54b2b252a93ad",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "acb749e1bc8fb885",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "b70d37bb1430afe18034feac",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Contributor, Patent, Project, ProjectMetrics, profileData, projectTypes, projects, statusColors | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "Contributor,Patent,Project,ProjectMetrics,profileData,projectTypes,projects,statusColors",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e2e9b181b8f35e7a",
      "framework": "next-react",
      "imports": "",
      "lines": 542,
      "logic_relevance": "primary",
      "name": "projects-data",
      "normalized_name": "projects-data",
      "package_manager": "pnpm",
      "path": "lib/projects-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "95b0cec1ec7a0b2b9fe308b7",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-portfolio-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a4c22d1738dcf2d1e35e3c0b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50f8209a417f627d",
      "framework": "next-react",
      "imports": "",
      "lines": 10283,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "cbe705d9e32cce52d64dd326",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "48cf8d6db5d6a1ef89ed8158",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8034d0d142e5bb2b9556a629",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c37ad951af608ef5",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "94b12ee4b78c1c8d3bde2f3c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8876e988fba2e4a5",
      "framework": "next-react",
      "imports": "next",
      "lines": 38,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "bc693b51f9e0e6db1ce57a0e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "68b02ebce5f9bc61",
      "framework": "next-react",
      "imports": "",
      "lines": 287,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "07f398aff96e4d2cbe4b5523",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "69e7426de4254f24",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d28ca371b9001257644e1d39",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a4c39dd2e4a75b4f",
      "framework": "next-react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "545e53f38998b6641af76ebb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f5f789241caa3ccd",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 25,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0d5bb1ad0725b77ccb27f013",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5dfea3affcddd14a3ce83f92",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/telemetry | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e01f99f0deaf8c6",
      "framework": "next-react",
      "imports": "./lib/telemetry",
      "lines": 9,
      "logic_relevance": "none",
      "name": "instrumentation",
      "normalized_name": "instrumentation",
      "package_manager": "pnpm",
      "path": "instrumentation.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "1f068371b5af5cf52f1efa14",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "eslint-config-next",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:eslint-config-next/core-web-vitals | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "65a868a249de16cd",
      "framework": "next-react",
      "imports": "eslint-config-next/core-web-vitals",
      "lines": 21,
      "logic_relevance": "none",
      "name": "eslint.config",
      "normalized_name": "eslint-config",
      "package_manager": "pnpm",
      "path": "eslint.config.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "656b6d7a092d3c2362c69a80",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fcff7bb84937ab9b",
      "framework": "next-react",
      "imports": "next",
      "lines": 18,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "c8149fdac9a6633969ed1f09",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, sitemap | imports:@/lib/game/catalog, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "BASE_URL,sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc01be083c9c73d4",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "177785bbdcc9f539a5e64a05",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/lib/seo/jsonld, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b4a2fd6699e50fb",
      "framework": "next-react",
      "imports": "@/lib/seo/jsonld,@vercel/analytics/next,next,next/font/google",
      "lines": 122,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7589f809da3991dbc5bff58c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/lib/utils/logger, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "116dee980678ebf6",
      "framework": "next-react",
      "imports": "@/lib/utils/logger,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "16c353d29d3caa869e2b7214",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/landing/hero-section, @/components/layout/footer, @/components/layout/top-bar, @/components/seo/breadcrumb-jsonld, @/components/server-browser/server-list, @/lib/game/arena-state, @/lib/game/catalog, @/lib/server-browser/servers | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98e72c105b3e4896",
      "framework": "next-react",
      "imports": "@/components/landing/hero-section,@/components/layout/footer,@/components/layout/top-bar,@/components/seo/breadcrumb-jsonld,@/components/server-browser/server-list,@/lib/game/arena-state,@/lib/game/catalog,@/lib/server-browser/servers",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "414de10dd62cc4ca7dc0b918",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f1e1540f4ca3967",
      "framework": "next-react",
      "imports": "",
      "lines": 232,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "daf20336dfb66bddabdde079",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:@/lib/utils/logger, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fff6b46e46af1c99",
      "framework": "next-react",
      "imports": "@/lib/utils/logger,react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "global-error",
      "normalized_name": "global-error",
      "package_manager": "pnpm",
      "path": "app/global-error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cdabdb4451d78e526b243b0e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MapsPage, metadata | imports:@/components/content/quake-page-shell, @/lib/game/catalog, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MapsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a305dd0d43a15147",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/lib/game/catalog,next,next/link",
      "lines": 90,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/maps/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b994cc52b385fd537352b87d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/content/quake-page-shell, @/lib/game/catalog, next, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70cdae81dfbd060b",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/lib/game/catalog,next,next/link,next/navigation",
      "lines": 99,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/maps/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "e1ec659cad3ec9052388a539",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/game/catalog, @/lib/mcp/constants, @/lib/platform/metadata | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3e045ff195ec86f6",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/game/catalog,@/lib/mcp/constants,@/lib/platform/metadata",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "5555dbc2981e30c7e3b1aaff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2ff16a9df89e0c9d",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "710ec284bf4a9c7a4d2997eb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1466652bd7ec5650",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0f951749a3abd62a8ab58926",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage, metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/seo/breadcrumb-jsonld, @/components/settings/settings-panel, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SettingsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4030bc4aee3cb6c9",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/seo/breadcrumb-jsonld,@/components/settings/settings-panel,next",
      "lines": 29,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6368ac073e27abd9ba58c301",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/content/quake-page-shell, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a7bc03a384df144",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,next",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7399fe8825bb46894d567659",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModesPage, metadata | imports:@/components/content/quake-page-shell, @/lib/game/catalog, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ModesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6114367bb4c4a568",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/lib/game/catalog,next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/modes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,ai",
      "component_id": "d3de69db6ba5301211cee6ad",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/content/quake-page-shell, next | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e41aca09ab78f535",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,next",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b04566d1b516de779b96faeb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/seo/breadcrumb-jsonld, @/lib/seo/jsonld, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c400374701d85b49",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/seo/breadcrumb-jsonld,@/lib/seo/jsonld,next",
      "lines": 139,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "940889b3e49eb9a9a28f7fdf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform/metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d2fc4560e564a2fc",
      "framework": "next-react",
      "imports": "@/lib/platform/metadata,next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "962f4d05702a8843bae7f88d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/mcp/constants, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca3b3f7c2e89ebe7",
      "framework": "next-react",
      "imports": "@/lib/mcp/constants,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "8e1f7845e5c766665c6417a1",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET, runtime | imports:@/app/.well-known/agents.json/route | ai-score:75 | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "949456dfed616760",
      "framework": "next-react",
      "imports": "@/app/.well-known/agents.json/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "effdaea7a24a90b6d4168558",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/.well-known/trust.json/route | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f0ca21184cf55af1",
      "framework": "next-react",
      "imports": "@/app/.well-known/trust.json/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "03feade09f1e9eca655b5e89",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b32c1652350ecd9b",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "0606536c98928f39596820c6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a4bc18c20f28b632",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,ai",
      "component_id": "94b8478432fccddbe8944f9a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/mcp/constants | backend-score:125 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24b015ba185c092b",
      "framework": "next-react",
      "imports": "@/lib/mcp/constants",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "96bc9d5ce80ccc3cef12a81f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/content/quake-page-shell, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d5815c26391e223",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,next",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e6267730d715976fd79ff99e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WeaponsPage, metadata | imports:@/components/content/quake-page-shell, @/lib/game/catalog, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "WeaponsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0ab375c9baac3d1",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/lib/game/catalog,next",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/weapons/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d051c5872684207e276d3044",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content/quake-page-shell, @/lib/game/arena-state, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2052150f699831f",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/lib/game/arena-state,next",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/matches/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "55b1a4c1c70f876c59dfdbef",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/leaderboard/leaderboard-table, @/components/seo/breadcrumb-jsonld, @/lib/game/arena-state, next | frontend-score:115 | ui-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "380bef42647bf76b",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/leaderboard/leaderboard-table,@/components/seo/breadcrumb-jsonld,@/lib/game/arena-state,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/leaderboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "8ae562903867c320bf8a2944",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/game/catalog, @/lib/mcp/constants, @/lib/platform/metadata | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18dd69818877ee50",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/game/catalog,@/lib/mcp/constants,@/lib/platform/metadata",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2530efd6e5236b4b91719577",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/public",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/public/manifest.json | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a8fe2c1109aa8c0",
      "framework": "next-react",
      "imports": "@/public/manifest.json",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "4c9ccbc4eebfa4072d0e084a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ab45caf15087cde7",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "8abf16b078dd105a1b7cee88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "10672cd9107225b2",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/maps/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "485f22bb6246ecf80eca52a8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9eb3fb98568fd181",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/maps/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "32f17243ea1965d4ffcef409",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "326106c9e2196e54",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/bots/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "9867cdafdd5b9c44bbbb90d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "271eb41ad75f6695",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/modes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "29e55ca92b215f30dda323fb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9674577a7a503fac",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "f1f4f548db01803b3b42d7f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ef4d4de482b24c85",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/weapons/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "2500ae9bb6b9485ce3182b64",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/auth, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "862a0a0ee6053177",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/auth,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/matches/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6ee4ca38472b48caddfe0890",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a6fd56713bd51a96",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/matches/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2cd3dfee9069de15f531730c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/auth, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "251d9425f30edf80",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/auth,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/matches/[id]/record/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "c06ebd344c31e95ede6273a6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "acef7bad56f5a3fe",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/matches/[id]/join/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "2a9b7510a1404092df4a5505",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "16ac729daee8a128",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/matches/[id]/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "907fb9ba299c9cdf3f6c5eca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e77169b0e8d05230",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/matches/[id]/leave/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6b4ccfa1e5c4025cb5ac1fff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "494c91dd57dbaa87",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/leaderboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "6c25701e62af572dbab6ae7e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4a889af1a09e00a3",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/game/config/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,automation",
      "component_id": "7c54a262e485f97815ac17cd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "765c5921449b5d48",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/game/manifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,logic,frontend,observability,automation",
      "component_id": "e347fe2ba30c39d6f1d405e4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/model/quake-model, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | ai-score:120 | logic-score:60 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bff906eb52c28f31",
      "framework": "next-react",
      "imports": "@/lib/model/quake-model,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/model/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend",
      "component_id": "7948d1312430ed31bedaa97f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/events/route | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "260c3994f1a0a72b",
      "framework": "next-react",
      "imports": "@/app/api/events/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "db6d3d8f6ba48072ed58e067",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fbe7cbadb2d3ef85",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/practice/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8ba53ddbe3e87569913ddfd9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0c295b879c323002",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/practice/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5b3a7287cf77ef8188173605",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba38df46605627fa",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/practice/[id]/record/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "9962fd35a1ffd71d7d96f31c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "936759076ed6ee84",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/performance/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,automation",
      "component_id": "0ce0a12fd063a0e8c786d794",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, runtime | imports:@/app/api/webhooks/route | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "POST,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e44f300fb7489041",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,automation",
      "component_id": "08991c291a0ce399d4f1eb4f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "77e8b710b4da04f2",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "8dad72ba0cadd00c6a3f5d00",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/auth, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76f5c47d17bebc79",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/auth,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/servers/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "20f0547542e60f82827661ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/auth, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebdcf41e617fef9c",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/auth,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/servers/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d7945e5f4a1394b2cf06e4fb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/auth, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4fcad2e79edeb573",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/auth,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/servers/[id]/heartbeat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "568f76c31d17a963c4e7a9f1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5f2ba48fddabe10",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,frontend,observability,automation",
      "component_id": "767f55587422be6ed5ca91f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/catalog, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "866a02c0ae55431b",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 20,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/player/local-schema/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e0296dacca734e5a14dcd15d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42926c90f49534b3",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "f97e384417b8d2ff7ca52091",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/mcp/constants, @/lib/mcp/methods, @/lib/platform/auth, @/lib/platform/metadata, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5017f794b1892873",
      "framework": "next-react",
      "imports": "@/lib/mcp/constants,@/lib/mcp/methods,@/lib/platform/auth,@/lib/platform/metadata,next/server",
      "lines": 160,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation,ai",
      "component_id": "7c83daf6acacd996d9b99379",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:buildOpenApiSpec, runtime | imports:@/lib/mcp/constants, @/lib/platform/metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "buildOpenApiSpec,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ed442229ebb78249",
      "framework": "next-react",
      "imports": "@/lib/mcp/constants,@/lib/platform/metadata,next/server",
      "lines": 130,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,security,discovery,process",
      "component_id": "2411ed93504d1da343647bcd",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "52a70a0bb795e668",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "app/api/docs/openapi.json",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability,security",
      "component_id": "dadcdb236cd48676b14a28d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:db, runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "db,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0f5ef647a76f966d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/errors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "421fcd6e991a7f8d81a6f3c6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/auth, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5d040a22f8137209",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/auth,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "db18e5c097e10fc0d5227767",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/platform/metadata, @/lib/platform/response, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "27ad828641636372",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/platform/metadata,@/lib/platform/response,next/server",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "ead4b0cd5d71edd4fd208672",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/multiplayer/session-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f47d33d44140ee3",
      "framework": "next-react",
      "imports": "@/lib/multiplayer/session-store,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/multiplayer/sessions/[sessionId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "bfee946474aa66f6299a91d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/multiplayer/session-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5500c7fa35ff49c6",
      "framework": "next-react",
      "imports": "@/lib/multiplayer/session-store,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/multiplayer/sessions/[sessionId]/join/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "17f85a31e1c0a8cb1944704a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/multiplayer/session-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b469074a4d4a154d",
      "framework": "next-react",
      "imports": "@/lib/multiplayer/session-store,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/multiplayer/sessions/[sessionId]/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "e56fb1356eac410975a039a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/multiplayer/session-store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67765ec6e23d188e",
      "framework": "next-react",
      "imports": "@/lib/multiplayer/session-store,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/multiplayer/sessions/[sessionId]/leave/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "772245ab118eb44496828de6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/app/sitemap | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc5ecd4b32b896d9",
      "framework": "next-react",
      "imports": "@/app/sitemap",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,security,discovery",
      "component_id": "783bb155bc504d9b995fe6a9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/app/api/docs/route | backend-score:125 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2fab282665f9a0ef",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "38bdee4921af728ca0305e16",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/game/arena-state, @/lib/game/catalog, @/lib/mcp/constants, @/lib/platform/metadata | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "34df30fe1e43ca15",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state,@/lib/game/catalog,@/lib/mcp/constants,@/lib/platform/metadata",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6d2f15d3682880aa38e88813",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/public",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/public/manifest.json | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a8fe2c1109aa8c0",
      "framework": "next-react",
      "imports": "@/public/manifest.json",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "726c55c4662f9daf4384aad5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlayPage | imports:@/components/game/end-screen, @/components/game/game-canvas, @/components/seo/breadcrumb-jsonld, @/components/server-browser/loading-console, @/hooks/use-multiplayer, @/lib/game/constants, @/lib/game/settings, @/lib/stores/game-store | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PlayPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af22d30433e57067",
      "framework": "next-react",
      "imports": "@/components/game/end-screen,@/components/game/game-canvas,@/components/seo/breadcrumb-jsonld,@/components/server-browser/loading-console,@/hooks/use-multiplayer,@/lib/game/constants,@/lib/game/settings,@/lib/stores/game-store,next/dynamic,next/navigation,react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/play/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "57f9671b745b5dcdac8c0fc8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/app/api/docs/route | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dfe77a9d5bc6498b",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui",
      "component_id": "45dd64244818bea426991bee",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content/quake-page-shell, @/components/server-browser/server-list, @/lib/server-browser/servers, next | frontend-score:115 | ui-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6681db162bc5d65",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/components/server-browser/server-list,@/lib/server-browser/servers,next",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/servers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "564075d1628209cc74670564",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/content/quake-page-shell, @/lib/game/arena-state, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c86eb6107259a254",
      "framework": "next-react",
      "imports": "@/components/content/quake-page-shell,@/lib/game/arena-state,next",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/stats/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "b52ee0fc6d9340e07d8a1b61",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:act | imports:react | logic-score:45",
      "exports": "act",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "567e1dfbc3600c4a",
      "framework": "next-react",
      "imports": "react",
      "lines": 3,
      "logic_relevance": "primary",
      "name": "react-dom-test-utils",
      "normalized_name": "react-dom-test-utils",
      "package_manager": "pnpm",
      "path": "test/react-dom-test-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "1178d9386cb250f4fdf3f914",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "53af8129455ec4d2831e12cc",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6d3a76724de8646e9641c306",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "088ed2a19fd69914a2ebef38",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fc6dbad08719498d21a1b87e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "13299f70e21e92d22b0374d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3a21808a26b0804e9780b050",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7889ee1723a70dd9fa7a44d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2592aed354d3ba6a7fb6bd47",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "4e10fbae53a5e243b3e513be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1b13667df2b96d2489f44d8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bf8ce35ce495966302b5852b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "67669f4b4b79f1d9d3a5b0fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "6ecce7ada46edb719f00800b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9c875daeb0cc43c04b198bbb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "98efdfca263463a1f4f5b595",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./chart/index | ui-score:125 | frontend-score:85",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9a91da07de82f53b",
      "framework": "next-react",
      "imports": "./chart/index",
      "lines": 3,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4407a81f2a47d8f9190b8010",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "66b3e96dd966f90b27b3a231",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0086e2b3def20633b2986f3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d10b5e98860fa15627b0ee62",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a5e1438a351bffa80097e1c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "f6e5345070cf6eeff702ceb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9515e8b28fb37d26c6151742",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7bd21becc75643624b59cba2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9c0a1b100e9a1c721d90acad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "59536187c236f0c59a0a84a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c2fecb0350bfcf7d63a5fa6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "02085a6fdf5a134dcb5ce89d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b1c9b78807b75c23f6c9a7c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d20d8d5cbd72038efb8a9eea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "faf6186cf17b34c6ed17dcc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e16ee43042075b2cca858f44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "898ff06b89344782ce0dde83",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "682382a11ad89da503f75f34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e0eb2a3711f9d97aafa72ff5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "277e1a9027cd7138ff8822a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6909a9e78d5c9e185b3bfa9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ce405f557162ced629dc2647",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "3a84ba66649176ca4fc299c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3aa5cd8161497d8f1ffd2ca7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0ae8a4ec25ced3787c427ab5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a1583b1da5950ed2d024c8bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ffcff729fbcd7b613ead6725",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d86ea219cd83625417bbcbf1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "15f885beee6b03b7cd3a8e6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bf369a94b02239dcf607e4b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1b27218cc1b617f6e7abb7d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1c0713600648678fb420a6eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "40a25411ae4d4a942b2fd1c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2a0e6991c4ab4fa12618fa69",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2395e5751efa171ca7211b30",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9fc0bec0d6ac7d46b466066b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d69e254e91ff93babdf8c5a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "38b00ed3b7ad806d4d8f48dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5ec670e00d538cd7e5a921ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ef551c6d7d309cd7eed09d4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "dbbddce9defc5a9602a94292",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "aaef2255ad9131382e762963",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,security",
      "component_id": "616ddc2fa019dfc93a70efe3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContext, THEMES, useChart | imports:react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ChartConfig,ChartContext,THEMES,useChart",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4a0007755fb58f51",
      "framework": "next-react",
      "imports": "react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "chart-context",
      "normalized_name": "chart-context",
      "package_manager": "pnpm",
      "path": "components/ui/chart/chart-context.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,security",
      "component_id": "379b9d5e406f85bf3168dea3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartLegend, ChartLegendContent | imports:./chart-context, ./chart-utils, @/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ChartLegend,ChartLegendContent",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d2a9ebd86842d593",
      "framework": "next-react",
      "imports": "./chart-context,./chart-utils,@/lib/utils,react,recharts",
      "lines": 64,
      "logic_relevance": "none",
      "name": "chart-legend",
      "normalized_name": "chart-legend",
      "package_manager": "pnpm",
      "path": "components/ui/chart/chart-legend.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "716efb0fa712cc48df686f1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartContainer | imports:./chart-context, ./chart-style, @/lib/utils, react, recharts | ui-score:140 | frontend-score:115",
      "exports": "ChartContainer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05ed941fc5eefad4",
      "framework": "next-react",
      "imports": "./chart-context,./chart-style,@/lib/utils,react,recharts",
      "lines": 43,
      "logic_relevance": "none",
      "name": "chart-container",
      "normalized_name": "chart-container",
      "package_manager": "pnpm",
      "path": "components/ui/chart/chart-container.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend,security",
      "component_id": "07b7581a00d0522da1f0d13b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartStyle | imports:./chart-context, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ChartStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34342feaad8c8b11",
      "framework": "next-react",
      "imports": "./chart-context,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "chart-style",
      "normalized_name": "chart-style",
      "package_manager": "pnpm",
      "path": "components/ui/chart/chart-style.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "db27f85fd1b50516ee59d7f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartTooltip, ChartTooltipContent | imports:./chart-context, ./chart-utils, @/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78a830e371ba8a5c",
      "framework": "next-react",
      "imports": "./chart-context,./chart-utils,@/lib/utils,react,recharts",
      "lines": 154,
      "logic_relevance": "none",
      "name": "chart-tooltip",
      "normalized_name": "chart-tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/chart/chart-tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,logic,security",
      "component_id": "318c2fa61c195a24aa08f828",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:getPayloadConfigFromPayload | imports:./chart-context | ui-score:70 | logic-score:60 | security-score:55",
      "exports": "getPayloadConfigFromPayload",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e6de6c6c50177a36",
      "framework": "next-react",
      "imports": "./chart-context",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "chart-utils",
      "normalized_name": "chart-utils",
      "package_manager": "pnpm",
      "path": "components/ui/chart/chart-utils.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "182b452a0e7db6cba846f7ac",
      "component_kind": "ui-primitive",
      "confidence": 70,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./chart-container, ./chart-context, ./chart-legend, ./chart-style, ./chart-tooltip, ./chart-utils | ui-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0bd91e09251c33c0",
      "framework": "next-react",
      "imports": "./chart-container,./chart-context,./chart-legend,./chart-style,./chart-tooltip,./chart-utils",
      "lines": 6,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/chart/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e3c58da5df28e30999547e89",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioSettings, CrosshairSettings, GraphicsSettings, KeyBindingsSettings, MouseSettings, PlayerSettings, SystemInfoSettings | imports:./constants, ./crosshair-preview, ./types, ./ui-components, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AudioSettings,CrosshairSettings,GraphicsSettings,KeyBindingsSettings,MouseSettings,PlayerSettings,SystemInfoSettings",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "54c5755e51b32368",
      "framework": "next-react",
      "imports": "./constants,./crosshair-preview,./types,./ui-components,lucide-react",
      "lines": 211,
      "logic_relevance": "none",
      "name": "settings-sections",
      "normalized_name": "settings-sections",
      "package_manager": "pnpm",
      "path": "components/settings/settings-sections.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ff9457663267592aec8e5a46",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OptionGroup, SettingSection, SliderSetting, ToggleSetting | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OptionGroup,SettingSection,SliderSetting,ToggleSetting",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d4f8590c19d4c2af",
      "framework": "next-react",
      "imports": "react",
      "lines": 112,
      "logic_relevance": "none",
      "name": "ui-components",
      "normalized_name": "ui-components",
      "package_manager": "pnpm",
      "path": "components/settings/ui-components.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a40c58ad62b15874295fcea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPanel | imports:./constants, ./settings-sections, ./types, @/lib/utils/logger, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SettingsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b555994fa63bdb07",
      "framework": "next-react",
      "imports": "./constants,./settings-sections,./types,@/lib/utils/logger,lucide-react,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "settings-panel",
      "normalized_name": "settings-panel",
      "package_manager": "pnpm",
      "path": "components/settings/settings-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "b91f1b842307d67e9e32c370",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CrosshairPreview | frontend-score:85 | ui-score:55",
      "exports": "CrosshairPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e84a42c14181f14b",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "crosshair-preview",
      "normalized_name": "crosshair-preview",
      "package_manager": "pnpm",
      "path": "components/settings/crosshair-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "security",
      "component_id": "6ebff8182b16159ae363cdda",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Security component for media; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:CROSSHAIR_COLORS, CROSSHAIR_STYLES, DEFAULT_SETTINGS, KEY_BINDINGS, PARTICLE_OPTIONS | imports:./types | security-score:55",
      "exports": "CROSSHAIR_COLORS,CROSSHAIR_STYLES,DEFAULT_SETTINGS,KEY_BINDINGS,PARTICLE_OPTIONS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c76d62e10a6e328",
      "framework": "next-react",
      "imports": "./types",
      "lines": 58,
      "logic_relevance": "none",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "components/settings/constants.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4b09f261b83d551eab3693ea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/kbd, @/lib/game/constants, @/lib/utils, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9cf309e86495e20a",
      "framework": "next-react",
      "imports": "@/components/ui/kbd,@/lib/game/constants,@/lib/utils,lucide-react,next/image,next/link,react",
      "lines": 297,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/landing/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation,ai",
      "component_id": "246faf8c55c5af680e0854a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoadingConsole | imports:react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "LoadingConsole",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "97466aee0ad527ae",
      "framework": "next-react",
      "imports": "react",
      "lines": 182,
      "logic_relevance": "none",
      "name": "loading-console",
      "normalized_name": "loading-console",
      "package_manager": "pnpm",
      "path": "components/server-browser/loading-console.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "c2b9b27cb06aa657a009d8af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServerList | imports:@/lib/game/constants, @/lib/server-browser/servers, @/lib/utils, lucide-react, next/image, next/navigation, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ServerList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e13e2258ce22251",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/server-browser/servers,@/lib/utils,lucide-react,next/image,next/navigation,react",
      "lines": 576,
      "logic_relevance": "none",
      "name": "server-list",
      "normalized_name": "server-list",
      "package_manager": "pnpm",
      "path": "components/server-browser/server-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e9d6893b5232454e762fe8ff",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuakeLogo | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "QuakeLogo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "30a70a0704819a4b",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "quake-logo",
      "normalized_name": "quake-logo",
      "package_manager": "pnpm",
      "path": "components/layout/quake-logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3baaded540b3abd73d235429",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:./quake-logo, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dedd38fa7c1719af",
      "framework": "next-react",
      "imports": "./quake-logo,next/image,next/link",
      "lines": 101,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "563f6581af074b06cbfdffb7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:./quake-logo, @/components/ui/avatar, @/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11638b771055b92b",
      "framework": "next-react",
      "imports": "./quake-logo,@/components/ui/avatar,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 132,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d2e48f5c78bef4dfa0b5652c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CapabilityBadge, QuakePageShell | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/seo/breadcrumb-jsonld, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CapabilityBadge,QuakePageShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0679f7747a8ad666",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/seo/breadcrumb-jsonld,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "quake-page-shell",
      "normalized_name": "quake-page-shell",
      "package_manager": "pnpm",
      "path": "components/content/quake-page-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a92ae6df6e3a87d82714dd16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LeaderboardEntry, LeaderboardTable | imports:@/components/ui/avatar, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LeaderboardEntry,LeaderboardTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d41c256015dc8182",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/lib/utils,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "leaderboard-table",
      "normalized_name": "leaderboard-table",
      "package_manager": "pnpm",
      "path": "components/leaderboard/leaderboard-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "63ab32dfc2ffd4761a156202",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,@react-three/rapier,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GameCanvas | imports:./ai/bot-manager, ./arena-map, ./environment/skybox, ./hud/hud-overlay, ./multiplayer/remote-player-manager, ./pickups/pickup-manager, ./player-controller, ./weapons/projectile-manager | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GameCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6c17c770743e226",
      "framework": "next-react",
      "imports": "./ai/bot-manager,./arena-map,./environment/skybox,./hud/hud-overlay,./multiplayer/remote-player-manager,./pickups/pickup-manager,./player-controller,./weapons/projectile-manager,./weapons/weapon-viewmodel,@/lib/game/constants,@/lib/game/maps,@/lib/game/settings,@/lib/stores/game-store,@react-three/fiber,@react-three/rapier,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "game-canvas",
      "normalized_name": "game-canvas",
      "package_manager": "pnpm",
      "path": "components/game/game-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "37d22b846b4604f8b631deee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,@react-three/rapier,react,three",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArenaMap | imports:./environment/jump-pad, ./environment/kill-volume, ./environment/teleporter, @/lib/game/constants, @/lib/game/maps, @react-three/fiber, @react-three/rapier, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ArenaMap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aee880783d2a1860",
      "framework": "next-react",
      "imports": "./environment/jump-pad,./environment/kill-volume,./environment/teleporter,@/lib/game/constants,@/lib/game/maps,@react-three/fiber,@react-three/rapier,react,three",
      "lines": 322,
      "logic_relevance": "none",
      "name": "arena-map",
      "normalized_name": "arena-map",
      "package_manager": "pnpm",
      "path": "components/game/arena-map.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,backend,security",
      "component_id": "47727173da1ed67bd3e8bdc8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/rapier,react",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlayerController | imports:./player/use-player-input, ./player/use-player-movement, ./player/use-player-physics, ./player/use-player-weapons, @/lib/game/constants, @react-three/rapier, react | frontend-score:115 | ui-score:70 | backend-score:55 | security-score:55",
      "exports": "PlayerController",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2e8c534c02e4d88",
      "framework": "next-react",
      "imports": "./player/use-player-input,./player/use-player-movement,./player/use-player-physics,./player/use-player-weapons,@/lib/game/constants,@react-three/rapier,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "player-controller",
      "normalized_name": "player-controller",
      "package_manager": "pnpm",
      "path": "components/game/player-controller.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "291813f2b76d98b7031008d4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EndScreen | imports:@/lib/game/constants, @/lib/stores/game-store, @/lib/utils, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EndScreen",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "931468237f50d55b",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/stores/game-store,@/lib/utils,next/link,react",
      "lines": 223,
      "logic_relevance": "none",
      "name": "end-screen",
      "normalized_name": "end-screen",
      "package_manager": "pnpm",
      "path": "components/game/end-screen.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security,ai",
      "component_id": "ee53fe8db6c4546e149f960e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,react,three",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:WeaponViewModel | imports:@/lib/game/constants, @/lib/stores/game-store, @react-three/fiber, react, three | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "WeaponViewModel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "393bf64db1dd1bf5",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/stores/game-store,@react-three/fiber,react,three",
      "lines": 291,
      "logic_relevance": "none",
      "name": "weapon-viewmodel",
      "normalized_name": "weapon-viewmodel",
      "package_manager": "pnpm",
      "path": "components/game/weapons/weapon-viewmodel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,ui,security,automation",
      "component_id": "586535debeaf411839bd3cb2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,@react-three/fiber,react,three",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectileManager, queueProjectile | imports:@/hooks/use-multiplayer, @/lib/game/audio-engine, @/lib/game/bot-positions, @/lib/game/bot-states, @/lib/stores/game-store, @react-three/fiber, react, three | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "ProjectileManager,queueProjectile",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01be82c1294cfc11",
      "framework": "next-react",
      "imports": "@/hooks/use-multiplayer,@/lib/game/audio-engine,@/lib/game/bot-positions,@/lib/game/bot-states,@/lib/stores/game-store,@react-three/fiber,react,three",
      "lines": 428,
      "logic_relevance": "none",
      "name": "projectile-manager",
      "normalized_name": "projectile-manager",
      "package_manager": "pnpm",
      "path": "components/game/weapons/projectile-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "46a21d885bbbcd3c42286170",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileController | imports:@/hooks/use-multiplayer, @/lib/game/constants, @/lib/game/mobile-input, @/lib/stores/game-store, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MobileController",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b63895b4826920ba",
      "framework": "next-react",
      "imports": "@/hooks/use-multiplayer,@/lib/game/constants,@/lib/game/mobile-input,@/lib/stores/game-store,lucide-react,react",
      "lines": 499,
      "logic_relevance": "none",
      "name": "mobile-controller",
      "normalized_name": "mobile-controller",
      "package_manager": "pnpm",
      "path": "components/game/mobile/mobile-controller.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ai,ui,security",
      "component_id": "b627e4c7b28d05a95d71ecff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,@react-three/rapier,react,three",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:BotEntityRef, BotManager | imports:../weapons/projectile-manager, @/lib/game/audio-engine, @/lib/game/bot-positions, @/lib/game/constants, @/lib/stores/game-store, @react-three/fiber, @react-three/rapier, react | frontend-score:115 | ai-score:75 | ui-score:70 | security-score:55",
      "exports": "BotEntityRef,BotManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ea21dc42847f97e",
      "framework": "next-react",
      "imports": "../weapons/projectile-manager,@/lib/game/audio-engine,@/lib/game/bot-positions,@/lib/game/constants,@/lib/stores/game-store,@react-three/fiber,@react-three/rapier,react,three",
      "lines": 290,
      "logic_relevance": "none",
      "name": "bot-manager",
      "normalized_name": "bot-manager",
      "package_manager": "pnpm",
      "path": "components/game/ai/bot-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "8c145b92b19054ca733c4a4c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@react-three/fiber,@react-three/rapier,react,three",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:JumpPad | imports:@react-three/fiber, @react-three/rapier, react, three | frontend-score:115 | ui-score:70",
      "exports": "JumpPad",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b42a6f69e16d5ce",
      "framework": "next-react",
      "imports": "@react-three/fiber,@react-three/rapier,react,three",
      "lines": 75,
      "logic_relevance": "none",
      "name": "jump-pad",
      "normalized_name": "jump-pad",
      "package_manager": "pnpm",
      "path": "components/game/environment/jump-pad.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "c12de1dc70e8b99ea5dc480f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,react,three",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpaceSkybox | imports:@/lib/game/constants, @react-three/fiber, react, three | frontend-score:115 | ui-score:70",
      "exports": "SpaceSkybox",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7abda63df404ab03",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@react-three/fiber,react,three",
      "lines": 196,
      "logic_relevance": "none",
      "name": "skybox",
      "normalized_name": "skybox",
      "package_manager": "pnpm",
      "path": "components/game/environment/skybox.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "b6a87f6f8a9741b93af077de",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@react-three/fiber,@react-three/rapier,react,three",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:Teleporter | imports:@react-three/fiber, @react-three/rapier, react, three | frontend-score:115 | ui-score:70",
      "exports": "Teleporter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96429d044256ebc1",
      "framework": "next-react",
      "imports": "@react-three/fiber,@react-three/rapier,react,three",
      "lines": 67,
      "logic_relevance": "none",
      "name": "teleporter",
      "normalized_name": "teleporter",
      "package_manager": "pnpm",
      "path": "components/game/environment/teleporter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "def726b64e300df0686fd9ef",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@react-three/rapier",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:KillVolume | imports:@react-three/rapier | frontend-score:85 | ui-score:55",
      "exports": "KillVolume",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66a4bfd63cc06a0f",
      "framework": "next-react",
      "imports": "@react-three/rapier",
      "lines": 17,
      "logic_relevance": "none",
      "name": "kill-volume",
      "normalized_name": "kill-volume",
      "package_manager": "pnpm",
      "path": "components/game/environment/kill-volume.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "048fd8a0ca50e0e4fcb5fa62",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/drei,@react-three/fiber,react,three,zustand",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:RemotePlayerManager | imports:@/lib/game/constants, @/lib/stores/game-store, @react-three/drei, @react-three/fiber, react, three, zustand/react/shallow | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RemotePlayerManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1cc5a48f7bd39137",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/stores/game-store,@react-three/drei,@react-three/fiber,react,three,zustand/react/shallow",
      "lines": 113,
      "logic_relevance": "none",
      "name": "remote-player-manager",
      "normalized_name": "remote-player-manager",
      "package_manager": "pnpm",
      "path": "components/game/multiplayer/remote-player-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "7655cc61f656fb39b9ad0d2c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,react,three",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PickupManager | imports:@/lib/game/audio-engine, @/lib/game/constants, @/lib/game/maps, @/lib/stores/game-store, @react-three/fiber, react, three | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "PickupManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7aa6b1c546597e78",
      "framework": "next-react",
      "imports": "@/lib/game/audio-engine,@/lib/game/constants,@/lib/game/maps,@/lib/stores/game-store,@react-three/fiber,react,three",
      "lines": 183,
      "logic_relevance": "none",
      "name": "pickup-manager",
      "normalized_name": "pickup-manager",
      "package_manager": "pnpm",
      "path": "components/game/pickups/pickup-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "ffdc71ea1d608be0c34fc65a",
      "component_kind": "frontend-hook",
      "confidence": 100,
      "dependency_roots": "@/lib,@react-three/fiber,@react-three/rapier,react,three",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MultiplayerPlayerUpdate, shouldBroadcastPlayerUpdate, usePlayerMovement | imports:../../../hooks/use-multiplayer, @/lib/game/audio-engine, @/lib/game/constants, @/lib/game/mobile-input, @/lib/game/player-position, @/lib/stores/game-store, @react-three/fiber, @react-three/rapier | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "MultiplayerPlayerUpdate,shouldBroadcastPlayerUpdate,usePlayerMovement",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76292c337b942b16",
      "framework": "next-react",
      "imports": "../../../hooks/use-multiplayer,@/lib/game/audio-engine,@/lib/game/constants,@/lib/game/mobile-input,@/lib/game/player-position,@/lib/stores/game-store,@react-three/fiber,@react-three/rapier,react,three",
      "lines": 235,
      "logic_relevance": "none",
      "name": "use-player-movement",
      "normalized_name": "use-player-movement",
      "package_manager": "pnpm",
      "path": "components/game/player/use-player-movement.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend",
      "component_id": "0811f3a75f30cecbb07c2d59",
      "component_kind": "frontend-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,@react-three/rapier,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:usePlayerPhysics | imports:@/lib/game/audio-engine, @react-three/rapier, react | frontend-score:55",
      "exports": "usePlayerPhysics",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71193271dfcc9e92",
      "framework": "next-react",
      "imports": "@/lib/game/audio-engine,@react-three/rapier,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "use-player-physics",
      "normalized_name": "use-player-physics",
      "package_manager": "pnpm",
      "path": "components/game/player/use-player-physics.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend",
      "component_id": "533d0de3ee465197670c9ac3",
      "component_kind": "frontend-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,@react-three/fiber,react,three",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:usePlayerWeapons | imports:../../../hooks/use-multiplayer, ../weapons/projectile-manager, @/lib/game/audio-engine, @/lib/game/bot-positions, @/lib/game/bot-states, @/lib/game/constants, @/lib/game/mobile-input, @/lib/stores/game-store | frontend-score:55",
      "exports": "usePlayerWeapons",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4a980203a8b45186",
      "framework": "next-react",
      "imports": "../../../hooks/use-multiplayer,../weapons/projectile-manager,@/lib/game/audio-engine,@/lib/game/bot-positions,@/lib/game/bot-states,@/lib/game/constants,@/lib/game/mobile-input,@/lib/stores/game-store,@react-three/fiber,react,three",
      "lines": 253,
      "logic_relevance": "none",
      "name": "use-player-weapons",
      "normalized_name": "use-player-weapons",
      "package_manager": "pnpm",
      "path": "components/game/player/use-player-weapons.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "358fef93a1399eaf95c5ea4b",
      "component_kind": "frontend-hook",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:usePlayerInput | imports:@/lib/game/audio-engine, @/lib/game/constants, @/lib/game/mobile-input, @/lib/game/settings, @/lib/stores/game-store, @/lib/utils/logger, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "usePlayerInput",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4d3f704b8904315c",
      "framework": "next-react",
      "imports": "@/lib/game/audio-engine,@/lib/game/constants,@/lib/game/mobile-input,@/lib/game/settings,@/lib/stores/game-store,@/lib/utils/logger,react",
      "lines": 186,
      "logic_relevance": "none",
      "name": "use-player-input",
      "normalized_name": "use-player-input",
      "package_manager": "pnpm",
      "path": "components/game/player/use-player-input.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "95bb0f5f2976bc96e3ad85ae",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Minimap | imports:@/lib/game/bot-positions, @/lib/game/constants, @/lib/game/player-position, @/lib/stores/game-store, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Minimap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2f34c601f7e4bad",
      "framework": "next-react",
      "imports": "@/lib/game/bot-positions,@/lib/game/constants,@/lib/game/player-position,@/lib/stores/game-store,react",
      "lines": 162,
      "logic_relevance": "none",
      "name": "minimap",
      "normalized_name": "minimap",
      "package_manager": "pnpm",
      "path": "components/game/hud/minimap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e82960e36ce97ddc4041e928",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScreenEffects | imports:@/lib/stores/game-store, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ScreenEffects",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f87a7b5961a03ae",
      "framework": "next-react",
      "imports": "@/lib/stores/game-store,react",
      "lines": 285,
      "logic_relevance": "none",
      "name": "screen-effects",
      "normalized_name": "screen-effects",
      "package_manager": "pnpm",
      "path": "components/game/hud/screen-effects.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "66b63134d08f55cf7a768a68",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:Crosshair | imports:@/lib/game/constants, @/lib/game/settings | frontend-score:85 | ui-score:55",
      "exports": "Crosshair",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c67ef0e2d82657e",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/game/settings",
      "lines": 96,
      "logic_relevance": "none",
      "name": "crosshair",
      "normalized_name": "crosshair",
      "package_manager": "pnpm",
      "path": "components/game/hud/crosshair.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "dd38ea5b70b258cf7a0518cd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Scoreboard | imports:@/lib/stores/game-store, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Scoreboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e601a3027c09646",
      "framework": "next-react",
      "imports": "@/lib/stores/game-store,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "scoreboard",
      "normalized_name": "scoreboard",
      "package_manager": "pnpm",
      "path": "components/game/hud/scoreboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "f3b7994a187c84db3512337a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,zustand",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KillFeed | imports:@/lib/game/constants, @/lib/stores/game-store, zustand/react/shallow | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "KillFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54c8795194e9a026",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/stores/game-store,zustand/react/shallow",
      "lines": 63,
      "logic_relevance": "none",
      "name": "kill-feed",
      "normalized_name": "kill-feed",
      "package_manager": "pnpm",
      "path": "components/game/hud/kill-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "cf203317aedca5f9d8390c42",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HUDOverlay | imports:./crosshair, ./kill-feed, ./minimap, ./scoreboard, ./screen-effects, @/components/game/mobile/mobile-controller, @/components/ui/kbd, @/hooks/use-mobile | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HUDOverlay",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "553089a3787854f6",
      "framework": "next-react",
      "imports": "./crosshair,./kill-feed,./minimap,./scoreboard,./screen-effects,@/components/game/mobile/mobile-controller,@/components/ui/kbd,@/hooks/use-mobile,@/lib/game/constants,@/lib/game/settings,@/lib/stores/game-store,@/lib/utils,lucide-react,react",
      "lines": 426,
      "logic_relevance": "none",
      "name": "hud-overlay",
      "normalized_name": "hud-overlay",
      "package_manager": "pnpm",
      "path": "components/game/hud/hud-overlay.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c034e6dc567b9a93917724f7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbItem, BreadcrumbJsonLd | imports:@/lib/seo/jsonld | frontend-score:85 | ui-score:55",
      "exports": "BreadcrumbItem,BreadcrumbJsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db88cfd1f671c845",
      "framework": "next-react",
      "imports": "@/lib/seo/jsonld",
      "lines": 31,
      "logic_relevance": "none",
      "name": "breadcrumb-jsonld",
      "normalized_name": "breadcrumb-jsonld",
      "package_manager": "pnpm",
      "path": "components/seo/breadcrumb-jsonld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "f60bc8ae798c5a3cafa44d55",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c434a0de69614c4a",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f06c31e7316b6fc4ce591d27",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/page, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "761992a8d7640341",
      "framework": "next-react",
      "imports": "@/app/page,@testing-library/react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "89e052f3856bf13ac3994709",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/sitemap | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07eb09ef27b865e7",
      "framework": "next-react",
      "imports": "@/app/sitemap",
      "lines": 64,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/app/sitemap.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "d285acde4f62a2b1a12290c5",
      "component_kind": "discovery-artifact",
      "confidence": 75,
      "dependency_roots": "@/app",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:@/app/robots | discovery-score:55 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "251cc719c232908c",
      "framework": "next-react",
      "imports": "@/app/robots",
      "lines": 29,
      "logic_relevance": "none",
      "name": "robots.test",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "__tests__/app/robots.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend",
      "component_id": "604a64122888d44f74dc0a52",
      "component_kind": "frontend-feature",
      "confidence": 75,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/seo/breadcrumb-jsonld, react | frontend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d36b9d48f2f5ab1",
      "framework": "next-react",
      "imports": "@/components/seo/breadcrumb-jsonld,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "breadcrumb-jsonld.test",
      "normalized_name": "breadcrumb-jsonld",
      "package_manager": "pnpm",
      "path": "__tests__/app/breadcrumb-jsonld.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "263574fe478dbb81d517e9a8",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/llms.txt/route | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1164c142cfea7f15",
      "framework": "next-react",
      "imports": "@/app/llms.txt/route",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/llms.txt/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7c4231b77df99c0322beda20",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/settings/page, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd77291b775c087d",
      "framework": "next-react",
      "imports": "@/app/settings/page,@testing-library/react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/settings/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "0431d5192ecfcfaaea93075b",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/faq/page, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d28d41ff50570314",
      "framework": "next-react",
      "imports": "@/app/faq/page,@testing-library/react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/faq/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,observability,security",
      "component_id": "53307910566e3e737ccb84fc",
      "component_kind": "mcp",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/.well-known/mcp.json/route | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6874b7ac4933522e",
      "framework": "next-react",
      "imports": "@/app/.well-known/mcp.json/route",
      "lines": 113,
      "logic_relevance": "none",
      "name": "mcp-json.test",
      "normalized_name": "mcp-json",
      "package_manager": "pnpm",
      "path": "__tests__/app/.well-known/mcp-json.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "6a6aa712f09319de925c61a1",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/leaderboard/page, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85159a489b83d45c",
      "framework": "next-react",
      "imports": "@/app/leaderboard/page,@testing-library/react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/leaderboard/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,observability,security",
      "component_id": "209c2f593cb8f5efbc23a0fe",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/errors/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72403b5829f06f61",
      "framework": "next-react",
      "imports": "@/app/api/errors/route,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "errors.test",
      "normalized_name": "errors",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/errors.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,integration,observability,security,automation",
      "component_id": "36f286a49fda7622cb3238f0",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,crypto,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/webhooks/route, crypto, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9476dff79846967e",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/route,crypto,next/server",
      "lines": 89,
      "logic_relevance": "none",
      "name": "webhooks.test",
      "normalized_name": "webhooks",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/webhooks.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,observability,security",
      "component_id": "8ac490cd691705a097c90b7c",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/events/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1771a593c851637b",
      "framework": "next-react",
      "imports": "@/app/api/events/route,next/server",
      "lines": 96,
      "logic_relevance": "none",
      "name": "events.test",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/events.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security,discovery,process,ai",
      "component_id": "09e9a0c40e664ff982a001ca",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae12a8b5569159a1",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 21,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "44b80c14df09bdc699fa6710",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "47aa1ffdbc95091a",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 22,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,observability,security",
      "component_id": "2d9cca464338586d96ba090e",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/matches/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "995f2e268b31e730",
      "framework": "next-react",
      "imports": "@/app/api/v1/matches/route,next/server",
      "lines": 143,
      "logic_relevance": "none",
      "name": "matches.test",
      "normalized_name": "matches",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/matches.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation,ai",
      "component_id": "42918c6143ecdf8759538b3f",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/game/config/route, @/app/api/v1/game/manifest/route, @/app/api/v1/maps/[id]/route, @/app/api/v1/maps/route, @/app/api/v1/model/status/route, @/app/api/v1/modes/route, @/app/api/v1/performance/status/route, @/app/api/v1/player/local-schema/route | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f2713f9681c1ac9a",
      "framework": "next-react",
      "imports": "@/app/api/v1/game/config/route,@/app/api/v1/game/manifest/route,@/app/api/v1/maps/[id]/route,@/app/api/v1/maps/route,@/app/api/v1/model/status/route,@/app/api/v1/modes/route,@/app/api/v1/performance/status/route,@/app/api/v1/player/local-schema/route,@/app/api/v1/weapons/route,@/app/api/v1/webhooks/status/route,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "catalog-routes.test",
      "normalized_name": "catalog-routes",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/v1/catalog-routes.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,backend,observability",
      "component_id": "3228cec1fbe11af206866df4",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/leaderboard/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4a26d70b8cdcc23",
      "framework": "next-react",
      "imports": "@/app/api/v1/leaderboard/route,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/v1/leaderboard/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,backend,observability",
      "component_id": "462540564b3c7beaf87615f2",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/servers/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "651eb5c3a2de6840",
      "framework": "next-react",
      "imports": "@/app/api/v1/servers/route,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/v1/servers/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,backend,observability,security",
      "component_id": "29a4d6af6f3d91750be4a502",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/servers/[id]/route, @/app/api/v1/servers/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5384c20b668cb58d",
      "framework": "next-react",
      "imports": "@/app/api/v1/servers/[id]/route,@/app/api/v1/servers/route,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/v1/servers/[id]/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,backend,observability",
      "component_id": "ab6489d0e8e10edc8c75cd3e",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/stats/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2eab57e67e4f6c40",
      "framework": "next-react",
      "imports": "@/app/api/v1/stats/route,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/v1/stats/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,backend,integration,observability,ai",
      "component_id": "da1f0bcd88bd95fba946894f",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/mcp/route, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ae95b016a9e37ea",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/mcp/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,observability",
      "component_id": "4e54efc15432f2c22db2b00b",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/multiplayer/sessions/[sessionId]/events/route, @/app/api/multiplayer/sessions/[sessionId]/join/route, @/app/api/multiplayer/sessions/[sessionId]/leave/route, @/app/api/multiplayer/sessions/[sessionId]/route, @/lib/multiplayer/session-store, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "990de770fefd9f1c",
      "framework": "next-react",
      "imports": "@/app/api/multiplayer/sessions/[sessionId]/events/route,@/app/api/multiplayer/sessions/[sessionId]/join/route,@/app/api/multiplayer/sessions/[sessionId]/leave/route,@/app/api/multiplayer/sessions/[sessionId]/route,@/lib/multiplayer/session-store,next/server",
      "lines": 208,
      "logic_relevance": "none",
      "name": "sessions.test",
      "normalized_name": "sessions",
      "package_manager": "pnpm",
      "path": "__tests__/app/api/multiplayer/sessions.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "fb19fe92cb51fb42b0e2c59c",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/llms-index.json/route | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3538d5be1f7d2981",
      "framework": "next-react",
      "imports": "@/app/llms-index.json/route",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "__tests__/app/llms-index.json/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "077642c8840899ef63c2f4eb",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/settings/constants, @/components/settings/settings-panel, @/lib/utils/logger, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a3e208ff94ecda0",
      "framework": "next-react",
      "imports": "@/components/settings/constants,@/components/settings/settings-panel,@/lib/utils/logger,@testing-library/react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "settings-panel.test",
      "normalized_name": "settings-panel",
      "package_manager": "pnpm",
      "path": "__tests__/components/settings/settings-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "3a657ad43edd49af01e4a704",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/settings/constants, @/components/settings/settings-sections, @testing-library/react | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "594efd5d8a0d033a",
      "framework": "next-react",
      "imports": "@/components/settings/constants,@/components/settings/settings-sections,@testing-library/react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "settings-sections.test",
      "normalized_name": "settings-sections",
      "package_manager": "pnpm",
      "path": "__tests__/components/settings/settings-sections.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability",
      "component_id": "a93da03ac56a112c074267c2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/settings/ui-components, @testing-library/react, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7716e2aa44b07331",
      "framework": "next-react",
      "imports": "@/components/settings/ui-components,@testing-library/react,lucide-react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "ui-components.test",
      "normalized_name": "ui-components",
      "package_manager": "pnpm",
      "path": "__tests__/components/settings/ui-components.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "709b63cf990841b1d82a1c1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockImage, Original | imports:../../../components/landing/hero-section, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "MockImage,Original",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d2e5741fc148c395",
      "framework": "next-react",
      "imports": "../../../components/landing/hero-section,@testing-library/react,react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "hero-section.test",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "__tests__/components/landing/hero-section.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,automation",
      "component_id": "008ac42e7c292e2c237e21da",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../components/server-browser/server-list, @testing-library/react, next/navigation | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2419ed81e288fc72",
      "framework": "next-react",
      "imports": "../../../components/server-browser/server-list,@testing-library/react,next/navigation",
      "lines": 233,
      "logic_relevance": "none",
      "name": "server-list.test",
      "normalized_name": "server-list",
      "package_manager": "pnpm",
      "path": "__tests__/components/server-browser/server-list.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6f808f133162f8b31443dee2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/quake-logo, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00b791e64454c025",
      "framework": "next-react",
      "imports": "@/components/layout/quake-logo,@testing-library/react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "quake-logo.test",
      "normalized_name": "quake-logo",
      "package_manager": "pnpm",
      "path": "__tests__/components/layout/quake-logo.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "3f73ac148e7bc70ab7b9cd0d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockImage, MockLink | imports:@/components/layout/footer, @testing-library/react | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "MockImage,MockLink",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6f9fd6556e4e640",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@testing-library/react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "footer.test",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "__tests__/components/layout/footer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a4e16bedb50a3d87ccf360ff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockAvatar, MockAvatarFallback, MockAvatarImage, MockLink | imports:@/components/layout/top-bar, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MockAvatar,MockAvatarFallback,MockAvatarImage,MockLink",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7672659694a3355",
      "framework": "next-react",
      "imports": "@/components/layout/top-bar,@testing-library/react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "top-bar.test",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "__tests__/components/layout/top-bar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "a3939798ba2d0cf5b906fe53",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockLink | imports:@/components/game/end-screen, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "MockLink",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "841773e03d657b0a",
      "framework": "next-react",
      "imports": "@/components/game/end-screen,@/lib/stores/game-store,@testing-library/react",
      "lines": 93,
      "logic_relevance": "none",
      "name": "end-screen.test",
      "normalized_name": "end-screen",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/end-screen.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "85daa27ed0903ccf536ee14a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/game-canvas, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a99a9aa7bedcbb6",
      "framework": "next-react",
      "imports": "@/components/game/game-canvas,@/lib/stores/game-store,@testing-library/react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "game-canvas.test",
      "normalized_name": "game-canvas",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/game-canvas.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,backend,security",
      "component_id": "f5319feb782e8a9dbfb31a8a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/player-controller, @/components/game/player/use-player-input, @/components/game/player/use-player-movement, @/components/game/player/use-player-physics, @/components/game/player/use-player-weapons, @/lib/game/constants, @testing-library/react | frontend-score:85 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "949214aa46c6164a",
      "framework": "next-react",
      "imports": "@/components/game/player-controller,@/components/game/player/use-player-input,@/components/game/player/use-player-movement,@/components/game/player/use-player-physics,@/components/game/player/use-player-weapons,@/lib/game/constants,@testing-library/react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "player-controller.test",
      "normalized_name": "player-controller",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/player-controller.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,backend,observability",
      "component_id": "597c797dd151fb6176d96311",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/hooks,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/mobile/mobile-controller, @/hooks/use-multiplayer, @/lib/game/mobile-input, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e2ff8661549d514",
      "framework": "next-react",
      "imports": "@/components/game/mobile/mobile-controller,@/hooks/use-multiplayer,@/lib/game/mobile-input,@/lib/stores/game-store,@testing-library/react",
      "lines": 279,
      "logic_relevance": "none",
      "name": "mobile-controller.test",
      "normalized_name": "mobile-controller",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/mobile/mobile-controller.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "0f31620e2d9f17e0b9ced1eb",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/components,@/lib,@testing-library/react,three",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/components/game/player/use-player-weapons, @/lib/game/bot-positions, @/lib/game/constants, @testing-library/react, three | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77b123f220452923",
      "framework": "next-react",
      "imports": "@/components/game/player/use-player-weapons,@/lib/game/bot-positions,@/lib/game/constants,@testing-library/react,three",
      "lines": 106,
      "logic_relevance": "none",
      "name": "use-player-weapons.hitscan.test",
      "normalized_name": "use-player-weapons-hitscan",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/player/use-player-weapons.hitscan.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "734111036fb26c5a72710849",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/components/game/player/use-player-movement, @/lib/game/audio-engine, @/lib/game/constants, @/lib/game/mobile-input, @/lib/stores/game-store, @testing-library/react | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae21ba076c2faeea",
      "framework": "next-react",
      "imports": "@/components/game/player/use-player-movement,@/lib/game/audio-engine,@/lib/game/constants,@/lib/game/mobile-input,@/lib/stores/game-store,@testing-library/react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "use-player-movement.mobile.test",
      "normalized_name": "use-player-movement-mobile",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/player/use-player-movement.mobile.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "49e79e6727daafaa95b0ed77",
      "component_kind": "security-module",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/components/game/player/use-player-input, @/lib/stores/game-store, @testing-library/react | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8bee01cfd1e1267",
      "framework": "next-react",
      "imports": "@/components/game/player/use-player-input,@/lib/stores/game-store,@testing-library/react",
      "lines": 199,
      "logic_relevance": "none",
      "name": "use-player-input-desktop.test",
      "normalized_name": "use-player-input-desktop",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/player/use-player-input-desktop.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "b9abf011321e3d193b2926a2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/hud/crosshair, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4898bf5dcf8df1d",
      "framework": "next-react",
      "imports": "@/components/game/hud/crosshair,@testing-library/react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "crosshair.test",
      "normalized_name": "crosshair",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/hud/crosshair.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "f2d38bc550b4195cf1fd893e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/hooks,@/lib,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/hud/hud-overlay, @/hooks/use-mobile, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c6bf82b8e79206e",
      "framework": "next-react",
      "imports": "@/components/game/hud/hud-overlay,@/hooks/use-mobile,@/lib/stores/game-store,@testing-library/react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "hud-overlay.test",
      "normalized_name": "hud-overlay",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/hud/hud-overlay.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "c7a065b1491b8550304a2571",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/hud/minimap, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a33936f093019222",
      "framework": "next-react",
      "imports": "@/components/game/hud/minimap,@/lib/stores/game-store,@testing-library/react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "minimap.test",
      "normalized_name": "minimap",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/hud/minimap.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "87e1f36f67604db442db8760",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/hud/screen-effects, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "94f9d2da349052af",
      "framework": "next-react",
      "imports": "@/components/game/hud/screen-effects,@/lib/stores/game-store,@testing-library/react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "screen-effects.test",
      "normalized_name": "screen-effects",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/hud/screen-effects.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "0f01a0d3bc65c24044c6a6dd",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/game/hud/scoreboard, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "192a4087bb0fdcfb",
      "framework": "next-react",
      "imports": "@/components/game/hud/scoreboard,@/lib/stores/game-store,@testing-library/react",
      "lines": 103,
      "logic_relevance": "none",
      "name": "scoreboard.test",
      "normalized_name": "scoreboard",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/hud/scoreboard.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,discovery",
      "component_id": "4c064e14a4ecee4ee48c623c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:NOW | imports:@/components/game/hud/kill-feed, @/lib/stores/game-store, @testing-library/react | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "NOW",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df3f004c0953813f",
      "framework": "next-react",
      "imports": "@/components/game/hud/kill-feed,@/lib/stores/game-store,@testing-library/react",
      "lines": 123,
      "logic_relevance": "none",
      "name": "kill-feed.test",
      "normalized_name": "kill-feed",
      "package_manager": "pnpm",
      "path": "__tests__/components/game/hud/kill-feed.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a8060618f5d38629b1d5895d",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/hooks,@/lib,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestChild | imports:@/hooks/use-multiplayer, @/lib/multiplayer/session-store, @/lib/stores/game-slices/types, @/lib/stores/game-store, @testing-library/react, react | frontend-score:90 | ui-score:70 | observability-score:55",
      "exports": "TestChild",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "616f3063187ba6fb",
      "framework": "next-react",
      "imports": "@/hooks/use-multiplayer,@/lib/multiplayer/session-store,@/lib/stores/game-slices/types,@/lib/stores/game-store,@testing-library/react,react",
      "lines": 154,
      "logic_relevance": "none",
      "name": "use-multiplayer.test",
      "normalized_name": "use-multiplayer",
      "package_manager": "pnpm",
      "path": "__tests__/hooks/use-multiplayer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "46f6f479ad61ffa05fc6a98a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/telemetry | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c2dd96470294e0a8",
      "framework": "next-react",
      "imports": "../../lib/telemetry",
      "lines": 62,
      "logic_relevance": "primary",
      "name": "telemetry.test",
      "normalized_name": "telemetry",
      "package_manager": "pnpm",
      "path": "__tests__/lib/telemetry.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "ca0225ec2ed4fd2270f1be8c",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "32ef624459c5e390",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 35,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability",
      "component_id": "8cb9143851a7908b306f0a2f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/server-browser/servers | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fcb826b59a25ba61",
      "framework": "next-react",
      "imports": "@/lib/server-browser/servers",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "servers.test",
      "normalized_name": "servers",
      "package_manager": "pnpm",
      "path": "__tests__/lib/server-browser/servers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "107903cee49e97be47fccd48",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/constants, @/lib/stores/game-store, @testing-library/react | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4bd2285b4e665243",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/stores/game-store,@testing-library/react",
      "lines": 437,
      "logic_relevance": "primary",
      "name": "game-store.test",
      "normalized_name": "game-store",
      "package_manager": "pnpm",
      "path": "__tests__/lib/stores/game-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "205a7f97ab943239a39fbab5",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/stores/game-store | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0384cab00eff0ce7",
      "framework": "next-react",
      "imports": "@/lib/stores/game-store",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "multiplayer-slice.test",
      "normalized_name": "multiplayer-slice",
      "package_manager": "pnpm",
      "path": "__tests__/lib/stores/multiplayer-slice.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "69a37ed839d76573ac291e3c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils/logger | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "12291d1224caa984",
      "framework": "next-react",
      "imports": "@/lib/utils/logger",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils/logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "28636219483bd2bc903fa65f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp/constants, @/lib/mcp/methods, @/lib/mcp/server, next/server | logic-score:60 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97b26bbc2c832cbf",
      "framework": "next-react",
      "imports": "@/lib/mcp/constants,@/lib/mcp/methods,@/lib/mcp/server,next/server",
      "lines": 145,
      "logic_relevance": "primary",
      "name": "methods.test",
      "normalized_name": "methods",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp/methods.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "e85945405a33902f47b4a113",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp/server | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1610a47e96e06fbf",
      "framework": "next-react",
      "imports": "@/lib/mcp/server",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "hn.test",
      "normalized_name": "hn",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp/hn.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,ai",
      "component_id": "10ebb6c44b03b3bcc528a97c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ENDPOINT, MOCK_SERVER_INFO | imports:@/lib/mcp/client | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "ENDPOINT,MOCK_SERVER_INFO",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c3f841f72bd27e76",
      "framework": "next-react",
      "imports": "@/lib/mcp/client",
      "lines": 626,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,security",
      "component_id": "4471b3d4cebe19066604b5f7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/bot-positions | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb614a13e3d3a2a7",
      "framework": "next-react",
      "imports": "@/lib/game/bot-positions",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "bot-positions.test",
      "normalized_name": "bot-positions",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/bot-positions.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c53ea3623336898f117afe95",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/constants, @/lib/stores/game-store, @testing-library/react | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7cd539b97fbc04c",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/stores/game-store,@testing-library/react",
      "lines": 533,
      "logic_relevance": "primary",
      "name": "gameplay-scenarios.test",
      "normalized_name": "gameplay-scenarios",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/gameplay-scenarios.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "6413ebb34621e7e1fe2dc141",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/catalog | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5cc7518e26f7047a",
      "framework": "next-react",
      "imports": "@/lib/game/catalog",
      "lines": 56,
      "logic_relevance": "primary",
      "name": "catalog.test",
      "normalized_name": "catalog",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/catalog.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "98e2bf75b42ed1a3fb988824",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/audio-engine | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "82a78fcd6ebe6963",
      "framework": "next-react",
      "imports": "@/lib/game/audio-engine",
      "lines": 163,
      "logic_relevance": "primary",
      "name": "audio-engine.test",
      "normalized_name": "audio-engine",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/audio-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic,security",
      "component_id": "145a5c0a5a1718ee25beda8d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/settings | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7daa7ab6d2906dd",
      "framework": "next-react",
      "imports": "@/lib/game/settings",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "settings.test",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/settings.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,observability",
      "component_id": "b9c313563c3b28a00d35c563",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/bot-states | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bdd94f477312621f",
      "framework": "next-react",
      "imports": "@/lib/game/bot-states",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "bot-states.test",
      "normalized_name": "bot-states",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/bot-states.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic",
      "component_id": "20d9d0ec79823bb1f8b97521",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/player-position | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "774b7f814b5da47c",
      "framework": "next-react",
      "imports": "@/lib/game/player-position",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "player-position.test",
      "normalized_name": "player-position",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/player-position.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "201b5192c203da43d010712f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/constants | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ab9bbc693d560738",
      "framework": "next-react",
      "imports": "@/lib/game/constants",
      "lines": 209,
      "logic_relevance": "primary",
      "name": "constants.test",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/constants.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "d45be62f590b074ab86fa85f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/mobile-input | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ba130aaf48ede80",
      "framework": "next-react",
      "imports": "@/lib/game/mobile-input",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "mobile-input.test",
      "normalized_name": "mobile-input",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/mobile-input.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "45646acf94aeaf366c6ac188",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/maps/q3dm17, @/lib/game/maps/types | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dfcd2a109d337503",
      "framework": "next-react",
      "imports": "@/lib/game/maps/q3dm17,@/lib/game/maps/types",
      "lines": 97,
      "logic_relevance": "primary",
      "name": "q3dm17.test",
      "normalized_name": "q3dm17",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/maps/q3dm17.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,security",
      "component_id": "7caa8daa81f76323071eb079",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/maps, @/lib/game/maps/forge, @/lib/game/maps/q3dm17, @/lib/game/maps/types | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e89a42c74bbb86e7",
      "framework": "next-react",
      "imports": "@/lib/game/maps,@/lib/game/maps/forge,@/lib/game/maps/q3dm17,@/lib/game/maps/types",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "index.test",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/maps/index.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "663aacd7e84e751313af40ec",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/game/maps/forge, @/lib/game/maps/q3dm17, @/lib/game/maps/types | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f38f698985b4d83",
      "framework": "next-react",
      "imports": "@/lib/game/maps/forge,@/lib/game/maps/q3dm17,@/lib/game/maps/types",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "forge.test",
      "normalized_name": "forge",
      "package_manager": "pnpm",
      "path": "__tests__/lib/game/maps/forge.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "5dc732199a1c7eab68864369",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/seo/jsonld | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a18481f2a42e9f78",
      "framework": "next-react",
      "imports": "@/lib/seo/jsonld",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "jsonld.test",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "__tests__/lib/seo/jsonld.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "84a2471d2b33081da29932f9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7c389b99cfeaf9a2",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 66,
      "logic_relevance": "none",
      "name": "performance.spec",
      "normalized_name": "performance",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/performance.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "e00e8bec1594cb5a68a0a4aa",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0443f101bb989132",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 112,
      "logic_relevance": "none",
      "name": "multiplayer.spec",
      "normalized_name": "multiplayer",
      "package_manager": "pnpm",
      "path": "__tests__/e2e/multiplayer.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "a3291989d03d8ed80e469278",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b7ac8657dc5141b1",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a8fcec4d09bcffffe38a500c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3d109629d73e16e5",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "69f786beb8dc2d48f5ace4fd",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:botPositions, runtime | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "botPositions,runtime",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9005476a4cf60778",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bcaff85b3ac7c18df286d239",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,react,three",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MultiplayerProvider, useMultiplayer, useOptionalMultiplayer | imports:@/components/game/weapons/projectile-manager, @/lib/game/audio-engine, @/lib/game/constants, @/lib/multiplayer/session-store, @/lib/stores/game-store, react, three | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MultiplayerProvider,useMultiplayer,useOptionalMultiplayer",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "036dd6746931e05c",
      "framework": "next-react",
      "imports": "@/components/game/weapons/projectile-manager,@/lib/game/audio-engine,@/lib/game/constants,@/lib/multiplayer/session-store,@/lib/stores/game-store,react,three",
      "lines": 458,
      "logic_relevance": "none",
      "name": "use-multiplayer",
      "normalized_name": "use-multiplayer",
      "package_manager": "pnpm",
      "path": "hooks/use-multiplayer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "478c3fb75f85f72a4f59e5e8",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "69bc6e7ec6296c80c1ae58b4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@opentelemetry/api,@opentelemetry/exporter-trace-otlp-http,@opentelemetry/resources,@opentelemetry/sdk-node,@opentelemetry/semantic-conventions",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getTracer, initTelemetry, traceSpan | imports:@/lib/utils/logger, @opentelemetry/api, @opentelemetry/exporter-trace-otlp-http, @opentelemetry/resources, @opentelemetry/sdk-node, @opentelemetry/semantic-conventions | logic-score:60 | observability-score:55",
      "exports": "getTracer,initTelemetry,traceSpan",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2f0b07ccbe9a1cdf",
      "framework": "next-react",
      "imports": "@/lib/utils/logger,@opentelemetry/api,@opentelemetry/exporter-trace-otlp-http,@opentelemetry/resources,@opentelemetry/sdk-node,@opentelemetry/semantic-conventions",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "telemetry",
      "normalized_name": "telemetry",
      "package_manager": "pnpm",
      "path": "lib/telemetry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "edef98b8b4420c05464aa34a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ServerBrowserRecord | imports:@/lib/game/arena-state | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "ServerBrowserRecord",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61e83b5c6049740d",
      "framework": "next-react",
      "imports": "@/lib/game/arena-state",
      "lines": 30,
      "logic_relevance": "primary",
      "name": "servers",
      "normalized_name": "servers",
      "package_manager": "pnpm",
      "path": "lib/server-browser/servers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,observability",
      "component_id": "07e1d56992ad674e1fab7545",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:errorJson, okJson | imports:next/server | logic-score:85 | observability-score:55",
      "exports": "errorJson,okJson",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b5f096b4478b9ebd",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,automation",
      "component_id": "e9caa60d3687ccf350c4fbc9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildPlatphormHeaders, extractTraceHeaders, persistenceStatus, sanitizeResponseMetadata, sanitizeVercelRequestMetadata | imports:next/server, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env",
      "exports": "buildPlatphormHeaders,extractTraceHeaders,persistenceStatus,sanitizeResponseMetadata,sanitizeVercelRequestMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e6dbc3c246df9390",
      "framework": "next-react",
      "imports": "next/server,node:crypto",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/platform/metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "6e575efabc8344256fda8feb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PLATFORM_API_KEY_ENV, PLATFORM_API_KEY_HEADER, PLATFORM_REQUIRE_API_KEY_ENV, authorizePlatformRequest, getPlatformApiKey, getPlatformAuthPolicy, getPresentedPlatformApiKey, isPlatformApiKeyEnforcementFlagEnabled | imports:next/server | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "PLATFORM_API_KEY_ENV,PLATFORM_API_KEY_HEADER,PLATFORM_REQUIRE_API_KEY_ENV,authorizePlatformRequest,getPlatformApiKey,getPlatformAuthPolicy,getPresentedPlatformApiKey,isPlatformApiKeyEnforcementFlagEnabled",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3297b5323d7699ba",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 70,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "3355d36944f451cae81e0b61",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "zustand",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useGameStore | imports:./game-slices/bot-slice, ./game-slices/game-flow-slice, ./game-slices/kill-feed-slice, ./game-slices/multiplayer-slice, ./game-slices/player-slice, ./game-slices/types, ./game-slices/ui-slice, zustand | logic-score:60",
      "exports": "useGameStore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "964a392653dafa3c",
      "framework": "next-react",
      "imports": "./game-slices/bot-slice,./game-slices/game-flow-slice,./game-slices/kill-feed-slice,./game-slices/multiplayer-slice,./game-slices/player-slice,./game-slices/types,./game-slices/ui-slice,zustand",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "game-store",
      "normalized_name": "game-store",
      "package_manager": "pnpm",
      "path": "lib/stores/game-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "c5056f588be010306cbbbe10",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "zustand",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MultiplayerSlice, RemotePlayerState, createMultiplayerSlice | imports:./types, zustand | logic-score:85 | observability-score:55",
      "exports": "MultiplayerSlice,RemotePlayerState,createMultiplayerSlice",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "77d18eee1f128eac",
      "framework": "next-react",
      "imports": "./types,zustand",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "multiplayer-slice",
      "normalized_name": "multiplayer-slice",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/multiplayer-slice.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "b741b1a9233d9609fa70ab9f",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,zustand",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BotSlice, createBotSlice | imports:./types, @/lib/game/bot-states, @/lib/game/constants, zustand | logic-score:85 | observability-score:55",
      "exports": "BotSlice,createBotSlice",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9fd788b61971947e",
      "framework": "next-react",
      "imports": "./types,@/lib/game/bot-states,@/lib/game/constants,zustand",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "bot-slice",
      "normalized_name": "bot-slice",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/bot-slice.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "e3934bbe1b12a8aa6724668f",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BotState, GameState, KillFeedEntry, PlayerState, createBots, createInitialAmmo, createInitialPlayer | imports:@/lib/game/constants, @/lib/game/settings | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "BotState,GameState,KillFeedEntry,PlayerState,createBots,createInitialAmmo,createInitialPlayer",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "159e373135e76511",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/game/settings",
      "lines": 169,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "ee897db155ee55e86d8e99bd",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib,zustand",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlayerSlice, createPlayerSlice | imports:./types, @/lib/game/constants, zustand | logic-score:85 | observability-score:55",
      "exports": "PlayerSlice,createPlayerSlice",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "82ae56fcd7e12691",
      "framework": "next-react",
      "imports": "./types,@/lib/game/constants,zustand",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "player-slice",
      "normalized_name": "player-slice",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/player-slice.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,frontend",
      "component_id": "2a6a4223910185da2b186058",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "zustand",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UiSlice, createUiSlice | imports:./types, zustand | logic-score:85 | frontend-score:55",
      "exports": "UiSlice,createUiSlice",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b0957f3279eb7278",
      "framework": "next-react",
      "imports": "./types,zustand",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "ui-slice",
      "normalized_name": "ui-slice",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/ui-slice.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "9c03fbf960eb40f318edfa54",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "@/lib,zustand",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GameFlowSlice, createGameFlowSlice | imports:./types, @/lib/game/constants, zustand | logic-score:85",
      "exports": "GameFlowSlice,createGameFlowSlice",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "59eff018e02ac1ec",
      "framework": "next-react",
      "imports": "./types,@/lib/game/constants,zustand",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "game-flow-slice",
      "normalized_name": "game-flow-slice",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/game-flow-slice.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "1590c556497bb15d330f2349",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "zustand",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:KillFeedSlice, createKillFeedSlice | imports:./types, zustand | logic-score:85 | discovery-score:55",
      "exports": "KillFeedSlice,createKillFeedSlice",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97b4ac4a647da8ac",
      "framework": "next-react",
      "imports": "./types,zustand",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "kill-feed-slice",
      "normalized_name": "kill-feed-slice",
      "package_manager": "pnpm",
      "path": "lib/stores/game-slices/kill-feed-slice.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "946594e44fcf1ccbb9a1d192",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Logger | logic-score:60 | observability-score:55",
      "exports": "Logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "21b777a650c2177b",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/utils/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "dbcfa67030272a44ebc5f6b1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PROMPTS, RESOURCES, SERVER_INFO, TOOLS | imports:./client | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PROMPTS,RESOURCES,SERVER_INFO,TOOLS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "eb2e4703113486dc",
      "framework": "next-react",
      "imports": "./client",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/mcp/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,observability,ai",
      "component_id": "a1dd1613d96874f73bf95f92",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonRpcRequest, JsonRpcResponse, McpCapabilities, McpClient, McpClientError, McpClientOptions, McpInitializeResult, McpManifest | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "JsonRpcRequest,JsonRpcResponse,McpCapabilities,McpClient,McpClientError,McpClientOptions,McpInitializeResult,McpManifest,McpServerInfo,McpToolContent,McpToolDefinition,McpToolResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e0f6eb05569dc77e",
      "framework": "next-react",
      "imports": "",
      "lines": 224,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "80f000767a69dbc3920745e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:handleInitialize, handleNotificationsInitialized, handlePromptsGet, handlePromptsList, handleResourcesList, handleToolsList | imports:./constants, ./server, @/lib/game/arena-state, @/lib/game/catalog, next/server | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "handleInitialize,handleNotificationsInitialized,handlePromptsGet,handlePromptsList,handleResourcesList,handleToolsList",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7019a62ed64ceb93",
      "framework": "next-react",
      "imports": "./constants,./server,@/lib/game/arena-state,@/lib/game/catalog,next/server",
      "lines": 219,
      "logic_relevance": "primary",
      "name": "methods",
      "normalized_name": "methods",
      "package_manager": "pnpm",
      "path": "lib/mcp/methods.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation,ai",
      "component_id": "2233f626d04e897d73b2e17a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./constants, @/lib/game/arena-state, @/lib/game/catalog, @/lib/platform/metadata | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "05a85841fd940947",
      "framework": "next-react",
      "imports": "./constants,@/lib/game/arena-state,@/lib/game/catalog,@/lib/platform/metadata",
      "lines": 277,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/mcp/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic,security",
      "component_id": "24ad2eb2d5b4acad15cdf4ea",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getStoredSetting | logic-score:85 | security-score:55",
      "exports": "getStoredSetting",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4d07103cbe995d7b",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "lib/game/settings.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "2706e65662c00220cf790e0d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AudioEngine, MovementAudio, PickupAudio, SystemAudio, WeaponAudio, noise, sweepForTesting, tone | logic-score:85 | observability-score:55 | uses-env",
      "exports": "AudioEngine,MovementAudio,PickupAudio,SystemAudio,WeaponAudio,noise,sweepForTesting,tone",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "81a603e6c9005b31",
      "framework": "next-react",
      "imports": "",
      "lines": 273,
      "logic_relevance": "primary",
      "name": "audio-engine",
      "normalized_name": "audio-engine",
      "package_manager": "pnpm",
      "path": "lib/game/audio-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "565dea7dfa105305b1f5f976",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ArenaMode, ArenaSource, BASE_URL, BotPracticeRecord, GAME_MODES, GameEvent, GameServer, LeaderboardEntry | imports:@/lib/game/catalog, @/lib/game/constants, @/lib/multiplayer/session-store, zod | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ArenaMode,ArenaSource,BASE_URL,BotPracticeRecord,GAME_MODES,GameEvent,GameServer,LeaderboardEntry,MatchPlayer,MatchRecord,VERSION,getArenaPersistenceMode,heartbeatSchema,isTrustedPlatformUrl,listBots,listGameEvents,matchPlayerSchema,matchRecordSchema,practiceStartSchema,receiveWebhookEvent,registerServerSchema,resetArenaStateForTests,sanitizePlayerName",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57ba99ddb17e0eb4",
      "framework": "next-react",
      "imports": "@/lib/game/catalog,@/lib/game/constants,@/lib/multiplayer/session-store,zod",
      "lines": 694,
      "logic_relevance": "primary",
      "name": "arena-state",
      "normalized_name": "arena-state",
      "package_manager": "pnpm",
      "path": "lib/game/arena-state.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic",
      "component_id": "7c5fd0f6afc9fe3f1630dc10",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:playerPos | logic-score:70",
      "exports": "playerPos",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2a2816ff2084f65d",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "player-position",
      "normalized_name": "player-position",
      "package_manager": "pnpm",
      "path": "lib/game/player-position.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "d6bc67afdc514b7117a1dd40",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AIR_CONTROL, ARMOR_AMOUNT, ARMOR_SHARD_AMOUNT, BOT_NAMES, DEFAULT_MAP_ID, FRAG_LIMIT_DUEL, FRAG_LIMIT_FFA, FRAG_LIMIT_TDM | logic-score:70 | observability-score:55",
      "exports": "AIR_CONTROL,ARMOR_AMOUNT,ARMOR_SHARD_AMOUNT,BOT_NAMES,DEFAULT_MAP_ID,FRAG_LIMIT_DUEL,FRAG_LIMIT_FFA,FRAG_LIMIT_TDM,GAME_MODE_LABELS,GRAVITY,GRID_COLOR,GROUND_FRICTION,GameMode,HEALTH_PACK_AMOUNT,JUMP_FORCE,JUMP_PAD_FORCE,KILL_FLOOR_Y,LARGE_HEALTH_AMOUNT,MAX_ARMOR,MAX_HEALTH,MEGA_HEALTH_AMOUNT,MOVE_SPEED,PICKUP_RESPAWN_TIME,PLATFORM_EDGE_COLOR,PLATFORM_MATERIAL_COLOR,PLAYER_HEIGHT,PLAYER_RADIUS,QUAD_DAMAGE_DURATION,QUAD_DAMAGE_MULTIPLIER,RED_ARMOR_AMOUNT,RESPAWN_TIME,ROUND_TIME,SPAWN_PROTECTION_MS,SPRINT_MULTIPLIER,TWO_PI,WEAPONS,WeaponConfig,WeaponType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "10883baf571a1532",
      "framework": "next-react",
      "imports": "",
      "lines": 175,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/game/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "ad11b36cd4d54f6bba29875c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:botStatesMap | logic-score:70",
      "exports": "botStatesMap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d43aaf7a72c4a77f",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "bot-states",
      "normalized_name": "bot-states",
      "package_manager": "pnpm",
      "path": "lib/game/bot-states.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "1a82d3d4d5cc6ed75ef72b3f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:botPositions | logic-score:70",
      "exports": "botPositions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "69e7ae31965d1d53",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "bot-positions",
      "normalized_name": "bot-positions",
      "package_manager": "pnpm",
      "path": "lib/game/bot-positions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "ea62375b71dab6d383fa1f1c",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mobileInput | logic-score:45",
      "exports": "mobileInput",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "412e77cbfc4a9d3e",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "mobile-input",
      "normalized_name": "mobile-input",
      "package_manager": "pnpm",
      "path": "lib/game/mobile-input.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "7c6463ab145f6c823323dd4a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CapabilityStatus, PUBLIC_SITEMAP_PATHS, QUAKE_BASE_URL, QUAKE_VERSION, QuakeMapCatalogEntry, QuakeModeCatalogEntry, QuakeWeaponCatalogEntry, getGameConfig | imports:@/lib/game/constants, @/lib/game/maps | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CapabilityStatus,PUBLIC_SITEMAP_PATHS,QUAKE_BASE_URL,QUAKE_VERSION,QuakeMapCatalogEntry,QuakeModeCatalogEntry,QuakeWeaponCatalogEntry,getGameConfig,getGameManifest,getLocalPlayerSchema,getMapCatalogEntry,getPerformanceStatus,getSitemapPathEntries,isPlayableMapId,listMapCatalog,listModeCatalog,listWeaponCatalog,normalizeMapId",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8845a291f364a6ec",
      "framework": "next-react",
      "imports": "@/lib/game/constants,@/lib/game/maps",
      "lines": 386,
      "logic_relevance": "primary",
      "name": "catalog",
      "normalized_name": "catalog",
      "package_manager": "pnpm",
      "path": "lib/game/catalog.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "6ac3998ee4a03382fb894cfa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EnergyBeamDef, JumpPadDef, MapDefinition, PickupDef, PillarDef, PlatformDef, SpawnPointDef, TeleporterDef | imports:@/lib/game/constants | logic-score:85 | observability-score:55",
      "exports": "EnergyBeamDef,JumpPadDef,MapDefinition,PickupDef,PillarDef,PlatformDef,SpawnPointDef,TeleporterDef,WaypointDef",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cfdaeefb3086b897",
      "framework": "next-react",
      "imports": "@/lib/game/constants",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/game/maps/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,security",
      "component_id": "90311e20eedfca6497dd7e43",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAPS, MAP_IDS, getMap | imports:./forge, ./q3dm17, ./types | logic-score:85 | security-score:55",
      "exports": "MAPS,MAP_IDS,getMap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3e7793f15041b999",
      "framework": "next-react",
      "imports": "./forge,./q3dm17,./types",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/game/maps/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "8d268985b21a392e9fe8b4c5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:q3dm17 | imports:./types, @/lib/game/constants | logic-score:70 | observability-score:55 | automation-score:45",
      "exports": "q3dm17",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c505d0f990fa4fce",
      "framework": "next-react",
      "imports": "./types,@/lib/game/constants",
      "lines": 121,
      "logic_relevance": "primary",
      "name": "q3dm17",
      "normalized_name": "q3dm17",
      "package_manager": "pnpm",
      "path": "lib/game/maps/q3dm17.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "57898529aa55e13a4f5e1631",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:forge | imports:./types, @/lib/game/constants | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "forge",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1ee9445a3b7b1aa6",
      "framework": "next-react",
      "imports": "./types,@/lib/game/constants",
      "lines": 145,
      "logic_relevance": "primary",
      "name": "forge",
      "normalized_name": "forge",
      "package_manager": "pnpm",
      "path": "lib/game/maps/forge.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "29df58037801905ce824208c",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:QuakeModelTask, buildDeterministicQuakeModelFallback, getQuakeModelStatus, isQuakeModelTask | imports:@/lib/game/catalog | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "QuakeModelTask,buildDeterministicQuakeModelFallback,getQuakeModelStatus,isQuakeModelTask",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f3ff6978fa8e53e7",
      "framework": "next-react",
      "imports": "@/lib/game/catalog",
      "lines": 67,
      "logic_relevance": "secondary",
      "name": "quake-model",
      "normalized_name": "quake-model",
      "package_manager": "pnpm",
      "path": "lib/model/quake-model.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "e46c7e219da9281dcf909d11",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:safeJsonLdStringify | logic-score:60",
      "exports": "safeJsonLdStringify",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6bd293c510553818",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "jsonld",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "lib/seo/jsonld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "dad2a0e1dc364b2267fde7f0",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@upstash/redis",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JoinSessionResult, SessionEvent, SessionEventType, SessionPlayerState, SessionServerSummary, SessionSnapshot, resetMultiplayerSessionStoreForTests | imports:@upstash/redis | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "JoinSessionResult,SessionEvent,SessionEventType,SessionPlayerState,SessionServerSummary,SessionSnapshot,resetMultiplayerSessionStoreForTests",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c688679d6d617a25",
      "framework": "next-react",
      "imports": "@upstash/redis",
      "lines": 717,
      "logic_relevance": "primary",
      "name": "session-store",
      "normalized_name": "session-store",
      "package_manager": "pnpm",
      "path": "lib/multiplayer/session-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-quake",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "97c84227b114fcc6899c5121",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20a8f6f2198d8891",
      "framework": "next-react",
      "imports": "",
      "lines": 6827,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "499088b7fa696ef152f30a60",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d7164e7485edf7ee",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "3dd866c44af44eb9b4df4606",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3ea02aceb14511f8",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a39935b69fffa939cb856990",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9142555d63f93e23",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "45f9afb897dcf56bac72d99e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a75c78202553a89f",
      "framework": "next-react",
      "imports": "next",
      "lines": 24,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "7a84ceb16c7c69d728501952",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37e926f7e11d6689",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "19db60a21f14b14ddbe9de25",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e96ffd5733b14eb6",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "81e640c78bb8e2cd81fb894f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,tone",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlatphormSonify | imports:@/components/api-docs, @/components/audio-visualizer, @/components/event-feed, @/components/module-toggle, @/components/ui/button, @/components/ui/slider, @/lib/i18n, @/lib/sound-modules | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PlatphormSonify",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc75cab71f0ea5c5",
      "framework": "next-react",
      "imports": "@/components/api-docs,@/components/audio-visualizer,@/components/event-feed,@/components/module-toggle,@/components/ui/button,@/components/ui/slider,@/lib/i18n,@/lib/sound-modules,@/lib/types,lucide-react,react,tone",
      "lines": 379,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c241851133e18c6c4b5f74a3",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2523851db40e840f",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,ai",
      "component_id": "a1e31d18e5f9fe194c2bf835",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0cb0efd0c75cceee",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "3d97cb47d61bf7c721a701db",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e69c268b90d34a2b",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "204558742e0e233dec098556",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c02d22d40d919f92",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3c141ecc73efdd9da65d1daf",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "49acdf4088cec15f",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/nodeinfo/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "e82f68c47545ddcea751e904",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3251d9fb5b04bce4",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d4cefc722a65f323bf704033",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5117920c6d276f2c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/claws.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "a87177bcf0e467123c42ef0e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "599e44549db753ba",
      "framework": "next-react",
      "imports": "next,next/link",
      "lines": 236,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "e6d5ecaa3ea8ef2cde5d3ccc",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "991507e04852d513",
      "framework": "next-react",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8a77e74871dc3e32fd6cfc4a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4fee80b126a5ac02",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "fdd3238635a09cca1c8fca5c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6410adb9b6aff53a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,security",
      "component_id": "56d86c32a293d2e4bb4d46b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/mcp-client | backend-score:125 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70f4999eddf618cf",
      "framework": "next-react",
      "imports": "@/lib/mcp-client",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "0fa2840c435b930963256df8",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c4acccef882db9c1",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability",
      "component_id": "d9550d851aa7b1b1e81be324",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, MAX_EVENTS, POST | imports:@/lib/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DELETE,GET,MAX_EVENTS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d95f78fb9c21bd7",
      "framework": "next-react",
      "imports": "@/lib/types,next/server",
      "lines": 115,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "dd954065b5915ff248838d4f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6dc426e18c48557b",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "f0e62c78001a650a52dd2dee",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "700b8f44b4a9e3d1",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network.manifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "24c05b803714e5a98a93dbb5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "bdac8d9acf2807242a0f139a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "19c823a83c0e9971c5827c4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModuleToggle | imports:@/components/ui/switch, @/lib/sound-modules, react | frontend-score:115 | ui-score:70",
      "exports": "ModuleToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a89066fb8d315457",
      "framework": "next-react",
      "imports": "@/components/ui/switch,@/lib/sound-modules,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "module-toggle",
      "normalized_name": "module-toggle",
      "package_manager": "pnpm",
      "path": "components/module-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "b529ec4019f1c11b9b2757ad",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventFeed | imports:@/lib/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "EventFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d5a5ebca9a67fed",
      "framework": "next-react",
      "imports": "@/lib/types,lucide-react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "event-feed",
      "normalized_name": "event-feed",
      "package_manager": "pnpm",
      "path": "components/event-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,discovery,process",
      "component_id": "eea733f2d9ae55df49de5675",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocs | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "ApiDocs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "921508f13e7f6469",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 231,
      "logic_relevance": "none",
      "name": "api-docs",
      "normalized_name": "api-docs",
      "package_manager": "pnpm",
      "path": "components/api-docs.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c17e095da94f998e71174a75",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioVisualizer | imports:@/lib/types, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AudioVisualizer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d0fc16e58d92927e",
      "framework": "next-react",
      "imports": "@/lib/types,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "audio-visualizer",
      "normalized_name": "audio-visualizer",
      "package_manager": "pnpm",
      "path": "components/audio-visualizer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "740525ae967f0935d742e24f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bad640829db7c1c8870e2222",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bc3cd0d75e8cad3424c6c8b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,ai",
      "component_id": "733bd406af884d453a83b1a2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6a66eb699de74a8e",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,ai",
      "component_id": "79505364bd48528b0476ec92",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "95d6d59b69e1a33a",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "63cadc3eb86f6d1a7e0e51ec",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3a54cb79cb19bec7",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,ai",
      "component_id": "fb5b1c5958b604ce4d9bb535",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c406240c5b551a5f",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "d7137c6357df509054bddfef",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../app/api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83fa464d8ec92dae",
      "framework": "next-react",
      "imports": "../../app/api/mcp/route",
      "lines": 9,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery,process",
      "component_id": "2928b67762ce90e1f7193540",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../app/api/docs/route | backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a66468ddae3592b6",
      "framework": "next-react",
      "imports": "../../app/api/docs/route",
      "lines": 10,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "47d415603be95b36759e694e",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "73d276cf765a8a1e",
      "framework": "next-react",
      "imports": "../../app/api/health/route",
      "lines": 10,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "dcbeb1d7090bed1c2943298d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LOCALE_NAMES, Locale, SUPPORTED_LOCALES, detectLocale, getTranslations | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LOCALE_NAMES,Locale,SUPPORTED_LOCALES,detectLocale,getTranslations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e308fbbb92b01f20",
      "framework": "next-react",
      "imports": "",
      "lines": 187,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,security",
      "component_id": "a2d376949f47167568e81ffc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPEvent | imports:./types | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "MCPEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5e369852f09b918e",
      "framework": "next-react",
      "imports": "./types",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "6f1d91640d6d33d865278bbb",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "241d4749915278b974d0197e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "tone",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AmbientPadModule, BassModule, LofiBeatModule, Module, RhodesModule, RobotEventModule, SystemHealth, VinylCrackleModule | imports:./types, tone | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "AmbientPadModule,BassModule,LofiBeatModule,Module,RhodesModule,RobotEventModule,SystemHealth,VinylCrackleModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ee6d9b3c46a1271",
      "framework": "next-react",
      "imports": "./types,tone",
      "lines": 813,
      "logic_relevance": "primary",
      "name": "sound-modules",
      "normalized_name": "sound-modules",
      "package_manager": "pnpm",
      "path": "lib/sound-modules.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "01366fb33b235e49fd3d2b2f",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EventStore, RobotEvent | logic-score:70",
      "exports": "EventStore,RobotEvent",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "927faa2bfbf92a74",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "953bebed65653ba829e82929",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "717a014bc91430fd",
      "framework": "next-react",
      "imports": "",
      "lines": 5546,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "2157ade311fdb8051cb6c525",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "be81e7c5258d961fabaf7ad4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "9a4adcfc38f3e072952c8293",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73b3d2d4b0794a9f",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "deep-research-report-v2",
      "normalized_name": "deep-research-report-v2",
      "package_manager": "pnpm",
      "path": "deep-research-report-v2.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "503ea84056b316d350116471",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2990f09f26ed00ea",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ac81686058a89bdc8124c0ea",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "916de88804b65292",
      "framework": "next-react",
      "imports": "",
      "lines": 7981,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "462a9ae6e575d9f96859b22c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ee92f19b2f81d1bc",
      "framework": "next-react",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,security,automation,ai",
      "component_id": "d58fb8ef8a508c2cb9b17507",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "143ae8f18c1264cd",
      "framework": "next-react",
      "imports": "",
      "lines": 199,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "e6d91391eec0fa7016806e17",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:computeRiskScore, getBotInfo, getJa4Digest, proxy | imports:next/server | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "computeRiskScore,getBotInfo,getJa4Digest,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d112a0552c542b73",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "44c4c1b23daf754f295dea8d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a3aa8d7017bb9a5e",
      "framework": "next-react",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "deep-research-report",
      "normalized_name": "deep-research-report",
      "package_manager": "pnpm",
      "path": "deep-research-report.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5a1ecdfca98cb895f35ccf58",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0932035205b7b087",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 45,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "672edc597a2af95844ecfca8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d09e695f822915c7715fa6cc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f1a722336d9bee3",
      "framework": "next-react",
      "imports": "",
      "lines": 454,
      "logic_relevance": "none",
      "name": "standards-references",
      "normalized_name": "standards-references",
      "package_manager": "pnpm",
      "path": "standards-references.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d0885a939c6911676ab317d5",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LANGUAGE_REGISTRY, TranslationProvider, TranslationResult, VERNACULAR_PACKS, type Language, type VernacularPack, useTranslationContext | imports:@/lib/languages, @/lib/logger, @/lib/lru-cache, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LANGUAGE_REGISTRY,TranslationProvider,TranslationResult,VERNACULAR_PACKS,type Language,type VernacularPack,useTranslationContext",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e75b97b72e514e4",
      "framework": "next-react",
      "imports": "@/lib/languages,@/lib/logger,@/lib/lru-cache,react",
      "lines": 389,
      "logic_relevance": "none",
      "name": "translation-context",
      "normalized_name": "translation-context",
      "package_manager": "pnpm",
      "path": "contexts/translation-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ca0868f41cf14063f6c98a37",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d4b47a64575883dc",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 134,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "0be76ef4fc9e0879ae0a1be6",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b35539c07cb0de41",
      "framework": "next-react",
      "imports": "next",
      "lines": 39,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "56ec14fe5241469725dbeb5a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@/hooks,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/i18n-provider, @/components/json-ld, @/components/pwa-provider, @/components/theme-provider, @/components/ui/tooltip, @/contexts/translation-context, @/hooks/use-settings.tsx, @vercel/analytics/next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b266f1f738e4bb54",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/json-ld,@/components/pwa-provider,@/components/theme-provider,@/components/ui/tooltip,@/contexts/translation-context,@/hooks/use-settings.tsx,@vercel/analytics/next,next,next/font/google",
      "lines": 151,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2cb09430335e62be521a51b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a12b661508e4766",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 118,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5f67c9adf05042cf21f3a7fd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/error-boundary, @/components/language-change-toast, @/components/reader-canvas, @/components/reader-content, @/components/settings-panel, @/components/site-footer, @/components/site-header, @/components/translation-history | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc70ea402a142470",
      "framework": "next-react",
      "imports": "@/components/error-boundary,@/components/language-change-toast,@/components/reader-canvas,@/components/reader-content,@/components/settings-panel,@/components/site-footer,@/components/site-header,@/components/translation-history",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "style,security,automation",
      "component_id": "d6f402f4a69494e4b451a329",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for i18n; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45630d81eac04bcd",
      "framework": "next-react",
      "imports": "",
      "lines": 417,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "756fa3637d172cdbd53d06f9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e1008e8679c6c697",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "121b5b785cfcbf8329bc781a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f86b600960715dfb",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 73,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "04d15006de1488303cfff726",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "379f72d8ea527572",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,security,automation",
      "component_id": "5e2854665e7c101b775fef73",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:computeRiskScore, getBotInfo, getJa4Digest, proxy | imports:next/server | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "computeRiskScore,getBotInfo,getJa4Digest,proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "31261409d8b46750",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "app/proxy/proxy.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad84eeaf0548001c1515856f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@platphorm/reader-widget,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MyComponent, WidgetBuilderClient | imports:@/components/i18n-provider, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/slider | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MyComponent,WidgetBuilderClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81dc70ff226e8e00",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/slider,@/components/ui/switch,@/components/ui/tabs,@platphorm/reader-widget,lucide-react,react",
      "lines": 563,
      "logic_relevance": "none",
      "name": "widget-builder-client",
      "normalized_name": "widget-builder-client",
      "package_manager": "pnpm",
      "path": "app/widget/widget-builder-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "3c36395ddc7accf6a28b3535",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:WidgetPage, metadata | imports:./widget-builder-client, @/components/site-footer, @/components/site-header, next | frontend-score:115 | ui-score:55",
      "exports": "WidgetPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f590ab2f2ea239b6",
      "framework": "next-react",
      "imports": "./widget-builder-client,@/components/site-footer,@/components/site-header,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/widget/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "000ce85de79d455920b42cb2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ce3d4782fd024ea",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 88,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process",
      "component_id": "95ff4b8d25904643ce0fcabf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/components/ui/tooltip, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "ApiDocsClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b21842341bab00a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/ui/tooltip,framer-motion,lucide-react,react",
      "lines": 417,
      "logic_relevance": "none",
      "name": "api-docs-client",
      "normalized_name": "api-docs-client",
      "package_manager": "pnpm",
      "path": "app/docs/api-docs-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,process",
      "component_id": "fb4fdc1663a0a67d44aea2cd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:./api-docs-client, @/components/site-footer, @/components/site-header, next | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f19ab699743fd7c0",
      "framework": "next-react",
      "imports": "./api-docs-client,@/components/site-footer,@/components/site-header,next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "508df185adada7216456d1f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:fs, next/server, path | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5db8ef47e87b396e",
      "framework": "next-react",
      "imports": "fs,next/server,path",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability",
      "component_id": "3f3d1abbd91965c35bf0a852",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:COOKIE_MAX_AGE, DELETE, GET, POST, SETTINGS_COOKIE | imports:next/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "COOKIE_MAX_AGE,DELETE,GET,POST,SETTINGS_COOKIE",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0e366fb4dbd06acd",
      "framework": "next-react",
      "imports": "next/headers,next/server",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/settings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "cd35ef74c9793ff9e46efa2c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, NEGATIVE_WORDS, NETWORK, POSITIVE_WORDS, POST, STOP_WORDS | imports:@/lib/languages, @/lib/rate-limit, ai, next/headers, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "GET,NEGATIVE_WORDS,NETWORK,POSITIVE_WORDS,POST,STOP_WORDS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "37401bf0a8a26785",
      "framework": "next-react",
      "imports": "@/lib/languages,@/lib/rate-limit,ai,next/headers,next/server",
      "lines": 340,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/translate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "0b66e6753f7ba700bc925cf2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cc0003a2212c1d66",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2c6b83dfe9faf9aabbf312eb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, SUPPORTED_LANGUAGES | imports:@/lib/analytics-service, @/lib/rate-limit, next/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST,SUPPORTED_LANGUAGES",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72a0d6744fedb562",
      "framework": "next-react",
      "imports": "@/lib/analytics-service,@/lib/rate-limit,next/headers,next/server",
      "lines": 235,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/translations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "17d3c5e2e0251c04cb3715b0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/analytics-service, @/lib/rate-limit, next/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "436e18befa91d055",
      "framework": "next-react",
      "imports": "@/lib/analytics-service,@/lib/rate-limit,next/headers,next/server",
      "lines": 141,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "fdff1bf9fc4de212e15e32aa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f9d0b64e984d276c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,automation,ai",
      "component_id": "2a2f9083425c49ef56753705",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:../v1/translate/route, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0305704897af0a65",
      "framework": "next-react",
      "imports": "../v1/translate/route,next/server",
      "lines": 134,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "71494497e666d5c2c7396b33",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a39b4e5a77eb3a1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 433,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "a18684eb1ee4cc3b900857b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "deaafde763e0953b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/share/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "618106db3f25f3bda8656dc1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OpenPage | imports:@/components/i18n-provider, @/components/reader-canvas, @/components/site-footer, @/components/site-header, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OpenPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26d5b59c59102f26",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/reader-canvas,@/components/site-footer,@/components/site-header,@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 203,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/open/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "60b6f346f92e8275be83cf64",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SharePage | imports:@/components/i18n-provider, @/components/reader-canvas, @/components/site-footer, @/components/site-header, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, @/contexts/translation-context | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SharePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "244bcb49a38cb3f2",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/reader-canvas,@/components/site-footer,@/components/site-header,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,@/contexts/translation-context,lucide-react,next/navigation,react",
      "lines": 284,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/share/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "d155c415a9fb73c02a0e781a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:PointerEvent, ResizeObserver | imports:vitest | security-score:55",
      "exports": "PointerEvent,ResizeObserver",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d73660d80baa7c69",
      "framework": "next-react",
      "imports": "vitest",
      "lines": 43,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "pnpm",
      "path": "tests/setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "ab1e1f70d4268ec1b83147be",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next,vitest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MockNextResponse | imports:../proxy, next/server, vitest | observability-score:55 | security-score:55",
      "exports": "MockNextResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4580808f8e70ba4e",
      "framework": "next-react",
      "imports": "../proxy,next/server,vitest",
      "lines": 105,
      "logic_relevance": "none",
      "name": "proxy.test",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "tests/proxy.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "a5c9de1b6e430816e278659a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/app,next,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockNextRequest | imports:@/app/proxy/proxy, next/server, vitest | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "MockNextRequest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a946d495dcb7ec3",
      "framework": "next-react",
      "imports": "@/app/proxy/proxy,next/server,vitest",
      "lines": 91,
      "logic_relevance": "none",
      "name": "proxy.test",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "tests/app/proxy/proxy.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "2a5a53d849bb9d9ddd145d71",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/json-ld, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf0cb6af30f1be3b",
      "framework": "next-react",
      "imports": "@/components/json-ld,@testing-library/react,vitest",
      "lines": 21,
      "logic_relevance": "none",
      "name": "json-ld.test",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "tests/components/json-ld.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bec87f7fd25b5ffd3c22f626",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MOCK_LANGUAGES, MOCK_VERNACULARS | imports:@/components/language-selector, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MOCK_LANGUAGES,MOCK_VERNACULARS",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3748b89d542e6f77",
      "framework": "next-react",
      "imports": "@/components/language-selector,@testing-library/react,vitest",
      "lines": 99,
      "logic_relevance": "none",
      "name": "language-selector.test",
      "normalized_name": "language-selector",
      "package_manager": "pnpm",
      "path": "tests/components/language-selector.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ea242c1d9c54d00ed86e0018",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/user-settings, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc66bdda5e6edb34",
      "framework": "next-react",
      "imports": "@/components/user-settings,@testing-library/react,vitest",
      "lines": 129,
      "logic_relevance": "none",
      "name": "user-settings.test",
      "normalized_name": "user-settings",
      "package_manager": "pnpm",
      "path": "tests/components/user-settings.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security",
      "component_id": "3d964959019312409f2d2d47",
      "component_kind": "key-management",
      "confidence": 65,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../hooks/use-keyboard-shortcuts, @testing-library/react, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "511073df437f15ef",
      "framework": "next-react",
      "imports": "../../hooks/use-keyboard-shortcuts,@testing-library/react,vitest",
      "lines": 237,
      "logic_relevance": "none",
      "name": "use-keyboard-shortcuts.test",
      "normalized_name": "use-keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-keyboard-shortcuts.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "7fede1e74ac57b5a7acb1c25",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/contexts,@/hooks,@testing-library/react,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/contexts/translation-context, @/hooks/use-translation, @testing-library/react, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf32f34118231188",
      "framework": "next-react",
      "imports": "@/contexts/translation-context,@/hooks/use-translation,@testing-library/react,vitest",
      "lines": 254,
      "logic_relevance": "none",
      "name": "use-translation.test",
      "normalized_name": "use-translation",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-translation.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "d226d840d011da77dd83bb90",
      "component_kind": "ui-hook",
      "confidence": 75,
      "dependency_roots": "@/hooks,@testing-library/react,react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/hooks/use-settings.tsx, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e9bd21af4f69783f",
      "framework": "next-react",
      "imports": "@/hooks/use-settings.tsx,@testing-library/react,react,vitest",
      "lines": 243,
      "logic_relevance": "none",
      "name": "use-settings.test",
      "normalized_name": "use-settings",
      "package_manager": "pnpm",
      "path": "tests/hooks/use-settings.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "a05d594e77d60fbdba3e2287",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/flags, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f081b3411b60f61",
      "framework": "next-react",
      "imports": "@/lib/flags,vitest",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "flags.test",
      "normalized_name": "flags",
      "package_manager": "pnpm",
      "path": "tests/lib/flags.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8b554711a3db0d5eceb92dd6",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b4107cd0d57b1bf7",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,security,automation",
      "component_id": "45b5eb4664a09a8df474b1ab",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/mcp-client, vitest | logic-score:60 | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c160e148824b5714",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,vitest",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "tests/lib/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "24825527c4cc6c404d0fdb5f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/languages, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "943341c49c842a15",
      "framework": "next-react",
      "imports": "@/lib/languages,vitest",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "languages.test",
      "normalized_name": "languages",
      "package_manager": "pnpm",
      "path": "tests/lib/languages.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "a559bcf18a423c05639b7f7f",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@vercel/analytics,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/analytics, @vercel/analytics, vitest | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e06192b036660673",
      "framework": "next-react",
      "imports": "@/lib/analytics,@vercel/analytics,vitest",
      "lines": 208,
      "logic_relevance": "primary",
      "name": "analytics.test",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "tests/lib/analytics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,security",
      "component_id": "9c248557f8848f0f884973dc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/lru-cache, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84ecfc64c963bdfd",
      "framework": "next-react",
      "imports": "@/lib/lru-cache,vitest",
      "lines": 145,
      "logic_relevance": "primary",
      "name": "lru-cache.test",
      "normalized_name": "lru-cache",
      "package_manager": "pnpm",
      "path": "tests/lib/lru-cache.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability",
      "component_id": "d3a3bd3f73aa9c855f6216f6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route, next/server, vitest | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b92b372fc693138b",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server,vitest",
      "lines": 83,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "tests/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e4c8f59cfe731930d08385d6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e6a5668fd2fc786",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 40,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "tests/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,ai",
      "component_id": "cd062b7d7402914318badf2d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/translate/route, next/server, vitest | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d6e0027860b15bc",
      "framework": "next-react",
      "imports": "@/app/api/v1/translate/route,next/server,vitest",
      "lines": 193,
      "logic_relevance": "none",
      "name": "translate.test",
      "normalized_name": "translate",
      "package_manager": "pnpm",
      "path": "tests/api/translate.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,process,automation",
      "component_id": "5701d177318909c8bceb6295",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4da34e2be71c8271",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 246,
      "logic_relevance": "none",
      "name": "reader.spec",
      "normalized_name": "reader",
      "package_manager": "pnpm",
      "path": "tests/e2e/reader.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "643ab6e6684603c8b8bfb913",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d82547ddad0ebe49",
      "framework": "next-react",
      "imports": "",
      "lines": 371,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "docs/ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "db346d4cf866feaff221849e",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/hooks",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/hooks/use-translation | process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "35dd43ad839a9c18",
      "framework": "next-react",
      "imports": "@/hooks/use-translation",
      "lines": 255,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "docs/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d2a9149d1af1879f2d4b93dd",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/app,@/hooks,@/lib,@playwright/test,@testing-library/react,next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/app/api/v1/translate/route, @/hooks/use-translation, @/lib/analytics, @/lib/flags, @playwright/test, @testing-library/react, next/server | process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "55ca5817dc40f631",
      "framework": "next-react",
      "imports": "@/app/api/v1/translate/route,@/hooks/use-translation,@/lib/analytics,@/lib/flags,@playwright/test,@testing-library/react,next/server",
      "lines": 294,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "pnpm",
      "path": "docs/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "13c1d7e743d3f6380f4b2cec",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5058fc765ba15328cb275928",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "be875c334bae956297b10015",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary, ErrorBoundaryFallback, withErrorBoundary | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "ErrorBoundary,ErrorBoundaryFallback,withErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2fbd870f335f6f41",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,ai",
      "component_id": "b7d10c1ce703e8e1a90e5e60",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/hooks,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:InstallPrompt, OfflineIndicator, PWAProvider, usePWAContext | imports:@/hooks/use-pwa, react, sonner | frontend-score:115 | ui-score:70 | ai-score:45",
      "exports": "InstallPrompt,OfflineIndicator,PWAProvider,usePWAContext",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1869386eefee0e7e",
      "framework": "next-react",
      "imports": "@/hooks/use-pwa,react,sonner",
      "lines": 132,
      "logic_relevance": "none",
      "name": "pwa-provider",
      "normalized_name": "pwa-provider",
      "package_manager": "pnpm",
      "path": "components/pwa-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "55d578e7ce82b2c2ef6cb873",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TranslationHistoryPanel, useTranslationHistory | imports:@/components/ui/alert-dialog, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/sheet, @/contexts/translation-context, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TranslationHistoryPanel,useTranslationHistory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25f4cae89835614d",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/sheet,@/contexts/translation-context,@/lib/utils,lucide-react,react",
      "lines": 268,
      "logic_relevance": "none",
      "name": "translation-history",
      "normalized_name": "translation-history",
      "package_manager": "pnpm",
      "path": "components/translation-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "0a01d957e947588c744306b9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPanel | imports:@/components/ui/alert-dialog, @/components/ui/button, @/components/ui/label, @/components/ui/select, @/components/ui/sheet, @/components/ui/slider, @/components/ui/switch, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "SettingsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb489603ec6ed345",
      "framework": "next-react",
      "imports": "@/components/ui/alert-dialog,@/components/ui/button,@/components/ui/label,@/components/ui/select,@/components/ui/sheet,@/components/ui/slider,@/components/ui/switch,@/components/ui/tabs,@/components/ui/tooltip,@/hooks/use-settings.tsx,@/lib/utils,lucide-react,react",
      "lines": 526,
      "logic_relevance": "none",
      "name": "settings-panel",
      "normalized_name": "settings-panel",
      "package_manager": "pnpm",
      "path": "components/settings-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9759b07b192ae195b625ce57",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@/hooks,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/language-selector, @/components/pwa-provider, @/components/ui/button, @/components/ui/sheet, @/components/ui/tooltip, @/contexts/translation-context, @/hooks/use-settings.tsx, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "647b6e4e12e3ecf5",
      "framework": "next-react",
      "imports": "@/components/language-selector,@/components/pwa-provider,@/components/ui/button,@/components/ui/sheet,@/components/ui/tooltip,@/contexts/translation-context,@/hooks/use-settings.tsx,lucide-react,next-themes,next/link,react",
      "lines": 249,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ca26c99c673912acacbb6b0a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:@/components/ui/separator, @/components/ui/tooltip, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23a5a38a613b5be1",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/components/ui/tooltip,lucide-react,next/link",
      "lines": 192,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "6b1e374ead0c6ae99354444e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqJsonLd, JsonLd | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "FaqJsonLd,JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "76240d2657ae0a2c",
      "framework": "next-react",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security,ai",
      "component_id": "8c48c28d119156b2007b8a91",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, useI18n, useLocale, useTranslate | imports:@/lib/i18n, @/lib/i18n/messages, react | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "I18nProvider,useI18n,useLocale,useTranslate",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6474d9365d87c7c2",
      "framework": "next-react",
      "imports": "@/lib/i18n,@/lib/i18n/messages,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "i18n-provider",
      "normalized_name": "i18n-provider",
      "package_manager": "pnpm",
      "path": "components/i18n-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "cb0b84e99abeaca7a6465c6d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@/hooks,@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReaderCanvas | imports:@/components/magnifying-glass, @/contexts/translation-context, @/hooks/use-magnifier, @/hooks/use-settings.tsx, @/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "ReaderCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "070f03dd563d4a6c",
      "framework": "next-react",
      "imports": "@/components/magnifying-glass,@/contexts/translation-context,@/hooks/use-magnifier,@/hooks/use-settings.tsx,@/lib/utils,react",
      "lines": 168,
      "logic_relevance": "none",
      "name": "reader-canvas",
      "normalized_name": "reader-canvas",
      "package_manager": "pnpm",
      "path": "components/reader-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5b8e4610c0e6505679ab3635",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@/lib,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MagnifyingGlass, TextHighlight, TranslateButton | imports:@/components/ui/tooltip, @/contexts/translation-context, @/lib/utils, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MagnifyingGlass,TextHighlight,TranslateButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "496e7a1695288f90",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/contexts/translation-context,@/lib/utils,framer-motion,lucide-react,react",
      "lines": 561,
      "logic_relevance": "none",
      "name": "magnifying-glass",
      "normalized_name": "magnifying-glass",
      "package_manager": "pnpm",
      "path": "components/magnifying-glass.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "017816bbf30fe8f253604d48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSelector | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/lib/languages, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LanguageSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc1b044f52a1e9e7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/lib/languages,@/lib/utils,lucide-react",
      "lines": 203,
      "logic_relevance": "none",
      "name": "language-selector",
      "normalized_name": "language-selector",
      "package_manager": "pnpm",
      "path": "components/language-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bf4b1fddbb3396366a7225d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserSettings | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UserSettings",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fb067b1b62bfebe",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "user-settings",
      "normalized_name": "user-settings",
      "package_manager": "pnpm",
      "path": "components/user-settings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,security",
      "component_id": "d4d13019a638653023a29dab",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:FlagsProvider, useFeatureFlags | imports:@/lib/flags, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "FlagsProvider,useFeatureFlags",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "77d9c8a58bb09ee9",
      "framework": "next-react",
      "imports": "@/lib/flags,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "flags-provider",
      "normalized_name": "flags-provider",
      "package_manager": "pnpm",
      "path": "components/flags-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "03e43c3813870856ddd64fa0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/contexts,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageChangeToast | imports:@/contexts/translation-context, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "LanguageChangeToast",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db800c0d9ca1a0a5",
      "framework": "next-react",
      "imports": "@/contexts/translation-context,framer-motion,lucide-react,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "language-change-toast",
      "normalized_name": "language-change-toast",
      "package_manager": "pnpm",
      "path": "components/language-change-toast.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c7bc8c758638b9ea165e552a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:KeyboardHelp, KeyboardHelpButton | imports:@/components/ui/button, @/components/ui/dialog, @/hooks/use-keyboard-shortcuts, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "KeyboardHelp,KeyboardHelpButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6a0bba7368576bb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/hooks/use-keyboard-shortcuts,@/lib/utils,lucide-react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "keyboard-help",
      "normalized_name": "keyboard-help",
      "package_manager": "pnpm",
      "path": "components/keyboard-help.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8d68a74e862df434ff2d4dec",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/contexts,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReaderContent | imports:@/components/i18n-provider, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/contexts/translation-context, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ReaderContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05497c96703e1ec5",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/contexts/translation-context,@/lib/utils,lucide-react,react",
      "lines": 337,
      "logic_relevance": "none",
      "name": "reader-content",
      "normalized_name": "reader-content",
      "package_manager": "pnpm",
      "path": "components/reader-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "379f93bc3b53a93e81295000",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DemoContent | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DemoContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a52657144edfb56",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,lucide-react",
      "lines": 345,
      "logic_relevance": "none",
      "name": "demo-content",
      "normalized_name": "demo-content",
      "package_manager": "pnpm",
      "path": "components/demo-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "336cf15444a16cbdfdd8fedc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0a67c84e1a126f8118d2461c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fc81640b3a67c68f6b245604",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ccdc4b1d981359b4796d8778",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "252aa9f476f0aa9b3b872a8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a2b11563d685fc1b41898c34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1bace18739d62c2dbb7cc87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "dc609df70120285cc433a64b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bc5f7b9a0bc6458782d14136",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fe8d58be9d4b51650bed25cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ad6ba191cdac2918c5b0678c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "e0b668aff34d8d338baa5adb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5609b65c88149242e5f28e8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "45c25eba7775bb66c077c7d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9d2382b9219bf786f83252e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1e42b5d4fb9fd48a5b51acbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "62b31c6929487fd3703af718",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d362b4f3896bc0adbe0a396e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa9dc4e98ee08b29b07fed6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "80f63eb3cb43c1f004bac559",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "497b005da56b0af859cb0f8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fd802ec21aaecd27656626b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa33031ac1d5e97ade91f637",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d7ce53863932c0a52c010957",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2f9e6a0b663198db0ed62c10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "9fba806c66d73433e92acd31",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "93a9d76c9f739aaf7270d711",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "22d23341e7d0790c37641db9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e68ae9864c26959ecbb0c141",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "c53654a043cccfa5c67d770e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5bfcf68152570adc7a3c55c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "94ebdf0604819529c2d0aded",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "adf637557bd275d31525c764",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c5db2fea69e58b996c18381e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c181319b0d3fe1403e5ee354",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "ca99da3e112b63027d4f9683",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "36ff9723d07fd657d1af650d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "e91724a2a55238adcf39b958",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5bdb2ce4c84ab98a743a0b52",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "31d1c4547dd06e2068617bf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3e0f42880140271b24236322",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7a5d01d64180839eb8b661bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "072d8c7a67ca5193667b013c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "828d5c3ab85d4c1773f9a168",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "852e192ab82a59be4f0a9592",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "641b486c9c51720747234707",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e2398283c38e0afff5c41d8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "7c2b8b0711d9c63c2b1e9fdf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "44e544758fe573a54b1dbc85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "feef063c551386b6c8929d99",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "732a625a9027c22ae0be3f3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c05fc62b0196ebedbefdad19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5a608d554f43ccf5397f0e47",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "7d0dcf5323cb61fe707a7ccd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6fe74a2090f57155fdb301a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "20d1b5ee7e6f229fc8f0c6ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "afe055dc9b118d4770e3fe23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery,ai",
      "component_id": "403d1e8e679aee673251c6b6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a33e79d6402e60e3",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "09868626053622d61d1d7257",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "716488a6230dc5ea",
      "framework": "next-react",
      "imports": "",
      "lines": 203,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "cbde4a76492473b792a97fe2",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3e39b09d48699b1e",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "d7673de585fd8d30fc28e288",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "26d10fa1bc263716",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "cce469acd7dfdb331ea84406",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fca3a9151fdc0c28",
      "framework": "next-react",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4dfa422cedd4b6e025343008",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CACHE_API_ROUTES, CACHE_VERSION, DYNAMIC_CACHE, STATIC_ASSETS, STATIC_CACHE, TRANSLATION_CACHE | observability-score:55 | security-score:55",
      "exports": "CACHE_API_ROUTES,CACHE_VERSION,DYNAMIC_CACHE,STATIC_ASSETS,STATIC_CACHE,TRANSLATION_CACHE",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d60b9890794f8a76",
      "framework": "next-react",
      "imports": "",
      "lines": 321,
      "logic_relevance": "none",
      "name": "sw",
      "normalized_name": "sw",
      "package_manager": "pnpm",
      "path": "public/sw.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5551ea80603216c7d7ecf7f9",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DEFAULT_CONFIG, READER_API, READER_CDN, Reader, TranslationCache, WIDGET_STYLES | observability-score:55 | security-score:55",
      "exports": "DEFAULT_CONFIG,READER_API,READER_CDN,Reader,TranslationCache,WIDGET_STYLES",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e8239c90e792f5e",
      "framework": "next-react",
      "imports": "",
      "lines": 680,
      "logic_relevance": "none",
      "name": "reader",
      "normalized_name": "reader",
      "package_manager": "pnpm",
      "path": "public/widget/reader.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "c48e407e1629f3d976121bfe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2a85f3c04769987f",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "75b6502639b1c9130e9a2916",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b99ede9b0649897b",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "585c4f482cf7b383a01fd062",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "17481df942a6bf48",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "48380a60bf6052848720c63c",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "@/lib,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:useAnalytics, useFlags | imports:@/lib/analytics, @/lib/flags, react | ai-score:45",
      "exports": "useAnalytics,useFlags",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "71ed5be10fb949b9",
      "framework": "next-react",
      "imports": "@/lib/analytics,@/lib/flags,react",
      "lines": 216,
      "logic_relevance": "none",
      "name": "use-analytics",
      "normalized_name": "use-analytics",
      "package_manager": "pnpm",
      "path": "hooks/use-analytics.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "75a6f5b9fd928ae87c7f450d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:getPWACapabilities, usePWA | imports:react | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "getPWACapabilities,usePWA",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ae3aa63b47aaf988",
      "framework": "next-react",
      "imports": "react",
      "lines": 209,
      "logic_relevance": "none",
      "name": "use-pwa",
      "normalized_name": "use-pwa",
      "package_manager": "pnpm",
      "path": "hooks/use-pwa.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "802df8c4be1ce1cf507f2c9b",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibilitySettings, DEFAULT_SETTINGS, MagnifierSettings, SettingsProvider, TouchSettings, TranslationSettings, UserSettings, useAccessibilitySettings | imports:react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "AccessibilitySettings,DEFAULT_SETTINGS,MagnifierSettings,SettingsProvider,TouchSettings,TranslationSettings,UserSettings,useAccessibilitySettings,useMagnifierSettings,useSettings,useTouchSettings,useTranslationSettings",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "34c6701d3450e1fc",
      "framework": "next-react",
      "imports": "react",
      "lines": 298,
      "logic_relevance": "none",
      "name": "use-settings",
      "normalized_name": "use-settings",
      "package_manager": "pnpm",
      "path": "hooks/use-settings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security",
      "component_id": "382a44a791953ce14d5036c7",
      "component_kind": "key-management",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:KeyboardShortcut, createDefaultShortcuts, formatShortcut, useKeyboardShortcuts | imports:react | security-score:55",
      "exports": "KeyboardShortcut,createDefaultShortcuts,formatShortcut,useKeyboardShortcuts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7473a46f75ddd71f",
      "framework": "next-react",
      "imports": "react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "use-keyboard-shortcuts",
      "normalized_name": "use-keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "hooks/use-keyboard-shortcuts.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "aeb261a79aa316613b984926",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useMagnifier | imports:@/lib/logger, react | observability-score:55 | automation-score:45",
      "exports": "useMagnifier",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eae1ae3f5f9a0140",
      "framework": "next-react",
      "imports": "@/lib/logger,react",
      "lines": 360,
      "logic_relevance": "none",
      "name": "use-magnifier",
      "normalized_name": "use-magnifier",
      "package_manager": "pnpm",
      "path": "hooks/use-magnifier.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "09e5f3f213780a806e6e58ae",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ANALYTICS_SCHEMA, AnalyticsEvent, EventType, TranslationAnalytics, UsageMetrics, generateSessionId, getRecentEvents, getUsageMetrics | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ANALYTICS_SCHEMA,AnalyticsEvent,EventType,TranslationAnalytics,UsageMetrics,generateSessionId,getRecentEvents,getUsageMetrics,trackEvent,trackTranslation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5d1f6ee3546b42a3",
      "framework": "next-react",
      "imports": "",
      "lines": 275,
      "logic_relevance": "primary",
      "name": "analytics-service",
      "normalized_name": "analytics-service",
      "package_manager": "pnpm",
      "path": "lib/analytics-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c265214f1e709d539f737c3c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ASCII_ART_LIBRARY, LANGUAGE_PATTERNS, LANGUAGE_REGISTRY, Language, LanguageCategory, LanguageIntegration, SIGN_LANGUAGE_MAP, TRANSLATION_MATRICES | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ASCII_ART_LIBRARY,LANGUAGE_PATTERNS,LANGUAGE_REGISTRY,Language,LanguageCategory,LanguageIntegration,SIGN_LANGUAGE_MAP,TRANSLATION_MATRICES,TranslationDictionary,VERNACULAR_PACKS,VernacularPack,WORD_PATTERNS,applyVernacular,config,detectLanguage,getAsciiArt,getLanguage,getLanguages,getSignLanguageSymbols,getTranslationDict,getVernacularPacks,translateText",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1b6d323c41ee9d3f",
      "framework": "next-react",
      "imports": "",
      "lines": 634,
      "logic_relevance": "primary",
      "name": "languages",
      "normalized_name": "languages",
      "package_manager": "pnpm",
      "path": "lib/languages.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "776d60bfef806c157d0b34a3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsEvent, HoverEvent, LanguageEvent, QualityMetrics, SessionEvent, TabEvent, TranslationEvent, calculateQualityMetrics | imports:@vercel/analytics | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "AnalyticsEvent,HoverEvent,LanguageEvent,QualityMetrics,SessionEvent,TabEvent,TranslationEvent,calculateQualityMetrics,trackDictionaryView,trackDocsClick,trackHover,trackLanguageChange,trackMagnifier,trackPWAInstall,trackSession,trackShareTarget,trackTabSwitch,trackThemeChange,trackTranslation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fbd60c2bb738b684",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 267,
      "logic_relevance": "primary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "477cd66d7fa3c07983905959",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpClient, McpClientConfig, createCobolMcpClient | logic-score:85 | integration-score:55",
      "exports": "McpClient,McpClientConfig,createCobolMcpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8f6dc8fdaaa5a076",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "32ab6fc8db69fb85a28c2545",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger | logic-score:60 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3569b66018e4f20a",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "mcp-register",
      "normalized_name": "mcp-register",
      "package_manager": "pnpm",
      "path": "lib/mcp-register.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "c707363ac636060726c48aaf",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LRUCache, getTranslationCache | logic-score:85 | security-score:55",
      "exports": "LRUCache,getTranslationCache",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4918baaefb0e3c06",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "lru-cache",
      "normalized_name": "lru-cache",
      "package_manager": "pnpm",
      "path": "lib/lru-cache.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "80ded0aa628137b1edcaa458",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1037cd4946d68621fcf2da2e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Logger, apiLogger, clearLogBuffer, configureLogger, createLogger, getLogBuffer, getPerformanceMetrics, i18nLogger | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Logger,apiLogger,clearLogBuffer,configureLogger,createLogger,getLogBuffer,getPerformanceMetrics,i18nLogger,interactionLogger,magnifierLogger,translationLogger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bdc3ee58c5dc5312",
      "framework": "next-react",
      "imports": "",
      "lines": 226,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "logic,security,automation",
      "component_id": "91d918d3a2d808df9dae2f9e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeatureFlags, clearFlagOverrides, defaultFlags, getFlagsSync, glassStyleConfig, magnifierSizeConfig, setFlagOverride, springStiffnessConfig | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "FeatureFlags,clearFlagOverrides,defaultFlags,getFlagsSync,glassStyleConfig,magnifierSizeConfig,setFlagOverride,springStiffnessConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "72882b3678f6a41b",
      "framework": "next-react",
      "imports": "",
      "lines": 158,
      "logic_relevance": "primary",
      "name": "flags",
      "normalized_name": "flags",
      "package_manager": "pnpm",
      "path": "lib/flags.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "e686435bdd1356449fb23814",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiKeyTier, RateLimitConfig, RateLimitResult, getApiTier, rateLimitHeaders | imports:next/headers | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "ApiKeyTier,RateLimitConfig,RateLimitResult,getApiTier,rateLimitHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08cac989119ede1e",
      "framework": "next-react",
      "imports": "next/headers",
      "lines": 160,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "192819302f6eb97625ea27c6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MESSAGES, MessageKey, Messages, getMessage, getMessages | imports:./index | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MESSAGES,MessageKey,Messages,getMessage,getMessages",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "273cde2dd90c3746",
      "framework": "next-react",
      "imports": "./index",
      "lines": 764,
      "logic_relevance": "primary",
      "name": "messages",
      "normalized_name": "messages",
      "package_manager": "pnpm",
      "path": "lib/i18n/messages.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "3f033517b6bcb9043e56bde7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LOCALE_CONFIGS, Locale, LocaleConfig, RTL_LOCALES, detectBrowserLocale, formatDate, formatNumber, getLocaleConfig | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LOCALE_CONFIGS,Locale,LocaleConfig,RTL_LOCALES,detectBrowserLocale,formatDate,formatNumber,getLocaleConfig,getStoredLocale,isRTL,setStoredLocale",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a34d831f232f0daa",
      "framework": "next-react",
      "imports": "",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bd7789f0b2cfd61da0866359",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc3ef26abdf35943",
      "framework": "next-react",
      "imports": "",
      "lines": 5217,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "316b2f9f9bcbf22de2baaf8b",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "179544470b17bce0",
      "framework": "next-react",
      "imports": "@/lib/supabase/middleware,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f2b4b8686e7b51bccc48d9f7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cbc36aa9bcad63f6",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f8ad2ae8b96f423d42c43c69",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "773b25601611be78",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6564105e925dff256fcfd691",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b10a599a94777bfc",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "bf6a49c4e513bca190aa03e3",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3785a61112ee5d0b",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "acadbdac7ddb7e5bbd0f415d",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "21d033875b2d6f95",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery",
      "component_id": "77306c39ac04a8bd639caaf8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fb33ea0ef615de99",
      "framework": "next-react",
      "imports": "next",
      "lines": 30,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "1de2e98b22f7f77115db7115",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3dfe248a43690653",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 54,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b8f57cd25ae0d0b168e3194d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LandingPage | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LandingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54f7f9d427ecb442",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 157,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "651ccb8559abfe65ebc44337",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5cfc75b1de349521",
      "framework": "next-react",
      "imports": "",
      "lines": 175,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ea0b08805905b0043c1bf2c5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7b62f411b88c1fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 177,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e3396c814913e2318a150bbe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2b231107bb7625e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 47,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3c4a388f9dd671749c76c0c8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee0c04b28a2beed7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,lucide-react,next/link,next/navigation,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "efa86e64ca8be5be91c422a6",
      "component_kind": "ai-integration",
      "confidence": 85,
      "dependency_roots": "@/lib,ai,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./route, @/lib/supabase/server, ai, vitest | ai-score:120 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f78007e258206790",
      "framework": "next-react",
      "imports": "./route,@/lib/supabase/server,ai,vitest",
      "lines": 146,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/rank-buyers/route.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability,security",
      "component_id": "1523888dc4c6952115a8a49c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/supabase/server, ai, zod | backend-score:160 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "719ba8c34ead245a",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,ai,zod",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/rank-buyers/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend,observability,security",
      "component_id": "5bce7a4daca8d3f82d7517f1",
      "component_kind": "ai-integration",
      "confidence": 85,
      "dependency_roots": "@/lib,ai,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./route, @/lib/supabase/server, ai, vitest | ai-score:120 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c2c4e0d7ee338942",
      "framework": "next-react",
      "imports": "./route,@/lib/supabase/server,ai,vitest",
      "lines": 85,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/filter-properties/route.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "dd50eda865bacd362e92a1a8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,ai",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/supabase/server, ai | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "149bdb28e354ec72",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,ai",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/filter-properties/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "9fc7077fcab7383a2a9b10ff",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/app-sidebar, @/components/ui/sidebar | frontend-score:85 | ui-score:55",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7879117dfa5df1b8",
      "framework": "next-react",
      "imports": "@/components/app-sidebar,@/components/ui/sidebar",
      "lines": 42,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "1934854fd1f30484e77786e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLoading | imports:@/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "DashboardLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d08a381e42ca7769",
      "framework": "next-react",
      "imports": "@/components/ui/skeleton",
      "lines": 37,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "bca4815e2b9ef3a67544f96d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/separator, @/hooks/use-toast | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1a682ae1c8a2ee8",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/separator,@/hooks/use-toast,lucide-react,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "1d37e15152035d5a604af0af",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SMSPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/hooks/use-toast, @/lib/mock-data | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SMSPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69182d6128f19e2f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-toast,@/lib/mock-data,lucide-react,react",
      "lines": 287,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/sms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "585b5b642fb1c5759ebf7afd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContractsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/mock-data, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ContractsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42007aef5d76abad",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/mock-data,lucide-react,next/link",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/contracts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c5206bc069c2b3bd4e92a135",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/mock-data, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DealsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed80789c3017acd8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/mock-data,lucide-react,next/link",
      "lines": 163,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/deals/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "570360ceeaa540eca561dd96",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DialerPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/ui/textarea, @/lib/mock-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "DialerPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7b517a1ceee788b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/textarea,@/lib/mock-data,lucide-react,react",
      "lines": 313,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dialer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5c89bb9932cd25d7bcad1418",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/mock-data, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8ae7b448c25ec4f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/mock-data,lucide-react,next/link",
      "lines": 245,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "026689dc262964fa77ba8c1b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertiesLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "PropertiesLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b9d7dd065ba1cb7",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 75,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/properties/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "94b2f4f31522c92c30a0ce55",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertiesPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/mock-data, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PropertiesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70a8d5daaa4e2c16",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/mock-data,lucide-react,next/link,react",
      "lines": 229,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/properties/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "ed840db6b392ffaef821a5ed",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewPropertyPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70",
      "exports": "NewPropertyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c7c1eedee59f858",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-toast,lucide-react,next/link,next/navigation,react",
      "lines": 195,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/properties/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "d707a59bcf69c0310c0daf3d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImportPropertiesPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/progress, @/components/ui/select, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "ImportPropertiesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18cae2b20a3bc0ab",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/progress,@/components/ui/select,@/hooks/use-toast,lucide-react,next/link,next/navigation,react",
      "lines": 208,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/properties/import/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "260aa7326e3ddf931dc688c1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupportPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "SupportPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2265062a878b6b99",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-toast,lucide-react,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/support/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "b9777f6cc528080d76e35ca2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:BuyersLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "BuyersLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa9ecb49a488085d",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 42,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/buyers/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security",
      "component_id": "ddea6e61df2c3add0ccea1c2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BuyersPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/mock-data, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BuyersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "179c83bf2bef2018",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/mock-data,lucide-react,next/link,react",
      "lines": 247,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/buyers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "923e3d62ef3d8f07ee248820",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewBuyerPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70",
      "exports": "NewBuyerPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "815ce8bd11e9fcf8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-toast,lucide-react,next/link,next/navigation,react",
      "lines": 154,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/buyers/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ecfa0dfe0ee44bf78ef51f21",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, @/hooks/use-toast | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EmailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5788127bb868b3d4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/hooks/use-toast,@/lib/mock-data,lucide-react,react",
      "lines": 277,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/email/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "cd412a8bf15326092b3c37fe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsPage | imports:@/components/ui/card, @/components/ui/chart, @/lib/mock-data, lucide-react, recharts | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "183ffb2eddc5c458",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/chart,@/lib/mock-data,lucide-react,recharts",
      "lines": 297,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "eb26ba9dabe819e836d4026f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "848ba6c80c768ba5684f20b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealsTable | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/table, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DealsTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a17dfc82d055a1ee",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/table,lucide-react,next/link",
      "lines": 160,
      "logic_relevance": "none",
      "name": "deals-table",
      "normalized_name": "deals-table",
      "package_manager": "pnpm",
      "path": "components/deals-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "3929e0e47db26bb159ad787f",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6291e2131f4fd9cf91d3f9fd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BuyersTable | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/table, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BuyersTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c6fa40e5868904a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/table,lucide-react,next/link",
      "lines": 153,
      "logic_relevance": "none",
      "name": "buyers-table",
      "normalized_name": "buyers-table",
      "package_manager": "pnpm",
      "path": "components/buyers-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "38bc040ed7d925a60ea9e07c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:@/components/ui/avatar, @/components/ui/dropdown-menu, @/components/ui/sidebar, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a7b027cc68a54a0",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/dropdown-menu,@/components/ui/sidebar,lucide-react,next/link,next/navigation,react",
      "lines": 208,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b190b238c0bd37d3a438311c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyTable | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/table, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PropertyTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f5a0caa97cb31c1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/table,lucide-react,next/link,react",
      "lines": 155,
      "logic_relevance": "none",
      "name": "property-table",
      "normalized_name": "property-table",
      "package_manager": "pnpm",
      "path": "components/property-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "1caf3b0546a776f1f8a157bf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OnboardingModal | imports:@/components/ui/button, @/components/ui/dialog, @/lib/config/brand, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OnboardingModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8eda50a162ca5c2f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/lib/config/brand,lucide-react,react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "onboarding-modal",
      "normalized_name": "onboarding-modal",
      "package_manager": "pnpm",
      "path": "components/onboarding-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1371643bd71534bd529c8678",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "9c1d26a4dc626ff7972cc2ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "edd52b7dccf136e437e31be4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "db86730e7144936ef7dd4507",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c2b4a20ffc4070b7501b0ee8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "05e7c69e85a6666769f08b20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "35808697e7dba443dc65b02b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b81597cfb115e581045d539c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c74a6f286f104799284e438c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0944a3f46074185546d1ec68",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "358da2de6bb99cbb9d3c6bd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0ab8c7affee736c977a7da27",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "561a8b7d72799c7d8e9d91bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9979a5f8a9426ca05904531b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "075a4ff1acac980e6ee2e12a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "35c4368a3be273db4afa4556",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "3ac38895db2a23f8dac1f763",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation,ai",
      "component_id": "711c5aab4e0a8af1bd98ca1c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1b94cc6ab29b9bfc",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/.well-known/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "6ff648e7f00afcdf533b59f9",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c558af6de26ef68b",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/.well-known/llms-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,discovery,ai",
      "component_id": "5ea1250f10b340c6ab063d6f",
      "component_kind": "mcp",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6126d67032866c31",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/.well-known/mcp/manifest.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "9a03f59491ffd1c08509f7e9",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cab147e412b5570e",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "cd58e62b4ca534d1dc5769e7",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a038b1ea0d9e6b9f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "07a73a76c2dc6012c9a5ab97",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6cdf2fd355dcf272",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,logic",
      "component_id": "73b569143eec0e52338ac8da",
      "component_kind": "security-module",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:initializeAnalytics | imports:@/lib/supabase/client | security-score:55 | logic-score:45",
      "exports": "initializeAnalytics",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64994e53d7bb7c0d",
      "framework": "next-react",
      "imports": "@/lib/supabase/client",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f4bb17ea2e13f64adab4199d",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "5a99b5f1715634b5f121dbea",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:mockActivities, mockAnalytics, mockBuyers, mockCallScripts, mockCampaigns, mockCommunications, mockContracts, mockDeals | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "mockActivities,mockAnalytics,mockBuyers,mockCallScripts,mockCampaigns,mockCommunications,mockContracts,mockDeals,mockEmailTemplates,mockListTypes,mockProperties,mockSMSTemplates",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "58ffa4772b1e8f6e",
      "framework": "next-react",
      "imports": "",
      "lines": 547,
      "logic_relevance": "primary",
      "name": "mock-data",
      "normalized_name": "mock-data",
      "package_manager": "pnpm",
      "path": "lib/mock-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,logic",
      "component_id": "ff1e8bcfd0321643f5b144f2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:brandConfig | observability-score:55 | logic-score:45",
      "exports": "brandConfig",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ed815f33ece08c2a",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "secondary",
      "name": "brand",
      "normalized_name": "brand",
      "package_manager": "pnpm",
      "path": "lib/config/brand.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "81cdd906971440db036f3920",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7e5c4f7eb1bb9ec0",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "3273494427a1a1fdab06939b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr,@supabase/supabase-js",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr, @supabase/supabase-js | logic-score:85 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4aae9bfe30ac119a",
      "framework": "next-react",
      "imports": "@supabase/ssr,@supabase/supabase-js",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "354864c8bae628d7175566c1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e297bed78ea40818",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "8df85453b177dfed3c90a0f9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3bb031192514888",
      "framework": "next-react",
      "imports": "",
      "lines": 6175,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "05669af800e5879417ad636a",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3c55011de65aa7b6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "defe5d9b1447fc92c13d8a38",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b8116feeafcc4947",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "3fb2f49ff79ee8065fbd4ad2",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6e3bc37e2752612",
      "framework": "next-react",
      "imports": "",
      "lines": 305,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "3350f6b0fc14a815e1276a7a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9c51d973b943e470",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "808dcc8e4fb8e6d0659ded86",
      "component_kind": "mcp-server",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f5f9c6f078c9b08",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "mcp_server",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "mcp_server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "aca146e63dd6becdaee78c62",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5e3fe6c69daa8c09",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "951457f4a3f01ccbd9a89081",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/providers/error-boundary, @/components/providers/monitoring-provider, @/components/providers/theme-provider, @/components/ui/toaster, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66d77e4e39c6cb5c",
      "framework": "next-react",
      "imports": "@/components/providers/error-boundary,@/components/providers/monitoring-provider,@/components/providers/theme-provider,@/components/ui/toaster,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google",
      "lines": 100,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "554af17df41e35601f6d2a44",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, @/components/ui/card, @/lib/error-handler, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9e26d61d17c61b6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/error-handler,lucide-react,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "bcb94778429b33e4b3eb288c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, dynamic | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a52e67cce1fbc02",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 135,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d584637fc76d3950c595eb00",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2523851db40e840f",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "94cab19d2515cc7ca4e1c8ad",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:@/lib/error-handler, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86e44542690f6cc7",
      "framework": "next-react",
      "imports": "@/lib/error-handler,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "global-error",
      "normalized_name": "global-error",
      "package_manager": "pnpm",
      "path": "app/global-error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "4257b6cf1c0d685c2b5f3bd0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a12971fe7793f1c0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 39,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "08934d74a262b6df18e61738",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/separator, @/components/ui/switch | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SettingsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28e7740263ffac7e",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,@/components/ui/tabs,lucide-react",
      "lines": 231,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,discovery,automation",
      "component_id": "1ada041b06166aaf929ffde4",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7a8c3a663f52dffa",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "1b6cad30381b21b18d21c907",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6c2b867741ec8a3d",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "e58c056704e9e9bb40ca7f6e",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5e2fee00371c05f5",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "19922f50207c18cc057f2f28",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5faeef8dc1c34b35",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-index.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "dd43d11f0795622c16b42421",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:FavoritesPage, dynamic | imports:@/components/favorites/favorites-list, @/components/layout/page-wrapper | frontend-score:85 | ui-score:55",
      "exports": "FavoritesPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14da91689a85bb1d",
      "framework": "next-react",
      "imports": "@/components/favorites/favorites-list,@/components/layout/page-wrapper",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/favorites/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8dd88f487ac53aabd3bf8e90",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminAnalyticsPage | imports:@/components/admin/error-log-analytics, @/components/admin/performance-metrics, @/components/admin/session-analytics, @/components/admin/user-activity-feed, @/components/layout/page-wrapper, @/components/ui/card, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "AdminAnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11f41d4d2a644cab",
      "framework": "next-react",
      "imports": "@/components/admin/error-log-analytics,@/components/admin/performance-metrics,@/components/admin/session-analytics,@/components/admin/user-activity-feed,@/components/layout/page-wrapper,@/components/ui/card,@/components/ui/tabs,lucide-react",
      "lines": 106,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability",
      "component_id": "3ab6571d43b4151492b93310",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AgentsPage, dynamic | imports:@/components/agents/agent-filters, @/components/agents/agents-grid, @/components/layout/page-wrapper | frontend-score:85 | ai-score:75 | ui-score:55 | observability-score:55",
      "exports": "AgentsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9aeef313dc2ebaa4",
      "framework": "next-react",
      "imports": "@/components/agents/agent-filters,@/components/agents/agents-grid,@/components/layout/page-wrapper",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/agents/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "e27b314c35105e1c8acf52ad",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AgentReviewsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AgentReviewsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1dfbb81ec6d98eb",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 199,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/agents/reviews/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security,ai",
      "component_id": "7489cb629671b8793d0c8298",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AlertsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "AlertsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9513ec2a0a3332bb",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/alerts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "76ce28d5e82d3a07c8ff976b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93ac406403cb5f40",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 125,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "deb0c585c24783846c9dd0e1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/components/ui/switch, lucide-react | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "IntegrationsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "988df613cd917e39",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/components/ui/switch,lucide-react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/integrations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "881b06ff9421678df2de0859",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertiesLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "PropertiesLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66de1f688cd2362f",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 68,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/properties/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "4ebb799ca975a4659041091e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertiesPage | imports:@/components/layout/page-wrapper, @/components/properties/property-filters, @/components/properties/property-grid, @/components/properties/property-search, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PropertiesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c2962e41efa05ef",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/properties/property-filters,@/components/properties/property-grid,@/components/properties/property-search,@/components/ui/skeleton,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/properties/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "d85dfd50042ea85d26024cfe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyPage | imports:@/components/layout/page-wrapper, @/components/properties/property-details, @/lib/db/properties, next/navigation | frontend-score:115 | ui-score:55 | metadata",
      "exports": "PropertyPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9b91cfdb81c37c2",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/properties/property-details,@/lib/db/properties,next/navigation",
      "lines": 33,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/properties/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "1cf5740ca321f90a34cba933",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7051108566d3d295",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/metrics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "982177ee965039bd8452b5fc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/bridge-api/client, @/lib/error-handler, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbff60d608829b38",
      "framework": "next-react",
      "imports": "@/lib/bridge-api/client,@/lib/error-handler,@neondatabase/serverless,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bridge/sync-properties/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "f7c8a344482bd25ef9f8c6a3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/bridge-api/client, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1fc0e87aca144500",
      "framework": "next-react",
      "imports": "@/lib/bridge-api/client,@neondatabase/serverless,next/server",
      "lines": 97,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bridge/fetch-listings/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "77eb5b836b9e82f55144726d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bridge-api/client, @/lib/error-handler, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "31f4e372675d18e5",
      "framework": "next-react",
      "imports": "@/lib/bridge-api/client,@/lib/error-handler,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bridge/agent-reviews/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a92417137c9e384eac228fb7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/bridge-api/client, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "74d900fab12ee368",
      "framework": "next-react",
      "imports": "@/lib/bridge-api/client,@neondatabase/serverless,next/server",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/bridge/fetch-by-mls/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "1028fa1a4ae4d3fee61628a4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db/favorites, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "da46c94e1ff42bbf",
      "framework": "next-react",
      "imports": "@/lib/db/favorites,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/favorites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "8d909d3219e3d846bf5fa873",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/bridge-api/client, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "97514055638231a4",
      "framework": "next-react",
      "imports": "@/lib/bridge-api/client,@neondatabase/serverless,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability",
      "component_id": "cb51ef7dd747708448dfe92f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db/agents, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f8566dcdaaf5a18",
      "framework": "next-react",
      "imports": "@/lib/db/agents,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/agents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "c4b37f1fd6c699d3e5f21c22",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6c2b867741ec8a3d",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a093c96c156d2b99b0631a11",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8c9a9befe6df415c",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/log-error/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9dc7650c667e6e527f49e65e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a578083e90ade8c5",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 132,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/sessions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "8c9fccf979c5f10bf3f7b50c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "13e1104f1c426670",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/sessions/update/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend",
      "component_id": "7c2a783fbed4ce42b62631b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "65032ecd7eaafe28",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/sessions/end/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a2faca877a5ad7b6e56f6089",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2936a61c992dcd4e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/sessions/event/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "eaea8c8c723e350334682588",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/error-handler, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2fcbd92ffa5387a",
      "framework": "next-react",
      "imports": "@/lib/error-handler,@neondatabase/serverless,next/server",
      "lines": 177,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/properties/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "ba8bc95ce8c57e1e7917a0ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@fal-ai/serverless-client,@vercel/blob,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@fal-ai/serverless-client, @vercel/blob, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "72db667d397ce516",
      "framework": "next-react",
      "imports": "@fal-ai/serverless-client,@vercel/blob,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/properties/generate-image/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "d0087f406a2dc19912f3d600",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/data-sync, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cc7155d5dcfaea28",
      "framework": "next-react",
      "imports": "@/lib/data-sync,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/properties/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b4b0f73acf5d55ee385a57a0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/error-handler, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebaaefc4d4b79b4f",
      "framework": "next-react",
      "imports": "@/lib/error-handler,@neondatabase/serverless,next/server",
      "lines": 119,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/properties/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "2c96ae07a753f9f426809706",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/zillow, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cf7760af22eadd39",
      "framework": "next-react",
      "imports": "@/lib/db/zillow,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/zillow/regions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "backend,frontend,observability",
      "component_id": "2fd88c118a0f6098824f5eb1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for finance; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/zillow, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5679d9b0be8f6162",
      "framework": "next-react",
      "imports": "@/lib/db/zillow,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/zillow/market/[regionId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fffee7184d80d2b048fa6996",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d1568906b8f1da45",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/errors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,frontend,observability",
      "component_id": "ec6be4ec7bc2c0b9daa2869a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db/seller-opportunities, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9e1631bf016fd1c9",
      "framework": "next-react",
      "imports": "@/lib/db/seller-opportunities,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/seller-opportunities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "2e6dd020964b50db584dfe8c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db/saved-searches, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2b0b0e6a7e3bc90a",
      "framework": "next-react",
      "imports": "@/lib/db/saved-searches,@neondatabase/serverless,next/server",
      "lines": 76,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/saved-searches/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "5798eab1e29320ab5de5990b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/error-handler, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9b67a9d45d552cc0",
      "framework": "next-react",
      "imports": "@/lib/error-handler,@neondatabase/serverless,next/server",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security",
      "component_id": "55f868eb2c48a4b4177eee84",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fc6b0a9c6e69a98e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analytics/pageview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "920b06a1b6d4eecf563765ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/error-handler, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d30542e575728ed2",
      "framework": "next-react",
      "imports": "@/lib/error-handler,@neondatabase/serverless,next/server",
      "lines": 85,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analytics/market/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "2b7fe3451b1ab6b4d5df66c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db/reports, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4efddf97853db4ca",
      "framework": "next-react",
      "imports": "@/lib/db/reports,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/reports/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "110236c495b47c958bb1efa0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@neondatabase/serverless, next/server, stripe | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8bf2ce7cbbf6c102",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,next/server,stripe",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stripe/webhook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "dedd6efefc680e3da30a7138",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a838cff7eef6b2d8",
      "framework": "next-react",
      "imports": "next/server,stripe",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stripe/create-checkout-session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "43aa076af7742b564c98a140",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZillowPage, dynamic | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/hooks/use-debounce, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ZillowPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82ae39a93861710f",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/hooks/use-debounce,lucide-react,react",
      "lines": 232,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/zillow/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process",
      "component_id": "3ac1a0e744d75d2652397c39",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsPage | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs | frontend-score:85 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "ApiDocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4799d52b82203f7c",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs",
      "lines": 303,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api-docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "785da47d08412c1bd5da1dba",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SavedSearchesPage, dynamic | imports:@/components/layout/page-wrapper, @/components/saved-searches/create-search-dialog, @/components/saved-searches/saved-searches-list, @/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SavedSearchesPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c703b964be5690b",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/saved-searches/create-search-dialog,@/components/saved-searches/saved-searches-list,@/components/ui/button,lucide-react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/saved-searches/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "cc060a0e4bb09d8331b0950a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPage | imports:@/components/layout/page-wrapper, @/components/pricing/pricing-cards, @/components/ui/badge | frontend-score:85 | ui-score:55",
      "exports": "PricingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc2ecdff5b1caa2e",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/pricing/pricing-cards,@/components/ui/badge",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/pricing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4fb0c9d50a886578bf15c5cc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BillingPage | imports:@/components/layout/page-wrapper, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BillingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab5e26a24bb41520",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/billing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f1414c5c9db996c948b0d874",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellersLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SellersLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00793784207cf336",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 68,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/sellers/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e09dd38015b0e9c1b80833c7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellersPage, dynamic | imports:@/components/layout/page-wrapper, @/components/sellers/seller-finder-dashboard, @/components/sellers/seller-finder-filters, @/components/sellers/top-opportunities, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SellersPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d35d17331bc461ac",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/sellers/seller-finder-dashboard,@/components/sellers/seller-finder-filters,@/components/sellers/top-opportunities,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sellers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c7400b4b5ae9f885b18c485f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnalyticsPage | imports:@/components/analytics/geographic-heatmap, @/components/analytics/market-overview, @/components/analytics/price-distribution, @/components/analytics/property-trends, @/components/analytics/recent-activity, @/components/layout/page-wrapper, @/components/ui/card, @/components/ui/tabs | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalyticsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6056c81ce9e24ed",
      "framework": "next-react",
      "imports": "@/components/analytics/geographic-heatmap,@/components/analytics/market-overview,@/components/analytics/price-distribution,@/components/analytics/property-trends,@/components/analytics/recent-activity,@/components/layout/page-wrapper,@/components/ui/card,@/components/ui/tabs,lucide-react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analytics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ff9790074526378e43fad404",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketAnalyticsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/market/market-heatmap, @/components/market/market-trends-chart, @/components/market/price-growth-indicators, @/components/market/top-markets, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MarketAnalyticsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28504203671a98b4",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/market/market-heatmap,@/components/market/market-trends-chart,@/components/market/price-growth-indicators,@/components/market/top-markets,@/components/ui/card,lucide-react,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analytics/market/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "590473575f97ff8ad32467d9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ForecastsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/market/forecast-table, @/components/ui/badge, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "ForecastsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91e68d0982d6d689",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/market/forecast-table,@/components/ui/badge,@/components/ui/card,lucide-react,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/analytics/forecasts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9f0def63b4cebc2413f2cc89",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReportsPage, dynamic | imports:@/components/layout/page-wrapper, @/components/reports/market-insights, @/components/reports/portfolio-stats, @/components/reports/price-distribution-chart, @/components/ui/tabs | frontend-score:85 | ui-score:55",
      "exports": "ReportsPage,dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4eafc8967f3f1a4",
      "framework": "next-react",
      "imports": "@/components/layout/page-wrapper,@/components/reports/market-insights,@/components/reports/portfolio-stats,@/components/reports/price-distribution-chart,@/components/ui/tabs",
      "lines": 38,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/reports/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ffb2b85f061a11e4421ce6e6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "66f16e175f7b3a81fd4cd729",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider, ThemeProviderProps | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider,ThemeProviderProps",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b69fbf3cddbcebc5",
      "framework": "next-react",
      "imports": "react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c00b9aae8ed05c6ae9c22a05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary | imports:@/components/ui/button, @/components/ui/card, @/lib/error-handler, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "350d94381fe8b67e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/error-handler,lucide-react,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "cb0b254c1a88aca4914e9701",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoadingBoundary | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "LoadingBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "214e42cab9f8a26e",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 28,
      "logic_relevance": "none",
      "name": "loading-boundary",
      "normalized_name": "loading-boundary",
      "package_manager": "pnpm",
      "path": "components/loading-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "533b536c780739427996cc2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1a717bcc491a5a9ff093448b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "924adddc6a58b4314e9e413e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "b0ad363d34bca947ad496dd6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0048bc225189de549874731d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fccedca512d35c0806e7e43e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a67686ce8bf09bd48b68a940",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ebb70c9fc65e2928296bf88d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5f0aeac1ebd36f33cee12486",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "39bd2c3d7086a76e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fcf75d5b6deb22ebbfe556b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "16c6c7b6c0691f1c0392b395",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "19ab30874cd1a1debf4dd3b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d00789dae2bca422be08477c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9a02b2addebabc71f2cac911",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3d078849de6e1d7c31602924",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "abb37ea920790c5577febd33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "002c49571ccc13ca3495c75e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0d77b39aa3ccaa89768c6d0d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0240056af6a76e18c9837c90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ThemeToggle | imports:@/components/providers/theme-provider, @/components/ui/button, @/components/ui/dropdown-menu, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "52909d2effe5214e",
      "framework": "next-react",
      "imports": "@/components/providers/theme-provider,@/components/ui/button,@/components/ui/dropdown-menu,lucide-react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/ui/theme-toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "eff1ee1f1c126eb8f6a91405",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8b9de57a2fab1d103f66f37c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dd37508cabd6b438be775b8f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6eb18b048a49efbb939b4374",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "87d12f3f86043c51bfcb35e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "59135d9e9a937dcba23244f9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/ui/button, @/components/ui/input, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6510a2e35ec1e013",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,next/link",
      "lines": 105,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "de120fa7ef5dabf74e2744ec",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PageWrapper | imports:./footer, ./header, ./sidebar, react | frontend-score:115 | ui-score:70",
      "exports": "PageWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0165096bf533517e",
      "framework": "next-react",
      "imports": "./footer,./header,./sidebar,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page-wrapper",
      "normalized_name": "page-wrapper",
      "package_manager": "pnpm",
      "path": "components/layout/page-wrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "435dc7bacbc4cf4977e64914",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/navigation-menu, @/components/ui/sheet, @/components/ui/theme-toggle, @/hooks/use-mobile, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a606cd9416ec4837",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/navigation-menu,@/components/ui/sheet,@/components/ui/theme-toggle,@/hooks/use-mobile,lucide-react,next/link,react",
      "lines": 308,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1acd779c527eb1fd3441c8ef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:@/components/ui/button, @/components/ui/scroll-area, @/lib/utils, lucide-react, next/link, next/navigation | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7ee7f64a540a2021",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/scroll-area,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 103,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b9fc8dbc055858f50ac960ba",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider, useTheme | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider,useTheme",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "446aa6ff8e693935",
      "framework": "next-react",
      "imports": "react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/providers/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "745a4be5529666f06ec0189e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary | imports:@/components/ui/button, @/components/ui/card, @/lib/error-logger, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01b351b7e33219ee",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/error-logger,lucide-react,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/providers/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "36e022240869f2d7a4d6483a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MonitoringProvider | imports:@/lib/error-logger, @/lib/fingerprint, @/lib/monitoring, @/lib/session-tracker, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MonitoringProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4dad0d2ddfce2d8f",
      "framework": "next-react",
      "imports": "@/lib/error-logger,@/lib/fingerprint,@/lib/monitoring,@/lib/session-tracker,next/navigation,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "monitoring-provider",
      "normalized_name": "monitoring-provider",
      "package_manager": "pnpm",
      "path": "components/providers/monitoring-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2485481122588d9dff7cb35a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FavoritesList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FavoritesList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1c48991099f8ec9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "favorites-list",
      "normalized_name": "favorites-list",
      "package_manager": "pnpm",
      "path": "components/favorites/favorites-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "779baeeceebfb5dffa51de7c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformanceMetrics | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "PerformanceMetrics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe95d62255846e72",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "performance-metrics",
      "normalized_name": "performance-metrics",
      "package_manager": "pnpm",
      "path": "components/admin/performance-metrics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "72be9c84ef0a5df92c269d79",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionAnalytics | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/skeleton, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SessionAnalytics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "727a3da10a7da438",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/skeleton,lucide-react,react",
      "lines": 171,
      "logic_relevance": "none",
      "name": "session-analytics",
      "normalized_name": "session-analytics",
      "package_manager": "pnpm",
      "path": "components/admin/session-analytics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "1dad991129eee004cce0bc45",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserActivityFeed | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "UserActivityFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0ddf8aaeaa999e2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 81,
      "logic_relevance": "none",
      "name": "user-activity-feed",
      "normalized_name": "user-activity-feed",
      "package_manager": "pnpm",
      "path": "components/admin/user-activity-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9f20d4551e4f725d30865f72",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorLogAnalytics | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ErrorLogAnalytics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a2e96355f1e3aec",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,lucide-react,react",
      "lines": 178,
      "logic_relevance": "none",
      "name": "error-log-analytics",
      "normalized_name": "error-log-analytics",
      "package_manager": "pnpm",
      "path": "components/admin/error-log-analytics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui,security",
      "component_id": "c8821a4973c3f7c3407ecec1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:AgentFilters | imports:@/components/ui/card, @/components/ui/checkbox, @/components/ui/label, @/components/ui/slider, react | frontend-score:115 | ai-score:75 | ui-score:70 | security-score:55",
      "exports": "AgentFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b2c90aa43440936",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/checkbox,@/components/ui/label,@/components/ui/slider,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "agent-filters",
      "normalized_name": "agent-filters",
      "package_manager": "pnpm",
      "path": "components/agents/agent-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "b0766fdd3b480ad3a01ad990",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AgentsGrid | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AgentsGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6976638530bd9123",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "agents-grid",
      "normalized_name": "agents-grid",
      "package_manager": "pnpm",
      "path": "components/agents/agents-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fc7334077a267c2e1a737dfa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyDetails | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/components/ui/tabs, @/lib/db/properties, lucide-react, next/image | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PropertyDetails",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "139a1b4f88a796d5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/components/ui/tabs,@/lib/db/properties,lucide-react,next/image,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "property-details",
      "normalized_name": "property-details",
      "package_manager": "pnpm",
      "path": "components/properties/property-details.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f73904b0efda6edc5b596520",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PropertyCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f42769a3e3dc3234",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link,react",
      "lines": 103,
      "logic_relevance": "none",
      "name": "property-card",
      "normalized_name": "property-card",
      "package_manager": "pnpm",
      "path": "components/properties/property-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5a842d96eaca5cb4f748b868",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyFilters | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/label, @/components/ui/select, @/components/ui/slider, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PropertyFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a44357e5d46339bc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/label,@/components/ui/select,@/components/ui/slider,lucide-react,react",
      "lines": 165,
      "logic_relevance": "none",
      "name": "property-filters",
      "normalized_name": "property-filters",
      "package_manager": "pnpm",
      "path": "components/properties/property-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e41930670689718c591d8dc9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyGrid | imports:./mls-import-dialog, ./property-card, @/components/ui/alert, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PropertyGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ebf862ac7446c0fe",
      "framework": "next-react",
      "imports": "./mls-import-dialog,./property-card,@/components/ui/alert,@/components/ui/button,lucide-react,react",
      "lines": 168,
      "logic_relevance": "none",
      "name": "property-grid",
      "normalized_name": "property-grid",
      "package_manager": "pnpm",
      "path": "components/properties/property-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f723738bc6a07e4bf7afcf99",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MLSImportDialog | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MLSImportDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fdacdc210ee893ad",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,lucide-react,react",
      "lines": 123,
      "logic_relevance": "none",
      "name": "mls-import-dialog",
      "normalized_name": "mls-import-dialog",
      "package_manager": "pnpm",
      "path": "components/properties/mls-import-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "381f270443a8916866574030",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertySearch | imports:@/components/ui/button, @/components/ui/input, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "PropertySearch",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "072c73bb0051705c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,next/navigation,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "property-search",
      "normalized_name": "property-search",
      "package_manager": "pnpm",
      "path": "components/properties/property-search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ai,ui",
      "component_id": "1af7a67f1d1983d33d1a78eb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIImageGenerator | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ai-score:75 | ui-score:70",
      "exports": "AIImageGenerator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0eca5bc985ed6fe",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 70,
      "logic_relevance": "none",
      "name": "ai-image-generator",
      "normalized_name": "ai-image-generator",
      "package_manager": "pnpm",
      "path": "components/properties/ai-image-generator.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d27ff9f498870b3924907890",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopMarkets | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TopMarkets",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ded04f98409ddcb0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "top-markets",
      "normalized_name": "top-markets",
      "package_manager": "pnpm",
      "path": "components/market/top-markets.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "3105dcbaa1a3e87546876665",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,recharts",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketTrendsChart | imports:@/components/ui/card, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "MarketTrendsChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf1b94a5f75eef1c",
      "framework": "next-react",
      "imports": "@/components/ui/card,recharts",
      "lines": 67,
      "logic_relevance": "none",
      "name": "market-trends-chart",
      "normalized_name": "market-trends-chart",
      "package_manager": "pnpm",
      "path": "components/market/market-trends-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "f9f9542c0ead87870ebe0745",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ForecastTable | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/table, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ForecastTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84d92587e536e796",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/table,lucide-react",
      "lines": 98,
      "logic_relevance": "none",
      "name": "forecast-table",
      "normalized_name": "forecast-table",
      "package_manager": "pnpm",
      "path": "components/market/forecast-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "f818f5024adab4dfd8d487e5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketHeatmap | imports:@/components/ui/card | frontend-score:85 | ui-score:55",
      "exports": "MarketHeatmap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0db2ec35f5569c9e",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 23,
      "logic_relevance": "none",
      "name": "market-heatmap",
      "normalized_name": "market-heatmap",
      "package_manager": "pnpm",
      "path": "components/market/market-heatmap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "65725bba8bbe982d6fe3fb57",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:PriceGrowthIndicators | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PriceGrowthIndicators",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22ffdefbc6f85ba2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "price-growth-indicators",
      "normalized_name": "price-growth-indicators",
      "package_manager": "pnpm",
      "path": "components/market/price-growth-indicators.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5dba4105c17fc6490a4300cf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreateSearchDialog | imports:@/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CreateSearchDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce147e3dd26b8fed",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,react",
      "lines": 106,
      "logic_relevance": "none",
      "name": "create-search-dialog",
      "normalized_name": "create-search-dialog",
      "package_manager": "pnpm",
      "path": "components/saved-searches/create-search-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "78346d7498875a31ea729dec",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SavedSearchesList | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/switch, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SavedSearchesList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d39489531fb1fe4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/switch,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "saved-searches-list",
      "normalized_name": "saved-searches-list",
      "package_manager": "pnpm",
      "path": "components/saved-searches/saved-searches-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2daf56a6383584660b68baf3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingCards | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PricingCards",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89737839126b0f76",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/navigation,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "pricing-cards",
      "normalized_name": "pricing-cards",
      "package_manager": "pnpm",
      "path": "components/pricing/pricing-cards.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "f3e2324857072de11b7b4124",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellerFinderFilters | imports:@/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/select, @/components/ui/slider, next/navigation, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SellerFinderFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a35af9a31acddf76",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/select,@/components/ui/slider,next/navigation,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "seller-finder-filters",
      "normalized_name": "seller-finder-filters",
      "package_manager": "pnpm",
      "path": "components/sellers/seller-finder-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8645a6d7b816852eccc5c328",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellerFinderDashboard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db/market-forecasts, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SellerFinderDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a4bf3cd5d96f712",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db/market-forecasts,lucide-react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "seller-finder-dashboard",
      "normalized_name": "seller-finder-dashboard",
      "package_manager": "pnpm",
      "path": "components/sellers/seller-finder-dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "64eae329251980a0406c801f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopOpportunities | imports:@/components/ui/badge, @/components/ui/card, @/lib/db/market-forecasts, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TopOpportunities",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b5f870ee3d1a40a1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/db/market-forecasts,lucide-react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "top-opportunities",
      "normalized_name": "top-opportunities",
      "package_manager": "pnpm",
      "path": "components/sellers/top-opportunities.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "efc79932ac22c216a919d36d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,recharts",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyTrends | imports:@/components/ui/card, @/components/ui/chart, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PropertyTrends",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db4c6707e16b60d6",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/chart,recharts",
      "lines": 96,
      "logic_relevance": "none",
      "name": "property-trends",
      "normalized_name": "property-trends",
      "package_manager": "pnpm",
      "path": "components/analytics/property-trends.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "38e4cc2c8651169e331ddb1c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecentActivity | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RecentActivity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c6388596a9d895a",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "recent-activity",
      "normalized_name": "recent-activity",
      "package_manager": "pnpm",
      "path": "components/analytics/recent-activity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "0581fdd35d05b6ac9d80d8c8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,recharts",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:PriceDistribution | imports:@/components/ui/card, @/components/ui/chart, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PriceDistribution",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "720e83c21e6cadee",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/chart,recharts",
      "lines": 61,
      "logic_relevance": "none",
      "name": "price-distribution",
      "normalized_name": "price-distribution",
      "package_manager": "pnpm",
      "path": "components/analytics/price-distribution.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5e7459f04fa4d87b6376df49",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GeographicHeatmap | imports:@/components/ui/badge, @/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "GeographicHeatmap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83a059a4fe7981de",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card",
      "lines": 55,
      "logic_relevance": "none",
      "name": "geographic-heatmap",
      "normalized_name": "geographic-heatmap",
      "package_manager": "pnpm",
      "path": "components/analytics/geographic-heatmap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "d65523a985054d9e07d309b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,recharts",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketOverview | imports:@/components/ui/card, @/components/ui/chart, recharts | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "MarketOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c25db49933befe8",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/chart,recharts",
      "lines": 63,
      "logic_relevance": "none",
      "name": "market-overview",
      "normalized_name": "market-overview",
      "package_manager": "pnpm",
      "path": "components/analytics/market-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "289e881d88de75b28a03760d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketInsights | imports:@/components/ui/card, @/components/ui/table, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MarketInsights",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "159566544d94081c",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/table,lucide-react,react",
      "lines": 95,
      "logic_relevance": "none",
      "name": "market-insights",
      "normalized_name": "market-insights",
      "package_manager": "pnpm",
      "path": "components/reports/market-insights.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security,ai",
      "component_id": "94647c096b461ac4d16d0810",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PortfolioStats | imports:@/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "PortfolioStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6773815265bb0d12",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "portfolio-stats",
      "normalized_name": "portfolio-stats",
      "package_manager": "pnpm",
      "path": "components/reports/portfolio-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "6217e8ff55203394adef26ba",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react,recharts",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PriceDistributionChart | imports:@/components/ui/card, react, recharts | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PriceDistributionChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a294d7c0668e5e13",
      "framework": "next-react",
      "imports": "@/components/ui/card,react,recharts",
      "lines": 56,
      "logic_relevance": "none",
      "name": "price-distribution-chart",
      "normalized_name": "price-distribution-chart",
      "package_manager": "pnpm",
      "path": "components/reports/price-distribution-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "40f2d5ec3bce1ab1cba05422",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "imports:../app/page, ../components/providers/theme-provider, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "118f7d3815c7f6ca",
      "framework": "next-react",
      "imports": "../app/page,../components/providers/theme-provider,@testing-library/react,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "84be3ae42c393c6c85ba5774",
      "component_kind": "sitemap",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../app/sitemap, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b1a7d7cbe282d98",
      "framework": "next-react",
      "imports": "../app/sitemap,vitest",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/sitemap.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "80f2ef37adbfd6837196512a",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f3bb4d36d7edfa96",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "b665b831dee8e4bec7cb1522",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2c79d279b7f7cf4e",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "6b8946de6a742785cbedc897",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4970d1461fea16ad",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 37,
      "logic_relevance": "none",
      "name": "seed-users",
      "normalized_name": "seed-users",
      "package_manager": "pnpm",
      "path": "scripts/seed-users.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "91ea47efe1ccbd3c122c395b",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f49599972f05caaf",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 140,
      "logic_relevance": "none",
      "name": "FINAL_SEED_PROPERTIES",
      "normalized_name": "final-seed-properties",
      "package_manager": "pnpm",
      "path": "scripts/FINAL_SEED_PROPERTIES.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d272a99ed180779f6aed2936",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DATA_DIR | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "DATA_DIR",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "46a9a4c2fd439595",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 133,
      "logic_relevance": "none",
      "name": "import-local-data",
      "normalized_name": "import-local-data",
      "package_manager": "pnpm",
      "path": "scripts/import-local-data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "211323fd41c4480b3aecf3e1",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@neondatabase/serverless | backend-score:90 | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "660d9072dff90333",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 135,
      "logic_relevance": "none",
      "name": "SEED_DATABASE_NOW",
      "normalized_name": "seed-database-now",
      "package_manager": "pnpm",
      "path": "scripts/SEED_DATABASE_NOW.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security",
      "component_id": "6f2a1d3b1871c52036616386",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@neondatabase/serverless | automation-score:95 | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eec7fe40474a8cac",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 181,
      "logic_relevance": "none",
      "name": "seed-complete-database",
      "normalized_name": "seed-complete-database",
      "package_manager": "pnpm",
      "path": "scripts/seed-complete-database.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "0fece2f8aea1c8ab07fe8dab",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5a4be5666545ce30",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 84,
      "logic_relevance": "none",
      "name": "INSERT_DATA_ONLY",
      "normalized_name": "insert-data-only",
      "package_manager": "pnpm",
      "path": "scripts/INSERT_DATA_ONLY.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "fb70c602e773597a92c790e2",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aca415983631a881",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 268,
      "logic_relevance": "none",
      "name": "seed-production",
      "normalized_name": "seed-production",
      "package_manager": "pnpm",
      "path": "scripts/seed-production.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "e233010d980fa0c2fb93c171",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "4eb1ba0fcce3d911",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 37,
      "logic_relevance": "none",
      "name": "generate-combined-sql",
      "normalized_name": "generate-combined-sql",
      "package_manager": "pnpm",
      "path": "scripts/generate-combined-sql.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "6d38bc02c2a7c1581d7e489b",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "631e35b8d5485cef",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 58,
      "logic_relevance": "none",
      "name": "INSERT_PROPERTIES",
      "normalized_name": "insert-properties",
      "package_manager": "pnpm",
      "path": "scripts/INSERT_PROPERTIES.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "aca39e6bb33917cfff37305c",
      "component_kind": "security-module",
      "confidence": 100,
      "dependency_roots": "csv,datetime",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:calculate_market_trend, calculate_seller_opportunity_score | imports:csv, datetime | security-score:55 | automation-score:50",
      "exports": "calculate_market_trend,calculate_seller_opportunity_score",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a264aec0cf6b96ba",
      "framework": "next-react",
      "imports": "csv,datetime",
      "lines": 84,
      "logic_relevance": "none",
      "name": "seed_market_forecasts",
      "normalized_name": "seed-market-forecasts",
      "package_manager": "pnpm",
      "path": "scripts/seed_market_forecasts.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "c97e3394f5eaf05955588905",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:TABLES, TIMEOUT_MS | imports:@neondatabase/serverless, fs, path | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "TABLES,TIMEOUT_MS",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "85cde1fce145e073",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,fs,path",
      "lines": 243,
      "logic_relevance": "none",
      "name": "test-health",
      "normalized_name": "test-health",
      "package_manager": "pnpm",
      "path": "scripts/test-health.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "acbfd2aa64c7e2030402a28c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "17cd4f951eb7e9a7",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 177,
      "logic_relevance": "none",
      "name": "seed-comprehensive",
      "normalized_name": "seed-comprehensive",
      "package_manager": "pnpm",
      "path": "scripts/seed-comprehensive.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "34914d30ab625acf2ea8546b",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:DATABASE_URL | imports:@neondatabase/serverless, fs, path | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DATABASE_URL",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3129d131d88cc3b",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,fs,path",
      "lines": 243,
      "logic_relevance": "none",
      "name": "reset-and-seed",
      "normalized_name": "reset-and-seed",
      "package_manager": "pnpm",
      "path": "scripts/reset-and-seed.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "c66d1e8d844fc3ebd06d98ce",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ff4280d3517900a",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 320,
      "logic_relevance": "none",
      "name": "seed-properties-now",
      "normalized_name": "seed-properties-now",
      "package_manager": "pnpm",
      "path": "scripts/seed-properties-now.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,observability",
      "component_id": "aaac98f691a5fe8c6ab64d91",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "csv,datetime,neondb,os,psycopg2,random,subprocess",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:csv, datetime, neondb, os, psycopg2, random, subprocess | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "20334186593263a4",
      "framework": "next-react",
      "imports": "csv,datetime,neondb,os,psycopg2,random,subprocess",
      "lines": 207,
      "logic_relevance": "none",
      "name": "seed_market_data",
      "normalized_name": "seed-market-data",
      "package_manager": "pnpm",
      "path": "scripts/seed_market_data.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7a12b061c4aebd887ffcb693",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BRIDGE_SERVER_TOKEN, DATASET_ID | imports:@neondatabase/serverless | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "BRIDGE_SERVER_TOKEN,DATASET_ID",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47dd5f33f0d24200",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 299,
      "logic_relevance": "none",
      "name": "import-bridge-data",
      "normalized_name": "import-bridge-data",
      "package_manager": "pnpm",
      "path": "scripts/import-bridge-data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "b1c64d9f44196648c886f914",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@neondatabase/serverless | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd42fb92f735e11b",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 291,
      "logic_relevance": "none",
      "name": "seed-production-data",
      "normalized_name": "seed-production-data",
      "package_manager": "pnpm",
      "path": "scripts/seed-production-data.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability",
      "component_id": "cb120d4e85f9d0229a5f0199",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@neondatabase/serverless | automation-score:95 | backend-score:90 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7398f298dfd0c31c",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 394,
      "logic_relevance": "none",
      "name": "seed-database",
      "normalized_name": "seed-database",
      "package_manager": "pnpm",
      "path": "scripts/seed-database.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "dd6bb0c3234edbec58bf19cb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiClient | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ApiClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a96b3b1c140412bb",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "api-client",
      "normalized_name": "api-client",
      "package_manager": "pnpm",
      "path": "lib/api-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security",
      "component_id": "ba7ddb1c22322c955ff77b19",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "stripe",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:stripe | imports:stripe | logic-score:60 | integration-score:55 | security-score:55 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f9c32f64e06d887b",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "5c3ea5f9d9700110dcb52543",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AppError, handleApiError, logError | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "AppError,handleApiError,logError",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47bb4508a4772a9f",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "error-handler",
      "normalized_name": "error-handler",
      "package_manager": "pnpm",
      "path": "lib/error-handler.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "9caca41242e5c6649615542d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthContext | imports:@/lib/db/client, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "71d76de9f06145e9",
      "framework": "next-react",
      "imports": "@/lib/db/client,next/server",
      "lines": 215,
      "logic_relevance": "primary",
      "name": "api-auth",
      "normalized_name": "api-auth",
      "package_manager": "pnpm",
      "path": "lib/api-auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "bc329333f4a7c105200d007e",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "37b82cb440c604cf1af36a6e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./bridge-api/client, @neondatabase/serverless | logic-score:85 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "789f31fc3cc2ff30",
      "framework": "next-react",
      "imports": "./bridge-api/client,@neondatabase/serverless",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "data-sync",
      "normalized_name": "data-sync",
      "package_manager": "pnpm",
      "path": "lib/data-sync.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "11b56158ee9b5bdc0e9255ab",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ErrorLog, errorLogger, setupGlobalErrorHandlers | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ErrorLog,errorLogger,setupGlobalErrorHandlers",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "31dddbe38248c927",
      "framework": "next-react",
      "imports": "",
      "lines": 120,
      "logic_relevance": "primary",
      "name": "error-logger",
      "normalized_name": "error-logger",
      "package_manager": "pnpm",
      "path": "lib/error-logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "0d30979da66e642be7f540aa",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PerformanceMetric, PerformanceMonitor, performanceMonitor, trackWebVitals | logic-score:85 | observability-score:55",
      "exports": "PerformanceMetric,PerformanceMonitor,performanceMonitor,trackWebVitals",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "50db81e3275b72f1",
      "framework": "next-react",
      "imports": "",
      "lines": 137,
      "logic_relevance": "primary",
      "name": "monitoring",
      "normalized_name": "monitoring",
      "package_manager": "pnpm",
      "path": "lib/monitoring.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "42ef8dd74398d9c4192bd496",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7dffa36bee22cf05",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "924be3da36acf56b3a8f6255",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:sessionTracker | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "sessionTracker",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "535238e8f4c611c1",
      "framework": "next-react",
      "imports": "",
      "lines": 261,
      "logic_relevance": "primary",
      "name": "session-tracker",
      "normalized_name": "session-tracker",
      "package_manager": "pnpm",
      "path": "lib/session-tracker.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "e9e0877b7fd1a740894ebd16",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BridgeDataClient, bridgeClient | imports:@/lib/error-handler | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BridgeDataClient,bridgeClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2d62ef8630f20ee8",
      "framework": "next-react",
      "imports": "@/lib/error-handler",
      "lines": 228,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/bridge-api/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,logic,observability",
      "component_id": "5df266f6e7037891e02d014a",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67b8077df28bc3cc",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 104,
      "logic_relevance": "secondary",
      "name": "reports",
      "normalized_name": "reports",
      "package_manager": "pnpm",
      "path": "lib/db/reports.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic,observability",
      "component_id": "14acca2591f8f88a8899cd0d",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Favorite | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | uses-env",
      "exports": "Favorite",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c46ba9ab3aae281e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 91,
      "logic_relevance": "secondary",
      "name": "favorites",
      "normalized_name": "favorites",
      "package_manager": "pnpm",
      "path": "lib/db/favorites.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic,observability",
      "component_id": "50ab6406d986329f519ad89c",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PropertyWithZillow, ZillowMarketData | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | uses-env",
      "exports": "PropertyWithZillow,ZillowMarketData",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b410fb7e2c80ddc9",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 224,
      "logic_relevance": "secondary",
      "name": "zillow",
      "normalized_name": "zillow",
      "package_manager": "pnpm",
      "path": "lib/db/zillow.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,ai,observability",
      "component_id": "29fba6e95bac26ac3df1da2a",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Agent | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | ai-score:75 | observability-score:55 | uses-env",
      "exports": "Agent",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "995550006ca3d823",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 107,
      "logic_relevance": "secondary",
      "name": "agents",
      "normalized_name": "agents",
      "package_manager": "pnpm",
      "path": "lib/db/agents.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic,observability",
      "component_id": "17fb07aea9360aa1a92b397c",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SellerOpportunity | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | uses-env",
      "exports": "SellerOpportunity",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d290e5abb3b4526",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 114,
      "logic_relevance": "secondary",
      "name": "seller-opportunities",
      "normalized_name": "seller-opportunities",
      "package_manager": "pnpm",
      "path": "lib/db/seller-opportunities.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,logic,security",
      "component_id": "30a9aa7d1708ff904ebf3694",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:QueryOptions, buildSafeQuery, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | security-score:55 | uses-env",
      "exports": "QueryOptions,buildSafeQuery,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ffe780218f52a2b",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 85,
      "logic_relevance": "secondary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/db/client.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "3ad06b0b81a594cc6f3d4505",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Property | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Property",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d253ecbc80f61ec3",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 126,
      "logic_relevance": "secondary",
      "name": "properties",
      "normalized_name": "properties",
      "package_manager": "pnpm",
      "path": "lib/db/properties.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "51d82aecdd9f466541cc498d",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b7e6689797793188",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 97,
      "logic_relevance": "secondary",
      "name": "market-forecasts",
      "normalized_name": "market-forecasts",
      "package_manager": "pnpm",
      "path": "lib/db/market-forecasts.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic",
      "component_id": "b5e32021177c1ba1a5d1d1aa",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SavedSearch | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "SavedSearch",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa0d47c0b0c6c2ad",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 81,
      "logic_relevance": "secondary",
      "name": "saved-searches",
      "normalized_name": "saved-searches",
      "package_manager": "pnpm",
      "path": "lib/db/saved-searches.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-NAD",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "aa9a3fab66c7fc0e0fed4151",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "02c56e0b360e9b32",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c8d0f0e1adb3da57dc0f5ba9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e6a9cd74c9b76c3",
      "framework": "next-react",
      "imports": "",
      "lines": 3601,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "43f9bc3c118967c424c9a1c0",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1645cc8c89a2300e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "fb3bfd59e8dbb879c191ff59",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0d512ec50b01888",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,backend,observability,security,ai",
      "component_id": "0382bf3bae3d1f8f220ec159",
      "component_kind": "script",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JobsPage, metadata | imports:next/server | automation-score:125 | backend-score:70 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "JobsPage,metadata",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f90f531f42c7c67f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 261,
      "logic_relevance": "none",
      "name": "create_foundation",
      "normalized_name": "create-foundation",
      "package_manager": "pnpm",
      "path": "create_foundation.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "06b4dc9f111f8d4871c70431",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "requests",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:test_endpoint | imports:requests | backend-score:55 | observability-score:55",
      "exports": "test_endpoint",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "331ff61fc446dceb",
      "framework": "next-react",
      "imports": "requests",
      "lines": 23,
      "logic_relevance": "none",
      "name": "test-api",
      "normalized_name": "test-api",
      "package_manager": "pnpm",
      "path": "test-api.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "52af0fb251ecdd699e1cc3b5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7bfa7563bd7368b6",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5e024cd87ecf60936fde6ef3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb145f21a701334f",
      "framework": "next-react",
      "imports": "",
      "lines": 4630,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "035c7d88f3c3cd1184d524af",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d43bd47f1b65fc85",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "45540e8ff3f32a7c76d2a679",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f3c50a2b0ad4cd40",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fdae7b32f89912364b60091e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/footer, @/components/navbar, @/lib/auth/session, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c3dd43702d05833",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navbar,@/lib/auth/session,@vercel/analytics/next,next,next/font/google",
      "lines": 75,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a3e18b9533e50a8f44808f5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/button, @/components/ui/card, @/lib/auth/session, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a52ce52344adf64",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/auth/session,lucide-react,next/link,next/navigation",
      "lines": 242,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "73c3814a6c3d9d062e6caae9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f442bcec7b76042",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f17cd6c2548711a130292174",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfe97d09dfc2c009",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link,next/navigation,react",
      "lines": 154,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "45e227865d09dc9568809ddf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b49cfd588567b1b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 49,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dab4ce4ac17c947a3c7d2017",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ErrorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78de9607abeb4d2e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/error/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a381aa0154847a1a79c9f514",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af25f711b33868ae",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link,next/navigation,react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4dd7ff0e7204719cf88b3a24",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SetupPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SetupPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a27aa1d2cba847de",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/setup/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "74fa96bba661dce9716e7bf5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/dashboard-header, @/components/evaluation-card, @/components/stats-overview, @/components/ui/button, @/lib/auth/session, @/lib/db/neon, @/lib/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5a77c37ac3e56a4",
      "framework": "next-react",
      "imports": "@/components/dashboard-header,@/components/evaluation-card,@/components/stats-overview,@/components/ui/button,@/lib/auth/session,@/lib/db/neon,@/lib/types,lucide-react,next/link,next/navigation",
      "lines": 76,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e7742f48a7db64d2cb580300",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EvaluatePage, PropertyEvaluationForm | imports:@/components/property-evaluation-form, @/lib/auth/session, next/dynamic, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EvaluatePage,PropertyEvaluationForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89742a3eefe7fbe7",
      "framework": "next-react",
      "imports": "@/components/property-evaluation-form,@/lib/auth/session,next/dynamic,next/navigation",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/evaluate/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d712092a0bfee3bddcc77c27",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca0eb6b514d3a4f1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "1d5341f1f99d07b5a55380cf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth/session, @/lib/db/neon, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a883818ac471b8d8",
      "framework": "next-react",
      "imports": "@/lib/auth/session,@/lib/db/neon,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/evaluations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b407e413f97a45170e905cd2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE | imports:@/lib/auth/session, @/lib/db/neon, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "DELETE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e3a791534c4d2587",
      "framework": "next-react",
      "imports": "@/lib/auth/session,@/lib/db/neon,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/evaluations/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "971b280ccccab5d5755a8610",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth/password-utils, @/lib/auth/session, @/lib/db/neon, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e915e87c433e3fab",
      "framework": "next-react",
      "imports": "@/lib/auth/password-utils,@/lib/auth/session,@/lib/db/neon,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/signup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "65f75c26fb6265782e2f4fbb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth/session, next/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9161e5fb4a259991",
      "framework": "next-react",
      "imports": "@/lib/auth/session,next/headers,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/logout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1ede121d0aecc00996893a76",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth/password-utils, @/lib/auth/session, @/lib/db/neon, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d484b3966eae68df",
      "framework": "next-react",
      "imports": "@/lib/auth/password-utils,@/lib/auth/session,@/lib/db/neon,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/login/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,ai",
      "component_id": "6d724638fa82a9e1f68ceec0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "47f4295171d7ecda",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,discovery,process",
      "component_id": "fd6967d8e6c077c13d2f86ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "657d4850a97e3faf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5868c0152dde8b81a1961d72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth/session, @/lib/db/neon, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "534d6f95a1428a9f",
      "framework": "next-react",
      "imports": "@/lib/auth/session,@/lib/db/neon,next/server",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/db/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9100384af86bf53f1952b236",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth/session, @/lib/db/neon, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "40e0974c6c608cd2",
      "framework": "next-react",
      "imports": "@/lib/auth/session,@/lib/db/neon,next/server",
      "lines": 302,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/db/migrate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4b2f2cc2f3f34dda77b4ce4c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/auth/session, @/lib/zillow-etl/csv-parser, @/lib/zillow-etl/data-loader, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83cd1c05281978ff",
      "framework": "next-react",
      "imports": "@/lib/auth/session,@/lib/zillow-etl/csv-parser,@/lib/zillow-etl/data-loader,@neondatabase/serverless,next/server",
      "lines": 101,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/zillow/seed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,automation",
      "component_id": "f65ca6b108d58e545716c656",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:@/components/ui/button | frontend-score:85 | ui-score:55 | automation-score:50",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a0aba390b0cef2e3",
      "framework": "next-react",
      "imports": "@/components/ui/button",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai",
      "component_id": "8584253bb417e31f6f50d521",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c712560c0591cfce",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a287d038865b21cb046a844d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "7a562e930a0ea66a2fb940e3",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "efa2527e578406b4ff0e42a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navbar | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Navbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73a2e5ba673b1a02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,lucide-react,next/link,next/navigation",
      "lines": 131,
      "logic_relevance": "none",
      "name": "navbar",
      "normalized_name": "navbar",
      "package_manager": "pnpm",
      "path": "components/navbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "f341e7a0535b2383d590bca6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:EvaluationCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/lib/types, @/lib/utils, lucide-react, next/navigation | frontend-score:115 | ui-score:70",
      "exports": "EvaluationCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f625ddeb7e7c79ba",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/lib/types,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 186,
      "logic_relevance": "none",
      "name": "evaluation-card",
      "normalized_name": "evaluation-card",
      "package_manager": "pnpm",
      "path": "components/evaluation-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b46851b69324ee61edcf8507",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PropertyEvaluationForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/tabs, @/components/ui/textarea, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PropertyEvaluationForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56d99e857bd03f95",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/components/ui/textarea,lucide-react,next/navigation,react",
      "lines": 736,
      "logic_relevance": "none",
      "name": "property-evaluation-form",
      "normalized_name": "property-evaluation-form",
      "package_manager": "pnpm",
      "path": "components/property-evaluation-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "568b1a527f5c0f1e67b7b730",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsOverview | imports:@/components/ui/card, @/lib/types, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "StatsOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abac19f7e1ab078a",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/types,@/lib/utils,lucide-react,react",
      "lines": 123,
      "logic_relevance": "none",
      "name": "stats-overview",
      "normalized_name": "stats-overview",
      "package_manager": "pnpm",
      "path": "components/stats-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dfb42b4ae08c60032bbc2a56",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "730c98c1bd7f47cc",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 122,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b63d669de5c4ecf2640b4b82",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardHeader | imports:@/components/ui/button, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "913c3cadde67bda5",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,next/navigation",
      "lines": 43,
      "logic_relevance": "none",
      "name": "dashboard-header",
      "normalized_name": "dashboard-header",
      "package_manager": "pnpm",
      "path": "components/dashboard-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4b1b9f1b9084fc244b2dcb48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1f8a594293a213d2a7c2956f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "94db09314cf5eefd28f63bc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "72747a8bfcb3709eac6df9da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "feb6ac255b2963599edd2c3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8e098a75771ae964160f0120",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d1141f6036cf093440dd99f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9f807b57337ea304073915e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b63b301fcc1a2ed38cf3e839",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "57b8d85925b87c4f385e9fac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery,ai",
      "component_id": "b8f3b0c16f89ef3e8e6f3f78",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f444d85ddb590599",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "process,automation",
      "component_id": "df028dc555e18baf97123a8c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "227913363d9d7104",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,discovery,automation,ai",
      "component_id": "9b54fb4abecb244c275523e3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ffd0a459f8bb9061",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "6534eebd1610b824d87f85ec",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "288c3a44cae37889",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "e44095a1dcd4315ca966cffa",
      "component_kind": "llms-discovery",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fc0f4387ccdaf73a",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "discovery",
      "component_id": "c020f042e7cacceba7bf666a",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for mcp; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e5b4cc4dbb720ecb",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "network.manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "public/.well-known/network.manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "7d875136c966fabd6b05a42b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1eda60a176230a7a",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "a141916d5bdb6c4d84b218db",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "000503abb6759bf4",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "process",
      "component_id": "75b16709b143744b9aae09bc",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for game; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "54cbaa32e598f53a",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a7ed5abba9289879f9e2fafd",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/zillow-etl/csv-parser, ../lib/zillow-etl/data-loader, ../lib/zillow-etl/types, @neondatabase/serverless | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2504cdb3a53aee90",
      "framework": "next-react",
      "imports": "../lib/zillow-etl/csv-parser,../lib/zillow-etl/data-loader,../lib/zillow-etl/types,@neondatabase/serverless",
      "lines": 363,
      "logic_relevance": "none",
      "name": "seed-zillow-data",
      "normalized_name": "seed-zillow-data",
      "package_manager": "pnpm",
      "path": "scripts/seed-zillow-data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "45e6e352d7251f52666f8bd4",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, formatCurrency | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn,formatCurrency",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e3dec7bbe59c2faf",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,observability",
      "component_id": "aab9f0a6d68fcb74f56f5083",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Profile, PropertyEvaluation | logic-score:70 | observability-score:55",
      "exports": "Profile,PropertyEvaluation",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9daaadb9b8809d44",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "0773087f2173fadf6d710390",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Session, User, getCurrentUser, getSession | imports:@/lib/db/neon, next/headers, react | logic-score:85 | security-score:55 | uses-env",
      "exports": "Session,User,getCurrentUser,getSession",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "be9c920b12fff4a4",
      "framework": "next-react",
      "imports": "@/lib/db/neon,next/headers,react",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "session",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "lib/auth/session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "5ca5dcd753ce2d26c34fe375",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "crypto,util",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:crypto, util | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e4786fbc4c8c8216",
      "framework": "next-react",
      "imports": "crypto,util",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "password-utils",
      "normalized_name": "password-utils",
      "package_manager": "pnpm",
      "path": "lib/auth/password-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "400db5900098a60658c6918b",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9e3fd042142fa8eb",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 97,
      "logic_relevance": "secondary",
      "name": "neon",
      "normalized_name": "neon",
      "package_manager": "pnpm",
      "path": "lib/db/neon.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,observability,security,automation",
      "component_id": "41a8385f3b5885c53abcc36e",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parseCSV, transformToTimeSeries, validateInteger, validateNumber | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "parseCSV,transformToTimeSeries,validateInteger,validateNumber",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9c482797d7094cc7",
      "framework": "next-react",
      "imports": "./types",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "csv-parser",
      "normalized_name": "csv-parser",
      "package_manager": "pnpm",
      "path": "lib/zillow-etl/csv-parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "logic,security",
      "component_id": "735fbdbfc53c6f97ac6c7b47",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for finance; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DaysPendingData, ETLResult, IncomeNeededData, InventoryData, MarketTempData, NewPendingData, SalesCountData, ZHVFGrowthData | logic-score:70 | security-score:55",
      "exports": "DaysPendingData,ETLResult,IncomeNeededData,InventoryData,MarketTempData,NewPendingData,SalesCountData,ZHVFGrowthData,ZHVIData,ZORFGrowthData,ZORIData,ZillowCSVRow,ZillowDataSource",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "043c1fe34ca47ad4",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/zillow-etl/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "5775237c38fcd2ab5d1766a6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ALLOWED_TABLES | imports:./csv-parser, ./types, @neondatabase/serverless | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ALLOWED_TABLES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "753e5d5bfdef3500",
      "framework": "next-react",
      "imports": "./csv-parser,./types,@neondatabase/serverless",
      "lines": 315,
      "logic_relevance": "primary",
      "name": "data-loader",
      "normalized_name": "data-loader",
      "package_manager": "pnpm",
      "path": "lib/zillow-etl/data-loader.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f3e4b81bd3cf3199614bf2a5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44f95598892d004e",
      "framework": "next-react",
      "imports": "",
      "lines": 3209,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "96385cfde289b8234e280d64",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fad773b943df4c36",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "eae870b1a6b5fbdcb9e7edba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c0804418ea188eaf",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0767828f657e63173774803b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a43f8854d9944bbf",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "086f8d4ac573bf3ef1e178fe",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/site-config, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20ec3302ce29b581",
      "framework": "next-react",
      "imports": "@/lib/site-config,next",
      "lines": 60,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a8b904e5ce31ae04a626fb08",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/lib/json-ld, @/lib/site-config, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9dcb81dc21712343",
      "framework": "next-react",
      "imports": "@/lib/json-ld,@/lib/site-config,@vercel/analytics/next,next,next/font/google",
      "lines": 177,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,security,discovery",
      "component_id": "9349bf2d5f2d0c1fc79ebecf",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:@/lib/site-config, next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7bf95f68fa0a1a58",
      "framework": "next-react",
      "imports": "@/lib/site-config,next",
      "lines": 39,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "346cc269a525be2ad06da4cc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/careers-section, @/components/cursor-glow, @/components/footer, @/components/hero-section, @/components/navigation, @/components/resources-section, @/components/scroll-progress, @/components/team-section | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28f57552173d5b58",
      "framework": "next-react",
      "imports": "@/components/careers-section,@/components/cursor-glow,@/components/footer,@/components/hero-section,@/components/navigation,@/components/resources-section,@/components/scroll-progress,@/components/team-section,@/components/value-proposition",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "88c5ee02880c8783578fa660",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ec8f3dbd8273d2b",
      "framework": "next-react",
      "imports": "",
      "lines": 382,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "128e954a0737922c6fbf40c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a79c735f5f985407",
      "framework": "next-react",
      "imports": "@/lib/site-config",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2054900fc213769269bf729a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:../rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "92b6b92b58c48fec",
      "framework": "next-react",
      "imports": "../rss.xml/route",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability",
      "component_id": "08a68708b3c897bc892f640f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c804ff238f89dd69",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "aa987eb14b26458c8199ab27",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e74f90fce282f17b",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "099fe641fc6ad53917b70976",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7814f2127e4af08c",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "3aa32c9f41f860bdfcd1bee9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d29fe73970f92b72",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process",
      "component_id": "4d649ee7f5eefdd76d968073",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f748d988756becf1",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,ui,observability,security",
      "component_id": "a00421f8979dc2305d21ce92",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b6e611bd715d8af0",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 150,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security",
      "component_id": "f84dd3f1c8e6e3a9f281dd76",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site-config, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e390d8c08ff835ef",
      "framework": "next-react",
      "imports": "@/lib/site-config,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/indexnow/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "1d327e61b2530d4db1333e00",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "7d8d6c20a751912a2c9b3d61",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "f881c4278de29aeedcf5810d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollProgress | imports:@/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "ScrollProgress",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4d97a501202d0a0",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "scroll-progress",
      "normalized_name": "scroll-progress",
      "package_manager": "pnpm",
      "path": "components/scroll-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "21d64cb654720bdd426d444b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59329af8ecb736fe",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,react",
      "lines": 267,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fd2cbb0cca4992944b2a4f92",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69f6e429e8736ae5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 187,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e4a1a08bab2effb5aff770dc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TeamSection | imports:@/components/ui/button, @/lib/utils, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TeamSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff71ee2e8d62470a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,next/image,react",
      "lines": 171,
      "logic_relevance": "none",
      "name": "team-section",
      "normalized_name": "team-section",
      "package_manager": "pnpm",
      "path": "components/team-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cc004b7a91e24f5bb2d874c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesSection | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResourcesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c233cea4d346ff29",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 152,
      "logic_relevance": "none",
      "name": "resources-section",
      "normalized_name": "resources-section",
      "package_manager": "pnpm",
      "path": "components/resources-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8cdf2f9c68909e873ec5997a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navigation | imports:@/components/ui/button, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Navigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f09c039586f68814",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,next/link,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "components/navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "96ae4f9ea99cb8ec6d015278",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValueProposition | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ValueProposition",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07ac0134801f9e5d",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 168,
      "logic_relevance": "none",
      "name": "value-proposition",
      "normalized_name": "value-proposition",
      "package_manager": "pnpm",
      "path": "components/value-proposition.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2ae30904f1b2d914c06c0e34",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CareersSection | imports:@/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CareersSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff6c9a2b7affc36d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "careers-section",
      "normalized_name": "careers-section",
      "package_manager": "pnpm",
      "path": "components/careers-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "c2fb797866955b7df82d5c17",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CursorGlow | imports:@/lib/utils, react | frontend-score:115 | ui-score:70",
      "exports": "CursorGlow",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa07fe4936f54433",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "cursor-glow",
      "normalized_name": "cursor-glow",
      "package_manager": "pnpm",
      "path": "components/cursor-glow.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "8323aa7f6f4516e838e094de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "57dd1e4005af555993830f5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "59c5f49e1e8b371097baece1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6f6f01c69be227f9f5b9fcc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0d1c80d9fae19d6190b1c68b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "479923b60592adc2faa651f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9a3ccf18a34f646df0eaab67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "93104a59439d69f4fb33b05c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "47c122a181aa7badde8cc630",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8edd9aef8d4e199816171ee1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c34e9b435aca64256b2c6c09",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "3bc9ecd08fe7beaf46f04af5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d12c1898aa8dd2eb3198aea6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9d09c345d1391ac505eac44c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0e170f4f1083fa88d3669bf9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "27c2c7b472239b50ae8d89f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0225338f0cf50379cbda9088",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1e8e7c0a9ac1102e93dc2c94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "437bce4d6ab417ad366e98ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a3106a8e1fec93073a8d58f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "73c89416baa143de0ec422a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3fca79f698c1744dda3c0a18",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "326ebf3f3a9155fc1f258c06",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ef935dd31a2cd57329178d3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1d716a331b7904ab69a901b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "507766801465f9af48da90d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6091f215dc2ed51f9116bf2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "e10b9fa8ae41cfc646b92692",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "56295c4d21f59ffccbb97388",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "ae7c22a4a65a03453deb8847",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2937e054e77c3502be926296",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "531adc40fcd5c3cd5896dd34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "85c1c2dfd8ef560f099ac78c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9003f0d2fa9f5ad211080afb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4e6f982e53dc2cbf54440cde",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "5b1585c4b5bb7372ade65f78",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f3e950523afbd3aa74a0f161",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "3b54ded64de2a0d596081f22",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "caccb057e02deb803fdd678e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dfd4989c4a5a0f35c555ddbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4241f6b51d461464f0e6845a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "35e3aaf84a58d49639f25a48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c4c566acd6052249884fdae8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0cb561fc26857e7caf674abd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ecdf7f64551528e5d3eb3c1c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "297180919bdc6de88cf368b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1e27b0fdd4fed9261e8721da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "6a4bd3c3af2f76f242eabfaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "8397d24a0ac19efb68e31ec9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "defb37e967335932507a7702",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c0733fcea0b9a87401acdc17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b942ec5aed9a677ce25c0975",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "593bd9003e020c848238c81a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c99ef63fc00e0a43f194f533",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dc611825221cb5606269ca91",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "5cc1533c49f346def8953a44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0ee7f5a4bb7d35b19742f859",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "8422dfa0a4da9b87c3aa229e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7eac7538f00bef6c",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "9cdd29d86ab919f74f9f2d27",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b851db56178a0c68",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "305f580cdf1db909f78f92a7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "566dcf881c768007",
      "framework": "next-react",
      "imports": "",
      "lines": 184,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,security",
      "component_id": "ad8073c1e1ea481fb6a9f88d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "57a6dfe42b3bdcee",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "platphorm-redteam-indexnow-key",
      "normalized_name": "platphorm-redteam-indexnow-key",
      "package_manager": "pnpm",
      "path": "public/platphorm-redteam-indexnow-key.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery",
      "component_id": "88584a1af7a720ddeee7ab64",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "021db34d4615887b",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation,ai",
      "component_id": "a5c488380f98f87f364581bf",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7cfb6e89f5e90418",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery,ai",
      "component_id": "2ec2fe6b13ce025c411daaec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3e2d6439cfa0e124",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "network.manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "public/network.manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "49fcc2d39583ed5d09967b0e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ef29d59e039ea43d",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "50b167ee21b6c7c7e36fbce7",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "77ec944e8de49e80",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "21d745c0426f2442436286b2",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ac5bac02b33937b7",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "849653c2921277d0c3c7c7bc",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f98ebe0112fdbd54",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d5f66a5345fd4c42f2e7e2fa",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "33713f63b112f2f88ce62a13",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SiteConfig, siteConfig | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "SiteConfig,siteConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0e12951a264a492e",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "primary",
      "name": "site-config",
      "normalized_name": "site-config",
      "package_manager": "pnpm",
      "path": "lib/site-config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,discovery",
      "component_id": "9982fc5dc80a96b33917f7a1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getBreadcrumbSchema, getFullPageSchema, getJobPostingSchema, getOrganizationSchema, getWebApplicationSchema, getWebSiteSchema | imports:./site-config | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "getBreadcrumbSchema,getFullPageSchema,getJobPostingSchema,getOrganizationSchema,getWebApplicationSchema,getWebSiteSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dc481ca881dd0df9",
      "framework": "next-react",
      "imports": "./site-config",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "lib/json-ld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-redteam-arma-landing",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "98a38fbbf8a6a5eceac31fff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "972cb36e8cc9a182",
      "framework": "next-react",
      "imports": "",
      "lines": 3587,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6f0b3e5847f2fa5dc5833e81",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a738d878143d8946",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "45bfe3d1033c243d0fe3b4fb",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f6d8620e10a50642",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "efb9d5bca2bbf7a4844037da",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c4fb83eb0e764988",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "integration,discovery",
      "component_id": "e0459c8717e04c2de0b6cb1b",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for discovery; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "25aab193ca956c4c",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,observability,discovery",
      "component_id": "9cf1666eebdb28bf80208d58",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "afdc296d99f81bd4",
      "framework": "next-react",
      "imports": "next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,observability,discovery",
      "component_id": "d52bc6ff5b2c2532801d1d23",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "34ca3f9f9385436c",
      "framework": "next-react",
      "imports": "next",
      "lines": 63,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "67d0da09e6ed495db1828b47",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "596d7148051152a1",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 66,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "c165827cf8028164c9c22725",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e4a88e36a0345886",
      "framework": "next-react",
      "imports": "next",
      "lines": 37,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "fe2bbee5a58388a38cdaa327",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/footer, @/components/header, @/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c031fc53f47868c3",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,lucide-react,next/link",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "74a143ee82dc002f06ddb35d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1bfaf30766055ecc",
      "framework": "next-react",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "76fb30b0ab62f22a9bf3491b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c5a4f2f2e17f87bc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 146,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "1a5a78e9960acf85da317de3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c5e36501bdb7ad6f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation,ai",
      "component_id": "684eb57ac127c0480fb5a10a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/breadcrumbs, @/components/footer, @/components/header | frontend-score:85 | ui-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd071a79da1a030b",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "5aaefa630700cd5dc96a41d8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e56f5fa1cc1e3959",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "6e1541b5b660f5eda155280a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3af35e3b022e304c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery,ai",
      "component_id": "74f804b0ac288ee89e5289ab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ed1b4bcb9682fc47",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-index/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8bcd31ad57f70fb9353f7ab3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusPage | imports:@/components/footer, @/components/header, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StatusPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8223cbdb23e1cf3e",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/navigation,react",
      "lines": 405,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/status/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "e323c39e4c8009c6f1abfe25",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegisterPage, metadata | imports:@/components/breadcrumbs, @/components/footer, @/components/header, @/components/registration-form, next | frontend-score:115 | ui-score:55",
      "exports": "RegisterPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69fe3707dcb3407d",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header,@/components/registration-form,next",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "068b50412c98033debdf123b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/auth, @/lib/db, @/lib/rate-limit, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b0adde9906b9f7f",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/auth,@/lib/db,@/lib/rate-limit,next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "03b8e58218d7c6fb065f1883",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/audit, @/lib/auth, @/lib/db, @/lib/rate-limit, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bce28461506fbd65",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/audit,@/lib/auth,@/lib/db,@/lib/rate-limit,next/server",
      "lines": 170,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "da890e5f096db6e318edcfd5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/audit, @/lib/auth, @/lib/db, @/lib/integrations/trace-client, @/lib/rate-limit, @/lib/trust-engine, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2cce0ca84a43da8",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/audit,@/lib/auth,@/lib/db,@/lib/integrations/trace-client,@/lib/rate-limit,@/lib/trust-engine,next/server",
      "lines": 240,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registrations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "4e5f76c407753535fbc50f90",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/audit, @/lib/auth, @/lib/db, @/lib/rate-limit, @/lib/trust-engine, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a38e29b526c15285",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/audit,@/lib/auth,@/lib/db,@/lib/rate-limit,@/lib/trust-engine,next/server",
      "lines": 237,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registrations/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "a061d3f236fa6cec4ee6383b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/audit, @/lib/db, @/lib/integrations/trace-client, @/lib/trust-engine, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cec8bca3da8a221d",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/audit,@/lib/db,@/lib/integrations/trace-client,@/lib/trust-engine,next/server",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registrations/[id]/verify/dns/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b13fc4c04b3113726da9c50b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/audit, @/lib/db, @/lib/integrations/trace-client, @/lib/trust-engine, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a887eb02aeae8eea",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/audit,@/lib/db,@/lib/integrations/trace-client,@/lib/trust-engine,next/server",
      "lines": 159,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registrations/[id]/verify/email/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5f79b22a94cd9923625829df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/audit, @/lib/auth, @/lib/db, @/lib/rate-limit, @/lib/trust-engine, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3fab1f36bf70878f",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/audit,@/lib/auth,@/lib/db,@/lib/rate-limit,@/lib/trust-engine,next/server",
      "lines": 200,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/registrations/[id]/trust/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "a2f6cb1c0f123310665b52cd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "317a07310c9dcd8d",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend",
      "component_id": "a663f99130d18683df8253d7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "19c9bbe4218e30d1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "c6cbf0a3445c527d44f0a30b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2e89f2de828c52f6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,process,frontend,observability,security,discovery,automation",
      "component_id": "a734dcaf2adfd7de9572a68e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78e47d2efbf66c68",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 291,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "03bd860c458287a793ea20b4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrustPage, metadata | imports:@/components/breadcrumbs, @/components/footer, @/components/header, @/components/ui/badge, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TrustPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c367cd981ec47e05",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header,@/components/ui/badge,@/components/ui/card,lucide-react,next",
      "lines": 194,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/trust/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "76dcfe72669c94b448688f06",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "node:assert,node:test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/health/route.ts, ../app/api/network/graph/route.ts, node:assert, node:test | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4a5729b639217e66",
      "framework": "next-react",
      "imports": "../app/api/health/route.ts,../app/api/network/graph/route.ts,node:assert,node:test",
      "lines": 28,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "tests/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "8a0a9abf1551b0443d272d82",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe72c2e5363b55a0",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "87c65d4817b28b00276568ae",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b1e9cce74c22be7",
      "framework": "next-react",
      "imports": "",
      "lines": 194,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "fb65198f9299c8356ff60410",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa39bb2326ceca1f",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "88766f227d37395001e986c0",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c7d1f5e1c399c656",
      "framework": "next-react",
      "imports": "",
      "lines": 189,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "1ca50b88c2fec9ca944f7ceb",
      "component_kind": "schema-validation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a5b0805997b32d50",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "207e3b617a8ba60f8f85caab",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b4efaefc8cdd46e6",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "f8f1a6d1e4cb9607d671a900",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c62b1236a10a0104",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "3cac6459893b99879048a0e5",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a0c76fb4fdeb1130",
      "framework": "next-react",
      "imports": "",
      "lines": 608,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "c33660e46532f1c41e4c1e66",
      "component_kind": "ai-eval",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "31cf9a696613ec86",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "0222b6ad297990d0db8b3199",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "de22a59f3a88d549ba3c32df",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "132c81f694bfcb93950ab82f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegistrationForm | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RegistrationForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d34980f46ff8379c",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,next/navigation,react",
      "lines": 483,
      "logic_relevance": "none",
      "name": "registration-form",
      "normalized_name": "registration-form",
      "package_manager": "pnpm",
      "path": "components/registration-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2279ac3ea411f74db0191c53",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbItem, Breadcrumbs, BreadcrumbsProps | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BreadcrumbItem,Breadcrumbs,BreadcrumbsProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "da56e2940b078001",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 47,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "715559649c496c45ae280374",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d91747ba06c2e16a",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 121,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5d5d57918b3014085b2ae47d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f6ef5de0934a258",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "6938ee46f95a7e644485fb3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7eb8b4ec02a1a64a7cae67d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "44249ef82adff8ad20ff2f14",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0c15f080df1a5d0f7d4ec609",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9093fb39413fd2e5cec80472",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d9fe35809f9d73a8adbe0607",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3c609a05fb1281268f0e6212",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "2e69e98d87f9e5e8137a1d79",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "75317929b05c1051019e9d59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ffa190f7e2d3c9fddaa48c4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "82e994b67abe1d1f4eb79406",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "d06e43dbe9466909c1e3f352",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "838eec9252c485c8d14fac80",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e87340def031e73d4ced54b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c871fbfa0c67c274b15f37e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "35314657bbee4c586c92ea23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d078fd84773ce6388ba216e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3d175d81036146fe088562e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3965cfd2f535e2e0825a5960",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1fc190e8e85ac6e5804766a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7140db0dc5f51ebe41316df1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "05b1bb7bd11ffabff00c3119",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c1b6cc43a538dfc5df13e61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a4135c26cd04e1e13c838a61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b5c023ec4abf699bf600ccd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "391d4c48588c11d0a64374d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5bb71b5632bbf3cc62e7447f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "0a4fb3276700f8b28163efc9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "af174b49a3148729e793a616",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "4b7512cf6ff321683ce704be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ef2ae3ba8c995f0623bc7b81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "55396b5c35d114eb425ae71d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8469ffc444c546d441272539",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "14907bb74defaa21e67c2c91",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2f822a07e4f3b7bdf9dba113",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "30429f4883635c378d22978c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "46a64ed3d3ecfe33801f5ee6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "abb2553afc039a35c2f30ac6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9891c66a133d498a134817ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "47c40fc04c8d0c696bef0445",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7e7ff5d708e46081604c3a5b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d7b60a4a9d2aa09b33a4de78",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "63415b11d93e406474df4368",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b244280de32cd6427d755a95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c4fee7de38320cf75e048351",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c43ac2c0dc0477b0d2f4edaa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e71b9419f903f4fb274b150c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "d3dee8e9d1c061cd7ca8ff9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "236fb1075a9a0d93cfae98d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e06dc813bf69c026228da41f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "69dd9c58f791ae26aa5344a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "09859c58ed679d254fb3b547",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "78b2f6674b89b9f9a1023820",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d5f120e234468320e11a5be6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3269f70c8255e3f5a45ac558",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "e51b4d64e7da100d7d9b35eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "502f143237a6b0b09c3471e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "ed599cc8a5369f2da3d04bac",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "76fa01cd787d1366",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "545b16d9032233db67a66139",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "3d3b64e47234995d9a2adbf7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ActorType, ApiError, ApiKey, ApiResponse, AuditLog, AvailableService, ConfigureIntegrationRequest, CreateApiKeyRequest | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ActorType,ApiError,ApiKey,ApiResponse,AuditLog,AvailableService,ConfigureIntegrationRequest,CreateApiKeyRequest,CreateRegistrationRequest,CreateWebhookRequest,DeliveryStatus,HealthStatus,IntegrationStatus,PaginationMeta,PaginationParams,RegistrationStatus,ResponseMeta,ServiceIntegration,ServiceType,SiteRegistration,Tenant,TrustAssessment,TrustPermissions,TrustPolicy,TrustTier,UpdateRegistrationRequest,VerificationMethod,VerificationStatus,VerifyRegistrationRequest,WebhookDelivery,WebhookEndpoint,WebhookEvent,WebhookEventType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8fb486a33b71b875",
      "framework": "next-react",
      "imports": "",
      "lines": 300,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "8a2483fbdf567f3da3166195",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiError, apiResponse, apiSuccess, calculatePagination, errors, generateRequestId, paginatedResponse, parsePaginationParams | imports:./types, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "apiError,apiResponse,apiSuccess,calculatePagination,errors,generateRequestId,paginatedResponse,parsePaginationParams,type ApiError,withRequestId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e74ec2ebe83d7b52",
      "framework": "next-react",
      "imports": "./types,next/server",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "api-response",
      "normalized_name": "api-response",
      "package_manager": "pnpm",
      "path": "lib/api-response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "2b43b67a9e9cfe9d5dfc6a06",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AssessmentResult, TrustCalculation, TrustFactors, calculateTrustScore, getTrustLevelColor, getTrustLevelName, getTrustTier | imports:@/lib/db, @/lib/integrations/trace-client, @/lib/types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AssessmentResult,TrustCalculation,TrustFactors,calculateTrustScore,getTrustLevelColor,getTrustLevelName,getTrustTier",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6cbaf2adcdc9d97f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/integrations/trace-client,@/lib/types",
      "lines": 323,
      "logic_relevance": "primary",
      "name": "trust-engine",
      "normalized_name": "trust-engine",
      "package_manager": "pnpm",
      "path": "lib/trust-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0f090d0313f6c3a56a37a1fa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuditActions, AuditLogEntry, createAuditLog, createRequestTimer | imports:./api-response, ./auth, ./db, ./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AuditActions,AuditLogEntry,createAuditLog,createRequestTimer",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7330b6e812b451dc",
      "framework": "next-react",
      "imports": "./api-response,./auth,./db,./types",
      "lines": 130,
      "logic_relevance": "primary",
      "name": "audit",
      "normalized_name": "audit",
      "package_manager": "pnpm",
      "path": "lib/audit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "df7d131022117dd693520ead",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RateLimitResult, rateLimitHeaders | imports:./db | logic-score:85 | security-score:55",
      "exports": "RateLimitResult,rateLimitHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "acd2f448bcb96ea1",
      "framework": "next-react",
      "imports": "./db",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,logic",
      "component_id": "6e7bf5ee14b81b19e1583bd4",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:QueryResult, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "QueryResult,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc2e2bb935e3bdf3",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "98a967aca3d2556c75ab01f2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthContext, generateApiKey, generateFingerprint, generateVerificationToken, generateWebhookSecret, hasScope, hasTrustTier, hashApiKey | imports:./db, ./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AuthContext,generateApiKey,generateFingerprint,generateVerificationToken,generateWebhookSecret,hasScope,hasTrustTier,hashApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a587152ee7b066fc",
      "framework": "next-react",
      "imports": "./db,./types",
      "lines": 232,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "448b0a1e811eed7747e807f5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPCapabilities, MCPResponse, MCPServiceConfig, MCPTool, getDefaultServiceConfigs, mcpClient | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "MCPCapabilities,MCPResponse,MCPServiceConfig,MCPTool,getDefaultServiceConfigs,mcpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a847594f5105b719",
      "framework": "next-react",
      "imports": "",
      "lines": 297,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "5db4c97b59366809b2aac465",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceEvent, TraceResponse, TrustSignal, traceClient | imports:@/lib/db | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "TraceEvent,TraceResponse,TrustSignal,traceClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "11940f8054e79e46",
      "framework": "next-react",
      "imports": "@/lib/db",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "trace-client",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/integrations/trace-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-register",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b0a245103b4fe0ee65513b76",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7a7885caa261c3f2",
      "framework": "next-react",
      "imports": "",
      "lines": 316,
      "logic_relevance": "none",
      "name": "FINAL_STATUS",
      "normalized_name": "final-status",
      "package_manager": "pnpm",
      "path": "FINAL_STATUS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b5a0e760fc4d38e0e7113501",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72666b869398c5d9",
      "framework": "next-react",
      "imports": "",
      "lines": 7410,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "e4e362356ea76a545c8cb062",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d47d4db7d127cc1",
      "framework": "next-react",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "verify",
      "normalized_name": "verify",
      "package_manager": "pnpm",
      "path": "verify.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "fe3fec47e868bed89da137b9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4dc24dc1670eb9e5",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2e480322093234208bdf0dff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "53aed6283d268445",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability",
      "component_id": "9795f85a99cf9cd38484445b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | process-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d55117fbba8155b",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "deploy",
      "normalized_name": "deploy",
      "package_manager": "pnpm",
      "path": "deploy.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "765ef2e99c5dac2d08cf7e09",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4493ec7488c5c126",
      "framework": "next-react",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "FINAL_LAUNCH_CHECKLIST",
      "normalized_name": "final-launch-checklist",
      "package_manager": "pnpm",
      "path": "FINAL_LAUNCH_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "940fe6e3387ad5d105f09230",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c6eb0f83b09c7ef6",
      "framework": "next-react",
      "imports": "",
      "lines": 482,
      "logic_relevance": "none",
      "name": "COMPLETE_SUMMARY",
      "normalized_name": "complete-summary",
      "package_manager": "pnpm",
      "path": "COMPLETE_SUMMARY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "f3c7bad3eb46dc4519d86ebd",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,sonner",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @vercel/analytics/next, next, next/font/google, sonner | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df053c92cee9e9c6",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/next,next,next/font/google,sonner",
      "lines": 107,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "4b366ac701b437272539620f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/button, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1edd56847dd204d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/supabase/server,lucide-react,next/link",
      "lines": 310,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "de82a5934cd488ea7f02a88b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "f31a83bd99cf0c15542af465",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5744da6f9327e809",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "10de447e434ed4501ca407d3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "176c5905e0b16cb1",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9b01ed681977a68a162a77c7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../atom.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d83f4f55689ce0e2",
      "framework": "next-react",
      "imports": "../atom.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "00850642b0a5ba0f79584675",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage, metadata | imports:next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SignUpPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bee9dda20266e3",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ca6d50fa9bc1076a289acf12",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11d0d352fd1d3509",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 64,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f5f5eb77c4e05b358d3a3e0f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthErrorPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthErrorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "052f14a2cf18aa0f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 62,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/error/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "26c7c305d10b3f50f2866ec4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage, metadata | imports:next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LoginPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "39efc163bf4579d8",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "d64d32690adc8b2c2f0a408a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/app-header, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eac2ca7a219b302f",
      "framework": "next-react",
      "imports": "@/components/app-header,next",
      "lines": 88,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security,ai",
      "component_id": "f5c83c1187f6c3335c0c208d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/app-header, @/components/ui/accordion, next | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea145eec5d655dbc",
      "framework": "next-react",
      "imports": "@/components/app-header,@/components/ui/accordion,next",
      "lines": 70,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "1cf3555c1132a10e21a746c8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1823ef1812089af2",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "50d3eaad618f0ea4248cfaba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "29c7ed21d26eeb59",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "4a642e05ad8a914ca8c6498f",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:../agents.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2f90966637bdfd3e",
      "framework": "next-react",
      "imports": "../agents.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f7f7bbff3674b2c9f0f71110",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../trust.json/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "901d319bbbb8b677",
      "framework": "next-react",
      "imports": "../trust.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "5ffb0f12ab3d8bfad46205aa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d6fc174dd9a70674",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "6a5f5d18563636bd44129ae9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ce968a40c73c6dcb",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "8110a631cd76b6f1539cb0c3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f92d6694f62610d9",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "eeb9c0ed3decf374fe9da523",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RequestAccessForm | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RequestAccessForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50c184f3521c4248",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,lucide-react,react,sonner",
      "lines": 263,
      "logic_relevance": "none",
      "name": "request-access-form",
      "normalized_name": "request-access-form",
      "package_manager": "pnpm",
      "path": "app/request-access/request-access-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9d881fc7b7337d59e04024ac",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RequestAccessPage, metadata | imports:./request-access-form, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RequestAccessPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aececfa87f27a23b",
      "framework": "next-react",
      "imports": "./request-access-form,lucide-react,next/link,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/request-access/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "2e32fd8be29f306003e975df",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "50c7d572d2560692",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "23e3159cfe71d46fc134b190",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1ca5d7687f625e2d",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "98dad0d887d8e2f4950072dc",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de660641a2b1c5b8",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f5253a101f4d279d68b4e821",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/correlation, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13a8ee38fd4606d6",
      "framework": "next-react",
      "imports": "@/lib/api/correlation,@/lib/supabase/server,next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/audit-logs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "8556b839158bb47dd4e838d6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/sandbox/core, @/lib/sandbox/server, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2651a70158d5d8c",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,@/lib/supabase/server,next/server",
      "lines": 132,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sandboxes/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2c5b5c0ac49e8306f79a1aab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/sandbox/runtime, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "11b1f1b327fb7a30",
      "framework": "next-react",
      "imports": "@/lib/sandbox/runtime,@/lib/sandbox/server,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sandboxes/[id]/execute/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "db593836497022857fb26b19",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a8567b4e6e29704b",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability",
      "component_id": "649972c24f2b2045940b46a1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4630607ff8411896",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,automation",
      "component_id": "b69c81c556edcdaa5d5e9e06",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/agent-session, @/lib/api/correlation, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c692eb98378bfb8",
      "framework": "next-react",
      "imports": "@/lib/agent-session,@/lib/api/correlation,next/server",
      "lines": 156,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/agents/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability",
      "component_id": "5ab9a4018cd49073e2756aeb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/lib/agent-session, @/lib/api/correlation, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "624a229945696c0c",
      "framework": "next-react",
      "imports": "@/lib/agent-session,@/lib/api/correlation,next/server",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/agents/[sessionId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "681f16fb2af67db09a2a9085",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/sandbox/core, @/lib/sandbox/runtime, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9c3e38532aceb1fd",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/runtime,@/lib/sandbox/server,next/server",
      "lines": 468,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/[...slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d78090aa7fe90747f2bdd36f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/correlation, @/lib/cosmic/claws-client, @/lib/cosmic/trace-client, @/lib/supabase/server, @/lib/types/api, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bde20d7582656e55",
      "framework": "next-react",
      "imports": "@/lib/api/correlation,@/lib/cosmic/claws-client,@/lib/cosmic/trace-client,@/lib/supabase/server,@/lib/types/api,next/server",
      "lines": 229,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/api-keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "42c5fd607986c30adcc9a034",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api/correlation, @/lib/cosmic/claws-client, @/lib/cosmic/trace-client, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "adbc4abfc9a07677",
      "framework": "next-react",
      "imports": "@/lib/api/correlation,@/lib/cosmic/claws-client,@/lib/cosmic/trace-client,@/lib/supabase/server,next/server",
      "lines": 257,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/request-access/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "eb924b57fe29bb2b15f5a770",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d8898ce9a287eb6b",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "88ece24991f4726a9e68ee22",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b436bdf9dad2587",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "bfb7949b6c8ec7a35505e253",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/correlation, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "379322b0329fbef2",
      "framework": "next-react",
      "imports": "@/lib/api/correlation,@/lib/supabase/server,next/server",
      "lines": 131,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/dashboard/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "f4960a6c7c3f0a64f0f3785b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/sandbox/runtime, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8ae850d55eac96bf",
      "framework": "next-react",
      "imports": "@/lib/sandbox/runtime,@/lib/sandbox/server,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/execute/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "9f8f449e5e1c0852adbb6b3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/agent-session, @/lib/api/correlation, @/lib/guest-session, @/lib/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a63d8fd54f7cef03",
      "framework": "next-react",
      "imports": "@/lib/agent-session,@/lib/api/correlation,@/lib/guest-session,@/lib/supabase/server,next/server",
      "lines": 206,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "47b054a59532557bd8fd28c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/correlation, @/lib/supabase/server, @/lib/types/api, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "44791260351975af",
      "framework": "next-react",
      "imports": "@/lib/api/correlation,@/lib/supabase/server,@/lib/types/api,next/server",
      "lines": 205,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5a591442e66ae11edbf5f13a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/agent-session, @/lib/api/correlation, @/lib/guest-session, @/lib/pnn, @/lib/pnn/cors, @/lib/pnn/jsonrpc, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b3076a87c0e99c3",
      "framework": "next-react",
      "imports": "@/lib/agent-session,@/lib/api/correlation,@/lib/guest-session,@/lib/pnn,@/lib/pnn/cors,@/lib/pnn/jsonrpc,next/server",
      "lines": 278,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/gateway/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "94ef52fa9125e81e25494baf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6249c283defb220d",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "afc22c1f23564c79dfcff280",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0fc336403d1da3d1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "59f1cb90cc4bff6ecf301f86",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/sandbox/core, @/lib/sandbox/runtime, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec646a52b3b78c8b",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/runtime,@/lib/sandbox/server,next/server",
      "lines": 301,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "bcc24be14e67a2bc25e2cd93",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "acd6b01682e271bf",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "17deeb835ce526a8a8345b86",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f453e806fc2017eb",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "ab9e3a4bca39df5677c6ecf4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c51567eeec542009",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "b243c63ffaa085b14f728648",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5e5a0fd6361ab1bf",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "4d8ce8600da298e7b105b5ed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6c8d7777920be448",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "d806a7425af718f1d62991c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/sandbox/core, @/lib/sandbox/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6c118c184298c972",
      "framework": "next-react",
      "imports": "@/lib/sandbox/core,@/lib/sandbox/server,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "d78313a9c245924f55561a71",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/app-shell, @/lib/guest-session, @/lib/supabase/server | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84d172b3232829d1",
      "framework": "next-react",
      "imports": "@/components/app-shell,@/lib/guest-session,@/lib/supabase/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "de8fed6b2a0908484497b988",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage, metadata | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "SettingsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07018ebc27762178",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,backend,security",
      "component_id": "1bbf3483a458bd753cea2593",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsApiKeysPage | imports:next/navigation | frontend-score:115 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "SettingsApiKeysPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7ee1d97aa11f560a",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/api-keys/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "frontend,ui,integration,automation",
      "component_id": "a4b0b548c34c574d433f78ac",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsWebhooksPage | imports:next/navigation | frontend-score:115 | ui-score:55 | integration-score:55 | automation-score:45",
      "exports": "SettingsWebhooksPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27135f47b9d229ca",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/settings/webhooks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability",
      "component_id": "1d6df0e44bd797b64b05278b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SandboxesPage, metadata | imports:@/components/ui/button, @/components/ui/card, @/lib/sandbox/server, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SandboxesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5ce4119ef42c846",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/sandbox/server,next/link",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/sandboxes/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "68b2b26cec769bb652431700",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlaygroundIndexPage | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "PlaygroundIndexPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05e7159267d8729b",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/playground/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6989c3ec38aa2b781ab137dd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlaygroundClient | imports:@/components/code-editor, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/tabs, @/components/ui/textarea | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PlaygroundClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e83307d62bd8cf03",
      "framework": "next-react",
      "imports": "@/components/code-editor,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/tabs,@/components/ui/textarea,lucide-react,react",
      "lines": 562,
      "logic_relevance": "none",
      "name": "playground-client",
      "normalized_name": "playground-client",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/playground/new/playground-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "09fd9915c6dd5f62eda157d6",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./playground-client | frontend-score:85 | ui-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f439fa30bf7c821",
      "framework": "next-react",
      "imports": "./playground-client",
      "lines": 10,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/playground/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ceb4945fc2ee96188476041a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActivityClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ActivityClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b46d6697f56a3b8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react,swr",
      "lines": 375,
      "logic_relevance": "none",
      "name": "activity-client",
      "normalized_name": "activity-client",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/activity/activity-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f1431dc13f9caee27be00e44",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./activity-client, @/lib/guest-session, @/lib/supabase/server, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca6ec5c0146bb61e",
      "framework": "next-react",
      "imports": "./activity-client,@/lib/guest-session,@/lib/supabase/server,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/activity/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "c74919c12e43410f3d6d7604",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "NetworkClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc518659ec3b0e47",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 367,
      "logic_relevance": "none",
      "name": "network-client",
      "normalized_name": "network-client",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/network/network-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "70e56d240fcd6ea2f4af4988",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./network-client, @/lib/guest-session, @/lib/supabase/server, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cd1f48389043b29",
      "framework": "next-react",
      "imports": "./network-client,@/lib/guest-session,@/lib/supabase/server,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,integration,security",
      "component_id": "2982c73707c2ac020b6dd90b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:McpToolsPage, metadata | imports:@/components/ui/badge, @/components/ui/card, @/lib/sandbox/core | frontend-score:85 | ui-score:55 | integration-score:55 | security-score:55",
      "exports": "McpToolsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c320a1b18b93935b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/sandbox/core",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/mcp/tools/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,integration,ai",
      "component_id": "e3fefcc43571bf0ab92d8b86",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:McpServersPage, metadata | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | integration-score:55 | ai-score:45",
      "exports": "McpServersPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a6a7f4561d8240a",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/mcp/servers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "02570a4feaca375cddf22073",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExplorePage, metadata | imports:./explore-client, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ExplorePage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2958af9593f1b7bb",
      "framework": "next-react",
      "imports": "./explore-client,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/explore/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "a2351161454e96c2e3274deb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExploreSandboxesClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ExploreSandboxesClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "710f5152288720f0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,next/link,react",
      "lines": 246,
      "logic_relevance": "none",
      "name": "explore-client",
      "normalized_name": "explore-client",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/explore/explore-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "529b479006f20c71710af24f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/activity-feed, @/components/ui/button, @/components/ui/card, @/lib/sandbox/server, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d5148aa2b417ea8",
      "framework": "next-react",
      "imports": "@/components/activity-feed,@/components/ui/button,@/components/ui/card,@/lib/sandbox/server,@/lib/supabase/server,lucide-react,next/link",
      "lines": 281,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "eaad459a315ec0c853e1b2d8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiKeysClient | imports:@/components/ui/button, @/components/ui/card, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/table, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiKeysClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab715c51a8540881",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/table,lucide-react,react",
      "lines": 306,
      "logic_relevance": "none",
      "name": "api-keys-client",
      "normalized_name": "api-keys-client",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/api-keys/api-keys-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "881c5da51751895eac13de10",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./api-keys-client, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5dea6de576350cc4",
      "framework": "next-react",
      "imports": "./api-keys-client,@/lib/supabase/server,next/navigation",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/api-keys/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation,ai",
      "component_id": "2f2fcb5112bbad07e86986e7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WebhooksClient | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/table, lucide-react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "WebhooksClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d53fac139558a84",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/table,lucide-react,react",
      "lines": 317,
      "logic_relevance": "none",
      "name": "webhooks-client",
      "normalized_name": "webhooks-client",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/webhooks/webhooks-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "7e753848b95fc5b41438d019",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./webhooks-client, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77f261df4100915c",
      "framework": "next-react",
      "imports": "./webhooks-client,@/lib/supabase/server,next/navigation",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/webhooks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "92a3fa3bac4af97cc2e11d78",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExecutionsPage, metadata | imports:@/components/ui/card | frontend-score:85 | ui-score:55",
      "exports": "ExecutionsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a992577e704908d",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 23,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/executions/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "53643e70df8443905eb67321",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TemplatesPage, metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/sandbox/core, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TemplatesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "47d3a0738b56578b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/sandbox/core,next/link",
      "lines": 37,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/templates/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "4293749a276cb865403400de",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:TemplateDetailPage | imports:@/components/ui/button, @/components/ui/card, @/lib/sandbox/core, next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TemplateDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6439ea2d3e1d6ec7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/sandbox/core,next/link,next/navigation",
      "lines": 33,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/templates/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "97c58f2735ffda542de82da9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "node:assert,node:test",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../lib/sandbox/core.ts, ../lib/sandbox/runtime.ts, node:assert/strict, node:test | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0c918e31a2d5d13b",
      "framework": "next-react",
      "imports": "../lib/sandbox/core.ts,../lib/sandbox/runtime.ts,node:assert/strict,node:test",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "core.test",
      "normalized_name": "core",
      "package_manager": "pnpm",
      "path": "tests/core.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a7c7e55e0466d076eb6bd7ff",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "1aaa94e0545a5ff2be0fa220",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "20abb53c53c82c78559ad9dc",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor, ExecutionResult | imports:@/components/ui/button, @/components/ui/select, @/components/ui/tooltip, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CodeEditor,ExecutionResult",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12d6d9a3216efb3e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/select,@/components/ui/tooltip,@/lib/utils,lucide-react,react",
      "lines": 271,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,automation,ai",
      "component_id": "d58c968da9e5405c2d96bb7c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActivityFeed, ActivityFeedInline | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/tooltip, @/lib/utils, lucide-react, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "ActivityFeed,ActivityFeedInline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a88a981f30296cbd",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/tooltip,@/lib/utils,lucide-react,react,swr",
      "lines": 250,
      "logic_relevance": "none",
      "name": "activity-feed",
      "normalized_name": "activity-feed",
      "package_manager": "pnpm",
      "path": "components/activity-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "c160e524f888515267a0de89",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/components/ui/breadcrumb, next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec48357355db66e4",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,next/link,next/navigation",
      "lines": 61,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bd1f6a81ad7c25325e5dfd87",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:@/components/ui/button, @/components/ui/scroll-area, @/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9572ddea34416bb7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/scroll-area,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 278,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "5a22bc71f49ac943cdcecb07",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/supabase-js,lucide-react,next,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppHeader | imports:@/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/supabase/client, @/lib/utils, @supabase/supabase-js, lucide-react, next-themes | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AppHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a945db778165c6a5",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/supabase/client,@/lib/utils,@supabase/supabase-js,lucide-react,next-themes,next/link,next/navigation",
      "lines": 266,
      "logic_relevance": "none",
      "name": "app-header",
      "normalized_name": "app-header",
      "package_manager": "pnpm",
      "path": "components/app-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "f8cda17d5c275f06acca5e51",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppShell | imports:./app-header, ./app-sidebar, ./breadcrumbs, @supabase/supabase-js, react | frontend-score:115 | ui-score:70",
      "exports": "AppShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c76e81c77dd166f4",
      "framework": "next-react",
      "imports": "./app-header,./app-sidebar,./breadcrumbs,@supabase/supabase-js,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "app-shell",
      "normalized_name": "app-shell",
      "package_manager": "pnpm",
      "path": "components/app-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a079c0ebccbc9a0dabaaf647",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7cd5d81e71c2968f886d626d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4bd59f0cb038d3ddc08f985e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "11b798e9123a92904c3945d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "63a1285476d8d5ba1aa73202",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0d58fb4267f2973d9d2b59f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "36b134b40272177ab2236bb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "236d138a296aff5f6c905afc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "85643ee6c31f9d8966537cc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b19518a4fe25a2bdb982c7ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "955c733ecd818b4920fc9aa2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "64a3529d0eb1cb06754f03cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "52ea7b4caa9d40b44d254784",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d1337394ed8f9a561789acd5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d1f502b61f9d9f34d58893ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c719decc50a5a583da59004d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3f17ccec1f4ebcd95d10806e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "39ef3d597a8b689d147141ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "71195383838eb78cf5c44900",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "740ce3c224fbf2c2b669ff8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "892b3da4aa4cdc89c3741671",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e39d7363b1e4551950bf9e88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "560ce227f1431ca6fc29a815",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7c0d75c7d1239acf7ed1e3fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3b1fbb3997f09e2c9ea124a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ae9a3da6d53696f258be94c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2da269a4cbb183e82471a8c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "0e7a73491357e30c4236d767",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7f6b332f58d6fb4e76c0d570",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "252a624c7b1adecb64b87370",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a03b2bf8d9c226b85d2f4af2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c73859e15b3c1beaa29e26c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "51682bc7484eb83fac1cda93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a81861521c70cf96e6e351f4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ade283713e30a5b38fcce21a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "d77ec342df487382e7d8a465",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e4f2eef18a911b6457d3558f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "310d8679ebf51928a0e20476",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "21cb548987c56b531c842823",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "61cae67c37679a8040e75ad7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5f416a9e4d0c113d083cda3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "33affaaf90d8df7d0fbbf94b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f8dbd95609854af464104df0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "81f384422a7289e584947a44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "893b8245636eed3ed11c90c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ccce6ab3f119c62d60179487",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "457045c31f210f187e9b4e5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "0c42c9f8be0a1d5618f8c2a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4956887fc57b8b903d701d10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "99220d5b03f140b652958f3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "46393ac0a09275ac30d63a47",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1334dfdf1dadf4bc1f0b5139",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4116c0d294241a284d4a4761",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e64121bab7d68b41833eda67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2fe1001f51d087e61e92e0a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "bf544c1b388e2fd8bbbd7f3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7afe9ffb4d4f84e976136aa9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4274b9e9c2929e9785822c41",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@jest/globals",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | imports:@jest/globals | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4d40be5bd915dc7c",
      "framework": "next-react",
      "imports": "@jest/globals",
      "lines": 129,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "__tests__/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "4724619be27fa6f8f3324ad0",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31d1c2d5355b2832",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,security,automation",
      "component_id": "8ef40fdebe986e6c621dde43",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cba2867f67568572",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "6a36d1cbd258487b7dbbb00e",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,fs,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@supabase/supabase-js, fs, path | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e4ce615633c80fc6",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,fs,path",
      "lines": 72,
      "logic_relevance": "none",
      "name": "setup-db",
      "normalized_name": "setup-db",
      "package_manager": "pnpm",
      "path": "scripts/setup-db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1be005230e5d4505b8127aa6",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js,fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@supabase/supabase-js, fs, path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "6ca2e512a662834d",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,fs,path",
      "lines": 61,
      "logic_relevance": "none",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "scripts/migrate.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "54296f1769ff10a875bc119e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthenticatedUser, GUEST_TENANT_ID, GuestSession, RATE_LIMITS, SessionUser, createGuestSession, getEffectiveUserId, getRateLimits | imports:next/headers | logic-score:85 | security-score:55",
      "exports": "AuthenticatedUser,GUEST_TENANT_ID,GuestSession,RATE_LIMITS,SessionUser,createGuestSession,getEffectiveUserId,getRateLimits,getTenantId,isGuestUser",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "784d6b9dbc92fe09",
      "framework": "next-react",
      "imports": "next/headers",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "guest-session",
      "normalized_name": "guest-session",
      "package_manager": "pnpm",
      "path": "lib/guest-session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "7a11fdb3d7391be22e969a3b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createChildSpan, createCorrelationHeaders, createLogEntry, formatLogMessage, generateId, generateSpanId | imports:./types, next/headers | logic-score:85 | observability-score:55",
      "exports": "createChildSpan,createCorrelationHeaders,createLogEntry,formatLogMessage,generateId,generateSpanId",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0d4a81f229e4b1f3",
      "framework": "next-react",
      "imports": "./types,next/headers",
      "lines": 117,
      "logic_relevance": "primary",
      "name": "correlation",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/correlation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "7843f5bc768ac6f98a7ac53d",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "2576d60ffd2d6dd81560f1d6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIError, APIKey, APIKeyFlags, APIMeta, APIResponse, AuditLog, AuditLogFlags, AuthMethod | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APIError,APIKey,APIKeyFlags,APIMeta,APIResponse,AuditLog,AuditLogFlags,AuthMethod,CorrelationContext,Execution,ExecutionError,ExecutionFlags,ExecutionStatus,FeatureFlag,MCPCallRequest,MCPCallResponse,MCPConnection,MCPConnectionFlags,MCPServer,MCPTool,MCPToolCall,MCPToolCallFlags,MCPToolSchema,NetworkTier,NetworkTrustEntry,NetworkTrustFlags,PaginationParams,Profile,ProfileFlags,RetryPolicy,Sandbox,SandboxConfig,SandboxFlags,SandboxLanguage,Tenant,TenantFlags,TraceContext,TrustLevel,UserRole,Webhook,WebhookEvent,WebhookEventStatus,WebhookFlags",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9d64db7149fa7663",
      "framework": "next-react",
      "imports": "",
      "lines": 478,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,ai,observability,security,automation",
      "component_id": "3c0a15690d8694ad4b21d8db",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AgentEvent, AgentIdentity, AgentSession, agentSessionManager, createAgentSession, endAgentSession, extractAgentHeaders, getActiveSessions | imports:./cosmic/claws-client, ./cosmic/trace-client | logic-score:85 | ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AgentEvent,AgentIdentity,AgentSession,agentSessionManager,createAgentSession,endAgentSession,extractAgentHeaders,getActiveSessions,getAgentSession,getRecentAgentEvents,getSessionStats,recordAgentEvent,updateSessionActivity,validateAgentCapability",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ffa07c92e944bcdf",
      "framework": "next-react",
      "imports": "./cosmic/claws-client,./cosmic/trace-client",
      "lines": 281,
      "logic_relevance": "primary",
      "name": "agent-session",
      "normalized_name": "agent-session",
      "package_manager": "pnpm",
      "path": "lib/agent-session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "0e068bf7379cb7a7da0798c7",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIKey, APIKeyWithSecret, APIResponse, AuditLog, CreateAPIKeyRequest, CreateSandboxRequest, CreateWebhookRequest, Execution | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APIKey,APIKeyWithSecret,APIResponse,AuditLog,CreateAPIKeyRequest,CreateSandboxRequest,CreateWebhookRequest,Execution,ExecutionRequest,MCPConnection,MCPToolCall,Profile,Sandbox,Tenant,Webhook",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f8a7c019ae8bca2b",
      "framework": "next-react",
      "imports": "",
      "lines": 281,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "lib/types/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "94beba648488ec9fdc6310f3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CosmicSignature, TraceContext, TraceEvent, createTraceContext, formatCosmicTraceState, formatTraceParent, generateCosmicApiKey, generateCosmicSignature | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CosmicSignature,TraceContext,TraceEvent,createTraceContext,formatCosmicTraceState,formatTraceParent,generateCosmicApiKey,generateCosmicSignature,traceClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "abd62052964c8599",
      "framework": "next-react",
      "imports": "",
      "lines": 202,
      "logic_relevance": "primary",
      "name": "trace-client",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/trace-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,logic",
      "component_id": "a5e0f425e515f03d685cfbc0",
      "component_kind": "observability-module",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:clawsClient, traceClient | imports:./claws-client, ./trace-client | observability-score:55 | logic-score:45",
      "exports": "clawsClient,traceClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7cba5eef9628d41b",
      "framework": "next-react",
      "imports": "./claws-client,./trace-client",
      "lines": 9,
      "logic_relevance": "secondary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/cosmic/index.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "6f1efe36b93f55ea28970252",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClawsFederationId, ClawsKeyRegistration, ClawsValidationResult, clawsClient, generateFederationId, generateScopes | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ClawsFederationId,ClawsKeyRegistration,ClawsValidationResult,clawsClient,generateFederationId,generateScopes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b6dcc54b26635265",
      "framework": "next-react",
      "imports": "",
      "lines": 191,
      "logic_relevance": "primary",
      "name": "claws-client",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/claws-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c9a9af22e947b9e60618c7be",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AgentUIClient, AtlasClient, BrowserOpsClient, ClawsClient, DictionaryClient, DocsClient, EvalsClient, MCPClient | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AgentUIClient,AtlasClient,BrowserOpsClient,ClawsClient,DictionaryClient,DocsClient,EvalsClient,MCPClient,MonitorClient,PNNClient,TraceClient,createPNNClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "01c99140671ab000",
      "framework": "next-react",
      "imports": "./types",
      "lines": 446,
      "logic_relevance": "primary",
      "name": "clients",
      "normalized_name": "clients",
      "package_manager": "pnpm",
      "path": "lib/pnn/clients.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "32a56f6705ec4dd525685918",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JSONRPCClient, JSONRPCContext, JSONRPCErrorException, JSONRPCMethodHandler, JSONRPCRouter, JSONRPC_ERRORS, createErrorResponse, createJSONRPCRouter | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JSONRPCClient,JSONRPCContext,JSONRPCErrorException,JSONRPCMethodHandler,JSONRPCRouter,JSONRPC_ERRORS,createErrorResponse,createJSONRPCRouter,createMCPMethods,createRequest,createSuccessResponse,parseRequest,validateRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e3901805f4f404c3",
      "framework": "next-react",
      "imports": "./types",
      "lines": 355,
      "logic_relevance": "primary",
      "name": "jsonrpc",
      "normalized_name": "jsonrpc",
      "package_manager": "pnpm",
      "path": "lib/pnn/jsonrpc.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8e5811b05923117d86aa81c8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AgentCapability, AgentMessage, AgentRegistration, AtlasRoute, AtlasService, BrowserAction, BrowserResult, BrowserSession | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "AgentCapability,AgentMessage,AgentRegistration,AtlasRoute,AtlasService,BrowserAction,BrowserResult,BrowserSession,CORSConfig,ClawsIdentity,ClawsKeyRegistration,ClawsTrust,DictionaryTerm,EvalResult,EvalRun,EvalSummary,Feed,FeedItem,JSONRPCError,JSONRPCRequest,JSONRPCResponse,MCPTool,MCPToolCall,MCPToolResult,MonitorAlert,MonitorMetric,PNNConfig,ServiceConfig,TraceEvent,TraceSpan",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5075cfddf5d346ec",
      "framework": "next-react",
      "imports": "",
      "lines": 297,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/pnn/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security,discovery",
      "component_id": "35d7e161094b62254e33238f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeedOptions, generateAtom, generateJSONFeed, generateRSS, parseFeed | imports:./types | logic-score:85 | security-score:55 | discovery-score:55",
      "exports": "FeedOptions,generateAtom,generateJSONFeed,generateRSS,parseFeed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c83c35e21fce8100",
      "framework": "next-react",
      "imports": "./types",
      "lines": 288,
      "logic_relevance": "primary",
      "name": "feeds",
      "normalized_name": "feeds",
      "package_manager": "pnpm",
      "path": "lib/pnn/feeds.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "254220d3a5d02ac3fa07da32",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:pnn | imports:./clients, ./cors, ./jsonrpc, ./types | logic-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "pnn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8aed223d319ba335",
      "framework": "next-react",
      "imports": "./clients,./cors,./jsonrpc,./types",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/pnn/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "77aaea50183604d7080d113f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_CORS_CONFIG, PNN_TRUSTED_ORIGINS, corsFromTrusts, getCORSHeaders, handlePreflight, isOriginTrusted, withCORS | imports:./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DEFAULT_CORS_CONFIG,PNN_TRUSTED_ORIGINS,corsFromTrusts,getCORSHeaders,handlePreflight,isOriginTrusted,withCORS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "863578a7b6db97fa",
      "framework": "next-react",
      "imports": "./types",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "cors",
      "normalized_name": "cors",
      "package_manager": "pnpm",
      "path": "lib/pnn/cors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "563cb2f33d1ac87f16071c44",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a83f6e8f4048c76e",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "d40cf24a799536dbfd20df5a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "26f481761b6180fc",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "73dc1153fd7f1dc43b966812",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8d35bd9f6c41b19e",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d1d0bd9ad7efa4699517e583",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:vm",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ExecuteCodeInput, transpileTypeScript | imports:./core.ts, node:vm | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ExecuteCodeInput,transpileTypeScript",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "751f0e6ea3ce0de7",
      "framework": "next-react",
      "imports": "./core.ts,node:vm",
      "lines": 329,
      "logic_relevance": "primary",
      "name": "runtime",
      "normalized_name": "runtime",
      "package_manager": "pnpm",
      "path": "lib/sandbox/runtime.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e4db3ecca35a1707844e2022",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiTestRequest, ApiTestResult, JsonRpcPayload, PUBLIC_MCP_TOOL_NAMES, PUBLIC_SANDBOX_TEMPLATES, REQUIRED_TRUST_POLICY_LINE, SANDBOX_BASE_URL, SANDBOX_ENDPOINTS | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "ApiTestRequest,ApiTestResult,JsonRpcPayload,PUBLIC_MCP_TOOL_NAMES,PUBLIC_SANDBOX_TEMPLATES,REQUIRED_TRUST_POLICY_LINE,SANDBOX_BASE_URL,SANDBOX_ENDPOINTS,SANDBOX_MCP_PROMPTS,SANDBOX_MCP_RESOURCES,SANDBOX_MCP_TOOL_NAMES,SANDBOX_SERVICE,SANDBOX_VERSION,STANDARD_PUBLIC_ROUTES,SandboxArtifact,SandboxFile,SandboxLanguage,SandboxProject,SandboxRun,SandboxRunStatus,SandboxStatus,SandboxStorageMode,SandboxSyncStatus,SandboxTemplate,SandboxVisibility,TraceContext,TrustedUrlResult,buildAgentsMetadata,buildAtomXml,buildIntegrationStatuses,buildLlmsFullTxt,buildLlmsIndex,buildLlmsTxt,buildManifest,buildMcpMetadata,buildOpenApiSpec,buildRobotsTxt,buildRssXml,buildSitemapIndexXml,buildSitemapXml,buildTrustPolicy,createPlatphormTraceHeaders,createSandboxProject,createTraceContext,defaultSandboxFile,escapeXml,generateApiTestsFromOpenApi,generateExampleFromSchema,hashString,inferEntrypoint,inferProjectLanguage,instantiateTemplate,isBlockedNetworkHost,isTrustedPlatphormHost,parseJsonRpcPayload,parseOpenApiDocument,redactSecrets,sanitizeHeaders,sanitizeVercelRequestMetadata,slugify,toYaml,validateSchema,validateTrustedUrl",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82924b2871c301c6",
      "framework": "next-react",
      "imports": "",
      "lines": 1210,
      "logic_relevance": "primary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "pnpm",
      "path": "lib/sandbox/core.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "4d327aa7fbd0a2769d1f5431",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RouteContext, fail, getPersistenceStatus, getPresentedPlatformKey, getRouteContext, hasSupabaseConfig, isPlatformAuthorized, ok | imports:./core, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RouteContext,fail,getPersistenceStatus,getPresentedPlatformKey,getRouteContext,hasSupabaseConfig,isPlatformAuthorized,ok,platformKeyConfigured,requestMetadata,requirePlatformAuth,text,unavailableIntegration,xml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "291d9bbd197c4c1c",
      "framework": "next-react",
      "imports": "./core,next/server",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "lib/sandbox/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "e94a75c29d9428823c54d952",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RequestContext, addCorrelationHeaders, addRateLimitHeaders, createErrorResponse, createSuccessResponse, createTraceContext, extractCorrelationContext, logWithCorrelation | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RequestContext,addCorrelationHeaders,addRateLimitHeaders,createErrorResponse,createSuccessResponse,createTraceContext,extractCorrelationContext,logWithCorrelation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5e3e4730d3288741",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 148,
      "logic_relevance": "primary",
      "name": "correlation",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/api/correlation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sandbox",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "eb1234b011bdde20f4b13e6e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3646a3f08a23eb1b",
      "framework": "next-react",
      "imports": "",
      "lines": 7529,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "aeeecb2897d2421cdf4b1810",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "bda13ba775c936a2",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d4d69df2c640795d5e65f716",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "870234995fedc9ac",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation",
      "component_id": "08a5b7cc5daa806d13a17a1e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "641e4d26c2eabefd",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google",
      "lines": 88,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "c11cd8dc4ba2b0fa48380978",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, metadata | imports:@/components/home-local-overview, @/components/sheets-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "HomePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c1fb0fef74f435ad",
      "framework": "next-react",
      "imports": "@/components/home-local-overview,@/components/sheets-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 314,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b1bab4449169f8e5b185dca7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "77380d7722afedf6",
      "framework": "next-react",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "5d035ee43151e98995433eb5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "592bf13f9591eda8",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "076665036b5cb2a43caf7721",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d761f08721c23954",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "dbd3b52f806a3926b8133665",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3344179e670cf974",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "75b35ea648eaeceacd9eeb49",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/sheets-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/separator, @/lib/sheet-storage | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b00bd6cae52573c9",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/separator,@/lib/sheet-storage,@/lib/sheets/types,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "90073cc96462df4a8604b77a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SheetsPage | imports:@/components/sheets-layout, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/sheet-storage, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SheetsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5294e3510f7d9b79",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/sheet-storage,lucide-react,next/link,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sheets/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "037a396ef78a5eeef4eb4f81",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SheetDetailPage | imports:@/components/data-grid, @/components/sheets-layout, @/components/ui/alert-dialog, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/chart | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SheetDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "997790d1b8ba7564",
      "framework": "next-react",
      "imports": "@/components/data-grid,@/components/sheets-layout,@/components/ui/alert-dialog,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/chart,@/lib/sheet-storage,lucide-react,next/link,next/navigation,react,recharts",
      "lines": 361,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sheets/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "c79f779ed37f51aed100e0be",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/sheets-layout, @/components/ui/accordion, @/components/ui/breadcrumb, @/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c6962ccce09892b",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/accordion,@/components/ui/breadcrumb,@/components/ui/card",
      "lines": 84,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "511ac365f1010f2898a977dc",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6099ff4184c4cf86",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,security",
      "component_id": "ce347fd04dd6cca70defcce4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a35773e04cd3212b",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "21a35ba20605476e55c2acac",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b9ba934c440c0f0b",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "669336be4b0333c3a7472a93",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b11ee8510e046d8a",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "66063aa29b37eed5f1e9fb86",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b3071127e1f7592",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "edc0495081b44be54879158c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IngestPage | imports:@/components/sheets-layout, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IngestPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ef2bcc4b8aa0fd6",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/tabs,@/components/ui/textarea,@/lib/file-parser,@/lib/sheet-storage,lucide-react,next/link,next/navigation,react",
      "lines": 490,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ingest/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,ai",
      "component_id": "c60bf7edb8814b26cede63cd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MCPPage, metadata | imports:@/components/sheets-layout, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, next | frontend-score:115 | ui-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MCPPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a400a6b4257179c",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,next,next/link",
      "lines": 330,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mcp/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b16ae9a080805632c26228d3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage | imports:@/components/sheets-layout, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/skeleton, @/lib/sheet-storage, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SearchPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d81e650257fe39b9",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/skeleton,@/lib/sheet-storage,lucide-react,next/link,next/navigation,react",
      "lines": 202,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "5650c54b1556bfc6c23f9266",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "10e858ba9344f83f",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "277634ac5ad114a53c815548",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6c83cf767c68675a",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "dcf63a87e7b9ec45aaf70a53",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "64741079b56322e3",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "b70ecaade13e044e4ae92c24",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1a657bfe258ba6cb",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "c8c4eda15b60ea2a1002c2ab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "96055bed819ec7de",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "13645fade737bff17ad50b10",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bec6192ed22095db",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/trace/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "0a5eabdbbd67bee384754e73",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b9371306735a99e8",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/charts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "db023b32a2bcf0e71bbe394d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f18fadff32c9712",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/rows/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "4f7f1f2b4208a63baf7028e8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1def3ee07b793238",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/columns/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "3a1fb61a98dff8bf4cab8d28",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "66fa8eabc4f69815",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/filter/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "c4509b8b97bf8e1245b29337",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5a4a31e74e901da5",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/export/pdf/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e9e4c606be6b66ab3387129d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9105091272a39acc",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/export/csv/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "5abd8f41db3a25c24ceba0e2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1109f06103bdee5b",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/summary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "2205602c4cf1acf9f42b59d4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a5fec6895106dacd",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sheets/[id]/share/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "2050de2bb95a856b09362276",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, @/lib/sheets/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "042c762aed818c31",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,@/lib/sheets/http,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e5fdeab6421e8dda81c5fcf1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "123b0a085b651eeb",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/url/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "cfe012254511fd189234be6f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "56422e104f2610b4",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "1be6c305ee7a06293c1bf758",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8325d876cd4fc02b",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/[id]/confirm/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e58a63845872dfe94e31f6e6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8763808da0cae0d8",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/paste/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "b86ba7ce0239761e573dc07a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "34c3bdba11aed54a",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ingest/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "fc4cace92f68be9868e423eb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4b46834917523cb4",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "72bfa7de33d96635525e9f47",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "35466be6f409d9d8",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e0ae546975d6f7f9966c489d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ca4f23d14a20ac0e",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "9a5b2ecdd70f7ddaeca9d275",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f6eb3ed3686c8976",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "ca1614f5a6391acefae8ffa7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "87dd90b553f5663d",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "93c9eb2bf3cea57d4a044f9b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5dfc79111b50fff3",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "0f3fc5d56eebb037533f1491",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c81d44866ab29f99",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tags/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "64e688771c7ee8b1de60102d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9b2d3703d080a451",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "c87b8353048c3b3302040ffc",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a29a3d3d0316999",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "b2e5e7723a3d1d964daac125",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "33ae8440f5d083f0",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/share/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "df75becbe07c987d60c28b7a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1c6c04ea2c52f5fe",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c563d4d03ad3b60a371218a6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, @/lib/sheets/http, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "042c762aed818c31",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,@/lib/sheets/http,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "ae9a85a30a75350510ff626e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d83ebcf57c49e376",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "14689036c59adc644a8cd219",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4b46834917523cb4",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,security,ai",
      "component_id": "a08347363944f3afae535465",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "352a01e30adc07d0",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "94acfb0eebb3d69769edb3d8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/auth, @/lib/sheets/discovery, @/lib/sheets/parser, @/lib/sheets/server-state, @/lib/sheets/trace, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "065402574f78d277",
      "framework": "next-react",
      "imports": "@/lib/sheets/auth,@/lib/sheets/discovery,@/lib/sheets/parser,@/lib/sheets/server-state,@/lib/sheets/trace,next/server",
      "lines": 299,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,discovery,process",
      "component_id": "674104609da94d41d624cfb3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/api-handlers | backend-score:125 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72521e91f8475acf",
      "framework": "next-react",
      "imports": "@/lib/sheets/api-handlers",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "35f76fbba6eda9ba62da8925",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "943b0e4b75e9a10f",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,discovery",
      "component_id": "238efc980bd43825cc912d01",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b390b86c0680fa79",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 153,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "c6979ba60443a661b68f93ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "73e52d978c259737",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "544972c9cfc48ddcec97266a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "43464dc65e68fd5e",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "a54b67da1afe6b9ac2c1fccb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/sheets/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63f4ab6791051671",
      "framework": "next-react",
      "imports": "@/lib/sheets/discovery,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,backend,integration,observability,security,discovery",
      "component_id": "2c1f109fcf06484a6b82426a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APIDocsPage, metadata | imports:@/components/sheets-layout, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/card, @/components/ui/tabs, @/lib/sheets/discovery, next | frontend-score:115 | process-score:80 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env",
      "exports": "APIDocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01f3609effd23272",
      "framework": "next-react",
      "imports": "@/components/sheets-layout,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/card,@/components/ui/tabs,@/lib/sheets/discovery,next",
      "lines": 140,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api-docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend,ai",
      "component_id": "339d2c379eb910a64357735e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b7889fb86da3947a",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "86b6be5c3eeb81ce561b2c56",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ee3f0aede95f29af",
      "framework": "next-react",
      "imports": "",
      "lines": 202,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process,ai",
      "component_id": "b98abf0767d5c8a28da2f68d",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2b29f0a94bb1282d",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "4e30718d7ce982b8f9ae6969",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6bf2c7fb7428933c",
      "framework": "next-react",
      "imports": "",
      "lines": 188,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,ai",
      "component_id": "0e13ccd1872ab402f47eed9b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4c5ca0fbce73a796",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "17449853a8ad0c833c2e7541",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "88e535d6cafab1fd",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "e83f6eca68fcc843ff8a6a93",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7ca608ce523f0038",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery",
      "component_id": "4a869d5bdc94952e217cf0f4",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3223e9a709caeb7a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "schemas/openapi.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "fad2b4dbb45e60825d82e285",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6e8dc011724b94ae",
      "framework": "next-react",
      "imports": "",
      "lines": 608,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "cf81088630b97026d6d644cb",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "38f944987306c700",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ac016d810f3f31a4d0f78b1d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "78f5118494edca6a887bc2fb",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fcc851d1a802188ab98aa497",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomeLocalOverview | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/sheet-storage, @/lib/sheets/types, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HomeLocalOverview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b366feb2d30d5d8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/sheet-storage,@/lib/sheets/types,lucide-react,next/link,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "home-local-overview",
      "normalized_name": "home-local-overview",
      "package_manager": "pnpm",
      "path": "components/home-local-overview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "eab79ac7db9a4cbfc213c368",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SheetCategory, SheetsLayout | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/scroll-area, @/components/ui/separator, @/components/ui/sheet, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SheetCategory,SheetsLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a520fef9126e8908",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/scroll-area,@/components/ui/separator,@/components/ui/sheet,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 383,
      "logic_relevance": "none",
      "name": "sheets-layout",
      "normalized_name": "sheets-layout",
      "package_manager": "pnpm",
      "path": "components/sheets-layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6f572fee374128c15c86eae8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ColumnDef, DataGrid, DataGridProps | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ColumnDef,DataGrid,DataGridProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5fad6ca0f191312b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/utils,lucide-react,react",
      "lines": 630,
      "logic_relevance": "none",
      "name": "data-grid",
      "normalized_name": "data-grid",
      "package_manager": "pnpm",
      "path": "components/data-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4f955d2b753cc52600b45bf7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cf14ed74c0171f2670f8471e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9dc5db170040d2df94661eb8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "58c7ecdd600407a80e3e439f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "15b075da535fd551ade48f70",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7d60dee700847cb438d05352",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3ae719c9be46643958f34649",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "923d6486cefac52546ac37dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "200e3bfd47328b08beff1975",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "99194c88bf5b0815ff9950b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "7a93df5c7bb99137d7d7b944",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "a71c846e3194c3ebe592b9fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d9a4cc5026cdab422970042a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8bfc9ef33e0ee5be17f8d415",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fe78217a4b7f89b85270a1dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b6401b55ca713f681645655a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1ba90810cc61e33fa4b84895",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4f5475b08eebf9c79ab73828",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9935876d670f808a603c0033",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9dc5cbd7ea352f4e9d52ef3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "16768729bc7197430395e328",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4e1facd27dd23461b5aad89c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e2e40636f2d88ca4a41da4f4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "767fa5016edcefdcbdaf5574",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9fc1172236fc903939253d7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "d38fbc5657365928cfaffe6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9648f8e9139517d7ca6660e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "06403131ba7f4cb9ad95746c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "42414ffa67902b6368cfd7f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "051a67a368d985742d1ded72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "46b9e67ae1a4eea48cda89a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7a883b4bdc1b0268",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8c86181fc74bb2fb05cc02cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9f62d23b9d0125023bd755fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ce48e356ab51ba35708de49b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c0ec562e1e4489dfefa09931",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "b5b8ceadeba4465c6f1ed64f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a287e40ce6ba05e0ed08bbf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9872bd3da50adb8895562b5d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3db4b4056d22c57b66734bde",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9942b4d08bc8536ad4e5f71e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "cb3f718f1c3b4ec91cd9ed81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "994da275933a24ce",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 724,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4aaeb6c0799374a79e0e955b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dd319a622b4e0b24bd71a466",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e000f10483c8e23bf66739ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "720daf7d6c9dd7dccc76a953",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ae5075a05f02764d1908120d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0849315e4210f08d26e2d239",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "ce44f9b92ced1219db6814de",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9f1c6c0b707e842062d682d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "385d750e131d6b25ca69df07",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ac93a7ee7f1b97ebf3d4083f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3458fd60fdacb095971e5a72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "734fab5d3350ffd38f0081ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d7adfa60bf5c6985f244c917",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6c362134cda9822435e5343c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "85f921095d71b3d8caf31bcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "756f30ab7ab8c417a84cecb1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "2c1308c71ffc96e732741fd9",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "40b7f33929e72536",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "8490117dee33404e0a463da3",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c8c45d4aca5431ec",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "b554045158f0c13b32824fea",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f1eea8609de6b2e4",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "c0459dd173bfa904799fc475",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "081bcb94c84bd5e617de4015",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ColumnMeta, StoredSheet, deleteSheet, getRecentSheets, getSheetById, getSheetStats, getStoredSheets, inferColumnTypes | imports:./sheets/analysis, ./sheets/parser, ./sheets/types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ColumnMeta,StoredSheet,deleteSheet,getRecentSheets,getSheetById,getSheetStats,getStoredSheets,inferColumnTypes,parseCSV,parseDelimited,parsePastedData,parseTSV,saveSheet,searchSheets,updateSheet",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cae7760e3b571289",
      "framework": "next-react",
      "imports": "./sheets/analysis,./sheets/parser,./sheets/types",
      "lines": 373,
      "logic_relevance": "primary",
      "name": "sheet-storage",
      "normalized_name": "sheet-storage",
      "package_manager": "pnpm",
      "path": "lib/sheet-storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,observability,security",
      "component_id": "1e3b8807d4fc42657f3d1a1a",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "xlsx",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parsePastedData | imports:./sheets/parser, ./sheets/security, ./sheets/types, xlsx | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "parsePastedData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fff58307ba184c28",
      "framework": "next-react",
      "imports": "./sheets/parser,./sheets/security,./sheets/types,xlsx",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "file-parser",
      "normalized_name": "file-parser",
      "package_manager": "pnpm",
      "path": "lib/file-parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,security",
      "component_id": "6e49993b2c7bb7d6687f64c3",
      "component_kind": "parser",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./parser, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6d61091beb6f4749",
      "framework": "next-react",
      "imports": "./parser,vitest",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "parser.test",
      "normalized_name": "parser",
      "package_manager": "pnpm",
      "path": "lib/sheets/parser.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "496def069d56fe2b32626d71",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:attachTraceHeaders, fail, ok | imports:./types, next/server | logic-score:85 | observability-score:55",
      "exports": "attachTraceHeaders,fail,ok",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e5573026af3e1ee8",
      "framework": "next-react",
      "imports": "./types,next/server",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "http",
      "normalized_name": "http",
      "package_manager": "pnpm",
      "path": "lib/sheets/http.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "0c01f949db35b39a61fd5d51",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:detectDelimiter, detectSourceTypeFromUrl, formatColumnLabel, inferColumnTypes, parseCSV, parseDelimited, parseDelimitedRows, parsePastedData | imports:./types | logic-score:85 | security-score:55",
      "exports": "detectDelimiter,detectSourceTypeFromUrl,formatColumnLabel,inferColumnTypes,parseCSV,parseDelimited,parseDelimitedRows,parsePastedData,parseTSV,slugify",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d6afec14fa4aabb7",
      "framework": "next-react",
      "imports": "./types",
      "lines": 219,
      "logic_relevance": "primary",
      "name": "parser",
      "normalized_name": "parser",
      "package_manager": "pnpm",
      "path": "lib/sheets/parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "b54005261683b4903cb74ac6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./discovery, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa66173e8dfce4bb",
      "framework": "next-react",
      "imports": "./discovery,vitest",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/sheets/discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8cc8bca20b95a49739634ffa",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiBody, ApiErrorBody, ApiSuccessBody, DEFAULT_BASE_URL, ParsedSheet, PersistenceStatus, SERVICE_ID, SERVICE_NAME | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "ApiBody,ApiErrorBody,ApiSuccessBody,DEFAULT_BASE_URL,ParsedSheet,PersistenceStatus,SERVICE_ID,SERVICE_NAME,SERVICE_VERSION,SheetCategory,SheetColumn,SheetRecord,SheetSourceType,SheetStats,SheetStatus,SheetStorageMode,SheetSyncStatus,SheetVisibility,TraceLink",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f808af13654ad483",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/sheets/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "73af0ff9c0bdd34f46840886",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getDiscoveryComplianceSummary, getPersistenceStatus, getRouteComplianceSummary, getServerCategories, getServerSheet, getServerStats, listServerSheets | imports:./types | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "getDiscoveryComplianceSummary,getPersistenceStatus,getRouteComplianceSummary,getServerCategories,getServerSheet,getServerStats,listServerSheets",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2aa46836f04c057c",
      "framework": "next-react",
      "imports": "./types",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "server-state",
      "normalized_name": "server-state",
      "package_manager": "pnpm",
      "path": "lib/sheets/server-state.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "8517941ddcb231e66e180352",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:healthPayload, llmsIndexPayload | imports:./analysis, ./auth, ./discovery, ./http, ./parser, ./security, ./server-state, ./trace | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "healthPayload,llmsIndexPayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a392231cd69addfa",
      "framework": "next-react",
      "imports": "./analysis,./auth,./discovery,./http,./parser,./security,./server-state,./trace,./types,next/server",
      "lines": 330,
      "logic_relevance": "primary",
      "name": "api-handlers",
      "normalized_name": "api-handlers",
      "package_manager": "pnpm",
      "path": "lib/sheets/api-handlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,security",
      "component_id": "16a4f39eed042cbbcc8bc847",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isTrustedPlatphormDomain, validateIngestUrl | logic-score:85 | security-score:55",
      "exports": "isTrustedPlatphormDomain,validateIngestUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fefa447451ac72d8",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "lib/sheets/security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "bc4bc0faea69d0b771fee829",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:REQUIRED_TRUST_LINE, buildFeedXml, buildLlmsIndex, buildLlmsTxt, buildManifest, buildRobotsTxt, buildSitemapIndexXml, buildSitemapXml | imports:./server-state, ./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "REQUIRED_TRUST_LINE,buildFeedXml,buildLlmsIndex,buildLlmsTxt,buildManifest,buildRobotsTxt,buildSitemapIndexXml,buildSitemapXml,buildTrustPolicy,escapeXml,getBaseUrl,getEndpointInventory,getMcpInventory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3e38c172cd3d9373",
      "framework": "next-react",
      "imports": "./server-state,./types",
      "lines": 354,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/sheets/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability,security",
      "component_id": "3abe6de1937c94f4a1ea2765",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NumericColumnSummary, SheetSummary, filterRows, searchSheetRecords, summarizeRows, summarizeSheet, toCsv | imports:./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "NumericColumnSummary,SheetSummary,filterRows,searchSheetRecords,summarizeRows,summarizeSheet,toCsv",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "17509e73919b5a01",
      "framework": "next-react",
      "imports": "./types",
      "lines": 114,
      "logic_relevance": "primary",
      "name": "analysis",
      "normalized_name": "analysis",
      "package_manager": "pnpm",
      "path": "lib/sheets/analysis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "94da1cd38a3dae35dc7db413",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildTraceHeaders, createTraceLink, getBaseUrl, sanitizeVercelMetadata | imports:./types, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "buildTraceHeaders,createTraceLink,getBaseUrl,sanitizeVercelMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba551dde91feb115",
      "framework": "next-react",
      "imports": "./types,next/server",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/sheets/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "9a1487b9d4b229ce15c4d2c9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthResult, authErrorResponse, authenticatePlatformRequest | imports:./types, next/server | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AuthResult,authErrorResponse,authenticatePlatformRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e13d3812ab53bcb",
      "framework": "next-react",
      "imports": "./types,next/server",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/sheets/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-sheets",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "dca913fef33438312ba9b27f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c201184345f3f8f2",
      "framework": "next-react",
      "imports": "",
      "lines": 5882,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f0abaa815b3e6dfcfd3f0264",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7206774c24160ed5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "73386b40c232111d8d43abb4",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "925a826696ffbd48",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "e13e0645942c92274eeb299f",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "37a9341c3c9a6202",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "8832d02c17327c2549bb0c4c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5b1b5e207736406c",
      "framework": "next-react",
      "imports": "",
      "lines": 229,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "cfbcbda71ea1ef4fdf4a9db6",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ff38adf9f43abaea",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b1c914f086aea1efc0e38db7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eae619f861b3ddab",
      "framework": "next-react",
      "imports": "",
      "lines": 7130,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "55a25fcf2a158dcfd67c0a79",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "467ccd18629f88c9",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "a43249adee5b9de2afebafc0",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e0f4d41f3305de58",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "plan",
      "normalized_name": "plan",
      "package_manager": "pnpm",
      "path": "plan.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f6bc835111f499019d6a32aa",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/i18n-provider, @/components/json-ld, @/components/theme-provider, @/components/ui/sonner, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "099584ca1f424e1e",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/json-ld,@/components/theme-provider,@/components/ui/sonner,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google",
      "lines": 134,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c7412db504b61c394a04412e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/lib/client-logger, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7014ba748e4b4a30",
      "framework": "next-react",
      "imports": "@/lib/client-logger,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9cc5e9699022610654db9923",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShippingDashboard | imports:@/components/footer, @/components/i18n-provider, @/components/language-selector, @/components/shipping/developer-panel, @/components/shipping/international-rate-form, @/components/shipping/rate-calculator-form, @/components/theme-toggle, @/components/ui/badge | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShippingDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb9fc2d12fa7ba87",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/i18n-provider,@/components/language-selector,@/components/shipping/developer-panel,@/components/shipping/international-rate-form,@/components/shipping/rate-calculator-form,@/components/theme-toggle,@/components/ui/badge,@/components/ui/card,@/components/ui/label,@/components/ui/switch,@/components/ui/tabs,@/components/ui/tooltip,@/lib/shipping-context,lucide-react,next/link,react",
      "lines": 161,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "0b74083999813e1085f2e26f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ff241e4910ea80e78753947d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:@/lib/client-logger, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98a544f207ba59da",
      "framework": "next-react",
      "imports": "@/lib/client-logger,react",
      "lines": 133,
      "logic_relevance": "none",
      "name": "global-error",
      "normalized_name": "global-error",
      "package_manager": "pnpm",
      "path": "app/global-error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "084ee60c6a09149ca3d2ac7d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:next/link | frontend-score:115 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b8a09903f7670759",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 43,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "7c0c5d28551470c73b828f61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bbd1c0f85d0172cc",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "8bad4fc2d61d0b47a478e354",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "676a0d9847472eb2",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "490bb77b4f64c6562899e236",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2e5dacfc55c4cce1",
      "framework": "next-react",
      "imports": "../rss.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "688e903573726004583e102e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPolicyPage, metadata | imports:@/components/json-ld, @/components/ui/breadcrumb, @/components/ui/card, @/components/ui/separator, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPolicyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bd93f9748a21fa5",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/ui/breadcrumb,@/components/ui/card,@/components/ui/separator,lucide-react,next,next/link",
      "lines": 191,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "65905791c5601b65d11eb80c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/json-ld, @/components/ui/accordion, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/card, @/components/ui/separator, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ddcec395dadd6fa3",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/ui/accordion,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/card,@/components/ui/separator,lucide-react,next,next/link",
      "lines": 422,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "af2069a1039b9810c38f2ca3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4228a8e02f8c5b67",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,observability",
      "component_id": "652628221c1e8fbfd14c6e18",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | ai-score:75 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3715ff2721605af",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "00244e9aad9914270285953b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a53e80e26c9fec8d",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "a1bacb3341650c10ec9e2346",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "889b1ef78d6f1dda",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,ai",
      "component_id": "c6b3a5de8f3fe7fae6b24e74",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13b25a60336b974a",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "276b64d1c87a4e7ce3684948",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsOfServicePage, metadata | imports:@/components/json-ld, @/components/ui/alert, @/components/ui/breadcrumb, @/components/ui/card, @/components/ui/separator, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsOfServicePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25dffa554d5246c0",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/ui/alert,@/components/ui/breadcrumb,@/components/ui/card,@/components/ui/separator,lucide-react,next,next/link",
      "lines": 212,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,security,discovery,ai",
      "component_id": "276fe8ec140d6297dad4a848",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8e08b7e7e2a01748",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "258b63e946dd2fa37e00ddd2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APIPolicyPage, metadata | imports:@/components/json-ld, @/components/ui/alert, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/card, @/components/ui/separator, lucide-react, next | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "APIPolicyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd77a90df1f022aa",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/ui/alert,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/card,@/components/ui/separator,lucide-react,next,next/link",
      "lines": 345,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api-policy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "7dc9f8b11e589dac400705d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "740198cae9369c9d",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "9660b0d3ad9937fb5017fd9d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:./calculate/route | backend-score:55",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2e90c2ed8be7715a",
      "framework": "next-react",
      "imports": "./calculate/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,frontend,observability,security",
      "component_id": "02314d3657def0de4ed9d37b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/db, @/lib/fingerprint, @/lib/logger, @/lib/platphorm-service, @/lib/rate-limit, @/lib/shipping-rules, @/lib/usps-service | backend-score:160 | logic-score:85 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c25ea203472620e4",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/fingerprint,@/lib/logger,@/lib/platphorm-service,@/lib/rate-limit,@/lib/shipping-rules,@/lib/usps-service,next/server,zod",
      "lines": 431,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rates/calculate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "9066a5bc1ea3cfe3230f9a7a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OPTIONS, POST | imports:../calculate/route | backend-score:55",
      "exports": "OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2054e96e5a383a05",
      "framework": "next-react",
      "imports": "../calculate/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rates/domestic/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "da867f223099bdeebedac61b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/config, @/lib/country-codes, @/lib/fingerprint, @/lib/logger, @/lib/phase1, @/lib/rate-limit, @/lib/shipping-rules, @/lib/usps-service | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c29720e7b7a6774",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/country-codes,@/lib/fingerprint,@/lib/logger,@/lib/phase1,@/lib/rate-limit,@/lib/shipping-rules,@/lib/usps-service,@neondatabase/serverless,next/server",
      "lines": 433,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rates/international/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "cf708900b4d674050d7779d0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/fingerprint, @/lib/logger, @/lib/rate-limit, @/lib/shiprush-service, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e3531a71c7ba04e4",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,@/lib/rate-limit,@/lib/shiprush-service,next/server,zod",
      "lines": 265,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shipments/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "3d578cb7e2710f1391486c63",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/phase1, @/lib/usps-service | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1aa24fa1112a1417",
      "framework": "next-react",
      "imports": "@/lib/phase1,@/lib/usps-service",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/usps/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3014424c2cfb1a147da96c7a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/fingerprint, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2cc008213722c3d5",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/fingerprint/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability",
      "component_id": "adc7d20cabf1ed275dfaccb3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bfbf44831fb359fa",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ecommerce/quote/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,frontend",
      "component_id": "1bdee58bba443cbd249efc72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8ebbb6ea6a963dad",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/customs/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ce8b35f7415d72eb67f8e561",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7fc6c1185d8cffda",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability,security",
      "component_id": "3146c1e6092184a4f65f58fd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/country-codes, @/lib/fingerprint, @/lib/phase1, @/lib/platphorm-service, @/lib/shiprush-service, @/lib/usps-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "452b3da8c581a573",
      "framework": "next-react",
      "imports": "@/lib/country-codes,@/lib/fingerprint,@/lib/phase1,@/lib/platphorm-service,@/lib/shiprush-service,@/lib/usps-service,next/server",
      "lines": 834,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tests/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "process",
      "categories": "backend,observability",
      "component_id": "834829d670f520bda866916c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for process; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c8c3e5c8c631c4c1",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quickbooks/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "30b706f33bc54d21ad09be7d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/phase1, @/lib/usps-service | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "043a89452c4a3a26",
      "framework": "next-react",
      "imports": "@/lib/phase1,@/lib/usps-service",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bcfa6583c19d01a707526975",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/fingerprint, @/lib/logger, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "024eac15abbaac76",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,@neondatabase/serverless,next/server",
      "lines": 114,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/audit/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security",
      "component_id": "852996f65eaa065fa88fa127",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "13fc0de977236bb0",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/packages/presets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "21e45500c745b984f3cd48b8",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "75414029383bb3f4",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/packages/presets/automotive/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d6599ad6dc2bcb53f22d33ee",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/fingerprint, @/lib/logger, @/lib/rate-limit, @/lib/shiprush-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee5e4ac973355d3a",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,@/lib/logger,@/lib/rate-limit,@/lib/shiprush-service,next/server",
      "lines": 204,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/tracking/[trackingNumber]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "4dc3d901dcd563efe3058cf1",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1 | backend-score:125 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea5708cbc742f552",
      "framework": "next-react",
      "imports": "@/lib/phase1",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/services/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "b086979e806785b0f8776fa0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6a8166e94c53cdc",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/quote/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "960efa58788446e7bf3ef28f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/config, @/lib/db, @/lib/phase1, @/lib/usps-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bc28e85dca6413a7",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/phase1,@/lib/usps-service,next/server",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "e6957008d575213722b71cfe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/openapi, @/lib/phase1, @/lib/usps-service, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3931c6e56e319ebb",
      "framework": "next-react",
      "imports": "@/lib/openapi,@/lib/phase1,@/lib/usps-service,next/server",
      "lines": 230,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "ffc9da4134af94eb7f00097a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d96b26601825574e",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "2f63c693781cf4095d359c20",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/hmac, @/lib/logger, @/lib/shipping-types, next/server, zod | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "290f2cf2e4ba3b33",
      "framework": "next-react",
      "imports": "@/lib/hmac,@/lib/logger,@/lib/shipping-types,next/server,zod",
      "lines": 210,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/shiprush/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "7e858ffc23568d65d7356ca6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/openapi, @/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "027819d9a8a2d1cd",
      "framework": "next-react",
      "imports": "@/lib/openapi,@/lib/phase1,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "847a8f59bdea626529fe0567",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../sitemap.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21fbe0957078809a",
      "framework": "next-react",
      "imports": "../sitemap.xml/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "d9091e2abeb68861ba0a9059",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ada879064c521dd",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "495e34d2564410e7dbf56b32",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a1e9d17e1ca61d6f",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,automation",
      "component_id": "c3e61c82743d544c89a8aedf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler | cron-or-schedule",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "550e0ca1a8e1b95c",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "f8368d0fd868485a9ad0e268",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6e429318676afff0",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "047474567763aebdd3d64061",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:@/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:50 | ai-score:45",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b378ad3a39bbb625",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 114,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "9c068fe79027efa4d613ac1a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/phase1, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eac8b78d1bf76ce3",
      "framework": "next-react",
      "imports": "@/lib/phase1,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "93c5603edf39078242f8c19b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa7c089b635bc722",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "54a0f634d31d40827241d3d7",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@vercel/kv",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:runtime | imports:@vercel/kv | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "runtime",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "79062fda5cac4aa2",
      "framework": "next-react",
      "imports": "@vercel/kv",
      "lines": 143,
      "logic_relevance": "none",
      "name": "EDGE_RUNTIME_COMPATIBILITY",
      "normalized_name": "edge-runtime-compatibility",
      "package_manager": "pnpm",
      "path": "docs/EDGE_RUNTIME_COMPATIBILITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b2814b4367e28f8e9e5c0dbf",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ceb92e91ca4715b3",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b088136f28d708304f16dde9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "08e0328e8d9bd4ef",
      "framework": "next-react",
      "imports": "",
      "lines": 697,
      "logic_relevance": "none",
      "name": "VANAGAIN_SHIPPING_SOLUTION_PLAN",
      "normalized_name": "vanagain-shipping-solution-plan",
      "package_manager": "pnpm",
      "path": "docs/VANAGAIN_SHIPPING_SOLUTION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "8333b4c42562c6c54043f7d5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5cf20302d63a100d09d4ad36",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "325147c05da487f4ef5a1efe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:CopyButton | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "CopyButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c89def1f84b0d9d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "copy-button",
      "normalized_name": "copy-button",
      "package_manager": "pnpm",
      "path": "components/copy-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "ca2c61e7f753467939440b51",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqSection | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "FaqSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6c51e7fe8a0535b6",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "faq-section",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "components/faq-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b433ce3b4e7e46d80c02905e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/ui/badge, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea65e7359f1100f2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,next/link",
      "lines": 19,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fe00814024b6b478bc96adf7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9d4171051068253b",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 44,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "07be3d2d3801997472e90ebb",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:APIServiceJsonLd, BreadcrumbJsonLd, FAQJsonLd, HowToJsonLd, OrganizationJsonLd, ShippingAPIFAQJsonLd, SoftwareApplicationJsonLd, WebApplicationJsonLd | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "APIServiceJsonLd,BreadcrumbJsonLd,FAQJsonLd,HowToJsonLd,OrganizationJsonLd,ShippingAPIFAQJsonLd,SoftwareApplicationJsonLd,WebApplicationJsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cddc45517cc570ee",
      "framework": "next-react",
      "imports": "",
      "lines": 281,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "db450bad52ed185fb15fed54",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, LOCALE_NAMES, SUPPORTED_LOCALES, useI18n | imports:@/lib/i18n, react | frontend-score:115 | ui-score:70",
      "exports": "I18nProvider,LOCALE_NAMES,SUPPORTED_LOCALES,useI18n",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "20e1667589408d14",
      "framework": "next-react",
      "imports": "@/lib/i18n,react",
      "lines": 83,
      "logic_relevance": "none",
      "name": "i18n-provider",
      "normalized_name": "i18n-provider",
      "package_manager": "pnpm",
      "path": "components/i18n-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "74753cac82cdf114aab0627f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/i18n-provider, @/components/ui/badge, @/components/ui/separator, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d73492dc0fe36c9",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/ui/badge,@/components/ui/separator,@/components/ui/tooltip,lucide-react,react",
      "lines": 508,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4217f770471b0209c51f6eac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSelector | imports:./i18n-provider, @/components/ui/button, @/components/ui/dropdown-menu, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LanguageSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "426c45ae82981ea9",
      "framework": "next-react",
      "imports": "./i18n-provider,@/components/ui/button,@/components/ui/dropdown-menu,lucide-react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "language-selector",
      "normalized_name": "language-selector",
      "package_manager": "pnpm",
      "path": "components/language-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b66b419eefee5a48a6f87e25",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3cbec50732a3711b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,lucide-react,next-themes,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "313d239ed5239e656f255d83",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6406de6f8d58fd4235150b03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f94ac19d4412e9063685cc5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1dcae3858dfba6935331fab0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7b6db4ef3975e45224c177c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1a8f60f4858dd74e5820ba7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "c8a347653ea80189f7aca755",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "56f9d77fab19365e55a0589a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9957a250c2c3131d9919d4d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ecc27dd7b306eebb5f784df1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "2b19ae0ebfdbfa0ddc79ccdd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cf43c688e6c93faf52002d8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "db121d546dea4ac11a733045",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "274352529b89ee7345000aac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c575d92e003991610bfe2a42",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8abd38de6048c55f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0770734bdefbaa5d3ab21857",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7e2cd5ae1eac29701c190e0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "10829145890c73919192139b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0d3087ea91e6728dbe529688",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d68242f5867da2f3f6f01c51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3339bfdf2c4fb7a2bf4ccb5f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6ddc58327abdcb9881c5f37f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "260e6fe82d0a82e51e2ed30c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c4886fd3760ba7884013f936",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "56581070c0dcd06b11536986",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "08d250cf3365f7e71fad5b57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c026ec13e11dff6e7da2198c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "344ac99e687058951f072f7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "90a5ca4a939084cb738c91b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3ffc47467dba3b049f288d23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a130060764cc966f9931d11b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2076f68ece36b3de7666482a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "229f13587465309e419f4c71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "293aaa214b9b52724ee4c0e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dc611a0a2f69cbeef9903663",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d12cf85555489421dccb453b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "47f453a2aae4fb9bdb6683b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "922aa4d907f0fa1c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9f5227c8289181c8ae38f70f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "16dca86ba5d418bd521cc23c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8f3f7fc6c9f1f4ca15506d08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bf4bd26a330b6e6c9b79663e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cb550bab9ddf3c82992bf19e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4f69a54be2b622608fdd922b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5b27d12f8cba087a7676b9f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "49f2e233c895bd3687adf578",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "965a2126ce2429dce3a7a00a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1839c9f5bab0e7c7837935e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a61480100f8c7e12b75f2d94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b1c8b177098271b2e0db826b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c2273963aaa7d10134d5f1f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d8c12a2970646de178e1289b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "53e3b86f1629ccb41304c525",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dde3d163b10d5678e12006aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "c5faf5832edde3fa6d201e7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4f310ae6559132170ad54878",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ff6ed8c3b0ba7428",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 245,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,security,discovery,process,ai",
      "component_id": "40f62c9f6aca6929b1d07a90",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocsTab | imports:@/components/ui/badge, @/components/ui/separator, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "ApiDocsTab",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23b86699fcc424f0",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/separator,lucide-react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "api-docs-tab",
      "normalized_name": "api-docs-tab",
      "package_manager": "pnpm",
      "path": "components/shipping/api-docs-tab.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,ai",
      "component_id": "89391d03b8b7d190f1e620c5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeveloperDocs | imports:@/components/ui/badge, @/components/ui/separator, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "DeveloperDocs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35dc8d7c069357dc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/separator,lucide-react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "developer-docs",
      "normalized_name": "developer-docs",
      "package_manager": "pnpm",
      "path": "components/shipping/developer-docs.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "533c7eef25cae9862af695b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDebugPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/collapsible, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiDebugPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb4e819df9392886",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/collapsible,@/components/ui/tooltip,lucide-react,react",
      "lines": 230,
      "logic_relevance": "none",
      "name": "api-debug-panel",
      "normalized_name": "api-debug-panel",
      "package_manager": "pnpm",
      "path": "components/shipping/api-debug-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "681883fef776266ad969ca46",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeveloperPanel | imports:./developer-docs, ./mcp-status, ./trace-viewer, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DeveloperPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "268c1f89f2b1ed1b",
      "framework": "next-react",
      "imports": "./developer-docs,./mcp-status,./trace-viewer,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "developer-panel",
      "normalized_name": "developer-panel",
      "package_manager": "pnpm",
      "path": "components/shipping/developer-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,logic,security",
      "component_id": "e52a97f3e364ea366233118d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RateCalculatorForm | imports:@/components/i18n-provider, @/components/shipping/api-debug-panel, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/empty, @/components/ui/input | frontend-score:115 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "RateCalculatorForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2425cc06e9f84cc",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/shipping/api-debug-panel,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/empty,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,@/components/ui/tooltip,@/lib/config,@/lib/shipping-rules,@/lib/shipping-types,lucide-react,react",
      "lines": 1107,
      "logic_relevance": "secondary",
      "name": "rate-calculator-form",
      "normalized_name": "rate-calculator-form",
      "package_manager": "pnpm",
      "path": "components/shipping/rate-calculator-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,ai",
      "component_id": "38458158d1a582025ff22e02",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:InternationalRateForm | imports:@/components/i18n-provider, @/components/shipping/api-debug-panel, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/empty, @/components/ui/input | frontend-score:115 | ui-score:70 | security-score:55 | ai-score:45",
      "exports": "InternationalRateForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9c813ac474e4c4f",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/shipping/api-debug-panel,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/empty,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,@/components/ui/tooltip,@/lib/config,@/lib/country-codes,@/lib/shipping-rules,lucide-react,react",
      "lines": 978,
      "logic_relevance": "none",
      "name": "international-rate-form",
      "normalized_name": "international-rate-form",
      "package_manager": "pnpm",
      "path": "components/shipping/international-rate-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "20ca8cedea3727f17d9c87ea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceViewer | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/empty, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TraceViewer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc42417c7a99cb5a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/empty,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "trace-viewer",
      "normalized_name": "trace-viewer",
      "package_manager": "pnpm",
      "path": "components/shipping/trace-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "d99ba3bfeaeab44899db48a8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestingPanel | imports:./api-tester, ./test-runner, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "TestingPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d4047a86bcb2bd5",
      "framework": "next-react",
      "imports": "./api-tester,./test-runner,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "testing-panel",
      "normalized_name": "testing-panel",
      "package_manager": "pnpm",
      "path": "components/shipping/testing-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation,ai",
      "component_id": "5fbca666cb6360b5b9405ea0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MCPStatus | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/collapsible, @/components/ui/separator, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MCPStatus",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb03e14c39b5acfe",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/collapsible,@/components/ui/separator,@/components/ui/tooltip,lucide-react,react",
      "lines": 363,
      "logic_relevance": "none",
      "name": "mcp-status",
      "normalized_name": "mcp-status",
      "package_manager": "pnpm",
      "path": "components/shipping/mcp-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "df464f15b7d2b5f81eeed310",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiTester | imports:@/components/i18n-provider, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/scroll-area, @/components/ui/tooltip, @/lib/config, lucide-react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiTester",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7fce223e82c60575",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/scroll-area,@/components/ui/tooltip,@/lib/config,lucide-react,react",
      "lines": 625,
      "logic_relevance": "none",
      "name": "api-tester",
      "normalized_name": "api-tester",
      "package_manager": "pnpm",
      "path": "components/shipping/api-tester.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability,security",
      "component_id": "4c3261989226f6e20f6fe0cf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestRunner | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/collapsible, @/components/ui/empty, @/components/ui/input, @/components/ui/select, @/components/ui/tooltip | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TestRunner",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18f37eb74d180e0e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/collapsible,@/components/ui/empty,@/components/ui/input,@/components/ui/select,@/components/ui/tooltip,@/lib/test-descriptions,lucide-react,react",
      "lines": 592,
      "logic_relevance": "none",
      "name": "test-runner",
      "normalized_name": "test-runner",
      "package_manager": "pnpm",
      "path": "components/shipping/test-runner.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "60670848d2afdae3318adeab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HealthStatus | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HealthStatus",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed91b8da49d3d854",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 240,
      "logic_relevance": "none",
      "name": "health-status",
      "normalized_name": "health-status",
      "package_manager": "pnpm",
      "path": "components/shipping/health-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "6980b4908a66c9ab21d9046e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BestPracticesCard | imports:@/components/ui/card, @/components/ui/separator, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "BestPracticesCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1981d6eb0f53a17d",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/separator,lucide-react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "best-practices-card",
      "normalized_name": "best-practices-card",
      "package_manager": "pnpm",
      "path": "components/api-policy/best-practices-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,backend,security,process",
      "component_id": "209a327afa4fb96ff96d0733",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecurityRequirementsCard | imports:@/components/ui/card, @/components/ui/separator, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "SecurityRequirementsCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da8456c862f5c646",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/separator,lucide-react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "security-requirements-card",
      "normalized_name": "security-requirements-card",
      "package_manager": "pnpm",
      "path": "components/api-policy/security-requirements-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "87e1958d77bc44c0159ccd28",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResponseHeadersCard | imports:@/components/ui/card, @/components/ui/separator, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ResponseHeadersCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43f13f61164ed761",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/separator,lucide-react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "response-headers-card",
      "normalized_name": "response-headers-card",
      "package_manager": "pnpm",
      "path": "components/api-policy/response-headers-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "088f842ad1292d1f76426e90",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AvailableEndpointsCard | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/separator | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AvailableEndpointsCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12e88abd5d6ad4a5",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/separator",
      "lines": 74,
      "logic_relevance": "none",
      "name": "available-endpoints-card",
      "normalized_name": "available-endpoints-card",
      "package_manager": "pnpm",
      "path": "components/api-policy/available-endpoints-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "4beb493b9d56e65d1e6b8902",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RateLimitsCard | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RateLimitsCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df01ddc2b72e90d4",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "rate-limits-card",
      "normalized_name": "rate-limits-card",
      "package_manager": "pnpm",
      "path": "components/api-policy/rate-limits-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "5583c07fe772ec41e85d6adc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4bbdb7b2277c4e88",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "825d6675fcda210bf858b8e9",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "@/middleware,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/middleware, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed492d59ed178862",
      "framework": "next-react",
      "imports": "@/middleware,next/server,vitest",
      "lines": 212,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/middleware/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,frontend,ui",
      "component_id": "d5c322b31881fce47d37845b",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@testing-library/react,@testing-library/user-event,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ResizeObserver | imports:../../components/shipping/rate-calculator-form, @testing-library/react, @testing-library/user-event, vitest | logic-score:70 | frontend-score:60 | ui-score:55",
      "exports": "ResizeObserver",
      "extension": ".tsx",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "65e14f1ef94dfbcb",
      "framework": "next-react",
      "imports": "../../components/shipping/rate-calculator-form,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "rate-calculator-form-e2e.test",
      "normalized_name": "rate-calculator-form-e2e",
      "package_manager": "pnpm",
      "path": "__tests__/integration/rate-calculator-form-e2e.test.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "79e1ea44b8fa775f9ebf07ab",
      "component_kind": "frontend-feature",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/audit/route, @/app/api/v1/rates/calculate/route, @/app/api/v1/rates/international/route, @/lib/platphorm-service, @/lib/usps-service, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6574517b8be3a1c5",
      "framework": "next-react",
      "imports": "@/app/api/v1/audit/route,@/app/api/v1/rates/calculate/route,@/app/api/v1/rates/international/route,@/lib/platphorm-service,@/lib/usps-service,next/server,vitest",
      "lines": 723,
      "logic_relevance": "none",
      "name": "api-ui-sync.test",
      "normalized_name": "api-ui-sync",
      "package_manager": "pnpm",
      "path": "__tests__/integration/api-ui-sync.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1bb16486ab2ef4f58f494858",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/v1/rates/calculate/route, @/app/api/v1/rates/international/route, @/lib/platphorm-service, @/lib/usps-service, next/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ca2d00861d17fb9",
      "framework": "next-react",
      "imports": "@/app/api/v1/rates/calculate/route,@/app/api/v1/rates/international/route,@/lib/platphorm-service,@/lib/usps-service,next/server,vitest",
      "lines": 286,
      "logic_relevance": "none",
      "name": "e2e-rate-flow.test",
      "normalized_name": "e2e-rate-flow",
      "package_manager": "pnpm",
      "path": "__tests__/integration/e2e-rate-flow.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "8938a24a3a663799a65a820d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/theme-toggle, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23d69069d941076e",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@testing-library/react,vitest",
      "lines": 104,
      "logic_relevance": "none",
      "name": "theme-toggle.test",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "__tests__/components/theme-toggle.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "74e32273dcb11290f025d904",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/error, @/lib/client-logger, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "486398b706df9a58",
      "framework": "next-react",
      "imports": "@/app/error,@/lib/client-logger,@testing-library/react,vitest",
      "lines": 63,
      "logic_relevance": "none",
      "name": "error-boundary.test",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "__tests__/components/error-boundary.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "644b8a4a5a9ffbaa5c2aaa50",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/i18n-provider, @/components/shipping/api-tester, @testing-library/react, @testing-library/user-event, vitest | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f124d0cc6acbc900",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/shipping/api-tester,@testing-library/react,@testing-library/user-event,vitest",
      "lines": 191,
      "logic_relevance": "none",
      "name": "api-tester.test",
      "normalized_name": "api-tester",
      "package_manager": "pnpm",
      "path": "__tests__/components/api-tester.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "3756973ad478796e9234cb57",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/not-found, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f7959760ba75e14",
      "framework": "next-react",
      "imports": "@/app/not-found,@testing-library/react,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "not-found.test",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "__tests__/components/not-found.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "91dcd2b4033af11427869550",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/faq-section, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19171709668b764f",
      "framework": "next-react",
      "imports": "@/components/faq-section,@testing-library/react,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "faq-section.test",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "__tests__/components/faq-section.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "02ef58754503e11140139f85",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/copy-button, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8ea1c14732ef427",
      "framework": "next-react",
      "imports": "@/components/copy-button,@testing-library/react,vitest",
      "lines": 67,
      "logic_relevance": "none",
      "name": "copy-button.test",
      "normalized_name": "copy-button",
      "package_manager": "pnpm",
      "path": "__tests__/components/copy-button.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "8618e1603b426f1eb5864a2d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/site-header, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1d20fdb7cb7b189",
      "framework": "next-react",
      "imports": "@/components/site-header,@testing-library/react,vitest",
      "lines": 21,
      "logic_relevance": "none",
      "name": "site-header.test",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "__tests__/components/site-header.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "202b1beaddb3e47b7f3285d3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/site-footer, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d1f311caf6a7986",
      "framework": "next-react",
      "imports": "@/components/site-footer,@testing-library/react,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "site-footer.test",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "__tests__/components/site-footer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "3346cbab19a6ee43b37bdbc3",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c23bde25b6d58be4",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "__tests__/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "0580f747fad2026595f99cf1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/shipping-types, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5cea18709316b285",
      "framework": "next-react",
      "imports": "@/lib/shipping-types,vitest",
      "lines": 203,
      "logic_relevance": "primary",
      "name": "shipping-types.test",
      "normalized_name": "shipping-types",
      "package_manager": "pnpm",
      "path": "__tests__/lib/shipping-types.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,integration,observability,security,automation",
      "component_id": "48d8680c5ce3c4dfb0ccdb79",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/usps-service, vitest | logic-score:60 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "914fc51e3e37143e",
      "framework": "next-react",
      "imports": "../../lib/usps-service,vitest",
      "lines": 142,
      "logic_relevance": "primary",
      "name": "usps-service-retry.test",
      "normalized_name": "usps-service-retry",
      "package_manager": "pnpm",
      "path": "__tests__/lib/usps-service-retry.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "f58edd7bcf3e7e5cddc5b3ad",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/country-codes, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f91fd16ba9e8178",
      "framework": "next-react",
      "imports": "@/lib/country-codes,vitest",
      "lines": 149,
      "logic_relevance": "primary",
      "name": "country-codes.test",
      "normalized_name": "country-codes",
      "package_manager": "pnpm",
      "path": "__tests__/lib/country-codes.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,integration,observability,security",
      "component_id": "34a0bc2c3566d7e9fcb1b5e8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL | imports:@/lib/mcp-client, @/lib/test-config, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "231857b73446b016",
      "framework": "next-react",
      "imports": "@/lib/mcp-client,@/lib/test-config,vitest",
      "lines": 533,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,security",
      "component_id": "487954b9d056e95cd2b9cc4d",
      "component_kind": "ai-integration",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@/lib/ai-tools, @/lib/mcp-client, @/lib/test-config, vitest | ai-score:120 | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c3c298919de2f13d",
      "framework": "next-react",
      "imports": "@/lib/ai-tools,@/lib/mcp-client,@/lib/test-config,vitest",
      "lines": 320,
      "logic_relevance": "secondary",
      "name": "ai-tools.test",
      "normalized_name": "ai-tools",
      "package_manager": "pnpm",
      "path": "__tests__/lib/ai-tools.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "b4fc82108cbdb5399126cd14",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/lib,@neondatabase/serverless,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, @neondatabase/serverless, vitest | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "540f648490afa285",
      "framework": "next-react",
      "imports": "@/lib/db,@neondatabase/serverless,vitest",
      "lines": 266,
      "logic_relevance": "secondary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "__tests__/lib/db.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "d7f067d6b7d690ceda22016c",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/shipping-rules, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bcd26a6461928f7",
      "framework": "next-react",
      "imports": "@/lib/shipping-rules,vitest",
      "lines": 639,
      "logic_relevance": "primary",
      "name": "shipping-rules.test",
      "normalized_name": "shipping-rules",
      "package_manager": "pnpm",
      "path": "__tests__/lib/shipping-rules.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "4adec8d100048876ed749b7d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/phase1, @/lib/usps-service, vitest | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b137ae1a9566965",
      "framework": "next-react",
      "imports": "@/lib/phase1,@/lib/usps-service,vitest",
      "lines": 934,
      "logic_relevance": "primary",
      "name": "usps-service-rates.test",
      "normalized_name": "usps-service-rates",
      "package_manager": "pnpm",
      "path": "__tests__/lib/usps-service-rates.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "dedc2f96d466d1330e3846d4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TEST_CLIENT_ID | imports:@/lib/config, @/lib/rate-limit, vitest | logic-score:85 | security-score:55",
      "exports": "TEST_CLIENT_ID",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e4a34e03c2fe325",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/rate-limit,vitest",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "rate-limit.test",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "__tests__/lib/rate-limit.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "f9406cb2b5342e7cf52d5642",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db82319bfafaaa79",
      "framework": "next-react",
      "imports": "@/lib/fingerprint,vitest",
      "lines": 370,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "__tests__/lib/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,backend,integration",
      "component_id": "44b12d545dda1db72824ee18",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/usps-extra-services, vitest | logic-score:60 | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "197087eb79855e0b",
      "framework": "next-react",
      "imports": "@/lib/usps-extra-services,vitest",
      "lines": 149,
      "logic_relevance": "primary",
      "name": "usps-extra-services.test",
      "normalized_name": "usps-extra-services",
      "package_manager": "pnpm",
      "path": "__tests__/lib/usps-extra-services.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,observability,security",
      "component_id": "a57be2a484650348c967352b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/shiprush-service, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e5dc579c86c3e19d",
      "framework": "next-react",
      "imports": "@/lib/shiprush-service,vitest",
      "lines": 292,
      "logic_relevance": "primary",
      "name": "shiprush-service.test",
      "normalized_name": "shiprush-service",
      "package_manager": "pnpm",
      "path": "__tests__/lib/shiprush-service.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,automation",
      "component_id": "96f4523426678918eacf9eb9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/polymarket-api, vitest | logic-score:85 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a3cbecba33a13e4b",
      "framework": "next-react",
      "imports": "../../lib/polymarket-api,vitest",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "polymarket-api.test",
      "normalized_name": "polymarket-api",
      "package_manager": "pnpm",
      "path": "__tests__/lib/polymarket-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "dbe805c7c4b0a176dff1d2ec",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/emoji, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f5ca6c16112ca10",
      "framework": "next-react",
      "imports": "@/lib/emoji,vitest",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "emoji.test",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "__tests__/lib/emoji.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "6646cb6935712e0516b60158",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/phase1, @/lib/test-config, @/lib/usps-service, vitest | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e81930cf080d21ab",
      "framework": "next-react",
      "imports": "@/lib/phase1,@/lib/test-config,@/lib/usps-service,vitest",
      "lines": 265,
      "logic_relevance": "primary",
      "name": "usps-service.test",
      "normalized_name": "usps-service",
      "package_manager": "pnpm",
      "path": "__tests__/lib/usps-service.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "4fbcd58f4de0aa4f58604cea",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/client-logger, vitest | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c4897c15560078a6",
      "framework": "next-react",
      "imports": "@/lib/client-logger,vitest",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "client-logger.test",
      "normalized_name": "client-logger",
      "package_manager": "pnpm",
      "path": "__tests__/lib/client-logger.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "822ac585c1e8fb2de92abc04",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/i18n, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "72a7eda5abe30d6f",
      "framework": "next-react",
      "imports": "@/lib/i18n,vitest",
      "lines": 94,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "__tests__/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "e6e45959a1795757f37b3483",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/hmac, vitest | logic-score:60 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba4fcd08cafffb17",
      "framework": "next-react",
      "imports": "@/lib/hmac,vitest",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "hmac.test",
      "normalized_name": "hmac",
      "package_manager": "pnpm",
      "path": "__tests__/lib/hmac.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "b3c8470562900675935fd410",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platphorm-service, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc52d4e4c75e71d9",
      "framework": "next-react",
      "imports": "@/lib/platphorm-service,vitest",
      "lines": 747,
      "logic_relevance": "primary",
      "name": "platphorm-service.test",
      "normalized_name": "platphorm-service",
      "package_manager": "pnpm",
      "path": "__tests__/lib/platphorm-service.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "fd87655ce22b9e0b1a600c87",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/webhooks/shiprush/route, @/lib/shipping-types, next/server | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c04cf37fc94372a7",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/shiprush/route,@/lib/shipping-types,next/server",
      "lines": 84,
      "logic_relevance": "none",
      "name": "shiprush-webhook.test",
      "normalized_name": "shiprush-webhook",
      "package_manager": "pnpm",
      "path": "__tests__/api/shiprush-webhook.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "83a2ee0515f9bb2ccf37003a",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/audit/route, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "087380321ec7dd2b",
      "framework": "next-react",
      "imports": "@/app/api/v1/audit/route,next/server,vitest",
      "lines": 117,
      "logic_relevance": "none",
      "name": "audit.test",
      "normalized_name": "audit",
      "package_manager": "pnpm",
      "path": "__tests__/api/audit.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "27f345ff7467a01e24445f6e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/rates/calculate/route, @/lib/platphorm-service, @/lib/test-config, @/lib/usps-service, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "391e159d60d96845",
      "framework": "next-react",
      "imports": "@/app/api/v1/rates/calculate/route,@/lib/platphorm-service,@/lib/test-config,@/lib/usps-service,next/server,vitest",
      "lines": 973,
      "logic_relevance": "none",
      "name": "domestic-rates-comprehensive.test",
      "normalized_name": "domestic-rates-comprehensive",
      "package_manager": "pnpm",
      "path": "__tests__/api/domestic-rates-comprehensive.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4b6205e4ead8254b8b55cacd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/rates/calculate/route, @/lib/platphorm-service, @/lib/test-config, @/lib/usps-service, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb1be17874a1207f",
      "framework": "next-react",
      "imports": "@/app/api/v1/rates/calculate/route,@/lib/platphorm-service,@/lib/test-config,@/lib/usps-service,next/server,vitest",
      "lines": 182,
      "logic_relevance": "none",
      "name": "rates.test",
      "normalized_name": "rates",
      "package_manager": "pnpm",
      "path": "__tests__/api/rates.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "8905a7df5a4afcc21b18ec34",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/shipments/route, @/lib/shiprush-service, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4daacffac0708e23",
      "framework": "next-react",
      "imports": "@/app/api/v1/shipments/route,@/lib/shiprush-service,next/server,vitest",
      "lines": 187,
      "logic_relevance": "none",
      "name": "shipments.test",
      "normalized_name": "shipments",
      "package_manager": "pnpm",
      "path": "__tests__/api/shipments.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "d49513abe93ce7237ed01163",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/tracking/[trackingNumber]/route, @/lib/shiprush-service, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "128f28b39f510329",
      "framework": "next-react",
      "imports": "@/app/api/v1/tracking/[trackingNumber]/route,@/lib/shiprush-service,next/server,vitest",
      "lines": 164,
      "logic_relevance": "none",
      "name": "tracking.test",
      "normalized_name": "tracking",
      "package_manager": "pnpm",
      "path": "__tests__/api/tracking.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "60aa8f64894acc13ad7656b0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/rates/international/route, @/lib/fingerprint, @/lib/usps-service, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e5a629f2d8433a12",
      "framework": "next-react",
      "imports": "@/app/api/v1/rates/international/route,@/lib/fingerprint,@/lib/usps-service,next/server,vitest",
      "lines": 1140,
      "logic_relevance": "none",
      "name": "international-rates-comprehensive.test",
      "normalized_name": "international-rates-comprehensive",
      "package_manager": "pnpm",
      "path": "__tests__/api/international-rates-comprehensive.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6e8d244a760bb5e112f6821c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/config, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0c33d9ee2115e5",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/config,vitest",
      "lines": 35,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "27e39372a4b6c31a6edcd0c0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b3a452500607b611",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7d038d65d074deeeef4f74ff",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9cbd3d3e734d6fd6",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "code-health",
      "normalized_name": "code-health",
      "package_manager": "pnpm",
      "path": ".Jules/code-health.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "2e177f9afcebe83b71b43b4c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2b219f96a7aaef1",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "code-health-review",
      "normalized_name": "code-health-review",
      "package_manager": "pnpm",
      "path": ".Jules/code-health-review.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,ai",
      "component_id": "9eebdeab84772052f7fd75c9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a95546e09009cc1b",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "09096e230c79e9fa885cb1ba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bab19bce5ba86b8d",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "674f7338e9be2b88bc0c2efb",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ApiTesterPreferences, ShippingPreferences, TraceViewerSession, useApiTesterPreferences, useLocalStorage, useShippingPreferences, useTraceViewerSession | imports:react | observability-score:55 | security-score:55",
      "exports": "ApiTesterPreferences,ShippingPreferences,TraceViewerSession,useApiTesterPreferences,useLocalStorage,useShippingPreferences,useTraceViewerSession",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f3bb178fd5b0deed",
      "framework": "next-react",
      "imports": "react",
      "lines": 187,
      "logic_relevance": "none",
      "name": "use-local-storage",
      "normalized_name": "use-local-storage",
      "package_manager": "pnpm",
      "path": "hooks/use-local-storage.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "abf8315635cdbdf637662449",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ClientLogEntry, ClientLogLevel, clientLogger | logic-score:85 | observability-score:55 | uses-env",
      "exports": "ClientLogEntry,ClientLogLevel,clientLogger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c36312b65579eb0f",
      "framework": "next-react",
      "imports": "",
      "lines": 139,
      "logic_relevance": "primary",
      "name": "client-logger",
      "normalized_name": "client-logger",
      "package_manager": "pnpm",
      "path": "lib/client-logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "ef72f4334457fb368f14e721",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CARRIERS, CarrierCode, SHIPMENT_STATUS, ShipRushAddress, ShipRushError, ShipRushLabel, ShipRushPackage, ShipRushRate | imports:./config | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CARRIERS,CarrierCode,SHIPMENT_STATUS,ShipRushAddress,ShipRushError,ShipRushLabel,ShipRushPackage,ShipRushRate,ShipRushShipment,ShipRushTrackingEvent,ShipRushTrackingInfo,ShipmentStatus,createShipmentFromOrder,getShipRushClient,getVanAgainShipFrom,isShipRushConfigured,mapUspsToShipRushService",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5c8518eecb584d04",
      "framework": "next-react",
      "imports": "./config",
      "lines": 390,
      "logic_relevance": "primary",
      "name": "shiprush-service",
      "normalized_name": "shiprush-service",
      "package_manager": "pnpm",
      "path": "lib/shiprush-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "logic,backend",
      "component_id": "e0644f3090fd66fd9d0dbc6c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for finance; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parsePolymarketData, tryParseJson | logic-score:85 | backend-score:55",
      "exports": "parsePolymarketData,tryParseJson",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2847dae0740caf80",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "polymarket-api",
      "normalized_name": "polymarket-api",
      "package_manager": "pnpm",
      "path": "lib/polymarket-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "49eeef70ae06f3628edf4c8f",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a9c572824c9624ba",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "hmac",
      "normalized_name": "hmac",
      "package_manager": "pnpm",
      "path": "lib/hmac.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d02a729c4b49a4bcf2ae3070",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Dictionary, LOCALE_NAMES, Locale, SUPPORTED_LOCALES, Translations, de, detectLocale, en | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Dictionary,LOCALE_NAMES,Locale,SUPPORTED_LOCALES,Translations,de,detectLocale,en,es,formatCurrency,formatDate,fr,getTranslations,ja,translations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7857db29f60d8889",
      "framework": "next-react",
      "imports": "",
      "lines": 649,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "e8f641645af83baaa86062a5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GeoLocation, ImportJsonResult, McpJsonEnvelope, McpJsonResponse, McpXmlResponse, ParsedXmlData, PlatphormEvent, PlatphormSite | imports:./config, ./logger | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "GeoLocation,ImportJsonResult,McpJsonEnvelope,McpJsonResponse,McpXmlResponse,ParsedXmlData,PlatphormEvent,PlatphormSite,XmlExportData,XmlRateEntry,XmlShipmentEntry,XmlTrackingEvent,buildMcpHeaders,exportAsJson,exportAsXml,importFromJson,parsePlatphormXml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1dd8108b99fafed0",
      "framework": "next-react",
      "imports": "./config,./logger",
      "lines": 699,
      "logic_relevance": "primary",
      "name": "platphorm-service",
      "normalized_name": "platphorm-service",
      "package_manager": "pnpm",
      "path": "lib/platphorm-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "975e53ef84d7f41aed0749a2",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CONTENT_TYPES, COUNTRIES, Country, PROHIBITED_ITEMS, USPSIntlService, USPS_INTL_SERVICES, getAvailableServices, getCountryByCode | logic-score:85",
      "exports": "CONTENT_TYPES,COUNTRIES,Country,PROHIBITED_ITEMS,USPSIntlService,USPS_INTL_SERVICES,getAvailableServices,getCountryByCode,getRequiredCustomsForm,searchCountries,validatePostalCode",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "103298d878450132",
      "framework": "next-react",
      "imports": "",
      "lines": 312,
      "logic_relevance": "primary",
      "name": "country-codes",
      "normalized_name": "country-codes",
      "package_manager": "pnpm",
      "path": "lib/country-codes.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "8846b80d2367d72273e8f9b9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:STAT_DESCRIPTIONS, SUITE_DESCRIPTIONS, SuiteDescription, TEST_DESCRIPTIONS, TestDescription, UI_TOOLTIPS, getSuiteDescription, getTestDescription | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "STAT_DESCRIPTIONS,SUITE_DESCRIPTIONS,SuiteDescription,TEST_DESCRIPTIONS,TestDescription,UI_TOOLTIPS,getSuiteDescription,getTestDescription,getTestsByCategory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2cc1e56ead6e986c",
      "framework": "next-react",
      "imports": "",
      "lines": 485,
      "logic_relevance": "primary",
      "name": "test-descriptions",
      "normalized_name": "test-descriptions",
      "package_manager": "pnpm",
      "path": "lib/test-descriptions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "12cf7e46b49a26ac5e7213c4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_ERROR_CODES, MCP_TOOLS, MCP_TOOLS_BY_NAME, McpClient, McpClientError, McpClientOptions, McpError, McpRequest | imports:./config, ./logger | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "MCP_ERROR_CODES,MCP_TOOLS,MCP_TOOLS_BY_NAME,McpClient,McpClientError,McpClientOptions,McpError,McpRequest,McpResponse,McpServerCapabilities,McpToolDefinition,McpToolParameter,McpToolResult,createMcpClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7628283faba91ac2",
      "framework": "next-react",
      "imports": "./config,./logger",
      "lines": 718,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "151b1831b110ac1e449429c9",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "84150d82f11ad4b9630c44b0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TEST_CONFIG, TestAutoPart, TestDimensions, TestInternationalDest, createMockAddress, createMockIntlRateRequest, createMockRateRequest | logic-score:85 | security-score:55 | uses-env",
      "exports": "TEST_CONFIG,TestAutoPart,TestDimensions,TestInternationalDest,createMockAddress,createMockIntlRateRequest,createMockRateRequest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "895c737ea793a195",
      "framework": "next-react",
      "imports": "",
      "lines": 203,
      "logic_relevance": "primary",
      "name": "test-config",
      "normalized_name": "test-config",
      "package_manager": "pnpm",
      "path": "lib/test-config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,observability,security",
      "component_id": "c2377fd48fbafc18e5270a50",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AI_PROMPTS, AI_PROMPTS_BY_ID, AiContext, AiPromptTemplate, ValidationResult, buildAiContext, getToolByName, getToolNames | imports:./config, ./mcp-client | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "AI_PROMPTS,AI_PROMPTS_BY_ID,AiContext,AiPromptTemplate,ValidationResult,buildAiContext,getToolByName,getToolNames,listPrompts,renderPrompt,validateToolInput",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "44de7adac1b3df36",
      "framework": "next-react",
      "imports": "./config,./mcp-client",
      "lines": 260,
      "logic_relevance": "secondary",
      "name": "ai-tools",
      "normalized_name": "ai-tools",
      "package_manager": "pnpm",
      "path": "lib/ai-tools.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "6d7ec9efc8dc02351f3a35a8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FlatRate, MailClass, PriceType, Rate, RateRequest, RateResponse, TokenResponse, USPSEnvironment | imports:./config, ./logger, ./shipping-types, ./usps-extra-services | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "FlatRate,MailClass,PriceType,Rate,RateRequest,RateResponse,TokenResponse,USPSEnvironment,calculateDimWeight,getActiveConfig,getEffectiveWeight,getFlatRateOptions,getUSPSConfig,getUSPSEnvironmentInfo,isOversized,isValidZip,setUSPSEnvironment",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35972aebf7ad68d7",
      "framework": "next-react",
      "imports": "./config,./logger,./shipping-types,./usps-extra-services",
      "lines": 1044,
      "logic_relevance": "primary",
      "name": "usps-service",
      "normalized_name": "usps-service",
      "package_manager": "pnpm",
      "path": "lib/usps-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "fbea2c1d2e7c32458ba27777",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogEntry, LogLevel, clearLogContext, createRequestLogger, getLogContext, logger, setLogContext | imports:./config | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LogContext,LogEntry,LogLevel,clearLogContext,createRequestLogger,getLogContext,logger,setLogContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "71ec46e1f43bf2bc",
      "framework": "next-react",
      "imports": "./config",
      "lines": 312,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,observability,ai",
      "component_id": "1fe539dbf27fedcebe5335ab",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EMOJI_MCP_URL | logic-score:60 | observability-score:55 | ai-score:45",
      "exports": "EMOJI_MCP_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8aeced83d8223849",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "primary",
      "name": "emoji",
      "normalized_name": "emoji",
      "package_manager": "pnpm",
      "path": "lib/emoji.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "f2940ff8db61ba72d334fa4c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuditLogEntry, JA4Fingerprint, RequestFingerprint, createAuditLogEntry, createRequestFingerprint, extractFingerprintAttributes, generateFingerprint, generateJA4Fingerprint | imports:./logger, @neondatabase/serverless | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AuditLogEntry,JA4Fingerprint,RequestFingerprint,createAuditLogEntry,createRequestFingerprint,extractFingerprintAttributes,generateFingerprint,generateJA4Fingerprint,generateSessionId,hashString",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6523ba939dcfb56d",
      "framework": "next-react",
      "imports": "./logger,@neondatabase/serverless",
      "lines": 473,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,ai",
      "component_id": "60b3dfdde1b59371c19cdf58",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiSpec, stringifyYaml | imports:./phase1 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "buildOpenApiSpec,stringifyYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "306a0ba81cfe45c5",
      "framework": "next-react",
      "imports": "./phase1",
      "lines": 248,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "bd4fef4506011bb711b6fd4a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, PlatformStatus, SHIPMENTS_BASE_URL, SHIPMENTS_SERVICE, SHIPMENTS_VERSION, ShipmentPackagePreset | imports:./config, ./country-codes, ./shipping-types, next/server, zod | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule | model-provider",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,PlatformStatus,SHIPMENTS_BASE_URL,SHIPMENTS_SERVICE,SHIPMENTS_VERSION,ShipmentPackagePreset,TRUST_POLICY_LINE,buildLlmsIndex,buildRssXml,buildSitemapIndexXml,buildSitemapXml,customsDeclarationSchema,fail,getAuthPolicy,getAutomotivePresets,getCarrierServices,getCountryCount,getDiscoveryCompliance,getModelScaffoldingStatus,getPackagePresets,getProviderConfigurationStatus,getPublicPages,getQuickBooksStatus,getRouteCompliance,getRouteInventory,getSafeVercelMetadata,hasPlatphormApiKey,makeTraceHeaders,ok,requireProtectedAccess,validateCustomsDeclaration,validateDomesticRateInput,validateInternationalRateInput",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5dd31330a959223a",
      "framework": "next-react",
      "imports": "./config,./country-codes,./shipping-types,next/server,zod",
      "lines": 572,
      "logic_relevance": "primary",
      "name": "phase1",
      "normalized_name": "phase1",
      "package_manager": "pnpm",
      "path": "lib/phase1.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "logic,security,automation",
      "component_id": "f9893cd7dc5cbdfe41a2eb07",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AUTO_PARTS_HS_CODES, AUTO_PART_PRESETS, AutoPartPreset, CONFIG, CONTENT_TYPES, CONTENT_TYPE_INFO, CUSTOMS_FORMS, ContentType | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "AUTO_PARTS_HS_CODES,AUTO_PART_PRESETS,AutoPartPreset,CONFIG,CONTENT_TYPES,CONTENT_TYPE_INFO,CUSTOMS_FORMS,ContentType,INTL_MAIL_CLASSES,INTL_MAIL_CLASS_INFO,IntlMailClass,PACKAGE_LIMITS,PRICE_TYPES,PRICE_TYPE_INFO,PriceType,TARE_WEIGHTS,USPS_CONTAINERS,USPS_SERVICES,calculateDimWeight,calculateTareWeight,formatCurrency,getEffectiveWeight,getOriginZip,getRequiredCustomsForm,isOversized,isValidZipFormat",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a440ca4baf130128",
      "framework": "next-react",
      "imports": "",
      "lines": 527,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "cccad677d615ee1039aa49c9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:checkRateLimit, requestCounts | imports:./config | logic-score:85 | security-score:55",
      "exports": "checkRateLimit,requestCounts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "967fa88b0b3f8eaf",
      "framework": "next-react",
      "imports": "./config",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation",
      "component_id": "dc0f32dd7df4c669d91c774d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:COMMON_PART_DIMENSIONS, DEFAULT_TARE_WEIGHT, ERROR_CODES, EXPRESS_FLAT_RATE_PRODUCTS, ExpressFlatRateProductId, FLAT_RATE_PRODUCTS, FlatRateProductId, LEGACY_SERVICE_MAPPING | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "COMMON_PART_DIMENSIONS,DEFAULT_TARE_WEIGHT,ERROR_CODES,EXPRESS_FLAT_RATE_PRODUCTS,ExpressFlatRateProductId,FLAT_RATE_PRODUCTS,FlatRateProductId,LEGACY_SERVICE_MAPPING,MAIL_CLASSES,OrderStatus,PROCESSING_CATEGORIES,RATE_INDICATORS,RateIndicator,SHIPRUSH_EVENTS,SURCHARGES,ShipRushOrderExport,ShipRushWebhookPayload,calculateTareWeight,determineProcessingCategory",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "85f25712e638796b",
      "framework": "next-react",
      "imports": "",
      "lines": 361,
      "logic_relevance": "primary",
      "name": "shipping-types",
      "normalized_name": "shipping-types",
      "package_manager": "pnpm",
      "path": "lib/shipping-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation,ai",
      "component_id": "19bb466b73ae4195e6349452",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiKey, AuditLog, Event, Job, Order, RateQuote, Shipment, Tenant | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "ApiKey,AuditLog,Event,Job,Order,RateQuote,Shipment,Tenant,WebhookDelivery,WebhookEndpoint,sql",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0be74c28d1c81abc",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 314,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "9522225e8507e390ee81401c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShippingProvider, useOptionalShippingContext, useShippingContext | imports:react | frontend-score:90 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "ShippingProvider,useOptionalShippingContext,useShippingContext",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bdc4db1cf8b4cac3",
      "framework": "next-react",
      "imports": "react",
      "lines": 109,
      "logic_relevance": "secondary",
      "name": "shipping-context",
      "normalized_name": "shipping-context",
      "package_manager": "pnpm",
      "path": "lib/shipping-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,backend,integration,security",
      "component_id": "c0ddc985b442df8789f54de8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EXTRA_SERVICES, EXTRA_SERVICES_BY_CATEGORY, EXTRA_SERVICE_CATEGORIES, ExtraService, ExtraServiceCategory, MailClassCode, POPULAR_EXTRA_SERVICES, areServicesCompatible | logic-score:85 | backend-score:55 | integration-score:55 | security-score:55",
      "exports": "EXTRA_SERVICES,EXTRA_SERVICES_BY_CATEGORY,EXTRA_SERVICE_CATEGORIES,ExtraService,ExtraServiceCategory,MailClassCode,POPULAR_EXTRA_SERVICES,areServicesCompatible,buildExtraServicesRequest,getInsuranceTier,getServicesForMailClass",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c57d42302f66be88",
      "framework": "next-react",
      "imports": "",
      "lines": 444,
      "logic_relevance": "primary",
      "name": "usps-extra-services",
      "normalized_name": "usps-extra-services",
      "package_manager": "pnpm",
      "path": "lib/usps-extra-services.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "f77c958558eced8cada1c562",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DomesticEligibilityInput, DomesticService, InternationalEligibilityInput, InternationalService, ServiceEligibility, autoAdjustDomesticService, autoAdjustInternationalService, calculateGirth | imports:./config, ./country-codes | logic-score:85 | security-score:55",
      "exports": "DomesticEligibilityInput,DomesticService,InternationalEligibilityInput,InternationalService,ServiceEligibility,autoAdjustDomesticService,autoAdjustInternationalService,calculateGirth,calculateLengthPlusGirth,classifyPackageSize,exceedsUSPSLimits,getDomesticServiceEligibility,getInternationalServiceEligibility,isPackageOversized",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aca1eed0aa06fcc1",
      "framework": "next-react",
      "imports": "./config,./country-codes",
      "lines": 535,
      "logic_relevance": "primary",
      "name": "shipping-rules",
      "normalized_name": "shipping-rules",
      "package_manager": "pnpm",
      "path": "lib/shipping-rules.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,observability,automation",
      "component_id": "47936e2a348ee1c32927bf8b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Address, AddressCorrection, AddressValidationResult, ContainerType, ContentType, DeliveryCommitment, Dimensions, DomesticMailClass | logic-score:70 | observability-score:55 | automation-score:45",
      "exports": "Address,AddressCorrection,AddressValidationResult,ContainerType,ContentType,DeliveryCommitment,Dimensions,DomesticMailClass,DomesticRateRequest,ExtraServiceRate,FlatRate,InternationalMailClass,InternationalRateRequest,InternationalRateResponse,MailClass,Package,PriceType,ProcessingCategory,Rate,RateError,RateIndicator,RateResponse,Shipment,ShipmentStatus,TrackingEvent,TrackingInfo",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "89ba1002b9636d10",
      "framework": "next-react",
      "imports": "",
      "lines": 276,
      "logic_relevance": "primary",
      "name": "shipping",
      "normalized_name": "shipping",
      "package_manager": "pnpm",
      "path": "lib/types/shipping.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "2d0e9f8bc4676b1f4b939d92",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_VERSION, AddressValidateRequest, AddressValidateResponse, ApiError, ApiMeta, ApiResponse, AuditLogEntry, AuditLogQuery | imports:./shipping | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "API_VERSION,AddressValidateRequest,AddressValidateResponse,ApiError,ApiMeta,ApiResponse,AuditLogEntry,AuditLogQuery,CityStateLookupRequest,CityStateLookupResponse,CreateShipmentRequest,CreateShipmentResponse,ERROR_CODES,ErrorCode,HealthCheckResponse,InternationalRateCalculateRequest,InternationalRateCalculateResponse,RateCalculateRequest,RateCalculateResponse,ServiceHealth,TestResult,TestSuiteResult,TrackingRequest,TrackingResponse,WebhookEvent,WebhookPayload,ZipCodeLookupRequest,ZipCodeLookupResponse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e197634b6412122",
      "framework": "next-react",
      "imports": "./shipping",
      "lines": 247,
      "logic_relevance": "primary",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "lib/types/api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "logic,security",
      "component_id": "df347f94aacdaa31ccaf25df",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for finance; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PolymarketMarket | logic-score:70 | security-score:55",
      "exports": "PolymarketMarket",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ecc0dd1994579e57",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "polymarket",
      "normalized_name": "polymarket",
      "package_manager": "pnpm",
      "path": "lib/types/polymarket.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "475736ab2f0529358c3fa330",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./api, ./shipping | logic-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d8043c90cb281174",
      "framework": "next-react",
      "imports": "./api,./shipping",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/types/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "d1a646cfd148ad81d3884205",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../config, vitest | logic-score:85 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a09a37ea643cfbd9",
      "framework": "next-react",
      "imports": "../config,vitest",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "config.test",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/__tests__/config.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "5547cc325690fcd3619fba07",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../i18n, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8d94121dc61542ca",
      "framework": "next-react",
      "imports": "../i18n,vitest",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/__tests__/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-shipments",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "982f194faf7fa3c72a92645d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "186d5f1d66ec9347",
      "framework": "next-react",
      "imports": "",
      "lines": 3208,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "88d3ca29127c1681f4056e9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ad8fcccf15bb9b8f",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d628c3a9277fab08466ffa4f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a7928b4159d77a66",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "3225806b981bad281343d213",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ea447d336fff458",
      "framework": "next-react",
      "imports": "next",
      "lines": 66,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7a6104394d59c0dab93bfb77",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1bf3e61bb046ee53",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/next,next,next/font/google",
      "lines": 201,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "e0ab3d75982f1bfc6ebd8734",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/sections/api-section, @/components/sections/credentials-section, @/components/sections/cta-section, @/components/sections/features-section, @/components/sections/hero-section, @/components/sections/investors-section, @/components/sections/materials-section, @/components/sections/network-section | frontend-score:115 | ui-score:70",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be1ad01b210e1638",
      "framework": "next-react",
      "imports": "@/components/sections/api-section,@/components/sections/credentials-section,@/components/sections/cta-section,@/components/sections/features-section,@/components/sections/hero-section,@/components/sections/investors-section,@/components/sections/materials-section,@/components/sections/network-section,@/components/sections/products-section,@/components/sections/sectors-section,@/components/sections/testimonials-section,@/components/sections/vestaboard-section,@/components/site-footer,@/components/site-header,@/lib/i18n/config,@/lib/i18n/locale-context,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "6c9fd05fcbed30bf8774a5e1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3ba904372d76b7bb",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "9e658494488feb90a34c3fdc",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f022215694d147f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "dcc927fd1af35a2fe8096b72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "76b903ca2caf1ce0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "7b1f9a064fe97614d6f34b95",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "014e86abb21e06b0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 105,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sectors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,frontend,observability,automation",
      "component_id": "4009d2c8f48f50adc70cb82c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f13e98d926aa695",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/materials/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "4bf7254cb05b132e2457ccc5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fd48c793d8292f30",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 149,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation,ai",
      "component_id": "eb46d95e31c1a83637ca6c80",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PLATPHORM_API | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,PLATPHORM_API",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eda4b2b16e22a441",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 97,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "af25511f54eeef8a66fb4c6e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "582a5c09f0817298",
      "framework": "next-react",
      "imports": "next/server,zod",
      "lines": 137,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/displays/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "d8a52991ae3cbd293b073d3c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e58bd15ba532b178",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation",
      "component_id": "74154d45df06b160c7410e71",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bdfdba858723cda9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 430,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,observability,automation",
      "component_id": "d7f0739808399c6257b2c3b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5dc73d95045b126a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "e3326c80ba79a2f43f098068",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server, zod | backend-score:160 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "04e07754503e9e95",
      "framework": "next-react",
      "imports": "next/server,zod",
      "lines": 101,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "111c4e46910153d7693d8c6d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3a0b10349da8b002",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "8530b7006f99739f607d92f1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "0d68a42443f43fe7ea5e85e1",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "31a688a536d6ce15a600f8a5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/theme-toggle, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, @/lib/i18n/config, @/lib/i18n/locale-context, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "980bd3751bc2adf2",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,@/lib/i18n/config,@/lib/i18n/locale-context,lucide-react,next/link,react",
      "lines": 169,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "47022c4397f1423aa0aacc32",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:@/lib/i18n/locale-context, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4437f24a5efc8557",
      "framework": "next-react",
      "imports": "@/lib/i18n/locale-context,lucide-react,next/link",
      "lines": 233,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery,automation",
      "component_id": "b357296d5b16f890cadc7d8b",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd, getBreadcrumbSchema, getFAQSchema, getLocalBusinessSchema, getOrganizationSchema, getProductSchema, getServiceSchema, getWebSiteSchema | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "JsonLd,getBreadcrumbSchema,getFAQSchema,getLocalBusinessSchema,getOrganizationSchema,getProductSchema,getServiceSchema,getWebSiteSchema",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "605561d07bc8ea78",
      "framework": "next-react",
      "imports": "",
      "lines": 368,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6e70700da1dea92e9d6cd38d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next-themes | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ce85616f8d1133f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next-themes",
      "lines": 38,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "0c8a6819143721fc4f25aff8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0c700b34a4bfccb23e435d6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "1192d52213831a757ce18e90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ce4d385cb989eb37e7272962",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e0bada133d8c9970be54e5ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2f7fd446edd1140e0921d6aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "719ccb2b18c77ac1e1367d61",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "71763bcfc8378619aeefbd58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8ce07ffd81bbcffe2ec207cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a7dba5deb61a3b5b7c0e1600",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a769333a0e96515120defa58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AnimatedCounter | imports:react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AnimatedCounter",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "86d9700a8b597ad3",
      "framework": "next-react",
      "imports": "react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "animated-counter",
      "normalized_name": "animated-counter",
      "package_manager": "pnpm",
      "path": "components/ui/animated-counter.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "f7b5050275ce687887aeb15c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "82a94f0eb473bd54c53da921",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c4cfdce311c3147263dc28ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "67a3e6e80de030df805cf532",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cee98e25e16f3a1c6cf18343",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f336929cfa7687f9a0a8bf3a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2a33cb993dcb081dee259325",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "aab509de9873837b3e4f3328",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6ae1125974365496455007c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,ai",
      "component_id": "8c96e4f480276358560fb48a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AnimatedFlipBoard, FlipBoard, FlipBoardRow, FlipCard | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnimatedFlipBoard,FlipBoard,FlipBoardRow,FlipCard",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5d0d91450ff453bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 152,
      "logic_relevance": "none",
      "name": "flip-card",
      "normalized_name": "flip-card",
      "package_manager": "pnpm",
      "path": "components/ui/flip-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "82bc42d7aedf116da04cc457",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c329936850f790276f3b6990",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "299ff15476dfb99e204c9b15",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5f286b92bb62c55810ebf01f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3036e68bab1bdb4a7ea24258",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9eb77edc44e026b77041d8a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "79ff7f059f904480b2086e92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:MagneticButton | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "MagneticButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d6f5928a39bcb1a4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "magnetic-button",
      "normalized_name": "magnetic-button",
      "package_manager": "pnpm",
      "path": "components/ui/magnetic-button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ac8de8b8e26cebe86f8a76d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "48502a25fe1d713c0a6bdfa9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "a0332707e9ee1c5443adff05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "2419b0539a5babf8147907d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollReveal | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollReveal",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "894fff59cc7d98c7",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "scroll-reveal",
      "normalized_name": "scroll-reveal",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-reveal.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "521f2a1b91d86b945e07c0e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "4f73be09982282be059a36b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "be723c8ebdf01d3ba5c45075",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ea87008ea46639a854da541b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a2f51bd7aaf299f35135b177",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8653669643e7f46206117b79",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6b07d8eea8861d9877775b8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4b631f8ca069dc7c0be1cfb1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2605a501c935fa354b5848e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "94acca2f4a79db3e0f97e850",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "51413cc995763a6ae636e924",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6367ecea5414c3569b5ac39a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "280a06807345b515e1ddfb78",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3ed2adc7de832e9e9936c8dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "00c867877ddc5f758b26e61b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ce84bf2ba33516c16fb0be0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "74512eb82435fa7b4c227503",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "17d653e984628beb9dea2c64",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8c43785aeb152c563eafb6a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "393c7dd670ccb2f228fa3008",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c48d4b9190006997c90a40eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0583b97c92756338c317f6d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9b750af8dd2734f0fc46120e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:GlassCard | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "GlassCard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1b79701ce6698847",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 44,
      "logic_relevance": "none",
      "name": "glass-card",
      "normalized_name": "glass-card",
      "package_manager": "pnpm",
      "path": "components/ui/glass-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6a108c74153b30f463c6881a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "550af3556e09e77d0d64686a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0465b520311fb110aba263be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2766a6abf16f78485838e6b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1e54a816e9b4865ea2c29e1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "6bc54e1f6e29df9d925ca4ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "824dc573514da2316d1f0e2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8b5c4cf1ca8e4862194266be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SectorsSection | imports:@/components/ui/animated-counter, @/components/ui/glass-card, @/components/ui/scroll-reveal, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SectorsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "35c53ab39af95b15",
      "framework": "next-react",
      "imports": "@/components/ui/animated-counter,@/components/ui/glass-card,@/components/ui/scroll-reveal,lucide-react,next/image",
      "lines": 182,
      "logic_relevance": "none",
      "name": "sectors-section",
      "normalized_name": "sectors-section",
      "package_manager": "pnpm",
      "path": "components/sections/sectors-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "49e84e5b737b6b47d664a29d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkSection | imports:@/components/ui/animated-counter, @/components/ui/glass-card, @/components/ui/scroll-reveal, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "NetworkSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75fa2c6ca68ad84f",
      "framework": "next-react",
      "imports": "@/components/ui/animated-counter,@/components/ui/glass-card,@/components/ui/scroll-reveal,lucide-react,next/image,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "network-section",
      "normalized_name": "network-section",
      "package_manager": "pnpm",
      "path": "components/sections/network-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4423d3656fcad0883905c2e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VestaboardSection | imports:@/components/ui/badge, @/components/ui/button, @/lib/i18n/locale-context, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "VestaboardSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10df869aedade05f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/lib/i18n/locale-context,lucide-react,next/image,next/link",
      "lines": 80,
      "logic_relevance": "none",
      "name": "vestaboard-section",
      "normalized_name": "vestaboard-section",
      "package_manager": "pnpm",
      "path": "components/sections/vestaboard-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b45e81c3db601037e8c829cc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CredentialsSection | imports:@/components/ui/scroll-reveal, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CredentialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "890d69758dfa41bb",
      "framework": "next-react",
      "imports": "@/components/ui/scroll-reveal,lucide-react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "credentials-section",
      "normalized_name": "credentials-section",
      "package_manager": "pnpm",
      "path": "components/sections/credentials-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "1f8ba80c35fcdc8fb80b26a7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiSection | imports:@/components/ui/glass-card, @/components/ui/magnetic-button, @/components/ui/scroll-reveal, @/lib/i18n/locale-context, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e7cb58d655f9ded",
      "framework": "next-react",
      "imports": "@/components/ui/glass-card,@/components/ui/magnetic-button,@/components/ui/scroll-reveal,@/lib/i18n/locale-context,lucide-react,next/link",
      "lines": 179,
      "logic_relevance": "none",
      "name": "api-section",
      "normalized_name": "api-section",
      "package_manager": "pnpm",
      "path": "components/sections/api-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "ffa7c04676103c7d1c5a0af0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:SolutionsSection | imports:@/components/ui/button, @/lib/i18n/locale-context, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SolutionsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f62660a6b836db27",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/i18n/locale-context,lucide-react,next/image,next/link",
      "lines": 105,
      "logic_relevance": "none",
      "name": "solutions-section",
      "normalized_name": "solutions-section",
      "package_manager": "pnpm",
      "path": "components/sections/solutions-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6faa63ca7c497723786c111a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MaterialsSection | imports:@/components/ui/glass-card, @/components/ui/scroll-reveal, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MaterialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbf26affd13e85f3",
      "framework": "next-react",
      "imports": "@/components/ui/glass-card,@/components/ui/scroll-reveal,next/image",
      "lines": 140,
      "logic_relevance": "none",
      "name": "materials-section",
      "normalized_name": "materials-section",
      "package_manager": "pnpm",
      "path": "components/sections/materials-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "51616d41faec5bb4baa3f5f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialsSection | imports:@/components/ui/scroll-reveal, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TestimonialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "486e84c2c4b32a09",
      "framework": "next-react",
      "imports": "@/components/ui/scroll-reveal,lucide-react,react",
      "lines": 180,
      "logic_relevance": "none",
      "name": "testimonials-section",
      "normalized_name": "testimonials-section",
      "package_manager": "pnpm",
      "path": "components/sections/testimonials-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "dc10f0d7cdb149322776463c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, @/components/ui/flip-card, @/lib/i18n/locale-context, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5ab13b7b1e7584e7",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/flip-card,@/lib/i18n/locale-context,lucide-react,next/image,next/link,react",
      "lines": 261,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/sections/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "53a92153403de3fcb58fd7cf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesSection | imports:@/components/ui/glass-card, @/components/ui/scroll-reveal, @/lib/i18n/locale-context, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FeaturesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f6da0181064ff56",
      "framework": "next-react",
      "imports": "@/components/ui/glass-card,@/components/ui/scroll-reveal,@/lib/i18n/locale-context,lucide-react,next/image",
      "lines": 98,
      "logic_relevance": "none",
      "name": "features-section",
      "normalized_name": "features-section",
      "package_manager": "pnpm",
      "path": "components/sections/features-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "88a3f0c612cba574a1c04f23",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CtaSection | imports:@/components/ui/glass-card, @/components/ui/magnetic-button, @/components/ui/scroll-reveal, @/lib/i18n/locale-context, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "CtaSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b4c9b5e8274968b",
      "framework": "next-react",
      "imports": "@/components/ui/glass-card,@/components/ui/magnetic-button,@/components/ui/scroll-reveal,@/lib/i18n/locale-context,lucide-react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/sections/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2372794f897c185c9214e00e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductsSection | imports:@/components/ui/glass-card, @/components/ui/scroll-reveal, @/lib/utils, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71ea75b6d3a4c637",
      "framework": "next-react",
      "imports": "@/components/ui/glass-card,@/components/ui/scroll-reveal,@/lib/utils,lucide-react,next/image,react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "products-section",
      "normalized_name": "products-section",
      "package_manager": "pnpm",
      "path": "components/sections/products-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c67f1a6fd9c291bd5c255ffe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InvestorsSection | imports:@/components/ui/animated-counter, @/components/ui/glass-card, @/components/ui/magnetic-button, @/components/ui/scroll-reveal, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "InvestorsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "438be385c6bda0c9",
      "framework": "next-react",
      "imports": "@/components/ui/animated-counter,@/components/ui/glass-card,@/components/ui/magnetic-button,@/components/ui/scroll-reveal,lucide-react",
      "lines": 202,
      "logic_relevance": "none",
      "name": "investors-section",
      "normalized_name": "investors-section",
      "package_manager": "pnpm",
      "path": "components/sections/investors-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "78cd7fc5a77ed137b55b834e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "911940b94ba17d5b",
      "framework": "next-react",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "67482890a518e6d86cef17c8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2ac7065892017b1c",
      "framework": "next-react",
      "imports": "",
      "lines": 252,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "fa00793de14b76644d981c2a",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3b24ab54e1a4a606",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,discovery,automation",
      "component_id": "3a405f31f1d15be1178d7deb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c06cc51bfd41c054",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation",
      "component_id": "512603f6af85be6f2c2cf39b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d71d8294bb17ea8f",
      "framework": "next-react",
      "imports": "",
      "lines": 182,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "4848fccc8b6e8b9aac104eef",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,logic,security",
      "component_id": "9a137a82e424e79c6d20aa4c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocaleProvider, useLocaleContext | imports:./config, ./translations, react | frontend-score:90 | ui-score:70 | logic-score:70 | security-score:55",
      "exports": "LocaleProvider,useLocaleContext",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "35643d3007883c2f",
      "framework": "next-react",
      "imports": "./config,./translations,react",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "locale-context",
      "normalized_name": "locale-context",
      "package_manager": "pnpm",
      "path": "lib/i18n/locale-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "503128349928e6dbded976a4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useChangeLocale, useLocale, useTranslation | imports:./config, ./translations, next/navigation, react | logic-score:85 | security-score:55",
      "exports": "useChangeLocale,useLocale,useTranslation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4069891e7b36846a",
      "framework": "next-react",
      "imports": "./config,./translations,next/navigation,react",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "use-locale",
      "normalized_name": "use-locale",
      "package_manager": "pnpm",
      "path": "lib/i18n/use-locale.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "eddc018679051d59ed0bdd24",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TranslationKey, getTranslation, translations, useTranslations | imports:./config | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "TranslationKey,getTranslation,translations,useTranslations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e8411c286a4bd2c2",
      "framework": "next-react",
      "imports": "./config",
      "lines": 624,
      "logic_relevance": "primary",
      "name": "translations",
      "normalized_name": "translations",
      "package_manager": "pnpm",
      "path": "lib/i18n/translations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "db22eb1b4ee6231a342f1ead",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./config, ./locale-context, ./translations, ./use-locale | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e276012476aa9965",
      "framework": "next-react",
      "imports": "./config,./locale-context,./translations,./use-locale",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "a2018e501d30ac667c5c3ee9",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, isRtlLocale, localeFlags, localeNames, locales, rtlLocales | logic-score:85",
      "exports": "Locale,defaultLocale,isRtlLocale,localeFlags,localeNames,locales,rtlLocales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "18373755750a2c08",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "lib/i18n/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-signs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4db9b74e5267c8a6323a9e99",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7cf12e1146cf7763",
      "framework": "next-react",
      "imports": "",
      "lines": 6832,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,integration",
      "component_id": "26060dec0ff0420d6e8e2b68",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9ece4f37ef184f45",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "cb432e5c7281ab5cbc862832",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4292c05959acda76",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "18cc4442f3021e985aa2febc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e8f48def037fcd02",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b36872f8832ac76e8926cf3c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fcd2b5fe46423fb6",
      "framework": "next-react",
      "imports": "",
      "lines": 10179,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d18b0467c9d5f46a99c1348a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3df67063e5291e84",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "249a7d1ae386d8db88167703",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d6d389af56933fb8",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 20,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,discovery,automation",
      "component_id": "89c4ae62faad7c2704b5eba8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/space/registry, next | frontend-score:55 | observability-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e9aaaa72f138fd0",
      "framework": "next-react",
      "imports": "@/lib/space/registry,next",
      "lines": 41,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "c576254c1b0128b74beb5f37",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/space/registry, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e056ac218e762489",
      "framework": "next-react",
      "imports": "@/lib/space/registry,next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "42655659c17ce05590650638",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f9b7fdef874e798",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 111,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "4871519b4caf682138b82a44",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/hero-section, @/components/layout/footer, @/components/layout/sidebar, @/components/layout/top-bar, @/components/news/news-feed, @/components/news/trending-sidebar, @/components/seo/json-ld, @/components/ui/breadcrumb | frontend-score:115 | ui-score:70",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72e6ed702e4601c6",
      "framework": "next-react",
      "imports": "@/components/hero-section,@/components/layout/footer,@/components/layout/sidebar,@/components/layout/top-bar,@/components/news/news-feed,@/components/news/trending-sidebar,@/components/seo/json-ld,@/components/ui/breadcrumb,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style",
      "component_id": "2b01f005e0507be50be646d3",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "67a2a85cff606b33",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "f2e8b28e8fd43eab18c6745d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2facf41456ecb3a0",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "5e599821434780b50aa9786f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/feed-service, @/lib/space/registry | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4324a94b224d3470",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/feed-service,@/lib/space/registry",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6efc6802b396d6a303e50c16",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fc00c17a75baef14",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "242f8f4fb73a3964855c455e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:VideoPage | imports:@/components/space/feed-page | frontend-score:85 | ui-score:55",
      "exports": "VideoPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf05da4ddce95741",
      "framework": "next-react",
      "imports": "@/components/space/feed-page",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/video/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "95348de48be5f76542d49a52",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/layout/footer, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b2b848789729d3c",
      "framework": "next-react",
      "imports": "@/components/layout/footer,next,next/link",
      "lines": 79,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ai,ui",
      "component_id": "6763f5f0fe1d046a50eb62f0",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:AiSummaryAliasPage | imports:next/navigation | frontend-score:115 | ai-score:75 | ui-score:55",
      "exports": "AiSummaryAliasPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de0148b8428622b0",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ai-summary/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation,ai",
      "component_id": "e2939de746a77366284b93c6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/layout/footer, @/components/layout/top-bar, @/components/seo/json-ld, @/components/ui/card | frontend-score:85 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de70e92c21ff5ff3",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/components/seo/json-ld,@/components/ui/card",
      "lines": 79,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "ff91c27945eef5345a6a8407",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/seo/json-ld, @/components/space/page-shell, @/components/ui/accordion, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c63c8ceba30a839",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@/components/space/page-shell,@/components/ui/accordion,next",
      "lines": 64,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "f6ac25a424c17a3d059bfda1",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/discovery | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4d3f8c25feb1019a",
      "framework": "next-react",
      "imports": "@/lib/space/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai",
      "component_id": "d14b7df03738efa9488814e8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e5b68f04577492e",
      "framework": "next-react",
      "imports": "@/lib/space/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,security",
      "component_id": "64e3f46de1232ee6100007d9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/discovery | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f2a798ebe598cb8",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/discovery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,ai",
      "component_id": "af27c179dc0d7c349a3f5922",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/discovery | backend-score:125 | ai-score:75 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46ceab6ca3e1e799",
      "framework": "next-react",
      "imports": "@/lib/space/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "43636ab46182a1e52c58e7d3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/discovery | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7964d58d68dd4412",
      "framework": "next-react",
      "imports": "@/lib/space/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "7de6c93ff99e72fcde63a83f",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:LegacySourcePage | imports:next/navigation | frontend-score:115 | ui-score:55",
      "exports": "LegacySourcePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89a867e7ab803a0c",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 6,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/source/[type]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "7d7bd439fbf262ada234f386",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArticlePage | imports:@/components/seo/json-ld, @/components/space/page-shell, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/space/feed-service, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ArticlePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6a941060f93a016",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@/components/space/page-shell,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/space/feed-service,lucide-react,next/link,next/navigation",
      "lines": 61,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/articles/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "2d70f4029acee655848631f3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/layout/footer, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad61b7e19ab7cae1",
      "framework": "next-react",
      "imports": "@/components/layout/footer,next,next/link",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "884ea67c6a6e249e68af48f8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:StarbasePage | imports:@/components/space/feed-page | frontend-score:85 | ui-score:55",
      "exports": "StarbasePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e3f8464c7be03578",
      "framework": "next-react",
      "imports": "@/components/space/feed-page",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/starbase/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "3463e8fedaa293deb34c091d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d61eda800251e57f",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "1ad47865679c275b2b1f1c3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/feed-service, @/lib/space/registry | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e80de80ecbe3cdb",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/feed-service,@/lib/space/registry",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/atom.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,frontend,ui,security",
      "component_id": "65e29270f276277b14caca58",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIChatPage | imports:@/components/space/help-tooltip, @/components/space/page-shell, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, next/link | ai-score:120 | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "AIChatPage",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "581b4eb58364f382",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/space/page-shell,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,next/link,react",
      "lines": 145,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ai/chat/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "2d42a3fa86c564dbd6940d8e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,swr",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AISummaryPage | imports:@/components/space/help-tooltip, @/components/space/page-shell, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, swr | ai-score:120 | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AISummaryPage",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "54b514ba60691489",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/space/page-shell,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,swr",
      "lines": 102,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ai/summary/page.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,discovery",
      "component_id": "3d0c39abfcd860b07b3a4e87",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:LegacyFeedPage | imports:next/navigation | frontend-score:115 | ui-score:55 | discovery-score:55",
      "exports": "LegacyFeedPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "65a0199fa1493ecb",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/feed/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "ebd62e38f66a7c75520158c0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:LocationPage | imports:@/components/space/feed-page, @/lib/space/registry, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "LocationPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de9c000ba951ce69",
      "framework": "next-react",
      "imports": "@/components/space/feed-page,@/lib/space/registry,next/navigation",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/locations/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability",
      "component_id": "0c4e12eb55594a01979133c0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:LivePage | imports:@/components/space/feed-page | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "LivePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c691f1c38606e6a3",
      "framework": "next-react",
      "imports": "@/components/space/feed-page",
      "lines": 13,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/live/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b9145378e5694b8e9ce1e238",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SourcesPage | imports:@/components/seo/json-ld, @/components/space/page-shell, @/components/ui/badge, @/components/ui/card, @/lib/space/feed-service, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SourcesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c15d33bbd4d7d279",
      "framework": "next-react",
      "imports": "@/components/seo/json-ld,@/components/space/page-shell,@/components/ui/badge,@/components/ui/card,@/lib/space/feed-service,lucide-react,next/link",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "3a45365f3103fbcad23bef82",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SourceTypePage | imports:@/components/news/feed-filters, @/components/space/feed-page, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "SourceTypePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ee46f81cb576daf",
      "framework": "next-react",
      "imports": "@/components/news/feed-filters,@/components/space/feed-page,next/navigation",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/sources/[type]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "053f5584a7f51860f17838ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/registry | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "925c01b3001ec84d",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/registry",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ef8201a0bacc621944c7d738",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21bf630d80008942",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "9322fb7268c69f4c737caeb2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/space/feed-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "df6b322b5fd90f16",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/space/feed-service,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "4e078841121988064ecc9992",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/space/feed-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70e5a2991fa52352",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/space/feed-service,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/news/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "2932a03df25e1a064500cadf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/space/feed-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ec8a03956d4e22d4",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/space/feed-service,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/news/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,ai",
      "component_id": "c6ff218094875057dff0c878",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/response, @/lib/space/model-service | backend-score:125 | ai-score:120 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0fc39cafcab9b5f9",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/model-service",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ai/ask/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,ai",
      "component_id": "a65f308a63d2aab2301a0cf0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/response, @/lib/space/model-service | backend-score:125 | ai-score:120 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3e9260db2af4a1fe",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/model-service",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ai/summary/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "4cb046373a37715acb4af65d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/registry | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0ee4fde1e2beef07",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/registry",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/locations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "db6451c6c7a6305a93f9943b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/feed-service, @/lib/space/registry | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "293750184b54620e",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/feed-service,@/lib/space/registry",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "0138878caf46551063505cce",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/feed-service | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5dba5fb5568170f5",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/feed-service",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sources/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "469e56c12017cd2d1abfa9c4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/space/feed-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "effa035841d176ef",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/space/feed-service,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/live-cameras/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "95e9324de848eae80da353f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/feed-service | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8dd9744a24d96912",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/feed-service",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/trending/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "195adbb3362a0f558330f933",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/feed-service | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e135d749d6a0f458",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/feed-service",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fa4ad57b85f7888cdcc28664",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, @/lib/space/feed-service, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dcdfbed6bf08c0f7",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,@/lib/space/feed-service,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sync/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "28a7878e6ac81736c7bead69",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/registry | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7630f590350b0c93",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/registry",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "6343258c4650668ee08a582a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/platform/trace, @/lib/space/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9aab50e57a471a4",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/platform/trace,@/lib/space/discovery,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security",
      "component_id": "35b33c2b637c8b9cd069ac02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/space/registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "650a81af9adfb0fe",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/space/registry,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "37b6246b5a15c180cc0bee05",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/response, @/lib/space/mcp, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1846e18bae10f37f",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/mcp,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,process,security,discovery,automation,ai",
      "component_id": "f75ee6cbf3883bc53906834c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/discovery, @/lib/space/registry | backend-score:125 | process-score:80 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1684bb5bb8ff7681",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/discovery,@/lib/space/registry",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "08e8c578c18b3d97d089dd90",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:@/lib/platform/auth, @/lib/platform/response, @/lib/platform/trace, @/lib/space/feed-service, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1e64b2817cdd634d",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,@/lib/platform/response,@/lib/platform/trace,@/lib/space/feed-service,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,discovery",
      "component_id": "aa9d40d7d416fea5e45f1937",
      "component_kind": "scheduled-job",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:GET, POST, maxDuration | imports:@/app/api/cron/refresh/route | automation-score:95 | backend-score:55 | discovery-score:55 | cron-or-schedule",
      "exports": "GET,POST,maxDuration",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "12596b1dcc1bb37a",
      "framework": "next-react",
      "imports": "@/app/api/cron/refresh/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/aggregate-feeds/route.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai,ui",
      "component_id": "87e6e7e2f7ec0ffe761079b9",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:AskAiAliasPage | imports:next/navigation | frontend-score:115 | ai-score:75 | ui-score:55",
      "exports": "AskAiAliasPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "92a37ad9bb2eb3fc",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/ask-ai/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "510bb2f017ba45efac7b1ff9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/sitemap, @/lib/platform/response | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbf5f4f2944aaf99",
      "framework": "next-react",
      "imports": "@/app/sitemap,@/lib/platform/response",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai,backend",
      "component_id": "703b4c3c6af5bd480bcfa006",
      "component_kind": "ai-integration",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/app/.well-known/ai-plugin.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "556e6115aba2f05c",
      "framework": "next-react",
      "imports": "@/app/.well-known/ai-plugin.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/ai-plugin.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "399962028a12cd4d19b510d0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/response, @/lib/space/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ce5836b152241edf",
      "framework": "next-react",
      "imports": "@/lib/platform/response,@/lib/space/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "d717623ee266b3be5fc11129",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5cd5a8c7e4aa8521",
      "framework": "next-react",
      "imports": "@/lib/space/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "70fe044f51369d6cca29cdc5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/registry | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ff1f3da65c9dac75",
      "framework": "next-react",
      "imports": "@/lib/space/registry",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "900eb6747907c60fda550833",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/space/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "93f7f4418576be65",
      "framework": "next-react",
      "imports": "@/lib/space/discovery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "7c4c3082a9b6af213004eb54",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "eedcef0570e8f16f6d68fd71",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "c0f74a2c635874d80d1778a4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/space/help-tooltip, @/components/ui/badge, @/components/ui/button, lucide-react, next/link, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b33ac2117c3ab455",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/ui/badge,@/components/ui/button,lucide-react,next/link,swr",
      "lines": 111,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "d41657be1a5a92bb00802f5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4db77deea566dbab4d758cc5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8a7d4061f5eb446f4d01feb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1d41e9d30d335dea2c7df040",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "52179bff9301cdfc9d838a34",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3c94e6b06a9b8cc69cec9393",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "40b9e0c703aea6ddcb800de3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "6f221fe343c26dcb4129bb20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "aaf355c5894ee206bee540c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9e7469ca999b95d55a061e84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "01b5a1dae1eae464ddb75615",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "1ffa2c7d9327e44210a7da44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3303368478dfc1e4815de227",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e44ff9ca98412044cba95f01",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2c192a8b4eaa9c722a902b08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "499ff8d9beec673e6ae3a951",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2b2a2d10f64e32911e2d0850",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a4517b1ca4f94378b48bf820",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9c4afc95e484090782ae19dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "473b4d548c68518abfb78de8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2db8476a1fa96fd22ab12f58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ee0c10f9fabcac8c1a969a55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f4867998f26df0eae2294054",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "59dbe9511775c7e71052b5e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "617256a4610f41d91d46a0ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "dc6aaf0e7001c092ef19a30d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "82dccae0176a8970b57a137c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "c5ce8d9a13f9050c8c7035df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4d56b3a11b7a08c192e1dd30",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "bde18fa2219ebfae6efd7d29",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2a5125a9d1f905324ccda8b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "15f2197c127d90450c70a0c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "26fed7cbb3a5f8186349d93e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1963306a3f26aa7b26815a85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ac489ac56154bbb2601ed217",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "628aeb4756a5cf9dfd339d59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "032996b3b22b4e6ae40f721b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "93c9fea93f0619c8d1f44e0b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5db5f56b0da93d2635887eb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5bdb6c8b5ed00fdfa7ba75bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5ffa690ab037d24c3ce0fa91",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3e1195e26b5f08cb0f26e328",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bfccb2a229f881732a90c462",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "670768df70656450b511ee7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "aeed65831043594b5c3d1fda",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fc327740774d893e14d22b76",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d50f1373abaafb618877f7cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "7d0e063a8f5101fc1e125cfe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d424be9bf16b38e973fbd713",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bcb605487b784b412ae25448",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ebdb4ff12df7295c65372622",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b0f9661438d6910415211c5e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8589e084edb82ff25237b1d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d5dc49201bfa65bfaa24bd45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4df110742b8c783218ef7bbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "c94b7f6387e243a8d33507b9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "30d8cc98fb0c060a6bceb906",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "64aab4c1fd9c8d6071f90c09",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4b94580487ca07de",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 154,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "996d95953f5c5c4cc208b0e8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:@/components/ui/button, @/components/ui/scroll-area, @/components/ui/separator, @/lib/utils, lucide-react, next/link, next/navigation | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "86d5dd85c2dcb8c4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/scroll-area,@/components/ui/separator,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 158,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "ce4e03c8d5ec091b47e96f7d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/space/help-tooltip, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06258f9e815a2eed",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,lucide-react,next/link,next/navigation,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "9c425ead2cb08389b78b5eca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrendingSidebar | imports:@/components/space/help-tooltip, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/data/feed-sources, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "TrendingSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43a18ff387c045ae",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/data/feed-sources,lucide-react,next/link,react,swr",
      "lines": 188,
      "logic_relevance": "none",
      "name": "trending-sidebar",
      "normalized_name": "trending-sidebar",
      "package_manager": "pnpm",
      "path": "components/news/trending-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "b8a42be2f6d2c6abbf16e21d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActiveFilters, FeedFilters, FilterCategory, FilterLocation, FilterSource, SortOption | imports:@/components/space/help-tooltip, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "ActiveFilters,FeedFilters,FilterCategory,FilterLocation,FilterSource,SortOption",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95311efa26c2ecb7",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/utils,lucide-react",
      "lines": 202,
      "logic_relevance": "none",
      "name": "feed-filters",
      "normalized_name": "feed-filters",
      "package_manager": "pnpm",
      "path": "components/news/feed-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "8f06a20b8dc70e577a6d25fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,swr",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsFeed | imports:./feed-filters, ./news-card, @/components/space/help-tooltip, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "NewsFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a395c888709b73b3",
      "framework": "next-react",
      "imports": "./feed-filters,./news-card,@/components/space/help-tooltip,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,lucide-react,next/navigation,react,swr",
      "lines": 230,
      "logic_relevance": "none",
      "name": "news-feed",
      "normalized_name": "news-feed",
      "package_manager": "pnpm",
      "path": "components/news/news-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3a72a4d009e5f573dd3e3c2a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsCard, NewsCardSkeleton, NewsItem | imports:@/components/space/help-tooltip, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, date-fns, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NewsCard,NewsCardSkeleton,NewsItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cd74acd699b7048",
      "framework": "next-react",
      "imports": "@/components/space/help-tooltip,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,date-fns,lucide-react,next/link",
      "lines": 140,
      "logic_relevance": "none",
      "name": "news-card",
      "normalized_name": "news-card",
      "package_manager": "pnpm",
      "path": "components/news/news-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "fe6c8446d928d32aa4013112",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PageShell | imports:@/components/layout/footer, @/components/layout/sidebar, @/components/layout/top-bar, @/components/ui/breadcrumb, react | frontend-score:115 | ui-score:70",
      "exports": "PageShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86fb202d4663539e",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/sidebar,@/components/layout/top-bar,@/components/ui/breadcrumb,react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "page-shell",
      "normalized_name": "page-shell",
      "package_manager": "pnpm",
      "path": "components/space/page-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,discovery",
      "component_id": "d653d1bfa62f5363514f168a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeedPage | imports:@/components/news/feed-filters, @/components/news/news-feed, @/components/seo/json-ld, @/components/space/page-shell, @/lib/space/registry, react | frontend-score:115 | ui-score:70 | discovery-score:55",
      "exports": "FeedPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba6fcbf9da82558c",
      "framework": "next-react",
      "imports": "@/components/news/feed-filters,@/components/news/news-feed,@/components/seo/json-ld,@/components/space/page-shell,@/lib/space/registry,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "feed-page",
      "normalized_name": "feed-page",
      "package_manager": "pnpm",
      "path": "components/space/feed-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "dd568e3b12e97d945664a7c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:HelpTooltip | imports:@/components/ui/tooltip, react | frontend-score:115 | ui-score:70",
      "exports": "HelpTooltip",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "190ddf138aec923c",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "help-tooltip",
      "normalized_name": "help-tooltip",
      "package_manager": "pnpm",
      "path": "components/space/help-tooltip.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "b08213ecae2f4ddbade68247",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbJsonLd, CollectionPageJsonLd, DatasetJsonLd, FAQJsonLd, NewsArticleJsonLd, OrganizationJsonLd, SoftwareApplicationJsonLd, WebsiteJsonLd | imports:@/lib/types | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "BreadcrumbJsonLd,CollectionPageJsonLd,DatasetJsonLd,FAQJsonLd,NewsArticleJsonLd,OrganizationJsonLd,SoftwareApplicationJsonLd,WebsiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "93dc160c348657c6",
      "framework": "next-react",
      "imports": "@/lib/types",
      "lines": 228,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "fbb77c335f1dc149b7b3287c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3e434517474aefb7",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "7033d2c261d98f51bceb5f7f",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/rss-parser, vitest | logic-score:85 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f5ef96ff85650cf",
      "framework": "next-react",
      "imports": "@/lib/rss-parser,vitest",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "rss-parser.test",
      "normalized_name": "rss-parser",
      "package_manager": "pnpm",
      "path": "__tests__/unit/rss-parser.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c4ae4b344de3312792c1b19c",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/platform/auth, vitest | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5dd761219099f01c",
      "framework": "next-react",
      "imports": "@/lib/platform/auth,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "__tests__/unit/auth.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "071fa5c7662414a305ed2073",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/space/discovery, @/lib/space/registry, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f19b8f904e38a7ea",
      "framework": "next-react",
      "imports": "@/lib/space/discovery,@/lib/space/registry,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "__tests__/unit/discovery.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,ai",
      "component_id": "f886a1bdb185beb91eccd6ce",
      "component_kind": "mcp",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/space/mcp, vitest | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b70ca1c829fdbd9c",
      "framework": "next-react",
      "imports": "@/lib/space/mcp,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/mcp/mcp.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "92a285defe922addc0c19f93",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/app/api/v1/sources/route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2ff8751a5377a063",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/app/api/v1/sources/route,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "27f9e7a1fbe5794a94e20120",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security,discovery",
      "component_id": "3b63ddfa1ca6960515fda988",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeedFetchResult, ParsedFeed, ParsedFeedItem, filterRelevantItems | imports:./data/feed-sources, ./space/url-safety | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "FeedFetchResult,ParsedFeed,ParsedFeedItem,filterRelevantItems",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2a648ec9f56ba839",
      "framework": "next-react",
      "imports": "./data/feed-sources,./space/url-safety",
      "lines": 295,
      "logic_relevance": "primary",
      "name": "rss-parser",
      "normalized_name": "rss-parser",
      "package_manager": "pnpm",
      "path": "lib/rss-parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "2cdac0a38ab15e702bb85fe3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AISummary, APIResponse, ContentType, FeedFilters, FeedSort, FeedSource, LiveStream, NewsCategory | logic-score:70 | security-score:55",
      "exports": "AISummary,APIResponse,ContentType,FeedFilters,FeedSort,FeedSource,LiveStream,NewsCategory,NewsItem,NewsSource,PaginationParams,TrendingTopic,UpcomingEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dc2dc59feb355eef",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,observability",
      "component_id": "9a13dc42dcabb9d91c3442d6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformError, fail, ok, textResponse | imports:next/server | logic-score:85 | observability-score:55",
      "exports": "PlatformError,fail,ok,textResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1c927383236caa0f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/platform/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "b40d5f3543036cca0b334e3e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SafeVercelMetadata, TraceContext, captureSafeVercelMetadata, createTraceContext, platphormTraceHeaders, redactSecrets | imports:@/lib/space/registry | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SafeVercelMetadata,TraceContext,captureSafeVercelMetadata,createTraceContext,platphormTraceHeaders,redactSecrets",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7dcdc721d04a424",
      "framework": "next-react",
      "imports": "@/lib/space/registry",
      "lines": 107,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/platform/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "bf9702baba3d75025fc4c45c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthPolicy, PUBLIC_AUTH_COPY, authorizeProtectedAction, extractPlatphormApiKey, getAuthPolicy, hasValidPlatphormApiKey, isVercelCronRequest | imports:next/server | logic-score:85 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "AuthPolicy,PUBLIC_AUTH_COPY,authorizeProtectedAction,extractPlatphormApiKey,getAuthPolicy,hasValidPlatphormApiKey,isVercelCronRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9267900222aa0040",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/platform/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,discovery,automation",
      "component_id": "62b6585022a2a2a3f13a57bc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getQuickLinks, getRegistryCounts, getSourceDirectory | imports:./registry, ./types, ./url-safety, @/lib/platform/trace, @/lib/rss-parser | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "getQuickLinks,getRegistryCounts,getSourceDirectory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2245d180175ee0b0",
      "framework": "next-react",
      "imports": "./registry,./types,./url-safety,@/lib/platform/trace,@/lib/rss-parser",
      "lines": 401,
      "logic_relevance": "primary",
      "name": "feed-service",
      "normalized_name": "feed-service",
      "package_manager": "pnpm",
      "path": "lib/space/feed-service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "faf74a62108ff8b96e833984",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_RESOURCES, MCP_TOOLS, buildHealthData, getDiscoveryCompliance, getMcpMetadata, getRouteCompliance, ok | imports:./feed-service, ./model-service, ./registry, @/lib/platform/auth, @/lib/platform/response | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "MCP_PROMPTS,MCP_RESOURCES,MCP_TOOLS,buildHealthData,getDiscoveryCompliance,getMcpMetadata,getRouteCompliance,ok",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0f369c2b6e17d976",
      "framework": "next-react",
      "imports": "./feed-service,./model-service,./registry,@/lib/platform/auth,@/lib/platform/response",
      "lines": 383,
      "logic_relevance": "primary",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "lib/space/mcp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,backend,observability,security",
      "component_id": "f159c00dda3cc10640490ba9",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:getModelCapabilityState | imports:./feed-service, ./types | ai-score:120 | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "getModelCapabilityState",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "460abd25b4952432",
      "framework": "next-react",
      "imports": "./feed-service,./types",
      "lines": 89,
      "logic_relevance": "secondary",
      "name": "model-service",
      "normalized_name": "model-service",
      "package_manager": "pnpm",
      "path": "lib/space/model-service.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "76a12be1b6f2b86a48c8aaf2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SpaceCategory, SpaceFeedItem, SpaceFeedSource, SpaceLink, SpaceLiveCamera, SpaceLocation, SpaceNewsQuery, SpaceNewsResult | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "SpaceCategory,SpaceFeedItem,SpaceFeedSource,SpaceLink,SpaceLiveCamera,SpaceLocation,SpaceNewsQuery,SpaceNewsResult,SpaceRecordStatus,SpaceSourceStatus,SpaceSourceType,SpaceSyncRun,SpaceSyncStatus",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4c304902f0f7fc17",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/space/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "096b40c96edf80d1e39dc069",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APP_VERSION, CRON_SCHEDULE, DEFAULT_CACHE_TTL_SECONDS, FUTURE_PROTECTED_ROUTES, PUBLIC_API_ROUTES, PUBLIC_DISCOVERY_ROUTES, PUBLIC_PAGE_ROUTES, RESOURCE_LINKS | imports:./types | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "APP_VERSION,CRON_SCHEDULE,DEFAULT_CACHE_TTL_SECONDS,FUTURE_PROTECTED_ROUTES,PUBLIC_API_ROUTES,PUBLIC_DISCOVERY_ROUTES,PUBLIC_PAGE_ROUTES,RESOURCE_LINKS,SERVICE_ID,SERVICE_NAME,SITE_URL,SPACE_CATEGORIES,SPACE_FEED_SOURCES,SPACE_LIVE_CAMERAS,SPACE_LOCATIONS,SPACE_QUICK_LINKS,TRUST_POLICY_LINE,getCategoryById,getLocationById,getSourceById",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "df46f581ee9b0ec3",
      "framework": "next-react",
      "imports": "./types",
      "lines": 550,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/space/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "367593f157b45f8ce09082ed",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildAgentsManifest, buildAiPluginManifest, buildHealthData, buildMcpWellKnown, buildOpenApiSpec, buildOpenApiYaml, buildSecurityTxt, buildTrustPolicy | imports:./feed-service, ./mcp, ./model-service, ./registry, @/lib/platform/auth | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "buildAgentsManifest,buildAiPluginManifest,buildHealthData,buildMcpWellKnown,buildOpenApiSpec,buildOpenApiYaml,buildSecurityTxt,buildTrustPolicy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ba0d12d451ba0f9b",
      "framework": "next-react",
      "imports": "./feed-service,./mcp,./model-service,./registry,@/lib/platform/auth",
      "lines": 402,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/space/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic",
      "component_id": "50be1c11184897d98f7c97f3",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UrlSafetyResult, isTrustedPlatphormDomain, validatePublicHttpUrl | logic-score:85",
      "exports": "UrlSafetyResult,isTrustedPlatphormDomain,validatePublicHttpUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09adf417e6ef8e63",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "primary",
      "name": "url-safety",
      "normalized_name": "url-safety",
      "package_manager": "pnpm",
      "path": "lib/space/url-safety.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "efa63f6e6df0dd1dff0abe7d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CATEGORIES, CategoryId, FEED_SOURCES, FeedSource, LIVE_CAMERAS, LOCATIONS, QUICK_LINKS, RESOURCE_LINKS | imports:@/lib/space/registry | logic-score:85 | discovery-score:55",
      "exports": "CATEGORIES,CategoryId,FEED_SOURCES,FeedSource,LIVE_CAMERAS,LOCATIONS,QUICK_LINKS,RESOURCE_LINKS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "078ad2118c41618a",
      "framework": "next-react",
      "imports": "@/lib/space/registry",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "feed-sources",
      "normalized_name": "feed-sources",
      "package_manager": "pnpm",
      "path": "lib/data/feed-sources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "04b8f6f2c8454020052e2dc8",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "802e4c802f7c9276",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 27,
      "logic_relevance": "none",
      "name": "home.spec",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": "e2e/home.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-space-news",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1654d36a4e9f533211ba121f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81156a9bea1f9835",
      "framework": "next-react",
      "imports": "",
      "lines": 4966,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ad4c0d56fe26e1491b8a8009",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/components,@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:SpecEditor | imports:@/components/workbench/spec-editor, @/lib/logger, @/lib/platphorm/network-client | process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SpecEditor",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "61a9b268029ac8cb",
      "framework": "next-react",
      "imports": "@/components/workbench/spec-editor,@/lib/logger,@/lib/platphorm/network-client",
      "lines": 325,
      "logic_relevance": "none",
      "name": "ARCHITECTURE",
      "normalized_name": "architecture",
      "package_manager": "pnpm",
      "path": "ARCHITECTURE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,integration,security",
      "component_id": "4f1a129b0b684a1d54a43654",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "983eb0efa5674598",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a44e0ef32e84eadd87b37293",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2eef1d1398a9d98e",
      "framework": "next-react",
      "imports": "fs",
      "lines": 19,
      "logic_relevance": "none",
      "name": "test-well-known",
      "normalized_name": "test-well-known",
      "package_manager": "pnpm",
      "path": "test-well-known.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "35b0ac970287626ec6486ba8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b466504cf7f26dbe",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8c83f4b8dc1ecb47f150b57a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ee71e8a9ec58092",
      "framework": "next-react",
      "imports": "",
      "lines": 6977,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "6f96e739f26008562965e693",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "eca0610163447d60",
      "framework": "next-react",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,ai",
      "component_id": "8aef7990b3e039dc7a2a28db",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "35c189afb140d911",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "55b56b42af0faf032e5993d5",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:proxy | imports:next/server | observability-score:55 | security-score:55",
      "exports": "proxy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "053d522e4ffac008",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "773b768ee15235b79e4cc65f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f0722ed7c3577e98",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 27,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "62438b69e828b5937aa37e55",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ffc927d95d629e0",
      "framework": "next-react",
      "imports": "next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "03ddd284606ab100f225d503",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f21baefed8c93db8",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 112,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "0054649b518ffd7e22735920",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a697bdf98ab8ced1",
      "framework": "next-react",
      "imports": "next",
      "lines": 76,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "9134bc126cf58e8b771fa1df",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next,next-themes",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/app-sidebar, @/components/layout/footer, @/components/layout/site-breadcrumbs, @/components/layout/top-bar, @/components/ui/sidebar, @/components/ui/sonner, @/lib/platphorm/metadata, @vercel/analytics/next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10f7cf50d01c18b1",
      "framework": "next-react",
      "imports": "@/components/layout/app-sidebar,@/components/layout/footer,@/components/layout/site-breadcrumbs,@/components/layout/top-bar,@/components/ui/sidebar,@/components/ui/sonner,@/lib/platphorm/metadata,@vercel/analytics/next,@vercel/speed-insights/next,next,next-themes,next/font/google,next/script",
      "lines": 185,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6d532d0388a94c3af0ab3eeb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7c02a8c75fa42ed7",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 71,
      "logic_relevance": "none",
      "name": "twitter-image",
      "normalized_name": "twitter-image",
      "package_manager": "pnpm",
      "path": "app/twitter-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,discovery,ai",
      "component_id": "8fbcaa1ed091137274d425a4",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:@/lib/platphorm/metadata, next | frontend-score:55 | discovery-score:55 | ai-score:45",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73e4cf74ed5f4b71",
      "framework": "next-react",
      "imports": "@/lib/platphorm/metadata,next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "99f671303ea32218bce72987",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react,sonner",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkbenchPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/components/workbench/spec-editor, @/hooks/use-debounce, @/lib/spec-engine/parser, @/lib/spec-engine/types | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "WorkbenchPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d340c257533121c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/workbench/spec-editor,@/hooks/use-debounce,@/lib/spec-engine/parser,@/lib/spec-engine/types,lucide-react,next/link,react,sonner",
      "lines": 492,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "461ea726609e725ab1255ebc",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ee1a8b4e28f4d71f",
      "framework": "next-react",
      "imports": "",
      "lines": 195,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "819994123199c6b79a2508e8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract, @/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "763100b336d772ac",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract,@/lib/platphorm/identity,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3f15a84f1cf3758c0b205382",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a45ad4f5030b9eb5",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "0ad50c2247ff4f6a21239211",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "08b9bb14cc1a93cd",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "d05cd7ffe288c8a8e4060dc3",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValidateLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ValidateLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0dbcc57315798629",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/validate/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0088d273fdb32c9aec9f802f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValidatePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/scroll-area, @/components/workbench/format-selector, @/components/workbench/spec-editor, @/hooks/use-debounce, @/lib/spec-engine/parser | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ValidatePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2f31b6d8cdce6c8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/scroll-area,@/components/workbench/format-selector,@/components/workbench/spec-editor,@/hooks/use-debounce,@/lib/spec-engine/parser,@/lib/spec-engine/types,lucide-react,react,sonner",
      "lines": 249,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/validate/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "4f6aaa487a30bcbc4b7f7d72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:revalidate | imports:@/lib/platphorm/discovery, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "536c9c3c2a7bad55",
      "framework": "next-react",
      "imports": "@/lib/platphorm/discovery,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-network.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "215595139c5fb4a846f67cac",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d7f3b23c6a595fb",
      "framework": "next-react",
      "imports": "next",
      "lines": 80,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "5b9229e3a7df47498bbacdbb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/metadata, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "173645c309071e57",
      "framework": "next-react",
      "imports": "@/lib/platphorm/metadata,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/network-manifest.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b773706bb991e443eab2a065",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChangelogPage, metadata | imports:@/components/ui/badge, @/components/ui/card, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ChangelogPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "811528b2160c6b84",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,next",
      "lines": 87,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/changelog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,ai",
      "component_id": "f22211e19a5301bbf00e1ea3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/ui/badge, @/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a99c057f6aadee8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card",
      "lines": 87,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security,ai",
      "component_id": "b5a4df6417806b0e352518e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/accordion, @/components/ui/card | frontend-score:85 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92d3997371acd412",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/card",
      "lines": 73,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "5e4fa02b9f47f081d618b72a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, @/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1930545aea8567d8",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/platphorm/identity,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "44b6ee8efc79ccf8740fe2ec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ebdf991a241d8fb4",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,next/server",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/webfinger/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "e946b5c3442129da6075595e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fdb51c1c13168a62",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/nodeinfo/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,security",
      "component_id": "1c08af5775eac1a6f392f6b8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-contract, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6b8d0a8fae69983",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "ae52ad974bf57cd93c0fa4ab",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d9485228434105b6",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "backend,frontend,automation",
      "component_id": "0469f784fb55bae7acdc7b02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for deployment; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "68b21ca5f8ad12f0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/hosting-provider/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "b55dcc8faff26135e82d65f9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/identity, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9ee9aa5fdfbb933d",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c462e9e83f4c84ff71959396",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fea7c57cd495bb1d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/dnt-policy.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,security",
      "component_id": "7d6c2f84f41f81511f4278d5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a5f869a45ac6b460",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/change-password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "04b7a10eaead4f8277ce31cc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a7c9d30bf173eb73",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "4bec4610fc850614d423bdfb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "676d06e5dabb8f16",
      "framework": "next-react",
      "imports": "next",
      "lines": 90,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "d85521c8e62358e30859ff30",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiffLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "DiffLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f0356a7f51ee58de",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/diff/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "62ef35fdeaa8c9322691ce4c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiffPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/resizable, @/components/ui/scroll-area, @/components/workbench/spec-editor, @/lib/spec-engine/types, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DiffPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e96148ecda2a6eb",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/resizable,@/components/ui/scroll-area,@/components/workbench/spec-editor,@/lib/spec-engine/types,lucide-react,react,sonner",
      "lines": 260,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/diff/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "650b387b76f173eeb5edbf54",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StatusLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "57a3313a43f88257",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/status/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9f48ad8d7b08d8fe06ce73eb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StatusPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "552fa36b6573d3cc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/utils,lucide-react,react",
      "lines": 264,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/status/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security,process",
      "component_id": "c5812d35d821351a3c9cfa13",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55 | process-score:45",
      "exports": "DocsLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ef09c57e35b80812",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/docs/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,ai",
      "component_id": "b3d0e69d308452cae1bf4920",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, next/link, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d39641738d42e4b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,next/link,react,sonner",
      "lines": 322,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "b09ad6cd3178653ead025098",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | model-provider",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9df24fd0bac639bc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 429,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "205d3a0a7a9d4ff489168feb",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:GenerateLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "GenerateLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "61f2d39f76aa888d",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/generate/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security",
      "component_id": "aa0493a4e8cb52f8bb4a88df",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react,sonner",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:GeneratePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/components/workbench/format-selector, @/components/workbench/spec-editor, @/hooks/use-debounce, @/lib/spec-engine/parser | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "GeneratePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34c7622ba29f7777",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/workbench/format-selector,@/components/workbench/spec-editor,@/hooks/use-debounce,@/lib/spec-engine/parser,@/lib/spec-engine/types,react,sonner",
      "lines": 206,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/generate/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "65e5cc4343b210c6aba94172",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "763f446db6e43ebc",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "dc375477c112f3ce49c3965e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/logger, @/lib/platphorm/network-client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b3608b0c746fefa2",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platphorm/network-client,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "0313a49073ef38e4acc36ac4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/logger, @/lib/platphorm/network-client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "007622caf99f71a9",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platphorm/network-client,next/server",
      "lines": 78,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "f655cb64d2bf5e2d96721320",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/specs/validate/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "36c2a3250d1ac74f",
      "framework": "next-react",
      "imports": "@/app/api/v1/specs/validate/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,frontend,automation",
      "component_id": "f3cac0e5abef54ae01073c3a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7042d146a8d9fefe",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/repair-runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "b50244f26bc9607f06cf582f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/client, @/lib/logger, @/lib/platform-contract, @/lib/platphorm/fingerprint, @/lib/platphorm/identity, @/lib/spec-engine/parser, @/lib/spec-engine/types, @/lib/spec-engine/validator | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "50371e5bf87f609f",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/logger,@/lib/platform-contract,@/lib/platphorm/fingerprint,@/lib/platphorm/identity,@/lib/spec-engine/parser,@/lib/spec-engine/types,@/lib/spec-engine/validator,@/lib/utils/cuids,next/server",
      "lines": 161,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,process",
      "component_id": "89a481c4e08abb8fcc67c694",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SPEC_TYPES | imports:@/lib/logger, @/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/types, @/lib/spec-engine/validator, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST,SPEC_TYPES",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1add2194a8ddbfc",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/types,@/lib/spec-engine/validator,@/lib/spec-runs,next/server",
      "lines": 78,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,process",
      "component_id": "f9069d177e95571db5dc3fa0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SPEC_TYPES | imports:@/lib/platform-contract, @/lib/spec-engine/diff, @/lib/spec-engine/parser, @/lib/spec-engine/types, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST,SPEC_TYPES",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b11f6ca2de138ea7",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-engine/diff,@/lib/spec-engine/parser,@/lib/spec-engine/types,@/lib/spec-runs,next/server",
      "lines": 77,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/diff/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,process",
      "component_id": "ff0336d4132832f067770761",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/db/client, @/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/validator, next/server | backend-score:125 | frontend-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dec97bf4085401e5",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/db/client,@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/validator,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,process",
      "component_id": "2d96d9d5ef96de6640f8dfb0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/client, @/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/validator, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6a206ea230706d43",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/validator,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/[id]/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "1888aebc4bfd62f0cfd8c03e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/db/client, @/lib/platform-contract, @/lib/spec-engine/parser, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f68e75559ff90558",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/db/client,@/lib/platform-contract,@/lib/spec-engine/parser,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/[id]/versions/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,process",
      "component_id": "06c40427c02f48379edaac0d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/client, @/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/repair, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23de8071fdc15820",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/repair,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/[id]/repair/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,process",
      "component_id": "4cb41195392d71921114d662",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SPEC_TYPES | imports:@/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/repair, @/lib/spec-engine/types, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | process-score:45 | next-route-handler",
      "exports": "POST,SPEC_TYPES",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "06d83822e8529be1",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/repair,@/lib/spec-engine/types,@/lib/spec-runs,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/specs/repair/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "75869e22a15b0a12dcd67756",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e1d29cf100340a39",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "77362f92eab202a97ca42e91",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/logger, @/lib/platphorm/network-client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6e30227127a5ffa",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platphorm/network-client,next/server",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability",
      "component_id": "98ecc9c2d7cbaeb7ab7d408b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70411898b847ce9c",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "f051958370f2ab6a2c2c697a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bc244034e8c2a892",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/spec-sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "1e7e36b735d324e480cb50fa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9d672d9bb084a08",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/spec-sources/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "4b5912c4cbfa41e5298c1a5a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5908dbb66b0afc7d",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "a3ec747d1e9f44c85fa89e4c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bbb277987a7ce36c",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,observability",
      "component_id": "29ea52afdb8d0b88f178dd11",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f3277ffa412f3dcf",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,process,observability",
      "component_id": "666d910ba9db001b625ed5fe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract | backend-score:125 | process-score:80 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e5a2f972184c4dc4",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/spec-coverage/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "d3a710d3569d4947ba694ffb",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/specs/diff/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b20a04e5e7a2e8c4",
      "framework": "next-react",
      "imports": "@/app/api/v1/specs/diff/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/diff/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend",
      "component_id": "0446c7e147f20e8447c09273",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bc4425b7166d4915",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/imports/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "abb5e1f49f1bbd9ad836ee3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "75fe427fbdf4b820",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/diff-runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,frontend,automation",
      "component_id": "fd28a57dd4a396d6cd9c4bcf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9a79a98c72db46ae",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/diff-runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "12d16f975e28686b3868b69e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "82e39b13eba8d545",
      "framework": "next-react",
      "imports": "@/lib/platform-contract",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "dc2021effa2fa0c851542d98",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "45f5c026c773599a",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,frontend,automation",
      "component_id": "d8316806c88e4ed1ea731767",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "db79b08d15886275",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generation-runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "bb12e7adcc15c2fde4953a53",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cbe71c3822d54d36",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generation-runs/[id]/artifacts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "5335ce767ecef9bab9bb3299",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0cdef4f284c424d4",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend",
      "component_id": "82fa646e5a02538cb341c186",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/generate/client/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "27688c6d5ad962bf",
      "framework": "next-react",
      "imports": "@/app/api/v1/generate/client/route,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generate/tests/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "1101821307dca8bc454e9f7c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/generators/mcp, @/lib/logger, @/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-runs, @/lib/utils/cuids, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4af5e2875e2bf896",
      "framework": "next-react",
      "imports": "@/lib/generators/mcp,@/lib/logger,@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-runs,@/lib/utils/cuids,next/server",
      "lines": 105,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generate/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend",
      "component_id": "a69190becda3be1ce47b15c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/app,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/generate/client/route, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "07807c526a13b8e0",
      "framework": "next-react",
      "imports": "@/app/api/v1/generate/client/route,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generate/examples/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "019e3f9883a12f93a5bb400c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/generators/clients, @/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-runs, @/lib/utils/cuids, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler | model-provider",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0cdd3b6fb4a2531e",
      "framework": "next-react",
      "imports": "@/lib/generators/clients,@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-runs,@/lib/utils/cuids,next/server",
      "lines": 107,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/generate/client/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "beaa7115892f3371deab6235",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/client, @/lib/platform-contract, @/lib/spec-engine/types, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "30c46b14553a57f4",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/platform-contract,@/lib/spec-engine/types,next/server",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "0560704e870a6128fd377375",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "73f6f9b179284479",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,frontend,security,automation",
      "component_id": "ec54dcb08b157adfca1535ee",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/validator, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2db4665be19a5aa0",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/validator,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/[id]/instantiate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "0641a0a8c011865f80a8fa45",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs | backend-score:125 | logic-score:60 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b19d122fd790e73c",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs",
      "lines": 15,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validation-runs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "backend,logic,frontend,automation",
      "component_id": "557f6ade2fdd84ec9c81b2e8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api/degraded, @/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | logic-score:60 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7e328d4d25eaf6ca",
      "framework": "next-react",
      "imports": "@/lib/api/degraded,@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validation-runs/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "3e197037778100507290df53",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/logger, @/lib/platform-contract, @/lib/platphorm/network-client, @/lib/spec-engine/parser, @/lib/spec-engine/validator, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a6466387043da905",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/platform-contract,@/lib/platphorm/network-client,@/lib/spec-engine/parser,@/lib/spec-engine/validator,@/lib/spec-runs,next/server",
      "lines": 90,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/import/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5e1c93ea8ca034496f0b45cd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform-contract, @/lib/spec-engine/parser, @/lib/spec-engine/validator, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "801e44f9395763e7",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-engine/parser,@/lib/spec-engine/validator,next/server",
      "lines": 131,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/import/probe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend",
      "component_id": "700af2c8cf9369414d9876b5",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/specs/repair/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0d23f13263ccf7ff",
      "framework": "next-react",
      "imports": "@/app/api/v1/specs/repair/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/repair/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1a20e0bf02a1ad2718362d6d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d980f7b24c9a4793",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "c5f580e2db6cbd350b7d67c3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "34f6310788aab5eb",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4873a782f333fc968348829d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, @/lib/spec-runs, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "90548ae300d13354",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,@/lib/spec-runs,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "61fdf4094857c826de43d52c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db/client, @/lib/logger, @/lib/platform-contract, @/lib/platphorm/identity, @/lib/platphorm/tags, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b9a9d6eda366df80",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/logger,@/lib/platform-contract,@/lib/platphorm/identity,@/lib/platphorm/tags,next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend",
      "component_id": "7b12e0a4919a23b325096e96",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b03a3ea3db7854d6",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/nodeinfo/2.1/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "cd759c646619adcfe7d5f8b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/network-spec-sources, @/lib/platform-contract, @/lib/spec-engine/diff, @/lib/spec-engine/parser, @/lib/spec-engine/repair, @/lib/spec-engine/validator, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3048c1d5d2fc1152",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract,@/lib/spec-engine/diff,@/lib/spec-engine/parser,@/lib/spec-engine/repair,@/lib/spec-engine/validator,next/server",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "16315e492894f6062fda74f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3cc0c093abf69958",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "65b44aafd77eb378b11de299",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform-contract, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0973596e3dfd36e1",
      "framework": "next-react",
      "imports": "@/lib/platform-contract,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "5d0e226484bd1f7899ab9b06",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/network-spec-sources, @/lib/platform-contract, @/lib/platphorm/identity, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c99a66007e83d2f",
      "framework": "next-react",
      "imports": "@/lib/network-spec-sources,@/lib/platform-contract,@/lib/platphorm/identity,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "0570cdcc78e9d6be44266e5b",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImportLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ImportLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "918a3cd1be98dd94",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/import/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7619fa8b272466e0352dc11d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImportPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/spinner, next/navigation, react, sonner | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ImportPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c08f4cb89d28e92b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/spinner,next/navigation,react,sonner",
      "lines": 373,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/import/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,process,automation",
      "component_id": "1f21d46740da7dd2fc31acbf",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c675cd5b6b15c773",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 173,
      "logic_relevance": "none",
      "name": "workbench.spec",
      "normalized_name": "workbench",
      "package_manager": "pnpm",
      "path": "tests/e2e/workbench.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "21c69fed162e25967d0068e7",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a8d2d602b61f9dd9",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "docs/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "56f6c1e1df0638837b88471a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "471d23e26f83814443da0a42",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "d1e027c777835bdf24ec6d98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "57fe053b85b065f110d37b58",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2cf798631598f1878c7872c2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "37bfa88a4fa87d1c114b7982",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "371a91b01f1406d33bb37437",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5ccae497f57e6290e95e6fc6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "16465bd395f70c88ff99a138",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "24753052b5215da09628b320",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "60aded332d49f53e1fb58404",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "64b0ccaa807f71e447bd7efd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "3566458af36d821b28d66dde",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "7f287409e652c19b082980ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6b6141e2be7aed03cb9f694e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b147758e8a60fff5bb09ab05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "be6c49a22b151a55885774ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c3e1b7387a4f94cab3b709ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "df102f0560a2849d5023a092",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a537dcc80b9d9f0ac46c40b5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4da87e70f61e828f52dc7230",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "94c7ca7452180b02666eb57e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "1bd09742168192d80132184b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d547602a5822723fad122ad5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a9da5d5df16097a5c6cdc9aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b0346198b0a62dd8b6b6e568",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f007bf50b4931f7673ad84df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "c30e5e1459a1de7523cd45bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a98fe58ccaf0acdbc11a835c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "a9b1896fdf44d347a55b8d3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7a4f25d39665d5c4109850d4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "116e463e4c484e967398eb32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "656fe8a3e1a7f20b15769d40",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "08c5c198434f032ada357cb6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aab720eea183d7cb195da70b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f974d608069128eb178c060d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:StatusBadge | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "StatusBadge",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9ff571721eb6babe",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "status-badge",
      "normalized_name": "status-badge",
      "package_manager": "pnpm",
      "path": "components/ui/status-badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8aae3e409b360350ba93cf5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e8eda459cea82aba45f629aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "1d7c533b6d28078cc7893d62",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "aa52d287d8fd7be57348b264",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b069b70f770462374ea23d66",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "22ef69edc001637e9ce07c9f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b9042220a3b6ebdf6302e790",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "02490054d1004dfc21472ed4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "830ea6c3c54d94986b56dd1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e5463bad8385e10bea2a8920",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a026074485e9a803c8ef0077",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8b896bbdc2927715134b86c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6a767b8dd351bacafc23de44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "090228ddfc391ebb7f91e24c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "3bf85a685b90fcc7699a3872",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "3c53a328e27de9ad2b9ae9b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "05f64a45ff8b19a29df9f251",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "68e888fe549cfbd36ec845dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f2004074c95f0d11e9070b42",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a48b7c4d950c8dbb8e434e5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "6ea438c15f12020186f8c231",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "509f91e4dde00bb04a97c75c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "635d76e017eefcd9d666f9be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "91acaebcc82370bca665eb4b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "2a9d9e05ca6c011d32cde6f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteBreadcrumbs | imports:@/components/ui/breadcrumb, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SiteBreadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "80ab56ab16243b13",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,lucide-react,next/link,next/navigation,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "site-breadcrumbs",
      "normalized_name": "site-breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/layout/site-breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2f0ebdc5799a99c1d5816aca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppSidebar | imports:@/components/ui/sidebar, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AppSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67e41eccda790659",
      "framework": "next-react",
      "imports": "@/components/ui/sidebar,lucide-react,next/link,next/navigation",
      "lines": 168,
      "logic_relevance": "none",
      "name": "app-sidebar",
      "normalized_name": "app-sidebar",
      "package_manager": "pnpm",
      "path": "components/layout/app-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dc5cfda80bef0bff949aea8a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/platphorm/identity, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33601c7a8eef1901",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,lucide-react,next/link",
      "lines": 150,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "875f16008982019f0865a987",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sidebar, @/components/ui/tooltip, @/lib/utils, lucide-react, next-themes, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ab867918a17243d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sidebar,@/components/ui/tooltip,@/lib/utils,lucide-react,next-themes,next/link,next/navigation",
      "lines": 176,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "d3de8027e3b1062b88e0f321",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:OutputPanel | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/collapsible, @/components/ui/scroll-area, @/components/ui/tabs, @/components/ui/tooltip, @/lib/spec-engine/types, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OutputPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "feadbbaecbbc0958",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/collapsible,@/components/ui/scroll-area,@/components/ui/tabs,@/components/ui/tooltip,@/lib/spec-engine/types,lucide-react,react,sonner",
      "lines": 359,
      "logic_relevance": "none",
      "name": "output-panel",
      "normalized_name": "output-panel",
      "package_manager": "pnpm",
      "path": "components/workbench/output-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bf654a17058f49009cb58fd6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FormatSelector | imports:@/components/ui/select, @/lib/spec-engine/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FormatSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ede16da643f36cf8",
      "framework": "next-react",
      "imports": "@/components/ui/select,@/lib/spec-engine/types,lucide-react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "format-selector",
      "normalized_name": "format-selector",
      "package_manager": "pnpm",
      "path": "components/workbench/format-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fbf965b921ddaba793cea336",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActionBar | imports:@/components/ui/button, @/components/ui/button-group, @/components/ui/dropdown-menu, @/components/ui/separator, @/components/ui/tooltip, @/lib/spec-engine/types, lucide-react, sonner | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ActionBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20312bc25d98a6b2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/button-group,@/components/ui/dropdown-menu,@/components/ui/separator,@/components/ui/tooltip,@/lib/spec-engine/types,lucide-react,sonner",
      "lines": 171,
      "logic_relevance": "none",
      "name": "action-bar",
      "normalized_name": "action-bar",
      "package_manager": "pnpm",
      "path": "components/workbench/action-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "979869ce59069922ea8250b5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShortcutsDialog, useKeyboardShortcuts | imports:@/components/ui/dialog, @/components/ui/kbd, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShortcutsDialog,useKeyboardShortcuts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6f3e90adb815f82",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/components/ui/kbd,next/navigation,react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "keyboard-shortcuts",
      "normalized_name": "keyboard-shortcuts",
      "package_manager": "pnpm",
      "path": "components/workbench/keyboard-shortcuts.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,process",
      "component_id": "4f47338b8852586b7460214e",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@monaco-editor/react,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpecEditor | imports:@monaco-editor/react, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | process-score:45",
      "exports": "SpecEditor",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "409c2481de2599cb",
      "framework": "next-react",
      "imports": "@monaco-editor/react,lucide-react,next-themes,react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "spec-editor",
      "normalized_name": "spec-editor",
      "package_manager": "pnpm",
      "path": "components/workbench/spec-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9ff04c2ad24c1d564e78e2a7",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LightweightEditor, LightweightEditorLoader | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LightweightEditor,LightweightEditorLoader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e1dcb0f8db38fae",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "lightweight-editor",
      "normalized_name": "lightweight-editor",
      "package_manager": "pnpm",
      "path": "components/workbench/lightweight-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "dcef7bc8f389c2497ea4a0e8",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../proxy, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1127104b831c7f51",
      "framework": "next-react",
      "imports": "../proxy,next/server,vitest",
      "lines": 72,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "__tests__/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui,process",
      "component_id": "8ba3b73126c0036c5ba9f6f7",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/roadmap/page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34453e66bf48a7f6",
      "framework": "next-react",
      "imports": "@/app/roadmap/page,@testing-library/react,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/roadmap/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "4953467362c9b159697a64a3",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react,vitest",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/faq/page, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f6ce2d934122576c",
      "framework": "next-react",
      "imports": "@/app/faq/page,@testing-library/react,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "__tests__/app/faq/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "f893862efcc7a52c96b7e612",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/layout/site-breadcrumbs, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "807ae0128dffe905",
      "framework": "next-react",
      "imports": "@/components/layout/site-breadcrumbs,@testing-library/react,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "site-breadcrumbs.test",
      "normalized_name": "site-breadcrumbs",
      "package_manager": "pnpm",
      "path": "__tests__/components/site-breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,process",
      "component_id": "70cead797a5d8085f097f47c",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/spec-engine/types, @/lib/spec-engine/validator, vitest | logic-score:85 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ce9ca4871b11477",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types,@/lib/spec-engine/validator,vitest",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "validator.test",
      "normalized_name": "validator",
      "package_manager": "pnpm",
      "path": "__tests__/lib/spec-engine/validator.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "0ff0f0f75bfff0baf9dc152e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/generators/mcp/deployment, ../../../lib/generators/mcp/policies, @/lib/generators/mcp, @/lib/spec-engine/types, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9eef3d9ed0b4823b",
      "framework": "next-react",
      "imports": "../../../lib/generators/mcp/deployment,../../../lib/generators/mcp/policies,@/lib/generators/mcp,@/lib/spec-engine/types,vitest",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "__tests__/lib/generators/mcp.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "e500ee1666740efe31d1f3cc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platphorm/network-client, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b255ac9629a0ce54",
      "framework": "next-react",
      "imports": "@/lib/platphorm/network-client,vitest",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "network-client.test",
      "normalized_name": "network-client",
      "package_manager": "pnpm",
      "path": "__tests__/lib/platphorm/network-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "17cf0467ee030bbc765d8786",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:node:fs, node:path, vitest | logic-score:85 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "21431e90752cea8d",
      "framework": "next-react",
      "imports": "node:fs,node:path,vitest",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "schema.test",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "__tests__/db/schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "8d1e36594f73283e8d658e7e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/generation-runs/[id]/artifacts/route, @/app/api/v1/import/probe/route, @/app/api/v1/import/route, @/app/api/v1/network/spec-coverage/route, @/app/api/v1/network/spec-sources/route, @/app/api/v1/reports/docs/route, @/app/api/v1/sitemaps/coverage/route, @/app/api/v1/templates/[id]/instantiate/route | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8e4a22271643ccfa",
      "framework": "next-react",
      "imports": "@/app/api/v1/generation-runs/[id]/artifacts/route,@/app/api/v1/import/probe/route,@/app/api/v1/import/route,@/app/api/v1/network/spec-coverage/route,@/app/api/v1/network/spec-sources/route,@/app/api/v1/reports/docs/route,@/app/api/v1/sitemaps/coverage/route,@/app/api/v1/templates/[id]/instantiate/route,@/app/api/v1/templates/[id]/route,vitest",
      "lines": 151,
      "logic_relevance": "none",
      "name": "phase1-routes.test",
      "normalized_name": "phase1-routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/phase1-routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "0385adadfac60380febfc582",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "75c27f03a463b9a4",
      "framework": "next-react",
      "imports": "@/app/api/docs/route,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "__tests__/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,security,automation",
      "component_id": "223081a3c441a80ce402d113",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/trust.json/route, @/app/api/docs/route, @/app/api/v1/specs/route, @/app/api/v1/validate/route, @/app/llms-index.json/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e00632f543df8fba",
      "framework": "next-react",
      "imports": "@/app/.well-known/trust.json/route,@/app/api/docs/route,@/app/api/v1/specs/route,@/app/api/v1/validate/route,@/app/llms-index.json/route,vitest",
      "lines": 76,
      "logic_relevance": "none",
      "name": "platform-contract.test",
      "normalized_name": "platform-contract",
      "package_manager": "pnpm",
      "path": "__tests__/api/platform-contract.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d24ff6cacb769623178234af",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f3063d3724019ca1",
      "framework": "next-react",
      "imports": "@/app/api/health/route,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "fb2044217a8d76bf806ec00f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/.well-known/ai-plugin.json/route, @/app/.well-known/change-password/route, @/app/.well-known/dnt-policy.txt/route, @/app/.well-known/hosting-provider/route, @/app/.well-known/nodeinfo/route, @/app/.well-known/security.txt/route, @/app/.well-known/webfinger/route, @/app/api/nodeinfo/2.1/route | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "79fae19a3e96ab34",
      "framework": "next-react",
      "imports": "@/app/.well-known/ai-plugin.json/route,@/app/.well-known/change-password/route,@/app/.well-known/dnt-policy.txt/route,@/app/.well-known/hosting-provider/route,@/app/.well-known/nodeinfo/route,@/app/.well-known/security.txt/route,@/app/.well-known/webfinger/route,@/app/api/nodeinfo/2.1/route,next/server,vitest",
      "lines": 93,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "__tests__/api/well-known/well-known.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "f20b970704c739c029dd545c",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7269f5c67de0ef35",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "f39aa4f4941165d98b6ba82b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d6019bda5b5e227d",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "8215ffcc43474238676fd975",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6083f7f7d15c4363",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,process,observability",
      "component_id": "ca9c9302958027a94834ddfc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkSpecSource | imports:@/lib/db/client, @/lib/platform-contract | logic-score:85 | process-score:80 | observability-score:55 | uses-env",
      "exports": "NetworkSpecSource",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9ee2c1705bc8c7f5",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/platform-contract",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "network-spec-sources",
      "normalized_name": "network-spec-sources",
      "package_manager": "pnpm",
      "path": "lib/network-spec-sources.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "16c8e8523aa6985df1dc56a6",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "e38cd69e147962c00aba2d1f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ChildLogger, Logger, logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "ChildLogger,Logger,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b5b7b72935c311f9",
      "framework": "next-react",
      "imports": "",
      "lines": 221,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "a305a6afb17a815e1c1254c7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next,yaml",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, CANONICAL_BASE_URL, FALLBACK_TEMPLATES, PLATFORM_API_KEY_NAME, PUBLIC_ROUTES, TRUST_POLICY_LINE, buildOpenApiDocument, fail | imports:@/lib/platphorm/identity, @/lib/spec-engine/types, next/server, yaml | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "API_ENDPOINTS,CANONICAL_BASE_URL,FALLBACK_TEMPLATES,PLATFORM_API_KEY_NAME,PUBLIC_ROUTES,TRUST_POLICY_LINE,buildOpenApiDocument,fail,hasPlatformAuth,isTrustedPlatphormUrl,legacyOk,ok,requirePlatformAuth,toOpenApiYaml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "386d0ee769497c80",
      "framework": "next-react",
      "imports": "@/lib/platphorm/identity,@/lib/spec-engine/types,next/server,yaml",
      "lines": 297,
      "logic_relevance": "primary",
      "name": "platform-contract",
      "normalized_name": "platform-contract",
      "package_manager": "pnpm",
      "path": "lib/platform-contract.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,process",
      "component_id": "881b79e72286df8cb70809f0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createRunId | imports:@/lib/db/client, @/lib/spec-engine/types | logic-score:85 | observability-score:55 | process-score:45",
      "exports": "createRunId",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b8d8abc11b355375",
      "framework": "next-react",
      "imports": "@/lib/db/client,@/lib/spec-engine/types",
      "lines": 311,
      "logic_relevance": "primary",
      "name": "spec-runs",
      "normalized_name": "spec-runs",
      "package_manager": "pnpm",
      "path": "lib/spec-runs.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "3a1c0f61e9e6faefe49421a7",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "@paralleldrive/cuid2",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CuidSet, createRequestId, createTraceCuid, cuids, generateCuids, isValidCuid | imports:@paralleldrive/cuid2 | logic-score:85 | observability-score:55",
      "exports": "CuidSet,createRequestId,createTraceCuid,cuids,generateCuids,isValidCuid",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "298d1aa722ffb62e",
      "framework": "next-react",
      "imports": "@paralleldrive/cuid2",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "cuids",
      "normalized_name": "cuids",
      "package_manager": "pnpm",
      "path": "lib/utils/cuids.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security,process",
      "component_id": "86fabce145b566d6cd88f84b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:diffSpecs, getDiffSummary | imports:./types | logic-score:85 | security-score:55 | process-score:45",
      "exports": "diffSpecs,getDiffSummary",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "adce2540790892a9",
      "framework": "next-react",
      "imports": "./types",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "diff",
      "normalized_name": "diff",
      "package_manager": "pnpm",
      "path": "lib/spec-engine/diff.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security,process",
      "component_id": "fc2d703cfbc04282fc9c7ac9",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "yaml",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:detectFormat, getSpecSummary, stringifySpec | imports:./types, yaml | logic-score:85 | security-score:55 | process-score:45",
      "exports": "detectFormat,getSpecSummary,stringifySpec",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c3ba0c17a8e2ff6",
      "framework": "next-react",
      "imports": "./types,yaml",
      "lines": 308,
      "logic_relevance": "primary",
      "name": "parser",
      "normalized_name": "parser",
      "package_manager": "pnpm",
      "path": "lib/spec-engine/parser.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,logic,observability,ai",
      "component_id": "cb4f07dc0b7ea7eea5a6a72c",
      "component_kind": "specification",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DiffChange, DiffResult, FormatDetection, GeneratedFile, Generation, GenerationResult, ParsedSpec, RepairChange | process-score:80 | logic-score:70 | observability-score:55 | ai-score:45",
      "exports": "DiffChange,DiffResult,FormatDetection,GeneratedFile,Generation,GenerationResult,ParsedSpec,RepairChange,RepairResult,Spec,SpecEndpoint,SpecPrompt,SpecResource,SpecTool,SpecType,SpecVersion,Template,ValidationError,ValidationInfo,ValidationResult,ValidationWarning",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cdc7b0c1f77b17f0",
      "framework": "next-react",
      "imports": "",
      "lines": 190,
      "logic_relevance": "secondary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/spec-engine/types.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,process,ai",
      "component_id": "406503d5848d97920d925ed3",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:quickValidate | imports:./types | logic-score:85 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "quickValidate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4c108cb96a29d7af",
      "framework": "next-react",
      "imports": "./types",
      "lines": 348,
      "logic_relevance": "primary",
      "name": "validator",
      "normalized_name": "validator",
      "package_manager": "pnpm",
      "path": "lib/spec-engine/validator.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,process,ai",
      "component_id": "e23280de7ed104634594180f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:suggestRepairs | imports:./types | logic-score:85 | process-score:45 | ai-score:45",
      "exports": "suggestRepairs",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6c5b84c6659196d2",
      "framework": "next-react",
      "imports": "./types",
      "lines": 280,
      "logic_relevance": "primary",
      "name": "repair",
      "normalized_name": "repair",
      "package_manager": "pnpm",
      "path": "lib/spec-engine/repair.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,logic",
      "component_id": "6e777efe3f130ac05faa6b74",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Sql, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "Sql,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e19e34d31288fb66",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/db/client.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,observability",
      "component_id": "0d7176728794573509fe4662",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:degradedItem, degradedList, protectedDegraded | imports:@/lib/platform-contract | logic-score:60 | backend-score:55 | observability-score:55",
      "exports": "degradedItem,degradedList,protectedDegraded",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c91635df8b99226",
      "framework": "next-react",
      "imports": "@/lib/platform-contract",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "degraded",
      "normalized_name": "degraded",
      "package_manager": "pnpm",
      "path": "lib/api/degraded.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,ai",
      "component_id": "32b47f01433fe937c17b8cb7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@jest/globals,chai,mocha,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TestConfig, generateTestSuite | imports:@/lib/spec-engine/types, @jest/globals, chai, mocha, vitest | logic-score:85 | observability-score:55 | ai-score:45 | uses-env",
      "exports": "TestConfig,generateTestSuite",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5feb84ce483d047c",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types,@jest/globals,chai,mocha,vitest",
      "lines": 415,
      "logic_relevance": "primary",
      "name": "tests",
      "normalized_name": "tests",
      "package_manager": "pnpm",
      "path": "lib/generators/clients/tests.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security,discovery,ai",
      "component_id": "caf361a92d258839352e0ac3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ActionManifestConfig, generateActionManifest | imports:@/lib/spec-engine/types | logic-score:85 | security-score:55 | discovery-score:55 | ai-score:45 | model-provider",
      "exports": "ActionManifestConfig,generateActionManifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7723ec6aa503c2fa",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 330,
      "logic_relevance": "primary",
      "name": "action-manifest",
      "normalized_name": "action-manifest",
      "package_manager": "pnpm",
      "path": "lib/generators/clients/action-manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,observability,ai",
      "component_id": "bacb3fda778c2563887fc735",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TypeScriptClientConfig, generateTypeScriptClient | imports:@/lib/spec-engine/types, zod | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "TypeScriptClientConfig,generateTypeScriptClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "607157755fdf8229",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types,zod",
      "lines": 277,
      "logic_relevance": "primary",
      "name": "typescript",
      "normalized_name": "typescript",
      "package_manager": "pnpm",
      "path": "lib/generators/clients/typescript.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic",
      "component_id": "e102eb99be16dc679734c106",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GenerateClientOptions, OutputFormat, generateClient, getAvailableFormats | imports:./action-manifest, ./curl, ./tests, ./typescript, @/lib/spec-engine/types | logic-score:85 | model-provider",
      "exports": "GenerateClientOptions,OutputFormat,generateClient,getAvailableFormats",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c66f3f809ba257e0",
      "framework": "next-react",
      "imports": "./action-manifest,./curl,./tests,./typescript,@/lib/spec-engine/types",
      "lines": 139,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/generators/clients/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "a360b163be1c1e0061a34144",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CurlConfig, generateCurlExamples | imports:@/lib/spec-engine/types | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CurlConfig,generateCurlExamples",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b8131aed4d024716",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 265,
      "logic_relevance": "primary",
      "name": "curl",
      "normalized_name": "curl",
      "package_manager": "pnpm",
      "path": "lib/generators/clients/curl.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation",
      "component_id": "13b7b566f2ec243c1a3785f7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IdentityConfig, generateIdentity, getCanonicalUrl, getServiceHeaders, platphormIdentity | imports:@/lib/spec-engine/types | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "IdentityConfig,generateIdentity,getCanonicalUrl,getServiceHeaders,platphormIdentity",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2371df7da372d8fa",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "identity",
      "normalized_name": "identity",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/identity.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration,security",
      "component_id": "2e6a04392ee9413091ade627",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RolePolicies, generatePolicies, hasPermission | imports:@/lib/spec-engine/types | logic-score:85 | integration-score:55 | security-score:55",
      "exports": "RolePolicies,generatePolicies,hasPermission",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e0058adb3eaedddf",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "policies",
      "normalized_name": "policies",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/policies.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "5feab61dfb95b8dbb7503c3a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ErrorCodes, Histogram, LogEntry, LogLevel, MetricNames, MetricPoint, ObservabilityConfig, ObservabilityContext | imports:./fingerprint.js, ./tracing.js, @/lib/spec-engine/types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ErrorCodes,Histogram,LogEntry,LogLevel,MetricNames,MetricPoint,ObservabilityConfig,ObservabilityContext,ResourceTiming,ToolTiming,createLogger,generateMetricsModule,generateObservability,metrics",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1e7efaa2346110fe",
      "framework": "next-react",
      "imports": "./fingerprint.js,./tracing.js,@/lib/spec-engine/types",
      "lines": 338,
      "logic_relevance": "primary",
      "name": "observability",
      "normalized_name": "observability",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/observability.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "7cc4d1941c78f5a516f6f7dd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@modelcontextprotocol/sdk,child_process,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:McpError, McpGeneratorOptions, RetryOptions, TimeoutOptions, ValidationResult, createCancellationToken, generateHttpTransport, generateMcpServer | imports:../errors/structured.js, ../observability.js, ../tracing.js, ../validation/schemas.js, ./deployment, ./fingerprint.js, ./identity, ./observability | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "McpError,McpGeneratorOptions,RetryOptions,TimeoutOptions,ValidationResult,createCancellationToken,generateHttpTransport,generateMcpServer,generateStdioTransport,isRetryable,prompts,registerPrompts,registerResources,registerTools,resources,tools,validateInput",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d569d6528842c25d",
      "framework": "next-react",
      "imports": "../errors/structured.js,../observability.js,../tracing.js,../validation/schemas.js,./deployment,./fingerprint.js,./identity,./observability,./observability.js,./persistence,./policies,./registry,./tags-generator,./tracing,./tracing.js,@/lib/spec-engine/types,@modelcontextprotocol/sdk/client/index.js,@modelcontextprotocol/sdk/client/stdio.js,@modelcontextprotocol/sdk/server/http.js,@modelcontextprotocol/sdk/server/index.js,@modelcontextprotocol/sdk/server/stdio.js,@modelcontextprotocol/sdk/types.js,child_process,vitest",
      "lines": 533,
      "logic_relevance": "primary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/core.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "1bb79bfced8b93c1343c4f48",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:StandardTags, TagsConfig, formatTagsForHeader, generateTags, getStandardTags, getTagsForLogging, parseTagsFromHeader | imports:./identity.js | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StandardTags,TagsConfig,formatTagsForHeader,generateTags,getStandardTags,getTagsForLogging,parseTagsFromHeader",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0a075229a62c6858",
      "framework": "next-react",
      "imports": "./identity.js",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "tags-generator",
      "normalized_name": "tags-generator",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/tags-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "d174faea2ff562fea2fac183",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CapabilitySummary, PromptSummary, RegistrationPayload, RegistryConfig, ResourceSummary, ServiceManifest, ToolSummary, buildDocsIndexPayload | imports:@/lib/spec-engine/types | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CapabilitySummary,PromptSummary,RegistrationPayload,RegistryConfig,ResourceSummary,ServiceManifest,ToolSummary,buildDocsIndexPayload,buildRegistrationPayload,capabilitySummary,generateRegistry,getCapabilitiesForLLM,manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8de3ae5c4808d1b4",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 286,
      "logic_relevance": "primary",
      "name": "registry",
      "normalized_name": "registry",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation,ai",
      "component_id": "d9d4bec2f823498b5f3d3a4d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@/src,@paralleldrive/cuid2,next,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ALLOWED_ORIGINS, COMMON_HEADERS, DENIED_ORIGINS, FingerprintContext, FullGeneratorConfig, GeneratedFile, GeneratorOutput, SUBDOMAIN_FAMILY | imports:./core, ./deployment, ./identity, ./observability, ./persistence, ./policies, ./registry, ./tags-generator | logic-score:85 | backend-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "ALLOWED_ORIGINS,COMMON_HEADERS,DENIED_ORIGINS,FingerprintContext,FullGeneratorConfig,GeneratedFile,GeneratorOutput,SUBDOMAIN_FAMILY,createStdioFingerprint,extractFingerprint,generateArtifactCuid,generateFullMCPProject,generateRequestCuid,generateResourceCuid,generateSessionCuid,generateToolCallCuid,generateTraceCuid,isOriginAllowed,isSubdomainFamily,isValidCuid",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e83b1668a75d5140",
      "framework": "next-react",
      "imports": "./core,./deployment,./identity,./observability,./persistence,./policies,./registry,./tags-generator,./tracing,@/lib/spec-engine/types,@/src/capabilities,@/src/db,@/src/fingerprint,@/src/manifest,@/src/mcp/http,@/src/observability,@paralleldrive/cuid2,next/server,vitest",
      "lines": 654,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,process,integration,observability,security,ai",
      "component_id": "a747a8f2a2980db3d08eff92",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:DeploymentConfig, EnvConfig, env, generateChangelog, generateContributingGuide, generateDeployment, generateEnvExample, generateEnvValidation | imports:@/lib/spec-engine/types | automation-score:95 | logic-score:85 | process-score:80 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | model-provider",
      "exports": "DeploymentConfig,EnvConfig,env,generateChangelog,generateContributingGuide,generateDeployment,generateEnvExample,generateEnvValidation,generatePackageJson,generateReadme,generateVercelJson,validateEnv",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "97f73a625fd1128c",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 384,
      "logic_relevance": "secondary",
      "name": "deployment",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/deployment.ts",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "34ad637d13811410882755ab",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PersistenceConfig, generateMigrationScript, generateNeonConfig, generatePersistence, generatePersistenceHelpers, helpers, sql | imports:@/lib/spec-engine/types | logic-score:85 | integration-score:55",
      "exports": "PersistenceConfig,generateMigrationScript,generateNeonConfig,generatePersistence,generatePersistenceHelpers,helpers,sql",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d96ac314e945cbc",
      "framework": "next-react",
      "imports": "@/lib/spec-engine/types",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "persistence",
      "normalized_name": "persistence",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/persistence.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,automation,ai",
      "component_id": "2397fdc21964f04a26cc223c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@paralleldrive/cuid2",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceContext, TracingConfig, createResourceTrace, createToolCallTrace, createTraceContext, cuids, formatTrace, generateTracing | imports:@paralleldrive/cuid2 | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "TraceContext,TracingConfig,createResourceTrace,createToolCallTrace,createTraceContext,cuids,formatTrace,generateTracing,isValidCuid",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8041f3da72283509",
      "framework": "next-react",
      "imports": "@paralleldrive/cuid2",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "tracing",
      "normalized_name": "tracing",
      "package_manager": "pnpm",
      "path": "lib/generators/mcp/tracing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "a203b3752981741c9fe42abf",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatphormIdentity, getCanonicalUrl, getEnvironment, platphormIdentity | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "PlatphormIdentity,getCanonicalUrl,getEnvironment,platphormIdentity",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "77d14a786a6014b5",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "identity",
      "normalized_name": "identity",
      "package_manager": "pnpm",
      "path": "lib/platphorm/identity.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "d9e6ed7cc7860ef7fbef772b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NETWORK_SERVICES, NETWORK_SERVICE_INFO, NetworkRequestOptions, NetworkResponse, NetworkServer, NetworkService, NetworkServiceInfo, NetworkStatus | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "NETWORK_SERVICES,NETWORK_SERVICE_INFO,NetworkRequestOptions,NetworkResponse,NetworkServer,NetworkService,NetworkServiceInfo,NetworkStatus,ToolCallInfo,TraceApiDocs,TraceDetail,TraceItem,TraceSpan,getAllNetworkServices,getNetworkServiceInfo,networkClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e97516a8b5e14b3c",
      "framework": "next-react",
      "imports": "",
      "lines": 486,
      "logic_relevance": "primary",
      "name": "network-client",
      "normalized_name": "network-client",
      "package_manager": "pnpm",
      "path": "lib/platphorm/network-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "1587947883f61deb2c16e001",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintContext, TraceContext | imports:../utils/cuids, ./identity, ./tags, next/headers | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "FingerprintContext,TraceContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba21826052649f31",
      "framework": "next-react",
      "imports": "../utils/cuids,./identity,./tags,next/headers",
      "lines": 71,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/platphorm/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "0e1fe8db5e7a7944c781fcd1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AggregatedDiscovery | imports:./network-client | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "AggregatedDiscovery",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6582181cd2ce0df8",
      "framework": "next-react",
      "imports": "./network-client",
      "lines": 128,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/platphorm/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,ai",
      "component_id": "5cc178aeb40fedba9ec27971",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CANONICAL_METADATA, CanonicalMetadata, CapabilityItem, EndpointItem, generateHreflangTags, generateJsonLd, generateMCPRegistration, generateNetworkManifest | imports:./identity | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "CANONICAL_METADATA,CanonicalMetadata,CapabilityItem,EndpointItem,generateHreflangTags,generateJsonLd,generateMCPRegistration,generateNetworkManifest,generateOpenGraph,generateWebManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5757a8b12056b154",
      "framework": "next-react",
      "imports": "./identity",
      "lines": 360,
      "logic_relevance": "primary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/platphorm/metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d0122814bec74e06057eac2f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:StandardTags, formatTagsForHeader, getStandardTags, parseTagsFromHeader | imports:./identity | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StandardTags,formatTagsForHeader,getStandardTags,parseTagsFromHeader",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c3684847ad3e095",
      "framework": "next-react",
      "imports": "./identity",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "tags",
      "normalized_name": "tags",
      "package_manager": "pnpm",
      "path": "lib/platphorm/tags.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "366a5a9bccba5371df6f2b7e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_LOCALE, FALLBACK_LOCALE, I18nConfig, Locale, LocalizedString, RTL_LOCALES, SUPPORTED_LOCALES, detectLocale | imports:@/lib/platphorm/metadata | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DEFAULT_LOCALE,FALLBACK_LOCALE,I18nConfig,Locale,LocalizedString,RTL_LOCALES,SUPPORTED_LOCALES,detectLocale,formatDate,formatFileSize,formatNumber,formatRelativeTime,generateIdentifier,getDir,getI18nConfig,getMessages,messages,slugify,t",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c6e5b3178c570a39",
      "framework": "next-react",
      "imports": "@/lib/platphorm/metadata",
      "lines": 403,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-spec-workbench",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2dc12d70c203f7998722de47",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83447818760e6227",
      "framework": "next-react",
      "imports": "",
      "lines": 5472,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "6203317caeb4393911892723",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bbde0336fbb95e53",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "a4d74df701a317c3382a509d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9c437316406e994b",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "c960250922182733e48e04e4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58c78ffd25a3691a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 96,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "fd8d3ded8ce51573e197c99c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "util",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Request, Response | imports:util | observability-score:55",
      "exports": "Request,Response",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "370e4ef33fce264d",
      "framework": "next-react",
      "imports": "util",
      "lines": 47,
      "logic_relevance": "none",
      "name": "jest.setup",
      "normalized_name": "jest-setup",
      "package_manager": "pnpm",
      "path": "jest.setup.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "594809c1180200ccc9bc20a0",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "977914ff92ec5c74",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "960a7e6a9f9609929522c637",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e37ffc2b41e8fee",
      "framework": "next-react",
      "imports": "",
      "lines": 12378,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ec53e1bd173fb55a71acd8b4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a2c109206a61c605",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "e2ca6ea5938541550c6829b2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3a8eadc49e7a1877",
      "framework": "next-react",
      "imports": "next",
      "lines": 24,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "a325a6e84b0e985c5ff461e9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Icon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a1a98f7f2a2d294",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 34,
      "logic_relevance": "none",
      "name": "icon",
      "normalized_name": "icon",
      "package_manager": "pnpm",
      "path": "app/icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "22bc2eff40d32655a2d77053",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ad2643b9ce4d35e",
      "framework": "next-react",
      "imports": "./page,@testing-library/react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a39b2d259899ba5d9a1de954",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Image, alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Image,alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "760f01de8c900f6a",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 58,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "c4a7e6b1db2887a3748d936c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "314957d5dd2eb78d",
      "framework": "next-react",
      "imports": "next",
      "lines": 38,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f3be3279ef326d81ca443b65",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/react, next, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3530ed0aa9cf59f8",
      "framework": "next-react",
      "imports": "@vercel/analytics/react,next,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e1fa5db4ee26e392919b391a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "725bf843179ca818",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 127,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e79a89aa85061938d8653d6a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "23bd4541018fb135dc2011f6",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5cad14f742846d32",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "2953322245eb5e18135c8441",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "223ef650ea1255e0",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,process",
      "component_id": "c37d7d661e8b3a82def98a2e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:next | frontend-score:115 | ui-score:55 | process-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a34b0dff217401d4",
      "framework": "next-react",
      "imports": "next",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "b269b3f967edadb9403d70c3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostcardDetailsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PostcardDetailsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73fd33df1c1be256",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation,react",
      "lines": 459,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/postcard/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,ai",
      "component_id": "2ea0d40751ca8ed72cdbf4fb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:next | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca0a0d8c6288cd01",
      "framework": "next-react",
      "imports": "next",
      "lines": 37,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "7d24c41dc27579ee14e516bb",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6fefacd6bd766a59",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,observability,security",
      "component_id": "d56b55112c3397f8a497b308",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d67bde9ab717204d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "47f5b00a0d1c6c9af024ca2c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6384926b26525e31",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ba3556c0934de36554d9e115",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminPage | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdminPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2d9478eb301cbb3",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link,react",
      "lines": 343,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "frontend,ui,automation",
      "component_id": "218cbcb12a1c14ec3b714230",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90e6f47a02aca050",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1b366f635a2ace6d27654a83",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "926acbd8dd5b9cbf",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation,react",
      "lines": 242,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "frontend,ui,automation",
      "component_id": "d12f74239cc02f1b78678e84",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb49133f9d703d07",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/register/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9b33d4d10db43a9877bab227",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegisterPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RegisterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73452a3ec2685724",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link,next/navigation,react",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6a4a69230d3977352b51a6d6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2cccae3647b2ac7c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link,react",
      "lines": 308,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,discovery",
      "component_id": "c24f4c40a8253fcef8685d46",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f2db543ee94d7d00",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "aca4e70d4f29e69e1bdf44b3",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/history/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "142932a951ac724447a5abfc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HistoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a5687f1e80bed98a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,lucide-react,next/link,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/history/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,observability,security",
      "component_id": "a58568cf86c791f42f2d6ebf",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, @/lib/db, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa80fb22da08d768",
      "framework": "next-react",
      "imports": "./route,@/lib/db,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/register/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "409c7a4b130463b38219b873",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91ac5ec7af058833",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "70e620c3a9e244fe587c901b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/auth | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5008dc82bda76d64",
      "framework": "next-react",
      "imports": "./route,@/lib/auth",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/login/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d52902d6d736c48b39639ba5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/auth, @neondatabase/serverless, next/server | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24a94849e411420f",
      "framework": "next-react",
      "imports": "@/lib/auth,@neondatabase/serverless,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/login/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8fd6b7b8d58238430a0b9f36",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f58d30abb19f0a03",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "1f5e2add306b55b4527c92c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0e6fc5bd3e463a02",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/postcards/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "16845e690dc29755a2560cc3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "96cf609e89f93110",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/postcards/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "ae5006f6277bcf545de71dcc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/auth, @/lib/db, @/lib/stannp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "360805c0b07cd4a3",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/stannp,next/server",
      "lines": 133,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/postcards/[id]/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "2b9d423777725e9ab3417cec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/stannp-client, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e1be1d5d412310af",
      "framework": "next-react",
      "imports": "@/lib/stannp-client,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/postcards/[id]/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a4f6d9a17d41a4a7cf0fd333",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/stannp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0a417c4b7d13372",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/stannp,next/server",
      "lines": 270,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/postcards/send/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "01588b46f06c313831086847",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "33c99112be9f9325",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "eab4bd4b8506e2606ef98389",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a41226aff5c83168",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/save-stannp-key/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "25eb52ea6efb51c486fe475b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/stannp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2d53c1137ab92fb2",
      "framework": "next-react",
      "imports": "@/lib/stannp,next/server",
      "lines": 43,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/test-stannp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "022d286ec76fe748e64a8b96",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/stannp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f8ccd3c7c39b323",
      "framework": "next-react",
      "imports": "@/lib/stannp,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/admin/stannp-status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability",
      "component_id": "0e6e63901f15a462520243d7",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, @/lib/db, @/lib/session | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a625a7b1fdcc7b06",
      "framework": "next-react",
      "imports": "./route,@/lib/db,@/lib/session",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/profile/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "4587e73283d99fd81665f6f8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/session, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5d042d59e7df5a9d",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/session,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/user/profile/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "e892f3c2f7e168713ae0592f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ad0655a5e872a18c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "047898abe6e81a60d83db0ad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc799431e322547d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability",
      "component_id": "cc941d5a8853670938d0b193",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "924f2c0946d6361a",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/recipients/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend,observability",
      "component_id": "26ca5f474fba0522e0d8eefb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a260bd3279d1ba10",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/test-db/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d1211843a3c24d4e9ebee0f0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/stannp, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f39ae564a2bb08a",
      "framework": "next-react",
      "imports": "@/lib/stannp,next/server",
      "lines": 91,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability",
      "component_id": "498acdcfdd797ab98dcf774d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2192de184659a639",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/claws/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "2b6853a36c03588129d64396",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "62d2eee05328cb36",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/stannp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "a5331d59e9d76c9f5b876c61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a99174a6a992cb5b",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/credits/transactions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "20c74254de65b11d2706e9e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/session, next/server, stripe | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "daf0d5ff2f46f330",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/session,next/server,stripe",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/credits/purchase/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability",
      "component_id": "3fabdfb9cb233652d70e6881",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/stannp, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "64798cdb0c113f95",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/stannp,next/server",
      "lines": 357,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "34ccbbfa676e18a4613a427c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SendPostcardPage | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/file-upload, @/components/ui/input, @/components/ui/label, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SendPostcardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31e5744f240e4c85",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/file-upload,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,@/lib/image-processing,lucide-react,next/link,next/navigation,react",
      "lines": 825,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/send/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 10
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "40bc7cc898c53650525f07be",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@stripe/react-stripe-js,@stripe/stripe-js,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreditsPage | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @stripe/react-stripe-js, @stripe/stripe-js, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "CreditsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d51e2d0f852eb6e0",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@stripe/react-stripe-js,@stripe/stripe-js,lucide-react,next/link,react",
      "lines": 332,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/credits/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "7692e5813392aa74152de511",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9f0854f1f0e21942",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/login/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "adcf1e939276fdd6c88845f0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ea9a2b5b35d9e97",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link,next/navigation,react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e45f8844010d2e7cbc198a04",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "a02b29075f8fbe18786437bb",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "42b38782b445ee9ac61b613a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e8e65b8aaaa07ef9",
      "framework": "next-react",
      "imports": "next/link,next/navigation",
      "lines": 35,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6e3ffdc8a0b127022e1a81a5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminLink | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "AdminLink",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f5fa123c45aa991",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 16,
      "logic_relevance": "none",
      "name": "admin-link",
      "normalized_name": "admin-link",
      "package_manager": "pnpm",
      "path": "components/admin-link.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend",
      "component_id": "ff8deca9f9007d424eacec5d",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./button, @testing-library/react, react | ui-score:140 | frontend-score:115",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c72c2e171cf3dc5d",
      "framework": "next-react",
      "imports": "./button,@testing-library/react,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c3bd6794a23e2bfa4dd09839",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "d9e9ef32b37664a0f15c36a6",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./input, @testing-library/react, react | ui-score:140 | frontend-score:115",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f73cd95dc2fe0fd4",
      "framework": "next-react",
      "imports": "./input,@testing-library/react,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "input.test",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "b8dc64c7044d8c10c938942f",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./card, @testing-library/react, react | ui-score:140 | frontend-score:115",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7a6001f0538d82fc",
      "framework": "next-react",
      "imports": "./card,@testing-library/react,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "card.test",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "27bd464e317335d331476f89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "de82114b6ee98214f0c4c5f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "33f92a56a83f9ce2",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f2b3cc773a7d903e5066497c",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./textarea, @testing-library/react, react | ui-score:140 | frontend-score:115",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b10fc4d8e0438730",
      "framework": "next-react",
      "imports": "./textarea,@testing-library/react,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "textarea.test",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "7923e142a08aea9ba79b9dd2",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./badge, @testing-library/react, react | ui-score:140 | frontend-score:115",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3daa08707a8196fa",
      "framework": "next-react",
      "imports": "./badge,@testing-library/react,react",
      "lines": 12,
      "logic_relevance": "none",
      "name": "badge.test",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8f00970fdf545c5934a3b9ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:FileUpload | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/label, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "FileUpload",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fbba0bb027590413",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/label,lucide-react,react",
      "lines": 186,
      "logic_relevance": "none",
      "name": "file-upload",
      "normalized_name": "file-upload",
      "package_manager": "pnpm",
      "path": "components/ui/file-upload.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fe71f4aa167bb2a438af9bbe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ba84b7c4e017f18f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "94016f69dcf284cc5beb1b97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "d20136fd62798909fa1d3739",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./label, @testing-library/react, react | ui-score:140 | frontend-score:115",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5793ca08c1f16543",
      "framework": "next-react",
      "imports": "./label,@testing-library/react,react",
      "lines": 12,
      "logic_relevance": "none",
      "name": "label.test",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ff784ccdf6f7db857ad4d8df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6f901a655730aa224e756d81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea, TextareaProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea,TextareaProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d40d85c82fde623a",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d928e28ea0310476efecbbcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "dec037b050d7f07d204a9b38",
      "component_kind": "ui-primitive",
      "confidence": 70,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/button, @testing-library/react | ui-score:125 | frontend-score:60",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8949d86923c42468",
      "framework": "next-react",
      "imports": "@/components/ui/button,@testing-library/react",
      "lines": 9,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "__tests__/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "7957ae8d1811df3267e57393",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../app/page, @testing-library/react | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75a9718042eb7528",
      "framework": "next-react",
      "imports": "../app/page,@testing-library/react",
      "lines": 9,
      "logic_relevance": "none",
      "name": "home.test",
      "normalized_name": "home",
      "package_manager": "pnpm",
      "path": "__tests__/home.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "9f2b7307db6427e8133fc619",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,next,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/breadcrumbs, @testing-library/react, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb34cb4da71d25ae",
      "framework": "next-react",
      "imports": "../../components/breadcrumbs,@testing-library/react,next/navigation,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "__tests__/components/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ba1f4c03fcc1a646b0a247c0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5c0e7a7097994b71",
      "framework": "next-react",
      "imports": "../../app/api/health/route",
      "lines": 28,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/api/health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "d2f843bd76e452aa254e9b60",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5395980bcc744bca",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "d59dcce2962b97a72b304211",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ImageProcessingOptions, ProcessedImage, validateImageForStannp | logic-score:85",
      "exports": "ImageProcessingOptions,ProcessedImage,validateImageForStannp",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1cc849c12536ee03",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "image-processing",
      "normalized_name": "image-processing",
      "package_manager": "pnpm",
      "path": "lib/image-processing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "e4fdeaa52853b61092c323eb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./auth | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6e9202c918d4d26a",
      "framework": "next-react",
      "imports": "./auth",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "6ebb6aa8895616f11e0818a9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:StannpClient, StannpPostcardRequest, StannpRecipient, StannpResponse, stannpClient | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "StannpClient,StannpPostcardRequest,StannpRecipient,StannpResponse,stannpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d11f07f16696ca9b",
      "framework": "next-react",
      "imports": "",
      "lines": 161,
      "logic_relevance": "primary",
      "name": "stannp-client",
      "normalized_name": "stannp-client",
      "package_manager": "pnpm",
      "path": "lib/stannp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "20e62ff7fd49ab0638bb9109",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:analytics | imports:@vercel/analytics | logic-score:60 | observability-score:55 | automation-score:45",
      "exports": "analytics",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d421b4aea8476370",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "analytics",
      "normalized_name": "analytics",
      "package_manager": "pnpm",
      "path": "lib/analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d83a8d5de1e30838b7b73c11",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "959c8cafcd28934476b87f4d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./auth, next/server | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1811f968affe88cb",
      "framework": "next-react",
      "imports": "./auth,next/server",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "session",
      "normalized_name": "session",
      "package_manager": "pnpm",
      "path": "lib/session.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "aebc527ddae7aedefceeba39",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@vercel/blob",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@vercel/blob | logic-score:60 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "78965f5ae233bfaa",
      "framework": "next-react",
      "imports": "@vercel/blob",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "blob-storage",
      "normalized_name": "blob-storage",
      "package_manager": "pnpm",
      "path": "lib/blob-storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "aea35669a0102cd7d2cd10f7",
      "component_kind": "backend-module",
      "confidence": 95,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:45 | uses-env",
      "exports": "sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "438561f4f8e38f2b",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "b56aaa1f8226124c7f8b815b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,bcryptjs,jsonwebtoken",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthResult, User, generateToken, verifyToken | imports:@/lib/db, bcryptjs, jsonwebtoken | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AuthResult,User,generateToken,verifyToken",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "631a5cca466f199c",
      "framework": "next-react",
      "imports": "@/lib/db,bcryptjs,jsonwebtoken",
      "lines": 216,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "bb59a0fecd07da8510d2c266",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:StannpAPI, StannpPostcardData, StannpRecipient, stannp, stannpClient | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "StannpAPI,StannpPostcardData,StannpRecipient,stannp,stannpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "13f673efeab60bcd",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "stannp",
      "normalized_name": "stannp",
      "package_manager": "pnpm",
      "path": "lib/stannp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-stannp-api-wrapper",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "2cb42034f3288ac95f511943",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9c4976215a36ebe",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "pre-commit-check",
      "normalized_name": "pre-commit-check",
      "package_manager": "unknown",
      "path": "pre-commit-check.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "integration,automation",
      "component_id": "d43dfdc79bbdee79f08e2e61",
      "component_kind": "integration-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Integration component for deployment; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a9716894459d0189",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "unknown",
      "path": "vercel.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security",
      "component_id": "7a56688eeeb8882a4dc617b2",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "168a1e8caa4b5b76",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "unknown",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "23389cfc7ca056fd7e8a1447",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "aff1da3002958733",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "3144adb761e7e12818cdeaab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppleIcon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "AppleIcon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a83041d2d9a50eee",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 29,
      "logic_relevance": "none",
      "name": "apple-icon",
      "normalized_name": "apple-icon",
      "package_manager": "unknown",
      "path": "app/apple-icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "acefed13717d6a9b17a8dab2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Icon, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Icon,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d33edd32d21c24a9",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 29,
      "logic_relevance": "none",
      "name": "icon",
      "normalized_name": "icon",
      "package_manager": "unknown",
      "path": "app/icon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,security,automation",
      "component_id": "0e271e87d9f6683b56b2119c",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/breadcrumbs, @/components/layout/footer, @/components/layout/top-bar, @/components/theme-provider, @/lib/config, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9981482d679fbfcc",
      "framework": "next-react",
      "imports": "@/components/layout/breadcrumbs,@/components/layout/footer,@/components/layout/top-bar,@/components/theme-provider,@/lib/config,@vercel/analytics/next,next,next/font/google",
      "lines": 155,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b10a652ab9a43ab84cc73588",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/svg/drop-zone, @/components/svg/svg-preview, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/config, @/lib/svg-catalog, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1e0ca05ad1bc294",
      "framework": "next-react",
      "imports": "@/components/svg/drop-zone,@/components/svg/svg-preview,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/config,@/lib/svg-catalog,lucide-react,next/link,react",
      "lines": 283,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4d2586f6d3bfbb4f805a7f60",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "ea1179ea16e1c4372fe5f137",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/discovery, @/lib/network-discovery, @/lib/svg-catalog | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "94a3ec8bc9d66ad4",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/discovery,@/lib/network-discovery,@/lib/svg-catalog",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "79a5e2ad20b1e18e6c285a53",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f5dc45a08e0256a6",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/discovery",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "997fad95d8ca556342a10457",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/discovery | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "da06d1a38eb81c11",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/discovery",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "795dbc4733d97efdaaeed74c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConverterPage | imports:@/components/svg/drop-zone, @/components/svg/svg-preview, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/select, @/components/ui/slider, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ConverterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "249077dbdacf7dc8",
      "framework": "next-react",
      "imports": "@/components/svg/drop-zone,@/components/svg/svg-preview,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/select,@/components/ui/slider,lucide-react,react",
      "lines": 378,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/converter/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6f8c459e861cf822973ec875",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:OptimizerPage | imports:@/components/svg/drop-zone, @/components/svg/svg-preview, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/textarea | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "OptimizerPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44ceda980d086748",
      "framework": "next-react",
      "imports": "@/components/svg/drop-zone,@/components/svg/svg-preview,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/textarea,@/lib/config,@/lib/svg-utils,lucide-react,react",
      "lines": 338,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/optimizer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "d9db250b78a2855433a28f91",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/accordion, @/lib/config, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "888bb2f2d88fb989",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/lib/config,next",
      "lines": 66,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "eaf61907d4122d32206f94a9",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/discovery, @/lib/network-discovery | backend-score:125 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "42d092af2e519620",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/network-discovery",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "186026e6723b1153d4e2cba3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/svg-catalog | backend-score:125 | ai-score:75 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1baec4ace4c11b59",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/svg-catalog",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7c9c66abdbebe0a18b2ca4c4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a315412796fc8e3",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "be9cfb9c7bf8edd9e89ea383",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f3acf4ae7d6cfe1b",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "408ffb43d74146f0192a37a5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ddc355ceed812dda",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "436254b83009297e77f7b738",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,isomorphic-dompurify,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/tabs, @/lib/svg-utils, isomorphic-dompurify, lucide-react, next/link | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "GalleryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b31a6e343ffa736a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/tabs,@/lib/svg-utils,isomorphic-dompurify,lucide-react,next/link,react",
      "lines": 188,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,process",
      "component_id": "86a7ff59d2c29c3536a98f78",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc1a32011b8530fa",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,security,discovery,automation",
      "component_id": "b206822b908fe61bb7f278df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/discovery, @/lib/network-discovery | backend-score:125 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4dbb25e28184a98c",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/network-discovery",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "cf638546694021d59c30166b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:GeneratorPage | imports:@/components/svg/svg-preview, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/slider, @/components/ui/switch, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GeneratorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfa6258fd532ce0d",
      "framework": "next-react",
      "imports": "@/components/svg/svg-preview,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/slider,@/components/ui/switch,@/components/ui/tabs,@/lib/svg-utils,lucide-react,next/navigation,react",
      "lines": 607,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/generator/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "f9923357c151290a7a4cdd81",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "57f725c794b12b08",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8e00c095481c3b9d66e01c1a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-operations, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "36490d6cc67729c6",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-operations,nanoid,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "0de23acb5db346d53b1b6428",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-operations, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "413e3ba473cfa278",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-operations,nanoid,next/server",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/optimize/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "0aef13990d9925ec58de1709",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-operations, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b4944c1777b84e3c",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-operations,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/data-url/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "be0770f1bdfbfc965fc0f5a0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-catalog, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9c31370a2831cb05",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-catalog,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/gallery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c10a7ac2514b681d358421ad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-catalog, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "32875a0911d19c03",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-catalog,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/gallery/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4c539028df386d0dca97e224",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9674577a7a503fac",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,observability",
      "component_id": "b606c0163ee50bdc2a0b90ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:EMOJI_API, GET, POST | imports:@/lib/svg-utils, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "EMOJI_API,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bae9dbc9824a5f32",
      "framework": "next-react",
      "imports": "@/lib/svg-utils,next/server",
      "lines": 155,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/emoji/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "73706c44e90319113b6f92dc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-operations, @/lib/svg-utils, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "84c7a96552a6fcbb",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-operations,@/lib/svg-utils,nanoid,next/server",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/generate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e43dbe712ad5c3041c8e9ae4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-catalog, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "834893a68d8166a5",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-catalog,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "87bd6e5739d8857fd47c0959",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-catalog, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bb2318e69a759ec",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-catalog,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/templates/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a499fcfa4ae58470e2c5150e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-operations, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7417c23db9e4e0b2",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-operations,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5ae7e878180bb0dfdc754702",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-response, @/lib/platform-trace, @/lib/svg-operations, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8a83fce2eb2bd3f7",
      "framework": "next-react",
      "imports": "@/lib/platform-response,@/lib/platform-trace,@/lib/svg-operations,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/v1/convert/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend",
      "component_id": "41422b71d77542327d5a5a5e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/app/api/v1/validate/route | backend-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c4d055b9bc27901",
      "framework": "next-react",
      "imports": "@/app/api/v1/validate/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "45b0e9cb06bd3b9e920d5942",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/app/api/v1/optimize/route | backend-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8b520ba4aba91ac4",
      "framework": "next-react",
      "imports": "@/app/api/v1/optimize/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/optimize/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c8d725dd5d13878f576448ee",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/app/api/v1/data-url/route | backend-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6834b7116b9601c",
      "framework": "next-react",
      "imports": "@/app/api/v1/data-url/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/data-url/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "3a1d8359328d2600970c527c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/v1/gallery/route | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4e5e4ba292486e32",
      "framework": "next-react",
      "imports": "@/app/api/v1/gallery/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/gallery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "cf490f7e1498d565e19d107c",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/v1/gallery/[slug]/route | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "257e0265f7ead666",
      "framework": "next-react",
      "imports": "@/app/api/v1/gallery/[slug]/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/gallery/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation,ai",
      "component_id": "ce884a9614c6f3055c7e9632",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,qrcode,svgo",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/network-discovery, @/lib/platform-response, @/lib/platform-trace, @/lib/svg-catalog, next/server, qrcode, svgo | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f4683f3aaedd183",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/network-discovery,@/lib/platform-response,@/lib/platform-trace,@/lib/svg-catalog,next/server,qrcode,svgo",
      "lines": 120,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "89d145c0dec2c823a3de3d82",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/network-discovery, @/lib/platform-response, @/lib/platform-trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62acbb92b73eb46c",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/network-discovery,@/lib/platform-response,@/lib/platform-trace,next/server",
      "lines": 80,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/network/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "a922f0085ed04c3c3337b1e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/discovery, @/lib/platform-response, @/lib/platform-trace, @/lib/svg-catalog, @/lib/svg-operations, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70059900725c7eb1",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/discovery,@/lib/platform-response,@/lib/platform-trace,@/lib/svg-catalog,@/lib/svg-operations,next/server",
      "lines": 276,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process,ai",
      "component_id": "458ff1ca8a495d5b6f28c85c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "38df69c66b5c4146",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/discovery,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "4893bc9cd99d5fb735133f73",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/app/api/v1/generate/route | backend-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72dec14728e9642f",
      "framework": "next-react",
      "imports": "@/app/api/v1/generate/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/generate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "ced32a1711b0cc4f9a641084",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/v1/templates/route | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ed994f9e7cb55fbe",
      "framework": "next-react",
      "imports": "@/app/api/v1/templates/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "a27cea6dfd8db775d0bb3880",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/api/v1/templates/[slug]/route | backend-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0b50aa355d86e7bd",
      "framework": "next-react",
      "imports": "@/app/api/v1/templates/[slug]/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/templates/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,security,automation",
      "component_id": "5a93085b28f86704d3df3409",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/config, @/lib/platform-response, nanoid, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "93232ed1bc82e0d9",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/platform-response,nanoid,next/server",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6165d1472fe44bfc63eed20f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/app/api/v1/stats/route | backend-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37b75fd4a7bc5039",
      "framework": "next-react",
      "imports": "@/app/api/v1/stats/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "655e6b21638ad39d1859dfef",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/app/api/v1/convert/route | backend-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a61f7cd2e546c41f",
      "framework": "next-react",
      "imports": "@/app/api/v1/convert/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/convert/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "9f4f507d6941145e64ae8634",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "174eee5d2d30755e",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/discovery",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "f5d68829eab883a22ed577d7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1400a6d1e6e4e9f",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "d34cadef87848055cab8d94c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config | backend-score:125 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5a9d780f5293d82",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "abb5906f1ff28bf880e0ed28",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/discovery, @/lib/network-discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6ebb469f3df5977c",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/network-discovery",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "3f7f02465f85be64651057b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a703b2ceb3d819a",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "461114091d592aa3901a10f2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/svg-utils | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aff1c3fad6637d01",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/svg-utils",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/sitemap-templates.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "5f621837ac2043de097d3da4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@monaco-editor/react,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:EditorPage | imports:@/components/svg/drop-zone, @/components/svg/svg-preview, @/components/svg/svg-tree-view, @/components/ui/button, @/components/ui/tabs, @/components/ui/tooltip, @/lib/svg-utils, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "EditorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd1638fbb2099b91",
      "framework": "next-react",
      "imports": "@/components/svg/drop-zone,@/components/svg/svg-preview,@/components/svg/svg-tree-view,@/components/ui/button,@/components/ui/tabs,@/components/ui/tooltip,@/lib/svg-utils,@/lib/utils,@monaco-editor/react,lucide-react,next/dynamic,react",
      "lines": 469,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/editor/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,backend,observability",
      "component_id": "be50d8b6199b7138c7210aa9",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/generate/route, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa6d79e051f2baa5",
      "framework": "next-react",
      "imports": "@/app/api/v1/generate/route,next/server,vitest",
      "lines": 40,
      "logic_relevance": "none",
      "name": "generate.test",
      "normalized_name": "generate",
      "package_manager": "unknown",
      "path": "tests/app/api/v1/generate.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,backend,observability",
      "component_id": "b3bd4e5f0a4f7a00c65aa810",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/validate/route, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec42d33049e094d6",
      "framework": "next-react",
      "imports": "@/app/api/v1/validate/route,next/server,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "validate.test",
      "normalized_name": "validate",
      "package_manager": "unknown",
      "path": "tests/app/api/v1/validate.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,backend,observability",
      "component_id": "5f8c5ae2eb29b8b8df3f540f",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/optimize/route, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a08aaec6a7e5e856",
      "framework": "next-react",
      "imports": "@/app/api/v1/optimize/route,next/server,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "optimize.test",
      "normalized_name": "optimize",
      "package_manager": "unknown",
      "path": "tests/app/api/v1/optimize.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,backend,observability",
      "component_id": "be1257c123054adeaca6c3d7",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/convert/route, @/app/api/v1/data-url/route, @/app/api/v1/gallery/route, @/app/api/v1/stats/route, @/app/api/v1/templates/route, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2101e69df5826fe",
      "framework": "next-react",
      "imports": "@/app/api/v1/convert/route,@/app/api/v1/data-url/route,@/app/api/v1/gallery/route,@/app/api/v1/stats/route,@/app/api/v1/templates/route,next/server,vitest",
      "lines": 56,
      "logic_relevance": "none",
      "name": "svg-tools.test",
      "normalized_name": "svg-tools",
      "package_manager": "unknown",
      "path": "tests/app/api/v1/svg-tools.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,backend,integration,observability,ai",
      "component_id": "f1239d13fc366f669e2a806c",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next,vitest",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/mcp/route, next/server, vitest | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9179eecb07ec9fa",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,next/server,vitest",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "tests/app/api/mcp/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "7396e36e63bc12a3417a942e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/svg/drop-zone, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ccb8efb4170a220",
      "framework": "next-react",
      "imports": "@/components/svg/drop-zone,@testing-library/react,react,vitest",
      "lines": 14,
      "logic_relevance": "none",
      "name": "DropZone.test",
      "normalized_name": "drop-zone",
      "package_manager": "unknown",
      "path": "tests/components/DropZone.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "4dd2893cac85a80f6e8460c6",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react,vitest",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/svg/svg-preview, @testing-library/react, react, vitest | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6039af463d96e67d",
      "framework": "next-react",
      "imports": "@/components/svg/svg-preview,@testing-library/react,react,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "SVGPreview.test",
      "normalized_name": "svgpreview",
      "package_manager": "unknown",
      "path": "tests/components/SVGPreview.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "103adbf28f2c0af8665491af",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "4aa12642d2227fe8b3709fd2",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "unknown",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "478263782fca3a9a37cdac91",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SvgNode, SvgTreeView, parseSvgToTree | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SvgNode,SvgTreeView,parseSvgToTree",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f238b877000539a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 314,
      "logic_relevance": "none",
      "name": "svg-tree-view",
      "normalized_name": "svg-tree-view",
      "package_manager": "unknown",
      "path": "components/svg/svg-tree-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "1c5ef14a37b6d3c5a9a73a8c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DropZone | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "DropZone",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85f35a45361a6cf0",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "drop-zone",
      "normalized_name": "drop-zone",
      "package_manager": "unknown",
      "path": "components/svg/drop-zone.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "46dd7120e0a813b98b458a4b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,isomorphic-dompurify,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SVGPreview | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/svg-utils, @/lib/utils, isomorphic-dompurify, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SVGPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3434b8aff5938f6f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/svg-utils,@/lib/utils,isomorphic-dompurify,lucide-react,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "svg-preview",
      "normalized_name": "svg-preview",
      "package_manager": "unknown",
      "path": "components/svg/svg-preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "54dd2f12810aa2022247ab71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "unknown",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4e4d485d2f388a0cd245c2ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "unknown",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "38a816cbdeca524ebcd38f41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "unknown",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2bc2bae799b7ad1e88026af8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "unknown",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bd0d6bf0fa9800ac2c41934f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "937e255dc724cea8b5c311ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "unknown",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4969f8175597c23ad9a00d41",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "unknown",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "8bf61d837ffa1eed259a3066",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4c8e7f67390cefa227b5cb3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "unknown",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cc2fcb977328c21afbc4fbf8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "unknown",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "bbe53eea0fa207fd2741bd37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "unknown",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "ead3743aec60bb635ce52735",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "unknown",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "15952b01bc1787a8f10c3b8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "unknown",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "586628894621177549c18e1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "63ba6ea2c1b15e94ff25bf9a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "unknown",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dde7f982073c97804bf503e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "unknown",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "69e3f5be77812ff666d64a95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "unknown",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4095970592d683851cb9bb7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "unknown",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "383ddc7a4d59237c946eaeca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "unknown",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c29d9d41fd93c9b7bc2220e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "unknown",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c2286508fd8f92713771c5be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "unknown",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "576a0aa69c7ef3c4bec1a928",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "unknown",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8c3629ff87be332c5edefdd7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "unknown",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b1c619347757ecb48cca085b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "unknown",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "94543535c8767a85c62832a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "unknown",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "43ea09d5516645e5bb1ac03f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5179eaff146f832b8c465858",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "unknown",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "5290570858e04ce1601fd83c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "unknown",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9b033a8c3cb8b1afae448fe3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "unknown",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "68fff669ab9531563ba676a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "unknown",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "297c14c9de118c2fd01a8eae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "unknown",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "343e14c7136c3ba5673172fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "unknown",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "629fd749f20f6d47fa71cb7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "unknown",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9ecbb5332bcf1bb584074135",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "unknown",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ad89b7099ce338df02817b11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "unknown",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "1b5bcd308bbbfe42d8ca036f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "unknown",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f111678d8b27ed5e4d7076b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "unknown",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6df38ee6a8c096379d58abfb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "unknown",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "11ba81a95ac5c2088f4627da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b8deee0e366b3ed92e0466d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "unknown",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "527cfeb894926e8cd4d9c0e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "unknown",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d182ec7ece5f2ff0e2c4eecc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "fe36c4184c862add9904d402",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "unknown",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "10eae3ef67476788e6b231f8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ca665e85487f9351964eb17e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "unknown",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ebcd14bc3c5eb347eac29311",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "unknown",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e27b4a6230c45e63e41c43fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "unknown",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "7c926ecf4d0c664803dd9b64",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "unknown",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5efd709b8c6b768edbd33f12",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "unknown",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fa1fb12c0cf5eb45e16debeb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "unknown",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e88c601ea2eb43cc2701f899",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "unknown",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7450b2bd8e73b313b3b5c7d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "unknown",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8632b89c1bff64e9d667ecc8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "unknown",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2cd1004d4fd218a0d7591f8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "unknown",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3f6bb5329d3882ac9d3e3cad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "unknown",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "7ce3d29166ae913989f7b353",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7466885fa575a0d5d0554d98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "unknown",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "baba559732a451095941ed9e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2c2c99e5dbfac106",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 43,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "unknown",
      "path": "components/layout/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a736606938d3eb4dc9b783fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/config, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c6afa151dd9f0f9",
      "framework": "next-react",
      "imports": "@/lib/config,lucide-react,next/link",
      "lines": 160,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8ea5e6b88ea10e20fc306ad4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/config, @/lib/utils, lucide-react, next-themes, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9490da512313834",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/config,@/lib/utils,lucide-react,next-themes,next/link,next/navigation,react",
      "lines": 259,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "unknown",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "b72fa65d1bea66840b102874",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f8058a2ca4679d48",
      "framework": "next-react",
      "imports": "",
      "lines": 257,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "unknown",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "4d9c840c7c8a86494a07555c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1a48bffd5d7cb88",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "svg-micro-factory.schema",
      "normalized_name": "svg-micro-factory-schema",
      "package_manager": "unknown",
      "path": "public/schemas/svg-micro-factory.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "f5c2443825e22608cc8a7e66",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa3ca1a5f9f96cec",
      "framework": "next-react",
      "imports": "",
      "lines": 692,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "unknown",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "27b52f56429227ef3b6985f2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "647600de24802a33",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "unknown",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "44d7591c36f70d5cf728bba1",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "16db1ad74720e814",
      "framework": "next-react",
      "imports": "",
      "lines": 323,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "unknown",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "b6db8dd36af7544504df9124",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c5802dfe3ecc4872",
      "framework": "next-react",
      "imports": "",
      "lines": 98,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "unknown",
      "path": "public/schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "9e270fda5246d93a35a362cc",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7933889722b7cb3d",
      "framework": "next-react",
      "imports": "",
      "lines": 301,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "unknown",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "36d4c2e00498d7c85016c3d2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "45b30d7768aab2d5",
      "framework": "next-react",
      "imports": "",
      "lines": 2621,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "unknown",
      "path": "public/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability,security",
      "component_id": "62d8e6208b630d96cd979825",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "252f69683afcbd8e",
      "framework": "next-react",
      "imports": "",
      "lines": 330,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "unknown",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "65f8e4e8b61ee97105c0f06c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "06bcda592c6cf11b",
      "framework": "next-react",
      "imports": "",
      "lines": 883,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "unknown",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "909480564efbf334fb74f770",
      "component_kind": "ai-eval",
      "confidence": 60,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5dcdb2474f32e634",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "unknown",
      "path": "public/schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process",
      "component_id": "5c3304258ec667eca3d605bb",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6c233b85f40096ad",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "unknown",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "e05323cac0ba3a29b837f5ab",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "797cd73e1fc9ed41",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "unknown",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process",
      "component_id": "9cac62f1e21f371c3543f83e",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "90b09515eeff4582",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "unknown",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability",
      "component_id": "aacdb139cb45802973eddbc5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkDiscoverySnapshot | imports:@/lib/config | logic-score:85 | observability-score:55",
      "exports": "NetworkDiscoverySnapshot",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ba554bfcb96f2639",
      "framework": "next-react",
      "imports": "@/lib/config",
      "lines": 93,
      "logic_relevance": "primary",
      "name": "network-discovery",
      "normalized_name": "network-discovery",
      "package_manager": "unknown",
      "path": "lib/network-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "5877c8d7f8f5444d87f39c2f",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./svg-utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1a584aec0a71fd08",
      "framework": "next-react",
      "imports": "./svg-utils,vitest",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "svg-utils.test",
      "normalized_name": "svg-utils",
      "package_manager": "unknown",
      "path": "lib/svg-utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "0c00c269ef721eee31ec0505",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SVG_MCP_PROMPTS, SVG_MCP_RESOURCES, SVG_MCP_TOOLS, SVG_TEMPLATES, SvgTemplateRecord, SvgTemplateType, getCatalogCounts, getGalleryItemBySlug | imports:@/lib/config, @/lib/svg-utils | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SVG_MCP_PROMPTS,SVG_MCP_RESOURCES,SVG_MCP_TOOLS,SVG_TEMPLATES,SvgTemplateRecord,SvgTemplateType,getCatalogCounts,getGalleryItemBySlug,getGalleryItems,getTemplateBySlug",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "571c7adbc255b50b",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/svg-utils",
      "lines": 203,
      "logic_relevance": "primary",
      "name": "svg-catalog",
      "normalized_name": "svg-catalog",
      "package_manager": "unknown",
      "path": "lib/svg-catalog.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "e84ce730662d07aeafbac2b7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,node:crypto",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getPlatformApiKey, getSafeVercelRequestMetadata, isAuthorized, jsonError, jsonOk, requirePlatformApiKey | imports:next/server, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "getPlatformApiKey,getSafeVercelRequestMetadata,isAuthorized,jsonError,jsonOk,requirePlatformApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f66c55c073d2e308",
      "framework": "next-react",
      "imports": "next/server,node:crypto",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "platform-response",
      "normalized_name": "platform-response",
      "package_manager": "unknown",
      "path": "lib/platform-response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "4fd776314f38f06efa57b931",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "abe2e35be144ad43d2c563e7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,qrcode,svgo",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GenerateSvgInput, GenerateType, OptimizePreset, OptimizeSvgInput, convertImageToSvgBackendStatus, getSvgStatsAsset, optimizeSvgAsset, svgToDataUrlAsset | imports:@/lib/svg-utils, qrcode, svgo | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "GenerateSvgInput,GenerateType,OptimizePreset,OptimizeSvgInput,convertImageToSvgBackendStatus,getSvgStatsAsset,optimizeSvgAsset,svgToDataUrlAsset,validateSvgAsset",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "627746aab774fab8",
      "framework": "next-react",
      "imports": "@/lib/svg-utils,qrcode,svgo",
      "lines": 333,
      "logic_relevance": "primary",
      "name": "svg-operations",
      "normalized_name": "svg-operations",
      "package_manager": "unknown",
      "path": "lib/svg-operations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d839d56be06a5dea924d2f63",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SpanResult, TraceContext, createTraceContext, getPlatphormTraceHeaders, getTraceUrl | imports:@/lib/config, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SpanResult,TraceContext,createTraceContext,getPlatphormTraceHeaders,getTraceUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d3f19bf41f223359",
      "framework": "next-react",
      "imports": "@/lib/config,node:crypto",
      "lines": 113,
      "logic_relevance": "primary",
      "name": "platform-trace",
      "normalized_name": "platform-trace",
      "package_manager": "unknown",
      "path": "lib/platform-trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "d954fdf61f069a288d47bee6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:REQUIRED_TRUST_LINE, buildFeedItems, buildLlmsIndex, buildMcpManifest, buildOpenApiSpec, buildSitemapUrls, buildTrustPolicy, publicRoutes | imports:@/lib/config, @/lib/network-discovery, @/lib/svg-catalog | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "REQUIRED_TRUST_LINE,buildFeedItems,buildLlmsIndex,buildMcpManifest,buildOpenApiSpec,buildSitemapUrls,buildTrustPolicy,publicRoutes,svgApiRoutes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e3f30f14bc0cf038",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/network-discovery,@/lib/svg-catalog",
      "lines": 414,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "unknown",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "80ee6d9e22c37502793fce42",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Config, config | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Config,config",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e7e1907299b49950",
      "framework": "next-react",
      "imports": "",
      "lines": 246,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "lib/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "logic,security,automation",
      "component_id": "39f488ef2cc3fd6ae7a6bcc6",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GALLERY_TEMPLATES, SVGGeneratorParams, SVGStats, escapeXml, generateAvatar, generateBadge, generateIcon, generatePattern | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "GALLERY_TEMPLATES,SVGGeneratorParams,SVGStats,escapeXml,generateAvatar,generateBadge,generateIcon,generatePattern,getByteLength,getSvgStats,iconGenerators,patternGenerators,svgToDataUrl,validateSvg",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "778dde0d7a4832de",
      "framework": "next-react",
      "imports": "",
      "lines": 437,
      "logic_relevance": "primary",
      "name": "svg-utils",
      "normalized_name": "svg-utils",
      "package_manager": "unknown",
      "path": "lib/svg-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-svg-factory",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,observability,security",
      "component_id": "abe1eb279a8e7298631b192f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d2106fc9886ccf00",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "93a8f66daa9eaccd5d0cb57f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7827e1c9bd5720d",
      "framework": "next-react",
      "imports": "",
      "lines": 12333,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "cf85d079ae09307a9bc65ed2",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | model-provider",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "488448004796f250",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 133,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "a09c57a0f56fdaac492d23ea",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0c086d63424619fae355a657",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,@opentelemetry/auto-instrumentations-node,@opentelemetry/exporter-trace-otlp-http,@opentelemetry/resources,@opentelemetry/sdk-node,@opentelemetry/semantic-conventions",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:register | imports:@/lib/env, @opentelemetry/auto-instrumentations-node, @opentelemetry/exporter-trace-otlp-http, @opentelemetry/resources, @opentelemetry/sdk-node, @opentelemetry/semantic-conventions | observability-score:55",
      "exports": "register",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b9b841d5a2cc5fe",
      "framework": "next-react",
      "imports": "@/lib/env,@opentelemetry/auto-instrumentations-node,@opentelemetry/exporter-trace-otlp-http,@opentelemetry/resources,@opentelemetry/sdk-node,@opentelemetry/semantic-conventions",
      "lines": 21,
      "logic_relevance": "none",
      "name": "instrumentation.node",
      "normalized_name": "instrumentation-node",
      "package_manager": "pnpm",
      "path": "instrumentation.node.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2a01dcdbb97b39f31cb6b7b8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "dotenv",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/sdk/index.js, dotenv | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b74dc9ed4ce0de87",
      "framework": "next-react",
      "imports": "./lib/sdk/index.js,dotenv",
      "lines": 21,
      "logic_relevance": "none",
      "name": "test-sdk",
      "normalized_name": "test-sdk",
      "package_manager": "pnpm",
      "path": "test-sdk.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "438b97044460ffa2fbbf2afd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "565c2aec6e93857bd0050766",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9b25a594c8d8964",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "50f8c2c01d633c0ed792a229",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "870b36343f979dac",
      "framework": "next-react",
      "imports": "next",
      "lines": 21,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4b91f6bc218989ec095fcccd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fcc020226ce71b68",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "pr_body",
      "normalized_name": "pr-body",
      "package_manager": "pnpm",
      "path": "pr_body.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "537d0fc6d9f5472477d2bd7b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73b3d2d4b0794a9f",
      "framework": "next-react",
      "imports": "",
      "lines": 207,
      "logic_relevance": "none",
      "name": "deep-research-report-v2",
      "normalized_name": "deep-research-report-v2",
      "package_manager": "pnpm",
      "path": "deep-research-report-v2.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "cac81c16a0e719a616a142d2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5e5ea6b330bbf47d",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "FINAL_SUITE_V1",
      "normalized_name": "final-suite-v1",
      "package_manager": "pnpm",
      "path": "FINAL_SUITE_V1.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5a8ed137208e9779c1d3fd56",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/sdk/index.js | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1c27873a7fa7374c",
      "framework": "next-react",
      "imports": "./lib/sdk/index.js",
      "lines": 45,
      "logic_relevance": "none",
      "name": "test-sdk-network",
      "normalized_name": "test-sdk-network",
      "package_manager": "pnpm",
      "path": "test-sdk-network.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "024340ae7344f1accc4141ac",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4c269ef7de7bb1c9",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "85b741b9d61627ac7421fddf",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2c33c55da1235850",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "2509f579a3619ad8e30f32af",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "51fd631a38f87a76",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "test_plan",
      "normalized_name": "test-plan",
      "package_manager": "pnpm",
      "path": "test_plan.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7a819f9ecf74346a803a917c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "861bb022fa6a407f",
      "framework": "next-react",
      "imports": "",
      "lines": 18914,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4ae26b5aefde1a787e05efc9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "28747fe79bcee4ca",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "bfe584d6f58c5dbd2b5fbd24",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b61807746ea5040e",
      "framework": "next-react",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "7ec25628123c8a8b8114a32f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:InputMatches | imports:fs, path | observability-score:55 | ai-score:45",
      "exports": "InputMatches",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8a63736fe2b38c7d",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 61,
      "logic_relevance": "none",
      "name": "test-ux",
      "normalized_name": "test-ux",
      "package_manager": "pnpm",
      "path": "test-ux.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "8f232d161dbf32d2f58683dc",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4f1a6ac841a55e3",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "extract_components",
      "normalized_name": "extract-components",
      "package_manager": "pnpm",
      "path": "extract_components.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "f9d9d30643c9a3cfbaf638e8",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:CTASection | process-score:65 | observability-score:55 | automation-score:45",
      "exports": "CTASection",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "518eeab21baae200",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "split_4",
      "normalized_name": "split-4",
      "package_manager": "pnpm",
      "path": "split_4.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "be87743661ce59abe25eb9c1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "1f46ae882929f542eceae8a3",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MethodologySection | imports:@/components/cursor-effect, @/components/glass-card, @/components/knowledge-graph, @/components/scroll-reveal, @/components/ui/button, framer-motion, lucide-react, next/link | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MethodologySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f58275e96a1b3377",
      "framework": "next-react",
      "imports": "@/components/cursor-effect,@/components/glass-card,@/components/knowledge-graph,@/components/scroll-reveal,@/components/ui/button,framer-motion,lucide-react,next/link,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "methodology-section",
      "normalized_name": "methodology-section",
      "package_manager": "pnpm",
      "path": "methodology-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f216fc2029e4a446d6521477",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:EndpointsGridSection, HeroSection, QuickStartSection | process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EndpointsGridSection,HeroSection,QuickStartSection",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fc1bccd03924f73c",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "split_2",
      "normalized_name": "split-2",
      "package_manager": "pnpm",
      "path": "split_2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "1b7403011dded0e957316607",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:RateLimitsSection, SecuritySection | process-score:65 | observability-score:55 | security-score:55",
      "exports": "RateLimitsSection,SecuritySection",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "76347ec60160b51f",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "none",
      "name": "split_3",
      "normalized_name": "split-3",
      "package_manager": "pnpm",
      "path": "split_3.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "6f142b6e440e87d381fd49fe",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/layout/footer, @/components/layout/header, @/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next | process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "298c4b8134c0dec6",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 100,
      "logic_relevance": "none",
      "name": "split_1",
      "normalized_name": "split-1",
      "package_manager": "pnpm",
      "path": "split_1.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "963b5de597b41650f961946c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f1a722336d9bee3",
      "framework": "next-react",
      "imports": "",
      "lines": 454,
      "logic_relevance": "none",
      "name": "standards-references",
      "normalized_name": "standards-references",
      "package_manager": "pnpm",
      "path": "standards-references.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "8d153b7ea6f4e2ecc3c8becf",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/lib/db, next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff062b1258c28714",
      "framework": "next-react",
      "imports": "@/lib/db,next",
      "lines": 152,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "d644c0f5b8a90e1396f3ae02",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/network-bar, @/components/plain-english/jargon-toggle, @/components/theme-provider, @/lib/i18n/context, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e73398557298cbf0",
      "framework": "next-react",
      "imports": "@/components/layout/network-bar,@/components/plain-english/jargon-toggle,@/components/theme-provider,@/lib/i18n/context,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google",
      "lines": 151,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "a61148d142bbf7a138374fb7",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ee4f5f0da9e8ef50",
      "framework": "next-react",
      "imports": "next",
      "lines": 76,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0d7ac72ecd40802161f6f444",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/home/feature-panel, @/components/home/hero-panel, @/components/home/left-sidebar, @/components/home/live-trace-feed, @/components/home/right-sidebar, @/components/layout/footer, @/components/layout/header, @/components/lc3rs | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f739c528d34cc40",
      "framework": "next-react",
      "imports": "@/components/home/feature-panel,@/components/home/hero-panel,@/components/home/left-sidebar,@/components/home/live-trace-feed,@/components/home/right-sidebar,@/components/layout/footer,@/components/layout/header,@/components/lc3rs,@/components/ui/tooltip,@/hooks/use-atlas-sensor,@/hooks/use-network-data,@/lib/i18n/context,swr",
      "lines": 188,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "9c18914ae8ff469fe543f5f3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c25b01a4acbf74c0",
      "framework": "next-react",
      "imports": "",
      "lines": 813,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a11c9b51f08298cc89456b6a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c36999f4777f5efb",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 40,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "3289480a02a6db7cdca587d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/constants, @/lib/platform/mcp-registry, @/lib/platform/network-registry, @/lib/platform/trace-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f750724b483ecb2e",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/mcp-registry,@/lib/platform/network-registry,@/lib/platform/trace-registry,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,ai",
      "component_id": "ea8f5038c7686684ff72a4ba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/network-registry, @/lib/platform/trace-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "865abe51c9daf00c",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/platform/trace-registry,next/server",
      "lines": 93,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "179a1bd781721b7108feff90",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "12dff771c5cc2820",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 166,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/principles.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "eab3878f813faa34a945ba63",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/platform/mcp-registry, @/lib/platform/network-registry | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72cc2abd28e2a078",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/mcp-registry,@/lib/platform/network-registry",
      "lines": 120,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "78ec3694a7ce561439efeff1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/layout/footer, @/components/layout/header, @/components/plain-english/jargon-toggle, @/components/traces/traces-explorer, @/components/ui/spinner, @/lib/env, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cb79bc4395ed4ed",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/plain-english/jargon-toggle,@/components/traces/traces-explorer,@/components/ui/spinner,@/lib/env,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/traces/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "829b17a7e3d1d9f97e500635",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TracePage | imports:@/components/layout/footer, @/components/layout/header, @/components/observatory/trace-observatory, @/components/plain-english/jargon-toggle, @/components/ui/spinner, @/lib/db, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45 | metadata",
      "exports": "TracePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b9c0813b69ad482",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/observatory/trace-observatory,@/components/plain-english/jargon-toggle,@/components/ui/spinner,@/lib/db,next/navigation,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/trace/[traceId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "478a73c39549c437e1b4ee72",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | frontend-score:85 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2f44b6a15ed233eb",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "54019348ecc5d1399616822e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/faq/faq-content, @/components/layout/footer, @/components/layout/header, @/lib/network/real-data, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd188cd4576c131a",
      "framework": "next-react",
      "imports": "@/components/faq/faq-content,@/components/layout/footer,@/components/layout/header,@/lib/network/real-data,next",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "77b44fd439a0c7d3d8205032",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/constants, @/lib/platform/network-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c84b843b39b9f1d3",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/network-registry,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "6019895d0cf8a672427bced4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de40c76d499a3e80",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend",
      "component_id": "b590ff6649dcf42159a4bb34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e17d637d798b9c1c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "bba3f2d8af327fa15b251af0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2320ba4a202f776b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f3c66742bf006fb7d6df621b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/.well-known/trust.json/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "185c27485ce11565",
      "framework": "next-react",
      "imports": "@/app/.well-known/trust.json/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c694dded21e3ef216061ff78",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "32293318467e293a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "50a6cb54a1f137d1ba44c598",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "af656c456203d2fd",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "8be43ce0bbb494ab8f2ab75b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0b0b5673267c9f87",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "8fb42bdcfb6154f36cbb9808",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "317b1a356b520ad9",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "e5cb078c27b60ae8d7ec470a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/constants, @/lib/platform/mcp-registry, @/lib/platform/network-registry, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "61203462871c18d5",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/mcp-registry,@/lib/platform/network-registry,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "984349525c6f176373e6673d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkPage | imports:./components/network-constellation, ./components/site-card, ./components/site-details-panel, @/components/layout/footer, @/components/layout/header, @/components/lc3rs, @/components/ui/tooltip, @/hooks/use-atlas-sensor | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c48ae8f34456b7c6",
      "framework": "next-react",
      "imports": "./components/network-constellation,./components/site-card,./components/site-details-panel,@/components/layout/footer,@/components/layout/header,@/components/lc3rs,@/components/ui/tooltip,@/hooks/use-atlas-sensor,@/hooks/use-network-data,@/lib/i18n/context,next/link,react",
      "lines": 334,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/network/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b4f66ec0eb36293967520fa1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkConstellation | imports:@/hooks/use-network-data, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NetworkConstellation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6d666981cce1b80",
      "framework": "next-react",
      "imports": "@/hooks/use-network-data,react",
      "lines": 124,
      "logic_relevance": "none",
      "name": "network-constellation",
      "normalized_name": "network-constellation",
      "package_manager": "pnpm",
      "path": "app/network/components/network-constellation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c58bebe44d09411fac3b0179",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteCard | imports:@/hooks/use-network-data | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "SiteCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6210afdb0193a163",
      "framework": "next-react",
      "imports": "@/hooks/use-network-data",
      "lines": 73,
      "logic_relevance": "none",
      "name": "site-card",
      "normalized_name": "site-card",
      "package_manager": "pnpm",
      "path": "app/network/components/site-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e9d66fd32f1afa80f0bef6fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteDetailsPanel | imports:@/components/lc3rs, @/components/ui/badge, @/hooks/use-network-data, @/lib/i18n/context, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteDetailsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c879065121f3762f",
      "framework": "next-react",
      "imports": "@/components/lc3rs,@/components/ui/badge,@/hooks/use-network-data,@/lib/i18n/context,react",
      "lines": 335,
      "logic_relevance": "none",
      "name": "site-details-panel",
      "normalized_name": "site-details-panel",
      "package_manager": "pnpm",
      "path": "app/network/components/site-details-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,process",
      "component_id": "45332341ee5a6f4d4b63c682",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@/app,@testing-library/react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/docs/page, @testing-library/react | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0eeae362dd26f4ea",
      "framework": "next-react",
      "imports": "@/app/docs/page,@testing-library/react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tests/app/docs/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "7eddc9c1586c7d3d83a0e671",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d0a98f4a19335f86",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 121,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/ethics.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "2b11af745efd6bcea3a2abbd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/about/about-content, @/components/layout/footer, @/components/layout/header, @/lib/network/real-data, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afcb3714c868466e",
      "framework": "next-react",
      "imports": "@/components/about/about-content,@/components/layout/footer,@/components/layout/header,@/lib/network/real-data,next",
      "lines": 128,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e10ea8774371183a88dbf213",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatusPage | imports:@/components/layout/footer, @/components/layout/header, @/components/lcars, @/components/ui/badge, @/components/ui/tooltip, @/hooks/use-network-data, @/lib/i18n/context, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StatusPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "049e59a1ec411d2b",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/lcars,@/components/ui/badge,@/components/ui/tooltip,@/hooks/use-network-data,@/lib/i18n/context,next/link,react",
      "lines": 358,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/status/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation,ai",
      "component_id": "7876a9975beb1e33c5a164b7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/layout/footer, @/components/layout/header, @/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1907e41ad9b85d98",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 353,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "5b0a199dc2b18cecfc45a1d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/constants, @/lib/platform/mcp-registry, @/lib/platform/network-registry, @/lib/platform/trace-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c8bc2cbb57af3f5",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/mcp-registry,@/lib/platform/network-registry,@/lib/platform/trace-registry,next/server",
      "lines": 89,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "d460ac15eb2035e55b951176",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fa4436023372e883",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 186,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/standards.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "454ec8822ca807e2120d06ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/constants | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "492659f7b4d5d274",
      "framework": "next-react",
      "imports": "@/lib/platform/constants",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "63d06caf6adb739ebd1cb493",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@opentelemetry/api,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:preferredRegion | imports:@/lib/db, @/lib/redis, @/lib/security/fingerprint, @/lib/security/headers, @/lib/security/platform-auth, @/lib/security/trust, @/lib/trace/parser, @/lib/trace/storage | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "preferredRegion",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f7ee386876a8bac4",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/redis,@/lib/security/fingerprint,@/lib/security/headers,@/lib/security/platform-auth,@/lib/security/trust,@/lib/trace/parser,@/lib/trace/storage,@/lib/trace/validator,@opentelemetry/api,next/server",
      "lines": 289,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fafbe387ae7e982c6cb6a99f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8d323db85237f842",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/security/headers,next/server",
      "lines": 261,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/compare/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c24ee21e21c74a2afc6a35f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/lib/db, @/lib/lab-trace-store, @/lib/redis, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ff8f387d0b7da257",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/lab-trace-store,@/lib/redis,@/lib/security/headers,next/server",
      "lines": 294,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d19b7981d8fdca3bb4be8b86",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/trace-views, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee2c0eb43928cf8f",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-views,@/lib/security/headers,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/tree/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "3e1de8a58a37aa462e56cd15",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/security/fingerprint, @/lib/security/headers, @/lib/security/platform-auth, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6739ad1b7885e46d",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/security/fingerprint,@/lib/security/headers,@/lib/security/platform-auth,nanoid,next/server",
      "lines": 169,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/fork/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "97a0816444fe638593076438",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/redis, @/lib/security/headers, @/lib/security/platform-auth, nanoid, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5ed2e5fca6c9299",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/redis,@/lib/security/headers,@/lib/security/platform-auth,nanoid,next/server",
      "lines": 247,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/spans/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4d061ca357773522a061bfa5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/trace-views, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e7149bc1ac4a527a",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-views,@/lib/security/headers,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/waterfall/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "55c03c048ac44918382b932c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/trace-views, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "024ae1f573370a57",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-views,@/lib/security/headers,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/service-map/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4e4fc9226e09febc91aa17d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/redis, @/lib/security/fingerprint, @/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "638617538b34b168",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/redis,@/lib/security/fingerprint,@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 121,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/annotations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "348f2c27e1ba32e42bffaaed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/trace-views, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbff8086cdb684de",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-views,@/lib/security/headers,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/completeness/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "4a61b761a75d1454d8844fec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AnalysisFactorResult, Anomaly, analyzeDurations, analyzeErrorRate, analyzeMissingCompletions, analyzeRetryPatterns, analyzeSpans, analyzeTokenUsage | imports:@/lib/analysis/plain-english, @/lib/db, @/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "AnalysisFactorResult,Anomaly,analyzeDurations,analyzeErrorRate,analyzeMissingCompletions,analyzeRetryPatterns,analyzeSpans,analyzeTokenUsage,calculateAnalysis,calculateStats",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f87e63a18b033a47",
      "framework": "next-react",
      "imports": "@/lib/analysis/plain-english,@/lib/db,@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 316,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "28a727bd35e4315582411291",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/analysis/plain-english, @/lib/db, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b4f80798709ecf19",
      "framework": "next-react",
      "imports": "@/lib/analysis/plain-english,@/lib/db,@/lib/security/headers,next/server",
      "lines": 270,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/export/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b7a2af237034350eba974d27",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/trace-views, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3fbb611da9a9b752",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-views,@/lib/security/headers,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/traces/[traceId]/timeline/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "251fa343818bfe9a38f71dae",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/capabilities/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ceb7bf2bacae4a83",
      "framework": "next-react",
      "imports": "@/app/api/capabilities/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b0f265ed5b6b426a5f3ce327",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, @/lib/trace/parser, @/lib/trace/storage, @/lib/trace/validator, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3d9ca15e156c991",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,@/lib/trace/parser,@/lib/trace/storage,@/lib/trace/validator,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/spans/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "0c534f0361e988d415409494",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e9512613c1a3d749",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/security/headers,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/spans/orphans/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "07016fdd12656e0ce1732615",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4c13e08d2aecd7b6",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "38e22297a4e13aa3b4e89164",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/network-registry, @/lib/platform/trace-registry, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "31f811f712bdb692",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/platform/trace-registry,@/lib/security/headers,next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "64f9c4f95bc40b581e075167",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/network-registry, @/lib/platform/route-probes, @/lib/platform/trace-registry, @/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3eb24fc3bd4c2f0f",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/platform/route-probes,@/lib/platform/trace-registry,@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 163,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "57405736c05b087e46664313",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "10401942624e0699",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "49fc750248cf03e48193fa4e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e6ed1b51e29528f9",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/dry-run/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,process,frontend,observability,security,automation",
      "component_id": "4f8a98ce833b1aea0f1bd1f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | process-score:80 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dfd33417d1d36514",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/workflows/[id]/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "a0d8e12a91bd4ea167e80a33",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/mcp/route | backend-score:55 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f7e602d847ce9410",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3c10ca93f7425308ae16b29e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6f8fea7494ca5067",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/otel/v1/traces/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "6f25e757ef109d1e311b0e63",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/docs/route | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c05f6c6dbe6c90e9",
      "framework": "next-react",
      "imports": "@/app/api/docs/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "dbafe79e31e275d90cc47051",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/trace-registry, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "756ef9b91ff5d926",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-registry,@/lib/security/headers,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "1c00c6e59b5800db19879e02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "337d0872b9ea5182",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "d721c5a5df30ce99a15c5cd4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/network-registry, @/lib/security/headers, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e6a40ff27ef0b44f",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/security/headers,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/vercel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "00fd6529d2bf6db027c0dd91",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/network-registry, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d3684a8469d0b6a7",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/security/headers,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/observability/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,observability,security",
      "component_id": "f3af990a338446ad432069be",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/network-registry, @/lib/platform/route-probes, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bfb49df9f0ad0b31",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/platform/route-probes,@/lib/security/headers,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sites/[slug]/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "a025be3ccebd245fb7c348d9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:preferredRegion | imports:@/lib/db, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "preferredRegion",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bba9deaf4e6c6336",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/security/headers,next/server",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "3eed14cf6c2c8bfbd83ab326",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:preferredRegion | imports:@/lib/db, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "preferredRegion",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9b49763ad65562a1",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/security/headers,next/server",
      "lines": 205,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sessions/[sessionId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "a1859cd87a148fbb6e80307c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform/constants, @/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fbc23368726d0c14",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "8e35c3417fb0d0853ce69104",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/xai,ai,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, SYSTEM_PROMPT | imports:@/lib/env, @/lib/security/platform-auth, @ai-sdk/xai, ai, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "GET,POST,SYSTEM_PROMPT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23f74b819fcc23de",
      "framework": "next-react",
      "imports": "@/lib/env,@/lib/security/platform-auth,@ai-sdk/xai,ai,next/server",
      "lines": 242,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ai/analyze/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "9aabd0a8e30810eb255b7aba",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf70cbda25962bf6",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/security/headers,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/live/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e5876b40ab735a9c4f5a3ac8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/trace-registry, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "25ae75f6cba8d581",
      "framework": "next-react",
      "imports": "@/lib/platform/trace-registry,@/lib/security/headers,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/propagation/tests/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "cfa17c5f771182f12bc7fa3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5da3879e37f363f",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/propagation/tests/run/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "edbb3fad97acdcae7247db03",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fac79c265a66b011",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/forks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,observability,security",
      "component_id": "b2f81e3877eec7bfcedb7e08",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "56061ef35f343f21",
      "framework": "next-react",
      "imports": "@/lib/security/headers,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/forks/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "191fbf31a3d31ef2bc088d79",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/security/headers, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "937ae47c08deed05",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/platform-auth,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/replay/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,frontend,observability,security",
      "component_id": "cd1bde102978b3bcce61824e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9639190ecc2daf19",
      "framework": "next-react",
      "imports": "@/lib/security/headers,next/server",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/replay/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fec634d7c201fea8208650a3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/sdk, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78eea76db1f5284e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/sdk,@/lib/security/headers,next/server",
      "lines": 142,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "c265ac6ae0b0eb24e0c5a8b8",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/mcp/route | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2f86090a9c82eaeb",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/capabilities/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "ad60acacccf986a87b7bb8ce",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/platform/constants, @/lib/platform/network-registry, @/lib/platform/trace-registry, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4164cbfdb82d51a",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/constants,@/lib/platform/network-registry,@/lib/platform/trace-registry,@/lib/security/headers,next/server",
      "lines": 85,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "586e1135c1c51b2200e7c2e3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/constants, @/lib/platform/mcp-registry, @/lib/platform/network-registry, @/lib/platform/route-probes, @/lib/platform/trace-registry, @/lib/security/platform-auth, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a0a3277f5aa6d74",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/mcp-registry,@/lib/platform/network-registry,@/lib/platform/route-probes,@/lib/platform/trace-registry,@/lib/security/platform-auth,next/server",
      "lines": 365,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,ai",
      "component_id": "1c1e782f3c9c024d67ebc206",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/constants, @/lib/platform/mcp-registry, @/lib/platform/network-registry, @/lib/platform/trace-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0a615fcc6c7a70c0",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/mcp-registry,@/lib/platform/network-registry,@/lib/platform/trace-registry,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,frontend,observability,automation",
      "component_id": "c16e2612c3fd2058c991fc45",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | logic-score:85 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bd945737df45a545",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/schemas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a519fdcb8b2d28908c1def3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platform/constants, @/lib/security/headers, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "55046ce4a42a82a0",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/security/headers,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/[...path]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "c91cefa39821991e28fd8749",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,nanoid,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/lab-trace-store, @/lib/redis, @/lib/security/fingerprint, @/lib/security/headers, @/lib/security/platform-auth, @/lib/security/trust, @/lib/trace/parser | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "25896656caba831c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/lab-trace-store,@/lib/redis,@/lib/security/fingerprint,@/lib/security/headers,@/lib/security/platform-auth,@/lib/security/trust,@/lib/trace/parser,@/lib/trace/types,@/lib/trace/validator,nanoid,next/server",
      "lines": 257,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/telemetry/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,security,discovery",
      "component_id": "a21abb14e0312b9e91b0f81d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi/spec | backend-score:125 | integration-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8e4dd64d88de8d7",
      "framework": "next-react",
      "imports": "@/lib/openapi/spec",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "ada869e4f5ec759e3e63ef54",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform/constants | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae886540c7d94043",
      "framework": "next-react",
      "imports": "@/lib/platform/constants",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "991f074ce4bb3ba68d3c0256",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/platform/constants, @/lib/platform/mcp-registry, @/lib/platform/network-registry, @/lib/platform/trace-registry, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "198ab3b8213af0c5",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/mcp-registry,@/lib/platform/network-registry,@/lib/platform/trace-registry,next/server",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security,ai",
      "component_id": "53b3ea52867494440d8c16d5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage, metadata | imports:next, next/link | frontend-score:115 | automation-score:95 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JobsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf0c72177c11a087",
      "framework": "next-react",
      "imports": "next,next/link",
      "lines": 80,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,discovery",
      "component_id": "b419062021c74ebd402e8d3e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi/spec, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f32162d1329f745",
      "framework": "next-react",
      "imports": "@/lib/openapi/spec,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5100c00bddf41111322849a8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionPage | imports:@/components/layout/footer, @/components/layout/header, @/components/plain-english/jargon-toggle, @/components/session/session-observatory, @/components/ui/spinner, @/lib/db, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45 | metadata",
      "exports": "SessionPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d19888642aa37f0",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/header,@/components/plain-english/jargon-toggle,@/components/session/session-observatory,@/components/ui/spinner,@/lib/db,next/navigation,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/session/[sessionId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "356cdb72938053ce34e55ff9",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "@jest/globals,fs,path",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@jest/globals, fs, path | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4d75825e31258c0c",
      "framework": "next-react",
      "imports": "@jest/globals,fs,path",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "schemas.test",
      "normalized_name": "schemas",
      "package_manager": "pnpm",
      "path": "tests/schemas.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "41255fd450414d9801f5c985",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/.well-known/humans.txt/route, ../app/.well-known/mcp.json/route, ../app/.well-known/robots.txt/route, ../app/.well-known/security.txt/route | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "82b2631cf4ba64c7",
      "framework": "next-react",
      "imports": "../app/.well-known/humans.txt/route,../app/.well-known/mcp.json/route,../app/.well-known/robots.txt/route,../app/.well-known/security.txt/route",
      "lines": 38,
      "logic_relevance": "none",
      "name": "well-known.test",
      "normalized_name": "well-known",
      "package_manager": "pnpm",
      "path": "tests/well-known.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process",
      "component_id": "dbb0bee38962aa99dcf91724",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:../app/roadmap/page | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f3bec3fbe225ef7b",
      "framework": "next-react",
      "imports": "../app/roadmap/page",
      "lines": 14,
      "logic_relevance": "none",
      "name": "roadmap.test",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "tests/roadmap.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "a408711ce1f825eead2f10bf",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/.well-known/llms.txt/route | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "324f944e97694934",
      "framework": "next-react",
      "imports": "../app/.well-known/llms.txt/route",
      "lines": 9,
      "logic_relevance": "none",
      "name": "well-known-llms.test",
      "normalized_name": "well-known-llms",
      "package_manager": "pnpm",
      "path": "tests/well-known-llms.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "62684beb6fd9b9393775505b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/v1/traces/[traceId]/analyze/route, ../lib/db, next/server | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6543c69358e5bce2",
      "framework": "next-react",
      "imports": "../app/api/v1/traces/[traceId]/analyze/route,../lib/db,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "benchmark.test",
      "normalized_name": "benchmark",
      "package_manager": "pnpm",
      "path": "tests/benchmark.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "076b78b67275eb9e8777722c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/.well-known/robots.txt/route | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1d97d53d2e91cdef",
      "framework": "next-react",
      "imports": "../app/.well-known/robots.txt/route",
      "lines": 13,
      "logic_relevance": "none",
      "name": "robots.test",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "tests/robots.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "29d7feb8b990f85fd57d7049",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/analysis/plain-english | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "018efd2f10920c4b",
      "framework": "next-react",
      "imports": "@/lib/analysis/plain-english",
      "lines": 41,
      "logic_relevance": "none",
      "name": "plain-english.test",
      "normalized_name": "plain-english",
      "package_manager": "pnpm",
      "path": "tests/analysis/plain-english.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,discovery,automation",
      "component_id": "3430b21634128862222bb56c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/sitemap, @/lib/db, @/lib/network/real-data | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be03048a8d31ae7c",
      "framework": "next-react",
      "imports": "@/app/sitemap,@/lib/db,@/lib/network/real-data",
      "lines": 97,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "tests/app/sitemap.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "e7109a71d75e7327821850bd",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/feed.xml/route, @/lib/db | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9be63cb62a87d371",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route,@/lib/db",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/feed.xml/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "ab09e912514c75a34fe849ab",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/app,@/lib,@opentelemetry/api,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockNextRequest | imports:@/app/api/v1/traces/route, @/lib/db, @/lib/redis, @/lib/security/fingerprint, @/lib/security/headers, @/lib/security/trust, @/lib/trace/parser, @/lib/trace/validator | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MockNextRequest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b6a8b7630f6fada5",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/route,@/lib/db,@/lib/redis,@/lib/security/fingerprint,@/lib/security/headers,@/lib/security/trust,@/lib/trace/parser,@/lib/trace/validator,@opentelemetry/api,next/server",
      "lines": 246,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability",
      "component_id": "e1eb19e2d655e00ca32cfa87",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/traces/compare/route, @/lib/db, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a73a0160ce84b609",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/compare/route,@/lib/db,next/server",
      "lines": 106,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/compare/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "576bccad50afbcad9b0eb282",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/traces/[traceId]/route, @/lib/db, @/lib/redis, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8de4f50d5f1ae2b1",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/[traceId]/route,@/lib/db,@/lib/redis,next/server",
      "lines": 198,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/[traceId]/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability",
      "component_id": "70957ed727f42b0451452608",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/traces/[traceId]/spans/route, @/lib/db, @/lib/redis, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f10a49624f8cdd3",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/[traceId]/spans/route,@/lib/db,@/lib/redis,next/server",
      "lines": 179,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/[traceId]/spans/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "c4151226ecfbe2ce652941f0",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/traces/[traceId]/annotations/route, @/lib/db, @/lib/redis, @/lib/security/fingerprint, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1804e42773357879",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/[traceId]/annotations/route,@/lib/db,@/lib/redis,@/lib/security/fingerprint,next/server",
      "lines": 162,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/[traceId]/annotations/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "293c79284dd823162ec9ee6e",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/traces/[traceId]/analyze/route, @/lib/analysis/plain-english, @/lib/db, @/lib/security/headers, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afdd86d8e1a5f3dd",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/[traceId]/analyze/route,@/lib/analysis/plain-english,@/lib/db,@/lib/security/headers,next/server",
      "lines": 91,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/[traceId]/analyze/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "3fbb0e289161124eee6d3bc1",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/traces/[traceId]/export/route, @/lib/analysis/plain-english, @/lib/db, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fef21fefc05963f7",
      "framework": "next-react",
      "imports": "@/app/api/v1/traces/[traceId]/export/route,@/lib/analysis/plain-english,@/lib/db,next/server",
      "lines": 174,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/traces/[traceId]/export/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability",
      "component_id": "b32493f6907fea59eacb08ad",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/network/route, next/server | frontend-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c9d27eb8658e807",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/route,next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/network/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "cf1a2dfc9378cb5a56a55067",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/sessions/[sessionId]/route, @/lib/db, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1206b7a1d5c0fa30",
      "framework": "next-react",
      "imports": "@/app/api/v1/sessions/[sessionId]/route,@/lib/db,next/server",
      "lines": 88,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/sessions/[sessionId]/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,backend,observability,security",
      "component_id": "29c5f892754bb782f2eb4342",
      "component_kind": "ai-integration",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:../../../../../../app/api/v1/ai/analyze/route, next/server | ai-score:120 | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a6e45563dad8dc70",
      "framework": "next-react",
      "imports": "../../../../../../app/api/v1/ai/analyze/route,next/server",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/ai/analyze/route.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "bde91d5c675834a30f6593fc",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/v1/live/route, @/lib/db, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2f866b30d2d3cc0",
      "framework": "next-react",
      "imports": "@/app/api/v1/live/route,@/lib/db,next/server",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/v1/live/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e4fa5ddcaf469f07c322ad7b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/db | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5fcc4e0ea3825442",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/db",
      "lines": 68,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability,security,automation,ai",
      "component_id": "d9f8806163a6729f361da2c3",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/mcp/route, @/lib/platform/route-probes, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b6eba1eebd91fe6",
      "framework": "next-react",
      "imports": "@/app/api/mcp/route,@/lib/platform/route-probes,next/server",
      "lines": 339,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/mcp/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "e279a5bf3cdbc7ce32689cfd",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/api/telemetry/route, @/lib/db, @/lib/redis, @/lib/security/fingerprint, @/lib/security/trust, @/lib/trace/validator, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38c972d405b0d9f3",
      "framework": "next-react",
      "imports": "@/app/api/telemetry/route,@/lib/db,@/lib/redis,@/lib/security/fingerprint,@/lib/security/trust,@/lib/trace/validator,next/server",
      "lines": 144,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "tests/app/api/telemetry/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend,security",
      "component_id": "3db6509516a61cc11df01188",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/sidebar, @testing-library/react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b0ceb7c47c8b7c73",
      "framework": "next-react",
      "imports": "@/components/ui/sidebar,@testing-library/react,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "sidebar.test",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "tests/components/ui/sidebar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui",
      "component_id": "ff56eade336b0c3f6746f5a9",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "@/components",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/toast, @/components/ui/use-toast | ui-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ef95565db39f11e5",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/components/ui/use-toast",
      "lines": 45,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "tests/components/ui/use-toast.test.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend,security",
      "component_id": "0bc5eaf21e452c476e3d07d5",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/chart, @testing-library/react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7da7ee8ab9d995fd",
      "framework": "next-react",
      "imports": "@/components/ui/chart,@testing-library/react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "chart.test",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "tests/components/ui/chart.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend,integration",
      "component_id": "15954c830e64918ec65219bc",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:../../../components/ui/calendar, @testing-library/react, react | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "76f71bcb0cad7931",
      "framework": "next-react",
      "imports": "../../../components/ui/calendar,@testing-library/react,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "calendar.test",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "tests/components/ui/calendar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "87e47133736c59adc818fc58",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/home/right-sidebar, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88f97234c7788a01",
      "framework": "next-react",
      "imports": "@/components/home/right-sidebar,@testing-library/react,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "right-sidebar.test",
      "normalized_name": "right-sidebar",
      "package_manager": "pnpm",
      "path": "tests/components/home/right-sidebar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d9adee6c598432a972728bae",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/home/left-sidebar, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61d2662486889e27",
      "framework": "next-react",
      "imports": "@/components/home/left-sidebar,@testing-library/react,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "left-sidebar.test",
      "normalized_name": "left-sidebar",
      "package_manager": "pnpm",
      "path": "tests/components/home/left-sidebar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "407a97c2a645d7fbb7ca66e2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/home/hero-panel, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb6ec6b4fc37b22d",
      "framework": "next-react",
      "imports": "@/components/home/hero-panel,@testing-library/react,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "hero-panel.test",
      "normalized_name": "hero-panel",
      "package_manager": "pnpm",
      "path": "tests/components/home/hero-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery",
      "component_id": "eb827178f72c2783314a0b49",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/home/live-trace-feed, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d0a607146ab123f",
      "framework": "next-react",
      "imports": "@/components/home/live-trace-feed,@testing-library/react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "live-trace-feed.test",
      "normalized_name": "live-trace-feed",
      "package_manager": "pnpm",
      "path": "tests/components/home/live-trace-feed.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b228a343c702a058b15e7076",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/traces/traces-explorer, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e124b5063227853",
      "framework": "next-react",
      "imports": "@/components/traces/traces-explorer,@testing-library/react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "traces-explorer.test",
      "normalized_name": "traces-explorer",
      "package_manager": "pnpm",
      "path": "tests/components/traces/traces-explorer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "906db4ff1f44b45448ac28a8",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event,issue,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/observatory/annotation-panel, @testing-library/react, @testing-library/user-event, issue, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3367673c713cf1f0",
      "framework": "next-react",
      "imports": "@/components/observatory/annotation-panel,@testing-library/react,@testing-library/user-event,issue,react",
      "lines": 204,
      "logic_relevance": "none",
      "name": "annotation-panel.test",
      "normalized_name": "annotation-panel",
      "package_manager": "pnpm",
      "path": "tests/components/observatory/annotation-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,automation",
      "component_id": "7f5c4d9fa3f5570ba8c22dad",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/observatory/ai-analysis-panel, @testing-library/react, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "678282c0cf81f8ca",
      "framework": "next-react",
      "imports": "@/components/observatory/ai-analysis-panel,@testing-library/react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "ai-analysis-panel.test",
      "normalized_name": "ai-analysis-panel",
      "package_manager": "pnpm",
      "path": "tests/components/observatory/ai-analysis-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dd289026a9a19b31e18ed4cb",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../../components/observatory/span-detail-panel, ../../../components/plain-english/jargon-toggle, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c39b5a5b529f5faa",
      "framework": "next-react",
      "imports": "../../../components/observatory/span-detail-panel,../../../components/plain-english/jargon-toggle,@testing-library/react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "span-detail-panel.test",
      "normalized_name": "span-detail-panel",
      "package_manager": "pnpm",
      "path": "tests/components/observatory/span-detail-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "fdf0f9658f75e6f560fb4fa7",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/lib,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/about/about-content, @/lib/i18n/context, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2114f5dc2a3b7a1e",
      "framework": "next-react",
      "imports": "@/components/about/about-content,@/lib/i18n/context,@testing-library/react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "about-content.test",
      "normalized_name": "about-content",
      "package_manager": "pnpm",
      "path": "tests/components/about/about-content.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "bebc3ba4a8e01ef84d6c11e6",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platform/network-registry, @/lib/platform/route-probes | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d211f74d4e5ee163",
      "framework": "next-react",
      "imports": "@/lib/platform/network-registry,@/lib/platform/route-probes",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "network-registry.test",
      "normalized_name": "network-registry",
      "package_manager": "pnpm",
      "path": "tests/lib/network-registry.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "a017fe432704d49a7b3a4d1f",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/utils | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "428f6c8eb9a363bc",
      "framework": "next-react",
      "imports": "../../lib/utils",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "337cf5df051fedb6c6111abc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platform/route-probe-tracing, @/lib/platform/route-probes | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e83e37b00c74caa6",
      "framework": "next-react",
      "imports": "@/lib/platform/route-probe-tracing,@/lib/platform/route-probes",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "route-probe-tracing.test",
      "normalized_name": "route-probe-tracing",
      "package_manager": "pnpm",
      "path": "tests/lib/route-probe-tracing.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability",
      "component_id": "b413fe3a52a59de9ba366110",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, @/lib/sdk, @neondatabase/serverless | backend-score:90 | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54eeedceba376142",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/sdk,@neondatabase/serverless",
      "lines": 94,
      "logic_relevance": "secondary",
      "name": "db.test",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "tests/lib/db.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "38ccbbe83775b12673afe5d4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/redis | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "53a7ccf49f972e3a",
      "framework": "next-react",
      "imports": "@/lib/redis",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "redis.test",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "tests/lib/redis.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "630040042d7836ca0dafe341",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/platform/route-probe-storage, @/lib/platform/route-probes | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f7924991f78f988c",
      "framework": "next-react",
      "imports": "@/lib/platform/route-probe-storage,@/lib/platform/route-probes",
      "lines": 104,
      "logic_relevance": "primary",
      "name": "route-probe-storage.test",
      "normalized_name": "route-probe-storage",
      "package_manager": "pnpm",
      "path": "tests/lib/route-probe-storage.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "e5fc49ae7ec169740f0c26c8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/sdk/index | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4b58a93085574836",
      "framework": "next-react",
      "imports": "../../lib/sdk/index",
      "lines": 212,
      "logic_relevance": "primary",
      "name": "sdk.test",
      "normalized_name": "sdk",
      "package_manager": "pnpm",
      "path": "tests/lib/sdk.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "51918d47e2f7e7e5d041475b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "en",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/i18n, en | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09b7d5964601889c",
      "framework": "next-react",
      "imports": "../../lib/i18n,en",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "tests/lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "42348951487f81868a02a46a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/platphorm-network | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "523c0e9677f8802f",
      "framework": "next-react",
      "imports": "../../lib/platphorm-network",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "platphorm-network.test",
      "normalized_name": "platphorm-network",
      "package_manager": "pnpm",
      "path": "tests/lib/platphorm-network.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "3560900531af722c3e48fb86",
      "component_kind": "parser",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/trace/parser, @/lib/trace/types, @/lib/trace/validator | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ff0c15ce63b18955",
      "framework": "next-react",
      "imports": "@/lib/trace/parser,@/lib/trace/types,@/lib/trace/validator",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "parser.test",
      "normalized_name": "parser",
      "package_manager": "pnpm",
      "path": "tests/lib/trace/parser.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "148c2a665c3f7cd2b2ca0b6e",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/trace/validator | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "24ee1ba792057efa",
      "framework": "next-react",
      "imports": "@/lib/trace/validator",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "validator.test",
      "normalized_name": "validator",
      "package_manager": "pnpm",
      "path": "tests/lib/trace/validator.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "8ee924dd507b74b3117f8eb8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/analysis/plain-english | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "63f2175d0d120f57",
      "framework": "next-react",
      "imports": "@/lib/analysis/plain-english",
      "lines": 31,
      "logic_relevance": "primary",
      "name": "plain-english.test",
      "normalized_name": "plain-english",
      "package_manager": "pnpm",
      "path": "tests/lib/analysis/plain-english.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "759746095fa35cefea839dc0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/security/trust | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "51113e07e84e0115",
      "framework": "next-react",
      "imports": "@/lib/security/trust",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "trust.test",
      "normalized_name": "trust",
      "package_manager": "pnpm",
      "path": "tests/lib/security/trust.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "5fa94c398aa82a18b9661e02",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/security/fingerprint, next/headers | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d44210a3040c6e6b",
      "framework": "next-react",
      "imports": "../../../lib/security/fingerprint,next/headers",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "tests/lib/security/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "641ec4beadd0c4bbaf2b0a8a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/network/platphorm | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bb6d57c7451d84e6",
      "framework": "next-react",
      "imports": "@/lib/network/platphorm",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "platphorm.test",
      "normalized_name": "platphorm",
      "package_manager": "pnpm",
      "path": "tests/lib/network/platphorm.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "20100066341ccc110933af02",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logging, @/lib/mcp/client | logic-score:60 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d31f8f741156da7d",
      "framework": "next-react",
      "imports": "@/lib/logging,@/lib/mcp/client",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "client.test",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "tests/lib/mcp/client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,discovery,process",
      "component_id": "544a785255be5b3d372f45c6",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openapi/spec | logic-score:60 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a6e8a72e13e3d73",
      "framework": "next-react",
      "imports": "@/lib/openapi/spec",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "spec.test",
      "normalized_name": "spec",
      "package_manager": "pnpm",
      "path": "tests/lib/openapi/spec.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "646c3695577ded4bbdf953b9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/sdk/index | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "50011defca09e958",
      "framework": "next-react",
      "imports": "../../../lib/sdk/index",
      "lines": 245,
      "logic_relevance": "primary",
      "name": "index.test",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "tests/lib/sdk/index.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "dd97717b67782dba40b45f0d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../../lib/sdk/index | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ef5c3faee98008dc",
      "framework": "next-react",
      "imports": "../../../lib/sdk/index",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "sdk.test",
      "normalized_name": "sdk",
      "package_manager": "pnpm",
      "path": "tests/lib/sdk/sdk.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "c6d3376509ce0780431bc79c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logging | logic-score:60 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b181bef6e5994fcf",
      "framework": "next-react",
      "imports": "@/lib/logging",
      "lines": 92,
      "logic_relevance": "primary",
      "name": "index.test",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "tests/lib/logging/index.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a1e68d54ea950070b678c552",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "9f8d031555ade716dd9dfc4b",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a21404051bb0e6665736ef9d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f6d8c5c43cf1ec0beb18067f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,date-fns,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RelativeTime | imports:@/components/ui/tooltip, @/lib/i18n/context, date-fns, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "RelativeTime",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b706c4a98477b640",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,@/lib/i18n/context,date-fns,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "relative-time",
      "normalized_name": "relative-time",
      "package_manager": "pnpm",
      "path": "components/ui/relative-time.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a69b45a86185777feb805a8e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "3f65c71ed3c5360ea6ec673e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "175993f556c1511ee6e427f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "11b8e22e64b25e17cf32cec7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "33ba59a8d1007b4dc7d70f89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f86a2b965af49f9deed95f3d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "c92961543eb1be8be9b5107b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "054c10bc2d3204c2ab1ad3fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f14d24c6178ef22d6b896356",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "23de4d9e516118e2b42619f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "b350ed5106b21c427f95ece4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "38a1a42ed7e77259cf05d90f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e02f5625a3132d1a3db35641",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f08d0287fde61e14",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 391,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "96a64ea853f225016778a821",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "05f83b835cc16089b31afd96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e8983482acf09e7862eaa431",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "907617bf312be3f8b1bb7f0f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e9437a4ccedc766f05788d44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "68b3b94bb8211943db772f16",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "35238ec92802fd8f5a4a2a38",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0814a058752ee9b32dab8d9a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "78785d25131ae59fad1ed39e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f68faa13137cc21e80162862",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dd25c8148910382a113498d7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "5d06d3441533aad7607e26c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a9ca6ccf64eede2e267e043e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "66e3b01067d413e65c142a7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b53cc0d40bec46ac",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 197,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a4d8025236c3ef4d13cd4662",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "0bd6334757e41cb0950e2435",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "538b1268f664cb1a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 237,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0299caa442c0dd9638515927",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9f0ca0f04417dc51839aede2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f2e4695c964a51ca42aa27fb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ae73545a6a9dd5ee6846a97a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "46be57cde6da77a885b861eb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "c5fe440f84355464e93f38d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b421ba7f2c6568c653342d1c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6d88fb4838adc4325fee27be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7ed66cef91bc5a06974d702b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "831892dc86c9b79ad0dc6486",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "fd9bbb9d2a1ef56bcfb92474",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c4ec2d729aa80b69fe1da818",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "66bb5e3d078abd53cfe31490",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5b867b13a39c7bb05c04fb93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5c6b7e16ac653a775a7b7d1a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "88e479a0c9a64855e6ec9a7d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "98f36d1cf4524534ca6ef7d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "289b5316a8695ebac68329e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5890b4cf63c0a3e695a8f3cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d94664597c827284363fa292",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bdee4f7fafa1c506f604e68f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5fe23cd533ca9998fb875f67",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "0504aa4fde99f27cf91882ba",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "61181f76409571e092fcfed1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "71ebcb9a6818e6b34ce054a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "743ddd890e213353ef7da1e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "8670a14ae23e7bf2a27c5568",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, SidebarContext, SidebarContextProps | imports:react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "SIDEBAR_COOKIE_MAX_AGE,SIDEBAR_COOKIE_NAME,SIDEBAR_KEYBOARD_SHORTCUT,SIDEBAR_WIDTH,SIDEBAR_WIDTH_ICON,SIDEBAR_WIDTH_MOBILE,SidebarContext,SidebarContextProps,useSidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37306989df101d2c",
      "framework": "next-react",
      "imports": "react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sidebar-context",
      "normalized_name": "sidebar-context",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-context.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9ce37be45f34013d70dc8bd5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SidebarContent, SidebarFooter, SidebarHeader, SidebarInput, SidebarInset, SidebarRail, SidebarSeparator, SidebarTrigger | imports:./sidebar-context, @/components/ui/button, @/components/ui/input, @/components/ui/separator, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "SidebarContent,SidebarFooter,SidebarHeader,SidebarInput,SidebarInset,SidebarRail,SidebarSeparator,SidebarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2c03b743aac9e205",
      "framework": "next-react",
      "imports": "./sidebar-context,@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/lib/utils,lucide-react,react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "sidebar-parts",
      "normalized_name": "sidebar-parts",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-parts.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend,logic",
      "component_id": "5555c0f886aba9807769ab3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarDesktop, SidebarMobile | imports:./sidebar-context, @/components/ui/sheet, @/lib/utils, react | ui-score:140 | frontend-score:115 | logic-score:45",
      "exports": "Sidebar,SidebarDesktop,SidebarMobile",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce0d27ec4af0abcf",
      "framework": "next-react",
      "imports": "./sidebar-context,@/components/ui/sheet,@/lib/utils,react",
      "lines": 146,
      "logic_relevance": "secondary",
      "name": "sidebar-core",
      "normalized_name": "sidebar-core",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-core.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "86de0d78ada218f3cf70ec6e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, sidebarMenuButtonVariants | imports:./sidebar-context, @/components/ui/skeleton, @/components/ui/tooltip, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,sidebarMenuButtonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e224d7975422ba2b",
      "framework": "next-react",
      "imports": "./sidebar-context,@/components/ui/skeleton,@/components/ui/tooltip,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 192,
      "logic_relevance": "none",
      "name": "sidebar-menu",
      "normalized_name": "sidebar-menu",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "83429eb03a3bfbf792d064a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem | imports:@/lib/utils, @radix-ui/react-slot, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9530bb8db554868d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "sidebar-menu-sub",
      "normalized_name": "sidebar-menu-sub",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-menu-sub.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b8ee7d30103ff8dbf0a72fd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel | imports:@/lib/utils, @radix-ui/react-slot, react | ui-score:140 | frontend-score:115",
      "exports": "SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "95a5794d596be4ae",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "sidebar-group",
      "normalized_name": "sidebar-group",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend,security",
      "component_id": "bd2750edb1b377be0a5f0593",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SidebarProvider | imports:./sidebar-context, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "SidebarProvider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fc57faf600cdfcce",
      "framework": "next-react",
      "imports": "./sidebar-context,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "sidebar-provider",
      "normalized_name": "sidebar-provider",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/sidebar-provider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "af88e8de22ce906f285761e3",
      "component_kind": "ui-primitive",
      "confidence": 70,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:./sidebar-context, ./sidebar-core, ./sidebar-group, ./sidebar-menu, ./sidebar-menu-sub, ./sidebar-parts, ./sidebar-provider | ui-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "13b276aae0f3ae83",
      "framework": "next-react",
      "imports": "./sidebar-context,./sidebar-core,./sidebar-group,./sidebar-menu,./sidebar-menu-sub,./sidebar-parts,./sidebar-provider",
      "lines": 7,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "050e39f5c0dad01a6fb40199",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NavButton | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NavButton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "45f6b25972f365e1",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 44,
      "logic_relevance": "none",
      "name": "nav-button",
      "normalized_name": "nav-button",
      "package_manager": "pnpm",
      "path": "components/home/nav-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cd2e5843bb329641a7387c36",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturePanel | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "FeaturePanel",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e61dad78fb86b84e",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "feature-panel",
      "normalized_name": "feature-panel",
      "package_manager": "pnpm",
      "path": "components/home/feature-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ae360f3669fbab3d4c745d2f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TracePreviewRow | imports:@/components/lc3rs, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "TracePreviewRow",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12ac30bfa7a80a83",
      "framework": "next-react",
      "imports": "@/components/lc3rs,next/link",
      "lines": 43,
      "logic_relevance": "none",
      "name": "trace-preview-row",
      "normalized_name": "trace-preview-row",
      "package_manager": "pnpm",
      "path": "components/home/trace-preview-row.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "740c7a079ec5316c90a64096",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveTraceFeed | imports:@/components/home/trace-preview-row, @/components/lc3rs, @/lib/i18n/context, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "LiveTraceFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69bea2df3a606690",
      "framework": "next-react",
      "imports": "@/components/home/trace-preview-row,@/components/lc3rs,@/lib/i18n/context,next/link",
      "lines": 62,
      "logic_relevance": "none",
      "name": "live-trace-feed",
      "normalized_name": "live-trace-feed",
      "package_manager": "pnpm",
      "path": "components/home/live-trace-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "75d69ab368bc8525b67e5a02",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveFeedSection | imports:@/components/live/live-feed, @/components/ui/badge, @/components/ui/tooltip, @/lib/i18n/context, @/lib/network/real-data, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "LiveFeedSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c29c4fb975d99130",
      "framework": "next-react",
      "imports": "@/components/live/live-feed,@/components/ui/badge,@/components/ui/tooltip,@/lib/i18n/context,@/lib/network/real-data,next/link,react",
      "lines": 135,
      "logic_relevance": "none",
      "name": "live-feed-section",
      "normalized_name": "live-feed-section",
      "package_manager": "pnpm",
      "path": "components/home/live-feed-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "4012921500adb07cbcaeb9be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroPanel | imports:@/components/lc3rs, @/components/plain-english/jargon-toggle, @/components/ui/badge, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "HeroPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bead3c091559b53",
      "framework": "next-react",
      "imports": "@/components/lc3rs,@/components/plain-english/jargon-toggle,@/components/ui/badge,next/link",
      "lines": 52,
      "logic_relevance": "none",
      "name": "hero-panel",
      "normalized_name": "hero-panel",
      "package_manager": "pnpm",
      "path": "components/home/hero-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3d7a43b6e932e17ec357e343",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LeftSidebar | imports:@/components/home/nav-button, @/components/lc3rs, @/hooks/use-atlas-sensor | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "LeftSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f518fa29be3dacf0",
      "framework": "next-react",
      "imports": "@/components/home/nav-button,@/components/lc3rs,@/hooks/use-atlas-sensor",
      "lines": 65,
      "logic_relevance": "none",
      "name": "left-sidebar",
      "normalized_name": "left-sidebar",
      "package_manager": "pnpm",
      "path": "components/home/left-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3b5792adbeab822aa32ec273",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RightSidebar | imports:@/components/lc3rs, @/hooks/use-network-data, @/lib/i18n/context, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RightSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c852e7323b337d3a",
      "framework": "next-react",
      "imports": "@/components/lc3rs,@/hooks/use-network-data,@/lib/i18n/context,next/link",
      "lines": 126,
      "logic_relevance": "none",
      "name": "right-sidebar",
      "normalized_name": "right-sidebar",
      "package_manager": "pnpm",
      "path": "components/home/right-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "33035d11f40e7278938b850e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TracesExplorer | imports:@/components/lc3rs, @/components/plain-english/jargon-toggle, @/components/trace/trace-card, @/components/ui/button, @/components/ui/input, @/components/ui/select, @/hooks/use-atlas-sensor, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TracesExplorer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7303d155fe80a67",
      "framework": "next-react",
      "imports": "@/components/lc3rs,@/components/plain-english/jargon-toggle,@/components/trace/trace-card,@/components/ui/button,@/components/ui/input,@/components/ui/select,@/hooks/use-atlas-sensor,@/lib/utils,lucide-react,react",
      "lines": 361,
      "logic_relevance": "none",
      "name": "traces-explorer",
      "normalized_name": "traces-explorer",
      "package_manager": "pnpm",
      "path": "components/traces/traces-explorer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "b239232c4f948f3858630916",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceCard, TraceCardData | imports:@/components/observatory/health-score-badge, @/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/card, @/components/ui/relative-time, @/components/ui/tooltip, @/lib/i18n/context, @/lib/utils | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TraceCard,TraceCardData",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26d628ce8cccabdf",
      "framework": "next-react",
      "imports": "@/components/observatory/health-score-badge,@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/card,@/components/ui/relative-time,@/components/ui/tooltip,@/lib/i18n/context,@/lib/utils,next/link,react",
      "lines": 331,
      "logic_relevance": "none",
      "name": "trace-card",
      "normalized_name": "trace-card",
      "package_manager": "pnpm",
      "path": "components/trace/trace-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ca8efa465dccba12d05fb907",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HealthScoreBadge, HealthScoreCircle, HealthScoreRing | imports:@/components/plain-english/jargon-toggle, @/components/ui/tooltip, @/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HealthScoreBadge,HealthScoreCircle,HealthScoreRing",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44030eec07440411",
      "framework": "next-react",
      "imports": "@/components/plain-english/jargon-toggle,@/components/ui/tooltip,@/lib/utils",
      "lines": 207,
      "logic_relevance": "none",
      "name": "health-score-badge",
      "normalized_name": "health-score-badge",
      "package_manager": "pnpm",
      "path": "components/observatory/health-score-badge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "406281236dd0aa5e53a33e23",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpanDetailPanel | imports:@/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/network/spins, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SpanDetailPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a2674e494d25b1f",
      "framework": "next-react",
      "imports": "@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/network/spins,lucide-react,react",
      "lines": 287,
      "logic_relevance": "none",
      "name": "span-detail-panel",
      "normalized_name": "span-detail-panel",
      "package_manager": "pnpm",
      "path": "components/observatory/span-detail-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "cb7c28640e0625a191d32740",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnotationPanel | imports:@/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/spinner, @/components/ui/textarea, @/lib/utils, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnnotationPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "115b664f9c6016a7",
      "framework": "next-react",
      "imports": "@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/spinner,@/components/ui/textarea,@/lib/utils,lucide-react,react",
      "lines": 234,
      "logic_relevance": "none",
      "name": "annotation-panel",
      "normalized_name": "annotation-panel",
      "package_manager": "pnpm",
      "path": "components/observatory/annotation-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "b0f4f33f5fb4de858edf4ac2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AiAnalysisPanel, SpanData, TraceData | imports:./health-score-badge, @/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, @/lib/i18n/context, @/lib/icons, @/lib/utils | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AiAnalysisPanel,SpanData,TraceData",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c483ff24e44f4925",
      "framework": "next-react",
      "imports": "./health-score-badge,@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,@/lib/i18n/context,@/lib/icons,@/lib/utils,react",
      "lines": 387,
      "logic_relevance": "none",
      "name": "ai-analysis-panel",
      "normalized_name": "ai-analysis-panel",
      "package_manager": "pnpm",
      "path": "components/observatory/ai-analysis-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3669a37d0c4e6b14f86c3407",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WaterfallView | imports:@/components/plain-english/jargon-toggle, @/components/ui/tooltip, @/lib/network/spins, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WaterfallView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dac51da91b5fdbc",
      "framework": "next-react",
      "imports": "@/components/plain-english/jargon-toggle,@/components/ui/tooltip,@/lib/network/spins,@/lib/utils,lucide-react,react",
      "lines": 249,
      "logic_relevance": "none",
      "name": "waterfall-view",
      "normalized_name": "waterfall-view",
      "package_manager": "pnpm",
      "path": "components/observatory/waterfall-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "d595da09dc758c9dbccec652",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TraceObservatory | imports:./ai-analysis-panel, ./annotation-panel, ./health-score-badge, ./span-detail-panel, ./waterfall-view, @/components/plain-english/jargon-toggle, @/components/ui/badge, @/components/ui/button | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "TraceObservatory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a03344011dc1a1f6",
      "framework": "next-react",
      "imports": "./ai-analysis-panel,./annotation-panel,./health-score-badge,./span-detail-panel,./waterfall-view,@/components/plain-english/jargon-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/ui/tooltip,@/lib/i18n/context,@/lib/icons,@/lib/utils,next/link,react",
      "lines": 484,
      "logic_relevance": "none",
      "name": "trace-observatory",
      "normalized_name": "trace-observatory",
      "package_manager": "pnpm",
      "path": "components/observatory/trace-observatory.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b055a247b04bd6121b163634",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQContent | imports:@/components/ui/accordion, @/components/ui/input, @/components/ui/tooltip, @/lib/i18n/context, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FAQContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b97fbf82ff344af",
      "framework": "next-react",
      "imports": "@/components/ui/accordion,@/components/ui/input,@/components/ui/tooltip,@/lib/i18n/context,react",
      "lines": 165,
      "logic_relevance": "none",
      "name": "faq-content",
      "normalized_name": "faq-content",
      "package_manager": "pnpm",
      "path": "components/faq/faq-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3ca8a61ab65c5a2e26dbf626",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PlainEnglishProvider, PlainEnglishSwitch, PlainEnglishToggle, usePlainEnglish | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "PlainEnglishProvider,PlainEnglishSwitch,PlainEnglishToggle,usePlainEnglish",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bc38efbcf69f1d87",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "jargon-toggle",
      "normalized_name": "jargon-toggle",
      "package_manager": "pnpm",
      "path": "components/plain-english/jargon-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5ea48b6445e690e8da0ff132",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/i18n/context, @/lib/platphorm-network, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2bdf0d6d48efe463",
      "framework": "next-react",
      "imports": "@/lib/i18n/context,@/lib/platphorm-network,next/link",
      "lines": 245,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d6b2cd97ba21c5c9a878a1ea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSelector | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/lib/i18n/context, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LanguageSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a219ef65befd5ac8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/lib/i18n/context,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "language-selector",
      "normalized_name": "language-selector",
      "package_manager": "pnpm",
      "path": "components/layout/language-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "545a22313a6455dac60d68b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NetworkBar | imports:@/lib/platphorm-network, @/lib/utils, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NetworkBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c62227eb03d65b8b",
      "framework": "next-react",
      "imports": "@/lib/platphorm-network,@/lib/utils,next/link",
      "lines": 62,
      "logic_relevance": "none",
      "name": "network-bar",
      "normalized_name": "network-bar",
      "package_manager": "pnpm",
      "path": "components/layout/network-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a6ec29fe400a5bbaf9356fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/layout/language-selector, @/components/layout/theme-toggle, @/components/lcars, @/components/plain-english/jargon-toggle, @/components/ui/button, @/components/ui/input, @/components/ui/sheet, @/components/ui/tooltip | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "041464d6e9ff8d2a",
      "framework": "next-react",
      "imports": "@/components/layout/language-selector,@/components/layout/theme-toggle,@/components/lcars,@/components/plain-english/jargon-toggle,@/components/ui/button,@/components/ui/input,@/components/ui/sheet,@/components/ui/tooltip,@/lib/i18n/context,@/lib/utils,next/link,next/navigation",
      "lines": 187,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "1aad936fb14793a961df5d40",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e75c8deb891ce52",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next-themes,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/layout/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6611ff457ec8a3a70fdd9c8b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutContent | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/tooltip, @/lib/i18n/context, @/lib/network/real-data, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AboutContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1249635279881664",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/tooltip,@/lib/i18n/context,@/lib/network/real-data,next/link,react",
      "lines": 357,
      "logic_relevance": "none",
      "name": "about-content",
      "normalized_name": "about-content",
      "package_manager": "pnpm",
      "path": "components/about/about-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3bea4e5439c677799914ea2c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnyColor, AtlasSensor, CommandHeader, CosmicCard, DataDisplay, EntangledStatus, Lc3rsColor, LcarsButton | imports:@/components/lcars, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AnyColor,AtlasSensor,CommandHeader,CosmicCard,DataDisplay,EntangledStatus,Lc3rsColor,LcarsButton,LcarsColor,LcarsData,LcarsDivider,LcarsFrame,LcarsGrid,LcarsGridCell,LcarsHeader,LcarsInfoCard,LcarsMeter,LcarsPanel,LcarsSidebar,LcarsStatus,QuantumDivider,QuantumFrame,QuantumGrid,QuantumGridCell,QuantumPanel,SingularityButton,Stardate,TraceHelix,WormholeMeter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efb21c675b9a718a",
      "framework": "next-react",
      "imports": "@/components/lcars,@/lib/utils,react",
      "lines": 673,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/lc3rs/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "9b6e591386cb6b9e0b63b5fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LiveFeed | imports:@/components/plain-english/jargon-toggle, @/components/trace/trace-card, @/components/ui/badge, @/components/ui/button, @/components/ui/tooltip, @/lib/i18n/context, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "LiveFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a8de60a03889d06",
      "framework": "next-react",
      "imports": "@/components/plain-english/jargon-toggle,@/components/trace/trace-card,@/components/ui/badge,@/components/ui/button,@/components/ui/tooltip,@/lib/i18n/context,@/lib/utils,react,swr",
      "lines": 154,
      "logic_relevance": "none",
      "name": "live-feed",
      "normalized_name": "live-feed",
      "package_manager": "pnpm",
      "path": "components/live/live-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7ed37e5e461c8b237fe92d24",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIAnalysisPanel, DiscoveryPanel, LcarsButton, LcarsColor, LcarsData, LcarsDivider, LcarsFrame, LcarsGrid | imports:./ai-panel, @/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AIAnalysisPanel,DiscoveryPanel,LcarsButton,LcarsColor,LcarsData,LcarsDivider,LcarsFrame,LcarsGrid,LcarsGridCell,LcarsHeader,LcarsInfoCard,LcarsMeter,LcarsPanel,LcarsSidebar,LcarsStatus,NetworkGraphMini",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6938308471125912",
      "framework": "next-react",
      "imports": "./ai-panel,@/lib/utils,react",
      "lines": 489,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/lcars/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ai,ui,observability,security",
      "component_id": "da0c77a87bcf40b335a976af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AIAnalysisPanel, DiscoveryPanel, NetworkGraphMini | imports:@/components/lcars, @/lib/i18n/context, react | frontend-score:115 | ai-score:75 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AIAnalysisPanel,DiscoveryPanel,NetworkGraphMini",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3bb5f4a79bb5cfa",
      "framework": "next-react",
      "imports": "@/components/lcars,@/lib/i18n/context,react",
      "lines": 380,
      "logic_relevance": "none",
      "name": "ai-panel",
      "normalized_name": "ai-panel",
      "package_manager": "pnpm",
      "path": "components/lcars/ai-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "5d9969eeb2a548718e2c2145",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbJsonLd, FAQPageJsonLd, JsonLdProps, MainPageJsonLd, OrganizationJsonLd, SoftwareApplicationJsonLd, WebSiteJsonLd | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "BreadcrumbJsonLd,FAQPageJsonLd,JsonLdProps,MainPageJsonLd,OrganizationJsonLd,SoftwareApplicationJsonLd,WebSiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cd610fb530f2de65",
      "framework": "next-react",
      "imports": "",
      "lines": 189,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/seo/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "178ec2155ee94ad57f29c520",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionObservatory | imports:@/components/lc3rs, @/components/observatory/health-score-badge, @/components/plain-english/jargon-toggle, @/components/trace/trace-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/relative-time | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SessionObservatory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee26b644d9e70713",
      "framework": "next-react",
      "imports": "@/components/lc3rs,@/components/observatory/health-score-badge,@/components/plain-english/jargon-toggle,@/components/trace/trace-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/relative-time,@/components/ui/scroll-area,@/components/ui/tabs,@/components/ui/tooltip,@/lib/icons,@/lib/utils,lucide-react,next/link,react",
      "lines": 548,
      "logic_relevance": "none",
      "name": "session-observatory",
      "normalized_name": "session-observatory",
      "package_manager": "pnpm",
      "path": "components/session/session-observatory.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "276659cdf81889c15745a9bf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8b934c1f28769e10",
      "framework": "next-react",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "principles",
      "normalized_name": "principles",
      "package_manager": "pnpm",
      "path": "public/principles.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,discovery",
      "component_id": "cb190c170a4335519f52fc46",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3c594dd75501a326",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "openapi-starter",
      "normalized_name": "openapi-starter",
      "package_manager": "pnpm",
      "path": "public/openapi-starter.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "a8bd41c063bf6ea6c0e5e470",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9b707b46f0601e55",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "ethics",
      "normalized_name": "ethics",
      "package_manager": "pnpm",
      "path": "public/ethics.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "d6eb5681d6afef40f806e50e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3c8d9ed69ecddaae",
      "framework": "next-react",
      "imports": "",
      "lines": 238,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a80bf3caf17addb6e9deb2e8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c31cc58fa00ca40d",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "standards",
      "normalized_name": "standards",
      "package_manager": "pnpm",
      "path": "public/standards.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "d25bc7be9bcf8e9162a43d2e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb032ebc7df8a845",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,discovery,ai",
      "component_id": "920674fb9149a32674a462c2",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "243b31e9ee69b308",
      "framework": "next-react",
      "imports": "",
      "lines": 214,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "1f47a8c3ca8085f2ada8c97f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b2a0a1bb22a8363c",
      "framework": "next-react",
      "imports": "",
      "lines": 179,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "ae69099a38da95ac1c8fb218",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "786e1a714aa7cb44",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "866518db930af84720bdbf1c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69e98c8ca7f36a3e",
      "framework": "next-react",
      "imports": "",
      "lines": 144,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "e2088424efa4c0a55d85db7d",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "8a27c5e31ba6cd90",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security",
      "component_id": "6bf8fc0af0acf45cf4a0864f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "885d171c7aa8e15f",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "a62c2d0df937cb35844017e2",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61bf57e9db44776e",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "c5fc10457755f520d86382bf",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a8f150efe4efedc6",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "atlas.schema",
      "normalized_name": "atlas-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/atlas.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "7af85c13a3d83eef115eed90",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4a6dcd42f62d7351",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "sandbox.schema",
      "normalized_name": "sandbox-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/sandbox.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,process",
      "component_id": "a40a11bb5c1dc76ae7e6512e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e648a2e36b12b498",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,observability",
      "component_id": "119cb0ea472be32f57620fdb",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "05ca49ba482e0bdf",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "monitor.schema",
      "normalized_name": "monitor-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/monitor.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "a9ac28a3921d2bbe60b62eab",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "979c735f18b00a2d",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "dbb99e6913bb0f04dd8b1570",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4bf7d3ab1f43e368",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "quake.schema",
      "normalized_name": "quake-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/quake.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "025a8f9c233921abe655ef90",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "839cb2f62d69ab94",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "insights.schema",
      "normalized_name": "insights-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/insights.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,backend",
      "component_id": "b18538ef1477096aa8731524",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "02466434e6431df3",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "sheets.schema",
      "normalized_name": "sheets-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/sheets.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,integration,automation",
      "component_id": "a51cbccbde1c87f13f419311",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "066e6f89bc382cd2",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "webhooks.schema",
      "normalized_name": "webhooks-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/webhooks.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "2d352218480ba6814f67f897",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0a1d2016484bed54",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/overlays/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "a1bf905e390c43c27face332",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ca298f4f393f3a9c",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "c0bc1bb19085564d3420608d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e3a91fbfb085443d",
      "framework": "next-react",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d994399e7130ace9419f3d65",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react,swr",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AtlasSensorReading, CosmicSignature, NetworkHealthSummary, formatFrequency, generateCosmicCorrelationId, generateCosmicSignature, useAtlasSensor, useCosmicSignature | imports:react, swr | observability-score:55",
      "exports": "AtlasSensorReading,CosmicSignature,NetworkHealthSummary,formatFrequency,generateCosmicCorrelationId,generateCosmicSignature,useAtlasSensor,useCosmicSignature,useNetworkHealth,wavelengthToColor",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "37302bac74364398",
      "framework": "next-react",
      "imports": "react,swr",
      "lines": 205,
      "logic_relevance": "none",
      "name": "use-atlas-sensor",
      "normalized_name": "use-atlas-sensor",
      "package_manager": "pnpm",
      "path": "hooks/use-atlas-sensor.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8ee62c093023963115fcf6be",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,swr",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NetworkGraphData, NetworkHealthSummary, NetworkSite, NetworkSiteDetail, NetworkStats, PLATPHORM_SITES, RouteComplianceProbeCheck, RouteComplianceProbeResult | imports:@/lib/network/site-catalog, swr | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "NetworkGraphData,NetworkHealthSummary,NetworkSite,NetworkSiteDetail,NetworkStats,PLATPHORM_SITES,RouteComplianceProbeCheck,RouteComplianceProbeResult,SiteHealth,calculateNetworkStats,useLiveTraces,useNetworkGraph,useNetworkHealth,useNetworkSiteDetail,useNetworkSites,useNetworkStats,useSiteHealth",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "744c442e20410584",
      "framework": "next-react",
      "imports": "@/lib/network/site-catalog,swr",
      "lines": 455,
      "logic_relevance": "none",
      "name": "use-network-data",
      "normalized_name": "use-network-data",
      "package_manager": "pnpm",
      "path": "hooks/use-network-data.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "dab1a10efa69d19b27049c7c",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ce58df99fc118c7",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "publish-job",
      "normalized_name": "publish-job",
      "package_manager": "pnpm",
      "path": "scripts/publish-job.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,process",
      "component_id": "6e65435d940f270b53465c43",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "playwright",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:playwright | observability-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b250930d8cef59e9",
      "framework": "next-react",
      "imports": "playwright",
      "lines": 25,
      "logic_relevance": "none",
      "name": "verify-docs",
      "normalized_name": "verify-docs",
      "package_manager": "pnpm",
      "path": "scripts/verify-docs.js",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e575d74beef3d7da5a20cc49",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ENDPOINTS | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "ENDPOINTS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "feda8a280a87852f",
      "framework": "next-react",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "register-network",
      "normalized_name": "register-network",
      "package_manager": "pnpm",
      "path": "scripts/register-network.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "435d38051afd80040e00c430",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:labTraceMemoryEnabled, listLabTraces, readLabTrace, writeLabTrace | imports:node:fs, node:path | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "labTraceMemoryEnabled,listLabTraces,readLabTrace,writeLabTrace",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "909d3c6766a0d7d7",
      "framework": "next-react",
      "imports": "node:fs,node:path",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "lab-trace-store",
      "normalized_name": "lab-trace-store",
      "package_manager": "pnpm",
      "path": "lib/lab-trace-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "e49059c341ced7dd777ec52d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,@upstash/redis",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CACHE_KEYS, CACHE_TTL, LiveMessage, RATE_LIMITS, redis, redisConfigured | imports:@/lib/env, @upstash/redis | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "CACHE_KEYS,CACHE_TTL,LiveMessage,RATE_LIMITS,redis,redisConfigured",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f8c7a032aa4c758",
      "framework": "next-react",
      "imports": "@/lib/env,@upstash/redis",
      "lines": 164,
      "logic_relevance": "primary",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "lib/redis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8f118014200a2b9ed429e21f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,frontend,ui,observability,security",
      "component_id": "9f3719599f031592a0bafc97",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IconAdd, IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconBell, IconBellOff, IconBolt | imports:@/lib/utils | logic-score:70 | frontend-score:60 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "IconAdd,IconArrowDown,IconArrowLeft,IconArrowRight,IconArrowUp,IconBell,IconBellOff,IconBolt,IconBrain,IconBranch,IconChain,IconChart,IconCheck,IconCheckDouble,IconChevronDown,IconChevronRight,IconCircleEmpty,IconCircleFilled,IconClipboard,IconClock,IconClose,IconCloud,IconCode,IconCollapse,IconCommand,IconComment,IconCopy,IconDatabase,IconDelete,IconDiamond,IconDownload,IconEdit,IconError,IconExpand,IconExternal,IconEye,IconEyeOff,IconFile,IconFilter,IconFolder,IconFolderOpen,IconFork,IconGear,IconGlobe,IconHexagon,IconHome,IconInfo,IconKey,IconLightbulb,IconLink,IconLock,IconMagic,IconMail,IconMenu,IconMerge,IconMinus,IconMoon,IconMoreHorizontal,IconMoreVertical,IconNote,IconOption,IconPaste,IconPending,IconPlus,IconPulse,IconRefresh,IconReload,IconRemove,IconRobot,IconRunning,IconSearch,IconServer,IconSettings,IconShare,IconShield,IconSort,IconSpan,IconSparkle,IconSparkles,IconStar,IconStarEmpty,IconStop,IconStopwatch,IconSuccess,IconSun,IconTarget,IconTerminal,IconTimer,IconTrace,IconTrendDown,IconTrendUp,IconTriangleRight,IconUnlock,IconUpload,IconUser,IconUsers,IconWarning,IconWifi,IconWrench,LoadingSpinner,StatusDot",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4426d0e371a53557",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 517,
      "logic_relevance": "primary",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "lib/icons.tsx",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c22142c3de7a7f1e9516a502",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:env | imports:zod | logic-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "env",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "61d28bf91867bf3f",
      "framework": "next-react",
      "imports": "zod",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "a7e80ccd0794416e18196d64",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkSiteKey, PLATPHORM_NETWORK, getBaseUrl, getCurrentSite, getMcpHubUrl, getNetworkSites, getOtherSites | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NetworkSiteKey,PLATPHORM_NETWORK,getBaseUrl,getCurrentSite,getMcpHubUrl,getNetworkSites,getOtherSites",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a6912cf986b2469",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "platphorm-network",
      "normalized_name": "platphorm-network",
      "package_manager": "pnpm",
      "path": "lib/platphorm-network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security,ai",
      "component_id": "136396751b007f642d3dfe9d",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@/lib,@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AnnotationRow, FingerprintRow, NetworkStatsRow, PatternRow, SpanRow, TraceRow, isLocalLabDatabaseUrl, sql | imports:@/lib/env, @/lib/sdk, @neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnnotationRow,FingerprintRow,NetworkStatsRow,PatternRow,SpanRow,TraceRow,isLocalLabDatabaseUrl,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0a59618113da44ef",
      "framework": "next-react",
      "imports": "@/lib/env,@/lib/sdk,@neondatabase/serverless",
      "lines": 213,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "pnpm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "0d56a9ef991947f7468e13b1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./types, ./validator, @/lib/db | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c8117cfde2fd98db",
      "framework": "next-react",
      "imports": "./types,./validator,@/lib/db",
      "lines": 110,
      "logic_relevance": "primary",
      "name": "storage",
      "normalized_name": "storage",
      "package_manager": "pnpm",
      "path": "lib/trace/storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "0bdbe765cfe6bc74e2b96373",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildWaterfallData, generateShareToken, generateSpanId, generateTraceId, parseSpanPayload, parseTracePayload | imports:./types, ./validator, nanoid | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "buildWaterfallData,generateShareToken,generateSpanId,generateTraceId,parseSpanPayload,parseTracePayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a9822e8daf95998f",
      "framework": "next-react",
      "imports": "./types,./validator,nanoid",
      "lines": 275,
      "logic_relevance": "primary",
      "name": "parser",
      "normalized_name": "parser",
      "package_manager": "pnpm",
      "path": "lib/trace/parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "b056b214008b1d9e88522e95",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Annotation, AnomalyInfo, GenAIOperation, MCPMethod, NetworkStats, Pattern, Span, SpanEvent | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Annotation,AnomalyInfo,GenAIOperation,MCPMethod,NetworkStats,Pattern,Span,SpanEvent,SpanKind,SpanLink,SpanPayload,SpanStatus,SuggestionInfo,TimelineData,TimelineEvent,Trace,TraceFork,TracePayload,TraceStatus,WaterfallData,WaterfallSpan",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d230564ad4276ff",
      "framework": "next-react",
      "imports": "",
      "lines": 303,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/trace/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "17ea33e0b4077edde410aabe",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnnotationPayload, ForkRequest, SearchParams, SpanPayload, TracePayload, validateAnnotationPayload, validateForkRequest, validateSearchParams | imports:zod | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AnnotationPayload,ForkRequest,SearchParams,SpanPayload,TracePayload,validateAnnotationPayload,validateForkRequest,validateSearchParams,validateSpanPayload,validateTracePayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "611afb8747789938",
      "framework": "next-react",
      "imports": "zod",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "validator",
      "normalized_name": "validator",
      "package_manager": "pnpm",
      "path": "lib/trace/validator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "56a91d83b0b88adce4d34582",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DisclosureLevel, FormattedSpan, describeAnomaly, describeToolCall, describeTrace, explainHealthScore, formatDurationPlain, formatDurationTechnical | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "DisclosureLevel,FormattedSpan,describeAnomaly,describeToolCall,describeTrace,explainHealthScore,formatDurationPlain,formatDurationTechnical,getSpanIcon,toPlainEnglish",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "525f73d6bf6125d9",
      "framework": "next-react",
      "imports": "",
      "lines": 264,
      "logic_relevance": "primary",
      "name": "plain-english",
      "normalized_name": "plain-english",
      "package_manager": "pnpm",
      "path": "lib/analysis/plain-english.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "31d29c8483bf45a4bb6853b2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CORS_HEADERS, SECURITY_HEADERS, generateRequestId, withAllHeaders, withCorsHeaders, withSecurityHeaders | imports:@/lib/env | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CORS_HEADERS,SECURITY_HEADERS,generateRequestId,withAllHeaders,withCorsHeaders,withSecurityHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9749b233d09084a2",
      "framework": "next-react",
      "imports": "@/lib/env",
      "lines": 107,
      "logic_relevance": "primary",
      "name": "headers",
      "normalized_name": "headers",
      "package_manager": "pnpm",
      "path": "lib/security/headers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "229e39f5784462ad8fd6caff",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RateLimitBucket, TrustLevel, isDomainTrusted, isPlatphormNetwork | imports:@/lib/db, @/lib/env, @/lib/security/platform-auth, next/headers | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "RateLimitBucket,TrustLevel,isDomainTrusted,isPlatphormNetwork",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "596064831843dd27",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/env,@/lib/security/platform-auth,next/headers",
      "lines": 159,
      "logic_relevance": "primary",
      "name": "trust",
      "normalized_name": "trust",
      "package_manager": "pnpm",
      "path": "lib/security/trust.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "714f673994e3ff4689906c5e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractPlatformApiKey, isPlatformApiKeyValid, isProtectedRequestAuthorized, protectedActionError | imports:@/lib/env, next/server | logic-score:85 | security-score:55",
      "exports": "extractPlatformApiKey,isPlatformApiKeyValid,isProtectedRequestAuthorized,protectedActionError",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8cd102d713e708d0",
      "framework": "next-react",
      "imports": "@/lib/env,next/server",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "platform-auth",
      "normalized_name": "platform-auth",
      "package_manager": "pnpm",
      "path": "lib/security/platform-auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "0a1e57ce834cee613a1873de",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintComponents, extractOriginDomain | imports:next/headers | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "FingerprintComponents,extractOriginDomain",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "76489fae123ff87d",
      "framework": "next-react",
      "imports": "next/headers",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/security/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "31f348f3c2b51d8c004f5ad4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RateLimitResult, getRateLimitHeaders | imports:./fingerprint, ./trust, @/lib/redis | logic-score:85 | security-score:55",
      "exports": "RateLimitResult,getRateLimitHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b10bd1757a0bdf8a",
      "framework": "next-react",
      "imports": "./fingerprint,./trust,@/lib/redis",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/security/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "46d4e753c0a3833e4693abe0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RouteProbeTraceRecord | imports:@/lib/platform/route-probes, @/lib/trace/parser, @/lib/trace/storage, @/lib/trace/types, @/lib/trace/validator | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RouteProbeTraceRecord",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f6b9aaedb01e1595",
      "framework": "next-react",
      "imports": "@/lib/platform/route-probes,@/lib/trace/parser,@/lib/trace/storage,@/lib/trace/types,@/lib/trace/validator",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "route-probe-tracing",
      "normalized_name": "route-probe-tracing",
      "package_manager": "pnpm",
      "path": "lib/platform/route-probe-tracing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "3ef832ffcb6a0e6c55f02e7c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_PROMPTS, MCP_PROTOCOL_VERSION, MCP_RESOURCES, MCP_SERVER_INFO, MCP_TOOLS, getMcpRegistryCounts | imports:@/lib/platform/constants | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MCP_PROMPTS,MCP_PROTOCOL_VERSION,MCP_RESOURCES,MCP_SERVER_INFO,MCP_TOOLS,getMcpRegistryCounts",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "53dbcf3e75b9cd27",
      "framework": "next-react",
      "imports": "@/lib/platform/constants",
      "lines": 219,
      "logic_relevance": "primary",
      "name": "mcp-registry",
      "normalized_name": "mcp-registry",
      "package_manager": "pnpm",
      "path": "lib/platform/mcp-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1814c3201e7db7a794a67940",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildTraceTimeline, buildTraceTree, buildTraceWaterfall, scoreTraceCompleteness | imports:@/lib/db, @/lib/lab-trace-store | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "buildTraceTimeline,buildTraceTree,buildTraceWaterfall,scoreTraceCompleteness",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a5095afd8e2ef7bc",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/lab-trace-store",
      "lines": 124,
      "logic_relevance": "primary",
      "name": "trace-views",
      "normalized_name": "trace-views",
      "package_manager": "pnpm",
      "path": "lib/platform/trace-views.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7e7a98749279466da283c87d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TraceRegistryStats | imports:@/lib/db, @/lib/lab-trace-store, @/lib/redis | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "TraceRegistryStats",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "958e7f397185aa06",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/lab-trace-store,@/lib/redis",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "trace-registry",
      "normalized_name": "trace-registry",
      "package_manager": "pnpm",
      "path": "lib/platform/trace-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "8b10673b451c494b185f0920",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RouteComplianceProbeResult, RouteProbeCheck, RouteProbeStatus, getCachedRouteComplianceProbe, getCachedRouteComplianceProbes | imports:@/lib/platform/constants, @/lib/platform/network-registry, @/lib/platform/route-probe-storage, @/lib/platform/route-probe-tracing | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "RouteComplianceProbeResult,RouteProbeCheck,RouteProbeStatus,getCachedRouteComplianceProbe,getCachedRouteComplianceProbes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "12ee23e3cb12d073",
      "framework": "next-react",
      "imports": "@/lib/platform/constants,@/lib/platform/network-registry,@/lib/platform/route-probe-storage,@/lib/platform/route-probe-tracing",
      "lines": 314,
      "logic_relevance": "primary",
      "name": "route-probes",
      "normalized_name": "route-probes",
      "package_manager": "pnpm",
      "path": "lib/platform/route-probes.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "08756640a811098cb043bd47",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCP_HUB_URL, NETWORK_GRAPH_SOURCE, PROTECTED_ACTIONS, PUBLIC_READ_SURFACES, SITEMAP_INDEX_SOURCE, STANDARD_ROUTES, TRACE_API_ENDPOINTS, TRACE_BASE_URL | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MCP_HUB_URL,NETWORK_GRAPH_SOURCE,PROTECTED_ACTIONS,PUBLIC_READ_SURFACES,SITEMAP_INDEX_SOURCE,STANDARD_ROUTES,TRACE_API_ENDPOINTS,TRACE_BASE_URL,TRACE_SERVICE,TRUST_POLICY_LINE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "76ea986ad55472de",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/platform/constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,backend,observability,security",
      "component_id": "bb6529743145bf17619c491c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/db, @/lib/platform/route-probes | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2413271359dcd27f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/platform/route-probes",
      "lines": 145,
      "logic_relevance": "primary",
      "name": "route-probe-storage",
      "normalized_name": "route-probe-storage",
      "package_manager": "pnpm",
      "path": "lib/platform/route-probe-storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "60b1445aac9d5765454cc212",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CanonicalNetworkRegistry, RegistryHealthStatus, RegistrySite, TrustStatus, TrustedDomainRecord, buildRouteCompliance, buildSiteDrilldown, isBlockedNetworkTarget | imports:@/lib/network/site-catalog, @/lib/platform/constants, @/lib/platform/mcp-registry | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "CanonicalNetworkRegistry,RegistryHealthStatus,RegistrySite,TrustStatus,TrustedDomainRecord,buildRouteCompliance,buildSiteDrilldown,isBlockedNetworkTarget,validateTrustedDomain",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55fc805a0f8c8677",
      "framework": "next-react",
      "imports": "@/lib/network/site-catalog,@/lib/platform/constants,@/lib/platform/mcp-registry",
      "lines": 511,
      "logic_relevance": "primary",
      "name": "network-registry",
      "normalized_name": "network-registry",
      "package_manager": "pnpm",
      "path": "lib/platform/network-registry.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "e7d977a95b3fcf673f257491",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NetworkEvent, NetworkSite, NetworkStats, eventToTraceCard | imports:@/lib/logging, @/lib/platform/network-registry, @/lib/platform/trace-registry | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NetworkEvent,NetworkSite,NetworkStats,eventToTraceCard",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe677f88bf1110a5",
      "framework": "next-react",
      "imports": "@/lib/logging,@/lib/platform/network-registry,@/lib/platform/trace-registry",
      "lines": 156,
      "logic_relevance": "primary",
      "name": "platphorm",
      "normalized_name": "platphorm",
      "package_manager": "pnpm",
      "path": "lib/network/platphorm.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "b39d0871e0c49f22f5573195",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CREATOR, MCP_ENABLED_SITES, NETWORK_INFO, NETWORK_SITES, NETWORK_VERTICALS, NetworkInfo, NetworkSite | imports:@/lib/network/site-catalog, @/lib/platform/mcp-registry | logic-score:85 | observability-score:55 | ai-score:45",
      "exports": "CREATOR,MCP_ENABLED_SITES,NETWORK_INFO,NETWORK_SITES,NETWORK_VERTICALS,NetworkInfo,NetworkSite",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c840d95a0cbfb990",
      "framework": "next-react",
      "imports": "@/lib/network/site-catalog,@/lib/platform/mcp-registry",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "real-data",
      "normalized_name": "real-data",
      "package_manager": "pnpm",
      "path": "lib/network/real-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "dcd51ec8b86018f5536ace25",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isCrossServiceSpin | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "isCrossServiceSpin",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f1213facd8c536a",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "spins",
      "normalized_name": "spins",
      "package_manager": "pnpm",
      "path": "lib/network/spins.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "23c3fdf56e690de126299e86",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PLATPHORM_MCP_SITE_COUNT, PLATPHORM_SITE_CATALOG, PLATPHORM_SITE_CATALOG_ROWS, PLATPHORM_SITE_COUNT, PlatphormCatalogSite, PlatphormSiteCatalogTuple, getCatalogDisplayName, getCatalogVertical | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "PLATPHORM_MCP_SITE_COUNT,PLATPHORM_SITE_CATALOG,PLATPHORM_SITE_CATALOG_ROWS,PLATPHORM_SITE_COUNT,PlatphormCatalogSite,PlatphormSiteCatalogTuple,getCatalogDisplayName,getCatalogVertical",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3088675338b7d5dc",
      "framework": "next-react",
      "imports": "",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "site-catalog",
      "normalized_name": "site-catalog",
      "package_manager": "pnpm",
      "path": "lib/network/site-catalog.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "f8643245901fa76960e8c8fb",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:API_ENDPOINTS, MCPServer, MCP_SERVERS, NetworkHealthSummary, NetworkInfo, SiteHealth, mcpClient | imports:@/lib/logging | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "API_ENDPOINTS,MCPServer,MCP_SERVERS,NetworkHealthSummary,NetworkInfo,SiteHealth,mcpClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "715cbc70769c113e",
      "framework": "next-react",
      "imports": "@/lib/logging",
      "lines": 342,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "lib/mcp/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,process,ai",
      "component_id": "23fc1b28b59c5037e0f92407",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getOpenApiSpec | imports:@/lib/network/real-data | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45",
      "exports": "getOpenApiSpec",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7b5b4353a758081f",
      "framework": "next-react",
      "imports": "@/lib/network/real-data",
      "lines": 697,
      "logic_relevance": "primary",
      "name": "spec",
      "normalized_name": "spec",
      "package_manager": "pnpm",
      "path": "lib/openapi/spec.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "b4cac0697962285186736685",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "nanoid",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, NetworkClient, PlatphormSDK, PlatphormSDKOptions, TelemetryClient, TelemetryEvent, sdk, telemetry | imports:nanoid | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MCPClient,NetworkClient,PlatphormSDK,PlatphormSDKOptions,TelemetryClient,TelemetryEvent,sdk,telemetry",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1156501ff7ef05d0",
      "framework": "next-react",
      "imports": "nanoid",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/sdk/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "90f40d0d9e92a355db7a25ab",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiContext, ApiHandler, errorResponse, jsonResponse, withApiMiddleware | imports:@/lib/security/headers, @/lib/security/rate-limit, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ApiContext,ApiHandler,errorResponse,jsonResponse,withApiMiddleware",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6cee41926767fcf1",
      "framework": "next-react",
      "imports": "@/lib/security/headers,@/lib/security/rate-limit,next/server",
      "lines": 157,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "lib/api/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "750d4d809d7b92697583b326",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LCARS_COLORS, LcarsColor, formatCompact, formatDuration, formatRelativeTime, formatStardate, getHealthColor, getLcarsButtonClasses | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LCARS_COLORS,LcarsColor,formatCompact,formatDuration,formatRelativeTime,formatStardate,getHealthColor,getLcarsButtonClasses,getLcarsPanelClasses,getPercentileColor,getResponseTimeColor,getStatusColor,getVerticalColor,isMcpEnabled",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d3d33585f446a2a",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/lcars/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "d28c3e9fbf0dbdc341533c11",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, ICONS, IconKey, LOCALE_FLAGS, LOCALE_NAMES, SUPPORTED_LOCALES, useI18n | imports:./index, react | frontend-score:90 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "I18nProvider,ICONS,IconKey,LOCALE_FLAGS,LOCALE_NAMES,SUPPORTED_LOCALES,useI18n",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "41aa05a5f0c4e3e3",
      "framework": "next-react",
      "imports": "./index,react",
      "lines": 248,
      "logic_relevance": "secondary",
      "name": "context",
      "normalized_name": "context",
      "package_manager": "pnpm",
      "path": "lib/i18n/context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8f27cee29015d0f2dd6d4ab5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ICONS, IconKey, LOCALE_FLAGS, LOCALE_NAMES, Locale, SUPPORTED_LOCALES, TranslationStrings, getTranslation | imports:./locales/de, ./locales/en, ./locales/es, ./locales/fr, ./locales/ja, ./locales/ko, ./locales/pt, ./locales/zh | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ICONS,IconKey,LOCALE_FLAGS,LOCALE_NAMES,Locale,SUPPORTED_LOCALES,TranslationStrings,getTranslation,t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "89a20ba21c38d82c",
      "framework": "next-react",
      "imports": "./locales/de,./locales/en,./locales/es,./locales/fr,./locales/ja,./locales/ko,./locales/pt,./locales/zh",
      "lines": 283,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "5cc3d11b0a667787169e2c58",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:de | imports:../index, ./en | logic-score:45",
      "exports": "de",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b06f8fe6babd84bd",
      "framework": "next-react",
      "imports": "../index,./en",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/de.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "743005ae29c9ec9130ce81d1",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:es | imports:../index | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "es",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3d44104bed807590",
      "framework": "next-react",
      "imports": "../index",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/es.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "d0915dbeac140821d54b849d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:en | imports:../index | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "en",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "be0401c05826954f",
      "framework": "next-react",
      "imports": "../index",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/en.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "cc508c716d855aaec4d88e10",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:zh | imports:../index, ./en | logic-score:45",
      "exports": "zh",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "524b79d7e3fd2256",
      "framework": "next-react",
      "imports": "../index,./en",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/zh.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "8b475ed4110ee5f5e7ecc58b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:fr | imports:../index | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "fr",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "581c3e0815c7dd9b",
      "framework": "next-react",
      "imports": "../index",
      "lines": 127,
      "logic_relevance": "primary",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/fr.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "72192bd2d005edb9df0b30a0",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:pt | imports:../index, ./en | logic-score:45",
      "exports": "pt",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b0383e598a8dce87",
      "framework": "next-react",
      "imports": "../index,./en",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/pt.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "8f867dfaf00e0b575dbc6fa4",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ko | imports:../index, ./en | logic-score:45",
      "exports": "ko",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5af31d3489571afc",
      "framework": "next-react",
      "imports": "../index,./en",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/ko.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "ed409cc5c34ce61e269a54b8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ja | imports:../index, ./en | logic-score:45",
      "exports": "ja",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "98cc7c94ad6a0720",
      "framework": "next-react",
      "imports": "../index,./en",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "pnpm",
      "path": "lib/i18n/locales/ja.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "6b11904a53a55040c049f47a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogEntry, LogLevel, api, createLogger, db, debug, error | imports:@/lib/env | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LogContext,LogEntry,LogLevel,api,createLogger,db,debug,error,fatal,info,perf,redis,security,trace,user,warn",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4dafad4a668dfb7f",
      "framework": "next-react",
      "imports": "@/lib/env",
      "lines": 316,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/logging/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-trace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b1e28e3f077911ebf6291986",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "796cd9b8d86a1bb0",
      "framework": "next-react",
      "imports": "",
      "lines": 5527,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "893b5bd97a8d41e5df09f91a",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "945c1c86e0d424da",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "LICENSE-PERMISSIVE",
      "normalized_name": "license-permissive",
      "package_manager": "pnpm",
      "path": "LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "9246a9bd3a82317c9365cda6",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "701e51a5fcd6f7b7",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ae8c167df3e13edaa86741ea",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66cc1b5eecbf2f1f",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "License FAQ",
      "normalized_name": "license-faq",
      "package_manager": "pnpm",
      "path": "License FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "86483d6a49dc0b17560091d6",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e3c6df1baca1370a",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "02f2197d563d896e3f524617",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "b93a3a473cd2e2cb",
      "framework": "next-react",
      "imports": "next",
      "lines": 35,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "d302dc206ef6b4cfc7affcde",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c4a03e86ba273685",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3c8a09ad15d8b28ac9598adc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb910e9184ee625e",
      "framework": "next-react",
      "imports": "",
      "lines": 4330,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0dcbff13bdf9bb25e343483b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1176b39e8d2cb425",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "observability",
      "component_id": "b098895195803d6d0ef71e23",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config, proxy | imports:next/server | observability-score:55",
      "exports": "config,proxy",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bfd8d0f085c56c60",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "42a7229d1fd7348e2bd76e3f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2535b34081024307",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "1fc7d3b452ce036d123e5ecd",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:@/lib/usl-core, next | frontend-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f96f524e7cdf7f36",
      "framework": "next-react",
      "imports": "@/lib/usl-core,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "eae21b90626c57e56f307db0",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/usl-core, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97dd17cee03ad0df",
      "framework": "next-react",
      "imports": "@/lib/usl-core,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "75eae8dc144c9aa8ef774b5b",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/breadcrumbs, @/components/theme-provider, @/lib/display-mode-context, @/lib/i18n, @/lib/usl-core, @vercel/analytics/next, @vercel/speed-insights/next, next | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aba7c76266971924",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/theme-provider,@/lib/display-mode-context,@/lib/i18n,@/lib/usl-core,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 401,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "0d3bfb6b1e8105cc5e0fefb0",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "db173b80db370e55e659ef2a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/footer, @/components/header, @/components/server-symbol-directory | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c2120d2338b9a3c",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/server-symbol-directory",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "061fdc733aa40975ac3bb86b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9ba99348a5d7c26f",
      "framework": "next-react",
      "imports": "",
      "lines": 218,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c7ea3c7960e83310fc8768d9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatisticsPage, metadata | imports:@/components/footer, @/components/header, @/components/unified-statistics-section | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "StatisticsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfd495925d396fc7",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/unified-statistics-section",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/statistics/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "e56f17cdbbda33283d1abdc2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8e73c3b606c849e9",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "07492714b25a1d291f1c34e1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ed3efea4e2d73f4b",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "5d6963ab5ff9b748b8a5f707",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../rss.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8cadf3b4a44dc819",
      "framework": "next-react",
      "imports": "../rss.xml/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "45982a2b51bf63f4086e91ba",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:LearnPage, metadata | imports:@/components/footer, @/components/header, @/components/tutorial-mode, @/lib/usl-core | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "LearnPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f2dd2b575d9d21b",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/tutorial-mode,@/lib/usl-core",
      "lines": 36,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/learn/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "142e1b7621f9178e6485fd29",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/footer, @/components/header | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78977410b08f2db8",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "1fa37f14d280efba3715bac3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisclaimerPage, metadata | imports:@/components/footer, @/components/header | frontend-score:85 | ui-score:55",
      "exports": "DisclaimerPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc94926ecdddb02f",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/disclaimer/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "f398b30f928bd2c419a67867",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | imports:@/components/footer, @/components/header | frontend-score:85 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "117b23347b305f54",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ad48d8584e74de4c2c8eaf4a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/footer, @/components/header, @/lib/usl-core | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a74cbfdeb9324c68",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/lib/usl-core",
      "lines": 54,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "57dde6698e2ef83cb13fadbf",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a64c2344b46cf8c7",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability",
      "component_id": "7dca5fff18e789a92a3647a4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | ai-score:75 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53a4fbb6e1ca775e",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "80c2500ea697b2bd1b7d9755",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d423d1f04a837753",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability",
      "component_id": "9ad7e667105656e15a5232ed",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | ai-score:75 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "811dd18478abbd85",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability",
      "component_id": "34e5275695948bc96a10cc30",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "48c4bd4283499d13",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "83a35402f7ca8b2d428ade05",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/footer, @/components/header | frontend-score:85 | ui-score:55",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20efe757c20b5089",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header",
      "lines": 19,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c8dd4046210eae3265e58cd4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuizPage, metadata | imports:@/components/footer, @/components/header, @/components/unified-quiz-mode | frontend-score:85 | ui-score:55",
      "exports": "QuizPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcb95a45dd50f739",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/unified-quiz-mode",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/quiz/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,security",
      "component_id": "632c0281889683a493d40e3a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:CareersPage, metadata | imports:@/components/footer, @/components/header | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "CareersPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df34b7c2697fcec6",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/careers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "3d15b21b4d376e68d299639a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de3fb48c40092728",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "5406d66344e9e95a6d984349",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/footer, @/components/header, @/components/server-symbol-directory, @/lib/usl-core | frontend-score:85 | ui-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9be36d5557a2a484",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/server-symbol-directory,@/lib/usl-core",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/symbols/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c017739fd9f0a194954628d5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/footer, @/components/header, @/components/ui/badge, @/components/ui/button, @/lib/usl-core, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba48465b14d9d1f5",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/badge,@/components/ui/button,@/lib/usl-core,lucide-react,next/link,next/navigation",
      "lines": 117,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/symbols/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "f2e65341a862503d4f548005",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c7f8799ff26168d",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "54e9e4de4cef96b984e08ab4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6824d77b60e2eed8",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/statistics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "16aa59e4be480ccca7c56517",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a8567b4e6e29704b",
      "framework": "next-react",
      "imports": "../../health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "449ed1414f689613e2bbac3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ca6a86a27b969408",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quiz/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2c7434cb3b18702c5ce75412",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9aab38e8495b92f4",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quiz/score/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "90a3bbe219afdbcced45d86c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6a1ace2a584c118a",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/quiz/questions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "01300c7226472e079b3b102a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5f0996a19e09c4c0",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2697762ea0ad4ecf79ae7c4e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "989b81e4c7ea24c7",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/emoji/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e00da6805d78f3a29f86432d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f0957647c795237",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/integrations/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "2ce9800c430285609bae3fd9",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./[slug]/route, ./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3d621c66b18ffc34",
      "framework": "next-react",
      "imports": "./[slug]/route,./route,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/symbols/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "41d22df8bbf876f9ca3833e0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "73ec3481710be5a0",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/symbols/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8b98f4fe3ab1df7a7991024c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53d7d2f655d113e0",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/symbols/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "1a527a1d0c60bebf9757c20a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f88fd8efb96b4c37",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "acd417cd8ee15791360a2384",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "efb2c5a5802fca7e",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "9486d37bf35066824ad596c2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2d65b4c0cfc5cd3",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/standards/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8e475994400e319a8594db20",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bbb2f311742c7292",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "f0d722f09389899ad9c0797e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, @/lib/discovery, @/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46cfa9db5c99f8af",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/discovery,@/lib/platform,@/lib/usl-core",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "7ee1fa8d4b08f930bdef6bf6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3dd8f2d79324f82a",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,ai",
      "component_id": "513bba092d41dbd01ddcdb4b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "80f182f47434def2",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "87249c992d1bf7085f674fa9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/discovery, @/lib/model-adapter, @/lib/platform, @/lib/usl-core | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63adc1adc665f3fe",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/model-adapter,@/lib/platform,@/lib/usl-core",
      "lines": 238,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "b78b8441afd0059143627688",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1155e60f5609d728",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "ea07c0c3f5bd5e13ca87722f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d8ee9c995a444fb2",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/signs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,observability,security",
      "component_id": "c66f94146f412d4857fcc101",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/discovery, @/lib/platform, @/lib/usl-core | backend-score:125 | automation-score:95 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "515097ac445a1e47",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/discovery,@/lib/platform,@/lib/usl-core",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "99db92053a765245b87984c0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "818070e0cbc9c7b8",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,discovery",
      "component_id": "2e186ecd1ad26b5e4400fd8c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b01ffdf63f55091b",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "3af239c874d0a182dd1bfaf0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9bdd8896c001436",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "frontend,ui,automation",
      "component_id": "6276844e2c27da0d87f35b7b",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:next/navigation | frontend-score:115 | ui-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ce40492e71c3f6f",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "099eee458f33f44b30f9bcbd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platform, @/lib/usl-core | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "89414ea26c1d6778",
      "framework": "next-react",
      "imports": "@/lib/platform,@/lib/usl-core",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "83a70d89e3ea0545ec221db9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoriesPage, metadata | imports:@/components/footer, @/components/header, @/lib/usl-core, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CategoriesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7cf02f5f4883c83",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/lib/usl-core,next/link",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "be646b2e8751331e9301447c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/footer, @/components/header, @/lib/usl-core, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85f4ddd51841131f",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/lib/usl-core,next/link,next/navigation",
      "lines": 41,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/categories/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,discovery",
      "component_id": "cda07878fa75535f77aa1666",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | integration-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7e3b4e73e0b7de60",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 7,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3d3e5257d274d67495da8207",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StandardsPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/button, @/lib/usl-core, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "StandardsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58216d104c9f32c9",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,@/lib/usl-core,lucide-react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/standards/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "25387b2e15599d47d5c9ec0c",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "92eaef1204847ffd943f545a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UnifiedSignCard, ViewMode | imports:@/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "UnifiedSignCard,ViewMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d1120345ab0388d",
      "framework": "next-react",
      "imports": "@/lib/unified-sign-data,lucide-react,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "unified-sign-card",
      "normalized_name": "unified-sign-card",
      "package_manager": "pnpm",
      "path": "components/unified-sign-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "50231d55f0f1f0822345f73e",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "0288baa8deab856c56aa420e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServerSymbolDirectory | imports:@/lib/usl-core, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ServerSymbolDirectory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2589d5401de0ed52",
      "framework": "next-react",
      "imports": "@/lib/usl-core,lucide-react,next/link",
      "lines": 142,
      "logic_relevance": "none",
      "name": "server-symbol-directory",
      "normalized_name": "server-symbol-directory",
      "package_manager": "pnpm",
      "path": "components/server-symbol-directory.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a7ef1f35593640afc38c11ce",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:SymbolBrowser | imports:@/components/hero-section, @/components/unified-signs-library, @/lib/unified-sign-data, react | frontend-score:115 | ui-score:70",
      "exports": "SymbolBrowser",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62af0420637bac18",
      "framework": "next-react",
      "imports": "@/components/hero-section,@/components/unified-signs-library,@/lib/unified-sign-data,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "symbol-browser",
      "normalized_name": "symbol-browser",
      "package_manager": "pnpm",
      "path": "components/symbol-browser.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "6d62fce5fa1d88912a87ba41",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GestureDemonstration | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/tabs, @/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GestureDemonstration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c2ea10e690e3af6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/tabs,@/lib/unified-sign-data,lucide-react,react",
      "lines": 364,
      "logic_relevance": "none",
      "name": "gesture-demonstration",
      "normalized_name": "gesture-demonstration",
      "package_manager": "pnpm",
      "path": "components/gesture-demonstration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "965d1c1bb51c6a6463d9b84e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisplayModeToggle, LanguageSelector, ThemeToggle | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/display-mode-context, @/lib/i18n, lucide-react, next-themes, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DisplayModeToggle,LanguageSelector,ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c4af2b86ac192e1",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/display-mode-context,@/lib/i18n,lucide-react,next-themes,react",
      "lines": 112,
      "logic_relevance": "none",
      "name": "settings-panel",
      "normalized_name": "settings-panel",
      "package_manager": "pnpm",
      "path": "components/settings-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c5321638728a6b2bd4bbc486",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignDetailModal | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/tabs, @/lib/sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignDetailModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afaf4334c6796b7a",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/tabs,@/lib/sign-data,lucide-react,react",
      "lines": 432,
      "logic_relevance": "none",
      "name": "sign-detail-modal",
      "normalized_name": "sign-detail-modal",
      "package_manager": "pnpm",
      "path": "components/sign-detail-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a638933eb30d95cbfacf0d53",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UnifiedQuizMode | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/progress, @/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UnifiedQuizMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "020752ac99ef44d4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/progress,@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react,react",
      "lines": 579,
      "logic_relevance": "none",
      "name": "unified-quiz-mode",
      "normalized_name": "unified-quiz-mode",
      "package_manager": "pnpm",
      "path": "components/unified-quiz-mode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "651389f5df6173300823ee74",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:./breadcrumbs, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ede36c77d0b964eb",
      "framework": "next-react",
      "imports": "./breadcrumbs,@testing-library/react,vitest",
      "lines": 28,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bbdff2cc35bab4c00db5325b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GestureDetailModal | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/tabs, @/lib/hand-gestures, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GestureDetailModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c3ae995bffae9598",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/tabs,@/lib/hand-gestures,lucide-react,react",
      "lines": 303,
      "logic_relevance": "none",
      "name": "gesture-detail-modal",
      "normalized_name": "gesture-detail-modal",
      "package_manager": "pnpm",
      "path": "components/gesture-detail-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9ed96d34f4f4f793953c22cf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3f260faccbba7e08",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation",
      "lines": 54,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "62b73d143479c520082f478e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudienceSection | imports:@/lib/i18n, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AudienceSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f1cc0741a51ed08",
      "framework": "next-react",
      "imports": "@/lib/i18n,lucide-react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "audience-section",
      "normalized_name": "audience-section",
      "package_manager": "pnpm",
      "path": "components/audience-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ed3593146b5484c41f53bd74",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UnifiedStatisticsSection | imports:@/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UnifiedStatisticsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83b1c6e1f29f7f8a",
      "framework": "next-react",
      "imports": "@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react,react",
      "lines": 287,
      "logic_relevance": "none",
      "name": "unified-statistics-section",
      "normalized_name": "unified-statistics-section",
      "package_manager": "pnpm",
      "path": "components/unified-statistics-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3086bd70e155c5015d60b3be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatisticsSection | imports:@/lib/sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "StatisticsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e770bd0f61a59f44",
      "framework": "next-react",
      "imports": "@/lib/sign-data,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "statistics-section",
      "normalized_name": "statistics-section",
      "package_manager": "pnpm",
      "path": "components/statistics-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9b083de4abbe83bb1033493f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TutorialMode | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/progress, @/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TutorialMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9aeee31fa9b1e7d6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/progress,@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react,react",
      "lines": 515,
      "logic_relevance": "none",
      "name": "tutorial-mode",
      "normalized_name": "tutorial-mode",
      "package_manager": "pnpm",
      "path": "components/tutorial-mode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "c736295cecd3182591093206",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/i18n, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb51d16f8c179e55",
      "framework": "next-react",
      "imports": "@/lib/i18n,lucide-react,next/link",
      "lines": 113,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "00c150d5be6e0a84bc26dd9b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuizMode | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/progress, @/lib/sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "QuizMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f3303a3b1150ed4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/progress,@/lib/sign-data,lucide-react,react",
      "lines": 489,
      "logic_relevance": "none",
      "name": "quiz-mode",
      "normalized_name": "quiz-mode",
      "package_manager": "pnpm",
      "path": "components/quiz-mode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9efa8206f6c5aad170586823",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvancedSearch, ViewMode | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, @/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdvancedSearch,ViewMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "330e72780fd742b3",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react,react",
      "lines": 445,
      "logic_relevance": "none",
      "name": "advanced-search",
      "normalized_name": "advanced-search",
      "package_manager": "pnpm",
      "path": "components/advanced-search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "db29c478675fd07dab4644db",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, @/components/ui/input, @/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28ea3ce15070edfa",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react,react",
      "lines": 243,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "43a42b76c1666c451c9092e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:UnifiedSignsLibrary | imports:./gesture-demonstration, ./unified-sign-card, @/components/ui/button, @/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "UnifiedSignsLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca0f23e1ec6af095",
      "framework": "next-react",
      "imports": "./gesture-demonstration,./unified-sign-card,@/components/ui/button,@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react,react",
      "lines": 134,
      "logic_relevance": "none",
      "name": "unified-signs-library",
      "normalized_name": "unified-signs-library",
      "package_manager": "pnpm",
      "path": "components/unified-signs-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b406d712d679633fa158792a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/settings-panel, @/lib/display-mode-context, @/lib/i18n, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e92f35148d4bc2e7",
      "framework": "next-react",
      "imports": "@/components/settings-panel,@/lib/display-mode-context,@/lib/i18n,lucide-react,next/link",
      "lines": 53,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "45d6b0a1fc77eea7fbc8d7bb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GestureCard | imports:@/components/ui/badge, @/components/ui/button, @/lib/hand-gestures, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GestureCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8dcb3e6841cedb38",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/lib/hand-gestures,lucide-react,react",
      "lines": 188,
      "logic_relevance": "none",
      "name": "gesture-card",
      "normalized_name": "gesture-card",
      "package_manager": "pnpm",
      "path": "components/gesture-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d1aa34261d0101f1bfa97f33",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoriesGrid | imports:@/lib/display-mode-context, @/lib/i18n, @/lib/unified-sign-data, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CategoriesGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4e9bb11df970e43b",
      "framework": "next-react",
      "imports": "@/lib/display-mode-context,@/lib/i18n,@/lib/unified-sign-data,lucide-react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "categories-grid",
      "normalized_name": "categories-grid",
      "package_manager": "pnpm",
      "path": "components/categories-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "82e4fdd7e351285bdf3b98dc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignCard | imports:@/components/ui/badge, @/components/ui/button, @/lib/sign-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "667717fd0d6df125",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/lib/sign-data,lucide-react,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "sign-card",
      "normalized_name": "sign-card",
      "package_manager": "pnpm",
      "path": "components/sign-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4ac60bae574cc2a4fd4b8dcf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignsLibrary | imports:@/components/gesture-card, @/components/gesture-detail-modal, @/components/sign-card, @/components/sign-detail-modal, @/components/ui/button, @/lib/display-mode-context, @/lib/hand-gestures, @/lib/i18n | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignsLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee2c5922acac6ae3",
      "framework": "next-react",
      "imports": "@/components/gesture-card,@/components/gesture-detail-modal,@/components/sign-card,@/components/sign-detail-modal,@/components/ui/button,@/lib/display-mode-context,@/lib/hand-gestures,@/lib/i18n,@/lib/sign-data,lucide-react,react",
      "lines": 293,
      "logic_relevance": "none",
      "name": "signs-library",
      "normalized_name": "signs-library",
      "package_manager": "pnpm",
      "path": "components/signs-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "c927dc94307e1c5f08c89bf8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "90fefe4b23125b77b520a6e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5ef84cb1139cb2bb6bd25550",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "89d82cee8a5ac2ea2b6c8c62",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "78759616ca2c22ef85cb367c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8c5f9520755f3ee97e61c345",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3f30cf0ea9242df1d7157f1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "29df5605f80982d187407ac9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "08dc8669b94c2b286412c300",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1443a3d231ab7e233e3500af",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "dc49cc065d794d373e000ad6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "1b93369cd028d99499ff53b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "155e8281af4f31a40bbc2da1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1eeb817b2433f9cce6ed8c84",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "510a1fc4360aa484b105bd5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "44e8a64608b6a36fa431256f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dd88fa9ad02a2e69ec4bf138",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "88a1c8c1450ce9a4a1236bf9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "be3008c389067efe45236ec1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c79cdf7dabef532c00874afc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7b5355e1158c70c44731dac3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0ffe7f0295bef5b56e52f90b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7de8a161a703f30e530cbd60",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "fbdf1ff981527ccc5d276c69",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ce704e2e1b0118bb09015f49",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "566c7cf0dc797fca729a306f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "77242a3b947991f36e057b53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "ae48c4efbd407ab40cecf0c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cac4f92f182b092bd662c9b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "ff23909b1528b2112774b1f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1ce5da339c0e6966be02c48d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4eb795fe99a67fd906586050",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "45849cd885460b52e0253e4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f86ab2ec8950c3f4639b62c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bc6b6d3cd91fdbc6a1c6b66e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "56595789e5b99e62630aa39d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c0c7e9dda0afff144256a1e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "566ad16e050bfb21be0b83c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dfd675e12eee4e0ad2564846",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "62c020472e70146742af9980",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6c1fe9d03155164b5977823d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "063ee0c8920e461d7840894f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f7e616df642cad8ba2e3d747",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4c0c56ae16650324499b950f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4c05dec63a523455def7fe8c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "678c293542acf58afe5f943e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d3135b589d325001f0129fd7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "04586a968968a869a992db57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "4ce873b70de8908bc6507096",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6bf09f1503a7df2f1bdcf10d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "63708d87ee4bbe2140394fe0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8673dd50bd611736e7b1695b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6f3bc610f7092ed8e1457a23",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b0ad1f9c81ef6814f6b5f18c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "34e38d4511b8a7987ebd2a1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "be05e7f29f59185c5c3d7ae3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "038a6932d08a1bc287a1431e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "1734c048f6590b0093cff069",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d4025e0938a76f0a",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "fc48ae7cc93eebc9c8fa9ee3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a6b9490b44ae8ed2",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "584d0e569e8fe5b820101547",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a2e1d5141ef16aa3",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,security",
      "component_id": "dc5a4941bbd87ede845157e3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SortDirection, SortOption, UnifiedCategory, UnifiedSign, categories, gestureCategories, getRelatedSigns, getSignStatistics | imports:./hand-gestures, ./sign-data, ./usl-core | logic-score:85 | security-score:55",
      "exports": "SortDirection,SortOption,UnifiedCategory,UnifiedSign,categories,gestureCategories,getRelatedSigns,getSignStatistics,getSignsByCategory,getUnifiedCategories,getUnifiedSigns,handGestures,searchSigns,signs,sortSigns",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bd820d42bd9fbe4b",
      "framework": "next-react",
      "imports": "./hand-gestures,./sign-data,./usl-core",
      "lines": 313,
      "logic_relevance": "primary",
      "name": "unified-sign-data",
      "normalized_name": "unified-sign-data",
      "package_manager": "pnpm",
      "path": "lib/unified-sign-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "535f8fbb5421fac044fcb47d",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:UslModelRequest, UslModelResponse, UslModelTask, getModelCapability | imports:./platform | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "UslModelRequest,UslModelResponse,UslModelTask,getModelCapability",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "7f6f74cb587bf387",
      "framework": "next-react",
      "imports": "./platform",
      "lines": 62,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "5230a11959507707b87793f6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ISO_STANDARDS, TRUSTED_DOMAIN_PATTERN, USL_BASE_URL, USL_SERVICE, USL_VERSION, UslCategory, UslQuizQuestion, UslStandardReference | imports:./hand-gestures, ./sign-data | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ISO_STANDARDS,TRUSTED_DOMAIN_PATTERN,USL_BASE_URL,USL_SERVICE,USL_VERSION,UslCategory,UslQuizQuestion,UslStandardReference,UslStatistics,UslStatus,UslSymbol,buildStatistics,canonicalCategorySlug,canonicalSymbolSlug,generateQuizQuestions,gestureCategories,getCanonicalCategories,getCanonicalSymbols,getCategoryBySlug,getEmojiLinks,getLearningTopics,getPublicRoutes,getServiceSummary,getSitemapPageRoutes,getSymbolBySlug,handGestures,scoreQuiz,searchCanonicalSymbols,standardReferences",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a1db3cc777b3af3b",
      "framework": "next-react",
      "imports": "./hand-gestures,./sign-data",
      "lines": 513,
      "logic_relevance": "primary",
      "name": "usl-core",
      "normalized_name": "usl-core",
      "package_manager": "pnpm",
      "path": "lib/usl-core.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability",
      "component_id": "a35418ddd5918f055a0a26d4",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "caddc65f1323bfdb",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "f216b721255e4ddab4af4ec9",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,logic,security,automation",
      "component_id": "c721293060d5a4fcb887284e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibilityProvider, SkipToContent, useAccessibility, useFocusTrap, useKeyboardShortcuts | imports:react | frontend-score:90 | ui-score:70 | logic-score:70 | security-score:55 | automation-score:45",
      "exports": "AccessibilityProvider,SkipToContent,useAccessibility,useFocusTrap,useKeyboardShortcuts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26dc77efad918543",
      "framework": "next-react",
      "imports": "react",
      "lines": 232,
      "logic_relevance": "secondary",
      "name": "accessibility-context",
      "normalized_name": "accessibility-context",
      "package_manager": "pnpm",
      "path": "lib/accessibility-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "634b7734f8b7a2f4f881bdca",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PlatformTraceContext, captureVercelMetadata, createId, createTraceContext, fail, ok, redactSecrets, text | imports:next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PlatformTraceContext,captureVercelMetadata,createId,createTraceContext,fail,ok,redactSecrets,text,traceHeaders,withTrace",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a44653227b86496",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "pnpm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "944f34564252b7d5e90ec1ae",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./discovery, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e57ec271a656425a",
      "framework": "next-react",
      "imports": "./discovery,vitest",
      "lines": 30,
      "logic_relevance": "primary",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "53ae047e188c28d9841dc5e1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, LanguageCode, getLanguageInfo, languages, useI18n | imports:react | frontend-score:90 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "I18nProvider,LanguageCode,getLanguageInfo,languages,useI18n",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2aaafaa37e9c3931",
      "framework": "next-react",
      "imports": "react",
      "lines": 1723,
      "logic_relevance": "secondary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,observability",
      "component_id": "b601d7eb0587318d194ce76c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./usl-core, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "358646440138a5c6",
      "framework": "next-react",
      "imports": "./usl-core,vitest",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "usl-core.test",
      "normalized_name": "usl-core",
      "package_manager": "pnpm",
      "path": "lib/usl-core.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,logic",
      "component_id": "5cee18cae96279315d67686e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DisplayMode, DisplayModeProvider, useDisplayMode | imports:react | frontend-score:90 | ui-score:70 | logic-score:70",
      "exports": "DisplayMode,DisplayModeProvider,useDisplayMode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6d218b7e93d00ef",
      "framework": "next-react",
      "imports": "react",
      "lines": 60,
      "logic_relevance": "secondary",
      "name": "display-mode-context",
      "normalized_name": "display-mode-context",
      "package_manager": "pnpm",
      "path": "lib/display-mode-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "f91110a6ca305fd8b616a26a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HandGesture, ISO_STANDARDS, gestureCategories, getGestureById, getGesturesByCategory, handGestures, searchGestures | logic-score:70 | observability-score:55 | automation-score:45",
      "exports": "HandGesture,ISO_STANDARDS,gestureCategories,getGestureById,getGesturesByCategory,handGestures,searchGestures",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9041e5ea24b2e82d",
      "framework": "next-react",
      "imports": "",
      "lines": 1710,
      "logic_relevance": "primary",
      "name": "hand-gestures",
      "normalized_name": "hand-gestures",
      "package_manager": "pnpm",
      "path": "lib/hand-gestures.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "085f2d0fa08f0c5b4ca8d134",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildAgentsManifest, buildApiDocs, buildLlmsFullTxt, buildLlmsIndex, buildLlmsTxt, buildMcpManifest, buildOpenApiJson, buildOpenApiYaml | imports:./auth, ./model-adapter, ./usl-core | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "buildAgentsManifest,buildApiDocs,buildLlmsFullTxt,buildLlmsIndex,buildLlmsTxt,buildMcpManifest,buildOpenApiJson,buildOpenApiYaml,buildRssXml,buildSecurityTxt,buildTrustPolicy,mcpPrompts,mcpResources,mcpTools",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b865b675a292a2c3",
      "framework": "next-react",
      "imports": "./auth,./model-adapter,./usl-core",
      "lines": 389,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "d7c77436f5d537cfe30b17af",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Sign, categories, getRandomSigns, getSignById, getSignsByCategory, getSignsByDifficulty, searchSigns, signs | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Sign,categories,getRandomSigns,getSignById,getSignsByCategory,getSignsByDifficulty,searchSigns,signs",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "833bd9df3cf36aff",
      "framework": "next-react",
      "imports": "",
      "lines": 2432,
      "logic_relevance": "primary",
      "name": "sign-data",
      "normalized_name": "sign-data",
      "package_manager": "pnpm",
      "path": "lib/sign-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,security,automation,ai",
      "component_id": "d4fd8e59a99509d13a19e679",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthPolicy, ProtectedAction, getAuthPolicy, isPlatphormAuthorized, requireFutureProtectedAction | logic-score:85 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "AuthPolicy,ProtectedAction,getAuthPolicy,isPlatphormAuthorized,requireFutureProtectedAction",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dfc03673f965a974",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-usl",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "security,automation",
      "component_id": "286f3cd4bec59c61bae71581",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "470fdf7b075849aa",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "microfrontends",
      "normalized_name": "microfrontends",
      "package_manager": "npm",
      "path": "microfrontends.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "24f8ef408885232e691d3bd4",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "@/lib,fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/logger, fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "783e8c216baa4fe3",
      "framework": "next-react",
      "imports": "@/lib/logger,fs",
      "lines": 9,
      "logic_relevance": "none",
      "name": "fix-test",
      "normalized_name": "fix-test",
      "package_manager": "npm",
      "path": "fix-test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "2e5ab892972da80a0dc04fd6",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:fs | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c7466b9094aae24c",
      "framework": "next-react",
      "imports": "fs",
      "lines": 64,
      "logic_relevance": "none",
      "name": "test-script",
      "normalized_name": "test-script",
      "package_manager": "npm",
      "path": "test-script.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,integration,security",
      "component_id": "14af88030547795637d50272",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "76767719049360da",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "npm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b5b082952b64c7ae71a90f0b",
      "component_kind": "health-check",
      "confidence": 60,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3fbb4aace5cb9ea5",
      "framework": "next-react",
      "imports": "fs",
      "lines": 5,
      "logic_relevance": "none",
      "name": "replace_health",
      "normalized_name": "replace-health",
      "package_manager": "npm",
      "path": "replace_health.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0f044d161fb617362347ac1c",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "69e87b09847945c3",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "pre_commit_instructions",
      "normalized_name": "pre-commit-instructions",
      "package_manager": "npm",
      "path": "pre_commit_instructions.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b3d20fd4e30afc3b08a1248d",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:KNOWN_BOT_PATTERNS | process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "KNOWN_BOT_PATTERNS",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "57720c986903fe18",
      "framework": "next-react",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "INTEGRATION_STATUS",
      "normalized_name": "integration-status",
      "package_manager": "npm",
      "path": "INTEGRATION_STATUS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6e2a3cfa28e20c66f6b63dba",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2b957149f53a1fa2",
      "framework": "next-react",
      "imports": "fs",
      "lines": 10,
      "logic_relevance": "none",
      "name": "test_perf",
      "normalized_name": "test-perf",
      "package_manager": "npm",
      "path": "test_perf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "96e1dd71af44e9b71b6d747f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "21b5894dff9d156f",
      "framework": "next-react",
      "imports": "fs",
      "lines": 24,
      "logic_relevance": "none",
      "name": "fix-logger-tests",
      "normalized_name": "fix-logger-tests",
      "package_manager": "npm",
      "path": "fix-logger-tests.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "b8f1bb14434511c91c3de893",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET | process-score:100 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "33d2267ce378ee17",
      "framework": "next-react",
      "imports": "",
      "lines": 298,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "npm",
      "path": "TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "49bf3cab2052564b6585647b",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:next/server | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fc971035571d5c92",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 291,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "f2a971acdb73766e8db1d4a6",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e10826463e95820c",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "npm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "5acc493e4ebaa91fb2fe28d5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5931f08ff7bb3df4",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 72,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "npm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bb877337a61a77f6bb2d4e64",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a6e90afa578cabb7",
      "framework": "next-react",
      "imports": "fs",
      "lines": 7,
      "logic_relevance": "none",
      "name": "test-logger",
      "normalized_name": "test-logger",
      "package_manager": "npm",
      "path": "test-logger.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6d994413b67498f04484ba28",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b251c65a1f81c675",
      "framework": "next-react",
      "imports": "fs",
      "lines": 13,
      "logic_relevance": "none",
      "name": "fix-ts",
      "normalized_name": "fix-ts",
      "package_manager": "npm",
      "path": "fix-ts.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "644fe8bedb5064b328ef06f9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/logger, fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "903fcd15b3df5a2b",
      "framework": "next-react",
      "imports": "@/lib/logger,fs",
      "lines": 17,
      "logic_relevance": "none",
      "name": "fix-lint",
      "normalized_name": "fix-lint",
      "package_manager": "npm",
      "path": "fix-lint.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ee4d5a92176136223e99f768",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f6c4c4c7f29b0a8",
      "framework": "next-react",
      "imports": "fs",
      "lines": 32,
      "logic_relevance": "none",
      "name": "replace_features",
      "normalized_name": "replace-features",
      "package_manager": "npm",
      "path": "replace_features.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1aca9984608094fd6c4be7f2",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f74279d7f28d67c2",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "npm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6561ad6bcf5cb2a7f724c322",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab1487308e770ab1",
      "framework": "next-react",
      "imports": "",
      "lines": 14220,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3ab312426b1de6aa2cc091be",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ded7670bee87b768",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "0f5b2be74f70e576dd0044bb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "12a126228494da05",
      "framework": "next-react",
      "imports": "",
      "lines": 112,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "npm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e2404f8494c406f93166e8d2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/lib,@vercel/edge-config,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:config | imports:@/lib/ja4-validator, @/lib/logger, @vercel/edge-config, next/server | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "68610155e270e63f",
      "framework": "next-react",
      "imports": "@/lib/ja4-validator,@/lib/logger,@vercel/edge-config,next/server",
      "lines": 291,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "npm",
      "path": "proxy.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "7f1c98cf45f6075f7c016a3b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c376d9b70eeb9d4d",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 32,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "npm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "process,security,automation",
      "component_id": "09bb8f82811f4e60f5941510",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c4bb36c8bd0d20b9",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "npm",
      "path": "pr_description.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "a2f5e101aed112f314ab85fa",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cf77669d1b0f74a7",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "instrumentation",
      "normalized_name": "instrumentation",
      "package_manager": "npm",
      "path": "instrumentation.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "de994ca64bce8c6ea61a4c09",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "@/lib,fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/logger, fs | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df604bb5b4bf2c66",
      "framework": "next-react",
      "imports": "@/lib/logger,fs",
      "lines": 8,
      "logic_relevance": "none",
      "name": "fix-test2",
      "normalized_name": "fix-test2",
      "package_manager": "npm",
      "path": "fix-test2.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "793a55d0c5d15e487e468c8f",
      "component_kind": "parser",
      "confidence": 75,
      "dependency_roots": "events",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parse | imports:events | logic-score:70",
      "exports": "parse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5ec32f622caf7db8",
      "framework": "next-react",
      "imports": "events",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "pcap-parser.d",
      "normalized_name": "pcap-parser-d",
      "package_manager": "npm",
      "path": "types/pcap-parser.d.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "1577181d7ef3b68853414dae",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "347fa0c57f42593f",
      "framework": "next-react",
      "imports": "next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "npm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "1197c3f3930c24660dcd0df5",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5a512ccea66f5b7",
      "framework": "next-react",
      "imports": "@/lib/discovery,next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "npm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "424f22ed6b6dcb63e1b04a30",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/enrichment-sources-provider, @/components/fingerprint-collector, @/components/footer, @/components/real-time-alert-toast, @/components/ui/toaster, @vercel/analytics/next, @vercel/speed-insights/next, next | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "726cadf168b68c1d",
      "framework": "next-react",
      "imports": "@/components/enrichment-sources-provider,@/components/fingerprint-collector,@/components/footer,@/components/real-time-alert-toast,@/components/ui/toaster,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google,react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "095eb9b3585b1cc6ac0b372d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/enrich-dropdown, @/components/info-tooltip, @/components/severity-badge, @/components/sidebar, @/components/stat-card, @/components/ui/button, @/components/ui/card, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa6f5b1a64980a3e",
      "framework": "next-react",
      "imports": "@/components/enrich-dropdown,@/components/info-tooltip,@/components/severity-badge,@/components/sidebar,@/components/stat-card,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/table,@/components/ui/tabs,@/components/ui/tooltip,@/hooks/use-auto-refresh,@/hooks/use-toast,@/lib/error-handler,lucide-react,next/link,react",
      "lines": 714,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "21dfb5aa4ff97e7ff329f9d1",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "34f0cf05bce90fc1",
      "framework": "next-react",
      "imports": "",
      "lines": 218,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "a053117fd0caa0aabc4b3f46",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "35b1e56b2bc31193",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1a9c149ab114a3edb772457b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7824525ef4c9c88b",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "04fb9d3caa8965799e1c2190",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5310087047cea67e",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "96e4d4899467b4e03f18eca8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SensorsPage | imports:@/components/sidebar, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/table, @/hooks/use-toast, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SensorsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c0fdbdf2fc665d6",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/table,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 309,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/sensors/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "782d87b3ba8b90aba2b351ed",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrateLoading | imports:@/components/sidebar, @/components/ui/skeleton | frontend-score:85 | ui-score:55",
      "exports": "IntegrateLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f46089d1b74eac5e",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/skeleton",
      "lines": 21,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/integrate/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "1a81187fd673857ae06c0400",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegratePage, JA4LookupResult, config | imports:@/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, next/server, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "IntegratePage,JA4LookupResult,config",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8158d77ffdeeb575",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,next/server,react",
      "lines": 775,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/integrate/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "16cda279cfdd007a312b7b59",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThreatsPage | imports:@/components/severity-badge, @/components/sidebar, @/components/stat-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ThreatsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b205df2196a96902",
      "framework": "next-react",
      "imports": "@/components/severity-badge,@/components/sidebar,@/components/stat-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/skeleton,@/components/ui/table,@/hooks/use-auto-refresh,@/hooks/use-toast,@/lib/error-handler,@/lib/severity-utils,lucide-react,next/link,react",
      "lines": 343,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/threats/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "b6643dbded25db1854e85ed0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/ui/breadcrumb, @/components/ui/card, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98b8b4632377726d",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumb,@/components/ui/card,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "25cb606dbb6fa2a9e1c4c433",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "720f1cf693a72875",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/integration/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "fd4e82318d74df1f1f0ab58b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationPage, config | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, next/server, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "IntegrationPage,config",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab8c043e9da456d0",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,next/server,react",
      "lines": 443,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/integration/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "0701ca8a9850e031eebdd2d5",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5c3584fb74477a29",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/soc/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "67152840cadd8252cdbce365",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SOCDashboard | imports:@/components/info-tooltip, @/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/ui/tabs, @/hooks/use-auto-refresh | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SOCDashboard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f91168457d811d46",
      "framework": "next-react",
      "imports": "@/components/info-tooltip,@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/tabs,@/hooks/use-auto-refresh,@/hooks/use-toast,@/lib/error-handler,lucide-react,next/link,react",
      "lines": 436,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/soc/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "9155ac37b72bc9f4a9276a6e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/soc/firewall/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "963a3f3a4c0c2519574fe8db",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FirewallRulesPage | imports:@/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/switch, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FirewallRulesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a1e92bb000f4603",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/switch,lucide-react,next/link,react",
      "lines": 319,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/soc/firewall/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "95dc643605f075bc5eaf7cc1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/soc/firewall/new/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "36eb3d8f884d226e51bf9bbe",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewFirewallRulePage | imports:@/components/sidebar, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/switch, @/components/ui/textarea, lucide-react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "NewFirewallRulePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c67ab0722a72cb1",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/switch,@/components/ui/textarea,lucide-react,next/link,next/navigation,react",
      "lines": 275,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/soc/firewall/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "7d4ee7f0fd8cabfefdef7699",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/soc/alerts/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "14800a082d83af25813730e6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AlertsListPage | imports:@/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/hooks/use-auto-refresh, lucide-react, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AlertsListPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "167167f80444c469",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/hooks/use-auto-refresh,lucide-react,next/link,react",
      "lines": 293,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/soc/alerts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "766cce6ec449f982a6c259a0",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/soc/alerts/[id]/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4329deca5e25efe0fd322378",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AlertDetailPage | imports:@/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/table, @/components/ui/tabs, @/components/ui/textarea, @/components/ui/tooltip | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AlertDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8c31d54ab29723b",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/table,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/tooltip,lucide-react,next/link,next/navigation,react",
      "lines": 617,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/soc/alerts/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "98d4df899f8a7caeba224216",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "08ba2d9971f4cf39",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,security",
      "component_id": "6c5cb42ea136b66f4a267c69",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a845547de6426232",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 25,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "6753f048549a29e3be321244",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad8ece84b811de71",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "7468473435fd2193c48374fe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62bfa09e8c76fb1e",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,integration,security,ai",
      "component_id": "04f43254466dbdcbb27c3405",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d010030806aea745",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "a4796222db3ad773fc415559",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | imports:@/components/sidebar, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "74a1017000109faa",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/skeleton",
      "lines": 21,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/projects/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "dcf51a8c103f689847145897",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectsPage | imports:@/components/info-tooltip, @/components/project-keys-dialog, @/components/sidebar, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dialog | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ProjectsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38950dc39267e47a",
      "framework": "next-react",
      "imports": "@/components/info-tooltip,@/components/project-keys-dialog,@/components/sidebar,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/table,@/components/ui/textarea,@/hooks/use-toast,@/lib/error-handler,@/lib/utils,lucide-react,react",
      "lines": 570,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/projects/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "53826a10331140b72559c446",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminPage | imports:@/components/info-tooltip, @/components/sidebar, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AdminPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e75639bb75cb494c",
      "framework": "next-react",
      "imports": "@/components/info-tooltip,@/components/sidebar,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/separator,@/components/ui/switch,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/use-toast,lucide-react,react",
      "lines": 769,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "f0f25a382de5fb08787b1ded",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/lookup/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e9fbc698657c468aab9624da",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LookupPage | imports:@/components/enrich-dropdown, @/components/info-tooltip, @/components/severity-badge, @/components/sidebar, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "LookupPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1c87816300e1df3d",
      "framework": "next-react",
      "imports": "@/components/enrich-dropdown,@/components/info-tooltip,@/components/severity-badge,@/components/sidebar,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/table,@/components/ui/tabs,@/components/ui/textarea,lucide-react,next/navigation,react,sonner",
      "lines": 920,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/lookup/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,process",
      "component_id": "11372894abeddb1b4a5e4a52",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsLoading | imports:@/components/sidebar | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "DocsLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "936270acccb81121",
      "framework": "next-react",
      "imports": "@/components/sidebar",
      "lines": 16,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/docs/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation",
      "component_id": "c321dd59fc56ae5b102a7dde",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:@/components/sidebar, @/components/ui/badge, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/lib/openapi, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e15fb7004f4db49",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/badge,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/lib/openapi,lucide-react,react",
      "lines": 310,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "8f4890e8add83d1461223119",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "84a016e7d1dd0740",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4cfea95d13f589281b41979d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/enrich-dropdown, @/components/info-tooltip, @/components/severity-badge, @/components/sidebar, @/components/stat-card, @/components/ui/button, @/components/ui/card, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d55d08ee75357074",
      "framework": "next-react",
      "imports": "@/components/enrich-dropdown,@/components/info-tooltip,@/components/severity-badge,@/components/sidebar,@/components/stat-card,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/table,@/components/ui/tabs,@/components/ui/tooltip,@/hooks/use-auto-refresh,@/hooks/use-toast,@/lib/error-handler,lucide-react,next/link,react",
      "lines": 688,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "frontend,ui,security",
      "component_id": "d582acff1fc96c287932c240",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for security; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintsPage | imports:@/components/fingerprints/fingerprints-header, @/components/fingerprints/fingerprints-list, @/components/ui/skeleton, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "FingerprintsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f679ee8d0256d98d",
      "framework": "next-react",
      "imports": "@/components/fingerprints/fingerprints-header,@/components/fingerprints/fingerprints-list,@/components/ui/skeleton,react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/fingerprints/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "f6db81430d46e9afe95c6774",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintDetailPage | imports:@/components/severity-badge, @/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/skeleton, @/components/ui/table, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FingerprintDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ebed784a513dfa73",
      "framework": "next-react",
      "imports": "@/components/severity-badge,@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/skeleton,@/components/ui/table,lucide-react,next/link,next/navigation,react",
      "lines": 307,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/fingerprints/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fa223a78430e9162dae8e865",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActorsPage | imports:@/components/sidebar, @/components/stat-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/components/ui/skeleton | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ActorsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30013a49f46d903e",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/stat-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/skeleton,@/components/ui/table,@/hooks/use-auto-refresh,@/hooks/use-toast,@/lib/error-handler,lucide-react,react",
      "lines": 322,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/actors/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ba264dbc93e2735d6a781373",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "326d15b718966ceb",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "40f794c6e6f0952c1c12a64a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21bf630d80008942",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "aefcfe50c64a686b400b5937",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/network, @/lib/platform | backend-score:125 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5fdda429459fe95c",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/platform",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "3b74e036c031f73310c35e0b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@/app",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/app/api/v1/network/graph/route | backend-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "979af7c46ae2a76e",
      "framework": "next-react",
      "imports": "@/app/api/v1/network/graph/route",
      "lines": 1,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7a0e264887ba7f5479dce89b",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ea6d79ccf2d7496",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/platform",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d4b269deb3c4a15c5c835d1f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8d58aff453fb871b",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/platform",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "d4ec4b586d1fa074c13dff6c",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/network, @/lib/platform | backend-score:125 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4431bf4cfa78e36e",
      "framework": "next-react",
      "imports": "@/lib/network,@/lib/platform",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability",
      "component_id": "ba433dacfb0ab8fa1e3b9cfd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, @/lib/platform | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2f0127136f3b5a86",
      "framework": "next-react",
      "imports": "@/lib/discovery,@/lib/platform",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/v1/network/discovery-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "919b8febfdb0e6f400f24e6a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f91609326f8506ee",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/quake/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e8577ea2acbb48992718c5f0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5b5ad2c5037ee6d6",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 107,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/sensors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "5cb372d3a4b973e1db43b800",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/config, @/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "561c86d5f04ade29",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/logger,next/server",
      "lines": 51,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/sensors/purge/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "19961cce835633070ea055f5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ecb622fbca0d595c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 209,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/sensors/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "fff63008c38f5d721f2b11c7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "89da1bd0ccffdaad",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/vercel/projects/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "15a121435ed4ae5dd316070d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f4164fe8918abad7",
      "framework": "next-react",
      "imports": "@/lib/db,next/server",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/vercel/firewall/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "ed7d345f3db466204fd77102",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c1f494d08711e147",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 328,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/vercel/sync-firewall/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "e315fb41db7687aa22f358c7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fbacfe67e5dfa8ae",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,crypto,next/server",
      "lines": 204,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/fingerprint/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "cfaf337cdc21fff58344b8e7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a5fb6b6823ae3202",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 188,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ddos/detect/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "1d733b47ddad10654bc7b5b7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/config, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67b8c9757994d6c8",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/logger,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/config/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b81bc42161b6a38aedb7d4c9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d63dc43e57a0e8e6",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 203,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/soc/dashboard/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fce4d335d17e026d6fd0f759",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a9b97708d7ae7f4",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 173,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/projects/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "0f0686aff128236bcfccc5bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f604366c72c5472",
      "framework": "next-react",
      "imports": "@/lib/logger,next/server",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/projects/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "7798b2d71dbe96d304ddad90",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c9ff9c26dd34d547",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 142,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/projects/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "92209c0fb32678872725e296",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-keys, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a32176c2042c368c",
      "framework": "next-react",
      "imports": "@/lib/api-keys,@/lib/logger,next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/projects/[id]/keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f87a52d7439e8fee4b001cf4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/api-keys, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fcd1239b4cf65646",
      "framework": "next-react",
      "imports": "@/lib/api-keys,@/lib/logger,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/projects/[id]/keys/[keyId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "7d904f504bef12786b05ecad",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "49862ef1981bf782",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 179,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "02d3b55dc68986e8e0a25d15",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c44d8bb25cf15340",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,next/server",
      "lines": 262,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/webhook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "a36cdbfc4b6762bdfd45399a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BATCH_SIZE, GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "BATCH_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "24fcaa65d70680e1",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,next/server",
      "lines": 301,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/syslog/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "38033453ff0961a95ce4aa88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BATCH_SIZE, GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, @/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "BATCH_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9e59183bd8156805",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,@/lib/platform,@/lib/trace,next/server",
      "lines": 300,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/suricata/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "223cc690a9e39260bfea43eb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHUNK_SIZE, GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CHUNK_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8553767a5e43530e",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,next/server",
      "lines": 269,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "12a1e22e4a06f7f79fe96b35",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, @/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6674ebf72e6a546e",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,@/lib/platform,@/lib/trace,next/server",
      "lines": 329,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/http/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d80fefbed3b730e77decd403",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHUNK_SIZE, GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, @/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "CHUNK_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "58d7da9816c304ec",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,@/lib/platform,@/lib/trace,next/server",
      "lines": 321,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/batch/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "775d3b08146603481f4c92b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BATCH_SIZE, GET, POST | imports:@/lib/config, @/lib/db, @/lib/ja4-validator, @/lib/logger, @/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "BATCH_SIZE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7ca4af42acf0c5e9",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/ja4-validator,@/lib/logger,@/lib/platform,@/lib/trace,next/server",
      "lines": 272,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ingest/zeek/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e7734b7f9cab64e2b353cb53",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "acd9075bee909b37",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 174,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/challenges/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "8f896b4f0604ace29a99344a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "db69e4667d9dc81e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/features/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "ca37386c64f95f9fc4f3f4af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/config, @/lib/db, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "89e8f78d2034cd20",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/admin/purge/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "b48c9fdbe30aefdd64349670",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/logger, @/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2cb1b3734a3ce3b",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,@/lib/trace,next/server",
      "lines": 180,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/lookup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "aa9ef3446aa3bea1b563b694",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2afe42a03118dd5e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 142,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/lookup/suggestions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation,ai",
      "component_id": "c222831010b283108a33ddf0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:@/lib/db, @/lib/discovery, @/lib/openapi, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d00a8d9d3a59221",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/discovery,@/lib/openapi,@/lib/platform,next/server",
      "lines": 468,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,process",
      "component_id": "36101ceed387bc0b9c90a585",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ae71935bd5c79424",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "74b57ca13237035ae8f68e9c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "02e16d260cca18e5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/firewall/sync-edge-config/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,frontend,observability,security,automation",
      "component_id": "a625406ac749d0b66ac2699a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b5406299a5ba4b83",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 112,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/firewall/rules/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,frontend,observability,automation",
      "component_id": "2c91aa12ced1ab8f820200d4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, PATCH | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | logic-score:85 | frontend-score:55 | observability-score:55 | automation-score:45",
      "exports": "DELETE,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7f13588f49b06956",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 86,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/firewall/rules/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "b916431ad4c925059d3b8097",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09893b47e4cd1784",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 123,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/alerts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "61695d7b6dbdaecc1076fa33",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6829d19ffac07e5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 122,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/alerts/auto-respond/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "529cd88a97e257a435e5c589",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2e15e8c28eee2747",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/alerts/feed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "8e55f72308e4d9b9c9a6c23c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "311a18a1522d3049",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/alerts/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "99004b5f146defcd1445f8ef",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1d83d7487e1ba9ad",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/alerts/[id]/actions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c6abdc28da9edaf0087e356f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9c2b97fb4eb7678e",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server,zod",
      "lines": 338,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/fingerprints/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "90d0190c484a626d5716a06c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/logger, @/lib/platform, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5e6d54fc945bac6c",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,@/lib/trace,next/server",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/fingerprints/label/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "547c6eb8bfa0ec7727632c3d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "450b0c6a3a0ab143",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 104,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/fingerprints/lookup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "eb015446228e2e24d7cee746",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a5bd3461260ded5",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 89,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/actors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ad42a86ffb92ae5d1dc0043b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "485b78a1e7846250",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 78,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/sources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "7032322d41c7d02555fc0394",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PATCH",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0d8f875aeb5b17ce",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 117,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/sources/[key]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bb930f03d7cd78bfe15bda1e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "26bbd5dec45be9e9",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 76,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/sources/create/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security,automation",
      "component_id": "7e34cfe8835bce50b6bbb78f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9090594f0fd0f84e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "91dcf3c494d7fcba9d9c934b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/config, @/lib/db, @/lib/enrichment/abuseipdb-client, @/lib/enrichment/driftnet-client, @/lib/enrichment/huntio-client, @/lib/enrichment/ipinfo-client, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "26f64f7405b0a48c",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/enrichment/abuseipdb-client,@/lib/enrichment/driftnet-client,@/lib/enrichment/huntio-client,@/lib/enrichment/ipinfo-client,@/lib/logger,next/server",
      "lines": 326,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/enrich/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "0c79c9f0417d22ea9522f1ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "38796a8233e9b070",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 196,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/enrich/trigger/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "1589ece832782f989e751a56",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a9cd1025580b9cb8",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 152,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/campaigns/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "4fb777e4328185cbd019735a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "34894e74786e8305",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/observations/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,frontend,observability,security",
      "component_id": "8db6d623c0c29284942a7bbe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "29189811807b69e1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 114,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/ja4/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "983c78ef4bcbdc03fc86c4e8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "450e56c1b0d241fb",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/performance/metrics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "e5048f407a7abadebd3bbdc3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, @/lib/platform, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:50 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a6ff4ddf0ad74975",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform,next/server",
      "lines": 121,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/infrastructure/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,automation",
      "component_id": "f8fa53e363f5565eda1c0cdf",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/logger, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2c4ef637e183002",
      "framework": "next-react",
      "imports": "@/lib/logger,next/server",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/webhooks/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "8731773632ec90fc431873df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/config, @/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "eeb753bacaf01c17",
      "framework": "next-react",
      "imports": "@/lib/config,@/lib/db,@/lib/logger,next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/webhooks/alerts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation,ai",
      "component_id": "62fe49b7053b117816c288af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,os,path,pcap-parser",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BATCH_SIZE, POST | imports:@/lib/db, @/lib/pcap, @/lib/platform, fs, next/server, os, path, pcap-parser | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "BATCH_SIZE,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3caa0b416a31d2f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/pcap,@/lib/platform,fs,next/server,os,path,pcap-parser",
      "lines": 152,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/import/pcap/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "139f4c61ddc8a24a444f00e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5962c18bb120d58f",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "90bba855ae158b5e70b7462c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/db, @/lib/logger, @/lib/platform | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "10c6b47b2a3d27b0",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/platform",
      "lines": 102,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "0f1815386f0c700e9c3d19b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc092e1f73c26f50",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/stats/daily-volume/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "20fcc4d58f96e011672ebb34",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e4d19df0d02a6983",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability,security",
      "component_id": "75b7b2d45ade884b125d56df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "daf1b6149934e740",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 276,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/cron/vercel-sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "19e1f71fb3ed7379f312fa10",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cc7b874d0eb531cf",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 443,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/cron/daily/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "0f58a1d017da40e4d587f5b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/db, @/lib/logger, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1dd62ebd87663fb1",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,next/server",
      "lines": 150,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/api/cron/enrich/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "3d338bfb3644d053e35caa70",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67b051379ee9001c",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "cbed969bb5f339b50784f618",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/campaigns/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f692c546a47c74b011d7f17b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CampaignsPage | imports:@/components/enrich-dropdown, @/components/info-tooltip, @/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CampaignsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e8ea6e6ee472f0e",
      "framework": "next-react",
      "imports": "@/components/enrich-dropdown,@/components/info-tooltip,@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,lucide-react,react",
      "lines": 355,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/campaigns/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "d3423038ac11c2d4888e3b18",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/observations/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6854ff27012aec70661c7ab5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ObservationsPage | imports:@/components/enrich-dropdown, @/components/severity-badge, @/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ObservationsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f2c43bf23cffd42",
      "framework": "next-react",
      "imports": "@/components/enrich-dropdown,@/components/severity-badge,@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/table,@/components/ui/tooltip,@/hooks/use-toast,@/lib/error-handler,lucide-react,next/navigation,react",
      "lines": 629,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/observations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "cc572d510376187e813d5577",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f0b3ec8904d8e58e",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "5e79df958cace6402b3ed009",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c18772eb522adfe2",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "frontend,ui,automation",
      "component_id": "7baf2177126f6fde3114bf0d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | automation-score:50",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/infrastructure/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,automation,ui,observability,security",
      "component_id": "c6081b21244f1f7bc28b7d3c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InfrastructurePage | imports:@/components/enrich-dropdown, @/components/info-tooltip, @/components/sidebar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select | frontend-score:115 | automation-score:95 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "InfrastructurePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7068d64ace9d3f4e",
      "framework": "next-react",
      "imports": "@/components/enrich-dropdown,@/components/info-tooltip,@/components/sidebar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/table,@/components/ui/tabs,lucide-react,next/navigation,react",
      "lines": 469,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/infrastructure/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "a4225a3bfc98d37af91a6bc2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImportPage | imports:@/components/sidebar, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ImportPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05b6a08561a4cb03",
      "framework": "next-react",
      "imports": "@/components/sidebar,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/hooks/use-toast,lucide-react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/import/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "c3d455f8412c9f70f48a1a58",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "64c3ae48b4f1223f",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 83,
      "logic_relevance": "none",
      "name": "atlas-ui.spec",
      "normalized_name": "atlas-ui",
      "package_manager": "npm",
      "path": "tests/playwright/atlas-ui.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4121e49aa3514dba2658471e",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "29e3aada2a354166",
      "framework": "next-react",
      "imports": "",
      "lines": 522,
      "logic_relevance": "none",
      "name": "V2.0.0_ROADMAP",
      "normalized_name": "v2-0-0-roadmap",
      "package_manager": "npm",
      "path": "docs/V2.0.0_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,integration,observability,security",
      "component_id": "4e8af02ad04855589b116506",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f8e3246d164f87f7",
      "framework": "next-react",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "VERCEL_FIREWALL_INTEGRATION",
      "normalized_name": "vercel-firewall-integration",
      "package_manager": "npm",
      "path": "docs/VERCEL_FIREWALL_INTEGRATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "8a5429ad2bedeaf195d573b8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bc5d8904430987bf",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "SENSOR_VERIFICATION",
      "normalized_name": "sensor-verification",
      "package_manager": "npm",
      "path": "docs/SENSOR_VERIFICATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "94f92e45b8b96bf317ebd668",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:middleware | imports:next/server | process-score:145 | security-score:55 | automation-score:45",
      "exports": "middleware",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec0ec20b3a501576",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "V2.0.0_IMPLEMENTATION_GUIDE",
      "normalized_name": "v2-0-0-implementation-guide",
      "package_manager": "npm",
      "path": "docs/V2.0.0_IMPLEMENTATION_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,backend,security",
      "component_id": "ac01e7925639b5c4b86677f3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a784ec27e4fabe64",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "DATABASE_MANAGEMENT",
      "normalized_name": "database-management",
      "package_manager": "npm",
      "path": "docs/DATABASE_MANAGEMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security,ai",
      "component_id": "5633e0553cd35a6a0701fa50",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ad2fd3eb5a478775",
      "framework": "next-react",
      "imports": "",
      "lines": 525,
      "logic_relevance": "none",
      "name": "N8N_INTEGRATION",
      "normalized_name": "n8-n-integration",
      "package_manager": "npm",
      "path": "docs/N8N_INTEGRATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "10e57b1ae228d5b036a511e9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ddb2bbd94fb272ed",
      "framework": "next-react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "FAQ",
      "normalized_name": "faq",
      "package_manager": "npm",
      "path": "docs/FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "c9a95e8985e9ee007265a4d7",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:POST | process-score:110 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e33d0079c7a3047",
      "framework": "next-react",
      "imports": "",
      "lines": 392,
      "logic_relevance": "none",
      "name": "ENRICHMENT_DROPDOWN_GUIDE",
      "normalized_name": "enrichment-dropdown-guide",
      "package_manager": "npm",
      "path": "docs/ENRICHMENT_DROPDOWN_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,security,automation",
      "component_id": "1cf3f3cff59b9f9179b1bb9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "de2a66c20415bfea",
      "framework": "next-react",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "ja4-standards",
      "normalized_name": "ja4-standards",
      "package_manager": "npm",
      "path": "docs/ja4-standards.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "9ab9c68a43b60458af321b75",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET, Page | imports:@/lib/error-handler | process-score:145 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,Page",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d9a335ce0e7e6fdc",
      "framework": "next-react",
      "imports": "@/lib/error-handler",
      "lines": 546,
      "logic_relevance": "none",
      "name": "FEATURE_GUIDE",
      "normalized_name": "feature-guide",
      "package_manager": "npm",
      "path": "docs/FEATURE_GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8ef3a5ad941fe5f8d8446f85",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "18f6779ceb7af397",
      "framework": "next-react",
      "imports": "",
      "lines": 292,
      "logic_relevance": "none",
      "name": "INGEST_SOURCES",
      "normalized_name": "ingest-sources",
      "package_manager": "npm",
      "path": "docs/INGEST_SOURCES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "c85a6c4dde7d7ab9b7e5e542",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "adfecbf34273dba6",
      "framework": "next-react",
      "imports": "",
      "lines": 321,
      "logic_relevance": "none",
      "name": "DATABASE_DYNAMIC_FIELDS",
      "normalized_name": "database-dynamic-fields",
      "package_manager": "npm",
      "path": "docs/DATABASE_DYNAMIC_FIELDS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "4210bf12ba5769037b8644b8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21544485183e83d3",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "IMPROVEMENT_PLAN",
      "normalized_name": "improvement-plan",
      "package_manager": "npm",
      "path": "docs/IMPROVEMENT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "98c80f0bcbd4b86f9fa93357",
      "component_kind": "migration-plan",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ClientPage | imports:next/headers, next/navigation, next/server | process-score:145 | backend-score:70 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "ClientPage",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3f630cd3a98d377b",
      "framework": "next-react",
      "imports": "next/headers,next/navigation,next/server",
      "lines": 279,
      "logic_relevance": "none",
      "name": "NEXTJS_16_MIGRATION",
      "normalized_name": "nextjs-16-migration",
      "package_manager": "npm",
      "path": "docs/NEXTJS_16_MIGRATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ff17f09790fd74363f960507",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@/lib/logger | process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "95ffa631eb5cbd62",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 326,
      "logic_relevance": "none",
      "name": "SYSTEM_STATUS",
      "normalized_name": "system-status",
      "package_manager": "npm",
      "path": "docs/SYSTEM_STATUS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "b519d42399e08cc3de737ba6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2596763a5d2ffb95",
      "framework": "next-react",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "DEPLOYMENT_CHECKLIST",
      "normalized_name": "deployment-checklist",
      "package_manager": "npm",
      "path": "docs/DEPLOYMENT_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "b6d8a04e6d56209be7bf671b",
      "component_kind": "migration-plan",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cb990a0688a1def1",
      "framework": "next-react",
      "imports": "",
      "lines": 532,
      "logic_relevance": "none",
      "name": "DATABASE_MIGRATION_PLAN",
      "normalized_name": "database-migration-plan",
      "package_manager": "npm",
      "path": "docs/DATABASE_MIGRATION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "0339fe56a98907d32b662b45",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3fa80f3c4fba66bb",
      "framework": "next-react",
      "imports": "",
      "lines": 124,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "ac60311b2d61e995724cda28",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "npm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "9831e75dde5a30d880e50d23",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:SeverityBadge | imports:@/components/ui/badge, @/lib/severity-utils | frontend-score:85 | ui-score:55",
      "exports": "SeverityBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69ddfb707b764e2e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/lib/severity-utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "severity-badge",
      "normalized_name": "severity-badge",
      "package_manager": "npm",
      "path": "components/severity-badge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b86c059137f2e37a922fdb0b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintCollector | imports:@/lib/fingerprint-client, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "FingerprintCollector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ccc3b007e8ed3f5",
      "framework": "next-react",
      "imports": "@/lib/fingerprint-client,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "fingerprint-collector",
      "normalized_name": "fingerprint-collector",
      "package_manager": "npm",
      "path": "components/fingerprint-collector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "79f6b8b050ca2f29eb27ee4d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:InfoTooltip | imports:@/components/ui/tooltip, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "InfoTooltip",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d610befbdd0eb06d",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,lucide-react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "info-tooltip",
      "normalized_name": "info-tooltip",
      "package_manager": "npm",
      "path": "components/info-tooltip.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "81803987427b2c633fa38500",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3c5bc18f42163c01",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 131,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "npm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "f5a7d65565872e626b1dc222",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnrichButton | imports:@/components/ui/button, @/components/ui/tooltip, @/hooks/use-toast, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "EnrichButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7dca563723d7bab9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/hooks/use-toast,lucide-react,react",
      "lines": 178,
      "logic_relevance": "none",
      "name": "enrich-button",
      "normalized_name": "enrich-button",
      "package_manager": "npm",
      "path": "components/enrich-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fc1cc00573f3795f0483014c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": " + sourceName + ,@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnrichDropdown | imports: + sourceName + , @/components/enrichment-sources-provider, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EnrichDropdown",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "698aaff5a2daeb6c",
      "framework": "next-react",
      "imports": " + sourceName + ,@/components/enrichment-sources-provider,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 264,
      "logic_relevance": "none",
      "name": "enrich-dropdown",
      "normalized_name": "enrich-dropdown",
      "package_manager": "npm",
      "path": "components/enrich-dropdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "frontend,ui,observability,security",
      "component_id": "27c333ae27365b83859998d1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks",
      "description": "Frontend component for security; review as feature component, provider, page, or hook.",
      "evidence": "exports:RealTimeAlertToast | imports:@/hooks/use-auto-refresh, @/hooks/use-toast | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RealTimeAlertToast",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ee49729507297f2",
      "framework": "next-react",
      "imports": "@/hooks/use-auto-refresh,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "real-time-alert-toast",
      "normalized_name": "real-time-alert-toast",
      "package_manager": "npm",
      "path": "components/real-time-alert-toast.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,security,automation",
      "component_id": "ac9b8fd37eaf304d65498bf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar | imports:@/components/ui/badge, @/components/ui/button, @/hooks/use-auto-refresh, lucide-react, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Sidebar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7878bee4efeaab2b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/hooks/use-auto-refresh,lucide-react,next/link,next/navigation,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "npm",
      "path": "components/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "de21cb70e86ade7eccdfd12c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,date-fns,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProjectKeysDialog | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/components/ui/input, @/components/ui/label, @/components/ui/table, @/hooks/use-toast | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProjectKeysDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17375b7a83aac999",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/components/ui/input,@/components/ui/label,@/components/ui/table,@/hooks/use-toast,date-fns,lucide-react,react",
      "lines": 272,
      "logic_relevance": "none",
      "name": "project-keys-dialog",
      "normalized_name": "project-keys-dialog",
      "package_manager": "npm",
      "path": "components/project-keys-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5550713695b9e542d792dea4",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnrichmentSourcesProvider, useEnrichmentSources | imports:@/lib/sources-cache, react | frontend-score:115 | ui-score:70",
      "exports": "EnrichmentSourcesProvider,useEnrichmentSources",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "eff7ca86fe11b293",
      "framework": "next-react",
      "imports": "@/lib/sources-cache,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "enrichment-sources-provider",
      "normalized_name": "enrichment-sources-provider",
      "package_manager": "npm",
      "path": "components/enrichment-sources-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6daa5e9f5b62691e1aceb16d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatCard | imports:@/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "StatCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "479994706a239773",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "stat-card",
      "normalized_name": "stat-card",
      "package_manager": "npm",
      "path": "components/stat-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a0a937867191318dcd9548ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "npm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c515159e97906b7c4ff257a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "95617755f408ca35f5467dc4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "npm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a15618e218c963372cab2ecd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "cebf78db3d7c372d44971bda",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "npm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fecffada8f9c821e9eac2e33",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "57ec5821a48b647c4b2c8b82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "npm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "68816ff9c5354e14cdd15dd5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "npm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e654b3630086e836c63b1349",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7a883b4bdc1b0268",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "npm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b89e84dcd61f8ea00d7a10cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "npm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c9290d262bb90c434281aac6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "npm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0b1acaa5ef16ee3d512f6037",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "npm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d46402e0a6dc480d3cddebb5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f043bfea1878d54033ab201d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0b4afe34cc5e14a2a4991fe7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "npm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d08b382a95346a4acb1155d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "npm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dc6843cee1f2312fbe925019",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "npm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "60bd346b3ffccc07ad4cf2b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "npm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f2275728e415481e684f75e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "bc5ed4d27de09f30a7721afa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "npm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "309338ae427a0f8e46e19f7e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintsList | imports:@/components/severity-badge, @/components/ui/badge, @/components/ui/card, @/components/ui/skeleton, @/components/ui/table, @/hooks/use-auto-refresh, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FingerprintsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d524ebc021ccaaa",
      "framework": "next-react",
      "imports": "@/components/severity-badge,@/components/ui/badge,@/components/ui/card,@/components/ui/skeleton,@/components/ui/table,@/hooks/use-auto-refresh,next/link,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "fingerprints-list",
      "normalized_name": "fingerprints-list",
      "package_manager": "npm",
      "path": "components/fingerprints/fingerprints-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "cd1097498ebeee353d2a5c0d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintsHeader | imports:@/components/ui/button, @/components/ui/input, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FingerprintsHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "667c81780a593984",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "fingerprints-header",
      "normalized_name": "fingerprints-header",
      "package_manager": "npm",
      "path": "components/fingerprints/fingerprints-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation",
      "component_id": "c78996a55c85bb81a99633e6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46fef29bf205f272",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "npm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery,ai",
      "component_id": "c09ee3b04cf72b9b2e681b8b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9e23621612f440ed",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "npm",
      "path": "public/llms-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security,discovery",
      "component_id": "07c66fce68e59a1d2d4c1099",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "757ee1afd557f2a9",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "npm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7c210b0c7b0a928ed901594b",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@jest/globals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../lib/utils, @jest/globals | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7a399e63a0240ccb",
      "framework": "next-react",
      "imports": "../lib/utils,@jest/globals",
      "lines": 214,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "__tests__/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "5ceeaa0999dfff90820c01fb",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/health/route, @/lib/db, next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b59d53a450eb29ba",
      "framework": "next-react",
      "imports": "@/app/api/health/route,@/lib/db,next/server",
      "lines": 92,
      "logic_relevance": "none",
      "name": "api-health.test",
      "normalized_name": "api-health",
      "package_manager": "npm",
      "path": "__tests__/api-health.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "896731f0517545ff529d43a3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@jest/globals",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/enrichment/ipinfo-client, @jest/globals | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "806f11983b909f1f",
      "framework": "next-react",
      "imports": "../lib/enrichment/ipinfo-client,@jest/globals",
      "lines": 166,
      "logic_relevance": "none",
      "name": "ipinfo-client.test",
      "normalized_name": "ipinfo-client",
      "package_manager": "npm",
      "path": "__tests__/ipinfo-client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d3f232ca9f419a4814bd55f5",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@jest/globals",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL, TEST_TOKEN | imports:./utils/server-check, @jest/globals | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BASE_URL,TEST_TOKEN",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84410ca09125dd5f",
      "framework": "next-react",
      "imports": "./utils/server-check,@jest/globals",
      "lines": 273,
      "logic_relevance": "none",
      "name": "e2e.test",
      "normalized_name": "e2e",
      "package_manager": "npm",
      "path": "__tests__/e2e.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "34e7cc49ea93670f3340b991",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@jest/globals",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/enrichment/huntio-client, @jest/globals | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "42ed2fcc3be52b36",
      "framework": "next-react",
      "imports": "../lib/enrichment/huntio-client,@jest/globals",
      "lines": 198,
      "logic_relevance": "none",
      "name": "huntio-client.test",
      "normalized_name": "huntio-client",
      "package_manager": "npm",
      "path": "__tests__/huntio-client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "07fc057886641386f2720b3f",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "@jest/globals",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BASE_URL | imports:./utils/server-check, @jest/globals | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e92d5bb5e05c7710",
      "framework": "next-react",
      "imports": "./utils/server-check,@jest/globals",
      "lines": 105,
      "logic_relevance": "none",
      "name": "vercel-integration.test",
      "normalized_name": "vercel-integration",
      "package_manager": "npm",
      "path": "__tests__/vercel-integration.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "9be6ca1342e21a5b806d2ac2",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@jest/globals",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CustomError | imports:../lib/error-handler, ../lib/logger, @jest/globals | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CustomError",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3366f260575fa63c",
      "framework": "next-react",
      "imports": "../lib/error-handler,../lib/logger,@jest/globals",
      "lines": 164,
      "logic_relevance": "none",
      "name": "error-handler.test",
      "normalized_name": "error-handler",
      "package_manager": "npm",
      "path": "__tests__/error-handler.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "502e45544851de8bb8048e52",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@jest/globals",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/enrichment/driftnet-client, @jest/globals | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84a63da2eb801a2f",
      "framework": "next-react",
      "imports": "../lib/enrichment/driftnet-client,@jest/globals",
      "lines": 227,
      "logic_relevance": "none",
      "name": "driftnet-client.test",
      "normalized_name": "driftnet-client",
      "package_manager": "npm",
      "path": "__tests__/driftnet-client.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c6a1b8d24b1a769bce372d12",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e6aad116014ca673",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "npm",
      "path": "__tests__/setup.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,observability,security",
      "component_id": "4b28b837e5936142c7da7896",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@jest/globals",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@jest/globals | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b61a9d6f22f8e579",
      "framework": "next-react",
      "imports": "@jest/globals",
      "lines": 248,
      "logic_relevance": "none",
      "name": "database.test",
      "normalized_name": "database",
      "package_manager": "npm",
      "path": "__tests__/database.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "90d484cbdafc41af666b51de",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/ai-plugin.json/route, ../app/api/mcp.json/route, ../app/api/mcp/route, ../app/robots, ../app/sitemap | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "17efeff31433f631",
      "framework": "next-react",
      "imports": "../app/api/ai-plugin.json/route,../app/api/mcp.json/route,../app/api/mcp/route,../app/robots,../app/sitemap",
      "lines": 55,
      "logic_relevance": "none",
      "name": "discovery.test",
      "normalized_name": "discovery",
      "package_manager": "npm",
      "path": "__tests__/discovery.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "536e32ccdc8636f5354ef838",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@jest/globals",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@jest/globals | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f65c36552103edc",
      "framework": "next-react",
      "imports": "@jest/globals",
      "lines": 42,
      "logic_relevance": "none",
      "name": "observations-date.test",
      "normalized_name": "observations-date",
      "package_manager": "npm",
      "path": "__tests__/observations-date.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,backend,observability,security",
      "component_id": "99974e4ebc61868ee4495a53",
      "component_kind": "scheduled-job",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../app/api/cron/daily/route, ../lib/db | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "158251216bd7cf41",
      "framework": "next-react",
      "imports": "../app/api/cron/daily/route,../lib/db",
      "lines": 42,
      "logic_relevance": "none",
      "name": "cron.bench.test",
      "normalized_name": "cron-bench",
      "package_manager": "npm",
      "path": "__tests__/cron.bench.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "26a42587c02fc364825d4010",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@jest/globals,@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/enrich-button, @/components/enrich-dropdown, @/components/enrichment-sources-provider, @/components/fingerprints/fingerprints-header, @/components/fingerprints/fingerprints-list, @/components/severity-badge, @/components/sidebar, @/components/stat-card | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "158a1153731a8269",
      "framework": "next-react",
      "imports": "@/components/enrich-button,@/components/enrich-dropdown,@/components/enrichment-sources-provider,@/components/fingerprints/fingerprints-header,@/components/fingerprints/fingerprints-list,@/components/severity-badge,@/components/sidebar,@/components/stat-card,@jest/globals,@testing-library/react,react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "components.test",
      "normalized_name": "components",
      "package_manager": "npm",
      "path": "__tests__/components.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "c525eca10111ed671d3e97f5",
      "component_kind": "fingerprinting",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../lib/ja4-validator | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2c6d515b9cdda7b5",
      "framework": "next-react",
      "imports": "../lib/ja4-validator",
      "lines": 111,
      "logic_relevance": "none",
      "name": "ja4-validator.test",
      "normalized_name": "ja4-validator",
      "package_manager": "npm",
      "path": "__tests__/ja4-validator.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "d29c0967bb6a5ce4065cb5d1",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@testing-library/react",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../hooks/use-auto-refresh, @testing-library/react | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a202783a59f792dc",
      "framework": "next-react",
      "imports": "../hooks/use-auto-refresh,@testing-library/react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "hooks.test",
      "normalized_name": "hooks",
      "package_manager": "npm",
      "path": "__tests__/hooks.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c031934374c54f699efd6b03",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "@/lib,@jest/globals,crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api-keys, @/lib/db, @/lib/logger, @jest/globals, crypto | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06b9b5c186671a59",
      "framework": "next-react",
      "imports": "@/lib/api-keys,@/lib/db,@/lib/logger,@jest/globals,crypto",
      "lines": 269,
      "logic_relevance": "none",
      "name": "api-keys.test",
      "normalized_name": "api-keys",
      "package_manager": "npm",
      "path": "__tests__/api-keys.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c3cbce3e4602da9e62144b0b",
      "component_kind": "schema-validation",
      "confidence": 90,
      "dependency_roots": "@/lib,@jest/globals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL | imports:./utils/server-check, @/lib/ja4-validator, @jest/globals | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1bfcf43d90f67cf",
      "framework": "next-react",
      "imports": "./utils/server-check,@/lib/ja4-validator,@jest/globals",
      "lines": 879,
      "logic_relevance": "primary",
      "name": "sensor-data-validation.test",
      "normalized_name": "sensor-data-validation",
      "package_manager": "npm",
      "path": "__tests__/sensor-data-validation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "3e54b6e283a22d78655fd96c",
      "component_kind": "webhook",
      "confidence": 75,
      "dependency_roots": "@/lib,@jest/globals,crypto,next",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../app/api/webhooks/alerts/route, @/lib/config, @jest/globals, crypto, next/server | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7c4d9310e3997b6",
      "framework": "next-react",
      "imports": "../app/api/webhooks/alerts/route,@/lib/config,@jest/globals,crypto,next/server",
      "lines": 98,
      "logic_relevance": "none",
      "name": "webhook_alerts_vulnerability.test",
      "normalized_name": "webhook-alerts-vulnerability",
      "package_manager": "npm",
      "path": "__tests__/webhook_alerts_vulnerability.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e51d3e05fe36c95da09a5d74",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@jest/globals",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, TEST_TOKEN | imports:@jest/globals | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | cron-or-schedule",
      "exports": "BASE_URL,TEST_TOKEN",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78c463927ba7eed8",
      "framework": "next-react",
      "imports": "@jest/globals",
      "lines": 1086,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "npm",
      "path": "__tests__/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4498735c92cb674a088ae942",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,@jest/globals,next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/ingest/http/route, @/lib/config, @/lib/db, @jest/globals, next/server | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d5350706862a3cc",
      "framework": "next-react",
      "imports": "../app/api/ingest/http/route,@/lib/config,@/lib/db,@jest/globals,next/server",
      "lines": 101,
      "logic_relevance": "none",
      "name": "security_fix.test",
      "normalized_name": "security-fix",
      "package_manager": "npm",
      "path": "__tests__/security_fix.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "0a03a7e5b3ef4cee483cac11",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@jest/globals",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/logger, @jest/globals | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4f7b4760c6d97ef1",
      "framework": "next-react",
      "imports": "../lib/logger,@jest/globals",
      "lines": 263,
      "logic_relevance": "none",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "npm",
      "path": "__tests__/logger.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "f2b986a57c666e44b79d36cf",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@jest/globals",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@jest/globals | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60155ca528424cbf",
      "framework": "next-react",
      "imports": "@jest/globals",
      "lines": 31,
      "logic_relevance": "none",
      "name": "stats.test",
      "normalized_name": "stats",
      "package_manager": "npm",
      "path": "__tests__/stats.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "22d794fc69b8e6240cf27b5e",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isServerReachable | logic-score:60 | backend-score:55 | observability-score:55 | uses-env",
      "exports": "isServerReachable",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f1c33cfc269f7933",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "server-check",
      "normalized_name": "server-check",
      "package_manager": "npm",
      "path": "__tests__/utils/server-check.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "4ec2975f3bf3ac33d088023c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,util",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/fingerprint-client, @/lib/logger, util | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "931f47ed51a9b104",
      "framework": "next-react",
      "imports": "@/lib/fingerprint-client,@/lib/logger,util",
      "lines": 453,
      "logic_relevance": "primary",
      "name": "fingerprint-client.test",
      "normalized_name": "fingerprint-client",
      "package_manager": "npm",
      "path": "__tests__/lib/fingerprint-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a9b4dca4802f440b4a01a5fb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@jest/globals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/enrichment/ipinfo-client, @jest/globals | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3ccbd4e5f43767b3",
      "framework": "next-react",
      "imports": "../../lib/enrichment/ipinfo-client,@jest/globals",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "ipinfo-client.test",
      "normalized_name": "ipinfo-client",
      "package_manager": "npm",
      "path": "__tests__/lib/ipinfo-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,integration,discovery",
      "component_id": "7b2719a8d536a11b61fddd39",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@jest/globals",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/openapi, @jest/globals | logic-score:85 | integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e85c2034bf041615",
      "framework": "next-react",
      "imports": "@/lib/openapi,@jest/globals",
      "lines": 30,
      "logic_relevance": "primary",
      "name": "openapi.test",
      "normalized_name": "openapi",
      "package_manager": "npm",
      "path": "__tests__/lib/openapi.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "608cd2f37643d35882a9b86a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@jest/globals",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/enrichment/abuseipdb-client, @jest/globals | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e633dd10fc4b66bd",
      "framework": "next-react",
      "imports": "../../lib/enrichment/abuseipdb-client,@jest/globals",
      "lines": 152,
      "logic_relevance": "primary",
      "name": "abuseipdb-client.test",
      "normalized_name": "abuseipdb-client",
      "package_manager": "npm",
      "path": "__tests__/lib/abuseipdb-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f771a3dbffa4c71688f3e8ca",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@jest/globals,crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/crypto, @jest/globals, crypto | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "12ebcf4c7b17d1e7",
      "framework": "next-react",
      "imports": "@/lib/crypto,@jest/globals,crypto",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "crypto.test",
      "normalized_name": "crypto",
      "package_manager": "npm",
      "path": "__tests__/lib/crypto.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "9ea68e0f56afa5af15ecac33",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d73ebbe1ef0b2215",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "npm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "e2075e8a4b264c31cb5bba9b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d45ec4cd4eb42a7f",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "npm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "7ea1ccc8d1e8827da8bfe621",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cbdd4cf31efb0fa6",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "npm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "22a6cfa133ec807ffdec1a3d",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ITERATIONS, SIZE | imports:perf_hooks | observability-score:55 | automation-score:50",
      "exports": "ITERATIONS,SIZE",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f346cab54a8cc50e",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 30,
      "logic_relevance": "none",
      "name": "benchmark-array-creation",
      "normalized_name": "benchmark-array-creation",
      "package_manager": "npm",
      "path": "scripts/benchmark-array-creation.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "e2455d87c47f4b759331b7cc",
      "component_kind": "deployment-automation",
      "confidence": 85,
      "dependency_roots": "perf_hooks",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:perf_hooks | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0d3f371daa2a3b05",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 134,
      "logic_relevance": "none",
      "name": "benchmark-vercel-sync",
      "normalized_name": "benchmark-vercel-sync",
      "package_manager": "npm",
      "path": "scripts/benchmark-vercel-sync.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "0f1d6ed70e6b33b66c5eebb4",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:perf_hooks | observability-score:55 | automation-score:50 | uses-env",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae828bc6e66d5830",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 33,
      "logic_relevance": "none",
      "name": "benchmark-stats",
      "normalized_name": "benchmark-stats",
      "package_manager": "npm",
      "path": "scripts/benchmark-stats.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a2461aae0cdd2aa68f895b8d",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:perf_hooks | observability-score:55 | automation-score:50 | uses-env",
      "exports": "BASE_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8723209f031ef764",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 38,
      "logic_relevance": "none",
      "name": "benchmark-observations",
      "normalized_name": "benchmark-observations",
      "package_manager": "npm",
      "path": "scripts/benchmark-observations.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ba9115abf871c74d5aaece12",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0b8276d0f56260b2",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "benchmark-date-rendering",
      "normalized_name": "benchmark-date-rendering",
      "package_manager": "npm",
      "path": "scripts/benchmark-date-rendering.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1b34f4d8a3e6e53bc26dfe36",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/db | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3efa688c850c3828",
      "framework": "next-react",
      "imports": "../lib/db",
      "lines": 26,
      "logic_relevance": "none",
      "name": "inspect-sql-capabilities",
      "normalized_name": "inspect-sql-capabilities",
      "package_manager": "npm",
      "path": "scripts/inspect-sql-capabilities.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5c103e5552cf3f19b58056ab",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:API_KEY, BASE_URL | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "API_KEY,BASE_URL",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98627600971a21e4",
      "framework": "next-react",
      "imports": "",
      "lines": 305,
      "logic_relevance": "none",
      "name": "test-async-flow",
      "normalized_name": "test-async-flow",
      "package_manager": "npm",
      "path": "scripts/test-async-flow.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "32b9b6b51989b36c04f68d42",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BASE_URL | imports:perf_hooks | observability-score:55 | automation-score:50 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2d72f041d57b247",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 33,
      "logic_relevance": "none",
      "name": "benchmark-observations",
      "normalized_name": "benchmark-observations",
      "package_manager": "npm",
      "path": "scripts/benchmark-observations.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d4e0f56cf3889824e0cc549f",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "node:crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:crypto | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "f0a9fc65e85fcce8",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 29,
      "logic_relevance": "none",
      "name": "verify_crypto",
      "normalized_name": "verify-crypto",
      "package_manager": "npm",
      "path": "scripts/verify_crypto.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0c27ab8151f9c09ea4138326",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ITEMS_COUNT, ITERATIONS | imports:perf_hooks | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "ITEMS_COUNT,ITERATIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "12f8d1148481de48",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 104,
      "logic_relevance": "none",
      "name": "benchmark-infrastructure-sort",
      "normalized_name": "benchmark-infrastructure-sort",
      "package_manager": "npm",
      "path": "scripts/benchmark-infrastructure-sort.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cf07942ed1e1472435fea5e4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BATCH_SIZE | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "BATCH_SIZE",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "3c69b884d39badbf",
      "framework": "next-react",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "benchmark-syslog",
      "normalized_name": "benchmark-syslog",
      "package_manager": "npm",
      "path": "scripts/benchmark-syslog.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "af550ac8f141cf91ef4122fd",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "perf_hooks",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ITERATIONS | imports:perf_hooks | observability-score:55 | automation-score:50",
      "exports": "ITERATIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a515b347b35cb71d",
      "framework": "next-react",
      "imports": "perf_hooks",
      "lines": 44,
      "logic_relevance": "none",
      "name": "benchmark-date",
      "normalized_name": "benchmark-date",
      "package_manager": "npm",
      "path": "scripts/benchmark-date.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "d743f67e70a6f9c78451877e",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SEVERITY_CLASSES, SEVERITY_DOT_CLASSES, SEVERITY_LABELS, SeverityLevel, getSeverityLevel | logic-score:85",
      "exports": "SEVERITY_CLASSES,SEVERITY_DOT_CLASSES,SEVERITY_LABELS,SeverityLevel,getSeverityLevel",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d2d0835fbec37cde",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "severity-utils",
      "normalized_name": "severity-utils",
      "package_manager": "npm",
      "path": "lib/severity-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9ad56cdab9e6fbaeb88a9588",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FingerprintData | imports:@/lib/logger | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "FingerprintData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f255842fdc1557d4",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 282,
      "logic_relevance": "primary",
      "name": "fingerprint-client",
      "normalized_name": "fingerprint-client",
      "package_manager": "npm",
      "path": "lib/fingerprint-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "71592f3d4368aa417940f1e5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ErrorContext, handleError, showErrorToast | imports:./logger | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "ErrorContext,handleError,showErrorToast",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7497fa307d522e6e",
      "framework": "next-react",
      "imports": "./logger",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "error-handler",
      "normalized_name": "error-handler",
      "package_manager": "npm",
      "path": "lib/error-handler.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "63f95eac02ead964c47e66e7",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JA4Spec, JA4_SPECS, ValidationResult, detectFingerprintType, getSpec, getSupportedTypes, validateBatch, validateFingerprint | imports:./logger | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "JA4Spec,JA4_SPECS,ValidationResult,detectFingerprintType,getSpec,getSupportedTypes,validateBatch,validateFingerprint",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b1007f551da6e4d1",
      "framework": "next-react",
      "imports": "./logger",
      "lines": 213,
      "logic_relevance": "primary",
      "name": "ja4-validator",
      "normalized_name": "ja4-validator",
      "package_manager": "npm",
      "path": "lib/ja4-validator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability",
      "component_id": "6c917c2c2fea80d591ef1267",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_SITEMAP_INDEX_URL, ROOT_GRAPH_URL, extractSitesFromGraph, localRouteCompliance | imports:@/lib/discovery | logic-score:85 | observability-score:55",
      "exports": "BASE_SITEMAP_INDEX_URL,ROOT_GRAPH_URL,extractSitesFromGraph,localRouteCompliance",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "03e5fa96dc7d6fb2",
      "framework": "next-react",
      "imports": "@/lib/discovery",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "npm",
      "path": "lib/network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "e74aef1ceaff66e82af14f25",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IngestKey | imports:@/lib/db, @/lib/logger, crypto | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "IngestKey",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c4341de785072a90",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,crypto",
      "lines": 231,
      "logic_relevance": "primary",
      "name": "api-keys",
      "normalized_name": "api-keys",
      "package_manager": "npm",
      "path": "lib/api-keys.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,observability",
      "component_id": "cf145358d4121815d9e5595a",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, getProjectStatusColor | imports:clsx, tailwind-merge | logic-score:85 | observability-score:55",
      "exports": "cn,getProjectStatusColor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "71807147de2e158e",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f1bfde4101c32661ac965457",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:verifyHmacSignature | imports:crypto | logic-score:60 | security-score:55",
      "exports": "verifyHmacSignature",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d9aebfaaa7c40797",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "crypto",
      "normalized_name": "crypto",
      "package_manager": "npm",
      "path": "lib/crypto.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "fc7f0e39a60f49ed74faedd8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorBody, ApiErrorCode, ApiSuccessBody, apiError, apiOk, captureSafeVercelMetadata, getPlatphormApiKeyFromRequest, hashSensitiveValue | imports:crypto, next/server | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiErrorBody,ApiErrorCode,ApiSuccessBody,apiError,apiOk,captureSafeVercelMetadata,getPlatphormApiKeyFromRequest,hashSensitiveValue,isAuthorizedPlatformRequest,isPersistenceConfigured,makeId,persistenceUnavailableResponse,redactIp,requirePlatformAuth,sanitizeMetadata,sanitizePublicObservation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6d9caf876f2f50a7",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 231,
      "logic_relevance": "primary",
      "name": "platform",
      "normalized_name": "platform",
      "package_manager": "npm",
      "path": "lib/platform.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "412991cac4e4007847e4b14c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogContext, LogLevel, SecurityLevel, StructuredLog, createTimer, extractRequestContext, generateRequestId, logger | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "LogContext,LogLevel,SecurityLevel,StructuredLog,createTimer,extractRequestContext,generateRequestId,logger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "06f568c5c37b1503",
      "framework": "next-react",
      "imports": "",
      "lines": 315,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "npm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security,logic",
      "component_id": "f495b5066ed530fc174fb9b1",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e24fd678dd717a62",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "npm",
      "path": "lib/constants.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,observability,security",
      "component_id": "f622bc24abed8f95e4cb9a62",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EnrichmentSource, invalidateSourcesCache | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "EnrichmentSource,invalidateSourcesCache",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6645ee4d5724eb30",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "sources-cache",
      "normalized_name": "sources-cache",
      "package_manager": "npm",
      "path": "lib/sources-cache.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation",
      "component_id": "7ceb8f18996d41041b9a9996",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:openApiSpec | logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "openApiSpec",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "411bd781371b6017",
      "framework": "next-react",
      "imports": "",
      "lines": 1695,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "npm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "3dd172e4b4bd594494df45f5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ATLAS_BASE_URL, ATLAS_SERVICE, ATLAS_VERSION, atlasEndpoints, atlasMcpPrompts, atlasMcpResources, atlasMcpTools, atlasPages | imports:@/lib/db, @/lib/openapi, @/lib/platform | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ATLAS_BASE_URL,ATLAS_SERVICE,ATLAS_VERSION,atlasEndpoints,atlasMcpPrompts,atlasMcpResources,atlasMcpTools,atlasPages,buildOpenApiYaml,buildSitemapIndexXml,buildTrustPolicy",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c89eb2302583e044",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/openapi,@/lib/platform",
      "lines": 427,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "npm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "3903c69c6823bac3b5d8c1a4",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParsedPacket, parsePacket | logic-score:85",
      "exports": "ParsedPacket,parsePacket",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7446c711c99463f0",
      "framework": "next-react",
      "imports": "",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "pcap",
      "normalized_name": "pcap",
      "package_manager": "npm",
      "path": "lib/pcap.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "2854f7ccec457cf8d4e1c170",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:config, getConfigSummary | imports:@/lib/crypto | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config,getConfigSummary",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b3e0f9700ca8950b",
      "framework": "next-react",
      "imports": "@/lib/crypto",
      "lines": 190,
      "logic_relevance": "primary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "npm",
      "path": "lib/config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,logic,observability,security",
      "component_id": "942bae2d2274b427b883f5bb",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:Campaign, Fingerprint, Infrastructure, JA4DBFingerprint, Observation, getDb, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Campaign,Fingerprint,Infrastructure,JA4DBFingerprint,Observation,getDb,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "919bd36962e6d7ae",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 111,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "npm",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "77cd7f924de2c064da13cfb9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AtlasSpanInput, TraceContext, extractTraceContext, platformTraceHeaders, withTraceHeaders | imports:@/lib/logger, crypto | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AtlasSpanInput,TraceContext,extractTraceContext,platformTraceHeaders,withTraceHeaders",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0d754afcf0c63581",
      "framework": "next-react",
      "imports": "@/lib/logger,crypto",
      "lines": 163,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "npm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "9953d8c04e290f447629661d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IPInfoClient | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "IPInfoClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e1e60a34f9afa782",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "primary",
      "name": "ipinfo-client",
      "normalized_name": "ipinfo-client",
      "package_manager": "npm",
      "path": "lib/enrichment/ipinfo-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "5ebf22ea06790901bbe69651",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DriftnetClient | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DriftnetClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0875fb07adc4b3a5",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "primary",
      "name": "driftnet-client",
      "normalized_name": "driftnet-client",
      "package_manager": "npm",
      "path": "lib/enrichment/driftnet-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7c94f25220efc94c1700fb08",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HuntioClient | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "HuntioClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3d1866d5dc3c477d",
      "framework": "next-react",
      "imports": "",
      "lines": 107,
      "logic_relevance": "primary",
      "name": "huntio-client",
      "normalized_name": "huntio-client",
      "package_manager": "npm",
      "path": "lib/enrichment/huntio-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "3e25819d0783f3b63e252423",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AbuseIPDBClient | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "AbuseIPDBClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e19e532a2a02cee3",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "primary",
      "name": "abuseipdb-client",
      "normalized_name": "abuseipdb-client",
      "package_manager": "npm",
      "path": "lib/enrichment/abuseipdb-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability",
      "component_id": "09e268d78f201c21754d9eb5",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91d1c43004802cd4",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": ".last-run",
      "normalized_name": "last-run",
      "package_manager": "npm",
      "path": "test-results/.last-run.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-vercel-atlas",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "dee372871f31dbde53ebbb19",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "964045fbeafda3c1",
      "framework": "next-react",
      "imports": "",
      "lines": 2823,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "bfe0349b05335bad74d00b44",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:@/lib/api/auth, @/lib/config/service, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d47b23a522f53875",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/config/service,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "371d6c6eb0d5d2a1055b72ce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2bde394621c6e255",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "DEPLOYMENT_READY",
      "normalized_name": "deployment-ready",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT_READY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "00f2ca05469765907886e05a",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9032f30de127e556",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "__submit_comment",
      "normalized_name": "submit-comment",
      "package_manager": "pnpm",
      "path": "__submit_comment.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8bf6b57cbf50423216998bc7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "47782712cd84c1b8",
      "framework": "next-react",
      "imports": "",
      "lines": 314,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "ff061cbc796dd791d08daa9e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "036c80b93f080100",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "2d4cedddfcd415d9d3f42932",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ad606a06fd2d7555",
      "framework": "next-react",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "LAUNCH_CHECKLIST",
      "normalized_name": "launch-checklist",
      "package_manager": "pnpm",
      "path": "LAUNCH_CHECKLIST.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "62a646b461e4c298e74a7551",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0e2b6ef0ec252c0b",
      "framework": "next-react",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "IMPLEMENTATION_NOTES",
      "normalized_name": "implementation-notes",
      "package_manager": "pnpm",
      "path": "IMPLEMENTATION_NOTES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "a57ed88f0335f437bc99049d",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f50dd2baf88d5e93",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "21696e486d1d46625845c46e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/footer, @/components/layout/top-bar, @/lib/standards/metadata, next/font/google, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40c5be2d6ace9e2b",
      "framework": "next-react",
      "imports": "@/components/layout/footer,@/components/layout/top-bar,@/lib/standards/metadata,next/font/google,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0a73b74b0eeafdde2a9aadba",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "20f7beec6bffca7b",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "7c6e45439963bd6fe99469ef",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6016e18df71d10a3",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation",
      "component_id": "fac1f5e3b1f948550f85856d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/tools, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "10099e13357fc3a7",
      "framework": "next-react",
      "imports": "@/lib/mcp/tools,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a0fd72e8dda9e5772f23a329",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/feed.xml/route | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53ff7a37e3a1c003",
      "framework": "next-react",
      "imports": "@/app/feed.xml/route",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "a592fa41bcfdcf988fbe175a",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a3f60230f0fc00fb",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation",
      "component_id": "368ec269387ec2c4c065f393",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOMAIN, GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "DOMAIN,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "974fb28f657ed0dc",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "becba91eae77c90968964f39",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "37b32516c0cfd2ea",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "9f658833fde5c8e93a1ba0f0",
      "component_kind": "agent",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:@/app/.well-known/agent.json/route | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a13941c75cb53989",
      "framework": "next-react",
      "imports": "@/app/.well-known/agent.json/route",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,automation",
      "component_id": "979274ca4ac68ec955e3dd54",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | ai-score:75 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "db4d76f4862c2c90",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agent.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "21807e9a501ba61775e0036a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "df7e188ea9f44c0f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust-policy.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "backend,security,automation",
      "component_id": "1813dea80ea960021acd0847",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ffdf2f2c6f0cc305",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "1f113e39db349b199f8dc92a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "828ea33b2b7096d5",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "aadcefdda71d06386e1ecefa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/tools | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0b65ee4df481c1da",
      "framework": "next-react",
      "imports": "@/lib/mcp/tools",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,discovery,automation,ai",
      "component_id": "27efb1cb7293fe24447c1d9f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/tools, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "62e5fda9c7ecf751",
      "framework": "next-react",
      "imports": "@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/tools,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "6f0744c854731c67195d5679",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4fdadee3be6ce2bf",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 145,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2681546a990a684ba6aefc42",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ChangelogPage | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ChangelogPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "29b62c43c63c66fa",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/changelog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "8fae91bfcf89b17ad6079f6f",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RequestAccessPage | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RequestAccessPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "28e84a9ece0f67fc",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/request-access/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation",
      "component_id": "e0d922ffe6f8f0e4ae7cec82",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "DocsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6e51475084f54a2a",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 183,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "484bd8f85b64fd0a69e7c916",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExplorePage | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ExplorePage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "15805a60f1686bd9",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 97,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/explore/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,automation",
      "component_id": "36f5fe86bd1b41566de44a60",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WebhookValidationPro | imports:react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WebhookValidationPro",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "12f2f1d106faab8a",
      "framework": "next-react",
      "imports": "react",
      "lines": 274,
      "logic_relevance": "secondary",
      "name": "validation-pro",
      "normalized_name": "validation-pro",
      "package_manager": "pnpm",
      "path": "app/(public)/simulator/validation-pro.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,logic,ui,automation",
      "component_id": "e77ea512dd2e7f39fd5de388",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./validation-pro, @testing-library/react, vitest | frontend-score:85 | logic-score:70 | ui-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "deccf467fd753ab0",
      "framework": "next-react",
      "imports": "./validation-pro,@testing-library/react,vitest",
      "lines": 100,
      "logic_relevance": "secondary",
      "name": "validation-pro.test",
      "normalized_name": "validation-pro",
      "package_manager": "pnpm",
      "path": "app/(public)/simulator/validation-pro.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "frontend,ui,automation",
      "component_id": "a84b7cde6377e09cc91a6997",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:SimulatorPage | imports:./validation-pro | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "SimulatorPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e38999a45434b7c",
      "framework": "next-react",
      "imports": "./validation-pro",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/simulator/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "28dc6508a6b233b8aa69badc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PublicWebhookPage | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "PublicWebhookPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05743e758ba650",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 50,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(public)/w/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "9ffb77217c0fb6d8ff79db65",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOMAIN, GET | backend-score:125 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "DOMAIN,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "db653fa8a99071a5",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "5de7c8c356ccce96a423b100",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "de000493f3e535b7",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/metrics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "ecac8effa1d48648e75b5243",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreateEndpointSchema, GET, POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "CreateEndpointSchema,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2a575dbc63703840",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server,zod",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/endpoints/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "0191d7eb3a560ffd8ea218a8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT, UpdateSchema | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, @/lib/webhooklab/store, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "DELETE,GET,PUT,UpdateSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "23b0f10fdda9e75e",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,@/lib/webhooklab/store,next/server,zod",
      "lines": 79,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/endpoints/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "aa071214a91a1c38acb4f299",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c2a3242de9a79f82",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/endpoints/[id]/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "aa763c4cd2e7fd01cd2398e9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreateContractSchema, GET, POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "CreateContractSchema,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa3ab6bcf42ffdd4",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,next/server,zod",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contracts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "362fa177355f445411eaeed0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT, UpdateSchema | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT,UpdateSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "585d6f56b6c4b497",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,next/server,zod",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contracts/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "7432702df41d1530fa4fdf2d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, PayloadSchema | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, next/server, zod | backend-score:160 | frontend-score:55 | next-route-handler",
      "exports": "POST,PayloadSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a653a48502f531b5",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,next/server,zod",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contracts/[id]/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "996deaccd37fb4074e8a2f62",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, TestSchema | imports:@/lib/api/request-context, @/lib/api/response, @/lib/cosmic/cuid, @/lib/neon/schema, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST,TestSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72780225c0bbbc6d",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/cosmic/cuid,@/lib/neon/schema,next/server,zod",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contracts/[id]/test/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "04fdac8b24fb7ab28792ef77",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, VerifySignatureSchema | imports:@/lib/api/request-context, @/lib/api/response, @/lib/cosmic/signatures, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "POST,VerifySignatureSchema",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "33855f500cfd5669",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/cosmic/signatures,next/server,zod",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/signatures/verify/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "ae39fc375f1a61a60a160bcc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GenerateSignatureSchema, POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/cosmic/signatures, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GenerateSignatureSchema,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1d38b2e902d7defe",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/cosmic/signatures,next/server,zod",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/signatures/generate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "10773d7dc85d393988b13b8d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/app/api/health/route | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dedfd6e8fe9f3039",
      "framework": "next-react",
      "imports": "@/app/api/health/route",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,frontend,observability",
      "component_id": "07c5b1fb9317f2df72740736",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "91d618cb747d6b60",
      "framework": "next-react",
      "imports": "@/lib/api/response,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3dd004368d3c6c213e5e13c4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a83bb4e1ff4c8721",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/graph/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "11fd17f667cf10106d7d0022",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e630147e08d19400",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/sites/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "d8906fdf5680cd360ccc4705",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response | backend-score:125 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "05736f297793dfe7",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route-compliance/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "0f8d01d0986782a98233fe9c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/neon/schema | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c77dd2036295c0f",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/neon/schema",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/trusted-domains/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,backend,observability,security",
      "component_id": "ddd9dbcef24dd9b0513c33f3",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c981e1c47b2d6c29",
      "framework": "next-react",
      "imports": "./route,next/server,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/api-keys/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "27704fb9fb205e6359af985e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4ae9f116279a03fb",
      "framework": "next-react",
      "imports": "@/lib/api/response,next/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/api-keys/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,ai,observability,security,automation",
      "component_id": "47eccc4f5082fc7ea4b19f4a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AgentActionSchema, GET, POST, PRECOMPUTED_ACTIONS | imports:@/lib/api/response, @/lib/mcp/executor, @/lib/mcp/tools, zod | backend-score:160 | ai-score:75 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "AgentActionSchema,GET,POST,PRECOMPUTED_ACTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8478d7ee93881a59",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/mcp/executor,@/lib/mcp/tools,zod",
      "lines": 204,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/agent/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "5f5ea75e43f53721a3e4c265",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/mcp/tools | backend-score:125 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9afe4d060c15edac",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/mcp/tools",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/tools/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "2563d7d27b7af369bd42663d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "163fc45eb1dec76e",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "b214c4a074b8aa1e266bcdec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@/public",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/public/schemas/agent.schema.json, @/public/schemas/core.schema.json, @/public/schemas/observability.schema.json, @/public/schemas/webhook.schema.json | backend-score:125 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "507285a8fd871762",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/public/schemas/agent.schema.json,@/public/schemas/core.schema.json,@/public/schemas/observability.schema.json,@/public/schemas/webhook.schema.json",
      "lines": 53,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schemas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,automation",
      "component_id": "e2140b0dc79ef047c7b7193e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3e1187c66cdb752d",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/receive/[endpointSlug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "logic",
      "categories": "backend,frontend,observability,automation",
      "component_id": "db9e81e4f700e8800ee2bb25",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b846abb567e064db",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/receive/[endpointSlug]/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "cfae87ceaed9db085010803f",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response | backend-score:125 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4cc81b1872f58bdc",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "3e551d891b810bbc2e6d2c78",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "183b0e4ec60dd3c5",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/feeds/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "c7d889e260c2c8b40b4c3d4f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreateReplaySchema, GET, POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, @/lib/webhooklab/store, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "CreateReplaySchema,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b0c1692b1305dac",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,@/lib/webhooklab/store,next/server,zod",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/replays/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "8b193e4e9b501aa0fa6cca25",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/neon/schema, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0708899cce31713a",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/neon/schema,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/replays/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "a2bd48bc891722b642696003",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6112097098ca3e2",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemaps/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "782613f6d4a0b0f7f522ba55",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/api/response | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "80ff2e47a6c93920",
      "framework": "next-react",
      "imports": "@/lib/api/response",
      "lines": 3,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/templates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,backend,observability,security,automation",
      "component_id": "fc72a46c52c8443d63f641e0",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "next,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, next/server, vitest | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "55a2d8fdd678c388",
      "framework": "next-react",
      "imports": "./route,next/server,vitest",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "cf809c7554ac64e9b2a10cf9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreateEventSchema, GET, POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server, zod | backend-score:160 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "CreateEventSchema,GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1f69a8b035d4bd54",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server,zod",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "14bea17a7c3704239ea4eaff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ba62bbe769053ebe",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/events/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "486a14de3c3d9a4b73cb5258",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1082f97833543a11",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/sheets/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,process",
      "component_id": "b59fe0f4467b69b6c3b9ea87",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | process-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "00bdc73eb19fb6df",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "928875713d9908b790d0df2e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1aee7b768f26b8c0",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/reports/decks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,automation",
      "component_id": "c24f7e67a9735b429d0355b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e07256c40fbb5ea9",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deliveries/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,frontend,automation",
      "component_id": "d1c9eb090905b90a72916010",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b4b830fc292e67ac",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deliveries/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "045e5d2b981c86109db014fe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1578912b6d5a12e8",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deliveries/[id]/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,frontend,automation",
      "component_id": "531484a5f26f3e8f9e02f1da",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "525cf1d1abc4b5f3",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deliveries/[id]/attempts/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "42df552a2f4cea144b27f1ae",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/request-context, @/lib/api/response, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "40d439c3c481d3c6",
      "framework": "next-react",
      "imports": "@/lib/api/request-context,@/lib/api/response,@/lib/webhooklab/store,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/deliveries/[id]/replay/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "e2ab5c97e12b39cfdf0b9a12",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3dfc71aac3842ea0",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "adb2610d852fe5b0da486b76",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/api/response, @/lib/discovery/network-manifest, @/lib/mcp/tools, @/lib/neon/schema | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ee7125b68bf63e41",
      "framework": "next-react",
      "imports": "@/lib/api/response,@/lib/discovery/network-manifest,@/lib/mcp/tools,@/lib/neon/schema",
      "lines": 86,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,ai",
      "component_id": "4ba67aed0f4413f3c5269d18",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "05de2a8e14b15082",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "dc91518969f52b1ab034c570",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MCP_VERSION, POST | imports:@/lib/cosmic/cuid, @/lib/mcp/executor, @/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/tools | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET,MCP_VERSION,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f8450dcc74b6cb26",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/mcp/executor,@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/tools",
      "lines": 148,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,discovery,process",
      "component_id": "1dadc222535063d4558c49ac",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b3760adb9a16dfb8",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation",
      "component_id": "b30ecb065a70c0025e552805",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a8d4736a829dc161",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "6b85c302a8df4800ddce2399",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api/auth, @/lib/api/response, @/lib/cosmic/signatures, @/lib/webhooklab/store, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f7b3827ce052fd8",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,@/lib/cosmic/signatures,@/lib/webhooklab/store,next/server",
      "lines": 113,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "39bd7cd111b0825b77b87c50",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOMAIN, GET | backend-score:125 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "DOMAIN,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a0c8e910ee4aa80f",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery,automation",
      "component_id": "a4565da18eda8f7583e3250f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "452ccb880d2bd977",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "591c27a6ac1460a84dd5a0d4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:LabLayout | imports:next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "LabLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7265bd3953fcb76b",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(lab)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "64618dbf83a11fbfdec3800a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:LabPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "LabPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d1d83e4cb2766cb",
      "framework": "next-react",
      "imports": "react",
      "lines": 258,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(lab)/lab/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a5afa292f496b0e27c4764f1",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71eefb8520828f41",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(lab)/lab/endpoints/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "b331e8e08c09f104b7ec077b",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71eefb8520828f41",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(lab)/lab/contracts/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "fc84bd68dc83b4d5988a7b8f",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71eefb8520828f41",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(lab)/lab/replays/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "1c19968133598e65b468808e",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71eefb8520828f41",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(lab)/lab/events/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,discovery,automation",
      "component_id": "67697c88636d0ffa6d14b048",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOMAIN, GET | backend-score:125 | observability-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "DOMAIN,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d3dd9cd4370344d5",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/robots.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "9ebc4c0315d1c20cc0018e37",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/mcp/prompts, @/lib/mcp/resources, @/lib/mcp/tools, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "49f2aaecf44a7672",
      "framework": "next-react",
      "imports": "@/lib/mcp/prompts,@/lib/mcp/resources,@/lib/mcp/tools,next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "b7e89e2a1ea31a14ebeed4e2",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d03c7083ea44af26",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "b032dfcbcbe226834f72b33d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardNav | imports:next/link, next/navigation | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "DashboardNav",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b8a9f693550bd94a",
      "framework": "next-react",
      "imports": "next/link,next/navigation",
      "lines": 46,
      "logic_relevance": "none",
      "name": "dashboard-nav",
      "normalized_name": "dashboard-nav",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "d529559b840db1ba613390fa",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:./dashboard-nav, next/link, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "63254a40958c2ff1",
      "framework": "next-react",
      "imports": "./dashboard-nav,next/link,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "caa9beb702e4c526e1238567",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:next/link, swr | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7566b7a3aaac30eb",
      "framework": "next-react",
      "imports": "next/link,swr",
      "lines": 119,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "1c9da9ed05b4c221ace204ef",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a016846b22ca2e72",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f9e98aaec1180d7190fb6d5e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EndpointsPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EndpointsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6eaffc7058c7ec6",
      "framework": "next-react",
      "imports": "react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/endpoints/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "33609c1f2ef0062fb7c67959",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContractsPage | imports:react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "ContractsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6b39e22a6e7f7f65",
      "framework": "next-react",
      "imports": "react",
      "lines": 136,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/contracts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "bc7a6654748ad4bf4e6bda8b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiKeysPage | imports:react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ApiKeysPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05fe676dd2a7ac70",
      "framework": "next-react",
      "imports": "react",
      "lines": 132,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/api-keys/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "1ae83fd19e0ed585709ab764",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a016846b22ca2e72",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/usage/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "383cf931540c89be4aeb39f8",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | frontend-score:85 | ui-score:55",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a016846b22ca2e72",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/replays/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "eec2dfa4196164a5341f62e0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,react,swr",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsPage | imports:next/link, react, swr | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EventsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "00b2457152288dc6",
      "framework": "next-react",
      "imports": "next/link,react,swr",
      "lines": 82,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "25fbbe55621d67a3de032b61",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "crypto,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WebhooksPage | imports:crypto, react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "WebhooksPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8edf9a77d3813218",
      "framework": "next-react",
      "imports": "crypto,react",
      "lines": 149,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/(dashboard)/dashboard/webhooks/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "3f0d151afdc4a7193ad365cb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bd5c66b2a6ab4e47",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 54,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "26ef31a92f5afd93b142a444",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./footer, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "64a0aec60f8da94a",
      "framework": "next-react",
      "imports": "./footer,@testing-library/react,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "footer.test",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "37bd6f3191192671a2473639",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./top-bar, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d80d1eb2dc42205",
      "framework": "next-react",
      "imports": "./top-bar,@testing-library/react,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "top-bar.test",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "3b7da4ef8865a4a4abaebd73",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TopBar | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "TopBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7ab4416cb0ffec95",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 42,
      "logic_relevance": "none",
      "name": "top-bar",
      "normalized_name": "top-bar",
      "package_manager": "pnpm",
      "path": "components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,discovery,automation",
      "component_id": "d7fa083cd9f8a550fcdb75d7",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "308608d3bb8e7678",
      "framework": "next-react",
      "imports": "",
      "lines": 229,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "b96d917a25434436dffc1775",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "24eb27e466e9dc6b",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "4d356d9b60612c7bdda2bd7f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f812e2fc208a092b",
      "framework": "next-react",
      "imports": "",
      "lines": 180,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "1f77b623e23f37c40dec0417",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2718f068ae01c287",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "320fbad2a5d3a6dc2d7878ac",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "51184d18f9054d05",
      "framework": "next-react",
      "imports": "",
      "lines": 185,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,backend,integration,observability,security,automation",
      "component_id": "373775ba2815e934927c7732",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b7e6b1a2dce17764",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "primary",
      "name": "webhook.schema",
      "normalized_name": "webhook-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/webhook.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "600a3d1403b796a79a7e88d0",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "19b3d16d98e425f7",
      "framework": "next-react",
      "imports": "",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "5b64aa1cc86cd5112a684009",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fcf284f27ffdb742",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,logic,backend,observability,automation",
      "component_id": "79d51427402fa3bfc21881bf",
      "component_kind": "agent",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "2e6cca8248372854",
      "framework": "next-react",
      "imports": "",
      "lines": 149,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery,automation,ai",
      "component_id": "7d6760f9d2ee8b3f58bd53dd",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f098309dc510518f",
      "framework": "next-react",
      "imports": "",
      "lines": 358,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/schemas/openapi.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "eecf90cd1e81cc383fe1b37e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0366094fbd9b15a4",
      "framework": "next-react",
      "imports": "",
      "lines": 135,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "0e6a9428eedf9dac267a9350",
      "component_kind": "ai-eval",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "21c9f51ff3e74176",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,observability",
      "component_id": "c80a4bbb0a401869b01b62aa",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "3473e59556f21f88",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "producthunt_test",
      "normalized_name": "producthunt-test",
      "package_manager": "pnpm",
      "path": ".Jules/producthunt_test.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "72291e1d6b4d3f39f86a6688",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3564225b944c71a4",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "process,security,automation",
      "component_id": "4e18d19218f13de107759d93",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e92573263f89d6f7",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "1e793907a3efa45c4ad30b26",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:EMPTY_ARRAY | process-score:65 | observability-score:55",
      "exports": "EMPTY_ARRAY",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f288dc8ea1f99e91",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "logic,automation",
      "component_id": "4321668495127d9911cbbd95",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./universal-schemas, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4a64927c860569e6",
      "framework": "next-react",
      "imports": "./universal-schemas,vitest",
      "lines": 40,
      "logic_relevance": "primary",
      "name": "universal-schemas.test",
      "normalized_name": "universal-schemas",
      "package_manager": "pnpm",
      "path": "lib/universal-schemas.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c762dc13c07aaeccb6b55369",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BaseItemSchema, CommonPolicyProfile, FqId, GraphUri, IdInteger, NamespaceSchema, RealmSchema, Slug | imports:zod | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BaseItemSchema,CommonPolicyProfile,FqId,GraphUri,IdInteger,NamespaceSchema,RealmSchema,Slug,Tags,Timestamp,UniverseSchema,Url,WebhookDeliverySchema,WebhookEndpointSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4c0acc00f80f5a8e",
      "framework": "next-react",
      "imports": "zod",
      "lines": 174,
      "logic_relevance": "primary",
      "name": "universal-schemas",
      "normalized_name": "universal-schemas",
      "package_manager": "pnpm",
      "path": "lib/universal-schemas.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "99999b4e4df6b8a2c90124f6",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_TIMEOUT_MS, MIN_TIMEOUT_MS | imports:@/lib/api/ssrf, @/lib/cosmic/cuid, @/lib/cosmic/signatures, @/lib/neon/schema | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DEFAULT_TIMEOUT_MS,MIN_TIMEOUT_MS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "766d1691ec6ba06b",
      "framework": "next-react",
      "imports": "@/lib/api/ssrf,@/lib/cosmic/cuid,@/lib/cosmic/signatures,@/lib/neon/schema",
      "lines": 410,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "lib/webhooklab/store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "b3807f22fbf3f3d105795c0b",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./policy, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5100065b99212372",
      "framework": "next-react",
      "imports": "./policy,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "policy.test",
      "normalized_name": "policy",
      "package_manager": "pnpm",
      "path": "lib/config/policy.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "b9a2d3f1b7c16351bd92775f",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./env, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2e39bd386a6fb524",
      "framework": "next-react",
      "imports": "./env,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "env.test",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/config/env.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "52dfe4131ae3c9e1498b444d",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./service, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b631a9ec1dbae5c9",
      "framework": "next-react",
      "imports": "./service,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "service.test",
      "normalized_name": "service",
      "package_manager": "pnpm",
      "path": "lib/config/service.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "0ca8333f89f815e2ece5dd4b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_HEADERS, isAllowedOrigin | imports:@/lib/config/service | logic-score:60",
      "exports": "DEFAULT_HEADERS,isAllowedOrigin",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a03a8e177ba7256e",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "policy",
      "normalized_name": "policy",
      "package_manager": "pnpm",
      "path": "lib/config/policy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "284889b3a32befff63da9dab",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ENV | imports:zod | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ENV",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "55dda991d2aa21e3",
      "framework": "next-react",
      "imports": "zod",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/config/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "1ad07bd0895342255095e1e2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SERVICE_CONFIG, ServiceConfig | logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SERVICE_CONFIG,ServiceConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b66dd3cc70d1828",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "service",
      "normalized_name": "service",
      "package_manager": "pnpm",
      "path": "lib/config/service.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "logic,security",
      "component_id": "4f9d75f27927718b0ca6cf51",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./cuid, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "76434029e726948b",
      "framework": "next-react",
      "imports": "./cuid,vitest",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "cuid.test",
      "normalized_name": "cuid",
      "package_manager": "pnpm",
      "path": "lib/cosmic/cuid.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "55c945e1fa398d8d789d00a4",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./signatures, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7e4411d571f51dc1",
      "framework": "next-react",
      "imports": "./signatures,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "signatures.test",
      "normalized_name": "signatures",
      "package_manager": "pnpm",
      "path": "lib/cosmic/signatures.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "560b8977e24ad5e817b917b9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SignatureOptions, SigningAlgorithm, formatSignatureHeader, generateSignature, generateVercelSignature, verifySignature, verifyVercelSignature | imports:crypto | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "SignatureOptions,SigningAlgorithm,formatSignatureHeader,generateSignature,generateVercelSignature,verifySignature,verifyVercelSignature",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f679c7e9cc79e0ae",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 103,
      "logic_relevance": "primary",
      "name": "signatures",
      "normalized_name": "signatures",
      "package_manager": "pnpm",
      "path": "lib/cosmic/signatures.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "19fe4a697f244c549b1a4d28",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:generateApiKey, hashApiKey, hashSecret | imports:@/lib/config/env, crypto | logic-score:60 | security-score:55",
      "exports": "generateApiKey,hashApiKey,hashSecret",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "74b06f3e2d5afa3f",
      "framework": "next-react",
      "imports": "@/lib/config/env,crypto",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "key-generator",
      "normalized_name": "key-generator",
      "package_manager": "pnpm",
      "path": "lib/cosmic/key-generator.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "d01b0c686af3826da5ad7739",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./claws-client, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8066d18784952e7a",
      "framework": "next-react",
      "imports": "./claws-client,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "claws-client.test",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/claws-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,security,automation",
      "component_id": "bb26c8596398b54d4bce2841",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./fingerprint, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c3019e91257dcdbc",
      "framework": "next-react",
      "imports": "./fingerprint,vitest",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "fingerprint.test",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/cosmic/fingerprint.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "1891140ea91108361908206a",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b2140be5a04f54d",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "trace-client",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/trace-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "f0c551db38854d897fc867f1",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./trace-client, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "989b6ad60cbe2dde",
      "framework": "next-react",
      "imports": "./trace-client,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "trace-client.test",
      "normalized_name": "trace-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/trace-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "logic,security,automation",
      "component_id": "0108cb73d353098c7f734780",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "next",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:next/headers | logic-score:60 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b31ee4b961e3c44a",
      "framework": "next-react",
      "imports": "next/headers",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "fingerprint",
      "normalized_name": "fingerprint",
      "package_manager": "pnpm",
      "path": "lib/cosmic/fingerprint.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "logic,security",
      "component_id": "ec867a399b9a5c31b8a6c46c",
      "component_kind": "business-logic",
      "confidence": 95,
      "dependency_roots": "crypto",
      "description": "Logic component for security; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createCosmicId | imports:crypto | logic-score:60 | security-score:55",
      "exports": "createCosmicId",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f990e46e6d73904c",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "cuid",
      "normalized_name": "cuid",
      "package_manager": "pnpm",
      "path": "lib/cosmic/cuid.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "f2e579918ba94ad76b2618e9",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/config/env | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7284b904b32d2ef",
      "framework": "next-react",
      "imports": "@/lib/config/env",
      "lines": 10,
      "logic_relevance": "primary",
      "name": "claws-client",
      "normalized_name": "claws-client",
      "package_manager": "pnpm",
      "path": "lib/cosmic/claws-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,security",
      "component_id": "1585b1097bfeb1256864f177",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./key-generator, vitest | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "502e681fc3ec73cd",
      "framework": "next-react",
      "imports": "./key-generator,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "key-generator.test",
      "normalized_name": "key-generator",
      "package_manager": "pnpm",
      "path": "lib/cosmic/key-generator.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "450f8502999fc33e3a5c27d0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildNetworkManifest | imports:@/lib/config/service | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "buildNetworkManifest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47f620deb7508201",
      "framework": "next-react",
      "imports": "@/lib/config/service",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "network-manifest",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "lib/discovery/network-manifest.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "29b3fe11642b8d1a3634dc87",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./network-manifest, vitest | logic-score:60 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7930b260b6156c2b",
      "framework": "next-react",
      "imports": "./network-manifest,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "network-manifest.test",
      "normalized_name": "network-manifest",
      "package_manager": "pnpm",
      "path": "lib/discovery/network-manifest.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,observability,automation",
      "component_id": "03f56e5e476c3e95e75f4359",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./executor, vitest | logic-score:85 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6200eca93d5e54d1",
      "framework": "next-react",
      "imports": "./executor,vitest",
      "lines": 37,
      "logic_relevance": "primary",
      "name": "executor.test",
      "normalized_name": "executor",
      "package_manager": "pnpm",
      "path": "lib/mcp/executor.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "211a270807f395180e68eca6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ToolExecutionResult | imports:@/lib/api/auth, @/lib/cosmic/cuid, @/lib/cosmic/signatures, @/lib/neon/schema, @/lib/webhooklab/store | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ToolExecutionResult",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5d3964b6727d56c5",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/cosmic/cuid,@/lib/cosmic/signatures,@/lib/neon/schema,@/lib/webhooklab/store",
      "lines": 215,
      "logic_relevance": "primary",
      "name": "executor",
      "normalized_name": "executor",
      "package_manager": "pnpm",
      "path": "lib/mcp/executor.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,automation",
      "component_id": "0895b0c6ad50139f5f5dbb72",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPResourceDefinition, MCP_RESOURCES, MCP_RESOURCE_URIS | logic-score:85 | integration-score:55 | automation-score:45",
      "exports": "MCPResourceDefinition,MCP_RESOURCES,MCP_RESOURCE_URIS",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2221ebaebd1f3669",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "resources",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "9297561d800af9fde6e85160",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./resources, vitest | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ad2a2f676344a19d",
      "framework": "next-react",
      "imports": "./resources,vitest",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "resources.test",
      "normalized_name": "resources",
      "package_manager": "pnpm",
      "path": "lib/mcp/resources.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,integration,automation",
      "component_id": "2b8e71905b0c3ebe649f55dc",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:MCPPromptDefinition, MCP_PROMPTS, MCP_PROMPT_NAMES | ai-score:120 | logic-score:85 | integration-score:55 | automation-score:45",
      "exports": "MCPPromptDefinition,MCP_PROMPTS,MCP_PROMPT_NAMES",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c32b700b79433aee",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "prompts",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,logic,integration",
      "component_id": "cd184725e6963c271d5025b4",
      "component_kind": "prompt-template",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./prompts, vitest | ai-score:120 | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f7fdc871c288f195",
      "framework": "next-react",
      "imports": "./prompts,vitest",
      "lines": 30,
      "logic_relevance": "secondary",
      "name": "prompts.test",
      "normalized_name": "prompts",
      "package_manager": "pnpm",
      "path": "lib/mcp/prompts.test.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "a288dbe84ae173faf7f22b6e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPToolDefinition, MCP_TOOLS, MCP_TOOL_NAMES | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "MCPToolDefinition,MCP_TOOLS,MCP_TOOL_NAMES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d4ec65e15fb8a849",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "tools",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,integration",
      "component_id": "a4ce78dcf5447840e1483141",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./tools, vitest | logic-score:85 | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ec1ecd025f0932b6",
      "framework": "next-react",
      "imports": "./tools,vitest",
      "lines": 27,
      "logic_relevance": "primary",
      "name": "tools.test",
      "normalized_name": "tools",
      "package_manager": "pnpm",
      "path": "lib/mcp/tools.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "4b09af4e0b6c8fa71bb55ae5",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PhPost | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "PhPost",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2eb98d38ce1ba382",
      "framework": "next-react",
      "imports": "",
      "lines": 129,
      "logic_relevance": "primary",
      "name": "producthunt",
      "normalized_name": "producthunt",
      "package_manager": "pnpm",
      "path": "lib/integrations/producthunt.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,observability,security",
      "component_id": "f7301bd676c67c58618c5be8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./producthunt, vitest | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cd49b21164ebceaf",
      "framework": "next-react",
      "imports": "./producthunt,vitest",
      "lines": 136,
      "logic_relevance": "primary",
      "name": "producthunt.test",
      "normalized_name": "producthunt",
      "package_manager": "pnpm",
      "path": "lib/integrations/producthunt.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "095e4d2af1e84a1a6953eef7",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiKey, AuditLog, Contract, ContractTest, DbClient, Event, Tenant, User | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ApiKey,AuditLog,Contract,ContractTest,DbClient,Event,Tenant,User,WebhookDelivery,WebhookEndpoint,WebhookTemplate,getPool,tables",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4390f12fe19dd328",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 225,
      "logic_relevance": "secondary",
      "name": "schema",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/neon/schema.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "88e42a2cdc8c42ad7104a6f8",
      "component_kind": "schema-validation",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Pool | imports:./schema, vitest | logic-score:85 | backend-score:55",
      "exports": "Pool",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9421fbeea325a219",
      "framework": "next-react",
      "imports": "./schema,vitest",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "schema.test",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "lib/neon/schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "1a120e1cee252bb6ec4fea38",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./correlation, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "29807091f351723c",
      "framework": "next-react",
      "imports": "./correlation,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "correlation.test",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/api/correlation.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "7f329dd74539b07101709b77",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./errors, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c6a1494b72308916",
      "framework": "next-react",
      "imports": "./errors,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "errors.test",
      "normalized_name": "errors",
      "package_manager": "pnpm",
      "path": "lib/api/errors.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "83f25a49f1c43a5ae2695da9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/cosmic/cuid, @/lib/cosmic/fingerprint | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d1f7f1b116f4a1fc",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid,@/lib/cosmic/fingerprint",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "correlation",
      "normalized_name": "correlation",
      "package_manager": "pnpm",
      "path": "lib/api/correlation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "e9c4d74617b0750f568b980c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIError, Errors | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "APIError,Errors",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "08718cec57346fbf",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "primary",
      "name": "errors",
      "normalized_name": "errors",
      "package_manager": "pnpm",
      "path": "lib/api/errors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "logic,backend,automation",
      "component_id": "bcb55e80434311b220d43388",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateWebhookUrl | logic-score:85 | backend-score:55 | automation-score:45",
      "exports": "validateWebhookUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d90508d655364544",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "ssrf",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "lib/api/ssrf.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "logic,backend,automation",
      "component_id": "1825d09ab55fbe3cc18f9fcb",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./ssrf, vitest | logic-score:85 | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f2ba4ba392d20a5",
      "framework": "next-react",
      "imports": "./ssrf,vitest",
      "lines": 72,
      "logic_relevance": "primary",
      "name": "ssrf.test",
      "normalized_name": "ssrf",
      "package_manager": "pnpm",
      "path": "lib/api/ssrf.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,backend",
      "component_id": "c63ae66d083aa67abd7a98dc",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./response, vitest | logic-score:60 | backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54776321d9ce1900",
      "framework": "next-react",
      "imports": "./response,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "response.test",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security",
      "component_id": "c1a941d81eac8884f68494b7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:APIResponse, ErrorCodes, apiCreated, apiError, apiList, apiOk | imports:@/lib/cosmic/cuid | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "APIResponse,ErrorCodes,apiCreated,apiError,apiList,apiOk",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "618ab20a25d2c789",
      "framework": "next-react",
      "imports": "@/lib/cosmic/cuid",
      "lines": 134,
      "logic_relevance": "primary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "a45ff627b8bfed17bfb0e06c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RequestContext, getRequestContext, requireProtectedContext | imports:@/lib/api/auth, @/lib/api/response, next/server | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "RequestContext,getRequestContext,requireProtectedContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "505a55b6c849bda2",
      "framework": "next-react",
      "imports": "@/lib/api/auth,@/lib/api/response,next/server",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "request-context",
      "normalized_name": "request-context",
      "package_manager": "pnpm",
      "path": "lib/api/request-context.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "1e22912844e6a647a410423d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:extractPlatformApiKey, getConfiguredPlatformApiKey, getDefaultTenantId, hasPlatformApiKey, isValidPlatformApiKey | imports:crypto | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "extractPlatformApiKey,getConfiguredPlatformApiKey,getDefaultTenantId,hasPlatformApiKey,isValidPlatformApiKey",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1e740dbed7833fc",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/api/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "d5f6a4f8da78268e68d526e8",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_LOCALE, SUPPORTED_LOCALES | logic-score:45",
      "exports": "DEFAULT_LOCALE,SUPPORTED_LOCALES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b3e52f8910894f45",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/standards/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,discovery",
      "component_id": "214a09599d4ddc536688eb7a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./metadata, vitest | logic-score:60 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e9b642d8dcef89e8",
      "framework": "next-react",
      "imports": "./metadata,vitest",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "metadata.test",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/standards/metadata.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "logic,discovery,automation",
      "component_id": "7954471e601dca072792a211",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:siteMetadata | imports:@/lib/config/service, next | logic-score:70 | discovery-score:55 | automation-score:45",
      "exports": "siteMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c82f7287b49298e1",
      "framework": "next-react",
      "imports": "@/lib/config/service,next",
      "lines": 19,
      "logic_relevance": "primary",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "pnpm",
      "path": "lib/standards/metadata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "cbf6c911ca6858d3f4d2bca7",
      "component_kind": "business-logic",
      "confidence": 70,
      "dependency_roots": "vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./i18n, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8a13c2ded4e03588",
      "framework": "next-react",
      "imports": "./i18n,vitest",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/standards/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-webhook-simulator",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "911aa19f8215f37b0289f7ce",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@/lib,fs,next,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TelemetryProvider | imports:@/lib/telemetry, fs, next/navigation, react | observability-score:55",
      "exports": "TelemetryProvider",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e484bf54bf078724",
      "framework": "next-react",
      "imports": "@/lib/telemetry,fs,next/navigation,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "fix-telemetry-provider",
      "normalized_name": "fix-telemetry-provider",
      "package_manager": "pnpm",
      "path": "fix-telemetry-provider.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "41be263c18bc6d5619379ecc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25ed8fed3e965b48",
      "framework": "next-react",
      "imports": "",
      "lines": 6321,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "70454cefeeea9c82ed0d0357",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41d86590aa4f66df",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 77,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "c0be964a784c7efb73ca33be",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "fs",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:fs | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5346e09916781bfd",
      "framework": "next-react",
      "imports": "fs",
      "lines": 10,
      "logic_relevance": "none",
      "name": "patch",
      "normalized_name": "patch",
      "package_manager": "pnpm",
      "path": "patch.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "1a061fa05b2c84e738d9b5e1",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "044e606360951c90",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,backend,observability,security,automation",
      "component_id": "5e6d75fb9df345cb5a41005e",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "fs,next,path",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:fs, fs/promises, next/server, path | ai-score:75 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "29b41d0c9bcd65c5",
      "framework": "next-react",
      "imports": "fs,fs/promises,next/server,path",
      "lines": 40,
      "logic_relevance": "none",
      "name": "patch_llm_txt",
      "normalized_name": "patch-llm-txt",
      "package_manager": "pnpm",
      "path": "patch_llm_txt.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "78350851c5fd263c4560d06f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/feature-flags, fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b74327d66c8bcd6",
      "framework": "next-react",
      "imports": "@/lib/feature-flags,fs",
      "lines": 15,
      "logic_relevance": "none",
      "name": "add-import",
      "normalized_name": "add-import",
      "package_manager": "pnpm",
      "path": "add-import.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "fffa7d60930bdb2d3e60d521",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "448e4e0e2e0a3c05",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "cef37210c5effcd7eccb920e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12f3a6c376f65453",
      "framework": "next-react",
      "imports": "",
      "lines": 7243,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ddef1828e667e48584597744",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "09c7fbaafb362990",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "28b4169f127fcbaa334fea15",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "00e7d5f4923cf419",
      "framework": "next-react",
      "imports": "",
      "lines": 267,
      "logic_relevance": "none",
      "name": "SEO-STRATEGY",
      "normalized_name": "seo-strategy",
      "package_manager": "pnpm",
      "path": "SEO-STRATEGY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "84392ef5afda9e608df7f78b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/feature-flags, fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "462b22edccc5d991",
      "framework": "next-react",
      "imports": "@/lib/feature-flags,fs",
      "lines": 14,
      "logic_relevance": "none",
      "name": "fix-import",
      "normalized_name": "fix-import",
      "package_manager": "pnpm",
      "path": "fix-import.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "416c54db5d96ec9edee4be5e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ad54215bbbfc35da",
      "framework": "next-react",
      "imports": "next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "4f673a9425a7d52ad4f6fd16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePageClient | imports:@/components/seo/social-share, @/components/seo/structured-data, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/feature-flags, @/lib/seo-config, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "HomePageClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec35585b6c3a36df",
      "framework": "next-react",
      "imports": "@/components/seo/social-share,@/components/seo/structured-data,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/feature-flags,@/lib/seo-config,lucide-react,next/image,next/link,react",
      "lines": 872,
      "logic_relevance": "none",
      "name": "home-client",
      "normalized_name": "home-client",
      "package_manager": "pnpm",
      "path": "app/home-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "a721361359ec7263a9e76f9e",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/feature-flags, @/lib/seo-config, fs/promises, next, path | frontend-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fc39eb9523c41da",
      "framework": "next-react",
      "imports": "@/lib/feature-flags,@/lib/seo-config,fs/promises,next,path",
      "lines": 39,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ec7da69dd694652c2ec3bfdb",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,geist,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/telemetry-provider, @/lib/seo-config, @vercel/analytics/next, geist/font/mono, geist/font/sans, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53bc96ca287e497e",
      "framework": "next-react",
      "imports": "@/components/telemetry-provider,@/lib/seo-config,@vercel/analytics/next,geist/font/mono,geist/font/sans,next,next/font/google,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "66bb4dc552199477c11a96da",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "04c7832cce3d42dc",
      "framework": "next-react",
      "imports": "next",
      "lines": 45,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "c39521e53b870a43177be93d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage, metadata | imports:./home-client | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "HomePage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69938b8f27b0d992",
      "framework": "next-react",
      "imports": "./home-client",
      "lines": 48,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,security",
      "component_id": "b7bf09a8ec42f38250cf51ed",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "908bbf8a32ff5c6e",
      "framework": "next-react",
      "imports": "",
      "lines": 263,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "1173eef14c25c1b5a01fae37",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/seo-config, fs/promises, next/server, path | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc4660feb0e5d05a",
      "framework": "next-react",
      "imports": "@/lib/seo-config,fs/promises,next/server,path",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b7f51d7bb2617644b2a7731c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ContactLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc29f448a03ab7bf",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 55,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/contact/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "56cd8b5e97e9e8d654c81c89",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:./contact-page-client, @/lib/seo-config, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6582010346b57d5",
      "framework": "next-react",
      "imports": "./contact-page-client,@/lib/seo-config,next",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "d52fca51a9907b13c78a2729",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPageClient | imports:@/components/seo/structured-data, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, @/lib/feature-flags | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "ContactPageClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0d17b95f14392ad2",
      "framework": "next-react",
      "imports": "@/components/seo/structured-data,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,@/lib/feature-flags,lucide-react,next/link,react",
      "lines": 365,
      "logic_relevance": "none",
      "name": "contact-page-client",
      "normalized_name": "contact-page-client",
      "package_manager": "pnpm",
      "path": "app/contact/contact-page-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability,security",
      "component_id": "972299e6c52c133c905312e2",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9bec60d193be5ccc",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/indexnow-key.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,observability",
      "component_id": "0babb3c92610264941ffc2d1",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c15d9c98212ac50e",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cb205a1ca3341be25f6bced1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookingClientPage | imports:@/app/actions/booking-actions, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BookingClientPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2eb1f244459eadab",
      "framework": "next-react",
      "imports": "@/app/actions/booking-actions,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,lucide-react,next/link,react",
      "lines": 676,
      "logic_relevance": "none",
      "name": "booking-client",
      "normalized_name": "booking-client",
      "package_manager": "pnpm",
      "path": "app/booking/booking-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "674cbc5f44bdd682801aa6a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookingLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BookingLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82a6ac53a2fd4889",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 54,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/booking/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "d7bbd40fbcfc85824f6ec517",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookingPage, metadata | imports:./booking-client, @/lib/seo-config, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "BookingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8f34b8759155935",
      "framework": "next-react",
      "imports": "./booking-client,@/lib/seo-config,next",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/booking/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c4f90a6742aae1efc243294f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookingSuccessClient | imports:@/app/actions/booking-actions, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BookingSuccessClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "771ca3403f18632c",
      "framework": "next-react",
      "imports": "@/app/actions/booking-actions,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,next/navigation,react",
      "lines": 188,
      "logic_relevance": "none",
      "name": "booking-success-client",
      "normalized_name": "booking-success-client",
      "package_manager": "pnpm",
      "path": "app/booking/success/booking-success-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "07b191e667650991f0f707b5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuccessLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "SuccessLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a7f629b26d2661e",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 31,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/booking/success/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "dd0833a1368f8a8638b29fad",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookingSuccessPage | imports:./booking-success-client, @/components/ui/card, react | frontend-score:115 | ui-score:70",
      "exports": "BookingSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "711620f6780775d0",
      "framework": "next-react",
      "imports": "./booking-success-client,@/components/ui/card,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/booking/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "81a28fdc40d3648e2e0ad20c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryClient | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GalleryClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb4f9c3d284b27ff",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link,react",
      "lines": 161,
      "logic_relevance": "none",
      "name": "gallery-client",
      "normalized_name": "gallery-client",
      "package_manager": "pnpm",
      "path": "app/gallery/gallery-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,security",
      "component_id": "6182b750f94e9bb1a4af78c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "GalleryLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db2c599e6c539c35",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 43,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/gallery/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "e6c0438a2868b4787ed9ac77",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryPage, metadata | imports:./gallery-client, @/lib/seo-config, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "GalleryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a33636b707a4d714",
      "framework": "next-react",
      "imports": "./gallery-client,@/lib/seo-config,next",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "1dc976eec2ab037b42e86d3a",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@neondatabase/serverless,stripe",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@neondatabase/serverless, stripe | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "77853b7a83f16ded",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,stripe",
      "lines": 129,
      "logic_relevance": "none",
      "name": "booking-actions",
      "normalized_name": "booking-actions",
      "package_manager": "pnpm",
      "path": "app/actions/booking-actions.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "2a20ce31cb186b1286dcaecd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:fs/promises, next/server, path | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c455476209eaa1ff",
      "framework": "next-react",
      "imports": "fs/promises,next/server,path",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "899eab695c616b7a599385b5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/seo-config, fs/promises, next/server, path | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "20755aa74b0f3baf",
      "framework": "next-react",
      "imports": "@/lib/seo-config,fs/promises,next/server,path",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend,frontend,security",
      "component_id": "90ad9a01ed4bc019b02128ca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/seo-config, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dc453f8b37b63f73",
      "framework": "next-react",
      "imports": "@/lib/seo-config,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "947d76efd77400a85c43e3ed",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/seo-config, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53418ed997ff5d6f",
      "framework": "next-react",
      "imports": "@/lib/seo-config,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,security",
      "component_id": "76b0375446f75458e8c2ce02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,fs,next,path",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/seo-config, fs/promises, next/server, path | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "901ceb734aebe954",
      "framework": "next-react",
      "imports": "@/lib/seo-config,fs/promises,next/server,path",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "adbbcd80683b9b4ea220dcbd",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:fs/promises, next/server, path | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "374c0622e454775e",
      "framework": "next-react",
      "imports": "fs/promises,next/server,path",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "760268e7d2d04b5e80b6a077",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsClientPage | imports:@/components/seo/structured-data, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/lib/feature-flags, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EventsClientPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a98023e5c8275bd",
      "framework": "next-react",
      "imports": "@/components/seo/structured-data,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/lib/feature-flags,lucide-react,next/image,next/link,next/navigation,react",
      "lines": 377,
      "logic_relevance": "none",
      "name": "events-client-page",
      "normalized_name": "events-client-page",
      "package_manager": "pnpm",
      "path": "app/events/events-client-page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "7b92f0499d6d31405f378b3f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "EventsLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "335109a1d1ca51fd",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 58,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/events/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "6ead37786fbd72ef38f3df91",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsPage, metadata | imports:./events-client-page, @/lib/seo-config, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "EventsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a599e38fa69b4c7",
      "framework": "next-react",
      "imports": "./events-client-page,@/lib/seo-config,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "ce1115083c82f973c3bb418a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:WrestlersLoading | imports:@/components/ui/card, @/components/ui/skeleton | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "WrestlersLoading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59bec50ee9c95e56",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/skeleton",
      "lines": 55,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/wrestlers/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ed2173460be066e5d5c70f43",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WrestlersClientPage | imports:@/components/seo/structured-data, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/lib/feature-flags, lucide-react, next/image | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WrestlersClientPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bfb86f8b85092b6c",
      "framework": "next-react",
      "imports": "@/components/seo/structured-data,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/lib/feature-flags,lucide-react,next/image,next/link,next/navigation,react",
      "lines": 488,
      "logic_relevance": "none",
      "name": "wrestlers-client",
      "normalized_name": "wrestlers-client",
      "package_manager": "pnpm",
      "path": "app/wrestlers/wrestlers-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "7e5fbc7c3ea13f836e5897c7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:WrestlersPage, metadata | imports:./wrestlers-client, @/lib/seo-config, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "WrestlersPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d03a6252607a883f",
      "framework": "next-react",
      "imports": "./wrestlers-client,@/lib/seo-config,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/wrestlers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9bbaa29ba52c976093a7f9f9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,fs,lucide-react,next,path",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatBar, WrestlerProfilePage | imports:@/components/ui/badge, @/lib/seo-config, fs/promises, lucide-react, next, next/image, path | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "StatBar,WrestlerProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33904aefe4a7c3dd",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/lib/seo-config,fs/promises,lucide-react,next,next/image,path",
      "lines": 226,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/wrestlers/[handle]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9562de40a748b1771a781a98",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JoinClientPage | imports:@/app/actions/wrestler-actions, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/telemetry, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "JoinClientPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1dfa38400b33d8eb",
      "framework": "next-react",
      "imports": "@/app/actions/wrestler-actions,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/telemetry,lucide-react,react",
      "lines": 198,
      "logic_relevance": "none",
      "name": "join-client",
      "normalized_name": "join-client",
      "package_manager": "pnpm",
      "path": "app/wrestlers/join/join-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "b898969d9cbfa61af50bce9a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JoinPage, metadata | imports:./join-client, @/lib/seo-config | frontend-score:85 | ui-score:55",
      "exports": "JoinPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d9f527f1adea6a3",
      "framework": "next-react",
      "imports": "./join-client,@/lib/seo-config",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/wrestlers/join/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d813cc9b813abb91b977318d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d616fde1da6c788",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "55f1386919e134faf3f7437f",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a8a7f2c3f18fe68b273cf4db",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TelemetryProvider | imports:@/lib/telemetry, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "TelemetryProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7381c3543b8a97bc",
      "framework": "next-react",
      "imports": "@/lib/telemetry,next/navigation,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "telemetry-provider",
      "normalized_name": "telemetry-provider",
      "package_manager": "pnpm",
      "path": "components/telemetry-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9f10f97e1a815e173e6ddd55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a9fb01ee721aa9161fa24959",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1fbd09c48bd398bf7973e29b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b757456a7e051fa3b064cec5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "06bbdaaed25861456b82c459",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "740c6cccf1dbb75b469ce432",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "058d816b3e2e884555fc55d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "2eebb5406860f5fdbae9b39b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2f3f355dc467db1dbe99e889",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbSchema, EventSchema, FAQSchema, OrganizationSchema, PersonSchema | imports:@/lib/seo-config | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BreadcrumbSchema,EventSchema,FAQSchema,OrganizationSchema,PersonSchema",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "860bf0bf2fa8ef58",
      "framework": "next-react",
      "imports": "@/lib/seo-config",
      "lines": 181,
      "logic_relevance": "none",
      "name": "structured-data",
      "normalized_name": "structured-data",
      "package_manager": "pnpm",
      "path": "components/seo/structured-data.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f24931bb34d37f55c81dd079",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialShare | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SocialShare",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da842657ff74e298",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "social-share",
      "normalized_name": "social-share",
      "package_manager": "pnpm",
      "path": "components/seo/social-share.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "4e51cc0b37ce628b54e504d7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SEOHead | imports:@/lib/seo-config, next/head | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SEOHead",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d75fe25aec853347",
      "framework": "next-react",
      "imports": "@/lib/seo-config,next/head",
      "lines": 92,
      "logic_relevance": "none",
      "name": "seo-head",
      "normalized_name": "seo-head",
      "package_manager": "pnpm",
      "path": "components/seo/seo-head.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "e500b515be398cd1ce0392fd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2387c8bf2c803c06",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "discovery",
      "component_id": "10d1df5b5381d859cffa3a01",
      "component_kind": "sitemap",
      "confidence": 65,
      "dependency_roots": "fs,vitest",
      "description": "Discovery component for ai; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "imports:../app/sitemap, fs/promises, vitest | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4bc33c725af82f72",
      "framework": "next-react",
      "imports": "../app/sitemap,fs/promises,vitest",
      "lines": 57,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "__tests__/sitemap.test.ts",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,discovery",
      "component_id": "bd79dce603f12a9843bb8585",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/.well-known/llms.txt/route, fs/promises, vitest | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1134d97ec1bfd631",
      "framework": "next-react",
      "imports": "../app/api/.well-known/llms.txt/route,fs/promises,vitest",
      "lines": 36,
      "logic_relevance": "none",
      "name": "llms.test",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "__tests__/llms.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,security,automation,ai",
      "component_id": "a117cf913371a6b3de7a2c3a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9c69cf2fe93f1b21",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "b72235c55883c36ea2640611",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FEATURE_FLAGS | logic-score:45",
      "exports": "FEATURE_FLAGS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "61142308ba2e23d0",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "primary",
      "name": "feature-flags",
      "normalized_name": "feature-flags",
      "package_manager": "pnpm",
      "path": "lib/feature-flags.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation",
      "component_id": "70fcf3b55ade3a478559157b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:callToActions, funFacts, pageMetadata, siteConfig, socialHashtags | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45",
      "exports": "callToActions,funFacts,pageMetadata,siteConfig,socialHashtags",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a313e74257c592fc",
      "framework": "next-react",
      "imports": "",
      "lines": 189,
      "logic_relevance": "secondary",
      "name": "seo-config",
      "normalized_name": "seo-config",
      "package_manager": "pnpm",
      "path": "lib/seo-config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "6e81db29049f210f186976a9",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,logic",
      "component_id": "d4d95488b6704396e544573d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b0897536022e7bcd",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "telemetry",
      "normalized_name": "telemetry",
      "package_manager": "pnpm",
      "path": "lib/telemetry.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "03b0b205376bb58540802f2b",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "fs,path",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Wrestler | imports:fs/promises, path | logic-score:85",
      "exports": "Wrestler",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "01d2a802774293b7",
      "framework": "next-react",
      "imports": "fs/promises,path",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "wrestlers",
      "normalized_name": "wrestlers",
      "package_manager": "pnpm",
      "path": "lib/actions/wrestlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "e2da026dc6e1db0a857fb00a",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e500e724246fb9d3",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "wrestlers",
      "normalized_name": "wrestlers",
      "package_manager": "pnpm",
      "path": "lib/data/wrestlers.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "67165cdb79abca094465cb14",
      "component_kind": "business-logic",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d3b876c24a70191a",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "primary",
      "name": "wrestlers",
      "normalized_name": "wrestlers",
      "package_manager": "pnpm",
      "path": "lib/data/wrestlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-wrestling-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c286d2098c705353204c5f4a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf703363fb1a5e71",
      "framework": "next-react",
      "imports": "",
      "lines": 7722,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "19d19d4fd50ce24232c1a813",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05c2dbd562b39bbf",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "7ff526ef79cc4dff2217992e",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "78fc22eeb6c6e55b",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "process,security,ai",
      "component_id": "13b851ae25f65c09a10d1749",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for mcp; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "de50330d0daed3de",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "96af591deb9e76d2af683911",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f3cb34bb65a184aa",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a94a9f6e5daabd1500ed9d49",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f67b95aa85a60cc1",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 16,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "b43bf286255f405bab4535ef",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4b1edff6df2648e8",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "ce5d9f97aaf1ee3bd91ddd85",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/discovery, next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b1a7e2d18806f5d",
      "framework": "next-react",
      "imports": "@/lib/discovery,next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "91c0599d2a12f7ff62cc0bc0",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1293904e30b708bc",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/next,next,next/font/google",
      "lines": 117,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cbdecc679305d78cf5338737",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/i18n-provider, @/components/ui/sonner, @/components/xml-viewer/header, @/components/xml-viewer/xml-viewer, @/lib/structured-data, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2667badaf43ed1cb",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/ui/sonner,@/components/xml-viewer/header,@/components/xml-viewer/xml-viewer,@/lib/structured-data,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "33d721262aafaa3b1bc276fc",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ce3691aa113aeae6",
      "framework": "next-react",
      "imports": "",
      "lines": 254,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "1f979597a12b8ab2bbf68a6b",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1907ffbcf87a8175",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "bfc164b81e58f0269a8fffa0",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "225c391163aba8a8",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "b5bfe75c8e77f5bad57c0192",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "59229d67cd278db9",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "480576976f7f1bd13c6576fe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fda29d99f17b8c8f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/favicon.ico/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "8a1f4de23f405926c6daaab2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/navigation/breadcrumbs, @/lib/platform-config, @/lib/structured-data, next, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "642ee269f110733f",
      "framework": "next-react",
      "imports": "@/components/navigation/breadcrumbs,@/lib/platform-config,@/lib/structured-data,next,next/link",
      "lines": 84,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "2b55971967461269684f8e40",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/discovery, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "eaa3fd9c3273c3ef",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/trust.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "0d41cc21253db8d684e0ffce",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/llms.txt/route | backend-score:55 | discovery-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c787903ed3bf5f0d",
      "framework": "next-react",
      "imports": "@/app/llms.txt/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend",
      "component_id": "059a1efd51ed09c83f7f12aa",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery, @/lib/platform-config | backend-score:125 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c92e1efd9523f1c",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery,@/lib/platform-config",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/platphorm.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend",
      "component_id": "6151db966f9a56576fb914d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-config, next/server | backend-score:125 | ai-score:75 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e427e1876156be4",
      "framework": "next-react",
      "imports": "@/lib/platform-config,next/server",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/agents.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "7c7781e6de38758bb65d0908",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/llms-full.txt/route | backend-score:55 | discovery-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b2efedd794eea175",
      "framework": "next-react",
      "imports": "@/app/llms-full.txt/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "fdb670d9973ab37e5fd44d44",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/platform-config | backend-score:125 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "29da76febdd32879",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/platform-config",
      "lines": 12,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "ca32e66b27f1e4afc285ffc9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-config, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0befc7572d136155",
      "framework": "next-react",
      "imports": "@/lib/platform-config,next/server",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "74c4d21c919bb67e8ef614f1",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/app",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, runtime | imports:@/app/llms-index.json/route | backend-score:55 | discovery-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "417a35342705a4a4",
      "framework": "next-react",
      "imports": "@/app/llms-index.json/route",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration",
      "component_id": "1edfb9e7f55bebbdd52095f5",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/mcp-server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "522747e8d6207183",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "6ac9b07daaec89e128ad19b4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "97dd125ac092a03f",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "ac224cbed6212729a363931d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2cd69e5138a6c702",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-index.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "b1fc19944dd4edcc65323ee2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3c26dd12abb7a88f",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/minify/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "fa66557287c582faf0e09ec6",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ffa44b4c8c432ad1",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "9bf9d92f75564303d8418b46",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "73f59eabefacc3fa",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/xpath/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "0bb3a671cf85a5d05053edc7",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8de30560c1703f33",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/atom/inspect/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0721eb7c8cc2a3a9ba7b8e72",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5417eccb1628872",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "22b307f17b324a459ad4fddd",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f82addf14fff94e9",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/parse/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a581e24432e0c1216e5ae84b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/platform-config, @/lib/trace, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e169b5be60b40e13",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/platform-config,@/lib/trace,next/server",
      "lines": 65,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/network/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "faaef56ae41908a0f675c466",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f6098b51c608bf35",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/rss/inspect/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "ce4a9a5e61ff1dcf0a3e9b32",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e049d6ae217e246",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/sitemap/inspect/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "0243b9ac8e8f066d9939743c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/mcp-server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "091c74aa636821d7",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic",
      "component_id": "1667fd44fe2a17f79d7b800c",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers | backend-score:125 | logic-score:85 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fdeea9da85fbcce3",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schemas/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic",
      "component_id": "ced77e28454cb93f74efd4c4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers | backend-score:125 | logic-score:85 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "79a496d23e4c6164",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers",
      "lines": 8,
      "logic_relevance": "secondary",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/schemas/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "e9ec97052b4486ccde261b21",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2cd41d4d53523eeb",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/format/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend",
      "component_id": "b202572e4fa1cb4297ced4db",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "18441d7bddeaf36f",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/xsd/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "dda6791ce183be1e1e2c3fc8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8979763f822326a7",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "db9f976772f1239dd891a1e3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f630d15a03cd900b",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/convert/json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "a6c3c981c11c031389b4a6db",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/xml-api-handlers, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4fde7be7174513cc",
      "framework": "next-react",
      "imports": "@/lib/xml-api-handlers,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/convert/yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "2677e3d73a51d7bc2b3ffcf4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5417eccb1628872",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "57d87981fbf0513b7fad486d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/mcp-server, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "70e1c3e99c84f3d0",
      "framework": "next-react",
      "imports": "@/lib/mcp-server,next/server",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,process,observability,security,discovery",
      "component_id": "85a23ac6c11678a379137473",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/platform-config | backend-score:125 | process-score:80 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4d81889a5e70e5a6",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/platform-config",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,observability,security",
      "component_id": "b75cfead45d6d2104f39102c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/auth, @/lib/discovery, @/lib/trace, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler | cron-or-schedule",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d64bcc6748682069",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/auth,@/lib/discovery,@/lib/trace,next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cron/refresh/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "af588ba661c307b2337f4cc9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/discovery | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8be654a96aea6cf6",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/discovery",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/sitemap-main.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,integration,discovery",
      "component_id": "b89b4f6d427a1bcbe261e84e",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api-response, @/lib/openapi | backend-score:125 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8b52eb7f650ba9cb",
      "framework": "next-react",
      "imports": "@/lib/api-response,@/lib/openapi",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.yaml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security,discovery",
      "component_id": "b3760578839dc387012846ce",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e510e6f157705ee0",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,discovery",
      "component_id": "2e6c382ca35c5d10a9c49d26",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/discovery, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3b0a993b44393207",
      "framework": "next-react",
      "imports": "@/lib/discovery,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,discovery",
      "component_id": "ca6dee704490205b26c10563",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/platform-config, next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "59344bc96d0acc0f",
      "framework": "next-react",
      "imports": "@/lib/platform-config,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/manifest.webmanifest/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,integration,discovery",
      "component_id": "cfb3a1b34aa9ddf29a1814a3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/openapi, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | discovery-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "56700ea559cbce0c",
      "framework": "next-react",
      "imports": "@/lib/openapi,next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/openapi.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process,ai",
      "component_id": "39bf0532a7515a1df91096ef",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8488dd4997b84377",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 73,
      "logic_relevance": "none",
      "name": "xml-phase1.spec",
      "normalized_name": "xml-phase1",
      "package_manager": "pnpm",
      "path": "tests/e2e/xml-phase1.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b7532f64592d2c17c508ab72",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "1619e966896a733373b24027",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "03f830701ce0e19faa656008",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:I18nProvider, useI18n | imports:@/lib/i18n, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "I18nProvider,useI18n",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bacfd43fd0c01d49",
      "framework": "next-react",
      "imports": "@/lib/i18n,react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "i18n-provider",
      "normalized_name": "i18n-provider",
      "package_manager": "pnpm",
      "path": "components/i18n-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "56bf6b212ee7b6823cbf8274",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3ARModal, usePH3ARTrigger | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, @/lib/platform-config, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PH3ARModal,usePH3ARTrigger",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "165e847caf4c5b04",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,@/lib/platform-config,@/lib/utils,lucide-react,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "7986a3c130fccb469c697a39",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5604fd9c8b67d477a8ed9d92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "0f95c86e7ed5c94d8469bcd4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c07394840e9ce6efc073be97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "76069d8b1290997da9048480",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6c3d818ed99ed15c75bc4efc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9e488f6b918f80e393fa1f02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "3963179c06065153e3f4decd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9c9bfbc147cdebce5ad667fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "02f8f5b92c8d1c3733a163bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "0711ed12a7ad44a6d6c7aeb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "e3a21e1ce41075345d44840f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "269414f6bb1e82124e1e455d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "437ec10d1fbf8d78f5f174e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f770c3e365080301873ee773",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a86dab9061ef96e1558b5003",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e3043c451677a62a2bc4aa11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "125a1b55542a30a7f00c52b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d7ac0f3f263d7c985f341604",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "cd19fbeab91dedb79627b296",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4d99e86d29184ce8303f0ba9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ad153540b7c7d1617976183b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "75243de8fb62be0c06b02339",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "017c53a9f0a0046ba4f4a690",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8f18b4c0bd6e0b52fb39f4a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ecbf800de126c099182df449",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2d2335ff43dc98025b6cba72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "73568ddbeb2f34e859123ac2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "80d8b7e6147450dbe4068345",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "f54b37597bf1d95689b3168b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7214f4bfb832dd2ebdcc609e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3c43ba10fee8185e8d2db9f4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ea4807cf87b75a819f71b241",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "227300e32be9be375103de03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0f66521d8967408621685ef9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "379735bb47fac2040195291d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5939249e0fb1739335743558",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b718fa3148d5531010145f39",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "af22930bb3c03a5761690c2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "f33e9e23abce30803acc0551",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5dd6f4ce683f32c207ee616e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "858310881b046acd085932e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "158b69c37b108657dbfdcbe9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c87a176ac3c17b21ff8543c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "748d7452686fb0cb01fc803a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c0c14c5a35e7b907b9c8c190",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8acfeead7248e1e4a83d3e2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "e4ea66f63cb746e5549d8994",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1a129e575847538c8074b46f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c4b5feba75063067b99b1102",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "70d312404a303bca56ce1c6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d4c79ac6ff63c4fa04b0c062",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dedc18dd43d8700450e406a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e0962c177ffd6ec90b9ce066",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d7b549f1f84e4642ef131c57",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "637190c889ea9c8f4f4e0bd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "269ef5438af32169bbd15102",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d6ac8bbb356182d1ab663f21",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "14aa7c19b0bf3eb3",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 22,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/navigation/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cc70b7a18af03e5b265bc243",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react,zustand",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLViewer | imports:./node-details, ./xml-editor, ./xml-graph-view, ./xml-stats, ./xml-toolbar, ./xml-tree-view, ./xml-utility-panels, @/components/ui/resizable | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "XMLViewer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99d51e75dfb8c0ef",
      "framework": "next-react",
      "imports": "./node-details,./xml-editor,./xml-graph-view,./xml-stats,./xml-toolbar,./xml-tree-view,./xml-utility-panels,@/components/ui/resizable,@/components/ui/tabs,@/hooks/use-media-query,@/lib/xml-store,lucide-react,react,zustand/react/shallow",
      "lines": 240,
      "logic_relevance": "none",
      "name": "xml-viewer",
      "normalized_name": "xml-viewer",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security",
      "component_id": "64742707e815ef41fb7e28b1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner,zustand",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLToolbar | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/input, @/components/ui/tooltip, @/lib/local-drafts, @/lib/sample-xml, @/lib/xml-parser, @/lib/xml-store | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "XMLToolbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4ad7dc2ac6beb53",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/input,@/components/ui/tooltip,@/lib/local-drafts,@/lib/sample-xml,@/lib/xml-parser,@/lib/xml-store,lucide-react,react,sonner,zustand/react/shallow",
      "lines": 511,
      "logic_relevance": "none",
      "name": "xml-toolbar",
      "normalized_name": "xml-toolbar",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "c76ce474a070133ca2f2cdcd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLStats | imports:@/lib/xml-store, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "XMLStats",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be752bbb80f3bcce",
      "framework": "next-react",
      "imports": "@/lib/xml-store,lucide-react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "xml-stats",
      "normalized_name": "xml-stats",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "9ee910c8c2111779b2bbb752",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLUtilityPanels | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/scroll-area, @/components/ui/tabs, @/components/ui/textarea, @/components/ui/tooltip | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "XMLUtilityPanels",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "344c6f57a3b90823",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/scroll-area,@/components/ui/tabs,@/components/ui/textarea,@/components/ui/tooltip,@/lib/platform-config,@/lib/xml-store,@/lib/xml-tools,lucide-react,react,sonner",
      "lines": 243,
      "logic_relevance": "secondary",
      "name": "xml-utility-panels",
      "normalized_name": "xml-utility-panels",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-utility-panels.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "73e07086d106544871a12c26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NodeDetails | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/separator, @/components/ui/tooltip, @/lib/xml-store, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "NodeDetails",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f4317d6950aed2d7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/separator,@/components/ui/tooltip,@/lib/xml-store,lucide-react,react,sonner",
      "lines": 264,
      "logic_relevance": "none",
      "name": "node-details",
      "normalized_name": "node-details",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/node-details.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3d7ffe000d20ace94da9bb77",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,react,zustand",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLEditor | imports:@/lib/sample-xml, @/lib/utils, @/lib/xml-store, react, zustand/react/shallow | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "XMLEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2743cc010da9dba5",
      "framework": "next-react",
      "imports": "@/lib/sample-xml,@/lib/utils,@/lib/xml-store,react,zustand/react/shallow",
      "lines": 281,
      "logic_relevance": "none",
      "name": "xml-editor",
      "normalized_name": "xml-editor",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ec1ba790d12c01b33dfd586d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/i18n-provider, @/components/ph3ar-modal, @/components/ui/button, @/components/ui/dropdown-menu, @/lib/i18n, lucide-react, next-themes, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf70e6d49883776d",
      "framework": "next-react",
      "imports": "@/components/i18n-provider,@/components/ph3ar-modal,@/components/ui/button,@/components/ui/dropdown-menu,@/lib/i18n,lucide-react,next-themes,next/link",
      "lines": 157,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "2e17081013dec5cf64054783",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,zustand",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLTreeView | imports:./xml-tree-node, @/components/ui/scroll-area, @/lib/xml-store, lucide-react, react, zustand/react/shallow | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "XMLTreeView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6bbcd8375394c307",
      "framework": "next-react",
      "imports": "./xml-tree-node,@/components/ui/scroll-area,@/lib/xml-store,lucide-react,react,zustand/react/shallow",
      "lines": 97,
      "logic_relevance": "none",
      "name": "xml-tree-view",
      "normalized_name": "xml-tree-view",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-tree-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2117412e6ba14357a88ded36",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,zustand",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLGraphView | imports:@/components/ui/button, @/lib/utils, @/lib/xml-store, @/lib/xml-types, lucide-react, react, zustand/react/shallow | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "XMLGraphView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afb48b4b7b11092d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@/lib/xml-store,@/lib/xml-types,lucide-react,react,zustand/react/shallow",
      "lines": 379,
      "logic_relevance": "none",
      "name": "xml-graph-view",
      "normalized_name": "xml-graph-view",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-graph-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "34e7cfa9ae19b18c85bc1cd5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:XMLTreeNode | imports:@/lib/utils, @/lib/xml-store, @/lib/xml-types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "XMLTreeNode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01a706a2cb8faf1c",
      "framework": "next-react",
      "imports": "@/lib/utils,@/lib/xml-store,@/lib/xml-types,lucide-react,react",
      "lines": 232,
      "logic_relevance": "none",
      "name": "xml-tree-node",
      "normalized_name": "xml-tree-node",
      "package_manager": "pnpm",
      "path": "components/xml-viewer/xml-tree-node.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "657f0d85d4d831bafc78f059",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1e341e8926d6e329",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "7272e17b133e8325fcb74bd2",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9e977195f6554b59",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "9b6495c7d8f9584aa5221679",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c8f928e1a13a5496",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,backend,integration,ai",
      "component_id": "02a7b1926cd74510817e1a33",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./mcp-server, vitest | logic-score:85 | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "340a005d54abf009",
      "framework": "next-react",
      "imports": "./mcp-server,vitest",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "mcp-server.test",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "lib/mcp-server.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "98abf6d57ea9d819607c350e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MAX_XML_BYTES, XPathRunResult, XmlParsePublicResult, XmlPublicStats, convertXmlToJson, convertXmlToYaml, formatXmlDocument, getSchema | imports:./platform-config, ./xml-types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "MAX_XML_BYTES,XPathRunResult,XmlParsePublicResult,XmlPublicStats,convertXmlToJson,convertXmlToYaml,formatXmlDocument,getSchema,inspectAtom,inspectRss,inspectSitemap,listSchemas,minifyXmlDocument,parseXmlDocument,parseXmlPublic,runXPath,toYaml,validateXsdBasic,xmlToJsonValue",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4a428357f7eed286",
      "framework": "next-react",
      "imports": "./platform-config,./xml-types",
      "lines": 757,
      "logic_relevance": "primary",
      "name": "xml-tools",
      "normalized_name": "xml-tools",
      "package_manager": "pnpm",
      "path": "lib/xml-tools.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "131601d1c3aa93d35eb7a99f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EXAMPLE_XMLS, SAMPLE_XML | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "EXAMPLE_XMLS,SAMPLE_XML",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "217b78070f3a7ec2",
      "framework": "next-react",
      "imports": "",
      "lines": 286,
      "logic_relevance": "primary",
      "name": "sample-xml",
      "normalized_name": "sample-xml",
      "package_manager": "pnpm",
      "path": "lib/sample-xml.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "0958f77ebcfa251865c792a9",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e360450ea591ead",
      "framework": "next-react",
      "imports": "./utils,vitest",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "c8f942dae36f86163d57eff6",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./sample-xml, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ff21adbd3ef7cd6",
      "framework": "next-react",
      "imports": "./sample-xml,vitest",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "sample-xml.test",
      "normalized_name": "sample-xml",
      "package_manager": "pnpm",
      "path": "lib/sample-xml.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,observability,security,automation",
      "component_id": "f63d469ac0a44abb2b105115",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:XmlModelTask, getModelIntegrationStatus | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "XmlModelTask,getModelIntegrationStatus",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c402d0f3e4fb8144",
      "framework": "next-react",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "model-adapter",
      "normalized_name": "model-adapter",
      "package_manager": "pnpm",
      "path": "lib/model-adapter.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,ai",
      "component_id": "0625ab946509420fc4ae3c25",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonRpcRequest, callXmlTool, handleJsonRpc, mcpMetadata | imports:./discovery, ./openapi, ./platform-config, ./xml-tools | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "JsonRpcRequest,callXmlTool,handleJsonRpc,mcpMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "830222e74d5599ff",
      "framework": "next-react",
      "imports": "./discovery,./openapi,./platform-config,./xml-tools",
      "lines": 283,
      "logic_relevance": "primary",
      "name": "mcp-server",
      "normalized_name": "mcp-server",
      "package_manager": "pnpm",
      "path": "lib/mcp-server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,logic,integration,observability,security,discovery",
      "component_id": "33c664e3e794e6128757d515",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:getSafeVercelRequestMetadata | imports:next/server | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "getSafeVercelRequestMetadata",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "95b8ef7e6f79097f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "vercel-metadata",
      "normalized_name": "vercel-metadata",
      "package_manager": "pnpm",
      "path": "lib/vercel-metadata.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,ai",
      "component_id": "8c786d9d539297656ce5302a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./mcp-client, ./platform-config, vitest | logic-score:85 | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b70d27554136e533",
      "framework": "next-react",
      "imports": "./mcp-client,./platform-config,vitest",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "155d70a26af28f823637c22d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getBreadcrumbSchema, getOrganizationSchema, getSoftwareApplicationSchema, getStructuredData, getWebApplicationSchema, getWebPageSchema, getWebsiteSchema | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "getBreadcrumbSchema,getOrganizationSchema,getSoftwareApplicationSchema,getStructuredData,getWebApplicationSchema,getWebPageSchema,getWebsiteSchema",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8629ce179df75d95",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "primary",
      "name": "structured-data",
      "normalized_name": "structured-data",
      "package_manager": "pnpm",
      "path": "lib/structured-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "2f1cdb949a898ee7bb354ad7",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SearchResult, XMLAttribute, XMLError, XMLNode, XMLNodeType, XMLParseResult, XMLStats, XMLViewerState | logic-score:70",
      "exports": "SearchResult,XMLAttribute,XMLError,XMLNode,XMLNodeType,XMLParseResult,XMLStats,XMLViewerState",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d5a73d727c9f05af",
      "framework": "next-react",
      "imports": "",
      "lines": 80,
      "logic_relevance": "primary",
      "name": "xml-types",
      "normalized_name": "xml-types",
      "package_manager": "pnpm",
      "path": "lib/xml-types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "b20a46bfcbc24b3bde78fa10",
      "component_kind": "state-store",
      "confidence": 100,
      "dependency_roots": "zustand",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ViewMode, useXMLStore | imports:./sample-xml, ./xml-parser, ./xml-types, zustand, zustand/middleware | logic-score:85 | security-score:55",
      "exports": "ViewMode,useXMLStore",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1dc76222dd7d7667",
      "framework": "next-react",
      "imports": "./sample-xml,./xml-parser,./xml-types,zustand,zustand/middleware",
      "lines": 491,
      "logic_relevance": "primary",
      "name": "xml-store",
      "normalized_name": "xml-store",
      "package_manager": "pnpm",
      "path": "lib/xml-store.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "efc13db0dc4eb9c1b9f2c130",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./xml-tools, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "da5e89307a5ea12d",
      "framework": "next-react",
      "imports": "./xml-tools,vitest",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "xml-tools.test",
      "normalized_name": "xml-tools",
      "package_manager": "pnpm",
      "path": "lib/xml-tools.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,security,ai",
      "component_id": "30cc92db8c4ea134c73c714a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, TranslationKey, defaultLocale, getTranslation, localeFlags, localeNames, locales, translations | logic-score:70 | security-score:55 | ai-score:45",
      "exports": "Locale,TranslationKey,defaultLocale,getTranslation,localeFlags,localeNames,locales,translations",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8aaf88511fe0ca8a",
      "framework": "next-react",
      "imports": "",
      "lines": 883,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "7399947830f5dede57b5bfc2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPRegistrationPayload, MCPRegistrationResult, buildRegistrationPayload | imports:./platform-config | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MCPRegistrationPayload,MCPRegistrationResult,buildRegistrationPayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83b70b2817d32889",
      "framework": "next-react",
      "imports": "./platform-config",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "d61ab5b436b239d784ae178d",
      "component_kind": "parser",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./xml-parser, ./xml-types, vitest | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0817e951aa0c4346",
      "framework": "next-react",
      "imports": "./xml-parser,./xml-types,vitest",
      "lines": 416,
      "logic_relevance": "primary",
      "name": "xml-parser.test",
      "normalized_name": "xml-parser",
      "package_manager": "pnpm",
      "path": "lib/xml-parser.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "490f4fee308ff2e27cfc5ac4",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "8b93979890d21d04c1e5d586",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:countNodes, formatXML, getMaxDepth, getNodePath, minifyXML, parseXML, searchXML | imports:./xml-tools, ./xml-types | logic-score:85",
      "exports": "countNodes,formatXML,getMaxDepth,getNodePath,minifyXML,parseXML,searchXML",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bea92b27c6f410e9",
      "framework": "next-react",
      "imports": "./xml-tools,./xml-types",
      "lines": 67,
      "logic_relevance": "primary",
      "name": "xml-parser",
      "normalized_name": "xml-parser",
      "package_manager": "pnpm",
      "path": "lib/xml-parser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,observability",
      "component_id": "b025a9e9e6a024bfa8526e99",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiErrorPayload, fail, ok, textResponse | imports:next/server | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "ApiErrorPayload,fail,ok,textResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b916f137ad39bad8",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "primary",
      "name": "api-response",
      "normalized_name": "api-response",
      "package_manager": "pnpm",
      "path": "lib/api-response.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "293f9642a96c95dad5d153b9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BUILT_IN_SCHEMAS, PLATFORM_INTEGRATIONS, PUBLIC_ROUTES, XML_API_ENDPOINTS, XML_MCP_PROMPTS, XML_MCP_RESOURCES, XML_MCP_TOOLS, XML_SERVICE | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BUILT_IN_SCHEMAS,PLATFORM_INTEGRATIONS,PUBLIC_ROUTES,XML_API_ENDPOINTS,XML_MCP_PROMPTS,XML_MCP_RESOURCES,XML_MCP_TOOLS,XML_SERVICE,XML_TRUST_POLICY_LINE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "357bc7aff08bd91c",
      "framework": "next-react",
      "imports": "",
      "lines": 159,
      "logic_relevance": "primary",
      "name": "platform-config",
      "normalized_name": "platform-config",
      "package_manager": "pnpm",
      "path": "lib/platform-config.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "5d852dd52e301fbcd575b237",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:handleSchemaList, handleSchemaRead | imports:./api-response, ./trace, ./vercel-metadata, ./xml-tools, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "handleSchemaList,handleSchemaRead",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "27b87c1c85305632",
      "framework": "next-react",
      "imports": "./api-response,./trace,./vercel-metadata,./xml-tools,next/server",
      "lines": 166,
      "logic_relevance": "primary",
      "name": "xml-api-handlers",
      "normalized_name": "xml-api-handlers",
      "package_manager": "pnpm",
      "path": "lib/xml-api-handlers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,discovery",
      "component_id": "04ab2250df7e14e9d7d8d5f2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildOpenApiDocument, toOpenApiYaml | imports:./platform-config | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "buildOpenApiDocument,toOpenApiYaml",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dc680633e4c24bab",
      "framework": "next-react",
      "imports": "./platform-config",
      "lines": 169,
      "logic_relevance": "primary",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "lib/openapi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "dcf1d4d11ab4280345b0bc3a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SITEMAP_ROUTES, absoluteUrl, getAtomXml, getDiscoveryCompliance, getFeedItems, getHealthPayload, getLlmsIndex, getLlmsText | imports:./auth, ./model-adapter, ./platform-config | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | cron-or-schedule",
      "exports": "SITEMAP_ROUTES,absoluteUrl,getAtomXml,getDiscoveryCompliance,getFeedItems,getHealthPayload,getLlmsIndex,getLlmsText,getRouteCompliance,getRssXml,getSitemapIndexXml,getSitemapXml,getTrustPolicy,xmlEscape",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "385d761433a27fe3",
      "framework": "next-react",
      "imports": "./auth,./model-adapter,./platform-config",
      "lines": 346,
      "logic_relevance": "primary",
      "name": "discovery",
      "normalized_name": "discovery",
      "package_manager": "pnpm",
      "path": "lib/discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,automation",
      "component_id": "1de0c95238cb213a7876ee20",
      "component_kind": "state-store",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./xml-store, vitest | logic-score:85 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f20f5cf953fcd56",
      "framework": "next-react",
      "imports": "./xml-store,vitest",
      "lines": 352,
      "logic_relevance": "primary",
      "name": "xml-store.test",
      "normalized_name": "xml-store",
      "package_manager": "pnpm",
      "path": "lib/xml-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic,security",
      "component_id": "1f9ab065f15d0758f3aa0f91",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./i18n, vitest | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b664e1a0768913be",
      "framework": "next-react",
      "imports": "./i18n,vitest",
      "lines": 91,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "9af579452f86d8ff665bc608",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:XmlOperationTrace, createOperationTrace, traceHeaders | imports:next/server | logic-score:85 | observability-score:55 | uses-env",
      "exports": "XmlOperationTrace,createOperationTrace,traceHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6954bbb22b029ae",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "trace",
      "normalized_name": "trace",
      "package_manager": "pnpm",
      "path": "lib/trace.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "logic,observability,security",
      "component_id": "e73ecb6e345b228ae87f9b4a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for finance; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LocalXmlDraft | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "LocalXmlDraft",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f4367eda3d5db097",
      "framework": "next-react",
      "imports": "",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "local-drafts",
      "normalized_name": "local-drafts",
      "package_manager": "pnpm",
      "path": "lib/local-drafts.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "511150a8f2f3155f49cf28a3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthPolicy, getAuthPolicy, hasValidPlatphormApiKey, requireApiKeyIfEnabled | imports:next/server | logic-score:85 | security-score:55 | uses-env",
      "exports": "AuthPolicy,getAuthPolicy,hasValidPlatphormApiKey,requireApiKeyIfEnabled",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6d04dc2ef5e575f5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-xml",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d4e3790f01814a71fc9f3462",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abd650b66108ac29",
      "framework": "next-react",
      "imports": "",
      "lines": 6271,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d66a22d7a7d91e172abda1c4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "82fbfb54ac33f623",
      "framework": "next-react",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "621b2b983c7fbaaa7506df75",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ca4c0da4fa0d5581",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d74dcd3b6843be987ca3a3d9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c0035bf11d4ba26c",
      "framework": "next-react",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "0acb91f5619155d5e1a40339",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "664721392623279d",
      "framework": "next-react",
      "imports": "next",
      "lines": 50,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,security,discovery",
      "component_id": "4ef3a7db63a03b319405df09",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "47180f30a8159666",
      "framework": "next-react",
      "imports": "next",
      "lines": 65,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "00492dc0a17b8c075c4b3da0",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/json-ld, @/components/providers, @/lib/field-guide-content, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3eade32b17e356e6",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/providers,@/lib/field-guide-content,@vercel/analytics/next,next,next/font/google",
      "lines": 171,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "de592c093ec72144a6d935c3",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:@/lib/field-guide-content, next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b5c156d961d4afa2",
      "framework": "next-react",
      "imports": "@/lib/field-guide-content,next",
      "lines": 70,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "da7da12969e7a961865006fd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZinePage | imports:@/components/cinematic-intro, @/components/zine-reader, @/lib/translation-context, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ZinePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9391068412424562",
      "framework": "next-react",
      "imports": "@/components/cinematic-intro,@/components/zine-reader,@/lib/translation-context,framer-motion,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,security,automation",
      "component_id": "75e4475c1f96f3713310f4eb",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff6d17c114b3fdfe",
      "framework": "next-react",
      "imports": "",
      "lines": 360,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "4dc5109540a251d36af1b112",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7d79c3fdbc157864",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 83,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "c2d31531eef48b49f3ea9ef0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data | backend-score:125 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0ed632aef862d48e",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 103,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/feed.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "10895b6f112dd5addd82fdda",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "73ae76b6f82184d4",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 107,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security,automation",
      "component_id": "dff95460d269e31cecf2e3b9",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b370343a41c14527",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 75,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "27bfbdb3ab39b784505ba71f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SecurityPage, metadata | imports:lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SecurityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9788046258d1c9f8",
      "framework": "next-react",
      "imports": "lucide-react,next,next/link",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/security/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,security",
      "component_id": "52b1a2a5c04c37ae406f0353",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, SECURITY_TXT | imports:next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,SECURITY_TXT",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7d0ecda57d0267de",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/security.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "f8d7bd96bdc933f537bbe5e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AI_PLUGIN, GET | imports:next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "AI_PLUGIN,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fb7db633d9261cf1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/ai-plugin.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "04c17c0add40871399dd6345",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "53f0eae417c7b63c",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend,observability",
      "component_id": "7e2a5deb8bb5828f3a8ce6a3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/platphorm-network, @/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "61734d2fb69bc74b",
      "framework": "next-react",
      "imports": "@/lib/platphorm-network,@/lib/zine-data,next/server",
      "lines": 103,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/ascii/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "backend,frontend",
      "component_id": "ece08550d9640d766d78444a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for design-system; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2c6cd9359d265c28",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/contributors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "f061c989431fce2aa2208003",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "19b952f60da9add1",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/zine/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,frontend,observability",
      "component_id": "d4d50af3fb29872709216de6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f4fd3075d772ec3d",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/zine/pages/[pageNumber]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "75e769421676684e092f9a4c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aab29ae654b7b7d8",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 71,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "ea435c6e8e623761bbb18f60",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3c38a23537f57f97",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 151,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,ai",
      "component_id": "c27fe6d69e0699501ce3a6b1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/platphorm-network, @/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c373860e53a97a4d",
      "framework": "next-react",
      "imports": "@/lib/platphorm-network,@/lib/zine-data,next/server",
      "lines": 384,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,frontend,ui,security",
      "component_id": "3e856493d9fdb5a4d2e0123d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:next/og, next/server | backend-score:125 | frontend-score:115 | ui-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "605a0c38c74d0309",
      "framework": "next-react",
      "imports": "next/og,next/server",
      "lines": 334,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/og/route.tsx",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "c8aaad3fb0fd9589512e4699",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/zine-data, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c7a274d83849ae31",
      "framework": "next-react",
      "imports": "@/lib/zine-data,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d235c61d810c16c1a56e5466",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5ca52435945c2920a8bca94a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad3da92ebf6a5943f2b24ace",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DownloadDialog | imports:@/components/ui/button, @/components/ui/dialog, @/lib/zine-data, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DownloadDialog",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61135762da009486",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,@/lib/zine-data,lucide-react,react",
      "lines": 424,
      "logic_relevance": "none",
      "name": "download-dialog",
      "normalized_name": "download-dialog",
      "package_manager": "pnpm",
      "path": "components/download-dialog.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9b4dbaa54bdc0b08789586aa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CinematicIntro | imports:@/lib/field-guide-content, @/lib/translation-context, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CinematicIntro",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "13114607472613bb",
      "framework": "next-react",
      "imports": "@/lib/field-guide-content,@/lib/translation-context,framer-motion,lucide-react,react",
      "lines": 285,
      "logic_relevance": "none",
      "name": "cinematic-intro",
      "normalized_name": "cinematic-intro",
      "package_manager": "pnpm",
      "path": "components/cinematic-intro.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,discovery",
      "component_id": "4d4d148fe09f1ca6d491238f",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "acc87b08c46bcbc3",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "811077e13aa4b96d39619f68",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookmarkButton | imports:@/components/ui/button, @/components/ui/tooltip, @/lib/use-preferences, framer-motion, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "BookmarkButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d40db3258824535",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/lib/use-preferences,framer-motion,lucide-react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "bookmark-button",
      "normalized_name": "bookmark-button",
      "package_manager": "pnpm",
      "path": "components/bookmark-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "758388f98b8d38dfac3a3627",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProgressBar | imports:framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "ProgressBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4024b228b4ca465",
      "framework": "next-react",
      "imports": "framer-motion,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "progress-bar",
      "normalized_name": "progress-bar",
      "package_manager": "pnpm",
      "path": "components/progress-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e4b1c4d329af2eab4f5f9935",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,framer-motion,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ZineReader | imports:@/components/bookmark-button, @/components/download-dialog, @/components/progress-bar, @/components/ui/button, @/components/ui/sheet, @/components/ui/tooltip, @/lib/translation-context, @/lib/use-analytics | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ZineReader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6698f1f499c39413",
      "framework": "next-react",
      "imports": "@/components/bookmark-button,@/components/download-dialog,@/components/progress-bar,@/components/ui/button,@/components/ui/sheet,@/components/ui/tooltip,@/lib/translation-context,@/lib/use-analytics,@/lib/use-preferences,@/lib/zine-data,framer-motion,lucide-react,next/image,react",
      "lines": 1221,
      "logic_relevance": "none",
      "name": "zine-reader",
      "normalized_name": "zine-reader",
      "package_manager": "pnpm",
      "path": "components/zine-reader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "b4cfa041563ce8b883ec4159",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:Providers | imports:@/lib/translation-context, react | frontend-score:115 | ui-score:70",
      "exports": "Providers",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8812b6a253ce53c3",
      "framework": "next-react",
      "imports": "@/lib/translation-context,react",
      "lines": 12,
      "logic_relevance": "none",
      "name": "providers",
      "normalized_name": "providers",
      "package_manager": "pnpm",
      "path": "components/providers.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "e94b323622b6779393309df2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "08d97a40a7423039481fff79",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "021be17eed2772a4bb3599ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "77ed364765cb7cd9e8835145",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cdef2d808eac57bb1f1c3bbb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "82eecc613c28dacc116a32f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5eb7a9c885351d18214dea2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "79e6be1db9925f6f720b7ba5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "992a73617455745a97097815",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9fdf068cd2df18bac6dae5c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "9a2e849b858c6b0e226b5d43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "c716beef96f79500a3a1d935",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d3cb18a6f415e975e5d133db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "405feb8e31674f907bc0beea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d7c8da921ac35af41635ee4e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "09ea7f26c6876da5bd545dfd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7537bc85eea55c9a4f1c46a9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9e92accd2f27e2c8a0670a20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0032ccde5d45aa0831eb61dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "369e5d583feb4883567ceccf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dc2b7dc2f240eef73e37c645",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "31bfe5ac45a38e34033f5c16",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "43580f93ca25119a7b15937a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a9d627ffff62a0b737de3c77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "02e70c2a394f7352133c0ddd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "059307fbea17fa479c1419bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d3ad32ec9412afc584ab59d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "dadd6d3ff3dac8bb2f9c9fb2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "509831c6065b3ca4671cf938",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "9a89ee90b0235ae210e85a6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d2035745852d678273b3a4d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9ae357086b7433875976465c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dcfc713ebf1a1a78407c941f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ccb4f2b53c13f746",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1f7203f6e81292575ca69a91",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7b67eee8b8610e1ff15603e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "8fe019974e8a03f910ac589c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c9963594b66b8821909a392a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9f0494d1993416ea05d29848",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9693d6c5491e13e319cc120d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e7b7c2cf57639e747fda9dbf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e13330c6b0d05f08dce3a5f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9809c3fe1c84604606fa2fd9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "99d8e133173ace9bf5917d8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "34a313cbe3023831ec0f4c63",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dcaf3152c9423072fc4bf0fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5c6b74315ed77ddb1d03dd71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "629c08f094761ed079202ead",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "c032f4c5389185b37f2400e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "f2ae432dbf7019f96904eaf5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "67d3804a9f330174dd2d478c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "366da3479396f29c50e98593",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b2ee696203b59b29835ca59f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "83d3201df04244999e92d70f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "d7248fbd880e3f5963905e7a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "77926c6bc203fa62f15833cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "653ec2f8fbb4a9aced6e1eec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "edd66e6ed61685a897ade7e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "4fb6fffa3e3bfe53350431ea",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/app,@/components,@testing-library/react,@testing-library/user-event",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout | imports:@/app/layout, @/components/zine-reader, @testing-library/react, @testing-library/user-event | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "RootLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a99e5efe049c603",
      "framework": "next-react",
      "imports": "@/app/layout,@/components/zine-reader,@testing-library/react,@testing-library/user-event",
      "lines": 177,
      "logic_relevance": "none",
      "name": "accessibility.test",
      "normalized_name": "accessibility",
      "package_manager": "pnpm",
      "path": "__tests__/accessibility.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "b9c4c2d5905fe7a4912c8348",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/zine-reader, @testing-library/react | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7520636de54d52b",
      "framework": "next-react",
      "imports": "@/components/zine-reader,@testing-library/react",
      "lines": 180,
      "logic_relevance": "none",
      "name": "mobile-usability.test",
      "normalized_name": "mobile-usability",
      "package_manager": "pnpm",
      "path": "__tests__/mobile-usability.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability",
      "component_id": "d70779dc639867a23aeb4dea",
      "component_kind": "deployment-automation",
      "confidence": 75,
      "dependency_roots": "@/lib,@vercel/analytics",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:../next.config.mjs, @/lib/use-analytics, @vercel/analytics | automation-score:95 | integration-score:55 | observability-score:55 | metadata",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bbbe5cf77f7e5dba",
      "framework": "next-react",
      "imports": "../next.config.mjs,@/lib/use-analytics,@vercel/analytics",
      "lines": 138,
      "logic_relevance": "none",
      "name": "vercel-integrations.test",
      "normalized_name": "vercel-integrations",
      "package_manager": "pnpm",
      "path": "__tests__/vercel-integrations.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "db025f9601d77b3febd2d100",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BREAKPOINTS | imports:@/components/zine-reader, @testing-library/react | frontend-score:60 | ui-score:55",
      "exports": "BREAKPOINTS",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7060c1321e1f5eb",
      "framework": "next-react",
      "imports": "@/components/zine-reader,@testing-library/react",
      "lines": 183,
      "logic_relevance": "none",
      "name": "responsive.test",
      "normalized_name": "responsive",
      "package_manager": "pnpm",
      "path": "__tests__/responsive.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "18c305d605fa2e445c3a681a",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/ascii-utils, @/lib/utils, @/lib/zine-data | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "47fe429a51bc7937",
      "framework": "next-react",
      "imports": "@/lib/ascii-utils,@/lib/utils,@/lib/zine-data",
      "lines": 144,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "observability,security",
      "component_id": "e02194537d43a373d5747b4d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Observability component for mcp; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/ascii-utils, @/lib/platphorm-network, @/lib/zine-data | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8cd5a4f3e181cde",
      "framework": "next-react",
      "imports": "@/lib/ascii-utils,@/lib/platphorm-network,@/lib/zine-data",
      "lines": 121,
      "logic_relevance": "none",
      "name": "network.test",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "__tests__/integration/network.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "923b952388e274e8fbce7dc1",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/zine-reader, @testing-library/react, @testing-library/user-event | frontend-score:60 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b033f4129b8e74d5",
      "framework": "next-react",
      "imports": "@/components/zine-reader,@testing-library/react,@testing-library/user-event",
      "lines": 319,
      "logic_relevance": "none",
      "name": "zine-complete.test",
      "normalized_name": "zine-complete",
      "package_manager": "pnpm",
      "path": "__tests__/integration/zine-complete.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,discovery",
      "component_id": "fb5ebb3938618c8ff0f84515",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestWrapper | imports:@/components/json-ld, @testing-library/react | frontend-score:85 | ui-score:55 | discovery-score:55",
      "exports": "TestWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e095982c5502b8f6",
      "framework": "next-react",
      "imports": "@/components/json-ld,@testing-library/react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "json-ld.test",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "__tests__/components/json-ld.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "4cfdedfc9d26392776c4c491",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@testing-library/react,@testing-library/user-event",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/zine-reader, @testing-library/react, @testing-library/user-event | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8635aebb583f30cd",
      "framework": "next-react",
      "imports": "@/components/zine-reader,@testing-library/react,@testing-library/user-event",
      "lines": 206,
      "logic_relevance": "none",
      "name": "zine-reader.test",
      "normalized_name": "zine-reader",
      "package_manager": "pnpm",
      "path": "__tests__/components/zine-reader.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "84343a11cc02761de37ac483",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/zine-data | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "698a2bbb86a7c5fa",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "zine-data.test",
      "normalized_name": "zine-data",
      "package_manager": "pnpm",
      "path": "__tests__/lib/zine-data.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f8cca152847c5aabab3fa2ad",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/zine-data | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "db8bf4f3f72a7477",
      "framework": "next-react",
      "imports": "@/lib/zine-data",
      "lines": 169,
      "logic_relevance": "primary",
      "name": "transcription.test",
      "normalized_name": "transcription",
      "package_manager": "pnpm",
      "path": "__tests__/lib/transcription.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,automation",
      "component_id": "2770554d7d84bcf392b28bb8",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@vercel/analytics",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/use-analytics, @vercel/analytics | logic-score:60 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "aa4f415a6f41b079",
      "framework": "next-react",
      "imports": "@/lib/use-analytics,@vercel/analytics",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "use-analytics.test",
      "normalized_name": "use-analytics",
      "package_manager": "pnpm",
      "path": "__tests__/lib/use-analytics.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,security",
      "component_id": "d675e0ced56c29e63aca1e2e",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,@testing-library/react",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/use-preferences, @testing-library/react | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0d19af7abe3913b7",
      "framework": "next-react",
      "imports": "@/lib/use-preferences,@testing-library/react",
      "lines": 224,
      "logic_relevance": "primary",
      "name": "use-preferences.test",
      "normalized_name": "use-preferences",
      "package_manager": "pnpm",
      "path": "__tests__/lib/use-preferences.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d30ad932c62257345f414214",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "97581a2ab7e6f94b",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "routes.test",
      "normalized_name": "routes",
      "package_manager": "pnpm",
      "path": "__tests__/api/routes.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,logic",
      "component_id": "a3a16ad202364a3877cab745",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:LOCALE_NAMES, SUPPORTED_LOCALES, TranslationProvider, isRTL, useTranslation | imports:./translations, react | frontend-score:90 | ui-score:70 | logic-score:70",
      "exports": "LOCALE_NAMES,SUPPORTED_LOCALES,TranslationProvider,isRTL,useTranslation",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ecbc59972f2fdb4f",
      "framework": "next-react",
      "imports": "./translations,react",
      "lines": 100,
      "logic_relevance": "secondary",
      "name": "translation-context",
      "normalized_name": "translation-context",
      "package_manager": "pnpm",
      "path": "lib/translation-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,automation,ai",
      "component_id": "e191ed4bbeb48571f8d93e0d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EventProperties, ZineEvent, trackBookmark, trackDownload, trackEvent, trackPageView, trackThemeChange, trackViewModeChange | imports:@vercel/analytics | logic-score:85 | automation-score:45 | ai-score:45",
      "exports": "EventProperties,ZineEvent,trackBookmark,trackDownload,trackEvent,trackPageView,trackThemeChange,trackViewModeChange,trackZineComplete,useAnalytics",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7f60823f28ec5098",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 138,
      "logic_relevance": "primary",
      "name": "use-analytics",
      "normalized_name": "use-analytics",
      "package_manager": "pnpm",
      "path": "lib/use-analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic",
      "component_id": "36f8636c496f216d3b93abb4",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:useGestures, useHaptic | imports:react | logic-score:85",
      "exports": "useGestures,useHaptic",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ce275f615ca210b0",
      "framework": "next-react",
      "imports": "react",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "use-gestures",
      "normalized_name": "use-gestures",
      "package_manager": "pnpm",
      "path": "lib/use-gestures.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "760495c0f92bac35cc5b0e51",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "e4edbce767b4f6f27275b682",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SUPPORTED_LOCALES, isRTL, useTranslation | imports:./translations, react | logic-score:85",
      "exports": "SUPPORTED_LOCALES,isRTL,useTranslation",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bdcbcf76bc3ef4bd",
      "framework": "next-react",
      "imports": "./translations,react",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "use-translation",
      "normalized_name": "use-translation",
      "package_manager": "pnpm",
      "path": "lib/use-translation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "bd9ffcf3596e19180e4ad546",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LOCALE_NAMES, RTL_LOCALES, SUPPORTED_LOCALES, SupportedLocale, Translations, detectLocale, getTranslations, isRTL | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "LOCALE_NAMES,RTL_LOCALES,SUPPORTED_LOCALES,SupportedLocale,Translations,detectLocale,getTranslations,isRTL,setLocale",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e3509bc07b1ccca9",
      "framework": "next-react",
      "imports": "",
      "lines": 791,
      "logic_relevance": "primary",
      "name": "translations",
      "normalized_name": "translations",
      "package_manager": "pnpm",
      "path": "lib/translations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation,ai",
      "component_id": "aebe113e8863839ea1143ac9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BRAND, CHAPTERS, COMMUNITY_ZINE_TEMPLATE, CommunityZineConfig, DEFAULT_AUTHORS, DISCLAIMERS, EXECUTIVE_BRIEF, HERO | imports:./field-guide-content | logic-score:70 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BRAND,CHAPTERS,COMMUNITY_ZINE_TEMPLATE,CommunityZineConfig,DEFAULT_AUTHORS,DISCLAIMERS,EXECUTIVE_BRIEF,HERO,METADATA,NEWS_CONTEXT,OFFERS,SITE_CONFIG,STRUCTURED_DATA,ZineContributor,ZineIssue,ZinePage,alleycatsZine,aplanFieldGuide,contributors,tableOfContents,type BriefItem,type Chapter,type FieldGuide,type FieldGuidePage,type Offer,zineMeta",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fa0f10016da98166",
      "framework": "next-react",
      "imports": "./field-guide-content",
      "lines": 178,
      "logic_relevance": "primary",
      "name": "zine-data",
      "normalized_name": "zine-data",
      "package_manager": "pnpm",
      "path": "lib/zine-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "c208ea958a3ef0548497b041",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ASCII_API, ASCII_ART, ISSUE_THEMES, LOADING_FRAMES, getDaysUntilNextIssue, getShareBanner, imageToAsciiPlaceholder, textToAscii | imports:./zine-data | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ASCII_API,ASCII_ART,ISSUE_THEMES,LOADING_FRAMES,getDaysUntilNextIssue,getShareBanner,imageToAsciiPlaceholder,textToAscii",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c7b546a4fb7f8c11",
      "framework": "next-react",
      "imports": "./zine-data",
      "lines": 262,
      "logic_relevance": "primary",
      "name": "ascii-utils",
      "normalized_name": "ascii-utils",
      "package_manager": "pnpm",
      "path": "lib/ascii-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "6f7ba17a9df1716947cbfcd2",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ViewMode, ZinePreferences, useBookmarks, usePreferences, useReadingStats, useSkipIntro | imports:react | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ViewMode,ZinePreferences,useBookmarks,usePreferences,useReadingStats,useSkipIntro",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3b84be7a5c5dfce2",
      "framework": "next-react",
      "imports": "react",
      "lines": 189,
      "logic_relevance": "primary",
      "name": "use-preferences",
      "normalized_name": "use-preferences",
      "package_manager": "pnpm",
      "path": "lib/use-preferences.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "logic,process,security,automation,ai",
      "component_id": "49db8b66aa5f855fcbfa882a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "APlan",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BRAND, BriefItem, CHAPTERS, CORE_THESIS, Chapter, DEFAULT_AUTHORS, DISCLAIMERS, ENTERPRISE_SECTION | imports:APlan | logic-score:85 | process-score:80 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BRAND,BriefItem,CHAPTERS,CORE_THESIS,Chapter,DEFAULT_AUTHORS,DISCLAIMERS,ENTERPRISE_SECTION,EXECUTIVE_BRIEF,FieldGuide,FieldGuidePage,HERO,METADATA,OFFERS,Offer,SITE_CONFIG,STRUCTURED_DATA,aplanFieldGuide,fieldGuideMeta,tableOfContents",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "81d836b8a19ae532",
      "framework": "next-react",
      "imports": "APlan",
      "lines": 461,
      "logic_relevance": "primary",
      "name": "field-guide-content",
      "normalized_name": "field-guide-content",
      "package_manager": "pnpm",
      "path": "lib/field-guide-content.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "512fd001791d59d4f4b7a5d9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CommunityZineTemplate, NETWORK_CONFIG, createZineTemplate | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "CommunityZineTemplate,NETWORK_CONFIG,createZineTemplate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c9a63b7de950eb30",
      "framework": "next-react",
      "imports": "",
      "lines": 258,
      "logic_relevance": "primary",
      "name": "platphorm-network",
      "normalized_name": "platphorm-network",
      "package_manager": "pnpm",
      "path": "lib/platphorm-network.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphorm-zine-reader",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process",
      "component_id": "79ec14044be9756ea932989b",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08b0f89c75f2afe3",
      "framework": "svelte",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "92d6761343025c9f4330deac",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e5090a7cddb4b29",
      "framework": "svelte",
      "imports": "",
      "lines": 4649,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bdd887deb5f62448042a275e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21b98ebff7cf22c2",
      "framework": "svelte",
      "imports": "",
      "lines": 116,
      "logic_relevance": "none",
      "name": "PROJECT_PLAN",
      "normalized_name": "project-plan",
      "package_manager": "pnpm",
      "path": "PROJECT_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "f3aa7111d2d5d5a6a1b6913c",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@sveltejs/adapter-vercel,@sveltejs/vite-plugin-svelte",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@sveltejs/adapter-vercel, @sveltejs/vite-plugin-svelte | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c69e17458de6bb61",
      "framework": "svelte",
      "imports": "@sveltejs/adapter-vercel,@sveltejs/vite-plugin-svelte",
      "lines": 21,
      "logic_relevance": "none",
      "name": "svelte.config",
      "normalized_name": "svelte-config",
      "package_manager": "pnpm",
      "path": "svelte.config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "945a4f43b63fe3deab9fd723",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a6b8e94ea4b2065b",
      "framework": "svelte",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "pr-description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr-description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "7e0d1f28acf7d37ec976b972",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ed24d4a41cf2b4f7",
      "framework": "svelte",
      "imports": "",
      "lines": 688,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bfb39ad7ff8d9e31c284da57",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7c4e880a360c771a",
      "framework": "svelte",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "8ced8d7b7b0214d661e63503",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9cfd8061897289c6",
      "framework": "svelte",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "09fde30bee32ea399393f514",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "200803952ccf5844",
      "framework": "svelte",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "23b74d22a1dca11483d33d37",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9aa34b26a65b3be9",
      "framework": "svelte",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "87698f6de7832403cb7ef041",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f957a0abdc0b92cb",
      "framework": "svelte",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "a7b7a2a6ecb6cc4657ec2b74",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3f6e4e091ea1aeb9",
      "framework": "svelte",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "6b59d48a0f41e0cf50762445",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "14359fceafd93696",
      "framework": "svelte",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "compose",
      "normalized_name": "compose",
      "package_manager": "pnpm",
      "path": "compose.yaml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "83922a759b0d61a1eb78f8c7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5abb4bc420590162",
      "framework": "svelte",
      "imports": "@playwright/test",
      "lines": 41,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "a7941aaf8214409c8387c8ce",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@sveltejs/kit,@tailwindcss/vite,vitest",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@sveltejs/kit/vite, @tailwindcss/vite, vitest/config | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c5931216d411c854",
      "framework": "svelte",
      "imports": "@sveltejs/kit/vite,@tailwindcss/vite,vitest/config",
      "lines": 26,
      "logic_relevance": "none",
      "name": "vite.config",
      "normalized_name": "vite-config",
      "package_manager": "pnpm",
      "path": "vite.config.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "f303059a05c28d4f0734a5ab",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c49bf05df505bd30",
      "framework": "svelte",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "HN_ROADMAP",
      "normalized_name": "hn-roadmap",
      "package_manager": "pnpm",
      "path": "HN_ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "6922ce0ec89d6f795aacdc92",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f989ee0cc243b25",
      "framework": "svelte",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,process",
      "component_id": "3749446031fe98bf3243aa40",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4ea5a61a72e7445e",
      "framework": "svelte",
      "imports": "@playwright/test",
      "lines": 83,
      "logic_relevance": "none",
      "name": "root.spec",
      "normalized_name": "root",
      "package_manager": "pnpm",
      "path": "tests/e2e/root.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "d4ae1bb173fd1129e78cb0fe",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "exports:Projectile, getProjectile, proj | frontend-score:85 | ui-score:55",
      "exports": "Projectile,getProjectile,proj",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24965daad04019ec",
      "framework": "svelte",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "projectile-manager",
      "normalized_name": "projectile-manager",
      "package_manager": "pnpm",
      "path": "components/game/weapons/projectile-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d148a83d34cddbce9afd8cbf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Minimap | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Minimap",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e3ca93ded96b4be6",
      "framework": "svelte",
      "imports": "react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "minimap",
      "normalized_name": "minimap",
      "package_manager": "pnpm",
      "path": "components/game/hud/minimap.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "b994731f82eafdd60721bb87",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8a5f2e8485cfa8c5",
      "framework": "svelte",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "e86ec91da6b4e07c32a2b7b9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "af4ab10244e6aeeb",
      "framework": "svelte",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "93f7a3f301b723913211c187",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6d4905673eb9b11f",
      "framework": "svelte",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "0ac07ecadd288189130e4d46",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c95b5b1dce4b552f",
      "framework": "svelte",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "743b8c2c5c4e4b5ab3e9f3b5c5e8d5f3",
      "normalized_name": "743b8c2c5c4e4b5ab3e9f3b5c5e8d5f3",
      "package_manager": "pnpm",
      "path": "static/743b8c2c5c4e4b5ab3e9f3b5c5e8d5f3.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "c5b413865ca38bc002cfd1e3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1feb08d3ee07c190",
      "framework": "svelte",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "static/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation,ai",
      "component_id": "7a08850ffe7f130d8e802119",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "da588264318ed5c0",
      "framework": "svelte",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "sitemap-tree",
      "normalized_name": "sitemap-tree",
      "package_manager": "pnpm",
      "path": "static/sitemap-tree.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5a50672f0cc740a141632ed7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c91c39a12d276a83",
      "framework": "svelte",
      "imports": "",
      "lines": 186,
      "logic_relevance": "none",
      "name": "blog-post-ph3ar-2026-02-19",
      "normalized_name": "blog-post-ph3ar-2026-02-19",
      "package_manager": "pnpm",
      "path": "static/blog-post-ph3ar-2026-02-19.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "532273ac58c780fa0c5360fe",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c95b5b1dce4b552f",
      "framework": "svelte",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "indexnow",
      "normalized_name": "indexnow",
      "package_manager": "pnpm",
      "path": "static/indexnow.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "security,automation",
      "component_id": "0ebc5aab4ea7774a84d9e8d0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1743cb32028caf16",
      "framework": "svelte",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "actor",
      "normalized_name": "actor",
      "package_manager": "pnpm",
      "path": "static/.well-known/actor.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "7c05c98958698bb305214732",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a1f7b53452b8b1c",
      "framework": "svelte",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "assetlinks",
      "normalized_name": "assetlinks",
      "package_manager": "pnpm",
      "path": "static/.well-known/assetlinks.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ai,observability,security,automation",
      "component_id": "d2b66b23cbfe5fcb4f86033b",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3ff3fd1c6753ba56",
      "framework": "svelte",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "static/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "4a72793fb3da3b013712b54a",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "11a0b52cfc18bcc8",
      "framework": "svelte",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "scripts/migrate.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4685b64ad8b898f895277bb1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f7ea8be7ee4ed69b",
      "framework": "svelte",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration",
      "component_id": "27d02924e3569b5328eb03b7",
      "component_kind": "mcp",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dd6d954dcbeb8475",
      "framework": "svelte",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": ".vscode/mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a490948c329eaf2fadf0f191",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7d382062fc9641de",
      "framework": "svelte",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "app.d",
      "normalized_name": "app-d",
      "package_manager": "pnpm",
      "path": "src/app.d.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e2d6a024d9f63a3ff82c24fe",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit,node:crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handle | imports:@sveltejs/kit, node:crypto | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "handle",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d06dde5ed6c72548",
      "framework": "svelte",
      "imports": "@sveltejs/kit,node:crypto",
      "lines": 98,
      "logic_relevance": "none",
      "name": "hooks.server",
      "normalized_name": "hooks-server",
      "package_manager": "pnpm",
      "path": "src/hooks.server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "cd5def8e237c414afb1a51eb",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:GameServer, GameStats, LeaderboardEntry, NewsArticleType, NewsItem, NewsItemType, NewsItemTypeWithAllFeatures, NewsItemTypeWithArticle | security-score:55",
      "exports": "GameServer,GameStats,LeaderboardEntry,NewsArticleType,NewsItem,NewsItemType,NewsItemTypeWithAllFeatures,NewsItemTypeWithArticle,NewsItemTypeWithBackground,NewsItemTypeWithBorder,NewsItemTypeWithChildren,NewsItemTypeWithIcon,NewsItemTypeWithSource,NewsSource,NewsSourceIcon,PlatformStats,QuakeMatch,QuakeStats,StoryComment,StoryDetail",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e8b8f8a69c67aa39",
      "framework": "svelte",
      "imports": "",
      "lines": 182,
      "logic_relevance": "none",
      "name": "news",
      "normalized_name": "news",
      "package_manager": "pnpm",
      "path": "src/types/news.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "5ca00fc97980cc526d94fcb7",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "imports:$lib/i18n | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "169ed355bbd5af60",
      "framework": "svelte",
      "imports": "$lib/i18n",
      "lines": 69,
      "logic_relevance": "none",
      "name": "LanguageSwitcher",
      "normalized_name": "language-switcher",
      "package_manager": "pnpm",
      "path": "src/components/LanguageSwitcher.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3527013b980d9a02343e9b3b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app,$lib,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores, $lib/i18n, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "004f8f542c4a8742",
      "framework": "svelte",
      "imports": "$app/stores,$lib/i18n,svelte",
      "lines": 452,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/components/Header.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "60301321f6584672a385ab58",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "bdd9f73b0953fa5d",
      "framework": "svelte",
      "imports": "",
      "lines": 155,
      "logic_relevance": "none",
      "name": "ContactCallout",
      "normalized_name": "contact-callout",
      "package_manager": "pnpm",
      "path": "src/components/ContactCallout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8813fc223b4b5ce096d70ca8",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "e19bde0ed75d367b",
      "framework": "svelte",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "Auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "src/components/Auth.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f67280fda62ec5fd14a98965",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./ContactCallout.svelte, ./LanguageSwitcher.svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "55e049c49e291ea4",
      "framework": "svelte",
      "imports": "./ContactCallout.svelte,./LanguageSwitcher.svelte",
      "lines": 161,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "src/components/Footer.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "adcabe6d43fe9e10a1287a01",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../types/news.js | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "d517928d2eb76986",
      "framework": "svelte",
      "imports": "../types/news.js",
      "lines": 234,
      "logic_relevance": "none",
      "name": "NewsHeader",
      "normalized_name": "news-header",
      "package_manager": "pnpm",
      "path": "src/components/NewsHeader.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "b247e96e7677f0fe7b0a4642",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:SliderSetting | imports:react | frontend-score:115 | ui-score:70",
      "exports": "SliderSetting",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "efa4ddd6445ebbf5",
      "framework": "svelte",
      "imports": "react",
      "lines": 20,
      "logic_relevance": "none",
      "name": "ui-components",
      "normalized_name": "ui-components",
      "package_manager": "pnpm",
      "path": "src/components/settings/ui-components.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "c473f2ffb297eca10219c6a2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:./ui-components.tsx, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f3cd52cb410b72b",
      "framework": "svelte",
      "imports": "./ui-components.tsx,vitest",
      "lines": 27,
      "logic_relevance": "none",
      "name": "ui-components.test",
      "normalized_name": "ui-components",
      "package_manager": "pnpm",
      "path": "src/components/settings/ui-components.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,automation",
      "component_id": "b110f3c70b1dfaf306283967",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:sanitizeHtml | logic-score:60 | automation-score:45",
      "exports": "sanitizeHtml",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "33fd1236505fcd2a",
      "framework": "svelte",
      "imports": "",
      "lines": 86,
      "logic_relevance": "primary",
      "name": "sanitize",
      "normalized_name": "sanitize",
      "package_manager": "pnpm",
      "path": "src/lib/sanitize.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,discovery",
      "component_id": "6c16c329691aafd3baa87d70",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_SITEMAP_INDEX_URL, DiscoveredSitemapSite, SitemapDiscoveryOptions, SitemapDiscoverySnapshot, extractLocs, isTrustedPlatformUrl | logic-score:85 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "BASE_SITEMAP_INDEX_URL,DiscoveredSitemapSite,SitemapDiscoveryOptions,SitemapDiscoverySnapshot,extractLocs,isTrustedPlatformUrl",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "db94a7e69c6ce082",
      "framework": "svelte",
      "imports": "",
      "lines": 325,
      "logic_relevance": "primary",
      "name": "sitemap-discovery",
      "normalized_name": "sitemap-discovery",
      "package_manager": "pnpm",
      "path": "src/lib/sitemap-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,security",
      "component_id": "11d3f4ab48491a36be71760d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LCARSColors, LCARSFontSize, LCARSSpacing, borderRadius, breakpoints, colors, fontFamily, fontSize | logic-score:70 | security-score:55",
      "exports": "LCARSColors,LCARSFontSize,LCARSSpacing,borderRadius,breakpoints,colors,fontFamily,fontSize,shadow,spacing,transition",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "94a3cda7d120ee50",
      "framework": "svelte",
      "imports": "",
      "lines": 99,
      "logic_relevance": "primary",
      "name": "lcars",
      "normalized_name": "lcars",
      "package_manager": "pnpm",
      "path": "src/lib/lcars.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,logic,integration,observability,security",
      "component_id": "a356263bfa5975c3e7f0b8ea",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VercelDomain, domainsToNodes | imports:$lib/sitemap | automation-score:95 | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "VercelDomain,domainsToNodes",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "64f062d5a6a68d3c",
      "framework": "svelte",
      "imports": "$lib/sitemap",
      "lines": 182,
      "logic_relevance": "secondary",
      "name": "vercel-domains",
      "normalized_name": "vercel-domains",
      "package_manager": "pnpm",
      "path": "src/lib/vercel-domains.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation,ai",
      "component_id": "10118ffbc024771da1ef7691",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiEndpoint, GraphEdge, GraphNode, NetworkGraph, NetworkGraphBuildOptions, SITE_CATALOG, graphNodesToSitemapNodes | imports:$lib/config, $lib/platform-contract, $lib/sitemap, $lib/sitemap-discovery, $lib/vercel-domains | logic-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ApiEndpoint,GraphEdge,GraphNode,NetworkGraph,NetworkGraphBuildOptions,SITE_CATALOG,graphNodesToSitemapNodes",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "27ad9485ef15f51e",
      "framework": "svelte",
      "imports": "$lib/config,$lib/platform-contract,$lib/sitemap,$lib/sitemap-discovery,$lib/vercel-domains",
      "lines": 2110,
      "logic_relevance": "primary",
      "name": "network-graph",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "src/lib/network-graph.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "023d26aa0353ec638dc24f41",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MCPClient, MCPClientState, MCPClientStatus, MCPError, MCPManifest, MCPRegistration, MCPTool, MCPToolInputSchema | imports:./config | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MCPClient,MCPClientState,MCPClientStatus,MCPError,MCPManifest,MCPRegistration,MCPTool,MCPToolInputSchema,MCPToolParameter,MCPToolResult,getDefaultMCPClient,resetDefaultMCPClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "976edffcca42a964",
      "framework": "svelte",
      "imports": "./config",
      "lines": 443,
      "logic_relevance": "primary",
      "name": "mcp-client",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "src/lib/mcp-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "4a16607677afe9fd732bc348",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib,$types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RootStory, RootStorySource, RootStoryStatus, StoryAggregationSnapshot, dedupeStories, getConfiguredStorySources, getRootStoryCategories, rankStories | imports:$lib/config, $lib/hn, $lib/root-feed-sources, $types/news | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootStory,RootStorySource,RootStoryStatus,StoryAggregationSnapshot,dedupeStories,getConfiguredStorySources,getRootStoryCategories,rankStories,rootStoryToNewsItem",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "69e6b74c12f1887f",
      "framework": "svelte",
      "imports": "$lib/config,$lib/hn,$lib/root-feed-sources,$types/news",
      "lines": 457,
      "logic_relevance": "primary",
      "name": "root-stories",
      "normalized_name": "root-stories",
      "package_manager": "pnpm",
      "path": "src/lib/root-stories.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "aec60ed2a697f55c14f4a6a7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$types",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:HNStory, HNStoryType, HNUser, clearCache, timeAgo, urlDomain | imports:$types/news | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "HNStory,HNStoryType,HNUser,clearCache,timeAgo,urlDomain",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e2c9fbe1fd962e8",
      "framework": "svelte",
      "imports": "$types/news",
      "lines": 221,
      "logic_relevance": "primary",
      "name": "hn",
      "normalized_name": "hn",
      "package_manager": "pnpm",
      "path": "src/lib/hn.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a7597a392cdfa8c8471cab1b",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./config | logic-score:85 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dd505835ef1fc3db",
      "framework": "svelte",
      "imports": "./config",
      "lines": 96,
      "logic_relevance": "primary",
      "name": "outreach",
      "normalized_name": "outreach",
      "package_manager": "pnpm",
      "path": "src/lib/outreach.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,discovery,automation",
      "component_id": "35255536be32d1389b069a25",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib,node:fs,node:path",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LOCALES, NS_IMAGE, NS_NEWS, NS_SITEMAP, NS_XHTML, NetworkManifest, NetworkNode, SITEMAP_HEADERS | imports:$lib/config, node:fs, node:path | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "LOCALES,NS_IMAGE,NS_NEWS,NS_SITEMAP,NS_XHTML,NetworkManifest,NetworkNode,SITEMAP_HEADERS,SITE_URL,STATIC_ROUTES,TODAY,buildMainSitemap,buildNetworkSitemap,buildSitemapIndex,escapeXml,getNetworkManifest,newsEntry,urlEntry",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c1ced70f556a2f04",
      "framework": "svelte",
      "imports": "$lib/config,node:fs,node:path",
      "lines": 299,
      "logic_relevance": "primary",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "src/lib/sitemap.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "750d92d5e6d2bcf61f350e73",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:safeCompare | imports:node:crypto | logic-score:60 | security-score:55",
      "exports": "safeCompare",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "112bc06cc3347527",
      "framework": "svelte",
      "imports": "node:crypto",
      "lines": 20,
      "logic_relevance": "primary",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "src/lib/security.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "4a5a09a248aa55b7ea2c0b14",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:articleJsonLd, breadcrumbJsonLd, faqPageJsonLd, jobPostingJsonLd, networkCatalogJsonLd, orgJsonLd, serializeJsonLd, siteNavJsonLd | imports:$lib/config | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "articleJsonLd,breadcrumbJsonLd,faqPageJsonLd,jobPostingJsonLd,networkCatalogJsonLd,orgJsonLd,serializeJsonLd,siteNavJsonLd,webPageJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47a2d8f5eec22691",
      "framework": "svelte",
      "imports": "$lib/config",
      "lines": 286,
      "logic_relevance": "primary",
      "name": "jsonld",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "src/lib/jsonld.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "b06d0e0d61affe9d7fe136a0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:countNetworkSites, getTrustedDomainRecords | imports:$lib/config, $lib/network-graph, $lib/platform-contract, $lib/root-stories, $lib/sitemap | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "countNetworkSites,getTrustedDomainRecords",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d30306d567e33d13",
      "framework": "svelte",
      "imports": "$lib/config,$lib/network-graph,$lib/platform-contract,$lib/root-stories,$lib/sitemap",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "root-discovery",
      "normalized_name": "root-discovery",
      "package_manager": "pnpm",
      "path": "src/lib/root-discovery.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0a79e7bca56687b7c32a6eed",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$env",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PLATFORM_AUTH_HEADERS, ROOT_BASE_URL, ROOT_IMPLEMENTED_PUBLIC_ROUTES, RouteComplianceSummary, STANDARD_PUBLIC_ROUTES, TRUST_POLICY_LINE, WWW_BASE_URL, buildPlatphormTraceHeaders | imports:$env/dynamic/private | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PLATFORM_AUTH_HEADERS,ROOT_BASE_URL,ROOT_IMPLEMENTED_PUBLIC_ROUTES,RouteComplianceSummary,STANDARD_PUBLIC_ROUTES,TRUST_POLICY_LINE,WWW_BASE_URL,buildPlatphormTraceHeaders,errorJson,getDiscoveryCompliance,getRootRouteCompliance,isAuthorizedPlatformRequest,okJson,requirePlatformAuth,sanitizeVercelRequestMetadata",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "183ea4b67df034c8",
      "framework": "svelte",
      "imports": "$env/dynamic/private",
      "lines": 242,
      "logic_relevance": "primary",
      "name": "platform-contract",
      "normalized_name": "platform-contract",
      "package_manager": "pnpm",
      "path": "src/lib/platform-contract.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation",
      "component_id": "e7fd84d09b1548f6ff0a91c5",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "$env",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AIRROW_API, ALTNEWS_API, APPLE_TOUCH_ICON, APP_DESCRIPTION, APP_EMOJI, APP_NAME, APP_VERSION, ASCII_API | imports:$env/dynamic/public | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45",
      "exports": "AIRROW_API,ALTNEWS_API,APPLE_TOUCH_ICON,APP_DESCRIPTION,APP_EMOJI,APP_NAME,APP_VERSION,ASCII_API,AUTHOR,AUTHOR_EMAIL,AUTHOR_URL,BASE_API,CALENDAR_API,CLAWS_API,COBOL_API,DEFAULT_PAGE_SIZE,DESA_API,DOCS_API,DOCS_ARTICLES_TTL,DOCS_FALLBACK_PATH,EMOJI_API,FASHION_API,FAVICON_PNG,GAMES_API,GLOBALSHOP_API,GREENS_API,GTA_API,GTM_ID,HN_API_BASE,HN_ITEM_URL,INSIGHTS_API,JOBS_API,JSON_API,LOCALES,MARKDOWN_API,MCP_API,MONITOR_API,NETWORK_PARENTS,NPAAS_API,OG_IMAGE,ONBOARD_API,OPENCONTENT_API,PLATPHORM_NETWORK,POLYMARKETS_API,POLYMATHS_API,PRELOAD_COMMENTS_COUNT,QUAKE_API,REFLUX_API,REGISTER_API,SANDBOX_API,SHEETS_API,SITE_URL,SPACE_API,SPEC_API,SPORTS_API,STARPHONE_API,TRACE_API,TWITTER_HANDLE,TWO_API,XML_API",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "10d7751c2c271b1b",
      "framework": "svelte",
      "imports": "$env/dynamic/public",
      "lines": 259,
      "logic_relevance": "secondary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "src/lib/config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "415624bdb02dc2604dd02349",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DynamoItem | imports:@aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, @vercel/functions/oidc | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "DynamoItem",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2fbce3d02f812603",
      "framework": "svelte",
      "imports": "@aws-sdk/client-dynamodb,@aws-sdk/lib-dynamodb,@vercel/functions/oidc",
      "lines": 147,
      "logic_relevance": "primary",
      "name": "dynamodb",
      "normalized_name": "dynamodb",
      "package_manager": "pnpm",
      "path": "src/lib/dynamodb.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,logic",
      "component_id": "89ff04487edf6c25ed048e76",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2be236c69b4b0bfb",
      "framework": "svelte",
      "imports": "",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "learnings",
      "normalized_name": "learnings",
      "package_manager": "pnpm",
      "path": "src/lib/learnings.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,automation",
      "component_id": "0ae988a52716c195865e2d95",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f0f013ee5fccc74",
      "framework": "svelte",
      "imports": "",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "review_request",
      "normalized_name": "review-request",
      "package_manager": "pnpm",
      "path": "src/lib/review_request.md",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security,discovery",
      "component_id": "3a78ed3ad620e5fa391b3eb6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ROOT_CONTENT_FEED_SOURCES, RootContentFeedItem, RootContentFeedSource, parseRootContentFeed | imports:$lib/config | logic-score:85 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "ROOT_CONTENT_FEED_SOURCES,RootContentFeedItem,RootContentFeedSource,parseRootContentFeed",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2bcbe9e7567ef0e7",
      "framework": "svelte",
      "imports": "$lib/config",
      "lines": 239,
      "logic_relevance": "primary",
      "name": "root-feed-sources",
      "normalized_name": "root-feed-sources",
      "package_manager": "pnpm",
      "path": "src/lib/root-feed-sources.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "85b711b377eae5fa4dcc52dc",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AudioEngine, layered, noise, tone | logic-score:60 | observability-score:55",
      "exports": "AudioEngine,layered,noise,tone",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c0eb2ea012c7ed82",
      "framework": "svelte",
      "imports": "",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "audio-engine",
      "normalized_name": "audio-engine",
      "package_manager": "pnpm",
      "path": "src/lib/game/audio-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "logic",
      "component_id": "192998193d9e2b49a895f56c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "vitest",
      "description": "Logic component for media; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockAudioContext | imports:./audio-engine, vitest | logic-score:85",
      "exports": "MockAudioContext",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1847e85feb6913ed",
      "framework": "svelte",
      "imports": "./audio-engine,vitest",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "audio-engine.test",
      "normalized_name": "audio-engine",
      "package_manager": "pnpm",
      "path": "src/lib/game/audio-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "30f932ae7014a52ba3461701",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e19f333690c7a4da",
      "framework": "svelte",
      "imports": "",
      "lines": 1526,
      "logic_relevance": "primary",
      "name": "platphorm-universal-schema-pack",
      "normalized_name": "platphorm-universal-schema-pack",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,backend",
      "component_id": "5eb944ad43289a4fbd8d8a46",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ca23fa999c783453",
      "framework": "svelte",
      "imports": "",
      "lines": 217,
      "logic_relevance": "primary",
      "name": "podcast.schema",
      "normalized_name": "podcast-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/podcast.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation",
      "component_id": "79dd78368728b3e8d6503ce6",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ca90681c271f3a1b",
      "framework": "svelte",
      "imports": "",
      "lines": 555,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security,process",
      "component_id": "da51179a3589d39f819adcc9",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2714fe800761117a",
      "framework": "svelte",
      "imports": "",
      "lines": 73,
      "logic_relevance": "primary",
      "name": "docs.schema",
      "normalized_name": "docs-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/docs.schema.json",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "372fe9a9f8074a98bb34b19d",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cb7a92266b4fd0ab",
      "framework": "svelte",
      "imports": "",
      "lines": 411,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "c21b8f1df1dca4c12c285099",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fd1c585a00422d71",
      "framework": "svelte",
      "imports": "",
      "lines": 140,
      "logic_relevance": "primary",
      "name": "trace.schema",
      "normalized_name": "trace-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/trace.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "d6d24cfb777105f050e326b3",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "efe09843aa09f4bb",
      "framework": "svelte",
      "imports": "",
      "lines": 242,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,backend,observability",
      "component_id": "6478eb306582b5a3ea7cb308",
      "component_kind": "agent",
      "confidence": 75,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f87f6cc0872ae740",
      "framework": "svelte",
      "imports": "",
      "lines": 234,
      "logic_relevance": "secondary",
      "name": "agent.schema",
      "normalized_name": "agent-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/agent.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "6b191320a40ca273b7b26f47",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "471c4df54a94c1a3",
      "framework": "svelte",
      "imports": "",
      "lines": 678,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ai,logic,backend",
      "component_id": "daeaac030854eff8a2e92fbe",
      "component_kind": "ai-eval",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for seo-and-metadata; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:75 | logic-score:70 | backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "07253cf671d85bc9",
      "framework": "svelte",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "evals.schema",
      "normalized_name": "evals-schema",
      "package_manager": "pnpm",
      "path": "src/lib/schemas/components/evals.schema.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic,security",
      "component_id": "44dedf409a874de07d5765b8",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9e0f5d3fa04b307f",
      "framework": "svelte",
      "imports": "",
      "lines": 424,
      "logic_relevance": "secondary",
      "name": "theme",
      "normalized_name": "theme",
      "package_manager": "pnpm",
      "path": "src/lib/styles/theme.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "f502d8f37fbc6019125c523c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../routes/robots.txt/+server, ../config, ../sitemap, node:fs, node:path, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d419f2f68594e214",
      "framework": "svelte",
      "imports": "../../routes/robots.txt/+server,../config,../sitemap,node:fs,node:path,vitest",
      "lines": 319,
      "logic_relevance": "primary",
      "name": "seo.test",
      "normalized_name": "seo",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/seo.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "35e5f53327fcd3d5665c7117",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../sanitize, vitest | logic-score:60 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "54dba61dc07632e4",
      "framework": "svelte",
      "imports": "../sanitize,vitest",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "sanitize.test",
      "normalized_name": "sanitize",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/sanitize.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "0f79d76adfd0d5440fe3297e",
      "component_kind": "schema-validation",
      "confidence": 85,
      "dependency_roots": "ajv,ajv-formats,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../schemas/platphorm-universal-schema-pack.json, ajv-formats, ajv/dist/2020, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "57b0efa0af303b31",
      "framework": "svelte",
      "imports": "../schemas/platphorm-universal-schema-pack.json,ajv-formats,ajv/dist/2020,vitest",
      "lines": 253,
      "logic_relevance": "primary",
      "name": "schema.test",
      "normalized_name": "schema",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/schema.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation,ai",
      "component_id": "5cace0b243d2044b1a2574d0",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EXPECTED_MCP_TOOLS | imports:../../routes/.well-known/mcp.json/+server, ../config, node:fs, node:path, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "EXPECTED_MCP_TOOLS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "42619d74387a193f",
      "framework": "svelte",
      "imports": "../../routes/.well-known/mcp.json/+server,../config,node:fs,node:path,vitest",
      "lines": 582,
      "logic_relevance": "primary",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/mcp.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "df2133d95c81ee6d7c50125b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EXPECTED_API_IDS, EXPECTED_SERVICE_IDS, VALID_NODE_TYPES, VALID_SOURCE_VALUES | imports:../config, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EXPECTED_API_IDS,EXPECTED_SERVICE_IDS,VALID_NODE_TYPES,VALID_SOURCE_VALUES",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6c8d7fd37c86aafc",
      "framework": "svelte",
      "imports": "../config,vitest",
      "lines": 332,
      "logic_relevance": "primary",
      "name": "network-graph.test",
      "normalized_name": "network-graph",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/network-graph.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,integration,observability,security,ai",
      "component_id": "d0dd7b21d3a913ae8d434148",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../config, ../mcp-client, vitest | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c4615babdb5c88bb",
      "framework": "svelte",
      "imports": "../config,../mcp-client,vitest",
      "lines": 763,
      "logic_relevance": "primary",
      "name": "mcp-client.test",
      "normalized_name": "mcp-client",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/mcp-client.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "edfa651d302258bfd71701d9",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@sveltejs/kit,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../hooks.server, @sveltejs/kit, vitest | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f426977386ab6d68",
      "framework": "svelte",
      "imports": "../../hooks.server,@sveltejs/kit,vitest",
      "lines": 168,
      "logic_relevance": "primary",
      "name": "hooks.server.test",
      "normalized_name": "hooks-server",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/hooks.server.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "575b5d5fdec13903c288dee5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GAMES_API_BASE | imports:../config, vitest | logic-score:85 | observability-score:55",
      "exports": "GAMES_API_BASE",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9d9454257d12a986",
      "framework": "svelte",
      "imports": "../config,vitest",
      "lines": 175,
      "logic_relevance": "primary",
      "name": "games.test",
      "normalized_name": "games",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/games.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "c5dc910b1ff212ec3c0a81ff",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../config, ../sitemap, vitest | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "79be45ad625bcfec",
      "framework": "svelte",
      "imports": "../config,../sitemap,vitest",
      "lines": 218,
      "logic_relevance": "primary",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/sitemap.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,discovery",
      "component_id": "6b6198688abdc26b8ac6084d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../network-graph, ../sitemap-discovery, vitest | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fdec70c1a1c59bb8",
      "framework": "svelte",
      "imports": "../network-graph,../sitemap-discovery,vitest",
      "lines": 121,
      "logic_relevance": "primary",
      "name": "sitemap-discovery.test",
      "normalized_name": "sitemap-discovery",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/sitemap-discovery.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "logic,backend,observability,security",
      "component_id": "4ead2ecfd2189f9fe8b3f688",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../routes/api/news/+server, vitest | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "83ab41bff0d62ad1",
      "framework": "svelte",
      "imports": "../../routes/api/news/+server,vitest",
      "lines": 119,
      "logic_relevance": "primary",
      "name": "news-api.test",
      "normalized_name": "news-api",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/news-api.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "logic,observability,security,ai",
      "component_id": "47d50bd8790e1f9dc2702bbc",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for mcp; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../routes/api/faq/+server, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fb4a5981b3c72718",
      "framework": "svelte",
      "imports": "../../routes/api/faq/+server,vitest",
      "lines": 42,
      "logic_relevance": "primary",
      "name": "faq.test",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/faq.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,process",
      "component_id": "b4574112f1cf475c0b23bf00",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../config, vitest | logic-score:85 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6b0b843065c67437",
      "framework": "svelte",
      "imports": "../config,vitest",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "docs-news.test",
      "normalized_name": "docs-news",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/docs-news.test.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,discovery",
      "component_id": "756efd8ce4d53fa2879fde9c",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../root-feed-sources, vitest | logic-score:85 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f3443b5acc52fb6",
      "framework": "svelte",
      "imports": "../root-feed-sources,vitest",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "root-feed-sources.test",
      "normalized_name": "root-feed-sources",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/root-feed-sources.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "a99d4da74ae0080fb26c22f7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../config, ../jsonld, vitest | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "874adb2e6106276e",
      "framework": "svelte",
      "imports": "../config,../jsonld,vitest",
      "lines": 340,
      "logic_relevance": "primary",
      "name": "jsonld.test",
      "normalized_name": "jsonld",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/jsonld.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "7dc9fe8e64800fdab3e14549",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../hn, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "65040573d2e989e4",
      "framework": "svelte",
      "imports": "../hn,vitest",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "hn.test",
      "normalized_name": "hn",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/hn.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "b9beedfeea329bfe8d22fec1",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../routes/api/v1/sources/sync/+server, ../../routes/api/v1/stories/+server, ../config, ../network-graph, ../platform-contract, ../root-stories, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6b1e7e44da25da02",
      "framework": "svelte",
      "imports": "../../routes/api/v1/sources/sync/+server,../../routes/api/v1/stories/+server,../config,../network-graph,../platform-contract,../root-stories,vitest",
      "lines": 193,
      "logic_relevance": "primary",
      "name": "phase1-root.test",
      "normalized_name": "phase1-root",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/phase1-root.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "4f1bd83cbe8611fa95d45ee1",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "svelte,vitest",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../i18n, svelte/store, vitest | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "00b4dc7a2d1ab68a",
      "framework": "svelte",
      "imports": "../i18n,svelte/store,vitest",
      "lines": 72,
      "logic_relevance": "primary",
      "name": "i18n.test",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/i18n.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7687bf5ac61ead496896b2dd",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "$lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:$lib/config, ../../routes/api/health/+server, ../../routes/api/v1/health/+server, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5c8f1f9fae445adc",
      "framework": "svelte",
      "imports": "$lib/config,../../routes/api/health/+server,../../routes/api/v1/health/+server,vitest",
      "lines": 32,
      "logic_relevance": "primary",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "src/lib/__tests__/health.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "5963bd1e62d7a27ee5798a5d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "$lib,svelte",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_LOCALE, Locale, SUPPORTED_LOCALES, dir, initLocale, locale, setLocale, t | imports:$lib/i18n, svelte/store | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DEFAULT_LOCALE,Locale,SUPPORTED_LOCALES,dir,initLocale,locale,setLocale,t",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "11df1d745e386862",
      "framework": "svelte",
      "imports": "$lib/i18n,svelte/store",
      "lines": 367,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "src/lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "backend,observability",
      "component_id": "bba1874c61b855b2d5136c3b",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for game; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load, prerender | imports:./$types | backend-score:55 | observability-score:55",
      "exports": "load,prerender",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c80df79aa7f81595",
      "framework": "svelte",
      "imports": "./$types",
      "lines": 50,
      "logic_relevance": "none",
      "name": "+page.server",
      "normalized_name": "page-server",
      "package_manager": "pnpm",
      "path": "src/routes/+page.server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "89c55efa7e813ff3a3044df2",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$components,$lib,$types,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:COMMENTS_PER_PAGE | imports:$components/NewsHeader.svelte, $lib/i18n, $lib/sanitize, $types/news.js, svelte/transition | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "COMMENTS_PER_PAGE",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b43300a606f55392",
      "framework": "svelte",
      "imports": "$components/NewsHeader.svelte,$lib/i18n,$lib/sanitize,$types/news.js,svelte/transition",
      "lines": 1064,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "f15fdb46a6b32630ae6ecbf1",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "$app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/navigation, $app/stores | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "dc2447cd63eef5c1",
      "framework": "svelte",
      "imports": "$app/navigation,$app/stores",
      "lines": 137,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "src/routes/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "90e6ec2eb7e9e83d1037bcb9",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:$lib/config, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "834b792c76105b5f",
      "framework": "svelte",
      "imports": "$lib/config,@sveltejs/kit",
      "lines": 21,
      "logic_relevance": "none",
      "name": "+layout.server",
      "normalized_name": "layout-server",
      "package_manager": "pnpm",
      "path": "src/routes/+layout.server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation,ai",
      "component_id": "fdf9c32d5a24920333a8715d",
      "component_kind": "layout",
      "confidence": 90,
      "dependency_roots": "$lib,@vercel/analytics,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ_LD, NAV_LD, ORG_LD, WEB_LD | imports:$lib/config, $lib/i18n, $lib/jsonld, ../components/Footer.svelte, ../components/Header.svelte, @vercel/analytics, svelte | frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQ_LD,NAV_LD,ORG_LD,WEB_LD",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "6cbaad0465f0ebd5",
      "framework": "svelte",
      "imports": "$lib/config,$lib/i18n,$lib/jsonld,../components/Footer.svelte,../components/Header.svelte,@vercel/analytics,svelte",
      "lines": 250,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/routes/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "67447c0aa2046ad1a350253c",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$lib,$types",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PAGE_SIZE | imports:$lib/hn, $lib/i18n, $types/news | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "PAGE_SIZE",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "c1b7b4b73d2ef396",
      "framework": "svelte",
      "imports": "$lib/hn,$lib/i18n,$types/news",
      "lines": 489,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/top/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "6ac62d08ed1dc82a60e9e273",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:$lib/hn | backend-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c2ae5f62d88d4e4",
      "framework": "svelte",
      "imports": "$lib/hn",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/top/+page.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "6b98cb00f8d76d47e93e5dd6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/root-discovery, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8e87e74596f6c3b6",
      "framework": "svelte",
      "imports": "$lib/root-discovery,./$types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/llms.txt/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "45100ea464902e07819341c4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/root-stories, ./$types | backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "78b197348efdd5b5",
      "framework": "svelte",
      "imports": "$lib/config,$lib/root-stories,./$types",
      "lines": 98,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/rss.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "35ea123c5965136fa3038401",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../rss.xml/+server | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ce1f93797b871370",
      "framework": "svelte",
      "imports": "../rss.xml/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/feed.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "c08f3add654488820647746e",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$lib,$types",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PAGE_SIZE | imports:$lib/hn, $lib/i18n, $lib/sanitize, $types/news | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "PAGE_SIZE",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "6d3aaebabb4f90d3",
      "framework": "svelte",
      "imports": "$lib/hn,$lib/i18n,$lib/sanitize,$types/news",
      "lines": 476,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/ask/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7d551006e13b85888dbca61e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:$lib/hn | backend-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd4e515f6005f587",
      "framework": "svelte",
      "imports": "$lib/hn",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/ask/+page.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,ui,backend,security,automation,ai",
      "component_id": "38be3aa2c2946ea56241a19c",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ_LD | imports:$lib/i18n, $lib/jsonld | frontend-score:60 | ui-score:55 | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "FAQ_LD",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "7220de3419a97f6c",
      "framework": "svelte",
      "imports": "$lib/i18n,$lib/jsonld",
      "lines": 116,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/faq/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "5aa9b777f166bd06d2c24f47",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app,$components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/navigation, $components/Auth.svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "1b9a20a0df7fd729",
      "framework": "svelte",
      "imports": "$app/navigation,$components/Auth.svelte",
      "lines": 86,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/signup/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "06b64fb3903f97205068ae96",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../trust-policy.json/+server | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af4fe3e20442c6b0",
      "framework": "svelte",
      "imports": "../trust-policy.json/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/trust.json/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai,backend",
      "component_id": "f8d99629109ceecb614aeaa0",
      "component_kind": "agent",
      "confidence": 85,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:../agent.json/+server | ai-score:75 | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e305461bafd1d51e",
      "framework": "svelte",
      "imports": "../agent.json/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/agents.json/+server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,backend,observability,security",
      "component_id": "13ffa7da74fd5c14de9aceac",
      "component_kind": "agent",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:./$types, @sveltejs/kit | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f4e4ba396be03bfa",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 27,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/agent.json/+server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "e18b7157d7b780abe3bd4de4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/platform-contract, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b0218a49a4ad5874",
      "framework": "svelte",
      "imports": "$lib/config,$lib/platform-contract,./$types,@sveltejs/kit",
      "lines": 71,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/trust-policy.json/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "backend,security",
      "component_id": "ed63d3c2de31e574ab465ab4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types | backend-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ac2a81d2c99fb8d0",
      "framework": "svelte",
      "imports": "$lib/config,./$types",
      "lines": 19,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/security.txt/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "6edc0d024a3bd58446d248d7",
      "component_kind": "mcp-server",
      "confidence": 90,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types, @sveltejs/kit | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ea07c3645fd6ae57",
      "framework": "svelte",
      "imports": "$lib/config,./$types,@sveltejs/kit",
      "lines": 44,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/mcp.json/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,backend,observability",
      "component_id": "70f086e8011f05920d0ed5f2",
      "component_kind": "agent",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:GET | imports:./$types, @sveltejs/kit | ai-score:75 | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "bd1459f4503d3cfd",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 37,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/.well-known/agent-config.json/+server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,ai",
      "component_id": "02b686f82c581070770a5896",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$lib,$types,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$lib/i18n, $types/news, svelte/transition | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "c2b787045049e5bd",
      "framework": "svelte",
      "imports": "$lib/i18n,$types/news,svelte/transition",
      "lines": 462,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/platform/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "8a8112c08cba2d624edde55c",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib,$types,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:$lib/config, $types/news, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1326e43310d2cd96",
      "framework": "svelte",
      "imports": "$lib/config,$types/news,@sveltejs/kit",
      "lines": 101,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/platform/+page.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "c4a25408cf3b1043ae2d68dd",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$lib,$types",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PAGE_SIZE | imports:$lib/hn, $lib/i18n, $lib/sanitize, $types/news | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "PAGE_SIZE",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f7977ea0e2cee66",
      "framework": "svelte",
      "imports": "$lib/hn,$lib/i18n,$lib/sanitize,$types/news",
      "lines": 502,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/show/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "009ce22dfb9e1a108bb428f5",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:$lib/hn | backend-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da3a42630f7892c8",
      "framework": "svelte",
      "imports": "$lib/hn",
      "lines": 15,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/show/+page.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "5392f8b5f0606ae75d291fd7",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$lib,$types",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PAGE_SIZE | imports:$lib/hn, $lib/i18n, $types/news | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "PAGE_SIZE",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a45215f14e3d5f5f",
      "framework": "svelte",
      "imports": "$lib/hn,$lib/i18n,$types/news",
      "lines": 479,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/best/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d08eb6db10409ec19613e120",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:$lib/hn | backend-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55301f5c0424e665",
      "framework": "svelte",
      "imports": "$lib/hn",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/best/+page.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability,security",
      "component_id": "06a07f5e2203313b6970f5ba",
      "component_kind": "auth-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:./$types | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1dcf35861468cb55",
      "framework": "svelte",
      "imports": "./$types",
      "lines": 25,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/[key].txt/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,ai",
      "component_id": "98383a933ef3c66ae20fa8ac",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$lib/config | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "714d3d3f03583f78",
      "framework": "svelte",
      "imports": "$lib/config",
      "lines": 138,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/blog/ph3ar/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,discovery",
      "component_id": "7a69def03d628171fb5496bf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/root-discovery, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1d28aa21e9771637",
      "framework": "svelte",
      "imports": "$lib/root-discovery,./$types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/llms-full.txt/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "f3db2ca952f35c8c67d48a7d",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/root-stories, $lib/sitemap, ./$types | backend-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "58092093daa994f0",
      "framework": "svelte",
      "imports": "$lib/config,$lib/root-stories,$lib/sitemap,./$types",
      "lines": 51,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/atom.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d518c8958a9221b7fd2e61af",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/sitemap, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8cdeb19bdcabe5c3",
      "framework": "svelte",
      "imports": "$lib/sitemap,./$types",
      "lines": 6,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/sitemap-index.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "0d63c4711d01ef21f612d45e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../capabilities/+server | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "07118264e428b421",
      "framework": "svelte",
      "imports": "../../capabilities/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/capabilities/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5aaf0751dac602010668feb0",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../atom.xml/+server | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8c4b2e54b90ddb7b",
      "framework": "svelte",
      "imports": "../../../atom.xml/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/atom/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f3e54c01eed994f0407270b8",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../health/+server | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bd90018e90c5a2df",
      "framework": "svelte",
      "imports": "../../health/+server",
      "lines": 2,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/health/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "d13a4a992724f832ebb622f7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, $lib/platform-contract, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a30b3a16ce5c8ded",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/platform-contract,./$types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/rss-enabled/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,observability,automation",
      "component_id": "6d9922614e6b14efbb506e61",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:$lib/network-graph, ./$types | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0b81b24f660eedab",
      "framework": "svelte",
      "imports": "$lib/network-graph,./$types",
      "lines": 124,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/graph/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "2a742d98556dd4a647a5416b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/network-graph, $lib/platform-contract, ./$types | backend-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e4b7a6dec60fa567",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/graph/sync/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d6eab75b9395ab7da105c823",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:$lib/network-graph, ./$types | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5ef6479c144feba2",
      "framework": "svelte",
      "imports": "$lib/network-graph,./$types",
      "lines": 82,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/sites/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "4b7e0121df597b749304738e",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, $lib/platform-contract, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a60f2922dc4e6953",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/platform-contract,./$types",
      "lines": 19,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/sites/[slug]/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "9b7cb1d81a99683d621d15c5",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7ad1f1114c56ccf5",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 6,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/route-compliance/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend",
      "component_id": "1e5395d4e6b5626c78f78789",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, $lib/platform-contract, $lib/root-discovery, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "452a47e4b50c46cc",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/platform-contract,$lib/root-discovery,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/trusted-domains/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "7dc22aeb968f6d858e4eb83f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7df67994fb6b114a",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 6,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/discovery-compliance/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration",
      "component_id": "01bb5ed073341f43e468eda8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, $lib/platform-contract, ./$types | backend-score:55 | integration-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6b04db8a25d51882",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/platform-contract,./$types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/mcp-enabled/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "5dc4c811326181050c409559",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, $lib/platform-contract, ./$types | backend-score:55 | security-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b445dda742f36109",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/platform-contract,./$types",
      "lines": 15,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/network/verticals/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2f9df25b16a712f902d3a971",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../rss.xml/+server | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "98f4be257726ce06",
      "framework": "svelte",
      "imports": "../../../rss.xml/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/rss/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ai,backend,observability,security",
      "component_id": "3d7df813111605b7a7374bc8",
      "component_kind": "ai-eval",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "AI component for auth-and-keys; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:POST | imports:$lib/platform-contract, ./$types | ai-score:75 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "3fb34167deeb2a03",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/tests/evals/+server.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "be858c691f838d5b89e2b655",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/platform-contract, ./$types | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "406789ed4f02db16",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/tests/browserops/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,integration,ai",
      "component_id": "62bf4ed84935ac566c518bcc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/network-graph, ./$types, @sveltejs/kit | backend-score:55 | integration-score:55 | ai-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ccc34c69ca8dacd3",
      "framework": "svelte",
      "imports": "$lib/config,$lib/network-graph,./$types,@sveltejs/kit",
      "lines": 35,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/mcp/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,process",
      "component_id": "bb17bb8e6ec447f8dd15feb3",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../docs/+server | backend-score:55 | process-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6295b91a3ccd4c55",
      "framework": "svelte",
      "imports": "../../docs/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/docs/+server.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "e52b40f7fbd185d3168ef55a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d8d684d9f4af81c2",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 17,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/search/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,discovery",
      "component_id": "3abc0f61330605e50727069c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/platform-contract, $lib/root-stories, ./$types | backend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3a44911b4ca73fb0",
      "framework": "svelte",
      "imports": "$lib/config,$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 27,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/feeds/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "2259f03f7e0fa1c9a8789045",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../sources/sync/+server | backend-score:55 | discovery-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f36f66df57db4f03",
      "framework": "svelte",
      "imports": "../../sources/sync/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/feeds/sync/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "fcdef6438a4615016d2183ff",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8012b838c66ed795",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/stories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "077d395449a270ecba676026",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "345aef5ab1238690",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 8,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/stories/top/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability",
      "component_id": "45ce5e63451c5b3ca4cd2962",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4789531200851ca2",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/stories/featured/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f69fdd497f98c0bd23fba59d",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1c6eade8a773f5f1",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/stories/[id]/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery",
      "component_id": "3eb7f416b3fac750d6b1f5e4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/platform-contract, $lib/sitemap, ./$types | backend-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b0d317d1ddd0ea47",
      "framework": "svelte",
      "imports": "$lib/config,$lib/platform-contract,$lib/sitemap,./$types",
      "lines": 18,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/sitemaps/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "443c7ba5f58164c14e434cc3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/platform-contract, $lib/sitemap, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f04d1fd6b480586b",
      "framework": "svelte",
      "imports": "$lib/config,$lib/platform-contract,$lib/sitemap,./$types",
      "lines": 17,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/sitemaps/urls/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "80b9b827e363c19841b7303b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/platform-contract, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6242109fac0f9c77",
      "framework": "svelte",
      "imports": "$lib/config,$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/sitemaps/index/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,observability,security,discovery",
      "component_id": "c436dc9c1971d790280fb923",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/platform-contract, $lib/sitemap, $lib/sitemap-discovery, ./$types | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bc057455a5b2d9ae",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/sitemap,$lib/sitemap-discovery,./$types",
      "lines": 33,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/sitemaps/sync/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "2bab23fea5b6e7cd843ff13a",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "21c24acb89c969ee",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/sources/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "793d1bc7b085b6d279853e08",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2353a82504a95ccd",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/sources/sync/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,automation",
      "component_id": "f7443d289477d57d3e7ff89b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:./$types, @sveltejs/kit | backend-score:55 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ee84932c07670eba",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 18,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/webhooks/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend",
      "component_id": "1c045a948d5a881b4657dbe5",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/platform-contract, $lib/root-stories, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ea8345e74ddb5705",
      "framework": "svelte",
      "imports": "$lib/platform-contract,$lib/root-stories,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/categories/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "5392d19dd6001fb0a7f0e2af",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/platform-contract, ./$types | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ec31e1d73e8694e6",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/reports/sheets/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,process",
      "component_id": "e0156af80d5074e400e14da4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/platform-contract, ./$types | backend-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6874e5ef0ae1f51e",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/reports/docs/+server.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "2fe56b5d7c6c2bc5940f77ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:$lib/platform-contract, ./$types | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e5d47bd071a6ab8e",
      "framework": "svelte",
      "imports": "$lib/platform-contract,./$types",
      "lines": 14,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/v1/reports/decks/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "8f7d5f6aeac78a63469f7774",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:./$types, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e165b9e75875a5cb",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 97,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/quake/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend,observability",
      "component_id": "9d96a6251b4e5fc57ef991d5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,$types,@sveltejs/kit",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, prerender | imports:$lib/config, $lib/hn, $types/news, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "GET,prerender",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd566239e52118c7",
      "framework": "svelte",
      "imports": "$lib/config,$lib/hn,$types/news,./$types,@sveltejs/kit",
      "lines": 160,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/hackernews/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,observability,security,automation",
      "component_id": "3738e21b1720db98dd2d6674",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/vercel-domains, ./$types | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a9beb0a9de800bef",
      "framework": "svelte",
      "imports": "$lib/vercel-domains,./$types",
      "lines": 55,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/domains/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "0f4ab16f3fb0e3c3e6f290e5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:./$types, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a66f1f759bd700c1",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 26,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/capabilities/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "13233b508bf1254568ec6bf7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e1cdb0491dda89ce",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 40,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/auth/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,security,automation,ai",
      "component_id": "8d65998047e9323fba480919",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:./$types, @sveltejs/kit | backend-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2295524e2a8d5d55",
      "framework": "svelte",
      "imports": "./$types,@sveltejs/kit",
      "lines": 56,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/faq/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "1ff5578d2256ec3ec7f7460d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$env,$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$env/dynamic/private, $lib/config, $lib/platform-contract, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f7d7367dbc36b318",
      "framework": "svelte",
      "imports": "$env/dynamic/private,$lib/config,$lib/platform-contract,./$types,@sveltejs/kit",
      "lines": 79,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/health/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability,security,ai",
      "component_id": "fec94f9dc9893c5f40b220a0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:$lib/config, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "14b46feb9b36f78e",
      "framework": "svelte",
      "imports": "$lib/config,./$types,@sveltejs/kit",
      "lines": 160,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/platform/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,observability,automation",
      "component_id": "eb60680b463612f31646f37a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, ./$types | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e179eea4365864ec",
      "framework": "svelte",
      "imports": "$lib/network-graph,./$types",
      "lines": 95,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/network/graph/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "c48053c443f0d34b01663389",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:../../v1/network/sites/+server | backend-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "82935de25d94ac81",
      "framework": "svelte",
      "imports": "../../v1/network/sites/+server",
      "lines": 1,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/network/sites/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "1b6a404bff0e5b8a9ba65de5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/dynamodb, ./$types | backend-score:55 | observability-score:55 | uses-env",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6d0b74a42c1e7c21",
      "framework": "svelte",
      "imports": "$lib/dynamodb,./$types",
      "lines": 91,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/dynamodb/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation,ai",
      "component_id": "70f2eaa40d3dcfaa54466d85",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit,node:fs,node:path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, OPTIONS, POST | imports:$lib/config, $lib/hn, ./$types, @sveltejs/kit, node:fs, node:path | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "DELETE,GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1f18036a2c394f23",
      "framework": "svelte",
      "imports": "$lib/config,$lib/hn,./$types,@sveltejs/kit,node:fs,node:path",
      "lines": 1090,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/mcp/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability,security,ai",
      "component_id": "acb74bd7d159a475d094d25a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:$lib/config, $lib/mcp-client, ./$types, @sveltejs/kit | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9c1c8210e2eaf919",
      "framework": "svelte",
      "imports": "$lib/config,$lib/mcp-client,./$types,@sveltejs/kit",
      "lines": 129,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/mcp/client/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,discovery,process,automation,ai",
      "component_id": "a8fc485f05b16d9c0afd050c",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$lib/config | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "a414629174384622",
      "framework": "svelte",
      "imports": "$lib/config",
      "lines": 229,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/api/docs/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,process",
      "component_id": "d1ce1e30a10da5212d20cb7a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e422169b71d91a90",
      "framework": "svelte",
      "imports": "$lib/config,./$types,@sveltejs/kit",
      "lines": 273,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/docs/+server.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "472a37534fd287301e6b77c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,$types,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, LatestNewsItem, prerender | imports:$lib/config, $lib/hn, $lib/root-stories, $types/news, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,LatestNewsItem,prerender",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "fa84d549746f9e12",
      "framework": "svelte",
      "imports": "$lib/config,$lib/hn,$lib/root-stories,$types/news,./$types,@sveltejs/kit",
      "lines": 383,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/news/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "01db0885e9974f7e41733af5",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e2efe8b546973d48",
      "framework": "svelte",
      "imports": "$lib/config,./$types",
      "lines": 35,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/og/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "03f3705072e54dda7afbbae3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$env,$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | imports:$env/dynamic/private, $lib/security, ./$types, @sveltejs/kit | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "707498d464ddbd2a",
      "framework": "svelte",
      "imports": "$env/dynamic/private,$lib/security,./$types,@sveltejs/kit",
      "lines": 174,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/webhooks/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "4d97d6f58132b3ce2a86cf35",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | imports:$lib/config, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "15bb4130a39113c7",
      "framework": "svelte",
      "imports": "$lib/config,./$types,@sveltejs/kit",
      "lines": 103,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/games/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,backend,observability,security",
      "component_id": "87e4ad088057b5ccdd27e067",
      "component_kind": "scheduled-job",
      "confidence": 100,
      "dependency_roots": "$env,$lib,@sveltejs/kit",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:GET | imports:$env/dynamic/private, $lib/hn, $lib/security, ./$types, @sveltejs/kit | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05a55f2f2b013ea2",
      "framework": "svelte",
      "imports": "$env/dynamic/private,$lib/hn,$lib/security,./$types,@sveltejs/kit",
      "lines": 47,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/cron/refresh/+server.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,backend,observability,security",
      "component_id": "2f01a70517b4f5dee06bf5f9",
      "component_kind": "scheduled-job",
      "confidence": 100,
      "dependency_roots": "$lib,@sveltejs/kit",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:GET | imports:$lib/config, $lib/outreach, $lib/security, ./$types, @sveltejs/kit | automation-score:95 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "805b3d4366a98551",
      "framework": "svelte",
      "imports": "$lib/config,$lib/outreach,$lib/security,./$types,@sveltejs/kit",
      "lines": 33,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/api/cron/outreach/+server.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "6cae29ef04273a39792e1be0",
      "component_kind": "backend-module",
      "confidence": 85,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/sitemap, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9ec44ac4c2c30118",
      "framework": "svelte",
      "imports": "$lib/sitemap,./$types",
      "lines": 9,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/sitemap-main.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "1972a0d078d2b83ee091aa79",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/sitemap, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5697b163618369e8",
      "framework": "svelte",
      "imports": "$lib/sitemap,./$types",
      "lines": 13,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/sitemap.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,discovery",
      "component_id": "c7f2fbd486d89d9e6622e378",
      "component_kind": "api-docs",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d7293aa8f76ca6bd",
      "framework": "svelte",
      "imports": "$lib/config,./$types",
      "lines": 77,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/openapi.yaml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,discovery,automation",
      "component_id": "565235946890aeaaa6312db4",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/network-graph, $lib/sitemap, ./$types | backend-score:55 | discovery-score:55 | automation-score:45",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "35c7301beccfe48b",
      "framework": "svelte",
      "imports": "$lib/network-graph,$lib/sitemap,./$types",
      "lines": 29,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/sitemap-network.xml/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,security,discovery,automation",
      "component_id": "7dc42cb2a8b13e4699e77053",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types | backend-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "aba2b5588ced1bc3",
      "framework": "svelte",
      "imports": "$lib/config,./$types",
      "lines": 57,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/robots.txt/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery",
      "component_id": "40270196dc63c1c1a359335a",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, $lib/network-graph, $lib/platform-contract, $lib/root-discovery, $lib/root-stories, ./$types | backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c6d5ca3c14920159",
      "framework": "svelte",
      "imports": "$lib/config,$lib/network-graph,$lib/platform-contract,$lib/root-discovery,$lib/root-stories,./$types",
      "lines": 113,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/llms-index.json/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "da52268f8082007c4d8df49c",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "$lib,$types",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PAGE_SIZE | imports:$lib/hn, $lib/i18n, $lib/jsonld, $lib/sanitize, $types/news | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "PAGE_SIZE",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "f255170bb4b86034",
      "framework": "svelte",
      "imports": "$lib/hn,$lib/i18n,$lib/jsonld,$lib/sanitize,$types/news",
      "lines": 495,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/jobs/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,backend",
      "component_id": "69839e11c59314a8d14d6d4a",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:load | imports:$lib/hn | automation-score:95 | backend-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "05736a023d28ec3a",
      "framework": "svelte",
      "imports": "$lib/hn",
      "lines": 11,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/jobs/+page.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "14643fcf7ff23a1d438b7c3e",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types | backend-score:55 | discovery-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dc648e8582d0af15",
      "framework": "svelte",
      "imports": "$lib/config,./$types",
      "lines": 46,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/manifest.webmanifest/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "1609f0589b05eea706c44ddc",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$lib,$types,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$lib/i18n, $types/news, svelte/transition | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "ed32a10ff2f23dac",
      "framework": "svelte",
      "imports": "$lib/i18n,$types/news,svelte/transition",
      "lines": 412,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/games/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "39eb426554b78e9daac49e14",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "$types,@sveltejs/kit",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:$types/news, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "edf09f7214981714",
      "framework": "svelte",
      "imports": "$types/news,@sveltejs/kit",
      "lines": 95,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/games/+page.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "00be940902d185ba7ccc06a1",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app,$components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/navigation, $components/Auth.svelte | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "54064b2b96089cca",
      "framework": "svelte",
      "imports": "$app/navigation,$components/Auth.svelte",
      "lines": 86,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/login/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "77d080ac58f90e96c7bab8bb",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:load | imports:./$types | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "load",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d5c3b69112659ce2",
      "framework": "svelte",
      "imports": "./$types",
      "lines": 62,
      "logic_relevance": "none",
      "name": "+page.server",
      "normalized_name": "page-server",
      "package_manager": "pnpm",
      "path": "src/routes/story/[id]/+page.server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "047b351c139b87aef06b82d3",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$lib,$types",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$lib/config, $lib/hn, $lib/i18n, $lib/jsonld, $lib/sanitize, $types/news | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "2fe616572d504de4",
      "framework": "svelte",
      "imports": "$lib/config,$lib/hn,$lib/i18n,$lib/jsonld,$lib/sanitize,$types/news",
      "lines": 406,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/story/[id]/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "dbe5a74e4d882aeeeab35404",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "$lib",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:$lib/config, ./$types | backend-score:55",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b385496aee9b887",
      "framework": "svelte",
      "imports": "$lib/config,./$types",
      "lines": 17,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/favicon.svg/+server.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__platphormnews-www-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "8e52210ce12f617548a642d3",
      "component_kind": "ui-provider",
      "confidence": 90,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:90 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "aa225e683aca5cb850f83b26",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "caf386c18aed2139",
      "framework": "next-react",
      "imports": "",
      "lines": 11566,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "706bc7c1565ed080c042434f",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:next-auth/jwt, next/server | backend-score:55 | security-score:55 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f1f460affc3e9c0a",
      "framework": "next-react",
      "imports": "next-auth/jwt,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "b5f87797ffb48bf83ca78460",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:WildDuckAPI, WildDuckConfig, WildDuckMailbox, WildDuckMessage, WildDuckUser, createWildDuckAPI, createWorkflowEmailTrigger, setupWorkflowInbox | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "WildDuckAPI,WildDuckConfig,WildDuckMailbox,WildDuckMessage,WildDuckUser,createWildDuckAPI,createWorkflowEmailTrigger,setupWorkflowInbox",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dbedb9c957b5b3c4",
      "framework": "next-react",
      "imports": "",
      "lines": 307,
      "logic_relevance": "none",
      "name": "wildduck-api",
      "normalized_name": "wildduck-api",
      "package_manager": "pnpm",
      "path": "wildduck-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "31559ffb6d1ddbc9c2d47fda",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "daf645a439047e1b7b36abdf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ServerTrackingConfig, ServerTrackingManager, TrackingEvent, createServerTrackingManager, serverTrackingManager | imports:zod | backend-score:90 | observability-score:55 | security-score:55 | uses-env",
      "exports": "ServerTrackingConfig,ServerTrackingManager,TrackingEvent,createServerTrackingManager,serverTrackingManager",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3f38296a23df5981",
      "framework": "next-react",
      "imports": "zod",
      "lines": 309,
      "logic_relevance": "none",
      "name": "server-tracking",
      "normalized_name": "server-tracking",
      "package_manager": "pnpm",
      "path": "server-tracking.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "34221f5e10a31ebb7933c88c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BulkAccountRequest, BulkEmailJob, BusinessAccount, EmailAccount, EmailTemplate, WildDuckBusinessManager, WildDuckConfig, createWildDuckBusinessManager | imports:zod | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "BulkAccountRequest,BulkEmailJob,BusinessAccount,EmailAccount,EmailTemplate,WildDuckBusinessManager,WildDuckConfig,createWildDuckBusinessManager,createWildDuckBusinessManagerFromEnv",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5824b68d336e7e7",
      "framework": "next-react",
      "imports": "zod",
      "lines": 885,
      "logic_relevance": "none",
      "name": "wildduck-enhanced",
      "normalized_name": "wildduck-enhanced",
      "package_manager": "pnpm",
      "path": "wildduck-enhanced.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "integration,security,automation",
      "component_id": "de18ddb1f6d2f8196d477dc8",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@octokit/rest,js-yaml,zod",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:GitHubConfig, GitHubIntegration, GitHubWorkflow, WorkflowFile, createGitHubIntegration, generateWorkflowFromBoard | imports:@octokit/rest, js-yaml, zod | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "GitHubConfig,GitHubIntegration,GitHubWorkflow,WorkflowFile,createGitHubIntegration,generateWorkflowFromBoard",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9ad8a55432ba721f",
      "framework": "next-react",
      "imports": "@octokit/rest,js-yaml,zod",
      "lines": 199,
      "logic_relevance": "none",
      "name": "github-integration",
      "normalized_name": "github-integration",
      "package_manager": "pnpm",
      "path": "github-integration.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "586924fe53acaaae584116fe",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TrackingConfig, TrackingEvent, createClientTrackingManager, createTrackingManager, usePageTracking, useTracking | imports:react | observability-score:55",
      "exports": "TrackingConfig,TrackingEvent,createClientTrackingManager,createTrackingManager,usePageTracking,useTracking",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a6fbde2ef9daaa02",
      "framework": "next-react",
      "imports": "react",
      "lines": 175,
      "logic_relevance": "none",
      "name": "tracking",
      "normalized_name": "tracking",
      "package_manager": "pnpm",
      "path": "tracking.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "integration,security,automation",
      "component_id": "877b627c0c718aeae18d0e55",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "86ba5f65c731d7e5",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "cf0f838d4492be158c778428",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@/lib,sonner",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:AppError, ErrorHandler, handleAsync, handleError, withRetry | imports:@/lib/vercel-analytics, sonner | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AppError,ErrorHandler,handleAsync,handleError,withRetry",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84c8d8f6ce7ade76",
      "framework": "next-react",
      "imports": "@/lib/vercel-analytics,sonner",
      "lines": 319,
      "logic_relevance": "none",
      "name": "error-handler",
      "normalized_name": "error-handler",
      "package_manager": "pnpm",
      "path": "error-handler.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "10f51fa4273126b31848b986",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:processCoApi | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "processCoApi",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "834c4f19e2e8c7b2",
      "framework": "next-react",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "process-co-api",
      "normalized_name": "process-co-api",
      "package_manager": "pnpm",
      "path": "process-co-api.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "06f3cb0a3f67f556f302450e",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "657b1546e461141e",
      "framework": "next-react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "integration,observability,security,automation",
      "component_id": "305ae3d2e602f48362faf71d",
      "component_kind": "webhook",
      "confidence": 90,
      "dependency_roots": "crypto",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:WEBHOOK_EVENTS, WebhookDelivery, WebhookEndpoint, WebhookEvent, WebhookManager, WebhookPayload | imports:crypto | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WEBHOOK_EVENTS,WebhookDelivery,WebhookEndpoint,WebhookEvent,WebhookManager,WebhookPayload",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ece10e4df109096",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 270,
      "logic_relevance": "none",
      "name": "webhook-manager",
      "normalized_name": "webhook-manager",
      "package_manager": "pnpm",
      "path": "webhook-manager.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "b62cfec75dbdf6df762bd92c",
      "component_kind": "editor-feature",
      "confidence": 90,
      "dependency_roots": "@/components,@/types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowNodeEditor | imports:@/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/types/board, react | frontend-score:90 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WorkflowNodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e89a671a050c2127",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/types/board,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "workflow-node-editor",
      "normalized_name": "workflow-node-editor",
      "package_manager": "pnpm",
      "path": "workflow-node-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "a204f44cdae1de95007600eb",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowExecutor | imports:@/components/ui/badge, @/components/ui/button, @/hooks/use-analytics, @/types/board, lucide-react, react | frontend-score:90 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "WorkflowExecutor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7dc42a206c80dd98",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/hooks/use-analytics,@/types/board,lucide-react,react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "workflow-executor",
      "normalized_name": "workflow-executor",
      "package_manager": "pnpm",
      "path": "workflow-executor.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security,automation",
      "component_id": "036cc29822a6c0b45dff14bf",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WebhookManagement | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/switch, @/components/ui/textarea, @/lib/tracking | frontend-score:90 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WebhookManagement",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fb523967cbef29b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/switch,@/components/ui/textarea,@/lib/tracking,lucide-react,react",
      "lines": 506,
      "logic_relevance": "none",
      "name": "webhook-management",
      "normalized_name": "webhook-management",
      "package_manager": "pnpm",
      "path": "webhook-management.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability",
      "component_id": "1b10940aed06e3a1d9517d30",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowInput | imports:@/components/ui/button, @/components/ui/textarea, next/navigation, react | frontend-score:90 | process-score:80 | ui-score:70 | observability-score:55",
      "exports": "WorkflowInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fcfc96ef887d12a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/textarea,next/navigation,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "workflow-input",
      "normalized_name": "workflow-input",
      "package_manager": "pnpm",
      "path": "workflow-input.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "b2bab867a4ce0c46ae34ffbd",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "65c565e80f76fc165b70458b",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/types,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowNodeComponent | imports:@/types/board, lucide-react | frontend-score:90 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "WorkflowNodeComponent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb7d99aa85ee20ba",
      "framework": "next-react",
      "imports": "@/types/board,lucide-react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "workflow-node",
      "normalized_name": "workflow-node",
      "package_manager": "pnpm",
      "path": "workflow-node.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ac844fda4ab4f7519fdd15e2",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:useAnalytics, useComponentAnalytics, useInteractionAnalytics | imports:@/lib/vercel-analytics, next/navigation, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "useAnalytics,useComponentAnalytics,useInteractionAnalytics",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4b1a16367e00fbc0",
      "framework": "next-react",
      "imports": "@/lib/vercel-analytics,next/navigation,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "use-analytics",
      "normalized_name": "use-analytics",
      "package_manager": "pnpm",
      "path": "use-analytics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,process,ui,security",
      "component_id": "353992cbbc0ae1b2d78da887",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowValidator | imports:@/components/ui/badge, @/components/ui/button, @/types/board, lucide-react, react | frontend-score:90 | process-score:80 | ui-score:70 | security-score:55",
      "exports": "WorkflowValidator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d0d2a77f7bf3a24",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/types/board,lucide-react,react",
      "lines": 181,
      "logic_relevance": "none",
      "name": "workflow-validator",
      "normalized_name": "workflow-validator",
      "package_manager": "pnpm",
      "path": "workflow-validator.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "7aa9b5a407dcc94a687e4240",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7be6eb7e48908b58",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "ec0bb836b9c6ffaa8f3abdae",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af86129669f5ad8a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 99,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "91da0fb219c096791ae3ce35",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowLibrary | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/types/board, lucide-react, react | frontend-score:90 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkflowLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c43810d0dd207e1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/types/board,lucide-react,react",
      "lines": 316,
      "logic_relevance": "none",
      "name": "workflow-library",
      "normalized_name": "workflow-library",
      "package_manager": "pnpm",
      "path": "workflow-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "d3df2ff9ea6aa929c51f42bc",
      "component_kind": "deployment-automation",
      "confidence": 90,
      "dependency_roots": "@vercel/analytics",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:AnalyticsEvent, VercelAnalytics, analytics, track | imports:@vercel/analytics | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "AnalyticsEvent,VercelAnalytics,analytics,track",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "14f593d8ff170f62",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 259,
      "logic_relevance": "none",
      "name": "vercel-analytics",
      "normalized_name": "vercel-analytics",
      "package_manager": "pnpm",
      "path": "vercel-analytics.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "561b14cadeba5f4b5e16d3d4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8d9c1d31f72c6ff6",
      "framework": "next-react",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "06d118c88a28fbf348ba8710",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3be057218b467448",
      "framework": "next-react",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "pnpm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "c0a9676f62f2c02a8bcdf4bf",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "4d34794f9e5397f8",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "pnpm",
      "path": "docker-compose.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "43ec08baf8c9779ca44ef3ac",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BoardElement, CollaboratorCursor, Comment, Connection, ConnectionPoint, ExecutionLog, Template, Tool | observability-score:55 | security-score:55",
      "exports": "BoardElement,CollaboratorCursor,Comment,Connection,ConnectionPoint,ExecutionLog,Template,Tool,UserMode,ValidationError,ValidationWarning,WorkflowExecution,WorkflowNode,WorkflowValidation",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "74fc609ff690635d",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "board",
      "normalized_name": "board",
      "package_manager": "pnpm",
      "path": "board.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "d76aca9de4d1dc8b8bc1e651",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "d3",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:D3VisualizationManager, HeatmapData, NetworkLink, NetworkNode, TimeSeriesData, processCollaborationData, processHeatmapData, processTimeSeriesData | imports:d3 | security-score:55",
      "exports": "D3VisualizationManager,HeatmapData,NetworkLink,NetworkNode,TimeSeriesData,processCollaborationData,processHeatmapData,processTimeSeriesData",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18532fa7706251aa",
      "framework": "next-react",
      "imports": "d3",
      "lines": 516,
      "logic_relevance": "none",
      "name": "d3-visualizations",
      "normalized_name": "d3-visualizations",
      "package_manager": "pnpm",
      "path": "d3-visualizations.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "9ece455b5210d15d06be1a2b",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "20c55ee1aee31642d4e5b823",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "60717445aeb26de489f06948",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:115 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "ui/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1f138bbb07afc8e1ab4c4073",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "67aa8c2b67a0e72f3a4622ce",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "96964389a900a4cf58e4deca",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "204d4015ef60c07edaaa32a4",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "18321689e2bfd253bde9ccf2",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "b78220d5229ff355d2983ef6",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c036da4baed076d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "cb2ec33a2dcbde5e2fda0cd7",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "58ea348debecd8c3179b18f9",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7f222f9a4b1cd58ff8446fcf",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62ebd887366a84fc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3efbc8f066565a31843f6c56",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "428e90f7bbb862d902d5e160",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6a73b33dae3d430f3eca1a33",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9942cd31a0124172d65b251a",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b2a25dd50d11ea3100da7b46",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e3715b88b0a6c68a8fe7a732",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1ff38416f6b1c1bd0f541428",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "12f00306277d40b932673483",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9938782e56a65a76f48d07fa",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "435abe77eb64e75c79135b07",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "884b4da1fe091e1778acdbbb",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "13b4110ce4323667",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend",
      "component_id": "bf8efe7f6eb751e77d564a4a",
      "component_kind": "frontend-hook",
      "confidence": 80,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "ui/use-toast.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "64ed3f7c1ddf570af887f41f",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "035089adcc2bfebede0d5547",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d954be0f71a9eea0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8854efc27d205bfbf8f4b9b0",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2feea26ec186cdabacd2636f",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5545ea06018bff69488f8b63",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ed17eb153f3841496cca7484",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "38dcb8d275fc55beebb75269",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ef958bbb6c539138f41cb43e",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5f420ec855836b4ba9173c06",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5a1e3619339a4b6924e3b375",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "13d94ad707f67320bab46914",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72aeae5c68c361fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 763,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5aca54f123e83b5a26902af1",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "7c85886456aad476caa8b07d",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "881f58044decda507d694ec1",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9b06602b7acff93536fba05d",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a7d5ac3953cda5faea51beb1",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9f6aadb711751288be8da90a",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "c7bb7797eec69a2c1af3eeab",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f847c7c4d8e808ecf482632b",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d016b118ee67d933",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fbf628cf51a069279120f417",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "21662aa423e5f6a4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8f432950f57a0b414f64c8a0",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea, TextareaProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea,TextareaProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e988ed61d99caee4",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "12b3632d66447f37a8b25e9d",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "617e7523ac0f906a17cf55c0",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "902135acde0a6f99e33d3177",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "36bca779edbbad72488ec7cd",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bc4f10456f6968d7a3447668",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c97e5951aa26e2cff8437bd6",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BoardElement, BoardElementSchema, Connection, ConnectionSchema, ExecutionLog, ExecutionLogSchema, NodeInput, NodeOutput | imports:zod | observability-score:55",
      "exports": "BoardElement,BoardElementSchema,Connection,ConnectionSchema,ExecutionLog,ExecutionLogSchema,NodeInput,NodeOutput,Position,PositionSchema,Size,SizeSchema,Template,TemplateSchema,Tool,ToolSchema,UserMode,UserModeSchema,ValidationError,ValidationErrorSchema,ValidationWarning,ValidationWarningSchema,WorkflowExecution,WorkflowExecutionSchema,WorkflowNode,WorkflowNodeSchema,WorkflowValidation,WorkflowValidationSchema",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "273e4c4001e7a690",
      "framework": "next-react",
      "imports": "zod",
      "lines": 251,
      "logic_relevance": "none",
      "name": "board",
      "normalized_name": "board",
      "package_manager": "pnpm",
      "path": "types/board.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "77b9a840ec0eded7aec4c9ec",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/auth-provider, @/components/auto-tooltips, @/components/cookie-consent, @/components/error-boundary, @/components/ui/sonner, @vercel/analytics/react, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d6a7bfe50222c5f",
      "framework": "next-react",
      "imports": "@/components/auth-provider,@/components/auto-tooltips,@/components/cookie-consent,@/components/error-boundary,@/components/ui/sonner,@vercel/analytics/react,next,next/font/google",
      "lines": 37,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b3f4453acd2e38eab0ff9a29",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:@/components/ui/button, @/lib/telemetry-client, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0acb78cef0653bce",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/telemetry-client,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "dd37a6f22007054dff4ee75b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/cookie-consent, @/components/integration-logos, @/components/landing/feature-section, @/components/ui/button, @/components/workflow-input, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "263d2299bc828132",
      "framework": "next-react",
      "imports": "@/components/cookie-consent,@/components/integration-logos,@/components/landing/feature-section,@/components/ui/button,@/components/workflow-input,next/image,next/link",
      "lines": 156,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "d0c69c85a0e1f994d9b6ea01",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "46c6cd6cce2cdbb9",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "168d67582bf3aa01ea150d1e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:NotFound | frontend-score:85 | ui-score:55",
      "exports": "NotFound",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aea64c5e2baa129f",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "not-found",
      "normalized_name": "not-found",
      "package_manager": "pnpm",
      "path": "app/not-found.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "cd343760d7b1ce54b98edc6b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardPage | imports:@/components/board/collaborative-board, @/components/ui/loading-spinner, next/navigation, react | frontend-score:115 | ui-score:70 | metadata",
      "exports": "BoardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00a7b1dbb3930fc1",
      "framework": "next-react",
      "imports": "@/components/board/collaborative-board,@/components/ui/loading-spinner,next/navigation,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/board/[boardId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,automation,process,ui,security",
      "component_id": "d3d5c91f918f702a7dd0f5f4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:DeployPage | imports:./server-actions, @/components/env-diagnostics, @/components/ui/button, @/components/ui/card, react | frontend-score:115 | automation-score:95 | process-score:80 | ui-score:70 | security-score:55",
      "exports": "DeployPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "261296eb9f3324d1",
      "framework": "next-react",
      "imports": "./server-actions,@/components/env-diagnostics,@/components/ui/button,@/components/ui/card,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/deploy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,process,backend,observability,security",
      "component_id": "d2495c2bcd9fe11f5a0e5403",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@/lib,@octokit/rest",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:createIssueAction, triggerDeployAction | imports:@/lib/with-safe, @octokit/rest | automation-score:95 | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "createIssueAction,triggerDeployAction",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30bcf7b9e83a63b3",
      "framework": "next-react",
      "imports": "@/lib/with-safe,@octokit/rest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "server-actions",
      "normalized_name": "server-actions",
      "package_manager": "pnpm",
      "path": "app/deploy/server-actions.ts",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "2bd466ba4d08b0ef7ea6c1cd",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:@/components/dashboard-header, @/components/dashboard-sidebar | frontend-score:85 | ui-score:55",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "458080698fda92d3",
      "framework": "next-react",
      "imports": "@/components/dashboard-header,@/components/dashboard-sidebar",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/dashboard/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "4b6e734742ccbe2b0c944418",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/board-list, @/components/ui/button, @/components/ui/skeleton, @/lib/actions/board-actions, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db9fe1e4fb2820e1",
      "framework": "next-react",
      "imports": "@/components/board-list,@/components/ui/button,@/components/ui/skeleton,@/lib/actions/board-actions,lucide-react,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a5da0a362774521783a58b13",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/hooks/use-local-storage, @/lib/client-analytics | frontend-score:85 | ui-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1beefa341ff8ca4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/hooks/use-local-storage,@/lib/client-analytics",
      "lines": 54,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "3b086cc4c0ad73146eec4e2c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowsPage | imports:@/components/ui/button, @/components/ui/card, @/components/workflows/execute-template-button, @/lib/workflow-templates, lucide-react, next/link | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "WorkflowsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97f4b8e14dc5c705",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/workflows/execute-template-button,@/lib/workflow-templates,lucide-react,next/link",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/workflows/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "f73b1848c0bd328bb590b68c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConfigureWorkflowPage | imports:@/components/ui/badge, @/components/ui/card, @/components/ui/separator, @/components/workflows/execute-template-button, @/lib/workflow-templates, lucide-react, next/navigation | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "ConfigureWorkflowPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65158706ce74e859",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/components/ui/separator,@/components/workflows/execute-template-button,@/lib/workflow-templates,lucide-react,next/navigation",
      "lines": 91,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/workflows/[templateId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d53b80216ce130b514ab2208",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExecutionsPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase-server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ExecutionsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b4655cd65066441",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase-server,lucide-react,next/link",
      "lines": 131,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/executions/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability",
      "component_id": "32ca45bc7ad8673f72a305a4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExecutionDetailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/supabase-server, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ExecutionDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b4705c8eda4392b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/supabase-server,lucide-react,next/link,next/navigation",
      "lines": 178,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/executions/[executionId]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "92807967601a1f5bcdf8e41a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignInPage | imports:@/components/turnstile, @/components/ui/button, @/components/ui/card, next-auth/react, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "SignInPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75500d55540755b1",
      "framework": "next-react",
      "imports": "@/components/turnstile,@/components/ui/button,@/components/ui/card,next-auth/react,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "frontend,ui,automation",
      "component_id": "1a372e83c988b05f250fa58a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for deployment; review as feature component, provider, page, or hook.",
      "evidence": "exports:FilesPage | imports:@/components/blob-uploader, @/components/ui/card | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "FilesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1569b5d3fe722e60",
      "framework": "next-react",
      "imports": "@/components/blob-uploader,@/components/ui/card",
      "lines": 22,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/files/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "54ed811b2e8fb8eb0bf41b7a",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, next-auth | backend-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8f2d197b4effb585",
      "framework": "next-react",
      "imports": "@/lib/auth,next-auth",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/[...nextauth]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bb0d33056ec3b3f02dc3d987",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, HEAD | imports:@/lib/prisma, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,HEAD",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "480c4e38a1dbed7b",
      "framework": "next-react",
      "imports": "@/lib/prisma,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "b80bbea4cb5761ef8507fb16",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/env, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3aed48ae15200893",
      "framework": "next-react",
      "imports": "@/lib/env,next/server",
      "lines": 9,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/env/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b49ce6af112b8099900306df",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "04d1692e9e764357",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/turnstile/verify/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,ai,frontend,observability",
      "component_id": "9d30681cb21fa84b525f0407",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@ai-sdk/xai,ai,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@ai-sdk/xai, ai, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | next-route-handler | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "19e7abcba077c072",
      "framework": "next-react",
      "imports": "@ai-sdk/xai,ai,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/summarize/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability",
      "component_id": "7365edb3d84919ecbd242247",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase-server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5ca80a4fe47d5f57",
      "framework": "next-react",
      "imports": "@/lib/supabase-server,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/tracking/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,backend,integration,observability,security",
      "component_id": "d8c2d997f90c88fa8d77abf9",
      "component_kind": "ai-integration",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/openai,@ai-sdk/xai,ai,next",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:POST | imports:@/lib/supabase-server, @/lib/with-safe, @ai-sdk/openai, @ai-sdk/xai, ai, next/server | ai-score:120 | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e09ad233de34e337",
      "framework": "next-react",
      "imports": "@/lib/supabase-server,@/lib/with-safe,@ai-sdk/openai,@ai-sdk/xai,ai,next/server",
      "lines": 64,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/email/route.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3cd5bb0619ff16c00c80ca94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@vercel/blob,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/supabase-server, @vercel/blob, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5396f7a9c2cfcd33",
      "framework": "next-react",
      "imports": "@/lib/supabase-server,@vercel/blob,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/blob/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "e0f68b0e64463aaed5ec1859",
      "component_kind": "layout",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardLayout, dynamic, revalidate | frontend-score:85 | ui-score:55",
      "exports": "BoardLayout,dynamic,revalidate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ad17274626081a5",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "board/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dff0ec7cfe44b6dba7582a7e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,next-auth,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignInForm | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/hooks/use-analytics, @/lib/error-handler, lucide-react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SignInForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9875325c0bc366a5",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/hooks/use-analytics,@/lib/error-handler,lucide-react,next-auth/react,next/navigation,react",
      "lines": 176,
      "logic_relevance": "none",
      "name": "signin-form",
      "normalized_name": "signin-form",
      "package_manager": "pnpm",
      "path": "auth/signin-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "5cb15468153e7b92653ca01e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage, metadata | imports:next-auth/react, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "SignUpPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "258ae11937d082fa",
      "framework": "next-react",
      "imports": "next-auth/react,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "auth/signup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "86e9e69756355d8868a197e9",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthErrorPage, metadata | imports:react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "AuthErrorPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "94abef62bd53c85d",
      "framework": "next-react",
      "imports": "react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "auth/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "7b1158bc82f92cc8f9d630c4",
      "component_kind": "ui-provider",
      "confidence": 90,
      "dependency_roots": "next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthProvider | imports:next-auth/react, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "AuthProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9d920fcb36398ef2",
      "framework": "next-react",
      "imports": "next-auth/react,react",
      "lines": 12,
      "logic_relevance": "none",
      "name": "auth-provider",
      "normalized_name": "auth-provider",
      "package_manager": "pnpm",
      "path": "auth/auth-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4fdb58fdb41e1c1ea1c8477c",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignInPage, metadata | imports:next-auth/react, react | frontend-score:90 | ui-score:70 | security-score:55",
      "exports": "SignInPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b102d116bd8671ad",
      "framework": "next-react",
      "imports": "next-auth/react,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "signin",
      "normalized_name": "signin",
      "package_manager": "pnpm",
      "path": "auth/signin.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "be16b1f603968b95287325ec",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "af7d5ea33d927522",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "92b84e5d3c7cf4ae5ad8101a",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9008be00be7d1ada86062f1b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next-auth",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserNav | imports:@/components/ui/avatar, @/components/ui/button, @/components/ui/dropdown-menu, next-auth/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UserNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8682d1a36c940588",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/components/ui/dropdown-menu,next-auth/react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "user-nav",
      "normalized_name": "user-nav",
      "package_manager": "pnpm",
      "path": "components/user-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a926598853154d92da81fabf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary | imports:@/components/ui/alert, @/components/ui/button, @/lib/telemetry-client, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c9f26f741fa8e0f5",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/lib/telemetry-client,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "eef1c2d0592b7954b0b775ca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnvDiagnostics | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "EnvDiagnostics",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c04e299db3631a56",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 30,
      "logic_relevance": "none",
      "name": "env-diagnostics",
      "normalized_name": "env-diagnostics",
      "package_manager": "pnpm",
      "path": "components/env-diagnostics.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "59babc74506d9e53e25d5b35",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExecutionLogView | imports:@/components/ui/card, @/lib/types | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ExecutionLogView",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb1e15ed6d2e99ac",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/types",
      "lines": 32,
      "logic_relevance": "none",
      "name": "execution-log-view",
      "normalized_name": "execution-log-view",
      "package_manager": "pnpm",
      "path": "components/execution-log-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "54f433f0ff9d54cfa98f94ac",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AutoTooltips | imports:react | frontend-score:115 | ui-score:70",
      "exports": "AutoTooltips",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2c984e098fd49bbd",
      "framework": "next-react",
      "imports": "react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "auto-tooltips",
      "normalized_name": "auto-tooltips",
      "package_manager": "pnpm",
      "path": "components/auto-tooltips.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "dae1ec21c6ac24b192168e41",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowExecutor | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/hooks/use-analytics, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WorkflowExecutor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70676f9305e99c19",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/hooks/use-analytics,@/types/board,lucide-react,react",
      "lines": 344,
      "logic_relevance": "none",
      "name": "workflow-executor",
      "normalized_name": "workflow-executor",
      "package_manager": "pnpm",
      "path": "components/workflow-executor.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability",
      "component_id": "9c072b51f43be309f37b85e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowInput | imports:@/components/ui/button, @/components/ui/textarea, lucide-react, next/navigation, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55",
      "exports": "WorkflowInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ee125fe446f1fe6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/textarea,lucide-react,next/navigation,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "workflow-input",
      "normalized_name": "workflow-input",
      "package_manager": "pnpm",
      "path": "components/workflow-input.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "frontend,ui,observability,automation",
      "component_id": "5af4e6e78c69a6b10e17293f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for deployment; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlobUploader | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "BlobUploader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49a69a39e2e0ce43",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "blob-uploader",
      "normalized_name": "blob-uploader",
      "package_manager": "pnpm",
      "path": "components/blob-uploader.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "8fc141e0bcb6494c96f31668",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowValidator | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "WorkflowValidator",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "059e7f950ca33513",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/types/board,lucide-react,react",
      "lines": 275,
      "logic_relevance": "none",
      "name": "workflow-validator",
      "normalized_name": "workflow-validator",
      "package_manager": "pnpm",
      "path": "components/workflow-validator.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "309241808befe97d9b14d7bc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationLogos | imports:next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "IntegrationLogos",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "60c8e235d6990125",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 29,
      "logic_relevance": "none",
      "name": "integration-logos",
      "normalized_name": "integration-logos",
      "package_manager": "pnpm",
      "path": "components/integration-logos.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,process,ui,security,automation",
      "component_id": "dae51b7e55c9bbb08b6ddad3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowLibrary | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/types/board, lucide-react, react | frontend-score:115 | process-score:80 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "WorkflowLibrary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05f1994bc9a5f873",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/types/board,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "workflow-library",
      "normalized_name": "workflow-library",
      "package_manager": "pnpm",
      "path": "components/workflow-library.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui,observability",
      "component_id": "84519fd0fb209f5bcff7e44d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExecutionStatusBadge | imports:@/components/ui/badge, @/lib/types | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ExecutionStatusBadge",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa4807f2e818b22f",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/lib/types",
      "lines": 21,
      "logic_relevance": "none",
      "name": "execution-status-badge",
      "normalized_name": "execution-status-badge",
      "package_manager": "pnpm",
      "path": "components/execution-status-badge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "c7edd43bc55ece3ccf64c169",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardCard | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "BoardCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4360b11b2c5f143a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 40,
      "logic_relevance": "none",
      "name": "board-card",
      "normalized_name": "board-card",
      "package_manager": "pnpm",
      "path": "components/board-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "93af42ff82118d5f2b006d0e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "891de25d43503c9b",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 39,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c8d35d058cc524ea8cfec642",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardSidebar | imports:@/components/ui/sidebar, @/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardSidebar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "624be64184102535",
      "framework": "next-react",
      "imports": "@/components/ui/sidebar,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 102,
      "logic_relevance": "none",
      "name": "dashboard-sidebar",
      "normalized_name": "dashboard-sidebar",
      "package_manager": "pnpm",
      "path": "components/dashboard-sidebar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "b0556e48354460273b0c6d65",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthProvider | imports:next-auth/react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "AuthProvider",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3dc3a5d96d4d132d",
      "framework": "next-react",
      "imports": "next-auth/react,react",
      "lines": 8,
      "logic_relevance": "none",
      "name": "auth-provider",
      "normalized_name": "auth-provider",
      "package_manager": "pnpm",
      "path": "components/auth-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "89f5ff9718f824387cd22c54",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardList | imports:./board-card, @/lib/actions/board-actions | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "BoardList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5213e6d1b89a61aa",
      "framework": "next-react",
      "imports": "./board-card,@/lib/actions/board-actions",
      "lines": 23,
      "logic_relevance": "none",
      "name": "board-list",
      "normalized_name": "board-list",
      "package_manager": "pnpm",
      "path": "components/board-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,process,ui",
      "component_id": "582f202117f4a1f88280b98b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WorkflowTemplateCard | imports:@/components/ui/button, @/components/ui/card, @/lib/types, lucide-react, next/link | frontend-score:115 | process-score:80 | ui-score:55",
      "exports": "WorkflowTemplateCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed5418f6e3a82666",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/types,lucide-react,next/link",
      "lines": 28,
      "logic_relevance": "none",
      "name": "workflow-template-card",
      "normalized_name": "workflow-template-card",
      "package_manager": "pnpm",
      "path": "components/workflow-template-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "6c8a10430140696405340d5e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardHeader | imports:./user-nav, @/components/ui/input, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "DashboardHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7a72e567b98ce29",
      "framework": "next-react",
      "imports": "./user-nav,@/components/ui/input,lucide-react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "dashboard-header",
      "normalized_name": "dashboard-header",
      "package_manager": "pnpm",
      "path": "components/dashboard-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "a7357a2e734272f3bf27d967",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:CookieConsent | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CookieConsent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0994d7e0372cd54",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "cookie-consent",
      "normalized_name": "cookie-consent",
      "package_manager": "pnpm",
      "path": "components/cookie-consent.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "c23a927bc5dc952e4445ebc6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Turnstile | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Turnstile",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5ebd9a6324703058",
      "framework": "next-react",
      "imports": "react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "turnstile",
      "normalized_name": "turnstile",
      "package_manager": "pnpm",
      "path": "components/turnstile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "24a548bc821cdecdacdff87f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollaborativeBoard | imports:./ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CollaborativeBoard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9ab5ed9799b63be7",
      "framework": "next-react",
      "imports": "./ui/button,lucide-react,next/link,react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "collaborative-board",
      "normalized_name": "collaborative-board",
      "package_manager": "pnpm",
      "path": "components/collaborative-board.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a1b34d0798955ae04809d398",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2640bdb8dd02b17240ca99c8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "dad345305569fc30bcf006ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0398b7a084b2049005bcbe59",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "75fde61c34495ce96b356606",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:UserModeSelector | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/popover, @/types/board, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "UserModeSelector",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8e6262e80b992c8e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/popover,@/types/board,lucide-react,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "user-mode-selector",
      "normalized_name": "user-mode-selector",
      "package_manager": "pnpm",
      "path": "components/ui/user-mode-selector.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa5fbc00f0528437c3e3ea00",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ab43090c7974bdad5b4ece56",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c650ffafc995bc8455890cbd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "098bcbed2e6b474dc03eb529",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "92819984dd8a1b5de99e8ccf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f7efdde0128b8df32c7589cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "40354585bd003ecd769870d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c036da4baed076d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "7d6e18784e81083f5f84e996",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "db6a13a61647cc1e0ec6e6a3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5b5bd4276e5880008320ff6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62ebd887366a84fc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fb4fa67c5546e3aed7b9e6ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b9fa877de79ba71ae338a2ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4c9fe17ba308d01b4bf64475",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d53468156a08504ebf56b9d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c618e3ee8f56cf3246a9b543",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "41bc74141285540e77793fdc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4615c9f36454f0f6156c599d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a499339e6b3de132c4f5cc32",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b74dd24ea3171f98d0b95c52",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6651f6e00354a711c26deb24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "69dd46da5eaba81eaed87501",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d7c525febe8d4e000858f6e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ed526fdb736ce5401837a091",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ed78a053a9db783f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "dfb0d686882215e3533db10b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:LoadingSpinner | imports:@/lib/utils | ui-score:125 | frontend-score:85 | observability-score:55",
      "exports": "LoadingSpinner",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c88b46544b608831",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 31,
      "logic_relevance": "none",
      "name": "loading-spinner",
      "normalized_name": "loading-spinner",
      "package_manager": "pnpm",
      "path": "components/ui/loading-spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "892cc8c82050688ddb15b421",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6ec328b2d7774fe08be6fde7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "0e4f2cf3bb957a61b0724bf9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d954be0f71a9eea0",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2062330ab7f9f2304845da04",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "433f5d60ad3886f8fde44089",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bde44916bf0cf645f43a43c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "47e1d3268064a047a355dc7e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "efb5db14ada523f1968f9ba5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "52117491b66483db9f86e02f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c36479f6707ab41dbb29d110",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7a7530d56c37e6bba10c89cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "055cca601d5c8122795fb2d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "51b7bb06a97d1332465ad756",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b0e939eca6a324c0c3655497",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72aeae5c68c361fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 763,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4e54aa625a17f75ce3a63d6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2fffc59ffcf780da9602aa4a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e1007021101e2725c99eb67c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "26566f30b56dd4ebd88c051a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4271751035fe3ba07c7a94c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9fbefd508da2ef9b9f08971f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "39765e55da4cf7c8b69da7ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "5bd1549540771ca8bbaa607a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "713f034e4c319011f3cb7e22",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ca0802c2e73d06aa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f897fe25893073e3f0db8282",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8eaa2d7089aa3bd2ed5181dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf46918c590c2bf",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "57debdeffa3612de3691f9dd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "a19f80de766f519f19382fb9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2e89046567b5b9a0f886b650",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "1b49930d276430010d8601ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "610289c7ec98892d394458cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c50b9f5a8ca89ab9650148d6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeatureSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FeatureSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5ac1ebf0487d23e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 235,
      "logic_relevance": "none",
      "name": "feature-section",
      "normalized_name": "feature-section",
      "package_manager": "pnpm",
      "path": "components/landing/feature-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "a75b366b170483fc4e8fc128",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardCanvas, DrawingElement, Point | imports:@/hooks/use-analytics, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "BoardCanvas,DrawingElement,Point",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f43c48f3aa0401d",
      "framework": "next-react",
      "imports": "@/hooks/use-analytics,react",
      "lines": 493,
      "logic_relevance": "none",
      "name": "board-canvas",
      "normalized_name": "board-canvas",
      "package_manager": "pnpm",
      "path": "components/board/board-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "53179cee1420be4e53056789",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollaboratorsList | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CollaboratorsList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21d0deedef728c69",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 131,
      "logic_relevance": "none",
      "name": "collaborators-list",
      "normalized_name": "collaborators-list",
      "package_manager": "pnpm",
      "path": "components/board/collaborators-list.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2cda88d3d101743782564d21",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RealTimeCollaboration | imports:@/components/ui/avatar, @/components/ui/badge, @/types/board, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RealTimeCollaboration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d164caa5c1a2cd03",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/types/board,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "real-time-collaboration",
      "normalized_name": "real-time-collaboration",
      "package_manager": "pnpm",
      "path": "components/board/real-time-collaboration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "66add9daa0a670ce9ccf46ff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MiroFeatures | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/label, @/components/ui/switch, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "MiroFeatures",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4daa3d0ab444d4c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/label,@/components/ui/switch,lucide-react,react",
      "lines": 265,
      "logic_relevance": "none",
      "name": "miro-features",
      "normalized_name": "miro-features",
      "package_manager": "pnpm",
      "path": "components/board/miro-features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "1890204ca7f75b24f93a4a65",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentPanel | imports:@/components/ui/avatar, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/textarea, @/types/board, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CommentPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7f232971e483146",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/textarea,@/types/board,lucide-react,react",
      "lines": 192,
      "logic_relevance": "none",
      "name": "comment-panel",
      "normalized_name": "comment-panel",
      "package_manager": "pnpm",
      "path": "components/board/comment-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "c7a6146310c68d47b6cab85b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:TemplateSelector | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/types/board, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "TemplateSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56e784d50198a492",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/types/board,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "template-selector",
      "normalized_name": "template-selector",
      "package_manager": "pnpm",
      "path": "components/board/template-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f3b1895e419428411785509c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BoardToolbar | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/separator, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BoardToolbar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "287c5182efd4e356",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/separator,@/components/ui/tooltip,lucide-react,react",
      "lines": 352,
      "logic_relevance": "none",
      "name": "board-toolbar",
      "normalized_name": "board-toolbar",
      "package_manager": "pnpm",
      "path": "components/board/board-toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e89938a790e01339fffa5154",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/types,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ConnectionManager | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/types/board, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ConnectionManager",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "96e5a229cde01099",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/types/board,lucide-react,react",
      "lines": 226,
      "logic_relevance": "none",
      "name": "connection-manager",
      "normalized_name": "connection-manager",
      "package_manager": "pnpm",
      "path": "components/board/connection-manager.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "2cf232edd4376b6f423387c8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/types,next,next-auth,react,react-hot-toast,socket.io-client",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CollaborativeBoard | imports:@/components/board/board-canvas, @/components/board/board-toolbar, @/components/board/collaborators-list, @/components/board/comment-panel, @/components/board/connection-manager, @/components/board/miro-features, @/components/board/real-time-collaboration, @/components/board/template-selector | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "CollaborativeBoard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db5dc1a46c6a70e5",
      "framework": "next-react",
      "imports": "@/components/board/board-canvas,@/components/board/board-toolbar,@/components/board/collaborators-list,@/components/board/comment-panel,@/components/board/connection-manager,@/components/board/miro-features,@/components/board/real-time-collaboration,@/components/board/template-selector,@/components/editor/code-editor,@/components/integrations/process-co-integration,@/components/ui/button,@/components/ui/input,@/components/ui/user-mode-selector,@/components/workflow-executor,@/components/workflow-library,@/components/workflow-validator,@/hooks/use-analytics,@/types/board,next-auth/react,next/navigation,react,react-hot-toast,socket.io-client",
      "lines": 709,
      "logic_relevance": "none",
      "name": "collaborative-board",
      "normalized_name": "collaborative-board",
      "package_manager": "pnpm",
      "path": "components/board/collaborative-board.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,automation",
      "component_id": "5a577d4f5cbea4b1f27df1eb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ExecuteTemplateButton | imports:@/components/ui/button, @/lib/workflow-templates, lucide-react, next/navigation, react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "ExecuteTemplateButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a159c7624970b066",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/workflow-templates,lucide-react,next/navigation,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "execute-template-button",
      "normalized_name": "execute-template-button",
      "package_manager": "pnpm",
      "path": "components/workflows/execute-template-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "527e7f024c7112e8ebdee8a9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProcessCoIntegration | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/switch, @/components/ui/textarea, lucide-react | frontend-score:115 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProcessCoIntegration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7535dbf79c9181ae",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/switch,@/components/ui/textarea,lucide-react,react",
      "lines": 304,
      "logic_relevance": "none",
      "name": "process-co-integration",
      "normalized_name": "process-co-integration",
      "package_manager": "pnpm",
      "path": "components/integrations/process-co-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "009c3170a22c6ee5402c8cad",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeEditor | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CodeEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19c6bb1990aaf83e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "code-editor",
      "normalized_name": "code-editor",
      "package_manager": "pnpm",
      "path": "components/editor/code-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "69c33064d7a650b692e4f06c",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react,vitest",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/dashboard-sidebar, @testing-library/react, vitest | ui-score:125 | frontend-score:60",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "78f61a90194151eb",
      "framework": "next-react",
      "imports": "@/components/dashboard-sidebar,@testing-library/react,vitest",
      "lines": 18,
      "logic_relevance": "none",
      "name": "sidebar.test",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "__tests__/sidebar.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "2d965f35f592bbec73d574f5",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/app,@testing-library/react,react,vitest",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/dashboard/page, @testing-library/react, react, vitest | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "359df618e860639d",
      "framework": "next-react",
      "imports": "@/app/dashboard/page,@testing-library/react,react,vitest",
      "lines": 42,
      "logic_relevance": "none",
      "name": "dashboard.test",
      "normalized_name": "dashboard",
      "package_manager": "pnpm",
      "path": "__tests__/dashboard.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,process",
      "component_id": "7e0a31f5a9e4d69913ee6b59",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:EXPECTED_TEMPLATE_IDS | imports:@/lib/workflow-templates, vitest | automation-score:95 | process-score:80",
      "exports": "EXPECTED_TEMPLATE_IDS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c94bdde32c359d27",
      "framework": "next-react",
      "imports": "@/lib/workflow-templates,vitest",
      "lines": 62,
      "logic_relevance": "none",
      "name": "workflows.test",
      "normalized_name": "workflows",
      "package_manager": "pnpm",
      "path": "__tests__/workflows.test.ts",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9716e688d3d6dec5df6b1a8a",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "security",
      "component_id": "39cb5bba244a6e82034ff180",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useLocalStorage | imports:react | security-score:55",
      "exports": "useLocalStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7e299b3808792fa2",
      "framework": "next-react",
      "imports": "react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "use-local-storage",
      "normalized_name": "use-local-storage",
      "package_manager": "pnpm",
      "path": "hooks/use-local-storage.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "c73a7f2a3385ac2c96d1dac3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@vercel/analytics,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AnalyticsEvent, ComponentAnalyticsProps, useAnalytics, useComponentAnalytics | imports:@vercel/analytics, react | observability-score:55 | automation-score:45 | uses-env",
      "exports": "AnalyticsEvent,ComponentAnalyticsProps,useAnalytics,useComponentAnalytics",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5062d609e240034c",
      "framework": "next-react",
      "imports": "@vercel/analytics,react",
      "lines": 209,
      "logic_relevance": "none",
      "name": "use-analytics",
      "normalized_name": "use-analytics",
      "package_manager": "pnpm",
      "path": "hooks/use-analytics.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security",
      "component_id": "49d6d3666df64f57ec87d1b3",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "child_process,fs",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:child_process, fs | automation-score:95 | process-score:80 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f55fa94dca701388",
      "framework": "next-react",
      "imports": "child_process,fs",
      "lines": 142,
      "logic_relevance": "none",
      "name": "deploy",
      "normalized_name": "deploy",
      "package_manager": "pnpm",
      "path": "scripts/deploy.js",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "fd30f63a16a350a7da5d0a0f",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6075e96eff585167",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "migrate",
      "normalized_name": "migrate",
      "package_manager": "pnpm",
      "path": "scripts/migrate.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "43424da0d55993c06d2e2e86",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:triggerJenkinsJob | imports:@/lib/with-safe | process-score:80 | observability-score:55 | security-score:55 | uses-env",
      "exports": "triggerJenkinsJob",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "52c668eb32d8ae1a",
      "framework": "next-react",
      "imports": "@/lib/with-safe",
      "lines": 41,
      "logic_relevance": "none",
      "name": "workflow-actions",
      "normalized_name": "workflow-actions",
      "package_manager": "pnpm",
      "path": "actions/workflow-actions.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "11c428193e8a2b7f16581334",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ExecuteResult | imports:@/lib/neon, @/lib/workflow-templates | process-score:80 | observability-score:55",
      "exports": "ExecuteResult",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5743ee283b0103aa",
      "framework": "next-react",
      "imports": "@/lib/neon,@/lib/workflow-templates",
      "lines": 98,
      "logic_relevance": "none",
      "name": "process-co-actions",
      "normalized_name": "process-co-actions",
      "package_manager": "pnpm",
      "path": "actions/process-co-actions.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "25de5f06821ea085f7bc18e6",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WebSocketConnection, WebSocketEventHandler, WebSocketMessage, broadcastToRoom, createWebSocketConnection, getWebSocketManager, offWebSocketEvent, onWebSocketEvent | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WebSocketConnection,WebSocketEventHandler,WebSocketMessage,broadcastToRoom,createWebSocketConnection,getWebSocketManager,offWebSocketEvent,onWebSocketEvent,sendToUser",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "328259db9c310111",
      "framework": "next-react",
      "imports": "",
      "lines": 231,
      "logic_relevance": "primary",
      "name": "websocket",
      "normalized_name": "websocket",
      "package_manager": "pnpm",
      "path": "lib/websocket.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security,ai",
      "component_id": "aebf7f5d59fef824378a695d",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:analyticsHelpers, boardHelpers, prisma, workflowHelpers | logic-score:85 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "analyticsHelpers,boardHelpers,prisma,workflowHelpers",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ffa478b7d15a20a0",
      "framework": "next-react",
      "imports": "",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "prisma",
      "normalized_name": "prisma",
      "package_manager": "pnpm",
      "path": "lib/prisma.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "ai,logic,security,automation",
      "component_id": "d9c053f2114e703c6cf57d8d",
      "component_kind": "ai-integration",
      "confidence": 85,
      "dependency_roots": "@ai-sdk/xai,ai",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:@ai-sdk/xai, ai | ai-score:120 | logic-score:85 | security-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "65df8126401cb46d",
      "framework": "next-react",
      "imports": "@ai-sdk/xai,ai",
      "lines": 49,
      "logic_relevance": "secondary",
      "name": "email-intake",
      "normalized_name": "email-intake",
      "package_manager": "pnpm",
      "path": "lib/email-intake.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security,ai",
      "component_id": "dd5edde8e3ea6fd308eba588",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WildDuckConfig, WildDuckMailbox, WildDuckMessage, WildDuckUser, createWildDuckClient | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "WildDuckConfig,WildDuckMailbox,WildDuckMessage,WildDuckUser,createWildDuckClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3714c0232ed19107",
      "framework": "next-react",
      "imports": "",
      "lines": 276,
      "logic_relevance": "primary",
      "name": "wildduck-api",
      "normalized_name": "wildduck-api",
      "package_manager": "pnpm",
      "path": "lib/wildduck-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "7c6ef630534a74e4d0371ca0",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:trackClientError, trackClientEvent | logic-score:85 | observability-score:55",
      "exports": "trackClientError,trackClientEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3566958dc0080692",
      "framework": "next-react",
      "imports": "",
      "lines": 50,
      "logic_relevance": "primary",
      "name": "telemetry-client",
      "normalized_name": "telemetry-client",
      "package_manager": "pnpm",
      "path": "lib/telemetry-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "7b3ac574b42b389e8eb95474",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:TrackingConfig, TrackingEvent, getServerTracker, identifyServerUser, initializeServerTracking, trackServerEvent, trackServerPageView | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "TrackingConfig,TrackingEvent,getServerTracker,identifyServerUser,initializeServerTracking,trackServerEvent,trackServerPageView",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fb1cd8c9f81c6da4",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "primary",
      "name": "server-tracking",
      "normalized_name": "server-tracking",
      "package_manager": "pnpm",
      "path": "lib/server-tracking.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "f96617d3fecea5e388ee0b50",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EmailAction, EmailCondition, EmailProcessingRule, ProcessedEmail, createEmailRule, getEmailProcessor | imports:./wildduck-api | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "EmailAction,EmailCondition,EmailProcessingRule,ProcessedEmail,createEmailRule,getEmailProcessor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe1cc3fa5d5768c1",
      "framework": "next-react",
      "imports": "./wildduck-api",
      "lines": 299,
      "logic_relevance": "primary",
      "name": "wildduck-enhanced",
      "normalized_name": "wildduck-enhanced",
      "package_manager": "pnpm",
      "path": "lib/wildduck-enhanced.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "873c6004adec8c141e777ea3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GitHubAPI, GitHubIssue, GitHubPullRequest, GitHubRepo, createGitHubClient, parseGitHubWebhook | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GitHubAPI,GitHubIssue,GitHubPullRequest,GitHubRepo,createGitHubClient,parseGitHubWebhook",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "095213cb6b7470fa",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "github-integration",
      "normalized_name": "github-integration",
      "package_manager": "pnpm",
      "path": "lib/github-integration.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "4d83fe5fc7d8ee8c4e155891",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnalyticsConfig, AnalyticsEvent, getAnalytics, identify, initializeAnalytics, page, track | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "AnalyticsConfig,AnalyticsEvent,getAnalytics,identify,initializeAnalytics,page,track",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "23bfb79a82e8fd62",
      "framework": "next-react",
      "imports": "",
      "lines": 155,
      "logic_relevance": "primary",
      "name": "tracking",
      "normalized_name": "tracking",
      "package_manager": "pnpm",
      "path": "lib/tracking.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "66a3c94f39a0a9e921a2e29c",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AppError, ForbiddenError, NotFoundError, UnauthorizedError, ValidationError, asyncHandler, createErrorResponse, handleError | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AppError,ForbiddenError,NotFoundError,UnauthorizedError,ValidationError,asyncHandler,createErrorResponse,handleError,withErrorHandling",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d4916606801f276e",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "primary",
      "name": "error-handler",
      "normalized_name": "error-handler",
      "package_manager": "pnpm",
      "path": "lib/error-handler.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,backend,observability,security,automation",
      "component_id": "347f959141275e662528713e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ProcessCoAPI, ProcessCoExecution, ProcessCoLog, ProcessCoStep, ProcessCoTrigger, ProcessCoWorkflow, createProcessCoClient | logic-score:85 | process-score:80 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ProcessCoAPI,ProcessCoExecution,ProcessCoLog,ProcessCoStep,ProcessCoTrigger,ProcessCoWorkflow,createProcessCoClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f098d3214c957a01",
      "framework": "next-react",
      "imports": "",
      "lines": 151,
      "logic_relevance": "primary",
      "name": "process-co-api",
      "normalized_name": "process-co-api",
      "package_manager": "pnpm",
      "path": "lib/process-co-api.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "9d0f01ae28ca6175d7c6ff51",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getSupabaseServiceClient | imports:@supabase/supabase-js | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "getSupabaseServiceClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "09e70a584d755272",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 14,
      "logic_relevance": "primary",
      "name": "supabase-server",
      "normalized_name": "supabase-server",
      "package_manager": "pnpm",
      "path": "lib/supabase-server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "d3995902d6a929e15a0e63a9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WebhookDelivery, WebhookEndpoint, WebhookEvent, createWebhookEndpoint, getWebhookManager, processWebhookEvent | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "WebhookDelivery,WebhookEndpoint,WebhookEvent,createWebhookEndpoint,getWebhookManager,processWebhookEvent",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "482ccd93fc5cecd6",
      "framework": "next-react",
      "imports": "",
      "lines": 232,
      "logic_relevance": "primary",
      "name": "webhook-manager",
      "normalized_name": "webhook-manager",
      "package_manager": "pnpm",
      "path": "lib/webhook-manager.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "07af890d2f76934bfaf44e2b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:withSafeAction, withSafeRoute | imports:@/lib/telemetry-server, next/server | logic-score:85 | observability-score:55",
      "exports": "withSafeAction,withSafeRoute",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7b9a5d5d4eb38328",
      "framework": "next-react",
      "imports": "@/lib/telemetry-server,next/server",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "with-safe",
      "normalized_name": "with-safe",
      "package_manager": "pnpm",
      "path": "lib/with-safe.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability",
      "component_id": "3f7bdbfee9962be3d60f6347",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ServerErrorPayload | imports:@/lib/supabase-server | logic-score:70 | backend-score:55 | observability-score:55",
      "exports": "ServerErrorPayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b11db4a19bcc76d8",
      "framework": "next-react",
      "imports": "@/lib/supabase-server",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "telemetry-server",
      "normalized_name": "telemetry-server",
      "package_manager": "pnpm",
      "path": "lib/telemetry-server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "5a256e4010ed31a2625dfc18",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:trackClientError, trackClientEvent | logic-score:85",
      "exports": "trackClientError,trackClientEvent",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2a1725c3a3ce34ef",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "client-analytics",
      "normalized_name": "client-analytics",
      "package_manager": "pnpm",
      "path": "lib/client-analytics.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "4d8e67acf206c0c255f570f8",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:camelToTitle, capitalize, chunk, cn, debounce, formatCurrency, formatDate, formatDateTime | imports:clsx, tailwind-merge | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "camelToTitle,capitalize,chunk,cn,debounce,formatCurrency,formatDate,formatDateTime,formatFileSize,formatNumber,formatPercentage,formatRelativeTime,generateId,generateUUID,getErrorMessage,getFileExtension,getFromLocalStorage,getMimeType,groupBy,hexToRgb,isClient,isDevelopment,isEmail,isEmpty,isErrorWithMessage,isProduction,isServer,isUrl,isValidJson,omit,pick,removeFromLocalStorage,rgbToHex,setToLocalStorage,shuffle,sleep,slugify,throttle,truncate,unique",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5da1cd45815036e2",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 359,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "b34916441012171216ccd4ba",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getSupabaseBrowserClient | imports:@supabase/supabase-js | logic-score:60 | security-score:55 | uses-env",
      "exports": "getSupabaseBrowserClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d78c38388065b5cd",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "supabase-client",
      "normalized_name": "supabase-client",
      "package_manager": "pnpm",
      "path": "lib/supabase-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "227f87c75d8d589e683b62f7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ApiResponse, Board, BoardCollaborator, BoardElement, BoardEvent, CreateBoardInput, CreateBoardSchema, CreateWorkflowInput | imports:zod | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "ApiResponse,Board,BoardCollaborator,BoardElement,BoardEvent,CreateBoardInput,CreateBoardSchema,CreateWorkflowInput,CreateWorkflowSchema,ExecuteWorkflowInput,ExecuteWorkflowSchema,Integration,LOG_LEVELS,LogLevel,NODE_TYPES,NodeType,Optional,PaginatedResponse,RequiredFields,User,VARIABLE_TYPES,ValidationError,VariableType,WORKFLOW_STATUSES,WorkflowEdge,WorkflowError,WorkflowEvent,WorkflowExecution,WorkflowLog,WorkflowNode,WorkflowNodeInput,WorkflowNodeOutput,WorkflowStatus,WorkflowTemplate,WorkflowVariable",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6e7477dd3685d363",
      "framework": "next-react",
      "imports": "zod",
      "lines": 254,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation,logic,integration,observability",
      "component_id": "2dc8f8be740ebf68ab9364d9",
      "component_kind": "deployment-automation",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:VercelAnalyticsEvent, trackBoardAction, trackError, trackEvent, trackIntegrationUsage, trackPageView, trackPerformance, trackUserAction | imports:@vercel/analytics | automation-score:95 | logic-score:70 | integration-score:55 | observability-score:55",
      "exports": "VercelAnalyticsEvent,trackBoardAction,trackError,trackEvent,trackIntegrationUsage,trackPageView,trackPerformance,trackUserAction,trackWorkflowExecution",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "09d38f119736f7d4",
      "framework": "next-react",
      "imports": "@vercel/analytics",
      "lines": 83,
      "logic_relevance": "secondary",
      "name": "vercel-analytics",
      "normalized_name": "vercel-analytics",
      "package_manager": "pnpm",
      "path": "lib/vercel-analytics.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,automation",
      "component_id": "42d0a5ab0371d37fe9b63bdd",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/actions",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./github-integration, ./wildduck-api, @/actions/process-co-actions | logic-score:85 | process-score:80 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ad913e96a2ad64dd",
      "framework": "next-react",
      "imports": "./github-integration,./wildduck-api,@/actions/process-co-actions",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "workflow-dispatcher",
      "normalized_name": "workflow-dispatcher",
      "package_manager": "pnpm",
      "path": "lib/workflow-dispatcher.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security,automation",
      "component_id": "1016457d9730c4aa1071bde4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "zod",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EnvStatus, getEnvStatus | imports:zod | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "EnvStatus,getEnvStatus",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fb031c8e972f542f",
      "framework": "next-react",
      "imports": "zod",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "env",
      "normalized_name": "env",
      "package_manager": "pnpm",
      "path": "lib/env.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "f10e9832c024a8c82bf1521b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ExecutionRow, getSql | imports:@neondatabase/serverless | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ExecutionRow,getSql",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9643e5c65fb51cf2",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 74,
      "logic_relevance": "primary",
      "name": "neon",
      "normalized_name": "neon",
      "package_manager": "pnpm",
      "path": "lib/neon.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,process,observability,automation,ai",
      "component_id": "a5ca1330aac892088cacacac",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/types",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:defaultTemplates | imports:@/types/board | logic-score:85 | process-score:80 | observability-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "defaultTemplates",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2dc63460b771dc4",
      "framework": "next-react",
      "imports": "@/types/board",
      "lines": 654,
      "logic_relevance": "primary",
      "name": "workflow-templates",
      "normalized_name": "workflow-templates",
      "package_manager": "pnpm",
      "path": "lib/workflow-templates.ts",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__process-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "7dea8780496917128913d64e",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Board, BoardConnection, BoardElement, createBoard, createElement, deleteElement, updateElement | logic-score:85",
      "exports": "Board,BoardConnection,BoardElement,createBoard,createElement,deleteElement,updateElement",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f4805b16c5cbb863",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "board",
      "normalized_name": "board",
      "package_manager": "pnpm",
      "path": "lib/board.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "5b4c7818669137108d559d35",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "d3",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BarChart, ChartConfig, DataPoint, LineChart, createBarChart, createLineChart | imports:d3 | logic-score:85",
      "exports": "BarChart,ChartConfig,DataPoint,LineChart,createBarChart,createLineChart",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "54af452619059d3a",
      "framework": "next-react",
      "imports": "d3",
      "lines": 173,
      "logic_relevance": "primary",
      "name": "d3-visualizations",
      "normalized_name": "d3-visualizations",
      "package_manager": "pnpm",
      "path": "lib/d3-visualizations.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "450871410536be7bd71304c5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next-auth",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:authOptions, getServerSession, getUserFromSession | imports:next-auth, next-auth/providers/github, next-auth/providers/google | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "authOptions,getServerSession,getUserFromSession",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9106d4a599a626cb",
      "framework": "next-react",
      "imports": "next-auth,next-auth/providers/github,next-auth/providers/google",
      "lines": 95,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "5592f0378718e66c3246d2f6",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/prisma, next/cache | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ca16a6cb24ea805",
      "framework": "next-react",
      "imports": "@/lib/prisma,next/cache",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "board-actions",
      "normalized_name": "board-actions",
      "package_manager": "pnpm",
      "path": "lib/actions/board-actions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "97e893eae93091dabf833fbc",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,http,next,socket.io",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/websocket, http, next/server, socket.io | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8bbaa27060882f40",
      "framework": "next-react",
      "imports": "@/lib/websocket,http,next/server,socket.io",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/socketio/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "aaf573c3e4e1a7a93d6f82c1",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,next,next-auth,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MAX_BOARDS_PER_USER, POST | imports:@/lib/auth, @/lib/error-handler, @/lib/prisma, next-auth/next, next/server, zod | backend-score:160 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,MAX_BOARDS_PER_USER,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5f99f67c3024f852",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/error-handler,@/lib/prisma,next-auth/next,next/server,zod",
      "lines": 163,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/boards/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "8757570b7bfbd7f6b049720b",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,next,next-auth,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PUT | imports:@/lib/auth, @/lib/prisma, next-auth/next, next/server, zod | backend-score:160 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PUT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "63503db8dcc84078",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/prisma,next-auth/next,next/server,zod",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/boards/[boardId]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,observability,security",
      "component_id": "4d558275384f6002277c698d",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,next,next-auth,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/server-tracking, next-auth/jwt, next/server, zod | backend-score:160 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4cbf48254e1b44a5",
      "framework": "next-react",
      "imports": "@/lib/server-tracking,next-auth/jwt,next/server,zod",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/tracking/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "6291b9dc578fbbd929f91cdd",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,next,next-auth,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/auth, @/lib/server-tracking, @/lib/webhook-manager, next-auth, next/server, zod | backend-score:160 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f125bbb7a5c6c192",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/server-tracking,@/lib/webhook-manager,next-auth,next/server,zod",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,automation",
      "component_id": "24e08854d9e212e9ecd0ef11",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/workflow-dispatcher, next/server | backend-score:125 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7caead77b103a5b6",
      "framework": "next-react",
      "imports": "@/lib/workflow-dispatcher,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "api/webhooks/email/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8a758be4e73198818cee7b3e",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPage, metadata | imports:react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PricingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a4e8a22ea2bdb746",
      "framework": "next-react",
      "imports": "react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "pricing/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__process-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "10fbb88e3b0affdd44d372b5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "304b9e8704e9b907",
      "framework": "next-react",
      "imports": "",
      "lines": 1006,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend",
      "component_id": "1395e32e025f6eee7b113539",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:@/lib/i18n, next/server | backend-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "722e4ce048721497",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/server",
      "lines": 48,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "52fc92a28ab42b3b480a6aaa",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dad54cce55a2fca8",
      "framework": "next-react",
      "imports": "next",
      "lines": 60,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "c18c21d99c9ea22b38906ffc",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f3081d34633a2ac3",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9a2d9d7d6853402b27260355",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec67743cc7621061",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security",
      "component_id": "761255f04f48c6815461c8fc",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:Player | integration-score:55 | security-score:55",
      "exports": "Player",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0a5fe2f6a20f4bea",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "spotify.d",
      "normalized_name": "spotify-d",
      "package_manager": "pnpm",
      "path": "types/spotify.d.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "e2edf10ef075080e2ad2f536",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | automation-score:45 | uses-env | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "47f2ccb5e88f7487",
      "framework": "next-react",
      "imports": "next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "b3ba30a5bba5806391281ce2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:@/lib/products, next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79029a222b00aef9",
      "framework": "next-react",
      "imports": "@/lib/products,next",
      "lines": 99,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "1e67d633dc74ab6664327faa",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "08e9a446b38ab583",
      "framework": "next-react",
      "imports": "next,next/font/google",
      "lines": 86,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "83a5c4ed773ca8d010c4b817",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootPage | imports:@/lib/i18n, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "RootPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c9f2a5fa9dea744",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/navigation",
      "lines": 6,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "f9eef0125c34852492009582",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "960137994a6df3b3",
      "framework": "next-react",
      "imports": "",
      "lines": 219,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "46d55afc4da5cb636af66f3c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4119e503f1cdaca5",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 99,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "c82a219616fe5d069afda670",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:@/lib/products | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2ed70a768f2fd19b",
      "framework": "next-react",
      "imports": "@/lib/products",
      "lines": 53,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "ec172bea7ea682aeba66879e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE, GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d2f5f03f25730d17",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/server-card.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "cc45bd0baefdf8ecca3d4a47",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aab38f30190cea49",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "27e3613e37027f6de87e2675",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8eff2e241dcdf837",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "4886fa9691f18554071b27b3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/spotify, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4f800dd1bfbe3fe0",
      "framework": "next-react",
      "imports": "@/lib/spotify,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/spotify/token/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,security",
      "component_id": "258c1f15996b39cc50b9a99d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/spotify, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2d6dcf0a915235fc",
      "framework": "next-react",
      "imports": "@/lib/spotify,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/spotify/authorize/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,security",
      "component_id": "a4b8d889771fc5c2f62f01d7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/spotify, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "33650b66170bac35",
      "framework": "next-react",
      "imports": "@/lib/spotify,next/server",
      "lines": 55,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/spotify/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend",
      "component_id": "ef4bc9cece15282f0fac8983",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "72399a2926b482b9",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/catalog/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a25ca3f39bff936712f9eb5b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46fa0b139b07a500",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/catalog/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend",
      "component_id": "5d2c5b749c98a40aa2fc67e1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:next/server | backend-score:125 | frontend-score:55 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "574f641cc4f7ace8",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "706db212d7b1cb7a92bb5e2d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET, MCP_UPSTREAM, POST | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET,MCP_UPSTREAM,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4e5613a09c461f1a",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 286,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "888885c3e99babaae38bfd19",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "aab503147968bc3c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "c0e807d4ca7094cd7044d393",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/etsy, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler | cron-or-schedule",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c8bf4b91ff063d1f",
      "framework": "next-react",
      "imports": "@/lib/etsy,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/etsy/sync/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,security",
      "component_id": "c53139489ef41be1ce037fa2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "715ed282283966b7",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,frontend,integration,observability,automation",
      "component_id": "d4bd18416f15f141ce82872d",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "717783c9f404137d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/zapier/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,automation,frontend,integration,observability",
      "component_id": "a5d0ccede5dd5bce2f3879ec",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fc1c1b2f9cb0c93a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 6,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "67218a7eb0f48775740c708a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL, GET | imports:@/lib/products, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "BASE_URL,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "102a18008ab13458",
      "framework": "next-react",
      "imports": "@/lib/products,next/server",
      "lines": 82,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "a1fb126b12bf0e9dcc52fcf2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/breadcrumbs, @/components/footer, @/components/header, @/components/json-ld, @/lib/i18n, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a72d5fd2d94884f",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/footer,@/components/header,@/components/json-ld,@/lib/i18n,next/navigation",
      "lines": 42,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[lang]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a3efa4b09036831c59595941",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/product-card, @/lib/i18n, @/lib/products, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "22c8eb1b34c8d5d9",
      "framework": "next-react",
      "imports": "@/components/product-card,@/lib/i18n,@/lib/products,next/link",
      "lines": 225,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8b5e2fcbf9d5171cf05299b2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, metadata | imports:@/components/spotify-player, @/lib/i18n, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "generateStaticParams,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7745accab637523",
      "framework": "next-react",
      "imports": "@/components/spotify-player,@/lib/i18n,next,next/link",
      "lines": 160,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/music/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "d9d0c2af5c940a6480ad7e0c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage | imports:@/components/json-ld, @/lib/i18n | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FaqPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8265b8fdb95c8d43",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/lib/i18n",
      "lines": 59,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "fde01c7bc57ec2dd0d9f3e09",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, metadata | imports:@/components/json-ld, @/components/shop-filters, @/components/shop-grid, @/lib/i18n, @/lib/products, next | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "generateStaticParams,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae701ebd23859666",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/shop-filters,@/components/shop-grid,@/lib/i18n,@/lib/products,next",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/shop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b79eeba828829b2a3ad75c7c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams | imports:@/components/json-ld, @/components/product-card, @/lib/i18n, @/lib/products, next, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "generateStaticParams",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce462893e3e0991e",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/product-card,@/lib/i18n,@/lib/products,next,next/link,next/navigation",
      "lines": 123,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/shop/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,automation,ai",
      "component_id": "033cd52dd0096af2de0e25df",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, metadata | imports:@/lib/i18n, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | automation-score:45 | ai-score:45",
      "exports": "generateStaticParams,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6531d037df852716",
      "framework": "next-react",
      "imports": "@/lib/i18n,next,next/link",
      "lines": 188,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "34ac9c4241ae8585308a336d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, metadata | imports:@/lib/i18n, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "generateStaticParams,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34609d95fb9638c2",
      "framework": "next-react",
      "imports": "@/lib/i18n,next,next/link",
      "lines": 212,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/story/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,ai",
      "component_id": "f56c8f22ebd3133e9abaad22",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "node:assert,node:test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | imports:node:assert, node:test | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7e8ed2d006093df1",
      "framework": "next-react",
      "imports": "node:assert,node:test",
      "lines": 59,
      "logic_relevance": "none",
      "name": "api.test",
      "normalized_name": "api",
      "package_manager": "pnpm",
      "path": "tests/api.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,integration,observability,security",
      "component_id": "7a55afcdca28457f9c053938",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SpotifyPlayer | imports:react | frontend-score:115 | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "SpotifyPlayer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e10bef28dd42e7f0",
      "framework": "next-react",
      "imports": "react",
      "lines": 285,
      "logic_relevance": "none",
      "name": "spotify-player",
      "normalized_name": "spotify-player",
      "package_manager": "pnpm",
      "path": "components/spotify-player.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e548eefe1b9c49cb6ab0254e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ec575fe0b69697d2",
      "framework": "next-react",
      "imports": "next/link,next/navigation",
      "lines": 51,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "75d67e326335493e249de21f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard | imports:@/lib/products, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9df9cb54f07198bf",
      "framework": "next-react",
      "imports": "@/lib/products,next/link",
      "lines": 55,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "components/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,automation",
      "component_id": "958d5a8eefbf45e893b0d609",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BreadcrumbJsonLd, ItemListJsonLd, ProductJsonLd, SiteJsonLd | imports:@/lib/products | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "BreadcrumbJsonLd,ItemListJsonLd,ProductJsonLd,SiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "364ae60931643118",
      "framework": "next-react",
      "imports": "@/lib/products",
      "lines": 272,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "bcd6c5c2203cd550fea5bd6b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/lib/i18n, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4adf095f5d9bead3",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/link",
      "lines": 100,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "4f092413e81ad502626438af",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShopFilters | imports:@/lib/products, next/navigation, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ShopFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af761a7bc974265a",
      "framework": "next-react",
      "imports": "@/lib/products,next/navigation,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "shop-filters",
      "normalized_name": "shop-filters",
      "package_manager": "pnpm",
      "path": "components/shop-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a2673ae04f2c049715458ab8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/lib/i18n, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "04255fe9e94a5bb5",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/link,next/navigation,react",
      "lines": 175,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "7f57d0f20eeabcf93b701fa0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShopGrid | imports:@/components/product-card, @/lib/products, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShopGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4917e7cf61a87cc4",
      "framework": "next-react",
      "imports": "@/components/product-card,@/lib/products,next/navigation,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "shop-grid",
      "normalized_name": "shop-grid",
      "package_manager": "pnpm",
      "path": "components/shop-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e9d1aded0beb7e92cdc24e40",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2461c45e33677543",
      "framework": "next-react",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "network",
      "normalized_name": "network",
      "package_manager": "pnpm",
      "path": "public/network.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "65f257741d96de9141f3d402",
      "component_kind": "mcp",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8bf8e0b557bdf4ec",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "public/.well-known/mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,observability,security,ai",
      "component_id": "5d3ad07a366feb153474c830",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "85a3284e50da088a",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "d168731cb27f64c693875a77",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ccb4e6df64d9062f",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "6bb7f9b2f391318ecf1bbbb0",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "https",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:https | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5ab4f39dd5338d23",
      "framework": "next-react",
      "imports": "https",
      "lines": 55,
      "logic_relevance": "none",
      "name": "register-network",
      "normalized_name": "register-network",
      "package_manager": "pnpm",
      "path": "scripts/register-network.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security",
      "component_id": "9a85b8c73a9f1f91b5e8f63a",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:buildAuthUrl, generateCodeVerifier, getClientId, isSpotifyConfigured | logic-score:60 | integration-score:55 | security-score:55 | uses-env",
      "exports": "buildAuthUrl,generateCodeVerifier,getClientId,isSpotifyConfigured",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "12d12b9dc2ef61d2",
      "framework": "next-react",
      "imports": "",
      "lines": 111,
      "logic_relevance": "primary",
      "name": "spotify",
      "normalized_name": "spotify",
      "package_manager": "pnpm",
      "path": "lib/spotify.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "8de2342d6756461ea46ea871",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/dictionaries",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Dictionary, Locale, defaultLocale, getDirection, isValidLocale, locales | imports:@/dictionaries/de.json, @/dictionaries/en.json, @/dictionaries/es.json, @/dictionaries/fr.json, @/dictionaries/ja.json | logic-score:85",
      "exports": "Dictionary,Locale,defaultLocale,getDirection,isValidLocale,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8e3e5e49ec24490d",
      "framework": "next-react",
      "imports": "@/dictionaries/de.json,@/dictionaries/en.json,@/dictionaries/es.json,@/dictionaries/fr.json,@/dictionaries/ja.json",
      "lines": 35,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability,security",
      "component_id": "a2b208014c67d675ca8122f1",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:etsyListingToProduct, getStoreUrl, isEtsyConfigured | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "etsyListingToProduct,getStoreUrl,isEtsyConfigured",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "47214689ad1ff879",
      "framework": "next-react",
      "imports": "",
      "lines": 164,
      "logic_relevance": "primary",
      "name": "etsy",
      "normalized_name": "etsy",
      "package_manager": "pnpm",
      "path": "lib/etsy.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "f50e157680d6f0e0251d40f2",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/data",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Product, formatPrice, getAllProducts, getCategories, getFeaturedProducts, getProductBySlug, getProductsByCategory, searchProducts | imports:@/data/products.json | logic-score:85",
      "exports": "Product,formatPrice,getAllProducts,getCategories,getFeaturedProducts,getProductBySlug,getProductsByCategory,searchProducts",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "302f4b0f43ef0cc7",
      "framework": "next-react",
      "imports": "@/data/products.json",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "878274b37847ff5fa9af98c3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fad58f5cd5dcfa45",
      "framework": "next-react",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "dictionaries/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ad5ad8eaa776cb4a7fbb28a9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea2141baaf92c8ea",
      "framework": "next-react",
      "imports": "",
      "lines": 732,
      "logic_relevance": "none",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "data/products.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__reflux-site-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "87e8e98451a38d38a5278309",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6c3d82ff88a178e",
      "framework": "next-react",
      "imports": "",
      "lines": 7895,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "a8fae67444cb6d6af71125f0",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:next/server | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4660abf0f580d1df",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "6a0fa1127ff53971959a1908",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./middleware, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49a81989202ecf00",
      "framework": "next-react",
      "imports": "./middleware,next/server,vitest",
      "lines": 41,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "71c36d068fdc3e2904357fbe",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d9816f277a147014",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "692e2ec7ca0cbc918c5417d4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a72ea8fd56f269b",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 100,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d4f099bc5f4a1041c04b0ed4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3e50acc568d9bc0e",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "534db21ae4b8a29ce8f6c720",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ea11ca6e4503a8a5",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "38eedbe17415ee3ac8a8c817",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8518f029beb9ccec",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 39,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "b985db21dcc9d574f0104bc9",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c1ceb6415759554e",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "08653778c76711fc0d47a506",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/layout/announcement-bar, @/components/layout/breadcrumbs, @/components/layout/site-footer, @/components/layout/site-header, @vercel/analytics/next, @vercel/speed-insights/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78d8d99f16308dd1",
      "framework": "next-react",
      "imports": "@/components/layout/announcement-bar,@/components/layout/breadcrumbs,@/components/layout/site-footer,@/components/layout/site-header,@vercel/analytics/next,@vercel/speed-insights/next,next,next/font/google",
      "lines": 111,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "41d70b86863bd0b2475725b5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/home/about-section, @/components/home/faq-section, @/components/home/featured-products, @/components/home/health-benefits-section, @/components/home/hero-carousel, @/components/home/newsletter-section | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6bdbbe97f55db99b",
      "framework": "next-react",
      "imports": "@/components/home/about-section,@/components/home/faq-section,@/components/home/featured-products,@/components/home/health-benefits-section,@/components/home/hero-carousel,@/components/home/newsletter-section",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "86e25cf9b16ff3118d8645ef",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "259d6916109d76e9",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "32b47898b804fec0d577f081",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:@/components/contact/contact-form, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e57e65b7e605e309",
      "framework": "next-react",
      "imports": "@/components/contact/contact-form,lucide-react,next",
      "lines": 173,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "29da42fedbca83f526273129",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductsPage, metadata | imports:@/components/products/product-grid, lucide-react, next | frontend-score:115 | ui-score:55",
      "exports": "ProductsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "925432ea9d28eb21",
      "framework": "next-react",
      "imports": "@/components/products/product-grid,lucide-react,next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/products/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security",
      "component_id": "ba34ea8ca4187085fa4f98b6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/ui/card, lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "654a5fcbf75b5730",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 94,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "98e628db5ecf1bc36bae5984",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqPage, metadata | imports:@/components/home/faq-section | frontend-score:85 | ui-score:55",
      "exports": "FaqPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "249c123eb98ac21e",
      "framework": "next-react",
      "imports": "@/components/home/faq-section",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b091b23ca708d29c75484323",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d2239bbbcff33c9e",
      "framework": "next-react",
      "imports": "lucide-react,next,next/image,next/link",
      "lines": 305,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6d35a5ebf5f0062b9a404911",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ab0fa64c8198ce6e",
      "framework": "next-react",
      "imports": "next/server,zod",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/contact/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "6351bd1710b6e30138ffdf67",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "e1221f86a496ccdc",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 13,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "2b0eda0cf7c89ccad01822e2",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "76275951f4bad5bc",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 5,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,observability",
      "component_id": "5fc600ca492502af34d8961f",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d36d5286733c125c",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "cc548f4a30e02563455199b0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "dffb9490f3928529",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 46,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "16f973b1443c4350e48ffcb7",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bce0f0fd708e5a33",
      "framework": "next-react",
      "imports": "next/server,zod",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/newsletter/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,observability,automation",
      "component_id": "f5b6f132985bba78b931c88e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "11b915222ecd2525",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/jobs/generate/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "7c8f613a9a9c43dd146ac78a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:50 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "16cfb5a5532d62ca",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/jobs/generate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "7d9b5c3dabb080e9a885bd38",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b6b8f17ea75ff8a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 120,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4243ea697bfce9661c15be38",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "bccf326c01de54c03824b743",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "53e32aa522407c1745eadd6a",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e9518790115a6e8f039b5118",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "96842d1a4f46068b9416bb82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9e7f647b43c621f359640186",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "38ad93f9fd1a588bf435bdb9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "39690143205ac298d8fd7994",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7b67dc79c3897d940c7a876e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4e0a59a805ce284c791810f1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "fa274a3fe7548ec2d21e4b07",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "d5bc55326ed1064242bdf2b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9dd05c1700e975e5608b805c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8f4442421a9fe035052b675e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b2d753024abcdab1",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e535afe668891240cc706d71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4b4795b3c0afec3d40a97033",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f7297948ea270cc9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2f14303b0c3370e8c876f753",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d1968932941cc912016865ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "fa5a47a09a4837ef01b82cfa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e86701fa688c81b3efb3d3da",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0b71e38b525a310fe7d0d681",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6e794d2f27ad557c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "0213e00ddabd23a202194488",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "922ff2e159a8d9888779705f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "784b8b74a0b29aebd64ca1e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a56672fe4f600fca6d84783f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "1149431c00220021468c80b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ae8c32c2e1b39150dbe21dd1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bc4b630210277529",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "39f7d5e71035636ba2ea79bb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3dc82aad6780238",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b007ea0120b5f3025148c394",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c7e39ad192f2932d15c0125e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "50179c82433fd03b93ec8c89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "386c5651b1d01fae219f3a11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "be0196fb0feff4f5bfeaea3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "89280bf8a712f30e26a0fab6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d391dcd2d901b052caf76c95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "916e4e1b0db8845c2928c32d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8507bdff0e707352",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "df780ced16d6b30d6e87e8ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "f9d4784696595828ea20e9a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "27e37de9e7f78412405fb67c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "8b5d5ff35603bdb39af08edc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "111269a0cdbdb02c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "24d21df4aec2c71f51d3b5f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "384744f2830fb5e60fe21613",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1c14b8b5b2468fb7ff8419fa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "59e01c2de4795a4e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "76779e3ca46d5a7bdc28fd0a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3a53fc6c2657d62c9c0f42fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9af21c863f9d01cdf032c28f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b4963c3df57f3b841e464e65",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9d7744f17368641693ac3039",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "022284c4ae8ac70ff2fbfdda",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "28e7aeab9ddc1f1c557d058a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "e33621555b3083df6160e74c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "7ed0fc931f6284a90e73e956",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "7ee5997ac63ca84b4744a1e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HealthBenefitsSection | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HealthBenefitsSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1d5f3201a14c496d",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 61,
      "logic_relevance": "none",
      "name": "health-benefits-section",
      "normalized_name": "health-benefits-section",
      "package_manager": "pnpm",
      "path": "components/home/health-benefits-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fc3dd168b79b1db4fd73bdf5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutSection | imports:lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "99f8297fb392bb4a",
      "framework": "next-react",
      "imports": "lucide-react,next/image,next/link",
      "lines": 99,
      "logic_relevance": "none",
      "name": "about-section",
      "normalized_name": "about-section",
      "package_manager": "pnpm",
      "path": "components/home/about-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ee747e1e8db5ad8d7a74a0f3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqSection | imports:@/components/ui/accordion | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FaqSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05c78d7ef07cae4f",
      "framework": "next-react",
      "imports": "@/components/ui/accordion",
      "lines": 78,
      "logic_relevance": "none",
      "name": "faq-section",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "components/home/faq-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "bfd1620e254939153368011a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturedProducts | imports:@/lib/products, next/image, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FeaturedProducts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2eee98027d3b166d",
      "framework": "next-react",
      "imports": "@/lib/products,next/image,next/link",
      "lines": 66,
      "logic_relevance": "none",
      "name": "featured-products",
      "normalized_name": "featured-products",
      "package_manager": "pnpm",
      "path": "components/home/featured-products.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,observability,automation",
      "component_id": "59a662c504bedc67df113920",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterSection | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "NewsletterSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03d58240329dd2a7",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "newsletter-section",
      "normalized_name": "newsletter-section",
      "package_manager": "pnpm",
      "path": "components/home/newsletter-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "ee6049c0d9da9a1d5511441e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroCarousel | imports:@/lib/utils, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "HeroCarousel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5fa64c32ee9f17ee",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/image,next/link,react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "hero-carousel",
      "normalized_name": "hero-carousel",
      "package_manager": "pnpm",
      "path": "components/home/hero-carousel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4097da283b95a4162fc92577",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactForm | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "18927dfe22160df3",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 167,
      "logic_relevance": "none",
      "name": "contact-form",
      "normalized_name": "contact-form",
      "package_manager": "pnpm",
      "path": "components/contact/contact-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "bd186bff7f8b32bb549aed66",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductGrid | imports:./product-card, @/lib/products, @/lib/utils, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ProductGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b5773c7983a5962b",
      "framework": "next-react",
      "imports": "./product-card,@/lib/products,@/lib/utils,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "product-grid",
      "normalized_name": "product-grid",
      "package_manager": "pnpm",
      "path": "components/products/product-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c98bdf52fd0eebd8f5ab66b5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard | imports:@/lib/products, @/lib/utils, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "468fecb46631cd8b",
      "framework": "next-react",
      "imports": "@/lib/products,@/lib/utils,lucide-react,next/image,react",
      "lines": 103,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "components/products/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8d6c9188077fa39f26632f92",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnnouncementBar | imports:lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AnnouncementBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b4000292110eb60e",
      "framework": "next-react",
      "imports": "lucide-react,next/link,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "announcement-bar",
      "normalized_name": "announcement-bar",
      "package_manager": "pnpm",
      "path": "components/layout/announcement-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cde836be948b57101c52da86",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/lib/utils, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "124ccf8ff71e55e3",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/image,next/link,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/layout/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0fda4052cb0d9ee3010cb89e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bd6216065917d8a8",
      "framework": "next-react",
      "imports": "lucide-react,next/image,next/link",
      "lines": 175,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/layout/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "67625fb04b708f46e6802583",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "070be30ca06515e1",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/layout/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery",
      "component_id": "7c100f2872fc1a19b8c4d844",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bc4087f46fed178f",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "e939d13f35932aae92648130",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "81219d566801c1b5",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "humans",
      "normalized_name": "humans",
      "package_manager": "pnpm",
      "path": "public/humans.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "371a3b3c59ded49d10f942af",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "280adc31ec1745ba71efaa20",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "logic,automation",
      "component_id": "e12bf09e009027a6c650d8f8",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Product, STORE_URL, getProduct, getProductsByCategory, products | logic-score:85 | automation-score:45",
      "exports": "Product,STORE_URL,getProduct,getProductsByCategory,products",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3c672b5c1c07824f",
      "framework": "next-react",
      "imports": "",
      "lines": 200,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robbie-ds-greens-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "93ae2c54055d45b6c500f6d4",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:./lib/i18n, ./lib/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "38e29ca134ddc975",
      "framework": "next-react",
      "imports": "./lib/i18n,./lib/supabase/middleware,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "npm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "a37530526c8fb93b8f4fb91e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cb781a78dbc27b03",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0be924dc72edfa4f175e51b6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f259ef3371fca4b",
      "framework": "next-react",
      "imports": "",
      "lines": 4155,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7dd46b48ca319c549995f437",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0702b563da88cdc6",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,observability,security",
      "component_id": "f899d092a7a1d2e04274bd20",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2652bf1f5a6cd963",
      "framework": "next-react",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "DEPLOYMENT",
      "normalized_name": "deployment",
      "package_manager": "npm",
      "path": "DEPLOYMENT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "f1969de1817acb92dbb8294f",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c7021ac0a8941b73",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "npm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery",
      "component_id": "3d248fe9722f07cad6bd5ce6",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ced63b2d4254a478",
      "framework": "next-react",
      "imports": "next",
      "lines": 38,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "npm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0fbdd9fd7fe808013779d10a",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/lib/i18n, next, next/font/google, next/headers, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "20ddae38d826586e",
      "framework": "next-react",
      "imports": "@/lib/i18n,next,next/font/google,next/headers,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f65de7846f7473848f88b709",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a6df5a7e6011726",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 250,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "7d4301d9f8172e3e36ec9343",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea162086e95d2f06",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "16623a4cc46e94a0899aa7f2",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SellPage | imports:@/components/listing-form, @/components/site-footer, @/components/site-header, @/lib/supabase/server, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SellPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a3cd25b18da4ed6f",
      "framework": "next-react",
      "imports": "@/components/listing-form,@/components/site-footer,@/components/site-header,@/lib/supabase/server,next/navigation",
      "lines": 41,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/sell/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "aeecd4e45da969d7c0db35a3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SignUpPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "561176c105739629",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react,sonner",
      "lines": 88,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/auth/sign-up/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "77a473a08202315f10021cd3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpSuccessPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignUpSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4698983d86f761a9",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/auth/sign-up-success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,security",
      "component_id": "e55a62c99305d3eac87eac26",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "npm",
      "path": "app/auth/login/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "97611a9fd6cfabfbce2edd14",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,react,sonner",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/supabase/client, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f081dab86faf08c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/supabase/client,next/link,next/navigation,react,sonner",
      "lines": 83,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability,security",
      "component_id": "df05b0d3eb0cc687046340c7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketplacePage | imports:@/components/marketplace-filters, @/components/product-card, @/components/site-footer, @/components/site-header, @/lib/supabase/server | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MarketplacePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ff676ffad468a030",
      "framework": "next-react",
      "imports": "@/components/marketplace-filters,@/components/product-card,@/components/site-footer,@/components/site-header,@/lib/supabase/server",
      "lines": 93,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/marketplace/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "4f5ddf931a09fc4729e55978",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, ProductPage | imports:@/components/product-card, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/supabase/server | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BASE_URL,ProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12a8ae2641b478f5",
      "framework": "next-react",
      "imports": "@/components/product-card,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/supabase/server,lucide-react,next/image,next/link,next/navigation",
      "lines": 202,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/marketplace/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3a45da6f4814ed61d9742914",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardPage | imports:@/components/product-card, @/components/site-footer, @/components/site-header, @/components/ui/button, @/components/ui/card, @/lib/supabase/server, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "DashboardPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0bd0af8a7a7b484d",
      "framework": "next-react",
      "imports": "@/components/product-card,@/components/site-footer,@/components/site-header,@/components/ui/button,@/components/ui/card,@/lib/supabase/server,lucide-react,next/link,next/navigation",
      "lines": 122,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,observability,security",
      "component_id": "e8b262fbe2a35c4a34f4c419",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/supabase/server, next/cache | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4d8f56fe9f038f8",
      "framework": "next-react",
      "imports": "@/lib/supabase/server,next/cache",
      "lines": 51,
      "logic_relevance": "none",
      "name": "create-product",
      "normalized_name": "create-product",
      "package_manager": "npm",
      "path": "app/actions/create-product.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b17cf99ce4d207ef040f118b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "734724a870c6ca9e73f13b02",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "npm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "8073b376ab1dea9fa73616f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketplaceFilters | imports:@/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/radio-group, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MarketplaceFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4f7cc9bb3f72c93b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/radio-group,lucide-react,next/navigation,react",
      "lines": 155,
      "logic_relevance": "none",
      "name": "marketplace-filters",
      "normalized_name": "marketplace-filters",
      "package_manager": "npm",
      "path": "components/marketplace-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "4c6fc0de39f2e6cb36e47388",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/language-switcher, @/components/ui/button, @/components/user-menu, @/lib/i18n, @/lib/supabase/server, next/headers, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2877edc45ece7201",
      "framework": "next-react",
      "imports": "@/components/language-switcher,@/components/ui/button,@/components/user-menu,@/lib/i18n,@/lib/supabase/server,next/headers,next/link",
      "lines": 62,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "npm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a850df2569c578ab3b449697",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:@/lib/i18n, next/headers, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fdd9c616c88ca58",
      "framework": "next-react",
      "imports": "@/lib/i18n,next/headers,next/link",
      "lines": 83,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "npm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "fb0acdb164df002b343a4bfd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard | imports:@/components/ui/badge, @/components/ui/card, next/image, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ProductCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "98a2fec7e63e91ee",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,next/image,next/link",
      "lines": 54,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "npm",
      "path": "components/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f1c73925aaee4e92db51f1a0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@supabase/supabase-js,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserMenu | imports:@/components/ui/avatar, @/components/ui/dropdown-menu, @/lib/supabase/client, @supabase/supabase-js, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "UserMenu",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7253fa3c394b8946",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/dropdown-menu,@/lib/supabase/client,@supabase/supabase-js,lucide-react,next/link,next/navigation",
      "lines": 69,
      "logic_relevance": "none",
      "name": "user-menu",
      "normalized_name": "user-menu",
      "package_manager": "npm",
      "path": "components/user-menu.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "940df5f7ca84644f9a675383",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,next,react,sonner",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ListingForm | imports:@/app/actions/create-product, @/components/ui/button, @/components/ui/card, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/textarea | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "ListingForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8d5ac10c50f9ce1",
      "framework": "next-react",
      "imports": "@/app/actions/create-product,@/components/ui/button,@/components/ui/card,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/textarea,next/navigation,react,sonner",
      "lines": 156,
      "logic_relevance": "none",
      "name": "listing-form",
      "normalized_name": "listing-form",
      "package_manager": "npm",
      "path": "components/listing-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a5d11ec759ecca4f555fe02b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LanguageSwitcher | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LanguageSwitcher",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "157d116577bf60eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next/navigation",
      "lines": 49,
      "logic_relevance": "none",
      "name": "language-switcher",
      "normalized_name": "language-switcher",
      "package_manager": "npm",
      "path": "components/language-switcher.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "cc89dc08be2e791ac9738270",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "npm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0e1d98f11c236d8ebdcfa849",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "npm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7e170b6dcde7dbf5291d0972",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "npm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2e4eed94472001d83dc1908e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "npm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "55c672d4e1fd5002187410cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "npm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "480415aeaafc798ad2d12ddc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "npm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "942120cdac0cef2b3a554b85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "bfad74a97eadbee870e58741",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "npm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "470c72707022fd1a67a5eafa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "npm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "03e165061c307a72fd8e0752",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "npm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "cccae3d09682ca8792480b71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "npm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "dba7b5c69b492e26056ffadc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "npm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0c946ac80b0e6ed9d9b495d5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "npm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5db2485f0db0358e19cb523f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "npm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e3dbd435cf9301421cdd55e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "npm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6949608cb5e453c8fc038a89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "npm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9d6ec1291ee9105863494e90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "npm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4c3f1ea969ec35b596c97610",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "npm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a1562365ebb892ce5b95c2f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "npm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "79a1ff250526306a43c7767c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "15ea7b14e25905a5cdee54b2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "npm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bdc3089ed40af3f7af0569e6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "npm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c426691cdf85c9d6839e26f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "npm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8117f56ef8027800a543b2ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "npm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f7ffd93e976547d0ea28fe3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "npm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "5de4b386da99719aa9462bcd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "npm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4ecaaae5d5fd5d81c51b2910",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "7f9bc7a20ddc7bb4f33fe10c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "npm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "502b7c4dcbc99d8dcc4e4c2b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "npm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "5043d257ecd3dd5780530968",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "npm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3c7cf0852fe89b34cfa6673c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "npm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8ae94eb901b263998f78321e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "npm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f09272f790012d3f339f4e2d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "npm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e7e25d034eec5c483dc51f05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "npm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "41c2dc5dfa80cbab3c2522e7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "npm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "154bc283267fd28728f3cf10",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "npm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f24350b9b8d3f90e01cf3b42",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "npm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "215f8c9db531d2e5f6642b3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "npm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "27a742a82fb2d6b08c29293e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "npm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "12c255069441fb22e382440f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "npm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c963fd111359bd3499a776fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "npm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "85f629b08c393322127e9e9e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "npm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c2001d463374adba654e5eef",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "7db8c09d01d7e2ce7a82b512",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "50dd65328aec629eaa5a6e2c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "npm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e1e851d656e02916d3514067",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "npm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "1232d3a025bad459691abc6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "npm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "386614f63e459994ef97cdf8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "npm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b2a04fd0d1c7cae936f330f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "npm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fe053df6996a5048804c9088",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "npm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ad7e65232fd9ed3b9daa8409",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "npm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5574c42ccef2c0670875b73c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "npm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4aa93be2d26f0340b08394cc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "0fc7338fed39d8ca8bf34ad5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "npm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0c00892c9e81fde6c8e505b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "npm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "2d93e3099814a5ececae457b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "npm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bbbabd31a5f46f4c88675267",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "npm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "c3e5d6d9fa3b78dfe9ac86f8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3b06406f386aebba",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "npm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "bc2892484e53824f3a57063d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ace542deb56fe848",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "npm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "ed9ec390262dae769ceea7ce",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a9fe6d515a2bf25b",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "npm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "19f166e350368c8d93f505fc",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cacb23dbc09528d6",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "npm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "73037e57c53a54c78f0aaba7",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "a4748a467898c47336a9452a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1b994be95084e2d7",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "npm",
      "path": "lib/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "1567fe5b239d6d23103393f9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/ssr",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@supabase/ssr | logic-score:60 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f577ca7ca0d25b9e",
      "framework": "next-react",
      "imports": "@supabase/ssr",
      "lines": 11,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "npm",
      "path": "lib/supabase/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "41d981d3ceca838ab0820d68",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@supabase/ssr, next/headers | logic-score:60 | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6518d3bd9707e3b7",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/headers",
      "lines": 23,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "npm",
      "path": "lib/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "logic",
      "component_id": "b22fda939d969120e13017a9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/locales",
      "description": "Logic component for i18n; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Dictionary, Locale, defaultLocale, getDictionary, isValidLocale, locales | imports:@/locales/en.json, @/locales/es.json | logic-score:85",
      "exports": "Dictionary,Locale,defaultLocale,getDictionary,isValidLocale,locales",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3f08c52158f2e5e2",
      "framework": "next-react",
      "imports": "@/locales/en.json,@/locales/es.json",
      "lines": 18,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "npm",
      "path": "lib/i18n/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__robot-clothing-marketplace",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "996a734e4452cbfb022481a0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03b62044c47efba3",
      "framework": "next-react",
      "imports": "",
      "lines": 3690,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "fc3b45e6e7d6029d60f7260f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c92b6e2389aab0d9",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "6d807b9690f99283ef3264b6",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "521fe85443e06f8a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 98,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c752619211900613d1ce2c57",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "66834237d68bbcdf",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "bf3b2c7d99a718f88281cbd2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "49fcd32dca4f76cb",
      "framework": "next-react",
      "imports": "next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "957b9dead1493cb53f6290c2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b1c8d7e252d081e9",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "7bf0072d4a8bc58916f308b5",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, @/components/ui/toaster, next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "435220d825cee8fc",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/components/ui/toaster,next,next/font/google,react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "0a1e58326f183c97364f9f56",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home, metadata | imports:@/components/cart-provider, @/components/cta, @/components/faq, @/components/features, @/components/footer, @/components/header, @/components/hero, @/components/product-showcase | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Home,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dcf07055f8eef0d9",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/cta,@/components/faq,@/components/features,@/components/footer,@/components/header,@/components/hero,@/components/product-showcase,@/components/testimonials,next",
      "lines": 148,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "3e2cf2e4ffa8f76b6af91a86",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e642858ccecb3adc661d0b1f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SuccessPage | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44ae0ae98e326bb0",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "ba42bd0b9e69570d2f97cbe3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3ca4701b0da8182d",
      "framework": "next-react",
      "imports": "next/server,stripe",
      "lines": 84,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "3090ac7d1021310cca9381e4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, stripe | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "258652c7a39decf9",
      "framework": "next-react",
      "imports": "next/server,stripe",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/create-checkout-session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "c0a21b8fc5160082067bc13e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b5da2e6ac86a599ad9006016",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ea6b4ef68e318749f217b4b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@stripe/stripe-js,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Cart | imports:@/components/cart-provider, @/components/ui/button, @stripe/stripe-js, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Cart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f55f9d860b142c23",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/ui/button,@stripe/stripe-js,lucide-react,next/image,react",
      "lines": 169,
      "logic_relevance": "none",
      "name": "cart",
      "normalized_name": "cart",
      "package_manager": "pnpm",
      "path": "components/cart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "695f43da7a8c115af9ffc48e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0412914cbf0c8a9",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image",
      "lines": 71,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "38894064edf2ba307d77d37c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Features | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Features",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1b84bdfcd351296b",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 97,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "components/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d0bf3711673ae4c55cfa7d27",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductShowcase | imports:@/components/cart-provider, @/components/ui/badge, @/components/ui/button, @/hooks/use-toast, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe8995288bc47496",
      "framework": "next-react",
      "imports": "@/components/cart-provider,@/components/ui/badge,@/components/ui/button,@/hooks/use-toast,lucide-react,next/image,react",
      "lines": 192,
      "logic_relevance": "none",
      "name": "product-showcase",
      "normalized_name": "product-showcase",
      "package_manager": "pnpm",
      "path": "components/product-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "749bec650d32ecec8492883c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e84e9f3cf6fb6648",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "361b1aa9410ff51e7d51f69a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Testimonials | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Testimonials",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4cbf683396ddf62d",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 98,
      "logic_relevance": "none",
      "name": "testimonials",
      "normalized_name": "testimonials",
      "package_manager": "pnpm",
      "path": "components/testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "75f4b06e0d45c29ce10e7146",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CTA | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "CTA",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ca30d7f732fd0b9",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "cta",
      "normalized_name": "cta",
      "package_manager": "pnpm",
      "path": "components/cta.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "233a19bbe81124573f6d571b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/cart, @/components/cart-provider, @/components/ui/badge, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "410b7331824832ef",
      "framework": "next-react",
      "imports": "@/components/cart,@/components/cart-provider,@/components/ui/badge,@/components/ui/button,lucide-react,react",
      "lines": 84,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3151b0a1f0205b52ee7f61c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FAQ",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "81341fac34342ace",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/faq.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "86efdac13240050017374104",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartProvider, useCart | imports:react | frontend-score:115 | ui-score:70",
      "exports": "CartProvider,useCart",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "275208b3ce235b06",
      "framework": "next-react",
      "imports": "react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "cart-provider",
      "normalized_name": "cart-provider",
      "package_manager": "pnpm",
      "path": "components/cart-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "98296c4e2f2f9265bbd16642",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c8f205b547743696912ef087",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2d99822b026ff43221c79b45",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "87aaf958b13957fd915557b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "92ac8b654bbaedc2acf77b97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "3072400d29473ca1b3569c06",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e13b96b971f35ccdd4f022b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa92c5a19f0a218845cac918",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "f2f5aecfb1baa8fb70fd33c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c036da4baed076d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "4206eb9fceedb7ab1f7c33ab",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a0fd3142b46b9c4eccb166ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e32de741824639df8d89322c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62ebd887366a84fc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "517e13f7b7486e801d7b7006",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c38ae436e47476b58119bcbc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "121726d594e3e6c0ab8a0313",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7be87b2a96de6e3fb3e3d407",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dc9568f05d165912814a6613",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4ef8a71ba1eb335f1dd54ac7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "08323f3565197cc3f75deec6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "97299eb2580ddca0bd0a7a03",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9bd5a3391a2f87e1514b4be6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "98237ac13e33fb5ec8cf1c60",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d708b953e6da788ade8235d1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ed78a053a9db783f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "d3bbda5545315dcf8c5e2c53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2077d032ef774f1935d42ec5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "b278379622a2a7b6fa8e8780",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7626e43c40fbf82f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "969f31109ae1954e1ee22600",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c5b54ff8e7217956cf8781ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d2c3d35fe0f9d0778fd37887",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3113dc833bcd9fd689b2568b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "ada1a17994aba23ed0b74dd8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4ba36751b509f816d63b7d19",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "efe5c1556a7be33b46a5e6d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "710bf5952c9a74da34c28974",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "80602f2c1fb3e4802713409e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72aeae5c68c361fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 763,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "747fae4be03ae4c7fbbcd226",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "42b789290c993d0919675bd0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1bf497975232e2c1b55a2c14",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "748944f067f627d2ad99fdbc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6cd3870456951e6d758b4051",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "3d910240183ac7f374be0109",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "80760d65824f2cca0948c485",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5228c171c46d24516743101c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ca0802c2e73d06aa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8241ffbc136c35f934e017b6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "20fe3542b701ef863ed6bac8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf46918c590c2bf",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a812b27bc49c365c34d0a6ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "502604b377681947a3522081",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "09782006f1c6f2c99b6cb4ed",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "4c1f374c7f27b1d4e20f541a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a154a2a3ddca228c1911ac56",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4d3b4c97213925fa1573548d",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security,automation",
      "component_id": "76b7188a372e0005d156ffdd",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getStripe | logic-score:60 | integration-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "getStripe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b333fbf7cd1545f0",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "primary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "08019628b8beb36f52502676",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__scratchcraft",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "security,automation",
      "component_id": "cb2f94c49fe272943eea693f",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "csv,os,shutil",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:csv, os, shutil | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "684772aa9014ead9",
      "framework": "python",
      "imports": "csv,os,shutil",
      "lines": 98,
      "logic_relevance": "none",
      "name": "match_images_to_csv",
      "normalized_name": "match-images-to-csv",
      "package_manager": "unknown",
      "path": "match_images_to_csv.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "backend,automation",
      "component_id": "3541b005e25a31af5906a521",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "csv,os,pathlib,re",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:csv, os, pathlib, re | backend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcdcba689855f8e4",
      "framework": "python",
      "imports": "csv,os,pathlib,re",
      "lines": 225,
      "logic_relevance": "none",
      "name": "map_images_from_db",
      "normalized_name": "map-images-from-db",
      "package_manager": "unknown",
      "path": "map_images_from_db.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "b3af769cab13a64c3efbfc9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ad1be6c6043e26fa",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "320da10e53aeb2722162140b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1bfbe84ecb006e6a",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "optimize-images",
      "normalized_name": "optimize-images",
      "package_manager": "unknown",
      "path": "optimize-images.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "c8ae8c0e46574a7beab14137",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "csv,os,pathlib,re,shutil",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:csv, os, pathlib, re, shutil | integration-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f650f0bb9b01a92",
      "framework": "python",
      "imports": "csv,os,pathlib,re,shutil",
      "lines": 187,
      "logic_relevance": "none",
      "name": "prepare_shopify_import",
      "normalized_name": "prepare-shopify-import",
      "package_manager": "unknown",
      "path": "prepare_shopify_import.py",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "9e8e2d4a6e35edfefc9c534d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "bs4,csv,os,requests,time",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:download_product_images, get_product_page_url, main | imports:bs4, csv, os, requests, time | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "download_product_images,get_product_page_url,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "2b880f94e13ad83d",
      "framework": "python",
      "imports": "bs4,csv,os,requests,time",
      "lines": 110,
      "logic_relevance": "none",
      "name": "download_product_images",
      "normalized_name": "download-product-images",
      "package_manager": "unknown",
      "path": "download_product_images.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "206141c20bdae9d6e9589fe5",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "bs4,csv,os,requests,time",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:crawl_category, get_product_images, is_product_page, main | imports:bs4, csv, os, requests, time | observability-score:55",
      "exports": "crawl_category,get_product_images,is_product_page,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0bd75396af28e4f7",
      "framework": "next-react",
      "imports": "bs4,csv,os,requests,time",
      "lines": 93,
      "logic_relevance": "none",
      "name": "vanagain_crawl_images",
      "normalized_name": "vanagain-crawl-images",
      "package_manager": "unknown",
      "path": "vanagain_crawl_images.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,logic",
      "component_id": "174a044002363fd885786573",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c2529b63ec348e00",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "secondary",
      "name": "settings_schema",
      "normalized_name": "settings-schema",
      "package_manager": "unknown",
      "path": "config/settings_schema.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "be99abac9a6d1d456f60ac9d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "75dd7be6305a646a",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "templates/index.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "security",
      "component_id": "73ecf79a995294aed964d062",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7baf7a165deffef8",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme",
      "normalized_name": "theme",
      "package_manager": "unknown",
      "path": "assets/theme.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "e0549d4b8803def90dfd2e58",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "84fdfe838a0641c1",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "assets/base.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__shopify-theme-vanagain",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d35090dc7fcc588683d3e9e7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32f380540190fcdc",
      "framework": "next-react",
      "imports": "",
      "lines": 3553,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "65a681096da20d17baf11b76",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4a08478b7b6deb2a",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "7bb4766c5f296b92df030935",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "515f89588e186ee9",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 81,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2950b0e776c4b59503e2a133",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "270806dba6c8633a",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "ad99b66ccac19e8ec77a9035",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6d5197707a4ad9d6",
      "framework": "next-react",
      "imports": "next",
      "lines": 52,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "3e81d27f33dc4b3ae0c4e336",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "310ba62ec57d1768",
      "framework": "next-react",
      "imports": "next",
      "lines": 92,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "72ef40f18131a144f341e015",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/components/theme-provider, @/components/ui/toaster, next, next/font/google, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f54bfdc440ab773b",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@/components/ui/toaster,next,next/font/google,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "c1cdde7c10e872fa80b6749c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home, metadata | imports:@/components/cta-section, @/components/faq-section, @/components/footer, @/components/header, @/components/hero-section, @/components/services-section, @/components/stats-section, @/components/testimonials-section | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Home,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8e4be867715d3c94",
      "framework": "next-react",
      "imports": "@/components/cta-section,@/components/faq-section,@/components/footer,@/components/header,@/components/hero-section,@/components/services-section,@/components/stats-section,@/components/testimonials-section,@/components/why-choose-us-section,next",
      "lines": 48,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "30cba8a244b8320f462d7e64",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "89db1284380df35d",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "84784e60241ae402a5634b40",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:@/components/contact-form, @/components/contact-hero, @/components/contact-info, @/components/contact-map, @/components/footer, @/components/header, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79cab39e6265dad2",
      "framework": "next-react",
      "imports": "@/components/contact-form,@/components/contact-hero,@/components/contact-info,@/components/contact-map,@/components/footer,@/components/header,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "e2967eaa4c06c008fb0e28b9",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrainingPage, metadata | imports:@/components/cta-section, @/components/footer, @/components/header, @/components/training-facilities, @/components/training-hero, @/components/training-process, @/components/training-programs, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TrainingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "632dfae3ae7642ae",
      "framework": "next-react",
      "imports": "@/components/cta-section,@/components/footer,@/components/header,@/components/training-facilities,@/components/training-hero,@/components/training-process,@/components/training-programs,next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/training/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "8ed311159f8755abbc2cf424",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryPage, metadata | imports:@/components/footer, @/components/gallery-hero, @/components/header, @/components/photo-gallery, @/components/video-gallery, next | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "GalleryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50430e62b6389320",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/gallery-hero,@/components/header,@/components/photo-gallery,@/components/video-gallery,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "192d57466b5bee51643d9958",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/about-certifications, @/components/about-hero, @/components/about-story, @/components/about-values, @/components/cta-section, @/components/footer, @/components/header, @/components/team-section | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6af601194c35da6",
      "framework": "next-react",
      "imports": "@/components/about-certifications,@/components/about-hero,@/components/about-story,@/components/about-values,@/components/cta-section,@/components/footer,@/components/header,@/components/team-section,next",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "06c0e3b59f3b787ad0bf7959",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogPage, metadata | imports:@/components/blog-categories, @/components/blog-grid, @/components/blog-hero, @/components/footer, @/components/header, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BlogPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54dc4cd25c0e14db",
      "framework": "next-react",
      "imports": "@/components/blog-categories,@/components/blog-grid,@/components/blog-hero,@/components/footer,@/components/header,next",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/blog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "cc684bbbc82b00f4ea52efda",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:zod | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5c4a08dc2a624cc5",
      "framework": "next-react",
      "imports": "zod",
      "lines": 54,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "pnpm",
      "path": "app/actions/contact.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,backend,security",
      "component_id": "b68a1f51865c54a6bf4ac127",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesPage, metadata | imports:@/components/cta-section, @/components/footer, @/components/header, @/components/service-grid, @/components/service-hero, @/components/service-process, next | frontend-score:115 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "ServicesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1645aa48e0664cfd",
      "framework": "next-react",
      "imports": "@/components/cta-section,@/components/footer,@/components/header,@/components/service-grid,@/components/service-hero,@/components/service-process,next",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/services/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "aa3ac6b8857afcbe630567fc",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "aca668ace0c754b6acfa72e0",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutCertifications | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "AboutCertifications",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e2ff43d5c62fe06",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "about-certifications",
      "normalized_name": "about-certifications",
      "package_manager": "pnpm",
      "path": "components/about-certifications.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,process,ui,backend,security",
      "component_id": "8d7275ce181072156e785ed0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceProcess | imports:lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "ServiceProcess",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dfb872b1fbf0b230",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "service-process",
      "normalized_name": "service-process",
      "package_manager": "pnpm",
      "path": "components/service-process.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "8a390ebefd4c164a101ff454",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "c99eac3427ee589684e6ed05",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialCard | imports:lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TestimonialCard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "12b42df0ed485784",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "testimonial-card",
      "normalized_name": "testimonial-card",
      "package_manager": "pnpm",
      "path": "components/testimonial-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "0bdaf8d19e7c499117dc8b70",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrainingFacilities | imports:next/image | frontend-score:115 | ui-score:55",
      "exports": "TrainingFacilities",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ebed4bffda5774f8",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 31,
      "logic_relevance": "none",
      "name": "training-facilities",
      "normalized_name": "training-facilities",
      "package_manager": "pnpm",
      "path": "components/training-facilities.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "75ba0f1be187108b18dfae01",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactHero | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ContactHero",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "739094be2bc34f9b",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "contact-hero",
      "normalized_name": "contact-hero",
      "package_manager": "pnpm",
      "path": "components/contact-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b7e3c56da94d43596076262c",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutStory | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AboutStory",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "77aedf8a5feab06a",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "about-story",
      "normalized_name": "about-story",
      "package_manager": "pnpm",
      "path": "components/about-story.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "97b946f17b965a89ae229318",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceHero | imports:lucide-react | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "ServiceHero",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "75c4c27ac80148bf",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "service-hero",
      "normalized_name": "service-hero",
      "package_manager": "pnpm",
      "path": "components/service-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "8a98350dfee27d1b7925e3b2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogGrid | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BlogGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "160bc6e18bb120d1",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 197,
      "logic_relevance": "none",
      "name": "blog-grid",
      "normalized_name": "blog-grid",
      "package_manager": "pnpm",
      "path": "components/blog-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b6c3313384604f15657c0b06",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrainingPrograms | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TrainingPrograms",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10468066087a2eec",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 192,
      "logic_relevance": "none",
      "name": "training-programs",
      "normalized_name": "training-programs",
      "package_manager": "pnpm",
      "path": "components/training-programs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "0475d569ee1d0d458b81d2e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactInfo | imports:lucide-react | frontend-score:115 | ui-score:55",
      "exports": "ContactInfo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ef4176280a1e040",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "contact-info",
      "normalized_name": "contact-info",
      "package_manager": "pnpm",
      "path": "components/contact-info.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "713171b02fecff351582cb39",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:PhotoGallery | imports:next/image | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "PhotoGallery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d6a44e032fa81112",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 21,
      "logic_relevance": "none",
      "name": "photo-gallery",
      "normalized_name": "photo-gallery",
      "package_manager": "pnpm",
      "path": "components/photo-gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "24c58389e23849d88aecb874",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsSection | imports:@/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "StatsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c1a5fc9b36322f1",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,lucide-react,react",
      "lines": 104,
      "logic_relevance": "none",
      "name": "stats-section",
      "normalized_name": "stats-section",
      "package_manager": "pnpm",
      "path": "components/stats-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "e558b7971980c096995b700e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqSection | imports:@/components/faq-accordion | frontend-score:85 | ui-score:55",
      "exports": "FaqSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db1df2fc7f90ecc3",
      "framework": "next-react",
      "imports": "@/components/faq-accordion",
      "lines": 19,
      "logic_relevance": "none",
      "name": "faq-section",
      "normalized_name": "faq-section",
      "package_manager": "pnpm",
      "path": "components/faq-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "344e500b8444037bbfa9ce57",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceCard | imports:lucide-react | frontend-score:115 | ui-score:55 | backend-score:55",
      "exports": "ServiceCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ad9d72390974def",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "service-card",
      "normalized_name": "service-card",
      "package_manager": "pnpm",
      "path": "components/service-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,backend,security",
      "component_id": "4ed033655e907b3e0e74b933",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServiceGrid | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "ServiceGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a6c3150ec8002f2",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 142,
      "logic_relevance": "none",
      "name": "service-grid",
      "normalized_name": "service-grid",
      "package_manager": "pnpm",
      "path": "components/service-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "69f6f54ac919ea88a5854809",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutValues | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutValues",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a7804ee1cf53810",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "about-values",
      "normalized_name": "about-values",
      "package_manager": "pnpm",
      "path": "components/about-values.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui,security",
      "component_id": "ee9ef100fd532e5d5742b1ad",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:VideoGallery | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "VideoGallery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81d8f30af07ca835",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "video-gallery",
      "normalized_name": "video-gallery",
      "package_manager": "pnpm",
      "path": "components/video-gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "frontend,ui",
      "component_id": "5745cdac10e76636a0582c02",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryHero | frontend-score:85 | ui-score:55",
      "exports": "GalleryHero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec10c21aaaa5a7dd",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "gallery-hero",
      "normalized_name": "gallery-hero",
      "package_manager": "pnpm",
      "path": "components/gallery-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a03d3b03ddc0dbdf9dfcf14b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogHero | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "BlogHero",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6de4e842f188df12",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "blog-hero",
      "normalized_name": "blog-hero",
      "package_manager": "pnpm",
      "path": "components/blog-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "media",
      "categories": "frontend,ui,automation",
      "component_id": "0e7fb697f9d74a017499fc1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react-feather",
      "description": "Frontend component for media; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactMap | imports:react-feather | frontend-score:85 | ui-score:55 | automation-score:45",
      "exports": "ContactMap",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16d556770512cae9",
      "framework": "next-react",
      "imports": "react-feather",
      "lines": 30,
      "logic_relevance": "none",
      "name": "contact-map",
      "normalized_name": "contact-map",
      "package_manager": "pnpm",
      "path": "components/contact-map.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "09f9a4b4d446e23db1fe5bca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d587c65ad143c67e",
      "framework": "next-react",
      "imports": "lucide-react,next/image,next/link",
      "lines": 185,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "55aa00e831553e50568c71e4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialsSection | imports:@/components/testimonial-card | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "TestimonialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1203ff3df4e6dbe0",
      "framework": "next-react",
      "imports": "@/components/testimonial-card",
      "lines": 42,
      "logic_relevance": "none",
      "name": "testimonials-section",
      "normalized_name": "testimonials-section",
      "package_manager": "pnpm",
      "path": "components/testimonials-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "8afa92be19851fab058c72b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrainingHero | imports:lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "TrainingHero",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e2735fa0e819685b",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "training-hero",
      "normalized_name": "training-hero",
      "package_manager": "pnpm",
      "path": "components/training-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6f5f20cb68a0891194839014",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9cc068b6c4aba507",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,next/image,next/link,react",
      "lines": 316,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "199cdfceaa01f860d63a92d8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutHero | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutHero",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "588aaf35cfe56e84",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 90,
      "logic_relevance": "none",
      "name": "about-hero",
      "normalized_name": "about-hero",
      "package_manager": "pnpm",
      "path": "components/about-hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "db162ebc050a59b38b249f78",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, next/image, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "87754700ac3498ba",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,next/image,next/link,next/navigation,react",
      "lines": 248,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,backend,security",
      "component_id": "2b90139834da41fead31b6d8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ServicesSection | imports:@/components/service-card | frontend-score:85 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "ServicesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dcb3feb1b34a532c",
      "framework": "next-react",
      "imports": "@/components/service-card",
      "lines": 49,
      "logic_relevance": "none",
      "name": "services-section",
      "normalized_name": "services-section",
      "package_manager": "pnpm",
      "path": "components/services-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,process,ui,security",
      "component_id": "82725df474b6828e5168a5ad",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrainingProcess | imports:lucide-react | frontend-score:115 | process-score:80 | ui-score:55 | security-score:55",
      "exports": "TrainingProcess",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5f073ce9958bc1ba",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "training-process",
      "normalized_name": "training-process",
      "package_manager": "pnpm",
      "path": "components/training-process.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,security",
      "component_id": "01fbf8f0294691ca3de50153",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:TeamSection | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "TeamSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b4c1749feb1c1bb",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 51,
      "logic_relevance": "none",
      "name": "team-section",
      "normalized_name": "team-section",
      "package_manager": "pnpm",
      "path": "components/team-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fc10b170640d89a85ad46de8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogCategories | imports:@/lib/utils, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "BlogCategories",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "88c3a5c8c08effe0",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "blog-categories",
      "normalized_name": "blog-categories",
      "package_manager": "pnpm",
      "path": "components/blog-categories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2b8e35cdafb94c75f1c9be00",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WhyChooseUsSection | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "WhyChooseUsSection",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6c0822197189297f",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 61,
      "logic_relevance": "none",
      "name": "why-choose-us-section",
      "normalized_name": "why-choose-us-section",
      "package_manager": "pnpm",
      "path": "components/why-choose-us-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,automation",
      "component_id": "3d135a738d5404734414ca2f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CtaSection | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "CtaSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e04e35c243fb728",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 27,
      "logic_relevance": "none",
      "name": "cta-section",
      "normalized_name": "cta-section",
      "package_manager": "pnpm",
      "path": "components/cta-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "658e51f596c0975e0720af03",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FaqAccordion | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FaqAccordion",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fefb0d65728b3898",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 72,
      "logic_relevance": "none",
      "name": "faq-accordion",
      "normalized_name": "faq-accordion",
      "package_manager": "pnpm",
      "path": "components/faq-accordion.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,ai",
      "component_id": "f1e5e16bb3352a263694ba71",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactForm | imports:@/components/ui/button, @/components/ui/input, @/components/ui/select, @/components/ui/textarea, @/hooks/use-toast, lucide-react, react | frontend-score:115 | ui-score:70 | ai-score:45",
      "exports": "ContactForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "985c2dca7c895306",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/select,@/components/ui/textarea,@/hooks/use-toast,lucide-react,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "contact-form",
      "normalized_name": "contact-form",
      "package_manager": "pnpm",
      "path": "components/contact-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "b96f486748a0cfefcf945214",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "8162974e2b28277e719fc482",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "8d3e1785c824dd880a6739f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1265380b3a6f176378e639b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d14e530a757d3098bdc9e957",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d0aa7358bd645f8f3b0ee21e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "53aa5de93cdf793b551da6a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a1d0e26787a2662860fabe8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "5e4f6c4082d620d8d031369c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c036da4baed076d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "6cdf60720b26419ab0a0096e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "6891e0ab44face10947e66dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2dde579a490aa5df1e0557ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62ebd887366a84fc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c8aeccf23ac2b4746a7fe02",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "cb43474037417154c792665c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5a8524a6d598a920a2807a83",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a01c1007ebb4650f6c7c98df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6e7d654e97b3e44d38c40845",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6282cde87413b1379b4b2d86",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "5827aaa174e6c80f0de0a00f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2a8d27839a9d2a81577b846c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "57bbd32d0302e33a72b5fee3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8a78f7503aef056064de1fd2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e8e74b0ffba3db90",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d897c4a4eb58bdb3fbc6fba9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ed78a053a9db783f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "16f20236e0888e9155e21743",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d3639886ea38970dcbef7773",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "14b719f41a43eb9ada052639",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7626e43c40fbf82f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "40a47d3171c593d6d20fec6b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "206f30ce12a2a9cd8346f001",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2e8379ea041ddd98f3254a96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3475dc53dcb8e48d14ccf548",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f84c7dfc3f1b8ab3086d37fc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7200e0eb26561532f2667717",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6ef6f777bd3fa66661a2b489",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1a992ccac649aac92e0d017b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "330bb18a421f91febab59d3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72aeae5c68c361fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 763,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "467f9ef667fc5745e94f8b63",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "38bea4a711095d8f40b0e270",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d676b8691c233be1bcc11539",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "83144905cf6215b9752af2f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dcb60d97bfb0a7e788841302",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "eea2e5ad63e5746ad87f1129",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "f78944597bc14cfcd30cb999",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "357ec3ea442da032d24c6fa2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ca0802c2e73d06aa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a993590d3af3186e49b7daec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c066d1079851c23063623625",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf46918c590c2bf",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "46e7bc3b6f05f1be24d1180c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "9a99fd7b80690052d1e44995",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7f26d690753b4c6514fd3d52",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "cf794673147b5c680585cd3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a1476dd3d6f80962ba4cc3d8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "2358250482acb3c7f9e9638c",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "3cd9fcb851ab1bd508070e0f",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__spectrum-canine-www",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "61895b16f5ee41e83a7c561c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d660316341b2aa5",
      "framework": "next-react",
      "imports": "",
      "lines": 3662,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "b73e274c8264659fd23324dc",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@auth0/nextjs-auth0",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@auth0/nextjs-auth0/edge | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ce2b4f640d0d1932",
      "framework": "next-react",
      "imports": "@auth0/nextjs-auth0/edge",
      "lines": 14,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f2f2179af7c16f9162f3ab64",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:crypto | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "af82e07a9205d0a3",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 62,
      "logic_relevance": "none",
      "name": "debug-uuid",
      "normalized_name": "debug-uuid",
      "package_manager": "pnpm",
      "path": "debug-uuid.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "771df1f0b40e5cfda3c0674d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4a786f466eb05b9f",
      "framework": "next-react",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "3f5c5c7db477b1c5142c72e3",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@auth0/nextjs-auth0,@vercel/analytics,geist,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@auth0/nextjs-auth0/client, @vercel/analytics/react, geist/font/mono, geist/font/sans, next | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72fcb5476e4d354d",
      "framework": "next-react",
      "imports": "@auth0/nextjs-auth0/client,@vercel/analytics/react,geist/font/mono,geist/font/sans,next",
      "lines": 38,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c165f8a1c376ced19fed2061",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@auth0/nextjs-auth0,@vercel/analytics,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Page | imports:@/components/auth-button, @/components/error-boundary, @/components/mail-management, @/components/request-builder, @/components/stored-responses, @/components/ui/alert, @/components/ui/card, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Page",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cdd2d11d2d4c26e1",
      "framework": "next-react",
      "imports": "@/components/auth-button,@/components/error-boundary,@/components/mail-management,@/components/request-builder,@/components/stored-responses,@/components/ui/alert,@/components/ui/card,@/components/ui/tabs,@/components/user-credits,@/hooks/use-local-storage,@/lib/utils,@auth0/nextjs-auth0/client,@vercel/analytics,lucide-react,react",
      "lines": 243,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "2aea2b2a97a6efabf5753479",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "679ee4df07597d57",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "83bb2d7d24fca76b3364e577",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@auth0/nextjs-auth0,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @auth0/nextjs-auth0/client, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24c57b0285f24bfa",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@auth0/nextjs-auth0/client,lucide-react,next/link",
      "lines": 151,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "2bec1f1a797ae83c379c59c2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fe234038090bba55",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route-mock",
      "normalized_name": "route-mock",
      "package_manager": "pnpm",
      "path": "app/api/auth/[...auth0]/route-mock.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "09baf8f77126b768dd448819",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@auth0/nextjs-auth0",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/database, @auth0/nextjs-auth0 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67a504521767eb04",
      "framework": "next-react",
      "imports": "@/lib/database,@auth0/nextjs-auth0",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/[...auth0]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "7d984d26031171903253725e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/database, @/lib/stannp-api, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cff3c4800948274f",
      "framework": "next-react",
      "imports": "@/lib/database,@/lib/stannp-api,next/server",
      "lines": 190,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "65f18322ec33363c80a68fef",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "dbd443388c118282",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/recipients/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "bc0692948ada095628220468",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "660e5fbf2dba053c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/recipients/delete/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "24787b95b0b0c5cb2efe45f4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ad0f1d6340de2513",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/items/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "28d2f769a54b2300d3062cfe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@auth0/nextjs-auth0,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/database, @auth0/nextjs-auth0, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3f5fbc179f78e5e9",
      "framework": "next-react",
      "imports": "@/lib/database,@auth0/nextjs-auth0,next/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/responses/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "d326796e2f67296aff0b2bf6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "DELETE,GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "73e91fae5a10a0ce",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/responses/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "937185cef23be65763feeab1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "de052772be47ae2e",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 93,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/responses/[id]/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend,observability",
      "component_id": "0218ef1a51a83c3afd26651a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f2e4aef1b247689d",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/responses/stats/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "31b5315bb4158dbc07310630",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@auth0/nextjs-auth0,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SAFE_HEADER_EXPOSE | imports:@/lib/database, @/lib/types, @auth0/nextjs-auth0, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST,SAFE_HEADER_EXPOSE",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e982ceeb39c3e377",
      "framework": "next-react",
      "imports": "@/lib/database,@/lib/types,@auth0/nextjs-auth0,next/server",
      "lines": 426,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stannp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "753c21747715b14dc8c4145d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f61a6607bc7137a8",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 66,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/users/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e6d684348e58270e9a47c08d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@auth0/nextjs-auth0,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:@/lib/database, @auth0/nextjs-auth0, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5c2726029cbac665",
      "framework": "next-react",
      "imports": "@/lib/database,@auth0/nextjs-auth0,next/server",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/credits/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "backend,frontend,observability",
      "component_id": "d0f2f39c04d0c16fb06617e8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for finance; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/database, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1c2e15bae48b4ae9",
      "framework": "next-react",
      "imports": "@/lib/database,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/credits/transactions/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "72c263481d4452feb670bc4b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, WEBHOOK_SECRETS | imports:@/lib/database, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST,WEBHOOK_SECRETS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b9aad17ae483f50c",
      "framework": "next-react",
      "imports": "@/lib/database,next/server,stripe",
      "lines": 403,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stripe/webhook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "0add266c5cb35598aa22e44a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@auth0/nextjs-auth0,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@auth0/nextjs-auth0, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "aa3f6878ae3ea30f",
      "framework": "next-react",
      "imports": "@auth0/nextjs-auth0,next/server,stripe",
      "lines": 125,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stripe/create-checkout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "634f4580836a49a9ea78bcec",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockLoginPage | imports:@/components/ui/button, @/components/ui/card, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MockLoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d86cd449bea519ea",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,next/navigation",
      "lines": 49,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/mock-auth/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "5a5e596bd071ac136236e7b7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9459ffdfa3e22584",
      "framework": "next-react",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "AUTH0_CALLBACK_HANGING_FIX",
      "normalized_name": "auth0-callback-hanging-fix",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_CALLBACK_HANGING_FIX.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "9d2adc02aaa8c30c76d78d86",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb2c4e952ddd88ec",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "STANNP_API_SETUP",
      "normalized_name": "stannp-api-setup",
      "package_manager": "pnpm",
      "path": "docs/STANNP_API_SETUP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9f71e3aca83e39a1bf02ce57",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0a2f67172e7795e3",
      "framework": "next-react",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "INTEGRATION_COMPLETE",
      "normalized_name": "integration-complete",
      "package_manager": "pnpm",
      "path": "docs/INTEGRATION_COMPLETE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "f4e7d711568b9efe75efc8cb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "Stannp API Wrapper",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:Stannp API Wrapper | process-score:110 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7907e1961cde0947",
      "framework": "next-react",
      "imports": "Stannp API Wrapper",
      "lines": 44,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "pnpm",
      "path": "docs/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,security,automation,ai",
      "component_id": "85d117cd94a20a949221646a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4c36380c927db52c",
      "framework": "next-react",
      "imports": "",
      "lines": 161,
      "logic_relevance": "none",
      "name": "AUTH0_STRIPE_INTEGRATION_COMPLETE",
      "normalized_name": "auth0-stripe-integration-complete",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_STRIPE_INTEGRATION_COMPLETE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0c1fadbfcb9161c9c2645568",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b64181b0d577b38e",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "FOREIGN_KEY_FIX_IMPLEMENTED",
      "normalized_name": "foreign-key-fix-implemented",
      "package_manager": "pnpm",
      "path": "docs/FOREIGN_KEY_FIX_IMPLEMENTED.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "1198b2fc848596d4ba1ea220",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "325d61304556ae35",
      "framework": "next-react",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "CREDIT_REFUND_SYSTEM",
      "normalized_name": "credit-refund-system",
      "package_manager": "pnpm",
      "path": "docs/CREDIT_REFUND_SYSTEM.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "908c516f2df930dac9d7523d",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/lib,@auth0/nextjs-auth0",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GET, POST | imports:@/lib/database, @auth0/nextjs-auth0 | process-score:145 | observability-score:55 | security-score:55",
      "exports": "GET,POST",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bb8d21f2d5e138de",
      "framework": "next-react",
      "imports": "@/lib/database,@auth0/nextjs-auth0",
      "lines": 137,
      "logic_relevance": "none",
      "name": "AUTH0_LOGIN_FIX",
      "normalized_name": "auth0-login-fix",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_LOGIN_FIX.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security,ai",
      "component_id": "3d662dc6f2dbe3e353305027",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5ea21e43411da630",
      "framework": "next-react",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "AUTH0_DATABASE_FIXES",
      "normalized_name": "auth0-database-fixes",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_DATABASE_FIXES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "2237bce81afb03ff38aca578",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6779e002d40a2073",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "AUTH0_SETUP",
      "normalized_name": "auth0-setup",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_SETUP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "fa3efb332ded31006bc46817",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c2b26c86174bfefc",
      "framework": "next-react",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "456a7319b0e5e8cc9ef29fb2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a0da2daba53c8fbb",
      "framework": "next-react",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "AUTH0_USER_MANAGEMENT_COMPLETE",
      "normalized_name": "auth0-user-management-complete",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_USER_MANAGEMENT_COMPLETE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,integration,observability,security,automation",
      "component_id": "de9f3f0d96a8fec730b79ce6",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "stripe",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:POST | imports:stripe | process-score:145 | backend-score:70 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8084d53c2e329a6e",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 233,
      "logic_relevance": "none",
      "name": "STRIPE_SETUP",
      "normalized_name": "stripe-setup",
      "package_manager": "pnpm",
      "path": "docs/STRIPE_SETUP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "2fd0204956fb15189bc4ee50",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@auth0/nextjs-auth0",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@auth0/nextjs-auth0/client | process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "796700d3ab47727f",
      "framework": "next-react",
      "imports": "@auth0/nextjs-auth0/client",
      "lines": 157,
      "logic_relevance": "none",
      "name": "AUTH0_AUTO_SAVE_IMPLEMENTATION",
      "normalized_name": "auth0-auto-save-implementation",
      "package_manager": "pnpm",
      "path": "docs/AUTH0_AUTO_SAVE_IMPLEMENTATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,integration,observability,security,automation,ai",
      "component_id": "c8d74025501c58fc20757c23",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1149352d031ddff2",
      "framework": "next-react",
      "imports": "",
      "lines": 188,
      "logic_relevance": "none",
      "name": "STRIPE_AUTH_IMPLEMENTATION",
      "normalized_name": "stripe-auth-implementation",
      "package_manager": "pnpm",
      "path": "docs/STRIPE_AUTH_IMPLEMENTATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5708ca322d02b9a3ad936173",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "628a3cfd1580a311",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "FINAL_QA_CHECKLIST",
      "normalized_name": "final-qa-checklist",
      "package_manager": "pnpm",
      "path": "docs/FINAL_QA_CHECKLIST.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "5f6b8b4789bdf754a2ec0447",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "37cd39d7ad040a7a",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "POSTCARD_ENHANCEMENTS",
      "normalized_name": "postcard-enhancements",
      "package_manager": "pnpm",
      "path": "docs/POSTCARD_ENHANCEMENTS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ec26eb838c4eb90222f9626a",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:getAuth0SubFromId | process-score:110 | observability-score:55 | security-score:55",
      "exports": "getAuth0SubFromId",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6200ca648f804adb",
      "framework": "next-react",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "UUID_CONVERSION_FIX",
      "normalized_name": "uuid-conversion-fix",
      "package_manager": "pnpm",
      "path": "docs/UUID_CONVERSION_FIX.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "32c7893b49d2fb41a4aa1904",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "679ee4df07597d57",
      "framework": "next-react",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "24d042d7cd7574912562b175",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:EnhancedFormFieldRenderer | imports:@/components/recipient-dropdown, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EnhancedFormFieldRenderer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5a65c095276b7b82",
      "framework": "next-react",
      "imports": "@/components/recipient-dropdown,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/textarea,@/components/ui/tooltip,@/lib/pdf-converter,@/lib/presets,lucide-react,react",
      "lines": 384,
      "logic_relevance": "none",
      "name": "enhanced-form-field-renderer",
      "normalized_name": "enhanced-form-field-renderer",
      "package_manager": "pnpm",
      "path": "components/enhanced-form-field-renderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "cdc9fc74cf9898c55cbbcab3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:KeyInput | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "KeyInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "821f4000351ef212",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "key-input",
      "normalized_name": "key-input",
      "package_manager": "pnpm",
      "path": "components/key-input.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "b889ed200d089bc34b86b77d",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "48753db930b4225e42975b47",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary, useErrorHandler, withErrorBoundary | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/card, @vercel/analytics, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "ErrorBoundary,useErrorHandler,withErrorBoundary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f35505647c468756",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/card,@vercel/analytics,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "error-boundary",
      "normalized_name": "error-boundary",
      "package_manager": "pnpm",
      "path": "components/error-boundary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "c89bc56b75f6667e848c62e0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonViewer | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "JsonViewer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2605a174ed1afb16",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 43,
      "logic_relevance": "none",
      "name": "json-viewer",
      "normalized_name": "json-viewer",
      "package_manager": "pnpm",
      "path": "components/json-viewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation,ai",
      "component_id": "e1fe9c30d85b41dd1d3f1e20",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostcardHelp | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "PostcardHelp",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1200c74ad7d41a16",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "postcard-help",
      "normalized_name": "postcard-help",
      "package_manager": "pnpm",
      "path": "components/postcard-help.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "103e4fe0fecfaaede8b3ad16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResponseStorage | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/lib/types, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResponseStorage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8922e926af3cf9cb",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/lib/types,lucide-react,react",
      "lines": 206,
      "logic_relevance": "none",
      "name": "response-storage",
      "normalized_name": "response-storage",
      "package_manager": "pnpm",
      "path": "components/response-storage.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dacdd3b1d0aba0b3895af2a9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientDropdown | imports:@/components/ui/alert, @/components/ui/button, @/components/ui/select, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RecipientDropdown",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d147ff31f2dee565",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/button,@/components/ui/select,lucide-react,react",
      "lines": 207,
      "logic_relevance": "none",
      "name": "recipient-dropdown",
      "normalized_name": "recipient-dropdown",
      "package_manager": "pnpm",
      "path": "components/recipient-dropdown.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3ca425ee36c190ac397f894b",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QueryParamsEditor | imports:@/components/ui/button, @/components/ui/input, @/components/ui/label, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "QueryParamsEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1196a9a74a857536",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/label,lucide-react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "query-params-editor",
      "normalized_name": "query-params-editor",
      "package_manager": "pnpm",
      "path": "components/query-params-editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "4dab3c3ddfcdee63d6933c9d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MailManagement | imports:@/components/error-boundary, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/user-selector, @vercel/analytics | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "MailManagement",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "77e234247a97e85a",
      "framework": "next-react",
      "imports": "@/components/error-boundary,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/user-selector,@vercel/analytics,lucide-react,react",
      "lines": 759,
      "logic_relevance": "none",
      "name": "mail-management",
      "normalized_name": "mail-management",
      "package_manager": "pnpm",
      "path": "components/mail-management.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3e9889af150f43091923e516",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostcardForm | imports:@/components/enhanced-form-field-renderer, @/components/postcard-help, @/components/postcard-validation-summary, @/components/ui/badge, @/components/ui/card, @/components/ui/tabs, @/components/ui/tooltip, @/lib/presets | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PostcardForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "57d47bd26221e6c2",
      "framework": "next-react",
      "imports": "@/components/enhanced-form-field-renderer,@/components/postcard-help,@/components/postcard-validation-summary,@/components/ui/badge,@/components/ui/card,@/components/ui/tabs,@/components/ui/tooltip,@/lib/presets,react",
      "lines": 146,
      "logic_relevance": "none",
      "name": "postcard-form",
      "normalized_name": "postcard-form",
      "package_manager": "pnpm",
      "path": "components/postcard-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "8d5c8aa48b20b2e86dcfc2ef",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomUserProvider, useUser | imports:react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CustomUserProvider,useUser",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2876ab546b7aecde",
      "framework": "next-react",
      "imports": "react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "custom-user-provider",
      "normalized_name": "custom-user-provider",
      "package_manager": "pnpm",
      "path": "components/custom-user-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "be4ab92af47f362163ec20f9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValidationSummary | imports:@/components/ui/alert, @/components/ui/badge, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ValidationSummary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b757acf9cc5b89f5",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,lucide-react",
      "lines": 74,
      "logic_relevance": "secondary",
      "name": "validation-summary",
      "normalized_name": "validation-summary",
      "package_manager": "pnpm",
      "path": "components/validation-summary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "3f0c60a1f0f02adb4d5273e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@auth0/nextjs-auth0,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserSelector | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/label, @/components/ui/select, @/lib/database, @/lib/utils, @auth0/nextjs-auth0/client, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "UserSelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71b053a72f5abe11",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/label,@/components/ui/select,@/lib/database,@/lib/utils,@auth0/nextjs-auth0/client,lucide-react,react",
      "lines": 229,
      "logic_relevance": "none",
      "name": "user-selector",
      "normalized_name": "user-selector",
      "package_manager": "pnpm",
      "path": "components/user-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "e8f87640051b35d47ac66584",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PostcardValidationSummary | imports:@/components/ui/alert, @/components/ui/badge, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "PostcardValidationSummary",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a20fe5b928a70bfb",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,lucide-react",
      "lines": 112,
      "logic_relevance": "secondary",
      "name": "postcard-validation-summary",
      "normalized_name": "postcard-validation-summary",
      "package_manager": "pnpm",
      "path": "components/postcard-validation-summary.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "66f1e11ca36d1c4974dface8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@auth0/nextjs-auth0,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RequestBuilder | imports:@/components/enhanced-form-field-renderer, @/components/json-viewer, @/components/postcard-form, @/components/query-params-editor, @/components/response-storage, @/components/ui/alert, @/components/ui/badge, @/components/ui/button | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RequestBuilder",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e972b98d9a7b218",
      "framework": "next-react",
      "imports": "@/components/enhanced-form-field-renderer,@/components/json-viewer,@/components/postcard-form,@/components/query-params-editor,@/components/response-storage,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/tabs,@/components/ui/textarea,@/components/user-selector,@/hooks/use-local-storage,@/lib/database,@/lib/pdf-converter,@/lib/presets,@/lib/types,@/lib/utils,@auth0/nextjs-auth0/client,lucide-react,react",
      "lines": 802,
      "logic_relevance": "none",
      "name": "request-builder",
      "normalized_name": "request-builder",
      "package_manager": "pnpm",
      "path": "components/request-builder.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "3e503be0a155ef021ff51acd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@auth0/nextjs-auth0,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UserCredits | imports:@/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/tabs | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "UserCredits",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0194104cdb48624f",
      "framework": "next-react",
      "imports": "@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/tabs,@/lib/database,@auth0/nextjs-auth0/client,lucide-react,react",
      "lines": 790,
      "logic_relevance": "none",
      "name": "user-credits",
      "normalized_name": "user-credits",
      "package_manager": "pnpm",
      "path": "components/user-credits.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f4bd5240c33012dad62afde3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FormFieldRenderer | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/label, @/components/ui/select, @/components/ui/switch, @/components/ui/textarea, @/lib/presets | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "FormFieldRenderer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "202e41eb1d581864",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/components/ui/switch,@/components/ui/textarea,@/lib/presets,lucide-react,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "form-field-renderer",
      "normalized_name": "form-field-renderer",
      "package_manager": "pnpm",
      "path": "components/form-field-renderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b734c08543b50b3dbeaf4740",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@auth0/nextjs-auth0,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthButton | imports:@/components/ui/button, @auth0/nextjs-auth0/client, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "199aab4b2497a895",
      "framework": "next-react",
      "imports": "@/components/ui/button,@auth0/nextjs-auth0/client,lucide-react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "auth-button",
      "normalized_name": "auth-button",
      "package_manager": "pnpm",
      "path": "components/auth-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2b3be6f500e5480af2c79bbf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoredResponses | imports:@/components/json-viewer, @/components/ui/alert, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/select | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "StoredResponses",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c3e735c168f28f1a",
      "framework": "next-react",
      "imports": "@/components/json-viewer,@/components/ui/alert,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/select,@/lib/database,@/lib/presets,lucide-react,react",
      "lines": 456,
      "logic_relevance": "none",
      "name": "stored-responses",
      "normalized_name": "stored-responses",
      "package_manager": "pnpm",
      "path": "components/stored-responses.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a7c715653fa2ec5f24841110",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e8469e599381cf02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "78db35fca5823fa34a72fd71",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "78cdb63dff3ec7ef",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "9b9af1a2c8b9152e45fcbcd3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9ec42c8a57e82311",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "799c235e8dba7874762b7cec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c8a6721d500555255a34c9f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49d8311589b810b1",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0a95396302394779f94fec55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "17f2390d98e8ce4d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "b76a43386c8e8dd483a28a72",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "69f1cbaa5a2a4b0cd7e16b6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f41c11fc13e9a1f1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3f8955ce1d6af471dcfd9aa0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "82403231e33fd3d4",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a3a40176901bf5c3e6c3885f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8795c9fac7c48d56",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c7850894612cdb3b1cf0117b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "de4e9fb0fd8e8ed1",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0d20cd6732cbc80e0948de3e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6628e8fde207857b",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "security",
      "component_id": "b27cbb790dbedf5f6519160e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useLocalStorage | imports:react | security-score:55",
      "exports": "useLocalStorage",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "22e52ff4e481a221",
      "framework": "next-react",
      "imports": "react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "use-local-storage",
      "normalized_name": "use-local-storage",
      "package_manager": "pnpm",
      "path": "hooks/use-local-storage.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "653fc8fb0b393c1841609b27",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "05fbed2f5aced0e1",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "test-auth0-autosave",
      "normalized_name": "test-auth0-autosave",
      "package_manager": "pnpm",
      "path": "scripts/test-auth0-autosave.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "23696b6186f72c2af27310f7",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PRESET_CATEGORIES | imports:fs, path | observability-score:55 | automation-score:50",
      "exports": "PRESET_CATEGORIES",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3d3fffac13996319",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 80,
      "logic_relevance": "none",
      "name": "verify-ui-display",
      "normalized_name": "verify-ui-display",
      "package_manager": "pnpm",
      "path": "scripts/verify-ui-display.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5f506f4de0cf0a21b1b407a2",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "686b16232186924a",
      "framework": "next-react",
      "imports": "",
      "lines": 195,
      "logic_relevance": "none",
      "name": "test-presets",
      "normalized_name": "test-presets",
      "package_manager": "pnpm",
      "path": "scripts/test-presets.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "39fb988a2a174aad7ebaa23d",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:PRESETS | imports:fs, path | automation-score:95 | observability-score:55",
      "exports": "PRESETS",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "96250f685f5c4209",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 129,
      "logic_relevance": "none",
      "name": "verify-presets",
      "normalized_name": "verify-presets",
      "package_manager": "pnpm",
      "path": "scripts/verify-presets.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "32a9351181e479031d99bf5b",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:fs, path | automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3613bf5c5ed99d10",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 138,
      "logic_relevance": "none",
      "name": "test-postcard-implementation",
      "normalized_name": "test-postcard-implementation",
      "package_manager": "pnpm",
      "path": "scripts/test-postcard-implementation.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4d61561fa9931193097d45bd",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "13d751fc607065ad",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 69,
      "logic_relevance": "none",
      "name": "test-postcards",
      "normalized_name": "test-postcards",
      "package_manager": "pnpm",
      "path": "scripts/test-postcards.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ab89073ebfbd53d83cfb8cf3",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:crypto | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a3835d9b45806c4",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 68,
      "logic_relevance": "none",
      "name": "test-specific-id",
      "normalized_name": "test-specific-id",
      "package_manager": "pnpm",
      "path": "scripts/test-specific-id.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "efbd1d8850e650293d330c8c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "15fcfb779497659b",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 71,
      "logic_relevance": "none",
      "name": "test-preset-fields",
      "normalized_name": "test-preset-fields",
      "package_manager": "pnpm",
      "path": "scripts/test-preset-fields.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c76e59261aae79e9c4d62307",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9eeeeb73726e5e5b",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "test-cancel-debug",
      "normalized_name": "test-cancel-debug",
      "package_manager": "pnpm",
      "path": "scripts/test-cancel-debug.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "390beb660992afd9e0d9f819",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:PRESETS, PRESET_CATEGORIES | imports:fs, path | automation-score:95 | observability-score:55",
      "exports": "PRESETS,PRESET_CATEGORIES",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bf4259bdccf1226a",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 136,
      "logic_relevance": "none",
      "name": "audit-all-presets",
      "normalized_name": "audit-all-presets",
      "package_manager": "pnpm",
      "path": "scripts/audit-all-presets.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6e3a8f688bf093dd318803af",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b80ec2da8a70292b",
      "framework": "next-react",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "test-cancel-fix",
      "normalized_name": "test-cancel-fix",
      "package_manager": "pnpm",
      "path": "scripts/test-cancel-fix.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "cdc5c273aee1d5261e0a551b",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "762ab35ecd7b1e88",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 50,
      "logic_relevance": "none",
      "name": "verify-postcard-fields",
      "normalized_name": "verify-postcard-fields",
      "package_manager": "pnpm",
      "path": "scripts/verify-postcard-fields.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "d199e1c4d5a778b42a55099f",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "crypto",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:crypto | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b91d84a267bbd993",
      "framework": "next-react",
      "imports": "crypto",
      "lines": 111,
      "logic_relevance": "none",
      "name": "test-auth0-stripe-integration",
      "normalized_name": "test-auth0-stripe-integration",
      "package_manager": "pnpm",
      "path": "scripts/test-auth0-stripe-integration.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "539a1026eb05f4efe4f944ef",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "a359c28d06db00867d3c6c49",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DocumentConverter | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "DocumentConverter",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8d512a164041486b",
      "framework": "next-react",
      "imports": "",
      "lines": 358,
      "logic_relevance": "primary",
      "name": "pdf-converter",
      "normalized_name": "pdf-converter",
      "package_manager": "pnpm",
      "path": "lib/pdf-converter.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "fa0575e1cc1018842c2cb892",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ProxyRequestPayload, ProxyResponsePayload | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "ProxyRequestPayload,ProxyResponsePayload",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "41d7af1224324fab",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "ee3b1b04e6394668956bfae5",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,crypto",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CreditTransaction, DemoUser, ResponseDatabase, ResponseStats, StoredResponse, UserCredits, convertAuth0IdToUuid, getAuth0SubFromId | imports:@neondatabase/serverless, crypto | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CreditTransaction,DemoUser,ResponseDatabase,ResponseStats,StoredResponse,UserCredits,convertAuth0IdToUuid,getAuth0SubFromId",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "282e10c688f9e6fa",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,crypto",
      "lines": 1124,
      "logic_relevance": "secondary",
      "name": "database",
      "normalized_name": "database",
      "package_manager": "pnpm",
      "path": "lib/database.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "772199cbdbd4ee5fe48f49c9",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:STANNP_BASE_URL | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "STANNP_BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d4f068487a154c63",
      "framework": "next-react",
      "imports": "",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "stannp-api",
      "normalized_name": "stannp-api",
      "package_manager": "pnpm",
      "path": "lib/stannp-api.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "7fbbabe1dc9154f1fdb2c986",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FormField, PRESETS, PRESET_CATEGORIES, Preset, PresetCategory | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "FormField,PRESETS,PRESET_CATEGORIES,Preset,PresetCategory",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c89d9a9061e02223",
      "framework": "next-react",
      "imports": "",
      "lines": 2516,
      "logic_relevance": "primary",
      "name": "presets",
      "normalized_name": "presets",
      "package_manager": "pnpm",
      "path": "lib/presets.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,backend,observability",
      "component_id": "ea74cc7e706ac1254b9b14e7",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/database | logic-score:85 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7558d7f660fb4805",
      "framework": "next-react",
      "imports": "@/lib/database",
      "lines": 78,
      "logic_relevance": "primary",
      "name": "server-actions",
      "normalized_name": "server-actions",
      "package_manager": "pnpm",
      "path": "lib/server-actions.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-gpt-5-test",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "2ab34fe8d74eaa31088a5e43",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f78067fa0ba12628",
      "framework": "next-react",
      "imports": "",
      "lines": 5744,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "ae60bb273a06c1bbcf5ebda1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "60b55ff7df79af72",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "7a3bdfdc5f2df2847a5092dd",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34a993cb8e0affd3",
      "framework": "next-react",
      "imports": "",
      "lines": 255,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "pnpm",
      "path": "tree.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "security",
      "component_id": "17515182df01a4d06e9689df",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for design-system; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5ba937de8a12efb",
      "framework": "next-react",
      "imports": "",
      "lines": 5895,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "9941043caba6ca437f3bb1c8",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d943971d16d69353",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "eca16ce3a4ff8ee96810206d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e7c31463cfcb700f",
      "framework": "next-react",
      "imports": "next",
      "lines": 16,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "73d6b300ebe25ce032756193",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ecbfe8b9473e9fbb",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "6463b27c8eb2b4459c53eb0b",
      "component_kind": "schema-validation",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateEmail, validatePassword | logic-score:85",
      "exports": "validateEmail,validatePassword",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bbe903c9b090858d",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "primary",
      "name": "validation",
      "normalized_name": "validation",
      "package_manager": "pnpm",
      "path": "app/utils/validation.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "02c8c03db0f43a8d95cffa8f",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "pdf-lib",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:pdf-lib | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "4ff8cb5e5b5f7ba9",
      "framework": "next-react",
      "imports": "pdf-lib",
      "lines": 37,
      "logic_relevance": "primary",
      "name": "pdfUtils",
      "normalized_name": "pdf-utils",
      "package_manager": "pnpm",
      "path": "app/utils/pdfUtils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c6857fcb3cbbe009fd161f41",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,next-auth,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Dashboard | imports:next-auth/react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Dashboard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4e5f3b989340dc6",
      "framework": "next-react",
      "imports": "next-auth/react,next/link,next/navigation,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2becdb3a4243e58f9f6d8337",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,next-auth",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SentMail | imports:../../components/Dashboard/SentMailList, next-auth/react, next/dynamic, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SentMail",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "decebb69b2aae30d",
      "framework": "next-react",
      "imports": "../../components/Dashboard/SentMailList,next-auth/react,next/dynamic,next/navigation",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/sent/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "f26564bafbb6a9b6920746f6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Recipients | imports:../../components/Dashboard/RecipientSelector | frontend-score:85 | ui-score:55",
      "exports": "Recipients",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea8716b8af157ffe",
      "framework": "next-react",
      "imports": "../../components/Dashboard/RecipientSelector",
      "lines": 12,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/recipients/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "575314b38ba4d579fdd2df34",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,next-auth,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewMail | imports:../../components/Dashboard/RecipientSelector, ../../components/Upload/DragDropUpload, ../../components/Upload/MessageEditor, ../../components/Upload/PdfPreview, next-auth/react, next/dynamic, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "NewMail",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca4c4c005a31a40d",
      "framework": "next-react",
      "imports": "../../components/Dashboard/RecipientSelector,../../components/Upload/DragDropUpload,../../components/Upload/MessageEditor,../../components/Upload/PdfPreview,next-auth/react,next/dynamic,next/navigation,react",
      "lines": 178,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/dashboard/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5792e55ad165bba3267a0238",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,next-auth,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginForm | imports:next-auth/react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "629069092a1e19c7",
      "framework": "next-react",
      "imports": "next-auth/react,next/navigation,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "LoginForm",
      "normalized_name": "login-form",
      "package_manager": "pnpm",
      "path": "app/components/Auth/LoginForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "472820159807c59c4bdc82c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegisterForm | imports:next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RegisterForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dec7a0b40f2744ca",
      "framework": "next-react",
      "imports": "next/navigation,react",
      "lines": 62,
      "logic_relevance": "none",
      "name": "RegisterForm",
      "normalized_name": "register-form",
      "package_manager": "pnpm",
      "path": "app/components/Auth/RegisterForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability",
      "component_id": "33301bafc924426dc660add0",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:MailDetailView | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "MailDetailView",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70c96cbbaf88fd40",
      "framework": "next-react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "MailDetailView",
      "normalized_name": "mail-detail-view",
      "package_manager": "pnpm",
      "path": "app/components/Dashboard/MailDetailView.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "2e6727b359023dc8a8942357",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientSelector | imports:next-auth/react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RecipientSelector",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2928519c15055d72",
      "framework": "next-react",
      "imports": "next-auth/react,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "RecipientSelector",
      "normalized_name": "recipient-selector",
      "package_manager": "pnpm",
      "path": "app/components/Dashboard/RecipientSelector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "86af5f717365b560e414fa4f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:CancelMailButton | imports:react | frontend-score:115 | ui-score:70",
      "exports": "CancelMailButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bc8bff867a73300",
      "framework": "next-react",
      "imports": "react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "CancelMailButton",
      "normalized_name": "cancel-mail-button",
      "package_manager": "pnpm",
      "path": "app/components/Dashboard/CancelMailButton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "8e757934fa6254dd51db9de0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SentMailList | imports:./CancelMailButton, next-auth/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SentMailList",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ad99e515616571c5",
      "framework": "next-react",
      "imports": "./CancelMailButton,next-auth/react,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "SentMailList",
      "normalized_name": "sent-mail-list",
      "package_manager": "pnpm",
      "path": "app/components/Dashboard/SentMailList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "27dea464b14373830c40bfe1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "pdfjs-dist,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:PdfPreview | imports:pdfjs-dist, react | frontend-score:115 | ui-score:70",
      "exports": "PdfPreview",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07e26497b762368d",
      "framework": "next-react",
      "imports": "pdfjs-dist,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "PdfPreview",
      "normalized_name": "pdf-preview",
      "package_manager": "pnpm",
      "path": "app/components/Upload/PdfPreview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a7f8e4dc72d8d4f91afd1dde",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:DragDropUpload | imports:react | frontend-score:115 | ui-score:70",
      "exports": "DragDropUpload",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9e17127872f9a3a",
      "framework": "next-react",
      "imports": "react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "DragDropUpload",
      "normalized_name": "drag-drop-upload",
      "package_manager": "pnpm",
      "path": "app/components/Upload/DragDropUpload.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "737921791709495f9d0e564a",
      "component_kind": "editor-feature",
      "confidence": 100,
      "dependency_roots": "react-quill",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:MessageEditor | imports:react-quill | frontend-score:85 | ui-score:55",
      "exports": "MessageEditor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d417af31febbe043",
      "framework": "next-react",
      "imports": "react-quill",
      "lines": 22,
      "logic_relevance": "none",
      "name": "MessageEditor",
      "normalized_name": "message-editor",
      "package_manager": "pnpm",
      "path": "app/components/Upload/MessageEditor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "9ff2e59370609e2b3a11fb55",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Register | imports:../components/Auth/RegisterForm | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "Register",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f0eb5c95d6933650",
      "framework": "next-react",
      "imports": "../components/Auth/RegisterForm",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,logic",
      "component_id": "d22228d6e3ebd949ddd4f15e",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "@prisma/client",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@prisma/client | backend-score:55 | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "254b7b4fe569db16",
      "framework": "next-react",
      "imports": "@prisma/client",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "prisma",
      "normalized_name": "prisma",
      "package_manager": "pnpm",
      "path": "app/lib/db/prisma.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,integration,security,logic",
      "component_id": "d8d2f36e543ad32de51cb0fb",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:stripe | imports:stripe | backend-score:55 | integration-score:55 | security-score:55 | logic-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "929be9fdc330e00f",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 3,
      "logic_relevance": "secondary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "app/lib/api/stripe.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "b4b1e207aa17f6aedf026f6a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "axios",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:STANNP_API_URL | imports:axios | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "STANNP_API_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1d1540408232e789",
      "framework": "next-react",
      "imports": "axios",
      "lines": 54,
      "logic_relevance": "primary",
      "name": "stannp",
      "normalized_name": "stannp",
      "package_manager": "pnpm",
      "path": "app/lib/api/stannp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "31d23e35b957f38ffd99ad2d",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "bcryptjs,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../lib/db/prisma, bcryptjs, next-auth, next-auth/providers/credentials | backend-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d122156b4995a98c",
      "framework": "next-react",
      "imports": "../../lib/db/prisma,bcryptjs,next-auth,next-auth/providers/credentials",
      "lines": 47,
      "logic_relevance": "none",
      "name": "[...nextauth]",
      "normalized_name": "nextauth",
      "package_manager": "pnpm",
      "path": "app/api/auth/[...nextauth].ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "39bd4f00a22045339e43c47f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "bcryptjs,crypto-js,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../../lib/db/prisma, ../../../utils/validation, bcryptjs, crypto-js, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9fa64ecd6f2a2a70",
      "framework": "next-react",
      "imports": "../../../lib/db/prisma,../../../utils/validation,bcryptjs,crypto-js,next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "1a1d67ea0c8d3029113f17d2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto-js,next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../../lib/api/stannp, ../../../lib/db/prisma, crypto-js, next-auth/jwt, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f416f037d2a3e2d0",
      "framework": "next-react",
      "imports": "../../../lib/api/stannp,../../../lib/db/prisma,crypto-js,next-auth/jwt,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/cancel/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "0669783afcd0b75a31f21820",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../lib/db/prisma, next-auth/react, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b8a860bc1584c26e",
      "framework": "next-react",
      "imports": "../../../lib/db/prisma,next-auth/react,next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/status/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend,observability",
      "component_id": "c3fa4e1a92759e6f49ce472e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,pdf-lib",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server, pdf-lib | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "42f48edf0fb6bc00",
      "framework": "next-react",
      "imports": "next/server,pdf-lib",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/preview/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "0547effc2eab5ac83e86f352",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto-js,next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../../lib/api/stannp, ../../../lib/db/prisma, ../../../utils/pdfUtils, crypto-js, next-auth/react, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "5e3631c7d82b9517",
      "framework": "next-react",
      "imports": "../../../lib/api/stannp,../../../lib/db/prisma,../../../utils/pdfUtils,crypto-js,next-auth/react,next/server",
      "lines": 44,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mail/send/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "ab818ea501fc212efa0811ae",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,next-auth",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Recipients | imports:../../components/Dashboard/RecipientSelector, next-auth/react, next/navigation | frontend-score:115 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "Recipients",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50670438f57411ab",
      "framework": "next-react",
      "imports": "../../components/Dashboard/RecipientSelector,next-auth/react,next/navigation",
      "lines": 37,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/api/recipients/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "8f9fe4baa668889ff55efc18",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:../../../lib/db/prisma, next-auth/react, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6032de81e6877ed4",
      "framework": "next-react",
      "imports": "../../../lib/db/prisma,next-auth/react,next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/recipients/list/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "b21dbf3b48d67902423877cb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:../../../lib/db/prisma, next-auth/jwt, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "542f5e80957edb28",
      "framework": "next-react",
      "imports": "../../../lib/db/prisma,next-auth/jwt,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/recipients/create/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "5e435dbb12e0e0edc60a1361",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "micro,next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:../../../lib/db/prisma, micro, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "60a21fe08377c5c9",
      "framework": "next-react",
      "imports": "../../../lib/db/prisma,micro,next/server,stripe",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stripe/webhook/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "b11476a4d0bd6a538153978b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,next-auth,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next-auth/react, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "324e4c723c4b6f13",
      "framework": "next-react",
      "imports": "next-auth/react,next/server,stripe",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/stripe/create-checkout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9a48b013585eac86b661f1cc",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Login | imports:../components/Auth/LoginForm | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Login",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b0dd5c34adb6e92c",
      "framework": "next-react",
      "imports": "../components/Auth/LoginForm",
      "lines": 9,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stannp-nextjs-bp",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "3c729a3d4d6a17a1bc80f74f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58b819f54ba088a6",
      "framework": "next-react",
      "imports": "",
      "lines": 6881,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "26ebb425dd5232e150a1919a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "f902940d7f5d7d7f",
      "framework": "next-react",
      "imports": "next",
      "lines": 88,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "1bc4f0d5f25a7049aff2a0c5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "13c1b5e046f99675",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "79f831a2c627cb0302518ccd",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4bc3db2611603a0",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 98,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1ba6f811a41128d4c6ce0f86",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f7e07f254d08bf1",
      "framework": "next-react",
      "imports": "",
      "lines": 9889,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "964600920a435558e1f005b6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b417e419cf33ec4a",
      "framework": "next-react",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "218f3c0e8fe30132294e6795",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "22b99bbcf7598e43",
      "framework": "next-react",
      "imports": "next",
      "lines": 17,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "fb350e0be34195d4d1934e35",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "32f647c076746a60",
      "framework": "next-react",
      "imports": "next",
      "lines": 27,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ab758f3e199af68914168f9f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:../components/layout, @vercel/analytics/next, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a77654c293cbe8f2",
      "framework": "next-react",
      "imports": "../components/layout,@vercel/analytics/next,next",
      "lines": 150,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4dcac558db4853fa06906ea5",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SyntheticV0PageForDeployment | frontend-score:85 | ui-score:55",
      "exports": "SyntheticV0PageForDeployment",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34ee73ff5d829029",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "9daf1744527478c42fc61322",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a907a4837bf02600",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui,process",
      "component_id": "5d25d6d97395f848fbfa69e9",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "RoadmapPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e8198636b157551b",
      "framework": "next-react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "dcff09339312a7d1d8d9d95b",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e1010f4e80c9521",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3b80b511d0042aa007db8093",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "aebaef8d2604b8a8",
      "framework": "next-react",
      "imports": "./route",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "11033debaa3b42a5d134f162",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "83b57d65b2b7a97b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability",
      "component_id": "b259375eba16c8eb9afb7538",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cef77a23030c732c",
      "framework": "next-react",
      "imports": "./route",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/discovery/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,observability",
      "component_id": "a26f9ef7b1b830c94fd4d5c5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4f7cc5315225b847",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/discovery/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "b07a2aec118709104c49091c",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JobsPage | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "JobsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5a8bdf8b3256d0f2",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/jobs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "87fa72bc5c56b40a3fa7bd3b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a907a4837bf02600",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "1d03551ec993ebacbb53b963",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "06bb532261caa822e48e17bf",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,next",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./breadcrumbs, @testing-library/react, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "edede18f9e51760c",
      "framework": "next-react",
      "imports": "./breadcrumbs,@testing-library/react,next/navigation",
      "lines": 38,
      "logic_relevance": "none",
      "name": "breadcrumbs.test",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "cdb2288d4a0cd98a32906079",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bd40d5454f26c6ad",
      "framework": "next-react",
      "imports": "lucide-react,next/link,next/navigation,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,ui",
      "component_id": "7dd92190dc51791824127890",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:Layout | imports:./breadcrumbs, lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "Layout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "74f9531dad8f032f",
      "framework": "next-react",
      "imports": "./breadcrumbs,lucide-react,next/link",
      "lines": 70,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "components/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,ui",
      "component_id": "6966cb38d7590c82a3bb31cf",
      "component_kind": "layout",
      "confidence": 85,
      "dependency_roots": "@testing-library/react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "imports:./layout, @testing-library/react | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62a54d84e5f215f7",
      "framework": "next-react",
      "imports": "./layout,@testing-library/react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "layout.test",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "components/layout.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "31a0ffa7835ad7f921e8673f",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0025e5d2fac6e90b",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6fd8f6f4c9cf3d8fe8a1aa7f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "34f72fb86bdcaf4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c45f265dfbbaeaae13ff0f8d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9420a7db1422cb42",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "9434d3efcf7db9348f9b34c0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dc70aab17e27366f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "340c386239f3d597665ad844",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a56f7ee423175efe",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4dc720559eb5e3b12aff3a08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2335dbe16caec76d",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "538f04e85c4ce790e34c51a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "06ea605be4790232",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3685a5aae67a4195f5c34a20",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6aac04427f9a8fc8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d63b7c0a6ea8b4f9f1bc4e31",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f703a8bd9aaae4de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "dd5e0dad538ddaa56eea7e11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "05b15ca0a7056d33",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "c0835db213c7668e09b16600",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "db6b6ba4a5ad2ea716a52004",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cdd5b583386a0977",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e9a9e9a66fe7a1b5c1dc1c3b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6a27cd36414f15b8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "553a8a67d63a6c7e90edadcc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a85cd56037ca8164",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "dc513783d9c06f5d5bd9d9aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "49da65d0a866560a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "2fa48352f5bd7a58db39f736",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2d96b667ab087f3a",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5e8b93f4969550ff5486da18",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5223601ae74f222e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "35e9df29c2d76aed57ab073f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f5568d25ad1f0ab",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "13e06b2d908fdf0a1adc5194",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "471c829d3b7c5d7d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6477a8a9652711a450db1b26",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1f4f0cc673bc849d",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bc87cb01be8b17feb9695531",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b3eb9397117c7f5a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ea1d31cfc775b571a15b6038",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f69e3de2157be08",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "d924df350e9455a8d9e74b13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fcd3a33355bfc829",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3f830e70a5afb5772f8bfdf2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b393e50998d47eec",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3328d261f0b14531980a72db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2e7183de52b743ec",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "0417c3e97762b39217f65669",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8cf1e23d7174e418",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "288ab0987e763b707c25c97c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca2d0b084d31c921",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "35b28e511114ed2492e37532",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "91cb47d8f17e896e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "6c756c958bba2d4e9863ebb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "138154c266fea6da",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e2b53bf70a204cfcd37cb213",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca9dbc821d0fbe87",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b727ad28fc45d1333e6bbe96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e9243057dd6eb1b4",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "204c75cf2661a6a43bb8dac7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62cf1132f23012d0",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "cef2b41fd5226083d9985ca9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "930735ebc1b20a53",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "86dc4e5583ab4634b8fd53e1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d89b635b272d235",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3a7526d69d9ea20d8e6c9c42",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "efabd507dd683582",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "7228ff4b71c78d9efcc547fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cfc57c8b2126f2c4",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9c2f99294ad9bfb6a67c7416",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4143e2bb306d6b69",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f7b326704f6573075237c023",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "273e7255171b5d09",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "1423e267468c41c92346e9bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7f91e8bb660e0f0a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 771,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d4a96dcd4f6c50a44a4f3873",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ec8b899098b8a63",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "dff01dfc0e532d00f8144f17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f938a7e72e1c7f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b5e1621e3ff2ad20d842b962",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "cb181bf531e0e36c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2718c524b5929572038a07d0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b05d1094b5272b7c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "314b0cb85f8d4518a4dc5997",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "5c584e454cfc486706626bb3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "346a53c8be659116",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "35260ed0074a48e88f5135b8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "383ad2428f6414c8fde63e87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3956dd12d1af6d7",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e4cacecede0c8f6a962b7050",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2a0d87568ce3b34c",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "4def965890baf424f56bf106",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b89713808896bb9e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7679de7efbdf62840d7199ec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ea8fa90f317bb0d5",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "db4d474ef61c928b057fc2d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8ec327b65f6bb519",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "182c294a81634d556ef757cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "1521258f82225fa983d594c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "df23822ca0d998a1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "866c8dde0f8e6bbc96c79e9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "daffb841347a3871",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a8c97f6196c64d3d80b56c87",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d22d4df0f8049a48",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "73f4193e381178a5045ea5c0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e4622cef83851650",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "b993c1f81e1dfb7c50cacbff",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "086c836da34cf6f0",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "8f27d21b1f50c7a2160d6f07",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6cf3b47834e70e82",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "e94f74cfedb2ca1253689c74",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1809b0f96292443e",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "f8d928aaceacd6f45cb39397",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "node-fetch",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node-fetch | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5607e220af078b84",
      "framework": "next-react",
      "imports": "node-fetch",
      "lines": 50,
      "logic_relevance": "none",
      "name": "register-network",
      "normalized_name": "register-network",
      "package_manager": "pnpm",
      "path": "scripts/register-network.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "89a16ccc6ccff65bd6c74859",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "node-fetch",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node-fetch | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5bb4d423f83b1358",
      "framework": "next-react",
      "imports": "node-fetch",
      "lines": 47,
      "logic_relevance": "none",
      "name": "publish-jd",
      "normalized_name": "publish-jd",
      "package_manager": "pnpm",
      "path": "scripts/publish-jd.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "819e08c3d19cb1e05baadf80",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-fork-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "e7ae526413d27e6b30cae5c5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6859aca73bf4f3cb",
      "framework": "next-react",
      "imports": "",
      "lines": 5672,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "217cb3218b0550ee7b056818",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1b637da43644839a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,observability",
      "component_id": "7e569187b29c2342e3c0a2a6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "26d803c5c4c2b0e0",
      "framework": "next-react",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "IMAGE_OPTIMIZATION",
      "normalized_name": "image-optimization",
      "package_manager": "pnpm",
      "path": "IMAGE_OPTIMIZATION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "integration,automation",
      "component_id": "a33142f018e24e0171009a66",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for deployment; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "87a2c8122336d6b8",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "356d0e92bed7fc75bfc5fd60",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "31c3d64c9be369b5",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 25,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,observability,security,automation",
      "component_id": "b1e0af2f56faed7a646be9eb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2a9d3c210b11a331",
      "framework": "svelte",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "f6796cfa6b46ed134e61f1c9",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "11f35d39bcafc4a9",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "a3bdf4a820a00bd7b1458cd1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0b7f1f9e61ea030e",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "92817d016727bf716373e981",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e17371637d5d0a5e",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1986ae89d73643f5057bcd26",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:GIVEBUTTER_API_KEY | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GIVEBUTTER_API_KEY",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "424699a764eaf217",
      "framework": "next-react",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "FIXES_APPLIED",
      "normalized_name": "fixes-applied",
      "package_manager": "pnpm",
      "path": "FIXES_APPLIED.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "437efb70f0899b2cb47b63e2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:next, next/headers | frontend-score:55 | discovery-score:55",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "89b802756ee9e445",
      "framework": "next-react",
      "imports": "next,next/headers",
      "lines": 69,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "eecca5d646135de098d541a9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a07bfcd1c27e68e9",
      "framework": "next-react",
      "imports": "",
      "lines": 632,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "e53f0b86a1df6ead943938ce",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ClientLayout | imports:./contexts/EasterEggContext, ./contexts/ThemeContext, @/components/FloatingDonateButton, @/components/Footer, @/components/Header, @/components/RotaryDialer, @/components/ThemeToggle, next/dynamic | frontend-score:115 | ui-score:70",
      "exports": "ClientLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eedce6df2f863e01",
      "framework": "next-react",
      "imports": "./contexts/EasterEggContext,./contexts/ThemeContext,@/components/FloatingDonateButton,@/components/Footer,@/components/Header,@/components/RotaryDialer,@/components/ThemeToggle,next/dynamic,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ClientLayout",
      "normalized_name": "client-layout",
      "package_manager": "pnpm",
      "path": "app/ClientLayout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "12901185f165770180c58da3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:EasterEggProvider, useEasterEgg | imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "EasterEggProvider,useEasterEgg",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ae7a66436a41aff7",
      "framework": "next-react",
      "imports": "react",
      "lines": 118,
      "logic_relevance": "none",
      "name": "EasterEggContext",
      "normalized_name": "easter-egg-context",
      "package_manager": "pnpm",
      "path": "app/contexts/EasterEggContext.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "cf76fc1561bb49ff10dbb062",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider, useTheme | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider,useTheme",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9798c74522d1ca87",
      "framework": "next-react",
      "imports": "react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "ThemeContext",
      "normalized_name": "theme-context",
      "package_manager": "pnpm",
      "path": "app/contexts/ThemeContext.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "6bd96316266bbe672cebc88d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, JA4_ATLAS_ENDPOINT, JA4_INGEST_TOKEN, POST, SENSOR_NAME | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,JA4_ATLAS_ENDPOINT,JA4_INGEST_TOKEN,POST,SENSOR_NAME",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f0a3a16e339cd305",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 100,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/sensor-data/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "0f820e342a24efea3882ca2d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3ba44466370bd63f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 11,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8cb4226dfbaf0648c8369c1d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ef7d3bfa6d3d365c",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 29,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/network/graph/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability",
      "component_id": "cde1256448d99ebba6c307b2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "997cc236696124e7",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process",
      "component_id": "bfe65e9236887d0cd7132c78",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8150a252885ea879",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,frontend",
      "component_id": "1b1708d5020da9497cc928ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5ea7cf6456833fda",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/parrot/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "9997c621296884bf8931a545",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7053acca5bf9f7a1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 40,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/history/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "backend,frontend,automation",
      "component_id": "6932da0124530588bf14e01d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a3bf3472fbe5f03a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/analytics/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,security",
      "component_id": "2fda784435365007adc8c417",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e09e12a6a5fbdf4b",
      "framework": "next-react",
      "imports": "",
      "lines": 770,
      "logic_relevance": "none",
      "name": "page.module",
      "normalized_name": "page-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/page.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "bfe01fd2b4543d92f1a9f506",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,@vercel/speed-insights,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:../ClientLayout, @vercel/analytics/react, @vercel/speed-insights/next, next, next/font/google, next/script | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a84e84cd82e63222",
      "framework": "next-react",
      "imports": "../ClientLayout,@vercel/analytics/react,@vercel/speed-insights/next,next,next/font/google,next/script",
      "lines": 198,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[lang]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4078910dbc54640775924a63",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:./page.module.css, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d943ca742a05170d",
      "framework": "next-react",
      "imports": "./page.module.css,next/image,next/link",
      "lines": 258,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "fb252e3131b8105da8a5e20e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7c9c1337a2024208",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "contact.module",
      "normalized_name": "contact-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/contact/contact.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6e8242950ef2763d92b32c76",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage, metadata | imports:./contact.module.css, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ContactPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c34982e30bfd3b67",
      "framework": "next-react",
      "imports": "./contact.module.css,next",
      "lines": 68,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "3074cd148ba2d6f208d92353",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryLayout, metadata | imports:next | frontend-score:115 | ui-score:55",
      "exports": "GalleryLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a50e59eb6272492a",
      "framework": "next-react",
      "imports": "next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[lang]/gallery/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,security",
      "component_id": "3adf9d22e9b8cc8d9782f1ff",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1aec9e1b2b719751",
      "framework": "next-react",
      "imports": "",
      "lines": 719,
      "logic_relevance": "none",
      "name": "gallery.module",
      "normalized_name": "gallery-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/gallery/gallery.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "127a0434010043ee9bb7500e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GalleryPage | imports:./gallery.module.css, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GalleryPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "243e3c537a4b0a16",
      "framework": "next-react",
      "imports": "./gallery.module.css,next/image,react",
      "lines": 243,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/gallery/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4f21a94ce12613bf317c6956",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e6ea6447d3c95dfb",
      "framework": "next-react",
      "imports": "",
      "lines": 232,
      "logic_relevance": "none",
      "name": "press.module",
      "normalized_name": "press-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/press/press.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "6a371a7547714991cd7fe9eb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PressPage, metadata | imports:./press.module.css, next, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "PressPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5c3f1d5e1ae14cef",
      "framework": "next-react",
      "imports": "./press.module.css,next,next/image",
      "lines": 89,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/press/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "7ca05be8e46621b02958658b",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3d96cf6cdfa33a5d",
      "framework": "next-react",
      "imports": "",
      "lines": 457,
      "logic_relevance": "none",
      "name": "about.module",
      "normalized_name": "about-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/about/about.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "07823089a43b42542a1facd5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:./about.module.css, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d6f4aa4217fd147f",
      "framework": "next-react",
      "imports": "./about.module.css,next,next/image,next/link",
      "lines": 191,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,process",
      "component_id": "b06ddc17208665f7f7a1f497",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b50c01436bad52ec",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "docs.module",
      "normalized_name": "docs-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/docs/docs.module.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "0d38f1b666a3a2d6bec2bd25",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:./docs.module.css, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e727bba28d715eec",
      "framework": "next-react",
      "imports": "./docs.module.css,next,next/link",
      "lines": 84,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "c56a1ffdbece93956a93d7f4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c85afab5b0f356cf",
      "framework": "next-react",
      "imports": "",
      "lines": 163,
      "logic_relevance": "none",
      "name": "how-it-works.module",
      "normalized_name": "how-it-works-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/how-it-works/how-it-works.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f6f05d6756964db34c8823f6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HowItWorksPage, metadata | imports:./how-it-works.module.css, next | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "HowItWorksPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e7d1d67fc8f15796",
      "framework": "next-react",
      "imports": "./how-it-works.module.css,next",
      "lines": 106,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/how-it-works/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "59a14a26c2ad9b4b1e857e7e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupportLayout, metadata | imports:next | frontend-score:115 | ui-score:55 | automation-score:45",
      "exports": "SupportLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0704644c9c8fd536",
      "framework": "next-react",
      "imports": "next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[lang]/support/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability",
      "component_id": "91727825dbfcaa5922cd90a4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupportPage | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SupportPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a0a665a11d828015",
      "framework": "next-react",
      "imports": "react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/support/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "585a9d15b2403b0dc9dd337e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fabc58687afdd9c8",
      "framework": "next-react",
      "imports": "",
      "lines": 261,
      "logic_relevance": "none",
      "name": "history.module",
      "normalized_name": "history-module",
      "package_manager": "pnpm",
      "path": "app/[lang]/history/history.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "ab5d26ee111e58ff348bf937",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistoryPage, metadata | imports:./history.module.css, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HistoryPage,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "430f249b04c9c5aa",
      "framework": "next-react",
      "imports": "./history.module.css,next,next/link",
      "lines": 177,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[lang]/history/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6bd0a2211e3e5d808461e3a1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f41d22a34f1118a3",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 77,
      "logic_relevance": "none",
      "name": "test",
      "normalized_name": "test",
      "package_manager": "pnpm",
      "path": "tests/test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "fa63262c90b557d8a0648f88",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:svelte/motion | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1128d82de4bc3370",
      "framework": "svelte",
      "imports": "svelte/motion",
      "lines": 106,
      "logic_relevance": "none",
      "name": "Counter",
      "normalized_name": "counter",
      "package_manager": "pnpm",
      "path": "tests/Counter.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "5d1edc29514b0aa95af30b95",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "chart.js,svelte",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:chart.js/auto, svelte | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b18529643c4e82e5",
      "framework": "svelte",
      "imports": "chart.js/auto,svelte",
      "lines": 199,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "tests/history/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability",
      "component_id": "16df99c47211a49628ae84d6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@playwright/test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@playwright/test | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "a58cc5f49a1b2e69",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 21,
      "logic_relevance": "none",
      "name": "mcp.test",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": "tests/api/mcp.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "3c6c1ccf8c93777d953b9dd6",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@playwright/test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@playwright/test | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c74258d588974641",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 27,
      "logic_relevance": "none",
      "name": "history.test",
      "normalized_name": "history",
      "package_manager": "pnpm",
      "path": "tests/api/history.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "f96d939c91916c3420163f7e",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@playwright/test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@playwright/test | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cc27eb30b49e740b",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 21,
      "logic_relevance": "none",
      "name": "docs.test",
      "normalized_name": "docs",
      "package_manager": "pnpm",
      "path": "tests/api/docs.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "5b6166ca41c3654a1655e242",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "@playwright/test",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@playwright/test | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "197e485e84055973",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 20,
      "logic_relevance": "none",
      "name": "graph.test",
      "normalized_name": "graph",
      "package_manager": "pnpm",
      "path": "tests/api/graph.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "9fb71cac208d206efe6036b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:FloatingDonateButton | imports:./FloatingDonateButton.module.css | frontend-score:85 | ui-score:55",
      "exports": "FloatingDonateButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aaf18b9770fa4678",
      "framework": "next-react",
      "imports": "./FloatingDonateButton.module.css",
      "lines": 19,
      "logic_relevance": "none",
      "name": "FloatingDonateButton",
      "normalized_name": "floating-donate-button",
      "package_manager": "pnpm",
      "path": "components/FloatingDonateButton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "bd84a83da382d218642a69db",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RotaryDialer | imports:./RotaryDialer.module.css, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RotaryDialer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "89599470d8afb175",
      "framework": "next-react",
      "imports": "./RotaryDialer.module.css,react",
      "lines": 415,
      "logic_relevance": "none",
      "name": "RotaryDialer",
      "normalized_name": "rotary-dialer",
      "package_manager": "pnpm",
      "path": "components/RotaryDialer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "7a441cfea385fbfea4a35063",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a45e75b05f46d4a0",
      "framework": "next-react",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "Footer.module",
      "normalized_name": "footer-module",
      "package_manager": "pnpm",
      "path": "components/Footer.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "8d5fd4394352fd3180836cf6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:./Footer.module.css, next/link | frontend-score:115 | ui-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef308645c6d64a16",
      "framework": "next-react",
      "imports": "./Footer.module.css,next/link",
      "lines": 51,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/Footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,observability,security,ai",
      "component_id": "692ebe87d37f2798b74fa640",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea6c9ca6a758eaef",
      "framework": "next-react",
      "imports": "",
      "lines": 383,
      "logic_relevance": "none",
      "name": "RotaryDialer.module",
      "normalized_name": "rotary-dialer-module",
      "package_manager": "pnpm",
      "path": "components/RotaryDialer.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b2dd1495d40fd0f6cdde67f2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:./ThemeToggle.module.css, @/app/contexts/EasterEggContext, @/app/contexts/ThemeContext | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9371068392468790",
      "framework": "next-react",
      "imports": "./ThemeToggle.module.css,@/app/contexts/EasterEggContext,@/app/contexts/ThemeContext",
      "lines": 34,
      "logic_relevance": "none",
      "name": "ThemeToggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/ThemeToggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "db6a2514acf4d980ea65caa5",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a6a6c49343ea4563",
      "framework": "next-react",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "Header.module 2",
      "normalized_name": "header-module-2",
      "package_manager": "pnpm",
      "path": "components/Header.module 2.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "6bcafa4c69fcd92273c60647",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "587c5394821bd92b",
      "framework": "next-react",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "ThemeToggle.module",
      "normalized_name": "theme-toggle-module",
      "package_manager": "pnpm",
      "path": "components/ThemeToggle.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "617ae27b0bfa543268364bc3",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8858fcf1a4033630",
      "framework": "next-react",
      "imports": "",
      "lines": 197,
      "logic_relevance": "none",
      "name": "Header.module",
      "normalized_name": "header-module",
      "package_manager": "pnpm",
      "path": "components/Header.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "54ec907e5226fa757db81a69",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0b3e802042febc82",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "FloatingDonateButton.module",
      "normalized_name": "floating-donate-button-module",
      "package_manager": "pnpm",
      "path": "components/FloatingDonateButton.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "53b5db7649bada18112e639f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:./Header.module.css, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ddc0dc71af7c2514",
      "framework": "next-react",
      "imports": "./Header.module.css,next/link,react",
      "lines": 41,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/Header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "33e0235afd9cc143c1123458",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9537ecbf62ab7259",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "907e5020d95c9a5bf01f321f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9e2e175643d247ce",
      "framework": "next-react",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "da6e0a326a2f87fe9e9205a1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "13b250886478044d",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d528ff99673415dc9f622264",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CACHE_NAME, STATIC_CACHE_URLS | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CACHE_NAME,STATIC_CACHE_URLS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "838041313ee72c96",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "service-worker",
      "normalized_name": "service-worker",
      "package_manager": "pnpm",
      "path": "public/service-worker.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "e70a60358ceb32599b431b8b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "beddf4b447c98c6b",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,discovery",
      "component_id": "47e3e7795199901e75a2829f",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f86900925c262f8d",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "b7546c1e992a2ac6c2cd6280",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c9e9823b03440a8",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "pnpm",
      "path": "public/images/tree.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "bda126faa0ad40bf26d5360d",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8bba7528ffaa3781",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "primary",
      "name": "observability.schema",
      "normalized_name": "observability-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm/observability.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "a9c3637bb47aea1f048a4601",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "11508fc0e9b2d28a",
      "framework": "next-react",
      "imports": "",
      "lines": 197,
      "logic_relevance": "primary",
      "name": "realm.schema",
      "normalized_name": "realm-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm/realm.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "32a557f42a83828817114ad3",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9e52746de841cf4b",
      "framework": "next-react",
      "imports": "",
      "lines": 102,
      "logic_relevance": "primary",
      "name": "item.schema",
      "normalized_name": "item-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm/item.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,observability,security,automation,ai",
      "component_id": "9d24fcbb7f314b12022dac2b",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8eada94adc8c3320",
      "framework": "next-react",
      "imports": "",
      "lines": 559,
      "logic_relevance": "primary",
      "name": "core.schema",
      "normalized_name": "core-schema",
      "package_manager": "pnpm",
      "path": "public/schemas/platphorm/core.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "495125bc80e3c1f6328e237a",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0e2d541a8915a325",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "77d74dd8eec064c2a41c96f5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "13b250886478044d",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "static/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "d0be2554a2f03e865a95bffe",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CACHE_NAME, STATIC_CACHE_URLS | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "CACHE_NAME,STATIC_CACHE_URLS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "838041313ee72c96",
      "framework": "next-react",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "service-worker",
      "normalized_name": "service-worker",
      "package_manager": "pnpm",
      "path": "static/service-worker.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "61a157058c17f99d4adf72b0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c9e9823b03440a8",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "tree",
      "normalized_name": "tree",
      "package_manager": "pnpm",
      "path": "static/images/tree.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "d18f734e244e50b373c9a0f0",
      "component_kind": "mcp",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:MCP_REGISTRY_URL | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "MCP_REGISTRY_URL",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1d5987f3d0dca8a8",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "register-mcp",
      "normalized_name": "register-mcp",
      "package_manager": "pnpm",
      "path": "scripts/register-mcp.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "2a732f960df696325a40fad1",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5a1c81cf72e9295a",
      "framework": "next-react",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "dictionaries/en.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "a2bc03f16c0c45f112380e12",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1abebc6c7f07f696",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": ".vscode/settings.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__starphone-web-svelte",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "206947ea7ee090135ccf95ea",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c5b3648e97ac1171",
      "framework": "next-react",
      "imports": "",
      "lines": 7640,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "a9ca7a630870e9e0b9efe9e1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8457629dbeb53bf",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "e7e505b18cfcc69f8531c640",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "64bbd93167a06ee2",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "573c836bbf583f5f8b7cbdd7",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "efb678495c49f617",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "54122123b803a51f2ff09d9b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bcd53646f28e4e21",
      "framework": "next-react",
      "imports": "",
      "lines": 8963,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "345e398c1e8b35bbf59d287b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6b8bfd801d5524ae",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "2b0d0c84486fe59bc584de88",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e0044acd86359a11",
      "framework": "next-react",
      "imports": "next",
      "lines": 13,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "85ab9dea1c88513dd9d0e2aa",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:./page, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4832a5c573a9b3fb",
      "framework": "next-react",
      "imports": "./page,@testing-library/react,vitest",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "cf68363c54a9c2b4b3a610a2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2c6b18af97f9e5a9",
      "framework": "next-react",
      "imports": "next",
      "lines": 44,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "6a02fd26da45f6d7f354373e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "747d029553904614",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 319,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "6ff19a16642becc0ba34839e",
      "component_kind": "discovery-artifact",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "27485bb850158850",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "abfd203a43fccb0117d7a5f8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/breadcrumbs, @/components/faq, @/components/features, @/components/footer, @/components/gallery, @/components/header, @/components/hero, @/components/product-showcase | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92913f21ebb829b8",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/faq,@/components/features,@/components/footer,@/components/gallery,@/components/header,@/components/hero,@/components/product-showcase,@/components/social-proof,@/components/sticky-buy-button",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c9a964d92909512b2d32a64e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ce7939bd2035afcf",
      "framework": "next-react",
      "imports": "",
      "lines": 127,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "d6e93de391dd2f99a9ac112b",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c88bd7cc613b0c64",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "9a0a277f704740956869ace1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "40764be2223f1006",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "36ccbb210d3e94e4f2fa4723",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "95d1d2110940f738",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rss/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,integration,observability",
      "component_id": "b088e2fb8f615f23cc7d9599",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "da05981168dea7f3",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability",
      "component_id": "100c23442bf4bbca83acd57b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "94ab0ae56203e7b1",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery,process",
      "component_id": "315e6488f03dd81e95b72acd",
      "component_kind": "api-route",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d9d3ceeab1255625",
      "framework": "next-react",
      "imports": "./route,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.test.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery,process,ai",
      "component_id": "d5aa532b7016332a5d66d088",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "14f593fb2a65b25d",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c16409a5e2d0a4cd75cf9cdf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "22b92235867fa583df6bb8a0",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7ed74338546c062080498bc2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Gallery | imports:lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Gallery",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f6b191bcd8b7cdbf",
      "framework": "next-react",
      "imports": "lucide-react,next/image",
      "lines": 79,
      "logic_relevance": "none",
      "name": "gallery",
      "normalized_name": "gallery",
      "package_manager": "pnpm",
      "path": "components/gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5c7a425ea7c1e5771a25e23d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b623a67e8519f945",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image",
      "lines": 137,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "pnpm",
      "path": "components/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "a1f5b41295bca2f528145122",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:StickyBuyButton | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "StickyBuyButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "783e93a5ff66244c",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "sticky-buy-button",
      "normalized_name": "sticky-buy-button",
      "package_manager": "pnpm",
      "path": "components/sticky-buy-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "d6d4d14869cff80f30ea6299",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Features | imports:lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "Features",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd2a71153de5f440",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "pnpm",
      "path": "components/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a96a9d922e204c3071c8f0c5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductShowcase | imports:@/components/ui/button, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0751ee623eb774e5",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image",
      "lines": 103,
      "logic_relevance": "none",
      "name": "product-showcase",
      "normalized_name": "product-showcase",
      "package_manager": "pnpm",
      "path": "components/product-showcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ab8564c16a926f374d957ce1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d36e398cfc0fa34a",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 35,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "6bd8724938d9819926bc4722",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialProof | imports:lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SocialProof",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbd421c4dc1d88aa",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "social-proof",
      "normalized_name": "social-proof",
      "package_manager": "pnpm",
      "path": "components/social-proof.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "95da0bdcf21e29f0b3b70508",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/ui/button, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f15b1a796aee3db",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "fd7f514ad13de924c4de36c1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:./sticky-buy-button, @testing-library/react, vitest | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "288dbc8bc41a8746",
      "framework": "next-react",
      "imports": "./sticky-buy-button,@testing-library/react,vitest",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sticky-buy-button.test",
      "normalized_name": "sticky-buy-button",
      "package_manager": "pnpm",
      "path": "components/sticky-buy-button.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "4a8d49c37b9e378a793e9195",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4b4107ab5d71f99",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 49,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "d92ca6c6b95b9baf881bb6a3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQ | imports:@/components/ui/accordion | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "FAQ",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70025484650af701",
      "framework": "next-react",
      "imports": "@/components/ui/accordion",
      "lines": 55,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "pnpm",
      "path": "components/faq.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "f9acc88c58d5fa6126ca90d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b33dd682442ae9580d306c43",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "300b3d4b5656f1201539cc55",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a3cceeacad9a20081f5362f0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0e2f4721d34c29263007fc36",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a9532852d2e1af5eb3dd423d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "36d4b73d392e72620cf98c11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "6aa5a289c9f8fb1389d4fd3f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "138691fb34cfa9dd4c0236a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "274110c15331c4c21b449cb1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "7db7968f3fdab717e200291b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "53b57cf6cc9a299f071fe158",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "21b1de91757ad99b7a8aa5e3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8960ed0ed353d808fabd8134",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "32bf83a1fb23bb38f77da785",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d2f934ecd8ebc0a684613b9c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b2e7aaa795a39cfbc1ac488e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e60c153851b8ad2cc4dc3368",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "563b5a99984e85c1eea50750",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "153e74ace1bfb619702ce35e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e99659eda02e42559c457f92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "674ee0f93754bf448ad7de5c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "baa1fc6257a4e14359bcd7d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c37d57cba7b38eaeed880b98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6abe87ae3184731bbb5a03c9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "6abaf96535742cfa4643509b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "22c756bc1cf99d22b9081dcd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "a9d3c08f1674430f98d545cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "21a813d670b425f1d222a94c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "25693c00889748aaa6882551",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "84210f655d6aa6b0109396d2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "390ea9dad3f7e214408155df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c336a62952512f0dafff0740",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "664cff9d39d2e35eea659422",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "156c9312c8a4ed6e5ab26614",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "88a16f884c3f28346a5adeec",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "801a46047a48afae295f2da4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "699e5aab137f39396594923d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ebdd3fa8855cceb9468cb105",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "63543a93abb2cbbdcda1f6e9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "244ee04090ae8478a60581a0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "27f96ec4bd0d9b961853becd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "46d4f5621c16feef3def0312",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "790dafca1bbe04b1c6f19c44",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "82f0a2fadd18c1784ab626c5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3ba3efb12d16af705f00e3d3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "8b960493d3e5904bccebfb00",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "533cc85e051422c17e1aa465",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "b9cb9da7d91c895d253aca6c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "190b39c5fe7feaeb87e7413e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c1d6d75067825bde10f7e0c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d496221a659d3eb59a80a87e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f75637ae0fcb364013af9dfa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "6975ea8589dc0abafc5ce6f9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "acd4d5b5cc5aac00c31c637a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "47f689148a73aedf86758e25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "27397cab2163493147c32389",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,discovery",
      "component_id": "924d683fa9034e9c59e90e81",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aeeca5b62bcb2412",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/.well-known/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "986149d51cac26892e107e1c",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f0294fe66272f14",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/.well-known/llms-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "582254e83406fde60a6dd950",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "92c8ea7491b8afdf",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,security",
      "component_id": "4340c778b88a80b674ad4865",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a2978377c81bf1bc",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "a7a3a4b8d953f479cb404be2",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "93af1e5c1fb5fd82",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "87026ea9d29fabe593c23e79",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:NODE_DATA, REGISTER_URLS | observability-score:55 | automation-score:50",
      "exports": "NODE_DATA,REGISTER_URLS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b6b8854186b76eb",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "register",
      "normalized_name": "register",
      "package_manager": "pnpm",
      "path": "scripts/register.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "09ed43f6492556a7f65da5cd",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__stripper-mug-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2a18d1991141af7ed7bc3c1f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "590524419028ff14",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "CODE_OF_CONDUCT",
      "normalized_name": "code-of-conduct",
      "package_manager": "pnpm",
      "path": "CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7ef957c9846e1403d1df7003",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c07a2223a6b9d2b3",
      "framework": "next-react",
      "imports": "",
      "lines": 4415,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f4cf1d726af891f05f43e729",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "12e7951017813470",
      "framework": "next-react",
      "imports": "next",
      "lines": 46,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "e8b111340a2ea1d4809af106",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5f8132b93ef52630",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "README_FOXIO",
      "normalized_name": "readme-foxio",
      "package_manager": "pnpm",
      "path": "README_FOXIO.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "62d09d0b0bbdcf087895a729",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "85397a67caeb04d0",
      "framework": "next-react",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "e95493d3319aa04c26a7bc6a",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcd8b72a6cdd6f92",
      "framework": "next-react",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7a8f18efde81114067d0b07c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "96226f7d2127f3b1",
      "framework": "next-react",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "31b55582d1b5083a1d37fda3",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:SiteHeader | process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SiteHeader",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e5e7ec6eff6023b0",
      "framework": "next-react",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "pnpm",
      "path": "CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5ea640301c9953fcdb6d1f7e",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@/app,@/components,@/lib,@axe-core/playwright,@next/mdx,@playwright/test,@sentry/nextjs,@testing-library/react,@vercel/analytics,@vercel/speed-insights,fs,glob,lucide-react,mdx,next,path,react",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Breadcrumbs, NavItem, RootLayout, Sidebar, TableOfContents, VideoEmbed, VideoGallery, navigationConfig | imports:./video-embed, @/app/tutorials/page, @/components/navigation/sidebar, @/components/tutorial/code-block, @/components/tutorial/video-embed, @/components/tutorial/video-gallery, @/components/ui/alert, @/components/ui/badge | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "Breadcrumbs,NavItem,RootLayout,Sidebar,TableOfContents,VideoEmbed,VideoGallery,navigationConfig,trackLabComplete,trackTutorialView,trackVideoPlay,useMDXComponents",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "084290c34bcbef7d",
      "framework": "next-react",
      "imports": "./video-embed,@/app/tutorials/page,@/components/navigation/sidebar,@/components/tutorial/code-block,@/components/tutorial/video-embed,@/components/tutorial/video-gallery,@/components/ui/alert,@/components/ui/badge,@/components/ui/card,@/lib/navigation,@/lib/utils,@axe-core/playwright,@next/mdx,@playwright/test,@sentry/nextjs,@testing-library/react,@vercel/analytics,@vercel/analytics/react,@vercel/speed-insights/next,fs,glob,lucide-react,mdx/types,next,next/link,next/navigation,path,react",
      "lines": 1522,
      "logic_relevance": "none",
      "name": "MODERNIZATION_PLAN",
      "normalized_name": "modernization-plan",
      "package_manager": "pnpm",
      "path": "MODERNIZATION_PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "61f47022f2d9450eddbb2b72",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fe1da9c0f4b2f554",
      "framework": "next-react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "0e665f1809d57d6853b44e9c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4cf8b2d54387ac99",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,discovery",
      "component_id": "61b587703bbf974ad7f633d2",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5365c876392cf3a2",
      "framework": "next-react",
      "imports": "next",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "58cf1567047edc443c3e758f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/json-ld, @/components/theme-provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18d1644d3b0845f2",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/theme-provider,@vercel/analytics/next,next,next/font/google",
      "lines": 100,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,security,discovery",
      "component_id": "ce47f5d9efa0a51ece8c9d71",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | security-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "93a6190b52580685",
      "framework": "next-react",
      "imports": "next",
      "lines": 31,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "af1199d046a63a05ec8cb780",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/json-ld, @/components/site-footer, @/components/site-header, @/components/social-share, @/components/theme-toggle, @/components/ui/badge, @/components/ui/button, @/components/ui/card | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cef4872e40ae0b8f",
      "framework": "next-react",
      "imports": "@/components/json-ld,@/components/site-footer,@/components/site-header,@/components/social-share,@/components/theme-toggle,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 628,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "1e94c93c955207472578769f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "da136c7e93b8dfc9",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "af81959ab66c4b7cbe2905f1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/breadcrumbs, @/components/site-footer, @/components/site-header, lucide-react, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8275b7797c84142",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/site-footer,@/components/site-header,lucide-react,next",
      "lines": 195,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "aeab206cb800a8b164d34dc6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage, metadata | imports:@/components/breadcrumbs, @/components/site-footer, @/components/site-header, @/components/ui/accordion, next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "FAQPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b03d024dda84f77",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/site-footer,@/components/site-header,@/components/ui/accordion,next",
      "lines": 179,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,ai",
      "component_id": "417cca2da486811d7160bd0d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/breadcrumbs, @/components/json-ld, @/components/site-footer, @/components/site-header, @/components/social-share, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d03c99ff84c7d6ed",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/json-ld,@/components/site-footer,@/components/site-header,@/components/social-share,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 155,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "19a30dad88bfa4eb7a4b95bf",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationsPage, metadata | imports:@/components/breadcrumbs, @/components/site-footer, @/components/site-header, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "IntegrationsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1c88154646ae277",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/site-footer,@/components/site-header,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 111,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/integrations/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,process",
      "component_id": "e6f2a8b3addb3cedf74a744d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GuidesLayout | imports:@/components/site-footer, @/components/site-header | frontend-score:85 | ui-score:55 | process-score:45",
      "exports": "GuidesLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae2728fb8aeccead",
      "framework": "next-react",
      "imports": "@/components/site-footer,@/components/site-header",
      "lines": 12,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/guides/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process",
      "component_id": "b10d1232b953cb55ff290c09",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InboundDetectionPage, metadata | imports:@/components/inbound-detection-content, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45",
      "exports": "InboundDetectionPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "deed54a60d4dbf49",
      "framework": "next-react",
      "imports": "@/components/inbound-detection-content,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 149,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/guides/inbound-detection/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "660bf54969c55fe240cde71d",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1cd30ebfbb529c0e",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "a79e9844196f9e4011bfcb0c",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "dd4226aebb6332e8",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/content/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security",
      "component_id": "845752999ff5acdb6ce6ceaa",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS, POST | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,OPTIONS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c013865f5f6cd297",
      "framework": "next-react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,process,observability,security,discovery",
      "component_id": "2955a7d07f23a621b7c0901d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "fs,path",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DOC_FILES, GET, OPTIONS | imports:fs, path | backend-score:125 | process-score:80 | observability-score:55 | security-score:55 | discovery-score:55 | next-route-handler",
      "exports": "DOC_FILES,GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7b1014d59dff43fc",
      "framework": "next-react",
      "imports": "fs,path",
      "lines": 60,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,ai",
      "component_id": "beeb48bc9772154d5b4e98f7",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, OPTIONS | backend-score:125 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,OPTIONS",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8854d15c7b1e4a22",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/fingerprints/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5ee8b151f6fb40c7c263b833",
      "component_kind": "layout",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:TutorialsLayout | imports:@/components/tutorials-shell | frontend-score:85 | ui-score:55",
      "exports": "TutorialsLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c8fa4ed7d68ff1c8",
      "framework": "next-react",
      "imports": "@/components/tutorials-shell",
      "lines": 9,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/tutorials/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a51048f7390262f713fcb140",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TutorialsPage, metadata | imports:@/components/breadcrumbs, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TutorialsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bdf5dedd5b15765",
      "framework": "next-react",
      "imports": "@/components/breadcrumbs,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 149,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "2077c261d15d0572bc09b2b4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuickLabsPage, metadata | imports:@/components/ui/badge, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "QuickLabsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f78e3b076efceb7c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,next/link",
      "lines": 134,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,automation",
      "component_id": "049944fafa9b6be7fa56b969",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4LPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "JA4LPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "120e048ae57533c8",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 73,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4l/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "57b8ec2739ed25ab29c58b57",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4XPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "JA4XPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33c46ce6b5bc6df3",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 60,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4x/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "dee5f8384dde90d6df909057",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4TSPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "JA4TSPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4fd3e840fffca5ad",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 85,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4ts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "e2503ae6287bcf3803e7587d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4SSHPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "JA4SSHPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "684fae9da0159e55",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 140,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4ssh/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dc5c26e4c39d760daec8cd14",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4TScanPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "JA4TScanPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b407bba1d11f4f9",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 104,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4tscan/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e0dc582bfddc8cc039e59f69",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4SPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "JA4SPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db4e68ba1aca8f78",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 153,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4s/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "61b95bfcaf03b3799bbd87b8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4TPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "JA4TPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "316f2af2d7cd526a",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 119,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4t/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "f926f87c219b3de4e2c37720",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4HPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "JA4HPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8fa2d7ededd34a7a",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 166,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4h/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security",
      "component_id": "179d0895e73f4899ef16b304",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:WiresharkPluginPage, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "WiresharkPluginPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dda7c927c9b7b94a",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/wireshark-plugin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "783c88aad441eec6befd5dd4",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4Page, metadata | imports:@/components/tutorial-content | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "JA4Page,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0cdd1a5b8f8b018",
      "framework": "next-react",
      "imports": "@/components/tutorial-content",
      "lines": 230,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/quick-labs/ja4/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7088b200ff3092b0070d3430",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvancedLabsPage, metadata | imports:@/components/ui/badge, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AdvancedLabsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c938dcca1a3ab9a1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,next/link",
      "lines": 103,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/tutorials/advanced-labs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "474a8a535e16f95ca68e613e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "8d7a630d0de4a1fc",
      "framework": "next-react",
      "imports": "",
      "lines": 2004,
      "logic_relevance": "none",
      "name": "JA4-complete-and-JA4S-DRAFT",
      "normalized_name": "ja4-complete-and-ja4-s-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-complete-and-JA4S-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "652cdf7372daddc73d1aec77",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "107d105ef1b59c91",
      "framework": "next-react",
      "imports": "",
      "lines": 439,
      "logic_relevance": "none",
      "name": "JA4H-DRAFT",
      "normalized_name": "ja4-h-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4H-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d99c0bef33617d377bc3ea1d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "caabd5c6800ce6d5",
      "framework": "next-react",
      "imports": "",
      "lines": 1594,
      "logic_relevance": "none",
      "name": "ja4ssh-x",
      "normalized_name": "ja4ssh-x",
      "package_manager": "pnpm",
      "path": "Drafts/ja4ssh-x.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,observability,security",
      "component_id": "fcec619fcc2538e446dc893e",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:TestJA4Fingerprint | process-score:100 | observability-score:55 | security-score:55",
      "exports": "TestJA4Fingerprint",
      "extension": ".mdx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "510d6b9f277a8ff6",
      "framework": "next-react",
      "imports": "",
      "lines": 973,
      "logic_relevance": "none",
      "name": "JA4+-Advanced-Draft",
      "normalized_name": "ja4-advanced-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4+-Advanced-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "4046bb8f12798a67524913e2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "c3871724aef46a39",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "LABS-Draft",
      "normalized_name": "labs-draft",
      "package_manager": "pnpm",
      "path": "Drafts/LABS-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ec894050e9845e39855de4f2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e43e48f6d5e4784b",
      "framework": "next-react",
      "imports": "",
      "lines": 478,
      "logic_relevance": "none",
      "name": "JA4S-DRAFT",
      "normalized_name": "ja4-s-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4S-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "51c9f1d8105701c3adc51a90",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "931b4f4c90c85eb8",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "JA4TCPServer-FPRINTING-DRAFT",
      "normalized_name": "ja4-tcpserver-fprinting-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4TCPServer-FPRINTING-DRAFT.MDX",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "986ccb14c2119de4d6317e85",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "77a2cc9e13593ac6",
      "framework": "next-react",
      "imports": "",
      "lines": 599,
      "logic_relevance": "none",
      "name": "Calculations-Final-Draft",
      "normalized_name": "calculations-final-draft",
      "package_manager": "pnpm",
      "path": "Drafts/Calculations-Final-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "b721ea45a3d5686ae79e450a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6f27049910dfcc81",
      "framework": "next-react",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "JA4-Overview",
      "normalized_name": "ja4-overview",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Overview.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "9a99e166b2f49884f12869b8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0b625a303eee72b3",
      "framework": "next-react",
      "imports": "",
      "lines": 405,
      "logic_relevance": "none",
      "name": "JA4-Calculations-DRAFT",
      "normalized_name": "ja4-calculations-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Calculations-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "24abfbaa5fff81c9d3846cb7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d14cf8aeb874304c",
      "framework": "next-react",
      "imports": "",
      "lines": 1102,
      "logic_relevance": "none",
      "name": "JA4+ Suite Deep Dive",
      "normalized_name": "ja4-suite-deep-dive",
      "package_manager": "pnpm",
      "path": "Drafts/JA4+ Suite Deep Dive.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "bb581055ef1dc4c192d7dc44",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "eccb84c1f8b460ff",
      "framework": "next-react",
      "imports": "",
      "lines": 572,
      "logic_relevance": "none",
      "name": "JA4-Calc2",
      "normalized_name": "ja4-calc2",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Calc2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "4753d160710518d6565ac649",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b6c992b0568bc99f",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "JA4TCPScan-DRAFT",
      "normalized_name": "ja4-tcpscan-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4TCPScan-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "f657f8c2e956bfd694cc97da",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c6b6b5c72ffed49e",
      "framework": "next-react",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "DetectionLab2",
      "normalized_name": "detection-lab2",
      "package_manager": "pnpm",
      "path": "Drafts/DetectionLab2.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "033a60ad3547ff73e71fd629",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7a3fc17870a080ec",
      "framework": "next-react",
      "imports": "",
      "lines": 251,
      "logic_relevance": "none",
      "name": "JA4X",
      "normalized_name": "ja4-x",
      "package_manager": "pnpm",
      "path": "Drafts/JA4X.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "39541a2520d886a51acc0f1a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bc79037962fe03b4",
      "framework": "next-react",
      "imports": "",
      "lines": 385,
      "logic_relevance": "none",
      "name": "JA4L-DRAFT",
      "normalized_name": "ja4-l-draft",
      "package_manager": "pnpm",
      "path": "Drafts/JA4L-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,automation,integration,observability,security",
      "component_id": "13195f0a04edb7f03991088e",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:next/server | process-score:100 | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e666fe6d994683d6",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 116,
      "logic_relevance": "none",
      "name": "ja4-vercel",
      "normalized_name": "ja4-vercel",
      "package_manager": "pnpm",
      "path": "Drafts/Vercel/ja4-vercel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "41573274cf8eb6c76299f8b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8483a6ff73b9fa5a",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "Beginner_Lab_1",
      "normalized_name": "beginner-lab-1",
      "package_manager": "pnpm",
      "path": "Drafts/Archive/Beginner_Labs/Beginner_Lab_1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "0c3dcf3ac763f6409e8e6339",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "23612325461f9560",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "Beginner_Lab_0",
      "normalized_name": "beginner-lab-0",
      "package_manager": "pnpm",
      "path": "Drafts/Archive/Beginner_Labs/Beginner_Lab_0.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "b5757450e5e63d2a940ac362",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "893765a94b4dc5f1",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "Lab0",
      "normalized_name": "lab0",
      "package_manager": "pnpm",
      "path": "Drafts/Archive/Beginner_Labs/Lab0.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "fb39f51e287078325fd684c9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6fbe3f0581370171",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "Lab1",
      "normalized_name": "lab1",
      "package_manager": "pnpm",
      "path": "Drafts/Archive/Beginner_Labs/Lab1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2be42e63acc214ab0465051b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "89fd38079fa390a0",
      "framework": "next-react",
      "imports": "",
      "lines": 210,
      "logic_relevance": "none",
      "name": "JA4S",
      "normalized_name": "ja4-s",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4S.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "97e3d8a098dc6b673f71aef3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "74a056e4eea10fa5",
      "framework": "next-react",
      "imports": "",
      "lines": 331,
      "logic_relevance": "none",
      "name": "JA4T",
      "normalized_name": "ja4-t",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4T.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "79f030d8722675a7ec894a13",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7826e60f03ea0491",
      "framework": "next-react",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4TS",
      "normalized_name": "ja4-ts",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4TS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f91df40c6fb051b1632a893f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3d5685e752b6ab14",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "JA4LS",
      "normalized_name": "ja4-ls",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4LS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "2db8a666469261f2541bc82d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "16b642166755f794",
      "framework": "next-react",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "95651b5dec86a0195ba81cc9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "4adaa61eb620c372",
      "framework": "next-react",
      "imports": "",
      "lines": 1451,
      "logic_relevance": "none",
      "name": "JA4-Techniques",
      "normalized_name": "ja4-techniques",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4-Techniques.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "979c872d3f555fa7661019ab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b954583d952050fd",
      "framework": "next-react",
      "imports": "",
      "lines": 422,
      "logic_relevance": "none",
      "name": "JA4TSCAN",
      "normalized_name": "ja4-tscan",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4TSCAN.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "3667062e05ddce8dd1c80488",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b77230c8a0a626b6",
      "framework": "next-react",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "JA4SSH",
      "normalized_name": "ja4-ssh",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4SSH.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "9b300408c79633648fccfb81",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92fd806951df3b27",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "JA4L",
      "normalized_name": "ja4-l",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4L.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ccb065da8cd6958ba4e4ff57",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "d74b6b6cf9906a52",
      "framework": "next-react",
      "imports": "",
      "lines": 1048,
      "logic_relevance": "none",
      "name": "JA4X",
      "normalized_name": "ja4-x",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4X.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "7b5c9c095e4fdfdb6ba6e9b0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b1b7256857df667a",
      "framework": "next-react",
      "imports": "",
      "lines": 433,
      "logic_relevance": "none",
      "name": "JA4H",
      "normalized_name": "ja4-h",
      "package_manager": "pnpm",
      "path": "Drafts/JA4-Deep-Dive/JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "3243383122c8f6ae0eda9fad",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0c18231c89e6506e",
      "framework": "next-react",
      "imports": "",
      "lines": 393,
      "logic_relevance": "none",
      "name": "JA3-&-JA4",
      "normalized_name": "ja3-ja4",
      "package_manager": "pnpm",
      "path": "Drafts/About-JA4/JA3-&-JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "096202693896a5f81ee8db08",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3a3bed3fbf9b84da",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "pnpm",
      "path": "Drafts/Root/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "6dc98730ec9de935cd6327c7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d24d7506f54911ea",
      "framework": "next-react",
      "imports": "",
      "lines": 233,
      "logic_relevance": "none",
      "name": "Labs",
      "normalized_name": "labs",
      "package_manager": "pnpm",
      "path": "Drafts/Root/Labs.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "29fda99ba11ba5a03e6bea01",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "0e6b7dc5e11c8fc7",
      "framework": "next-react",
      "imports": "",
      "lines": 1458,
      "logic_relevance": "none",
      "name": "JA4-Techniques",
      "normalized_name": "ja4-techniques",
      "package_manager": "pnpm",
      "path": "Drafts/Root/JA4-Techniques.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1218922a67a202bb640617e6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "769ec61473cbdac9",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "About",
      "normalized_name": "about",
      "package_manager": "pnpm",
      "path": "Drafts/Root/About.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6f9912b9b79710be435ec959",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90a270ccd0c5e292",
      "framework": "next-react",
      "imports": "",
      "lines": 476,
      "logic_relevance": "none",
      "name": "Integrations",
      "normalized_name": "integrations",
      "package_manager": "pnpm",
      "path": "Drafts/Root/Integrations.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "9f2e958d6d050713d31b5665",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2c61946515edb2b4",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4+",
      "normalized_name": "ja4",
      "package_manager": "pnpm",
      "path": "Drafts/Root/JA4+.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "669cdc6329b07202ba60e81b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9a93407307ce0999",
      "framework": "next-react",
      "imports": "",
      "lines": 286,
      "logic_relevance": "none",
      "name": "Intermediate-JA4T-Lab2",
      "normalized_name": "intermediate-ja4-t-lab2",
      "package_manager": "pnpm",
      "path": "Drafts/Advanced-Labs/Intermediate-JA4T-Lab2.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "6370d28b9cf658a960600d18",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec09eb43d0973e94",
      "framework": "next-react",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "JA4S-Intermediate",
      "normalized_name": "ja4-s-intermediate",
      "package_manager": "pnpm",
      "path": "Drafts/Advanced-Labs/JA4S-Intermediate.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "0feb2cd5a469d6c6d6e97563",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "49ba477a63c050ad",
      "framework": "next-react",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "Intermediate-Lab1",
      "normalized_name": "intermediate-lab1",
      "package_manager": "pnpm",
      "path": "Drafts/Advanced-Labs/Intermediate-Lab1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "cc258b2232bbc95f4791b83c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0f9123c934a3b4df",
      "framework": "next-react",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "JA4H-Intermediate",
      "normalized_name": "ja4-h-intermediate",
      "package_manager": "pnpm",
      "path": "Drafts/Advanced-Labs/JA4H-Intermediate.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "89d2fc8e2c77cda12c8cf618",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6cf7707fff4254d6",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "JA4T-Lab",
      "normalized_name": "ja4-t-lab",
      "package_manager": "pnpm",
      "path": "Drafts/Advanced-Labs/JA4T-Lab.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "8e4f5ea786243b8225c400eb",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "78d47a5fe81d6c267bf424c9",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5ccbb3440f5b86b7752e14b4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TutorialsShell | imports:@/components/theme-toggle, @/components/ui/button, @/components/ui/scroll-area, @/components/ui/sheet, @/lib/utils, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TutorialsShell",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ddcd62b7886980b",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@/components/ui/button,@/components/ui/scroll-area,@/components/ui/sheet,@/lib/utils,lucide-react,next/image,next/link,next/navigation",
      "lines": 172,
      "logic_relevance": "none",
      "name": "tutorials-shell",
      "normalized_name": "tutorials-shell",
      "package_manager": "pnpm",
      "path": "components/tutorials-shell.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "830a008a2c83c30ffd5470ff",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteHeader | imports:@/components/theme-toggle, @/components/ui/button, @/components/ui/sheet, @/lib/utils, lucide-react, next/dynamic, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "604af3a12c5e9550",
      "framework": "next-react",
      "imports": "@/components/theme-toggle,@/components/ui/button,@/components/ui/sheet,@/lib/utils,lucide-react,next/dynamic,next/image,next/link,next/navigation",
      "lines": 116,
      "logic_relevance": "none",
      "name": "site-header",
      "normalized_name": "site-header",
      "package_manager": "pnpm",
      "path": "components/site-header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7c2ede7d287b1534535f1490",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SiteFooter | imports:next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SiteFooter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a54398e06a902e1",
      "framework": "next-react",
      "imports": "next/image,next/link",
      "lines": 138,
      "logic_relevance": "none",
      "name": "site-footer",
      "normalized_name": "site-footer",
      "package_manager": "pnpm",
      "path": "components/site-footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8cd46953dd3ba4826191f7b9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Breadcrumbs | imports:@/lib/utils, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60a59ffc6949f8d8",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 96,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,automation",
      "component_id": "56eb8895bc76160325d6b673",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonLd, buildArticleSchema, buildBreadcrumbSchema, buildEducationalOrganizationSchema, buildFAQPageSchema, buildHowToSchema, buildOrganizationSchema, buildSoftwareApplicationSchema | imports:@/lib/utils | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "JsonLd,buildArticleSchema,buildBreadcrumbSchema,buildEducationalOrganizationSchema,buildFAQPageSchema,buildHowToSchema,buildOrganizationSchema,buildSoftwareApplicationSchema,buildWebSiteSchema",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "83921ee149a6c8d9",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 219,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "7e3052605c87d5ca1c90c582",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialShare | imports:@/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "SocialShare",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2b4d6458f8f6c97",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react",
      "lines": 150,
      "logic_relevance": "none",
      "name": "social-share",
      "normalized_name": "social-share",
      "package_manager": "pnpm",
      "path": "components/social-share.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b4e08ee90bfd1f00fa5b0b26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CodeBlock, FingerprintDiagram, InfoCallout, Section, SubSection, TabbedContent, TutorialHeader | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "CodeBlock,FingerprintDiagram,InfoCallout,Section,SubSection,TabbedContent,TutorialHeader",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40a32e5fc7cc6277",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/lib/utils,lucide-react,react",
      "lines": 205,
      "logic_relevance": "none",
      "name": "tutorial-content",
      "normalized_name": "tutorial-content",
      "package_manager": "pnpm",
      "path": "components/tutorial-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "07c0d64cae85e7a9e0bdc017",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:InboundDetectionContent | imports:@/components/ui/badge, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "InboundDetectionContent",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46a3a98c6cd0f31c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,next/link",
      "lines": 518,
      "logic_relevance": "none",
      "name": "inbound-detection-content",
      "normalized_name": "inbound-detection-content",
      "package_manager": "pnpm",
      "path": "components/inbound-detection-content.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "eb5fa526c6e3daa1f377a373",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next-themes",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeToggle | imports:@/components/ui/button, lucide-react, next-themes | frontend-score:115 | ui-score:55",
      "exports": "ThemeToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51db1a34e467ff2d",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next-themes",
      "lines": 21,
      "logic_relevance": "none",
      "name": "theme-toggle",
      "normalized_name": "theme-toggle",
      "package_manager": "pnpm",
      "path": "components/theme-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "05fd281cdeb58f8b48f5f892",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7b792e2066fb4f3e0f302287",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "add089c86cb095492970b7bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "835f1705f6bb5c027a58db09",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "81312bbf95a780837f4151a5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ce077af68ae3efaa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "9e9cdd95d325ff6d937527bd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e4f56d3c371faa9dad96f542",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "3ba7c1888c021e410abe02ea",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4661fe83b869509b",
      "framework": "next-react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "d9967603dcde55a138d66ae7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "eb8e254a343985a5",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "1c83d059d1448dcf277744c3",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@testing-library/react,vitest",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/social-share, @testing-library/react, vitest | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9bb526ff41f0837a",
      "framework": "next-react",
      "imports": "../components/social-share,@testing-library/react,vitest",
      "lines": 17,
      "logic_relevance": "none",
      "name": "social-share.test",
      "normalized_name": "social-share",
      "package_manager": "pnpm",
      "path": "__tests__/social-share.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4109a1ab1efc9d815cef826c",
      "component_kind": "health-check",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app/api/health/route, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b92ab69d46c3c2eb",
      "framework": "next-react",
      "imports": "../app/api/health/route,vitest",
      "lines": 15,
      "logic_relevance": "none",
      "name": "health.test",
      "normalized_name": "health",
      "package_manager": "pnpm",
      "path": "__tests__/health.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "424a5853fab42869b9162463",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "13845dddfbf04f41",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "3e537bc9a6eb079a6476effb",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "af2d7f3532830c49",
      "framework": "next-react",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "168a21a2cd5fdff0f2f881f4",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2b64e0792b52d25c",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "32de01189c0dbda4d7e2b45f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, localeNames, locales, plannedLocales, t, translations | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Locale,defaultLocale,localeNames,locales,plannedLocales,t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f39d482554e7eed2",
      "framework": "next-react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "af3cccc079a1baed902bf38c",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BASE_URL, cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "BASE_URL,cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "454e83768b544c34",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__threatrelay-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "437bd289112f64f48b4755d4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af259da093991e4e",
      "framework": "next-react",
      "imports": "",
      "lines": 4747,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "487ce088ab043b8690d870f9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d331a79c06073c46",
      "framework": "next-react",
      "imports": "next",
      "lines": 40,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "d9b354b80d13e2b6c538dc6d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3eb3154c0c457d54",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "7886b5224e50f2a8283b12cc",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c058c2364ac0933",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 84,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "73757a4848f14c7443083f84",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b3fafddd8d53b52a",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "9ac70e2b0146ef0f04e3456f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b580b7f9d7a867c0",
      "framework": "next-react",
      "imports": "next",
      "lines": 20,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "f9547d40a9e1ba1c8e6f210c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/nav-bar, @/components/video-feed | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd793d570f5ca191",
      "framework": "next-react",
      "imports": "@/components/nav-bar,@/components/video-feed",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,security",
      "component_id": "6fce53eb8d18be4314c02c0f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2ccb3964de6282ea",
      "framework": "next-react",
      "imports": "",
      "lines": 167,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "4012a68dae3d4e1640564452",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/discover/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "501f11f576b6672102da98c1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DiscoverPage | imports:@/components/nav-bar, @/components/ui/avatar, @/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "DiscoverPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2799e2664849b135",
      "framework": "next-react",
      "imports": "@/components/nav-bar,@/components/ui/avatar,@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 230,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/discover/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "662d075a769694bfdef170dd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProfilePage | imports:@/components/nav-bar, @/components/ui/avatar, @/components/ui/button, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "ProfilePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7090cebbd561a61",
      "framework": "next-react",
      "imports": "@/components/nav-bar,@/components/ui/avatar,@/components/ui/button,@/components/ui/tabs,lucide-react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/profile/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend,observability,security",
      "component_id": "f97ec6151db4da0561c6dec4",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ALLOWED_IMAGE_TYPES, ALLOWED_VIDEO_TYPES, POST | imports:@/lib/s3-upload, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "ALLOWED_IMAGE_TYPES,ALLOWED_VIDEO_TYPES,POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "14ebd2de200eb74b",
      "framework": "next-react",
      "imports": "@/lib/s3-upload,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/upload/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c0206f655dd57f8cce94a5e7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrendingPage | imports:@/components/nav-bar, @/components/ui/button, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TrendingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "184ca7d3626037fe",
      "framework": "next-react",
      "imports": "@/components/nav-bar,@/components/ui/button,@/components/ui/tabs,lucide-react",
      "lines": 253,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/trending/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "1c580145e19453b66239a2ca",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:UploadPage | imports:@/components/media-upload, @/components/nav-bar, @/components/ui/button, @/components/ui/input, @/components/ui/tabs, @/components/ui/textarea, @/hooks/use-toast, lucide-react | frontend-score:115 | ui-score:70",
      "exports": "UploadPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "612508b0d2a8540d",
      "framework": "next-react",
      "imports": "@/components/media-upload,@/components/nav-bar,@/components/ui/button,@/components/ui/input,@/components/ui/tabs,@/components/ui/textarea,@/hooks/use-toast,lucide-react,next/navigation,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/upload/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "de7c1969c2a81cfabeea1b74",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "935370b89b0ac76a615784aa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VideoCard | imports:@/components/ui/avatar, @/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "VideoCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fef86fe327189415",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 219,
      "logic_relevance": "none",
      "name": "video-card",
      "normalized_name": "video-card",
      "package_manager": "pnpm",
      "path": "components/video-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "5a9313e8044e4c179e29acae",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security,discovery",
      "component_id": "6e5ac179e1f7ac828428cc1e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:VideoFeed | imports:@/components/image-card, @/components/ui/button, @/components/video-card, @/hooks/use-mobile, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | discovery-score:55",
      "exports": "VideoFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4fe24b2a84ded29",
      "framework": "next-react",
      "imports": "@/components/image-card,@/components/ui/button,@/components/video-card,@/hooks/use-mobile,lucide-react,react",
      "lines": 214,
      "logic_relevance": "none",
      "name": "video-feed",
      "normalized_name": "video-feed",
      "package_manager": "pnpm",
      "path": "components/video-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ef43c524a2d89616836e420e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NavBar | imports:@/components/ui/button, @/lib/utils, lucide-react, next/link, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NavBar",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab407bca41c88691",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,next/link,next/navigation,react",
      "lines": 119,
      "logic_relevance": "none",
      "name": "nav-bar",
      "normalized_name": "nav-bar",
      "package_manager": "pnpm",
      "path": "components/nav-bar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b2b9e3dbb53419ce2a922f9c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ImageCard | imports:@/components/ui/avatar, @/components/ui/button, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ImageCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84dddd6224fefdff",
      "framework": "next-react",
      "imports": "@/components/ui/avatar,@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "image-card",
      "normalized_name": "image-card",
      "package_manager": "pnpm",
      "path": "components/image-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "422961755b22157df291d77a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MediaFile, MediaUpload | imports:@/components/ui/button, @/components/ui/progress, @/hooks/use-toast, @/lib/s3-upload, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MediaFile,MediaUpload",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a43dc3ba9f3a5bcd",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/progress,@/hooks/use-toast,@/lib/s3-upload,@/lib/utils,lucide-react,react",
      "lines": 270,
      "logic_relevance": "none",
      "name": "media-upload",
      "normalized_name": "media-upload",
      "package_manager": "pnpm",
      "path": "components/media-upload.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "0eaf350acb6a28737802de2b",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "5cd6d4e98171c2d1d33ed819",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "c0e36566e75fa26a8b1f4a2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3c095247743810cb7eb6f4f7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f9a069505b9ac817a235ef94",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "5da365de7201415ffbc7ff13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d71f3e328b8f48332dba2690",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "52551cadae1c34b9b88ec6a1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "1d4d379543c50c8719c15f77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "820a72070fdc92e7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "b2f1c03845f06a67a5c4d2e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ea19ce5687c41d73f869f830",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "554f83bab53f9ddf508a0977",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b59e9e81f5e29fa3",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 368,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "acad20e12a882e4ce8b7b2f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "3d2aa9773c470c8c2ba66c97",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "88c6272131e3d0e5186a7ef4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "705d538fc8af438722c985f3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a115f7e50fbb038a68456637",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c0316ac2197fcad41ef3f0aa",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f312abdab7c7c5c43f720504",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b47d2251a501af2144505937",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a21fadc5a99cb493037d1aee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ef1d7d63a104776a120dd2cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "a4e958e888f49417e06daca2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ed78a053a9db783f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "9d6a8668d9eda1c258cf9e6a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e82b15575d4e36e9da77ba37",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "244d2b0e95fc1ddb01e7409f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7626e43c40fbf82f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e471f208d0048463076dabca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4df2515f51a5c4234dd73309",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2262d42962179cc4058d247f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f5cca6a76320a5720fffb0c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "cda8543899f6239f9c7e0adf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a6e1e35ff7c4472009954651",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "789a53095b0e203b2fb93a8b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "58fcd2f82325aa85175f1024",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "52d5500f9e0fdd6cbc8d2124",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e6e90d89d24d4eb6",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 764,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "6b8fde42b88aa4df6f3c980c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c1789b31534821d5ca7a764e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dfba697182d3a8604d108171",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e47b92c0fc736d95326e334d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "942cb06d7036db51d5d0de53",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "94a6be472a4f334c40795fc3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "35f6d2414d57a7a965c2d0c7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "85275115f9401dd801aed1bc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ca0802c2e73d06aa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "873754dfd2398ef6304bf87a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fab438a7b96bb36a42d741d6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf46918c590c2bf",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fc37bf3ad313896cd2323fc7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "353d648bb4a9ae4653f6de05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cd3310acfc8caa6478be5aff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "47701d6e7e2e25d367dcbdff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8fe4ec21b30ff894eb5ece0d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "9678db915a98c191341b93e7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ccbc4e29c42fd9da",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "process,security",
      "component_id": "2383450a8bcd5740a3bd8840",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for media; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cfd7c15ffbed4bbc",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "c69b5497bb1a63f0bf760db3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66f48c09fd4d4362",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "9e5c0e19d230b0022cb7632d",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "b3878293d62625db0020c1a5",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-s3,@aws-sdk/s3-presigned-post,uuid",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MediaType, UploadResult, getS3Url | imports:@aws-sdk/client-s3, @aws-sdk/s3-presigned-post, uuid | logic-score:85 | security-score:55 | uses-env",
      "exports": "MediaType,UploadResult,getS3Url",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "68aee76945ba35fe",
      "framework": "next-react",
      "imports": "@aws-sdk/client-s3,@aws-sdk/s3-presigned-post,uuid",
      "lines": 56,
      "logic_relevance": "primary",
      "name": "s3-upload",
      "normalized_name": "s3-upload",
      "package_manager": "pnpm",
      "path": "lib/s3-upload.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__tiktok-clone",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,observability,security,ai",
      "component_id": "102e477455a0989d198a2ab4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2065f8a696d85157",
      "framework": "unknown",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "wayback_save_now",
      "normalized_name": "wayback-save-now",
      "package_manager": "unknown",
      "path": "wayback_save_now.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__tools",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "ecbb373908d925e0fb703104",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1208ff2dcd536d62",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__tools",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "5616cd2c2fd38d3df278c4c3",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "85c03ee1a3390e5c",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "yarn",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "f60d8a8200fef542dae2a633",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4458a4ec6dba525a",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "meta",
      "normalized_name": "meta",
      "package_manager": "yarn",
      "path": "meta.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "8c65c8ab7e9070fa6b662768",
      "component_kind": "ui-primitive",
      "confidence": 55,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9f1a818815f4258d",
      "framework": "react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "yarn",
      "path": "packages/ui/package.json",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "ef9feb91c2afe40e37903467",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "tsup",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:tsup | ui-score:70",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "eb91bd2fcfdf01ca",
      "framework": "react",
      "imports": "tsup",
      "lines": 15,
      "logic_relevance": "none",
      "name": "tsup.config",
      "normalized_name": "tsup-config",
      "package_manager": "yarn",
      "path": "packages/ui/tsup.config.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "9542961e240d81c556c766e4",
      "component_kind": "ui-primitive",
      "confidence": 50,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4f79f164cfb95f38",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "tsconfig",
      "normalized_name": "tsconfig",
      "package_manager": "yarn",
      "path": "packages/ui/tsconfig.json",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "6f8ee81da0ae178bf08040ba",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, type ButtonProps | imports:./button | ui-score:125 | frontend-score:85",
      "exports": "Button,type ButtonProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "fb0a14a0c15536e0",
      "framework": "react",
      "imports": "./button",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "yarn",
      "path": "packages/ui/src/index.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "48aa976064cce3d1ddbbd36c",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "react,react-native",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps | imports:react, react-native | ui-score:140 | frontend-score:115",
      "exports": "Button,ButtonProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "26252242c207530d",
      "framework": "react",
      "imports": "react,react-native",
      "lines": 37,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "yarn",
      "path": "packages/ui/src/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e01359c473039d9dd56c58c6",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@repo/ui,expo-status-bar,react-native",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Native | imports:@repo/ui, expo-status-bar, react-native | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Native",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d3794209198413fc",
      "framework": "react",
      "imports": "@repo/ui,expo-status-bar,react-native",
      "lines": 33,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "yarn",
      "path": "apps/native/App.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "36b5b81b3932b743338fa27c",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c37a7a9d882a5e91",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "yarn",
      "path": "apps/native/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "observability",
      "component_id": "1751d1e5ad9fd9dad2ac74c9",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for general; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9e23f1e7ed2764e",
      "framework": "react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "yarn",
      "path": "apps/native/package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "97ad9bc41d7ebfd6f04eaffb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b6e4455dc3638e4c",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "yarn",
      "path": "apps/web/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "af80b270f0cddf8e3c6e270a",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout | frontend-score:85 | ui-score:55",
      "exports": "RootLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "81249a705e36334b",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "yarn",
      "path": "apps/web/app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "35c285715ed3f1d8e2f984b8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@repo/ui",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Web | imports:../styles/index.module.css, @repo/ui | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Web",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d10b80237805943",
      "framework": "next-react",
      "imports": "../styles/index.module.css,@repo/ui",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "yarn",
      "path": "apps/web/app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "df3979eb01d5e8905e9917ac",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "29784fd7d48ea4db",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "global",
      "normalized_name": "global",
      "package_manager": "yarn",
      "path": "apps/web/styles/global.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "d0051f86ffb4f79b803152c3",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2bbd9673962d4b47",
      "framework": "css",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "index.module",
      "normalized_name": "index-module",
      "package_manager": "yarn",
      "path": "apps/web/styles/index.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__turborepo-react-native",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "adbf52dccebfe376dfb817c1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23ba220a8d2d60f3",
      "framework": "next-react",
      "imports": "",
      "lines": 4388,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "21ee06064085aea159111bf8",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next,next-intl",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next, next-intl/plugin | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "9e9f66d5aa296880",
      "framework": "next-react",
      "imports": "next,next-intl/plugin",
      "lines": 80,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9c78c93dd49cd30f17d6b74d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "226cbf50ffa76d7a",
      "framework": "next-react",
      "imports": "",
      "lines": 254,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ed322ccf939e028601095325",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5a96953937bf24c3",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "2c34a1a21c89c3fd6e141722",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "next-intl",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:config | imports:./i18n/routing, next-intl/middleware | automation-score:45",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "daeb5657ac0b0262",
      "framework": "next-react",
      "imports": "./i18n/routing,next-intl/middleware",
      "lines": 15,
      "logic_relevance": "none",
      "name": "proxy",
      "normalized_name": "proxy",
      "package_manager": "pnpm",
      "path": "proxy.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "db8537d901110372c372bd2d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e95b97bc5b887768",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "pnpm",
      "path": "messages/zh.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "0b44c14f95e1700b994ea216",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7cbbc13774217711",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "pnpm",
      "path": "messages/ja.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "b5212a77ab54fd85b4f7767a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c3c9ae23e1e9c7c4",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "pnpm",
      "path": "messages/de.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "9cbb333202e8c9b9e3fb8bc0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d6e5a005824c774b",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "pnpm",
      "path": "messages/pt.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "security",
      "component_id": "566ec1a7eff7042fd1deb87c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for mcp; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6b101957fdba4d3a",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "080a79ab525509e35089cb6e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9eee71f05e51771b",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "messages/fr.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "ff9c620bf8304ed86a4e61a1",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "559665e8a0bcd709",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "pnpm",
      "path": "messages/ko.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "04b9ac5bcfd8b6e30d2c9ba4",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6c700f827242eff7",
      "framework": "next-react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,discovery,automation",
      "component_id": "b23c7e765f190f9b75130452",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1214eddc12a63f48",
      "framework": "next-react",
      "imports": "next",
      "lines": 37,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "e3c76328bd715913a40406de",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:Image, alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55",
      "exports": "Image,alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b3e23974ec96ea91",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 62,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "pnpm",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "frontend,discovery",
      "component_id": "66d0ecfe42489cd937a45511",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6f16e3c94b964aad",
      "framework": "next-react",
      "imports": "next",
      "lines": 75,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "198f738c949ab2caf7725ff2",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,@vercel/speed-insights,next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata, viewport | imports:@vercel/analytics/next, @vercel/speed-insights/next, next, next-intl, next-intl/server, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e1d21ac1b7787e8d",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,@vercel/speed-insights/next,next,next-intl,next-intl/server,next/font/google,react",
      "lines": 376,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui",
      "component_id": "4a33e1e3f58a7d4b82362311",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:@/components/facts-section, @/components/footer, @/components/future-section, @/components/gallery-section, @/components/header, @/components/hero-section, @/components/history-section, @/components/life-hacks-section | frontend-score:115 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ed474140ac4c906",
      "framework": "next-react",
      "imports": "@/components/facts-section,@/components/footer,@/components/future-section,@/components/gallery-section,@/components/header,@/components/hero-section,@/components/history-section,@/components/life-hacks-section,@/components/marketplace-section,@/components/news-section,@/components/share-section,@/components/value-section,next/dynamic",
      "lines": 34,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ed87a5e79a3b81c15ec7e085",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dbdc8740a63ceb5c",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "6bbfc595bf78ca674d692aac",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:default | imports:../page | frontend-score:85 | ui-score:55",
      "exports": "default",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e2bdea7e865d778c",
      "framework": "next-react",
      "imports": "../page",
      "lines": 1,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "frontend,backend,security,automation",
      "component_id": "0c6f5635002d72c9d4d22a93",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for mcp; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, dynamic | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23b824488b97e472",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,security",
      "component_id": "976e4b17fefe846f1695474e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, dynamic | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,OPTIONS,dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23b2ea132a73d8b5",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 97,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/gallery/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,backend,discovery",
      "component_id": "c36ed41f2ea64af282e62863",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, dynamic | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | discovery-score:55",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7dcb97275c872f9",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/rss/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,security,automation",
      "component_id": "8c083b704d713b6db8e4bd85",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, dynamic | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | security-score:55 | automation-score:45",
      "exports": "GET,OPTIONS,dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a57189d5348e6687",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/value/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,ai",
      "component_id": "3402c8d4f49e54383d58200d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ab4431fc39850384",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 190,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security,discovery,process",
      "component_id": "fa7f2ed895bfa76d857e1060",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/constants | backend-score:55 | security-score:55 | discovery-score:55 | process-score:45",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bf1113d40d8904cc",
      "framework": "next-react",
      "imports": "@/lib/constants",
      "lines": 74,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,backend,integration,observability,security,discovery,automation,ai",
      "component_id": "a3d0d61a0f8ba20527dde04a",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, dynamic, openApiSpec | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "GET,dynamic,openApiSpec",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c816fd0900dee145",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 344,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/openapi/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "42cb2672765962c83975ad66",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, dynamic | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,OPTIONS,dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fb83bfbbc5b75a8e",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 58,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/info/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,backend,security",
      "component_id": "67c2c9e3765bd9e3137708c4",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, OPTIONS, dynamic | imports:@/lib/constants, next/server | frontend-score:55 | backend-score:55 | security-score:55",
      "exports": "GET,OPTIONS,dynamic",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90c3d3bf43716c1d",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/facts/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,automation",
      "component_id": "30b839e23c1b4f0aa52e6bb5",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/constants, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b6f1ceb432a38d42",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/zapier/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,automation,frontend,integration,observability",
      "component_id": "3165144c64548c02449ed34d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, dynamic | imports:@/lib/constants, next/server | backend-score:125 | automation-score:95 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET,dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f1eaf07ab27c2110",
      "framework": "next-react",
      "imports": "@/lib/constants,next/server",
      "lines": 49,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/n8n/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,backend,integration,observability,security,automation",
      "component_id": "2b3240f5966731a85141f4fe",
      "component_kind": "frontend-hook",
      "confidence": 85,
      "dependency_roots": "next,vitest",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "imports:./route, next/server, vitest | frontend-score:55 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9b77ce24af342337",
      "framework": "next-react",
      "imports": "./route,next/server,vitest",
      "lines": 167,
      "logic_relevance": "none",
      "name": "route.test",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/subscribe/route.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "b18a74f916bc6b289f11ca3b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,crypto,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, clearRateLimitMapForTesting, dynamic, subscribers | imports:@/lib/constants, crypto, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,clearRateLimitMapForTesting,dynamic,subscribers",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "78f1965af4753da7",
      "framework": "next-react",
      "imports": "@/lib/constants,crypto,next/server",
      "lines": 168,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/subscribe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "01d5c552d9407e115aa86967",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8ffa06ed0f012b64c7b1fe94",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GallerySection | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "GallerySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41d3f64fe871db3c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/image,react",
      "lines": 138,
      "logic_relevance": "none",
      "name": "gallery-section",
      "normalized_name": "gallery-section",
      "package_manager": "pnpm",
      "path": "components/gallery-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "73771f48aaa4096c2378123b",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "bf6273db0ebd3bca8235ffb9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsSection | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "NewsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82aee2509f8e4a92",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "news-section",
      "normalized_name": "news-section",
      "package_manager": "pnpm",
      "path": "components/news-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "dd81a3d4b16f0ac9361a2e3e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FactsSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FactsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f9ae9e519c027c87",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "facts-section",
      "normalized_name": "facts-section",
      "package_manager": "pnpm",
      "path": "components/facts-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "28278dfb4abdaae445e5995c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MarketplaceSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MarketplaceSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4988a85b72b5e13",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 156,
      "logic_relevance": "none",
      "name": "marketplace-section",
      "normalized_name": "marketplace-section",
      "package_manager": "pnpm",
      "path": "components/marketplace-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "02aadf9b0c6338529457abb0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HistorySection | imports:@/components/ui/card | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "HistorySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "59e52ba3e5c5f463",
      "framework": "next-react",
      "imports": "@/components/ui/card",
      "lines": 86,
      "logic_relevance": "none",
      "name": "history-section",
      "normalized_name": "history-section",
      "package_manager": "pnpm",
      "path": "components/history-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "425c89650beadc8495352df7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValueSection | imports:@/components/ui/badge, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ValueSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "223af9269b3488bb",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,react",
      "lines": 177,
      "logic_relevance": "none",
      "name": "value-section",
      "normalized_name": "value-section",
      "package_manager": "pnpm",
      "path": "components/value-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "595456be42831014dcbdb370",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LifeHacksSection | imports:@/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LifeHacksSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4fe219d7e4c806e",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react",
      "lines": 178,
      "logic_relevance": "none",
      "name": "life-hacks-section",
      "normalized_name": "life-hacks-section",
      "package_manager": "pnpm",
      "path": "components/life-hacks-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0548e2da1f11f91e6233f68",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9339198274f15ee0",
      "framework": "next-react",
      "imports": "lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "281b684e3a7b1bf3238124e6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39f06f06d04dba90",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c3f587bf79012ba05398770d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b2f9ae271e38717",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "37ce890cddd716842624eae9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FutureSection | imports:@/components/ui/badge, @/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "FutureSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1924cd22a6da3d8e",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,next/image",
      "lines": 156,
      "logic_relevance": "none",
      "name": "future-section",
      "normalized_name": "future-section",
      "package_manager": "pnpm",
      "path": "components/future-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "e2b1eff62d89fa600b830f26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareSection | imports:@/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "ShareSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1fd67a48b7e16771",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 102,
      "logic_relevance": "none",
      "name": "share-section",
      "normalized_name": "share-section",
      "package_manager": "pnpm",
      "path": "components/share-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "acb651fa859663dcb8261c3c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "898e898bf8f52e0bfb8cc004",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9bd2fa95d997687edd9f3304",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "533a6e671f899c049c6958eb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "682f12021083ccbb",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation,ai",
      "component_id": "231e8c1a00f7e8a0e79489a8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7d11dd6af137b2b5",
      "framework": "next-react",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "b5e608dae92f0e9b60a2235e",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7fe4010ba6adbdc7",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "bec5df8338ff1d8922397085",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6b44dad6e388ba5f",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "blog-post-ph3ar",
      "normalized_name": "blog-post-ph3ar",
      "package_manager": "pnpm",
      "path": "public/blog-post-ph3ar.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,discovery,automation",
      "component_id": "a29e5f4bb509af32baf7bd8e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | discovery-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "76d552049a2b63bd",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "9778d8cd09b86bf3813fe20e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8fad332ba94c22e7",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process,security",
      "component_id": "6f6351b0bec47cf3e028345f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "aa6afcd9709aa5e4",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "security",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "public/.well-known/security.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "62f3cce64d931d3fe9d110ec",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "b4b85434588edfa2",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "pnpm",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "integration,discovery",
      "component_id": "8be0d14d2f14eb77e2242db5",
      "component_kind": "openapi",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for mcp; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "32a7efc72cb5c4f9",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "openapi",
      "normalized_name": "openapi",
      "package_manager": "pnpm",
      "path": "public/.well-known/openapi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,automation",
      "component_id": "86c3967955500bd78376bade",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1309f899be4eaa9e",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "7383e9afd7aa81496d354c78",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b5d8aff81f718312",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "5f0c22a1bf9149a0a17fd823",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,logic,automation",
      "component_id": "101968477be1c301e3ba80d3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:API_CONFIG, FACTS, SITE_CONFIG, VALUES | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45",
      "exports": "API_CONFIG,FACTS,SITE_CONFIG,VALUES",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f1b40308f185aab3",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "secondary",
      "name": "constants",
      "normalized_name": "constants",
      "package_manager": "pnpm",
      "path": "lib/constants.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ai",
      "component_id": "3b6a2962d2abbcdac4ec6c13",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "next-intl",
      "description": "AI component for i18n; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:SUPPORTED_LOCALES | imports:next-intl/server | ai-score:45",
      "exports": "SUPPORTED_LOCALES",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "f0b8abdd24795012",
      "framework": "next-react",
      "imports": "next-intl/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "request",
      "normalized_name": "request",
      "package_manager": "pnpm",
      "path": "i18n/request.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__two-doller-web",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "952ed255672a5a314d88c195",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f324a4f3f6aa6230",
      "framework": "next-react",
      "imports": "",
      "lines": 1556,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "fb0d760918a11d667a53ac29",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "60b55ff7df79af72",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d6cb25f839800a76d6520bbc",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97f7261ad0c8fe23",
      "framework": "next-react",
      "imports": "",
      "lines": 1739,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "a498b2ca26e1bbedffa9707e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a20687ef56eb2b5d",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1137c70f99e373f7614fe49f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:next | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2bab129efd4143ba",
      "framework": "next-react",
      "imports": "next",
      "lines": 11,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "327bb0f5a727fa90cef9112f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "011ba973f1363267",
      "framework": "next-react",
      "imports": "@vercel/analytics/react,react",
      "lines": 43,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "frontend,ui,security",
      "component_id": "f2570f18f512db2574007e4d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for security; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:../components/SignupForm, ../components/Tooltip, lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a11783123648f191",
      "framework": "next-react",
      "imports": "../components/SignupForm,../components/Tooltip,lucide-react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "6561b8740e5cf32096b4152e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "93259a2329649802",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "a2db535b7528bb46bd8c3e1d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8b8cb86f33a8d191",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 15,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/signup/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "920daa98dd387bf95dc749a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-tooltip,react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip | imports:@radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bfcafd22a639bbd9",
      "framework": "next-react",
      "imports": "@radix-ui/react-tooltip,react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "Tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/Tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability",
      "component_id": "86d3fbee1c11e2ee3e2ee207",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignupForm | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "SignupForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e326c559a9acb0f6",
      "framework": "next-react",
      "imports": "react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "SignupForm",
      "normalized_name": "signup-form",
      "package_manager": "pnpm",
      "path": "components/SignupForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "13f554a187846dd354b6f00a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "60b55ff7df79af72",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__uberpidgeons-www",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "57235a58e8ee617a982f339e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49899da760e16454",
      "framework": "next-react",
      "imports": "",
      "lines": 6165,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "ac11ddfd4aae8a49999695cd",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e65025ca7842d1b3",
      "framework": "next-react",
      "imports": "next,next/font/google",
      "lines": 34,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "src/app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "5d1603e7df5adf9b1e11e724",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:next/image | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3feb34636de38132",
      "framework": "next-react",
      "imports": "next/image",
      "lines": 103,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "src/app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "6787f85d63936ae257996f79",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "769edf77bd0d101a",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "src/app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__uberpidgeons-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "33229c0675bcfd0157b2e0d1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "90ded0ecff1b1e58",
      "framework": "next-react",
      "imports": "",
      "lines": 3341,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "c277d535564898fc6262ca61",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcf1556cc783c676",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "017349e48b5fb614705885cc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b8eaacd3bf29284a",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,automation,ai",
      "component_id": "0b88038a6ff0cb475586e02e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | automation-score:45 | ai-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fbcf4991d6aa2f53",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "frontend,ui,security,automation,ai",
      "component_id": "3db12b96541daac4feef1810",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:VibeCheck2025 | imports:@/components/achievement-card, @/components/share-card, @/components/stat-counter, @/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "VibeCheck2025",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b04aa6f927125a89",
      "framework": "next-react",
      "imports": "@/components/achievement-card,@/components/share-card,@/components/stat-counter,@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "a3ecde9ca11310c0b1384780",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e15dc15fe5756625",
      "framework": "next-react",
      "imports": "",
      "lines": 140,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b2aa1f3db80db0ff4eada353",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "be0b5cbdc25a3e94d7610e42",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9ddd2c7daaa2119d2b991037",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@react-spring/web,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatCounter | imports:@react-spring/web, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "StatCounter",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "61e0b6cfef9f4e49",
      "framework": "next-react",
      "imports": "@react-spring/web,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "stat-counter",
      "normalized_name": "stat-counter",
      "package_manager": "pnpm",
      "path": "components/stat-counter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "6d6b65bca00982047da8618d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AchievementCard | imports:@/components/ui/card, framer-motion, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "AchievementCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d40e9f2a29a35f4",
      "framework": "next-react",
      "imports": "@/components/ui/card,framer-motion,lucide-react",
      "lines": 51,
      "logic_relevance": "none",
      "name": "achievement-card",
      "normalized_name": "achievement-card",
      "package_manager": "pnpm",
      "path": "components/achievement-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,ai",
      "component_id": "710882ba3893ac61831da977",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareCard | imports:@/components/ui/button, @/components/ui/card, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | ai-score:45",
      "exports": "ShareCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "331b73566da8129c",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,framer-motion,lucide-react,react",
      "lines": 108,
      "logic_relevance": "none",
      "name": "share-card",
      "normalized_name": "share-card",
      "package_manager": "pnpm",
      "path": "components/share-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7f0505d218818d46e5516437",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "db6aaaca9bdc443ab05aa119",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "8ed0b8a8b0101dde4c15b953",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__v0-2025-year-in-review",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "1be553288abfe09801a24808",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b3d690d8d9366d39",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "unknown",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__v0-fortune-cookie-windshield-75",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6ae937dcdaf53395715f65f0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "18fc775cff67c624",
      "framework": "next-react",
      "imports": "",
      "lines": 3657,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "1dd5c25b3cbf0a09f7733517",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4a8b3e66c3901085",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "59b24f641fedc07a9eb87810",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "521fe85443e06f8a",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 98,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6caed05d431ca59746ba5464",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c0109358223cf8f8",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "5be6d33b97e749897211d671",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@/lib/cart-context, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ab6ecd9865b061d",
      "framework": "next-react",
      "imports": "@/lib/cart-context,react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "7bd71a595356fc6c50eab458",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "db1af53fae353f390c6b5add",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:dynamic | imports:@/components/newsletter-signup, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/cart-context, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "dynamic",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a480be51b3aa2573",
      "framework": "next-react",
      "imports": "@/components/newsletter-signup,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/cart-context,lucide-react,next/image,next/link",
      "lines": 509,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "6433bc08de077168d4b342d3",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,ai",
      "component_id": "faa9f9461bdacf45c90471f6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react, next/link | frontend-score:115 | ui-score:55 | ai-score:45",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "369e69a8899cb0bb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,next/link",
      "lines": 194,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "900ab684716794eb5f6f2e52",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/select, @/components/ui/tabs, @/hooks/use-toast, @/lib/cart-context, @/lib/shopify | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "01ee172fe5e232dc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/select,@/components/ui/tabs,@/hooks/use-toast,@/lib/cart-context,@/lib/shopify,lucide-react,next/image,next/link,react",
      "lines": 379,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/products/[handle]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "82873d0fa0d9312934203b19",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7414231d88e10ac8",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/image,next/link",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "1469e4c247ade1df730912f1",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Loading | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Loading",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e1ac4077d215363",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "loading",
      "normalized_name": "loading",
      "package_manager": "pnpm",
      "path": "app/order-status/loading.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "45d07259bc6a8eabe30bd763",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:OrderStatusPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "OrderStatusPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d58f74c8f2eb9f7e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,lucide-react,next/link",
      "lines": 57,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/order-status/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d68f71539548952f45c1b2cb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArticlesPage | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ArticlesPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bd6d54a5b0d39db4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/link",
      "lines": 93,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/articles/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "frontend,ui,security,ai",
      "component_id": "64516a159c53001bac628b73",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for finance; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "AboutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bec6a1cbd7dd5e1",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 160,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,ai",
      "component_id": "7fe15c6c074e7fe6bc9993ff",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, VANAGAIN_PRODUCTS | imports:@/lib/supabase, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,VANAGAIN_PRODUCTS",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "85051acf631f1d10",
      "framework": "next-react",
      "imports": "@/lib/supabase,next/server",
      "lines": 151,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/products/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability,ai",
      "component_id": "c6ef1e9c5bc952c3a78b438b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/supabase, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0e30c391df0ac117",
      "framework": "next-react",
      "imports": "@/lib/supabase,next/server",
      "lines": 35,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/products/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "a6bd7c65e56b80190e983dda",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9d11d4d0f5a72a3a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 27,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/logout-vanagain/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "75cd5c1ff6db0ee0b66d8587",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d35132aa153a4da7",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/check-vanagain-session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,integration,observability",
      "component_id": "896427bc2a76eb4ad77fa4a2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "53c279f4ef9f2785",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/shopify/products/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,integration,observability",
      "component_id": "80ecf0cd08b44401f90345f4",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "197441ffa50980ca",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 8,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/shopify/product/[handle]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "8d26bee4361d3c343114028d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "53a30125804daabf",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/sync-vanagain/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,frontend,observability",
      "component_id": "021acc7c996923a1932f6601",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f163d021bee0effb",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 23,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/add/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "backend,frontend,observability",
      "component_id": "bd55dabf970fa5fb2db3832d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for editor; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/shopify, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bf246257afe773fb",
      "framework": "next-react",
      "imports": "@/lib/shopify,next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/create/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "7cdd8b762bade572750d286e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/supabase, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "61ccd330dadb7baf",
      "framework": "next-react",
      "imports": "@/lib/supabase,next/server",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/newsletter/subscribe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,frontend",
      "component_id": "86207bec19a319b2fbb7ad44",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, VANAGAIN_CATEGORIES | imports:@/lib/supabase, next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET,VANAGAIN_CATEGORIES",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8666562040531d88",
      "framework": "next-react",
      "imports": "@/lib/supabase,next/server",
      "lines": 26,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "26119a7c92ea4e687abdcaad",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65b5fa2721b8289a",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "fee9399eb15b4cb931dce6f9",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "032dafe696d0f511a3d5926b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthIntegration | imports:@/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AuthIntegration",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f5bebc3664da7da",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next/link,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "auth-integration",
      "normalized_name": "auth-integration",
      "package_manager": "pnpm",
      "path": "components/auth-integration.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9d028aa3c01f8106e44c1f36",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterSignup | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "NewsletterSignup",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd523349d408ff8a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "newsletter-signup",
      "normalized_name": "newsletter-signup",
      "package_manager": "pnpm",
      "path": "components/newsletter-signup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "187b1c0c3a022b99834bc1c1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/hooks/use-toast, @/lib/cart-context, @/lib/shopify, lucide-react, next/image | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b72d528a1ca940e7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/hooks/use-toast,@/lib/cart-context,@/lib/shopify,lucide-react,next/image,next/link,react",
      "lines": 147,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "components/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "865377c6a547a5032e7716d3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductSearch | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/checkbox, @/components/ui/input, @/components/ui/label, @/components/ui/sheet, @/components/ui/slider, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductSearch",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da460632b37b43dc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/checkbox,@/components/ui/input,@/components/ui/label,@/components/ui/sheet,@/components/ui/slider,lucide-react,react",
      "lines": 217,
      "logic_relevance": "none",
      "name": "product-search",
      "normalized_name": "product-search",
      "package_manager": "pnpm",
      "path": "components/product-search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e7c988afcfb2863810662f5e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShoppingCartDrawer | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/sheet, @/lib/cart-context, lucide-react, next/image, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShoppingCartDrawer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8fefd820e2c8f77d",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/sheet,@/lib/cart-context,lucide-react,next/image,next/link,react",
      "lines": 144,
      "logic_relevance": "none",
      "name": "shopping-cart",
      "normalized_name": "shopping-cart",
      "package_manager": "pnpm",
      "path": "components/shopping-cart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "d43baff070f60600aa145219",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartSync | imports:@/lib/cart-context, react | frontend-score:115 | ui-score:70",
      "exports": "CartSync",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c80eb6f8c3429635",
      "framework": "next-react",
      "imports": "@/lib/cart-context,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "cart-sync",
      "normalized_name": "cart-sync",
      "package_manager": "pnpm",
      "path": "components/cart-sync.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "8f489a06818903e4783d4a73",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "589c299c27e2ad99",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 7,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "c66f0b0a18e5e03b196c1942",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2ede53a17b342a82",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "620530acaf772df7ede49d96",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "274e34e5a97918653a82aa11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6d66283fc04f3901",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "d444640c2e262af103d02bbf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "b541c855a391de4db4188016",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69afcf9c8e58ca6c",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "729be6cea963d6db7dc4e0e2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "48bd0ba32cc7f341",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "20abd9aa668cdc5a601cdf40",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8a10fdf10a500f70",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "1ef0e2a5e8ca0c350f6e6ac2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8c036da4baed076d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "7c248d24cff96e091e491c1d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "05e5b3eb44dce90b",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "e0b2dadc1ce1a1a8418fb716",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6bd87d79f93679b4",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "6a04de1dcc9984dfff437424",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "62ebd887366a84fc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 365,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "f96a0ca865bed6a03136dc48",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c6d7e532ba61870b",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "bec47c3997922740792d542b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "cc27b25902ab3101a8016ad9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "edbaecbc4f5cb6e1",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "175239af63630ce48de6c73c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react-resizable-panels | ui-score:125 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "70d1e35a5fb0897a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react-resizable-panels",
      "lines": 45,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "10fa3c7bca8ea1a7480cbd77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2eac8fbb04002c42",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "4ddc9884cd6fdd6fd5a18583",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "771ab8637d27384c",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 31,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b6f7479d917c930c259d87dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c07f503f41162b19",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "2066470fd8bd35cb587af4a4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cc98c2ab5106d8d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "69d3227098a8fbb571b62966",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "774316527ddc577f",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 118,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "35be09629c871cfb45b9b9a6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1b524043acf6633b50d88009",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ed78a053a9db783f",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "7d66a2d9d3d0efaf7acacd24",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "03e892344ad17043",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ef160add6fbe72a743a09ade",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2cb63bb07b23867e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,integration",
      "component_id": "d64a5ea6db489baa08eecbfc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarProps | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55",
      "exports": "Calendar,CalendarProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7626e43c40fbf82f",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 66,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "448f7fff8ff5f625a83dd96d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c3d3dcb0d82fc5e9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "374b51d359c9c30b91709835",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4e0515412cad8308",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e2f15ed64ddef8c98a831eae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, @radix-ui/react-dialog, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a19d8fdb1d4a6c02",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,@radix-ui/react-dialog,cmdk,lucide-react,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "9c444863b10c00d282663ad0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dba95ead40d163af",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "63fb4dd7db9c0965b03e69b4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e78b35ed76c67d8f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "37ea6b349ce060a6b831216b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2e9ff10dead52ac7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 236,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "85371d024f041d0c77ce28ae",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bb67c322bfde96ee",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 122,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "171fbb8136d47b9ef6bfc86a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "893c2777ea711f51cc3c5661",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "72aeae5c68c361fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 763,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "291feb8555fa477b908d0e6d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "a43b21455b64266ef5d8139f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "995c54f1c5c688f7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e6d34384dd69863cb8890ba9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "415ccc47cf69a2a8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "807eb6b5786f70dd094a9156",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "10783ad8d10a3405",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d51b3f82b748ce515d9f5d25",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "45f9af4bf527ecf8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a4a754120ed4d94e8e821f90",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "870e9819040c04fe",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ea46460635a1cd93f8049d08",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f4cdd104de29928b",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 11,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "53b3b70b7766c51f485dc9ad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ca0802c2e73d06aa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "9b981681fe23d28a5a39960e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1aba9cfb792bfa02",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 160,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "fa12f5a0a7ee68db1feb17f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf46918c590c2bf",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a30b5bbdbd716141e66b769c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b326e2af874b14aa",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "ee57e8726f5e5b9a09808835",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a72a9d8fc1c1999b",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cfff0d8e934f59c46bb2dbaf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "42db115335540179",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "702bfae507853ace728cd675",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a0acdbdf33f9ed3",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 178,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4e561b32e1ca26c234b3348f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "69686986376cbc02",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 262,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "9c018677f7ca1de256418e0c",
      "component_kind": "ui-hook",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:useIsMobile | imports:react | frontend-score:90 | ui-score:70",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ad0936f84f1df79d",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "a2c81a3bf0359e268817ff06",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c8c3dfc0cdd370d",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,logic",
      "component_id": "d33b70cccd74026f3e9ae188",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartProvider, ShoppingCartProvider, useCart | imports:@/hooks/use-toast, react | frontend-score:90 | ui-score:70 | logic-score:70",
      "exports": "CartProvider,ShoppingCartProvider,useCart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99db1a4dd0e8f604",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,react",
      "lines": 104,
      "logic_relevance": "secondary",
      "name": "cart-context",
      "normalized_name": "cart-context",
      "package_manager": "pnpm",
      "path": "lib/cart-context.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "901ccef9e135ac68ed47812f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ShopifyProduct | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ShopifyProduct",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9ad3996e0ab5c50b",
      "framework": "next-react",
      "imports": "",
      "lines": 305,
      "logic_relevance": "primary",
      "name": "shopify",
      "normalized_name": "shopify",
      "package_manager": "pnpm",
      "path": "lib/shopify.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,observability,security,ai",
      "component_id": "2120604374374d444fb9178c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Category, Order, Product, User, VWCompatibility, supabase, supabaseAdmin | imports:@supabase/supabase-js | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "Category,Order,Product,User,VWCompatibility,supabase,supabaseAdmin",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2dc507b413243ef2",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "supabase",
      "normalized_name": "supabase",
      "package_manager": "pnpm",
      "path": "lib/supabase.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-2025",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "afa7fcad24ec49589692a674",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf7744f197e709fc",
      "framework": "next-react",
      "imports": "",
      "lines": 9879,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "cb839ffa6d408bab9c962977",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/i18n,@/lib,next,next-intl",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:@/i18n/routing, @/lib/security-headers, next-intl/middleware, next/server | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f906e57b2bef8f3",
      "framework": "next-react",
      "imports": "@/i18n/routing,@/lib/security-headers,next-intl/middleware,next/server",
      "lines": 123,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "8092dc4cb0805c3af848e6c7",
      "component_kind": "webhook",
      "confidence": 70,
      "dependency_roots": "fs",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:fs | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "316521b77c0bb034",
      "framework": "next-react",
      "imports": "fs",
      "lines": 2,
      "logic_relevance": "none",
      "name": "get_stripe_webhook",
      "normalized_name": "get-stripe-webhook",
      "package_manager": "pnpm",
      "path": "get_stripe_webhook.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "958b712739ad3f4cd0823429",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@playwright/test | process-score:80 | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "096436a2c23a948f",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 33,
      "logic_relevance": "none",
      "name": "playwright.post-deploy.config",
      "normalized_name": "playwright-post-deploy-config",
      "package_manager": "pnpm",
      "path": "playwright.post-deploy.config.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "discovery",
      "categories": "automation,integration",
      "component_id": "23b32eaf3fc8b12ad816b88e",
      "component_kind": "deployment-automation",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for discovery; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b2d5e1a10ede6dbd",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,ai",
      "component_id": "99f134f9b8a2e86968feb197",
      "component_kind": "mcp",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b6e533c43cb097db",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": ".mcp",
      "normalized_name": "mcp",
      "package_manager": "pnpm",
      "path": ".mcp.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "911c7a181d79fcd69312fda7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d03936621c78a48e",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "asset-manifest",
      "normalized_name": "asset-manifest",
      "package_manager": "pnpm",
      "path": "asset-manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "75f2004e6cf0cf0cc0bda9e9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e40d5c82f3ac9cd7",
      "framework": "next-react",
      "imports": "",
      "lines": 1334,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "638cea7ea7b671776f3b5e29",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8e2e8659974a407e",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "17244e0542b279381283af3d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aac24fd15e307f3c",
      "framework": "next-react",
      "imports": "",
      "lines": 14350,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2349e3405e0a03d1de937a6d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9e042beb87131d28",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "829e3708711e05578a6a539a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3069addd9a3ec61e",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "96b0b550a4ed1b0724a6608c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "86def61df66d81c9",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 83,
      "logic_relevance": "none",
      "name": "playwright.config",
      "normalized_name": "playwright-config",
      "package_manager": "pnpm",
      "path": "playwright.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "63833115a7fc35d852b0b2c3",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90d24bc3bf698ac1",
      "framework": "next-react",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "980c1262acc5dc56ad238a9d",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "71a08890a85f6506",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "pr_description",
      "normalized_name": "pr-description",
      "package_manager": "pnpm",
      "path": "pr_description.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ca5c8958aede5ee398487103",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cb8b40e2ef3c15b4",
      "framework": "next-react",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "pnpm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9461ac8d2be419aae9a3b7c9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "next,next-intl",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./lib/security-headers, next, next-intl/plugin | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1282764b307833a7",
      "framework": "next-react",
      "imports": "./lib/security-headers,next,next-intl/plugin",
      "lines": 102,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bbb1c3ceebe362ad65bdbcb0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c22f6ee55e012765",
      "framework": "next-react",
      "imports": "",
      "lines": 770,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "pnpm",
      "path": "messages/en.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cc42a874134f57b5bc26e519",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "733bf058702e3075",
      "framework": "next-react",
      "imports": "",
      "lines": 770,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "messages/es.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "56ece84c5bd7e71b0fb81aa1",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e4ee59c224632c61",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "bbae80dd69f6238ba0d383a4",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/products, next | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2abb57e2f3204749",
      "framework": "next-react",
      "imports": "@/lib/products,next",
      "lines": 62,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "37ec0633220dac4996959aa0",
      "component_kind": "layout",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout | frontend-score:85 | ui-score:55",
      "exports": "RootLayout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f29a485a9b737e9d",
      "framework": "next-react",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "ea28cc956a219bd7bdb52262",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "786f1eae433b5e42",
      "framework": "next-react",
      "imports": "",
      "lines": 537,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "3afe48973193fc46838ddffe",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/site, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d1ec0a3473a7c2ac",
      "framework": "next-react",
      "imports": "@/lib/site,next/server",
      "lines": 61,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,discovery",
      "component_id": "f0c9f0049f6f9ce287d9ba1c",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/branding, @/lib/content, @/lib/data, @/lib/products, @/lib/site, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1410e77b4221ec65",
      "framework": "next-react",
      "imports": "@/lib/branding,@/lib/content,@/lib/data,@/lib/products,@/lib/site,next/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5dc8af63c824e4fb21e08c2e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,@vercel/analytics,@vercel/speed-insights,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:generateStaticParams, viewport | imports:@/components/providers/theme-provider, @/components/ui/json-ld, @/components/ui/toaster, @/components/ui/tooltip, @/i18n/routing, @/lib/branding, @/lib/structured-data, @vercel/analytics/next | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | metadata",
      "exports": "generateStaticParams,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b2b3b7295343997",
      "framework": "next-react",
      "imports": "@/components/providers/theme-provider,@/components/ui/json-ld,@/components/ui/toaster,@/components/ui/tooltip,@/i18n/routing,@/lib/branding,@/lib/structured-data,@vercel/analytics/next,@vercel/speed-insights/next,next,next-intl,next-intl/server,next/navigation",
      "lines": 154,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "7cd604c304114c59cc0decfa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:GlobalError | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70",
      "exports": "GlobalError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ae0928874de41a2",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/[locale]/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "58b0cf6bbce642242ec5f4a3",
      "component_kind": "layout",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthLayout | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "AuthLayout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "66eabdffd5f0d31e",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/(auth)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4e0cb6af0be30b4839de7efc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:AuthError | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "AuthError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e099eb68d7cb937c",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/[locale]/(auth)/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "e779e243d55f0937ec2a10e8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/i18n,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RegisterPage | imports:@/app/actions/auth, @/components/layout/brand-logo, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/separator, @/i18n/navigation, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RegisterPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "056e2eb3b1b3f73e",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/layout/brand-logo,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/separator,@/i18n/navigation,lucide-react,next-intl,react",
      "lines": 228,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(auth)/register/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "928ff5fb68d601b38404dbb7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/i18n,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ForgotPasswordPage | imports:@/app/actions/password-reset, @/components/layout/brand-logo, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/i18n/navigation, lucide-react, next-intl | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ForgotPasswordPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7d10b8e62ddab52",
      "framework": "next-react",
      "imports": "@/app/actions/password-reset,@/components/layout/brand-logo,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/i18n/navigation,lucide-react,next-intl,react",
      "lines": 101,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(auth)/forgot-password/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "63d0ed0f99905320bdac20f8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/i18n,lucide-react,next,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResetPasswordPage | imports:@/app/actions/password-reset, @/components/layout/brand-logo, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/i18n/navigation, lucide-react, next-intl | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ResetPasswordPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a47bbbca028c388",
      "framework": "next-react",
      "imports": "@/app/actions/password-reset,@/components/layout/brand-logo,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/i18n/navigation,lucide-react,next-intl,next/navigation,react",
      "lines": 201,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(auth)/reset-password/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a43fb673afafa0fd24b2f94f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/i18n,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/app/actions/auth, @/components/layout/brand-logo, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/separator, @/i18n/navigation, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a00dce049e555b1",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/layout/brand-logo,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/separator,@/i18n/navigation,lucide-react,next-intl,react",
      "lines": 180,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(auth)/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,logic",
      "component_id": "5b9c55b71adddb303725e72d",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoreLayout | imports:@/components/ai/chat-widget, @/components/layout/footer, @/components/layout/header, @/components/layout/mobile-bottom-nav, @/components/ui/skip-to-content | frontend-score:85 | ui-score:55 | logic-score:45",
      "exports": "StoreLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7403f09f094f6494",
      "framework": "next-react",
      "imports": "@/components/ai/chat-widget,@/components/layout/footer,@/components/layout/header,@/components/layout/mobile-bottom-nav,@/components/ui/skip-to-content",
      "lines": 24,
      "logic_relevance": "secondary",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,logic",
      "component_id": "9b57e555936e064263af28fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoreError | imports:@/components/ui/button, @/lib/site, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | logic-score:45",
      "exports": "StoreError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "00fab273683e6060",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/site,lucide-react,next/link,react",
      "lines": 49,
      "logic_relevance": "secondary",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "60fed1bfd4e606c1f883935b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/home/category-grid, @/components/home/hero-carousel, @/components/home/testimonials-section, @/components/products/product-card, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "50ec90aa7e185509",
      "framework": "next-react",
      "imports": "@/components/home/category-grid,@/components/home/hero-carousel,@/components/home/testimonials-section,@/components/products/product-card,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/lib/branding,@/lib/data,@/lib/products,@/lib/site,@/lib/utils,lucide-react,next/link",
      "lines": 223,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security,ai",
      "component_id": "51936d96108df67a14c0c522",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next,react,sanitize-html",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPageClient | imports:@/app/actions/contact, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/input, @/lib/data, @/lib/site | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ContactPageClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4763556c36bd10f0",
      "framework": "next-react",
      "imports": "@/app/actions/contact,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/input,@/lib/data,@/lib/site,lucide-react,next/image,next/link,react,sanitize-html",
      "lines": 331,
      "logic_relevance": "secondary",
      "name": "page-client",
      "normalized_name": "page-client",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/contact/page-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,logic",
      "component_id": "187349070eb3bd141e0b4c81",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/lib,next-intl",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:./page-client, @/lib/data, next-intl/server | frontend-score:85 | ui-score:55 | logic-score:45 | metadata",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd80297580e961f0",
      "framework": "next-react",
      "imports": "./page-client,@/lib/data,next-intl/server",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "012530c5475ff1d3db88ac7c",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/products/empty-product-state, @/components/products/product-card, @/components/products/product-toolbar, @/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/input, @/components/ui/pagination-nav | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c277afaf8b833550",
      "framework": "next-react",
      "imports": "@/components/products/empty-product-state,@/components/products/product-card,@/components/products/product-toolbar,@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/input,@/components/ui/pagination-nav,@/lib/products,next/link",
      "lines": 307,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/products/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability",
      "component_id": "2819a4d0089d1be3444cbab0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddToCartQuantity | imports:@/components/products/add-to-cart-button, @/components/products/wishlist-button, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55",
      "exports": "AddToCartQuantity",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45eaeacba9b5c4f2",
      "framework": "next-react",
      "imports": "@/components/products/add-to-cart-button,@/components/products/wishlist-button,@/components/ui/button,lucide-react,react",
      "lines": 60,
      "logic_relevance": "secondary",
      "name": "add-to-cart-quantity",
      "normalized_name": "add-to-cart-quantity",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/products/[slug]/add-to-cart-quantity.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "56dbc7d71b28f8c879dc8751",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next,sanitize-html",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, ProductPage | imports:./add-to-cart-quantity, @/app/actions/wishlist, @/components/products/product-description, @/components/products/product-media-gallery, @/components/products/related-products, @/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/card | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | uses-env | metadata",
      "exports": "BASE_URL,ProductPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad80c74ddfeaf2b0",
      "framework": "next-react",
      "imports": "./add-to-cart-quantity,@/app/actions/wishlist,@/components/products/product-description,@/components/products/product-media-gallery,@/components/products/related-products,@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/card,@/components/ui/json-ld,@/components/ui/separator,@/components/ui/share-buttons,@/lib/auth,@/lib/content,@/lib/products,@/lib/structured-data,@/lib/utils,lucide-react,next,next/link,next/navigation,sanitize-html",
      "lines": 297,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/products/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,logic,automation",
      "component_id": "2619d5025041db575f126b81",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/ui/breadcrumbs, @/components/ui/card, @/lib/site, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2669d9461e266c30",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/components/ui/card,@/lib/site,lucide-react,next/link",
      "lines": 258,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "b613db6676b74880f491bc1f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialItem, TestimonialsClient | imports:@/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "TestimonialItem,TestimonialsClient",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54190becef338c4d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/input,lucide-react,react",
      "lines": 198,
      "logic_relevance": "secondary",
      "name": "page-client",
      "normalized_name": "page-client",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/testimonials/page-client.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability",
      "component_id": "19c124b9109b3dc9a9727104",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./page-client, @/components/ui/breadcrumbs, @/components/ui/json-ld, @/lib/data, @/lib/structured-data, next-intl/server, next/image | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5481e6662553572c",
      "framework": "next-react",
      "imports": "./page-client,@/components/ui/breadcrumbs,@/components/ui/json-ld,@/lib/data,@/lib/structured-data,next-intl/server,next/image",
      "lines": 67,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/testimonials/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,logic,ui,security",
      "component_id": "76188f76e3acafe4232e5dec",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl,sanitize-html",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQPage | imports:@/components/ui/breadcrumbs, @/components/ui/button, @/i18n/navigation, @/lib/content, @/lib/data, @/lib/utils, lucide-react, next-intl/server | frontend-score:115 | logic-score:70 | ui-score:55 | security-score:55 | metadata",
      "exports": "FAQPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "42e5a2d72a9df528",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/components/ui/button,@/i18n/navigation,@/lib/content,@/lib/data,@/lib/utils,lucide-react,next-intl/server,sanitize-html",
      "lines": 125,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/faq/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "37df277bcde6db3a61217a62",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/lib/auth, @/lib/db, @/lib/utils | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a0d7ff1fe19b2cc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/lib/auth,@/lib/db,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 247,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/rewards/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,logic,automation",
      "component_id": "bab9215d516d3191ee67d532",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/lib/site, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | logic-score:45 | automation-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5a8d5ae12d441bc",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/lib/site,lucide-react,next/link",
      "lines": 155,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "d982703d1dffc6e6743cce65",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DealsPage | imports:@/components/products/product-quick-view, @/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/pagination-nav, @/i18n/navigation | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "DealsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5bafe32667b45813",
      "framework": "next-react",
      "imports": "@/components/products/product-quick-view,@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/pagination-nav,@/i18n/navigation,@/lib/products,@/lib/utils,lucide-react,next-intl/server",
      "lines": 146,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/deals/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "80a4347d033c1e2b15fb5571",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl,sanitize-html",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage | imports:@/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/json-ld, @/i18n/navigation, @/lib/data, @/lib/site | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "AboutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5b5a06282371120",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/json-ld,@/i18n/navigation,@/lib/data,@/lib/site,@/lib/structured-data,lucide-react,next-intl/server,sanitize-html",
      "lines": 287,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability",
      "component_id": "ef6462cecbd93a2fd63e04c1",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShippingPage, metadata | imports:@/components/ui/button, @/components/ui/card, @/lib/site, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55",
      "exports": "ShippingPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e754da5018b7b15",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/site,lucide-react,next/link",
      "lines": 178,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/shipping/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "a53d3b80340bee367899b344",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/separator, @/lib/orders, @/lib/utils, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e982e679b69e789",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/separator,@/lib/orders,@/lib/utils,lucide-react,next/link",
      "lines": 163,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/track-order/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "31fce0678c3c109d3e87062a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutPage | imports:@/components/checkout/checkout, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/i18n/navigation, @/lib/auth, @/lib/cart, @/lib/utils | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "CheckoutPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a76a47b3ca886887",
      "framework": "next-react",
      "imports": "@/components/checkout/checkout,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/i18n/navigation,@/lib/auth,@/lib/cart,@/lib/utils,lucide-react,next-intl/server",
      "lines": 118,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/checkout/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,automation",
      "component_id": "d9996e5abbc34c9b2bb8d17d",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CheckoutSuccessPage | imports:@/components/ui/button, @/components/ui/card, @/components/ui/separator, @/i18n/navigation, @/lib/orders, @/lib/site, @/lib/utils, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | metadata",
      "exports": "CheckoutSuccessPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b73e3424009c904a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/i18n/navigation,@/lib/orders,@/lib/site,@/lib/utils,lucide-react,next-intl/server",
      "lines": 197,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/checkout/success/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "8fa2f85dcabbfd5e37d11b64",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/pagination-nav, @/lib/data, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ec4c8a7f625ee93",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/pagination-nav,@/lib/data,lucide-react,next/link",
      "lines": 160,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/blog/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "605fd86fea2b4e04ab793d18",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogCategoryPage | imports:@/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/pagination-nav, @/lib/data, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "BlogCategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8deb64a0f291918b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/pagination-nav,@/lib/data,lucide-react,next/link,next/navigation",
      "lines": 137,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/blog/category/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,ai",
      "component_id": "afd3ce3b30ba2b5db83b9d0e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,sanitize-html",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, BlogPostPage | imports:@/components/blog/blog-comments, @/components/blog/comment-form, @/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/json-ld | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | metadata",
      "exports": "BASE_URL,BlogPostPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7910a40b1108f23",
      "framework": "next-react",
      "imports": "@/components/blog/blog-comments,@/components/blog/comment-form,@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/json-ld,@/components/ui/separator,@/components/ui/share-buttons,@/lib/content,@/lib/data,@/lib/structured-data,lucide-react,next,next/link,next/navigation,sanitize-html",
      "lines": 217,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/blog/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "dacb51db01fbd6e5c608c67e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchPage | imports:@/components/products/product-quick-view, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/input, @/components/ui/pagination-nav, @/i18n/navigation | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | metadata",
      "exports": "SearchPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4dca90d14649a6a3",
      "framework": "next-react",
      "imports": "@/components/products/product-quick-view,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/input,@/components/ui/pagination-nav,@/i18n/navigation,@/lib/products,lucide-react,next-intl/server",
      "lines": 161,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/search/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability,security",
      "component_id": "a5ccabed01e1fd7d22a40ae2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartItemList | imports:@/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/components/ui/separator, @/i18n/navigation, @/lib/cart, @/lib/cart-client, @/lib/site | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55 | security-score:55",
      "exports": "CartItemList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "78ea281e04c49276",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/components/ui/separator,@/i18n/navigation,@/lib/cart,@/lib/cart-client,@/lib/site,@/lib/utils,lucide-react,next-intl,react",
      "lines": 172,
      "logic_relevance": "secondary",
      "name": "cart-items",
      "normalized_name": "cart-items",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/cart/cart-items.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,logic",
      "component_id": "1c0bdca7eda6b09a715dc87e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next-intl",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CartPage | imports:./cart-items, @/components/ui/button, @/i18n/navigation, @/lib/auth, @/lib/cart, @/lib/site, lucide-react, next-intl/server | frontend-score:115 | ui-score:55 | security-score:55 | logic-score:45 | metadata",
      "exports": "CartPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fea4f4dfe791452",
      "framework": "next-react",
      "imports": "./cart-items,@/components/ui/button,@/i18n/navigation,@/lib/auth,@/lib/cart,@/lib/site,lucide-react,next-intl/server",
      "lines": 59,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/cart/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,logic",
      "component_id": "fff0b7bb44e64baedb1e3732",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ReturnsPage, metadata | imports:@/components/ui/button, @/components/ui/card, @/lib/site, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | logic-score:45",
      "exports": "ReturnsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a085637d059d9e4a",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/site,lucide-react,next/link",
      "lines": 203,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/returns/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "747b1f800d6965fb0b48f831",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/app/actions/auth, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/auth, @/lib/orders, @/lib/products | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cca76ab83ed6299",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/auth,@/lib/orders,@/lib/products,@/lib/utils,@/lib/wishlists,lucide-react,next/link,next/navigation",
      "lines": 200,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,logic",
      "component_id": "7ac7b2c2b78c6233d28ca51e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/account/settings-form, @/components/ui/button, @/lib/auth, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe79856c0dbf10e1",
      "framework": "next-react",
      "imports": "@/components/account/settings-form,@/components/ui/button,@/lib/auth,lucide-react,next/link,next/navigation",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/settings/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "c1cd2cc23dfed43a7258fff0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/account/address-card, @/components/ui/button, @/components/ui/card, @/lib/addresses, @/lib/auth, lucide-react, next/link, next/navigation | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "064ad71f200abfd0",
      "framework": "next-react",
      "imports": "@/components/account/address-card,@/components/ui/button,@/components/ui/card,@/lib/addresses,@/lib/auth,lucide-react,next/link,next/navigation",
      "lines": 99,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/addresses/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "8c8890911eb71a29822ee645",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/app/actions/addresses, @/components/account/address-form, @/components/ui/button, @/lib/auth, lucide-react, next/link, next/navigation | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6917071d46fdb3a2",
      "framework": "next-react",
      "imports": "@/app/actions/addresses,@/components/account/address-form,@/components/ui/button,@/lib/auth,lucide-react,next/link,next/navigation",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/addresses/new/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "9359171959f35768fc9408cc",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/app/actions/addresses, @/components/account/address-form, @/components/ui/button, @/lib/addresses, @/lib/auth, lucide-react, next/link, next/navigation | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec08910aabea9695",
      "framework": "next-react",
      "imports": "@/app/actions/addresses,@/components/account/address-form,@/components/ui/button,@/lib/addresses,@/lib/auth,lucide-react,next/link,next/navigation",
      "lines": 73,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/addresses/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "d8ae7cb0303d577f94fb7f14",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/auth, @/lib/orders, @/lib/products, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "104c013bce0907d6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/auth,@/lib/orders,@/lib/products,lucide-react,next/link,next/navigation",
      "lines": 133,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/orders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "004f4eb0f75106dd79d5d7ef",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccountOrderDetailPage | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/separator, @/lib/auth, @/lib/orders, @/lib/utils, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AccountOrderDetailPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48aca7e67ce80803",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/separator,@/lib/auth,@/lib/orders,@/lib/utils,lucide-react,next/link,next/navigation",
      "lines": 158,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/orders/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,logic,observability",
      "component_id": "49cb4f9458c72d3116e294d2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:WishlistItemCard | imports:@/app/actions/wishlist, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/lib/cart-client, @/lib/utils, @/lib/wishlists | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55",
      "exports": "WishlistItemCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2267cf7818de81b7",
      "framework": "next-react",
      "imports": "@/app/actions/wishlist,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/lib/cart-client,@/lib/utils,@/lib/wishlists,lucide-react,next/link,react",
      "lines": 120,
      "logic_relevance": "secondary",
      "name": "wishlist-item-card",
      "normalized_name": "wishlist-item-card",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/wishlist/wishlist-item-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "cdbdbbe9287055f0434a5939",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:./wishlist-item-card, @/components/ui/button, @/components/ui/card, @/lib/auth, @/lib/wishlists, lucide-react, next/link, next/navigation | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eff12aa1172fc7c9",
      "framework": "next-react",
      "imports": "./wishlist-item-card,@/components/ui/button,@/components/ui/card,@/lib/auth,@/lib/wishlists,lucide-react,next/link,next/navigation",
      "lines": 71,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/account/wishlist/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,ai",
      "component_id": "aa82c2547f4fba9e23f55412",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AccessibilityPage, metadata | imports:@/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/lib/site, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AccessibilityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c83d9fc4db973cda",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/lib/site,lucide-react,next/link",
      "lines": 218,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/accessibility/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,logic,ui,security",
      "component_id": "767b918dacba88e712765a81",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/categories/category-art, @/components/ui/badge, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/products, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "85869e815d2343c0",
      "framework": "next-react",
      "imports": "@/components/categories/category-art,@/components/ui/badge,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/products,lucide-react,next/link",
      "lines": 170,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/categories/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,logic,ui,security",
      "component_id": "e61f39a1883bb83e69d83c61",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:BASE_URL, CategoryPage | imports:@/components/products/empty-product-state, @/components/products/product-card, @/components/products/product-toolbar, @/components/ui/breadcrumbs, @/components/ui/button, @/components/ui/input, @/components/ui/json-ld, @/components/ui/pagination-nav | frontend-score:115 | logic-score:70 | ui-score:55 | security-score:55 | uses-env | metadata",
      "exports": "BASE_URL,CategoryPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd4a7bc56b094ff7",
      "framework": "next-react",
      "imports": "@/components/products/empty-product-state,@/components/products/product-card,@/components/products/product-toolbar,@/components/ui/breadcrumbs,@/components/ui/button,@/components/ui/input,@/components/ui/json-ld,@/components/ui/pagination-nav,@/lib/products,@/lib/structured-data,lucide-react,next,next/link,next/navigation",
      "lines": 313,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/categories/[slug]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,logic,ui,observability,security,automation",
      "component_id": "100292a588d79867b57a09bb",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CookiesPage, metadata | imports:@/components/ui/breadcrumbs, @/components/ui/card, @/lib/site, lucide-react, next/link | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CookiesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7e536da20cdc59b",
      "framework": "next-react",
      "imports": "@/components/ui/breadcrumbs,@/components/ui/card,@/lib/site,lucide-react,next/link",
      "lines": 230,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/cookies/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,logic",
      "component_id": "b35c0107656e957e19b0fc38",
      "component_kind": "page",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:WishlistRedirectPage | imports:next/navigation | frontend-score:115 | ui-score:55 | logic-score:45",
      "exports": "WishlistRedirectPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "61f12fad3f3fa8e4",
      "framework": "next-react",
      "imports": "next/navigation",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/[locale]/(store)/wishlist/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "aa88d67668ba96bc22ea771b",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminLayout | imports:@/app/actions/auth, @/components/ui/button, @/lib/auth, @/lib/db, lucide-react, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "AdminLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fa5dc79c2c8a7ae",
      "framework": "next-react",
      "imports": "@/app/actions/auth,@/components/ui/button,@/lib/auth,@/lib/db,lucide-react,next/link,next/navigation",
      "lines": 113,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/admin/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "f03f2e429a0d20a6d36e81b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdminError | imports:@/components/ui/button, lucide-react, next/link, react | frontend-score:115 | ui-score:70",
      "exports": "AdminError",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "201c053b96e5ee3f",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link,react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "app/admin/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a9fcd463237b0872fb2e063f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/db, @/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26e4733c494abaf9",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/db,@/lib/utils,lucide-react,next/link",
      "lines": 282,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "db8ad8ecc1b4e78b867c5380",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/db, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48b93a3c50d919ea",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/db,@/lib/utils,lucide-react,next/link",
      "lines": 279,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/customers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "f5e6712ee58ed1ff5e91de4e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/db, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e44c497a2f47bb4",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/db,@/lib/utils,lucide-react,next/link",
      "lines": 276,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/products/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security",
      "component_id": "9423ea157597b6b6079015a5",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/dropdown-menu, @/components/ui/input, @/lib/db, @/lib/utils, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ef3b6dbd8f1985b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/dropdown-menu,@/components/ui/input,@/lib/db,@/lib/utils,lucide-react,next/link",
      "lines": 295,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/admin/orders/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "4e8ff54a460824f499a86767",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,zod",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/auth, @/lib/db, @/lib/logger, next/navigation, zod | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d419df180c716520",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/logger,next/navigation,zod",
      "lines": 106,
      "logic_relevance": "none",
      "name": "account",
      "normalized_name": "account",
      "package_manager": "pnpm",
      "path": "app/actions/account.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "985f4852415f9a83f9b6552f",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ContactFormData | imports:@/lib/db, @/lib/logger, @/lib/site, zod | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "ContactFormData",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ccc3a90994d5226a",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/site,zod",
      "lines": 86,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "pnpm",
      "path": "app/actions/contact.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration",
      "component_id": "ce01347fd17e8d3abb5f6bf7",
      "component_kind": "integration-module",
      "confidence": 75,
      "dependency_roots": "@/lib",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/lib/checkout | integration-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb10df5cacdb2bda",
      "framework": "next-react",
      "imports": "@/lib/checkout",
      "lines": 15,
      "logic_relevance": "none",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "app/actions/stripe.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "4d5cc0b091bc4411489572dc",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,zod",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/addresses, @/lib/auth, @/lib/logger, next/navigation, zod | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "44d03db28fbba287",
      "framework": "next-react",
      "imports": "@/lib/addresses,@/lib/auth,@/lib/logger,next/navigation,zod",
      "lines": 114,
      "logic_relevance": "none",
      "name": "addresses",
      "normalized_name": "addresses",
      "package_manager": "pnpm",
      "path": "app/actions/addresses.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f26af1c9fd70fe88923796f2",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib,node:crypto,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PASSWORD_RESET_TTL_SECONDS | imports:@/lib/auth, @/lib/checkout, @/lib/db, @/lib/legacy-mail, @/lib/logger, @/lib/redis, node:crypto, zod | observability-score:55 | security-score:55",
      "exports": "PASSWORD_RESET_TTL_SECONDS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "046861abe16ab00d",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/checkout,@/lib/db,@/lib/legacy-mail,@/lib/logger,@/lib/redis,node:crypto,zod",
      "lines": 130,
      "logic_relevance": "none",
      "name": "password-reset",
      "normalized_name": "password-reset",
      "package_manager": "pnpm",
      "path": "app/actions/password-reset.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b9e9034400233c63fae6c94a",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "@/lib,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/auth, @/lib/db, @/lib/logger, zod | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a10332e3969c9a2f",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,@/lib/logger,zod",
      "lines": 107,
      "logic_relevance": "none",
      "name": "wishlist",
      "normalized_name": "wishlist",
      "package_manager": "pnpm",
      "path": "app/actions/wishlist.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e1737b7da84c5b1694574b97",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@/lib,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BlogCommentFormData | imports:@/lib/db, @/lib/logger, zod | observability-score:55 | security-score:55",
      "exports": "BlogCommentFormData",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4178720e5e7d334",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,zod",
      "lines": 64,
      "logic_relevance": "none",
      "name": "blog-comments",
      "normalized_name": "blog-comments",
      "package_manager": "pnpm",
      "path": "app/actions/blog-comments.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "978af4e5cbc17cf687a6e096",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/lib,zod",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/auth, @/lib/cart, zod | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f04c29bae53e5d8",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/cart,zod",
      "lines": 88,
      "logic_relevance": "none",
      "name": "cart",
      "normalized_name": "cart",
      "package_manager": "pnpm",
      "path": "app/actions/cart.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "44ef606201e8eed9a322df1d",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next,zod",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/auth, @/lib/logger, @/lib/notifications, next/navigation, zod | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb880cd1c6619a54",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/logger,@/lib/notifications,next/navigation,zod",
      "lines": 124,
      "logic_relevance": "none",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "app/actions/auth.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "c37236762b473decc592388d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3a04c0f86ef84d79",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/products,next/server,zod",
      "lines": 72,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "ba2835dc1b498fb8225e7447",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "efa9fe73a8eb47dd",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products,next/server,zod",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "81df3366c91aa05627fd45d3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5d7c754047792b79",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products,next/server,zod",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/[slug]/images/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "248e2cc9d416ff8324223466",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a41e29366844ab9a",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products,next/server,zod",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/products/[slug]/related/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c80279ae1071c5fb212d6f70",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/logger | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "89ae9ae6890545a2",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/logger",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth/logout/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "48819cd2b669ad998eda7c51",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "22e0656bccec9e16",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/logger,next/server,zod",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth/register/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fad896d5f7ac75f53604dbee",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "67579c8b62fb6383",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/logger,next/server,zod",
      "lines": 42,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth/forgot-password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "d0d96e18cfe38e96c487e4f3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a8ef83a2ae82b212",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,next/server,zod",
      "lines": 30,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth/reset-password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "3e758d16f2f2a08d3d9ab724",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1e79beef9973209b",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/logger,next/server,zod",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth/login/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "4a1415b6bb68d219a8aea7e0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/logger | backend-score:125 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0e828b98bba2906e",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/logger",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/auth/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6aedb63be0411f302870ab94",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/data, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7c103e332613d76b",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/data,@/lib/logger,next/server,zod",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/testimonials/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "afdbba900f01f2c62dbc2440",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/data, @/lib/logger | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "41350a9b8dc79ac6",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/data,@/lib/logger",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/faqs/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8f2e81993874ad019fd11ede",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/data, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6fb6e2d9b1efb4f5",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/data,@/lib/logger,next/server,zod",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/content/pages/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "5a9ce0b469e3aee0d87c5cfa",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/logger, @/lib/shipping, @/lib/site, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "c3c41d413d3c4e90",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/shipping,@/lib/site,next/server,zod",
      "lines": 54,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/shipping/rates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "52bf89a35c1d0eaf526f2eef",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/checkout, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "71331423e09ed0b3",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/checkout,@/lib/logger,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/checkout/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "38a006c30ae6617cd45ea290",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/data, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0afbccf5b14558ad",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/data,@/lib/logger,next/server,zod",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/blog/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f7c499932a07eba14022800e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/data, @/lib/logger | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e43ef3a9b334c816",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/data,@/lib/logger",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/blog/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c73354979efeeefbcde2da6b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/data, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "07e0cb081d140054",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/data,@/lib/logger,next/server,zod",
      "lines": 39,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/blog/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "c7442a4f4d759a7385e9d10f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/data, @/lib/db, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8cee666c48d3a01d",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/data,@/lib/db,@/lib/logger,next/server,zod",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/blog/[slug]/comments/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6631414e75ee976c71b31315",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbadb4e4b8d11092",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products,next/server,zod",
      "lines": 37,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/search/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "47d558c015bd5e51b437cdf3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/coupons, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9a0df101641e2ad4",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/coupons,@/lib/logger,next/server,zod",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/coupons/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "90b63f1c8bb46398bdae4521",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/cart, @/lib/logger, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6355c7f4d3113f8a",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/cart,@/lib/logger,next/server",
      "lines": 33,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/cart/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "32462e3d5ff148337d3e394b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/cart, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "3a08983eb3568a55",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/cart,@/lib/logger,next/server,zod",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/cart/items/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "347e29e18ecadd1479721ca8",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/auth, @/lib/cart, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "aa6fc4532888ec37",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/auth,@/lib/cart,@/lib/logger,next/server,zod",
      "lines": 52,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/cart/items/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f41c1557c5c65a7585c8a6bb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "2daf1dccfff2c19d",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products",
      "lines": 17,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/product-types/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e7c95764b23b5881c481cd02",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/orders, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1d0abdb415bf6d28",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/orders,next/server,zod",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/orders/track/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bc852e39568bfcf8202f7b98",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d511786df1c509bb",
      "framework": "next-react",
      "imports": "@/lib/logger,next/server,zod",
      "lines": 108,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/newsletter/subscribe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "36e033a94ea42a42a045ae9e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, PATCH, runtime | imports:@/lib/api, @/lib/db, @/lib/logger, next/server, zod | backend-score:90 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,PATCH,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "1990fdd92d451c3f",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/db,@/lib/logger,next/server,zod",
      "lines": 57,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/profile/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "682cc51fcad6d4fc6f7f1452",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/lib/addresses, @/lib/api, @/lib/logger, next/server, zod | backend-score:90 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "09d6e4c420d16a00",
      "framework": "next-react",
      "imports": "@/lib/addresses,@/lib/api,@/lib/logger,next/server,zod",
      "lines": 47,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/addresses/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "fcfe20e39c7d8e5254d1d3e6",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, PATCH, runtime | imports:@/lib/addresses, @/lib/api, @/lib/logger, next/server, zod | backend-score:90 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "DELETE,PATCH,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "a4cecc695a096597",
      "framework": "next-react",
      "imports": "@/lib/addresses,@/lib/api,@/lib/logger,next/server,zod",
      "lines": 69,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/addresses/[id]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "03e38ce034efcfa545748457",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, runtime | imports:@/lib/api, @/lib/logger, @/lib/orders, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17299b5f74771634",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/orders,next/server",
      "lines": 21,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/orders/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "2696d63fe93bee2ee730b7ac",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GET, runtime | imports:@/lib/api, @/lib/logger, @/lib/orders, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,runtime",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b3d2996468a7ce3",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/orders,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/orders/[id]/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "e441c827f6345815e0eff001",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST, runtime | imports:@/lib/api, @/lib/logger, @/lib/wishlists, next/server, zod | backend-score:90 | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "GET,POST,runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "bb1740e68ab15236",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/wishlists,next/server,zod",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/wishlist/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,backend,observability,security",
      "component_id": "403f1e457ce57809228c591b",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DELETE, runtime | imports:@/lib/api, @/lib/logger, @/lib/wishlists, next/server | frontend-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "DELETE,runtime",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b006c017c193e1d",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/wishlists,next/server",
      "lines": 32,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/account/wishlist/[productId]/route.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "fbc76ef1f6a4e831b3b366d1",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "8baccfb656609152",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products,next/server,zod",
      "lines": 19,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "e4719e7f5b7a1591afdec181",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api, @/lib/logger, @/lib/products, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "6c98a9d457841a27",
      "framework": "next-react",
      "imports": "@/lib/api,@/lib/logger,@/lib/products,next/server,zod",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/v1/categories/[slug]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,security",
      "component_id": "e1ab2883c3a1e98e67a849a3",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/api/deprecation, @/lib/auth, next/server | backend-score:125 | frontend-score:55 | security-score:55 | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d28479cd75b59767",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,@/lib/auth,next/server",
      "lines": 31,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/auth/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,automation",
      "component_id": "9a1666d0336d35e96561aaec",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/db, @/lib/flags, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "f78854cdc34f5508",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/flags,next/server",
      "lines": 81,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8686d8d0222b2cc33cc229ea",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/deprecation, @/lib/logger, @/lib/shipping, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9cae1779e2657c01",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,@/lib/logger,@/lib/shipping,next/server,zod",
      "lines": 56,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/shipping/rates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,automation,ai",
      "component_id": "537c6e900ebcc6f0bb8573bc",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, runtime | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | automation-score:45 | ai-score:45 | next-route-handler | model-provider",
      "exports": "dynamic,runtime",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b4240efb9a88ba80",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 1343,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "788b170948b5e548a650e68f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SHIPMENT_API_URL | imports:@/lib/auth, @/lib/cart, @/lib/logger, @/lib/shipping, @/lib/site, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "POST,SHIPMENT_API_URL",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "cbb119fd38a4882b",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/cart,@/lib/logger,@/lib/shipping,@/lib/site,next/server,zod",
      "lines": 203,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/checkout/shipping-rates/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "1715b67788eabdcbe83ea2eb",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/deprecation, @/lib/checkout, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "907c221674ba7200",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,@/lib/checkout,next/server",
      "lines": 38,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/checkout/session/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "8ebfdc5189715ee3cb7ddd7e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/deprecation, @/lib/coupons, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "54ad1bd40eae8c9d",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,@/lib/coupons,@/lib/logger,next/server,zod",
      "lines": 62,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/coupons/validate/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,frontend,observability,security",
      "component_id": "8b18247f7d0058f8d051910d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,@ai-sdk/openai,ai,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST, SYSTEM_PROMPT | imports:@/lib/flags, @/lib/logger, @/lib/site, @ai-sdk/openai, ai, next/server | backend-score:125 | ai-score:120 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler | model-provider",
      "exports": "POST,SYSTEM_PROMPT",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "22266759bcde5a47",
      "framework": "next-react",
      "imports": "@/lib/flags,@/lib/logger,@/lib/site,@ai-sdk/openai,ai,next/server",
      "lines": 106,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/ai/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "19a3f925de105ae0dfba0cda",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, GET, PATCH, POST | imports:@/lib/api/deprecation, @/lib/auth, @/lib/cart, @/lib/logger, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "DELETE,GET,PATCH,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0726492ee6986db1",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,@/lib/auth,@/lib/cart,@/lib/logger,next/server,zod",
      "lines": 127,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/cart/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "6f2e8a6943889b8907c75419",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/lib/api/deprecation, @/lib/logger, @/lib/mailchimp, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "51816da1cc33f93b",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,@/lib/logger,@/lib/mailchimp,next/server,zod",
      "lines": 63,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/newsletter/subscribe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery",
      "component_id": "4e9571d0ce045c139f3acef0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic, revalidate | imports:@/lib/content, @/lib/data, @/lib/products, @/lib/site, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | uses-env | next-route-handler",
      "exports": "dynamic,revalidate",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0475635e0cf3b867",
      "framework": "next-react",
      "imports": "@/lib/content,@/lib/data,@/lib/products,@/lib/site,next/server",
      "lines": 183,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security,automation",
      "component_id": "68f29dc4c52ae4967af9e98f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:runtime | imports:@/lib/cart, @/lib/logger, @/lib/notifications, @/lib/orders, @/lib/stripe, @/lib/wishlists, next/server, stripe | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "runtime",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "91ac34cf869a23b2",
      "framework": "next-react",
      "imports": "@/lib/cart,@/lib/logger,@/lib/notifications,@/lib/orders,@/lib/stripe,@/lib/wishlists,next/server,stripe",
      "lines": 138,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/stripe/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "0a0fb28fad9b03c5d8427cb6",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f1e5f39d648f60c8",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "shopify-pages-upsert",
      "normalized_name": "shopify-pages-upsert",
      "package_manager": "pnpm",
      "path": "csv_export/shopify-pages-upsert.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,process",
      "component_id": "94fc55976c1deac181b03f83",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | automation-score:50 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a8e52dd25741b709",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 164,
      "logic_relevance": "none",
      "name": "smoke.spec",
      "normalized_name": "smoke",
      "package_manager": "pnpm",
      "path": "tests/post-deploy/smoke.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "b2f5954c4b1f109f6d5f29fa",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/auth, @/lib/session-cookie, vitest | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "580a416774ba3789",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/session-cookie,vitest",
      "lines": 320,
      "logic_relevance": "primary",
      "name": "auth-store.test",
      "normalized_name": "auth-store",
      "package_manager": "pnpm",
      "path": "tests/unit/auth-store.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "61f18ec87612c9dc852f5ffb",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react,react,react-dom,vitest",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "imports:@/components/ui/button, @testing-library/react, react, react-dom/server, vitest | ui-score:140 | frontend-score:90",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3c20ac1a59276b01",
      "framework": "next-react",
      "imports": "@/components/ui/button,@testing-library/react,react,react-dom/server,vitest",
      "lines": 108,
      "logic_relevance": "none",
      "name": "button.test",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "tests/unit/button.test.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e06a542b8d5be60655777be9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/flags, vitest | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "026a9d340778d717",
      "framework": "next-react",
      "imports": "@/lib/flags,vitest",
      "lines": 80,
      "logic_relevance": "none",
      "name": "flags.test",
      "normalized_name": "flags",
      "package_manager": "pnpm",
      "path": "tests/unit/flags.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "70e1f34e217f70f5e2ffbdb3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/[locale]/(store)/products/page, react, react-dom/server, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79bebcc28666f395",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/products/page,react,react-dom/server,vitest",
      "lines": 241,
      "logic_relevance": "none",
      "name": "products-page.test",
      "normalized_name": "products-page",
      "package_manager": "pnpm",
      "path": "tests/unit/products-page.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dd617ab4bac0071efc8074f9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/app/[locale]/(store)/products/[slug]/page, react, react-dom/server, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd76616f8bfe19f3",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/products/[slug]/page,react,react-dom/server,vitest",
      "lines": 69,
      "logic_relevance": "none",
      "name": "product-slug-page.test",
      "normalized_name": "product-slug-page",
      "package_manager": "pnpm",
      "path": "tests/unit/product-slug-page.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,logic,observability,security",
      "component_id": "cff5c93285c4683acff9af43",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest,zod",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest, zod | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e83ba53ea9df12c6",
      "framework": "next-react",
      "imports": "vitest,zod",
      "lines": 323,
      "logic_relevance": "secondary",
      "name": "api-v1-schemas.test",
      "normalized_name": "api-v1-schemas",
      "package_manager": "pnpm",
      "path": "tests/unit/api-v1-schemas.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c99542bfccf101197155d746",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/content, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b46f527d844fa23",
      "framework": "next-react",
      "imports": "@/lib/content,vitest",
      "lines": 60,
      "logic_relevance": "none",
      "name": "content.test",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "tests/unit/content.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8923a312ad49c5f7a5af7344",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/mailchimp, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4ca3b54b9c62402",
      "framework": "next-react",
      "imports": "@/lib/mailchimp,vitest",
      "lines": 237,
      "logic_relevance": "none",
      "name": "newsletter-subscribe.test",
      "normalized_name": "newsletter-subscribe",
      "package_manager": "pnpm",
      "path": "tests/unit/newsletter-subscribe.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,observability,security",
      "component_id": "104724325839dfb5ba39a98b",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/rate-limit, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d742c82e986fce9",
      "framework": "next-react",
      "imports": "@/lib/api/rate-limit,next/server,vitest",
      "lines": 58,
      "logic_relevance": "none",
      "name": "api-rate-limit.test",
      "normalized_name": "api-rate-limit",
      "package_manager": "pnpm",
      "path": "tests/unit/api-rate-limit.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "35f9d5ee1f0f8edb896d90ea",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/components,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/components/layout/header, react, react-dom/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "517591fb3f5dbbc1",
      "framework": "next-react",
      "imports": "@/components/layout/header,react,react-dom/server,vitest",
      "lines": 186,
      "logic_relevance": "none",
      "name": "header-aria.test",
      "normalized_name": "header-aria",
      "package_manager": "pnpm",
      "path": "tests/unit/header-aria.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "18d12bfc4a775f6cfa88f2a1",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/utils, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e86405306dca7ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,vitest",
      "lines": 116,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "tests/unit/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "8d2eba42100b39c32340213c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/shipping, vitest | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "448de34a7145aa33",
      "framework": "next-react",
      "imports": "@/lib/shipping,vitest",
      "lines": 1289,
      "logic_relevance": "none",
      "name": "shipping-international.test",
      "normalized_name": "shipping-international",
      "package_manager": "pnpm",
      "path": "tests/unit/shipping-international.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "6d865325cb8671fa2ffca932",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/components,react,react-dom,vitest",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/components/ui/skip-to-content, react, react-dom/server, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4699430fd54a683",
      "framework": "next-react",
      "imports": "@/components/ui/skip-to-content,react,react-dom/server,vitest",
      "lines": 44,
      "logic_relevance": "none",
      "name": "skip-to-content.test",
      "normalized_name": "skip-to-content",
      "package_manager": "pnpm",
      "path": "tests/unit/skip-to-content.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "eb9f443e8998ab805331e496",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/auth, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5262b54920822ce",
      "framework": "next-react",
      "imports": "@/app/actions/auth,vitest",
      "lines": 207,
      "logic_relevance": "none",
      "name": "auth-actions.test",
      "normalized_name": "auth-actions",
      "package_manager": "pnpm",
      "path": "tests/unit/auth-actions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "6586dcaa2085ab9d500ed667",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/orders, vitest | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0e4e64892ce6eb9a",
      "framework": "next-react",
      "imports": "@/lib/orders,vitest",
      "lines": 349,
      "logic_relevance": "primary",
      "name": "orders-core.test",
      "normalized_name": "orders-core",
      "package_manager": "pnpm",
      "path": "tests/unit/orders-core.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3b2a1544787d1fb4a98158dd",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/hooks,@testing-library/react,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/hooks/use-toast, @testing-library/react, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e0a6baf98b2640e",
      "framework": "next-react",
      "imports": "@/hooks/use-toast,@testing-library/react,vitest",
      "lines": 142,
      "logic_relevance": "none",
      "name": "use-toast.test",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "tests/unit/use-toast.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "9ecc3786bd5d811092aadfe4",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/app/[locale]/(store)/categories/[slug]/page, react, react-dom/server, vitest | automation-score:45 | metadata",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "95c317d23332bcf0",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/categories/[slug]/page,react,react-dom/server,vitest",
      "lines": 347,
      "logic_relevance": "none",
      "name": "category-page.test",
      "normalized_name": "category-page",
      "package_manager": "pnpm",
      "path": "tests/unit/category-page.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "9c8bfba6e26803c516c3ad4f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,@/next.config,vitest",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/security-headers, @/next.config, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1e50fdafceccffe",
      "framework": "next-react",
      "imports": "@/lib/security-headers,@/next.config,vitest",
      "lines": 90,
      "logic_relevance": "none",
      "name": "next-config-headers.test",
      "normalized_name": "next-config-headers",
      "package_manager": "pnpm",
      "path": "tests/unit/next-config-headers.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "18b9e8d6d7c1ca211cc069a9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,node:child_process,node:fs,node:os,node:path,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/legacy-mail, node:child_process, node:fs, node:os, node:path, vitest | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ae3b302cb3e4fcb",
      "framework": "next-react",
      "imports": "@/lib/legacy-mail,node:child_process,node:fs,node:os,node:path,vitest",
      "lines": 278,
      "logic_relevance": "none",
      "name": "legacy-tooling.test",
      "normalized_name": "legacy-tooling",
      "package_manager": "pnpm",
      "path": "tests/unit/legacy-tooling.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "055f5747bbd611126b2161d7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/notifications, @/lib/orders, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "616e72ccf14141df",
      "framework": "next-react",
      "imports": "@/lib/notifications,@/lib/orders,vitest",
      "lines": 311,
      "logic_relevance": "none",
      "name": "notifications.test",
      "normalized_name": "notifications",
      "package_manager": "pnpm",
      "path": "tests/unit/notifications.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "85e0c1dc6539f4ade200ee03",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/components,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/components/layout/footer, react, react-dom/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e87ef1a6e038d6e3",
      "framework": "next-react",
      "imports": "@/components/layout/footer,react,react-dom/server,vitest",
      "lines": 214,
      "logic_relevance": "none",
      "name": "footer-aria.test",
      "normalized_name": "footer-aria",
      "package_manager": "pnpm",
      "path": "tests/unit/footer-aria.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration,security",
      "component_id": "644e188bd79e25c856b22908",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@/lib,stripe,vitest",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:StripeMock | imports:@/lib/stripe, stripe, vitest | integration-score:55 | security-score:55 | uses-env",
      "exports": "StripeMock",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "073bd82bbde6ce5f",
      "framework": "next-react",
      "imports": "@/lib/stripe,stripe,vitest",
      "lines": 74,
      "logic_relevance": "none",
      "name": "stripe.test",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "tests/unit/stripe.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "69a3461f8ddf5deb7c591fb6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/addresses, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6be132de8bea2214",
      "framework": "next-react",
      "imports": "@/lib/addresses,vitest",
      "lines": 298,
      "logic_relevance": "none",
      "name": "addresses.test",
      "normalized_name": "addresses",
      "package_manager": "pnpm",
      "path": "tests/unit/addresses.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "e543bc7aaf37c543a5a6f2e2",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "@/lib,bcryptjs,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/auth, @/lib/session-cookie, @/lib/utils, bcryptjs, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bdbae171473263a",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/session-cookie,@/lib/utils,bcryptjs,vitest",
      "lines": 98,
      "logic_relevance": "none",
      "name": "auth-legacy.test",
      "normalized_name": "auth-legacy",
      "package_manager": "pnpm",
      "path": "tests/unit/auth-legacy.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,observability,security,automation",
      "component_id": "1f72f1a94ec8c5a6ba3e57ed",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/app/actions/wishlist, @/lib/cart-client, @/lib/checkout, @/lib/coupons, @/lib/wishlists, vitest | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f735db132dc80bb0",
      "framework": "next-react",
      "imports": "@/app/actions/wishlist,@/lib/cart-client,@/lib/checkout,@/lib/coupons,@/lib/wishlists,vitest",
      "lines": 455,
      "logic_relevance": "primary",
      "name": "commerce-domain.test",
      "normalized_name": "commerce-domain",
      "package_manager": "pnpm",
      "path": "tests/unit/commerce-domain.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "ec0d1bdc399b27aecc403e11",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:MOCK_CART_EMPTY, MOCK_CART_NO_WEIGHT, MOCK_CART_WITH_ITEMS, VALID_ADDRESS | imports:@/app/api/checkout/shipping-rates/route, @/lib/shipping, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "MOCK_CART_EMPTY,MOCK_CART_NO_WEIGHT,MOCK_CART_WITH_ITEMS,VALID_ADDRESS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "045af4b10738cad1",
      "framework": "next-react",
      "imports": "@/app/api/checkout/shipping-rates/route,@/lib/shipping,next/server,vitest",
      "lines": 557,
      "logic_relevance": "none",
      "name": "shipping-rates-route.test",
      "normalized_name": "shipping-rates-route",
      "package_manager": "pnpm",
      "path": "tests/unit/shipping-rates-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3c1e01825cec777d3ad6110f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/password-reset, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0d4942c4362828b",
      "framework": "next-react",
      "imports": "@/app/actions/password-reset,vitest",
      "lines": 224,
      "logic_relevance": "none",
      "name": "password-reset-actions.test",
      "normalized_name": "password-reset-actions",
      "package_manager": "pnpm",
      "path": "tests/unit/password-reset-actions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0dfc39b60de2057f0659659f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/orders, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4582c06349e32a6",
      "framework": "next-react",
      "imports": "@/lib/orders,vitest",
      "lines": 349,
      "logic_relevance": "none",
      "name": "orders.test",
      "normalized_name": "orders",
      "package_manager": "pnpm",
      "path": "tests/unit/orders.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3a1e3581a5f013cf6b50c8e6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/wishlist, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "955d68b7f7a9ff27",
      "framework": "next-react",
      "imports": "@/app/actions/wishlist,vitest",
      "lines": 93,
      "logic_relevance": "none",
      "name": "wishlist-actions.test",
      "normalized_name": "wishlist-actions",
      "package_manager": "pnpm",
      "path": "tests/unit/wishlist-actions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "901495264a6a40f5be17479d",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/middleware,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FakeHeaders | imports:@/middleware, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FakeHeaders",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "436a5290ef7ecb8b",
      "framework": "next-react",
      "imports": "@/middleware,vitest",
      "lines": 168,
      "logic_relevance": "none",
      "name": "middleware.test",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "tests/unit/middleware.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "7607f2c2f41ae8b1d25de5d6",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/assets, @/lib/data, vitest | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "06c9c1e8cd162d98",
      "framework": "next-react",
      "imports": "@/lib/assets,@/lib/data,vitest",
      "lines": 243,
      "logic_relevance": "none",
      "name": "data.test",
      "normalized_name": "data",
      "package_manager": "pnpm",
      "path": "tests/unit/data.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "cc60159a6c81d334be9a900b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/request-context, vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "191328a8cc557c2a",
      "framework": "next-react",
      "imports": "@/lib/request-context,vitest",
      "lines": 136,
      "logic_relevance": "none",
      "name": "request-context.test",
      "normalized_name": "request-context",
      "package_manager": "pnpm",
      "path": "tests/unit/request-context.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "15e367098ea1055ca6faf81d",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/checkout, vitest | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "652e9a0b40aea71d",
      "framework": "next-react",
      "imports": "@/lib/checkout,vitest",
      "lines": 210,
      "logic_relevance": "none",
      "name": "checkout.test",
      "normalized_name": "checkout",
      "package_manager": "pnpm",
      "path": "tests/unit/checkout.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "5d5e7b2fd382d86662574099",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/api/webhooks/stripe/route, vitest | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3755b5d12a83748d",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/stripe/route,vitest",
      "lines": 202,
      "logic_relevance": "none",
      "name": "order-confirmation.test",
      "normalized_name": "order-confirmation",
      "package_manager": "pnpm",
      "path": "tests/unit/order-confirmation.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "449459eee51663053d140060",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:fs, node:path, vitest | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3334ca4a81155c11",
      "framework": "next-react",
      "imports": "node:fs,node:path,vitest",
      "lines": 48,
      "logic_relevance": "none",
      "name": "logo-pack-script.test",
      "normalized_name": "logo-pack-script",
      "package_manager": "pnpm",
      "path": "tests/unit/logo-pack-script.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "security,automation",
      "component_id": "b471b7dc571a0953f3470f4b",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/components,react,react-dom,vitest",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/components/products/product-sort, react, react-dom/server, vitest | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3139226471100ac",
      "framework": "next-react",
      "imports": "@/components/products/product-sort,react,react-dom/server,vitest",
      "lines": 81,
      "logic_relevance": "none",
      "name": "product-sort.test",
      "normalized_name": "product-sort",
      "package_manager": "pnpm",
      "path": "tests/unit/product-sort.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "7edd29594b890748b12055b9",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/security-headers, vitest | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dc3ae2091516bb2",
      "framework": "next-react",
      "imports": "@/lib/security-headers,vitest",
      "lines": 247,
      "logic_relevance": "none",
      "name": "security-headers.test",
      "normalized_name": "security-headers",
      "package_manager": "pnpm",
      "path": "tests/unit/security-headers.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "85fa930b3a0bb4eb7d50d60e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/products, @/lib/redis, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "881b3043153fdad7",
      "framework": "next-react",
      "imports": "@/lib/products,@/lib/redis,vitest",
      "lines": 281,
      "logic_relevance": "none",
      "name": "products.test",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "tests/unit/products.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bfab1b4ec40d73e92d7f3ed1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/blog-comments, @/lib/data, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4405108812ceba71",
      "framework": "next-react",
      "imports": "@/app/actions/blog-comments,@/lib/data,vitest",
      "lines": 193,
      "logic_relevance": "none",
      "name": "blog-comments.test",
      "normalized_name": "blog-comments",
      "package_manager": "pnpm",
      "path": "tests/unit/blog-comments.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "46f2884a8195f7bac0ed5d9d",
      "component_kind": "middleware",
      "confidence": 90,
      "dependency_roots": "@/lib,@/middleware,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FakeHeaders, SECURITY_HEADER_KEYS | imports:@/lib/security-headers, @/middleware, vitest | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FakeHeaders,SECURITY_HEADER_KEYS",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be7a8ce289761a99",
      "framework": "next-react",
      "imports": "@/lib/security-headers,@/middleware,vitest",
      "lines": 199,
      "logic_relevance": "none",
      "name": "middleware-security-headers.test",
      "normalized_name": "middleware-security-headers",
      "package_manager": "pnpm",
      "path": "tests/unit/middleware-security-headers.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,logic,ai",
      "component_id": "c8bbe40a135d6af228256cd7",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest,zod",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:vitest, zod | backend-score:90 | logic-score:85 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "df9b46a241170713",
      "framework": "next-react",
      "imports": "vitest,zod",
      "lines": 223,
      "logic_relevance": "secondary",
      "name": "api-validation.test",
      "normalized_name": "api-validation",
      "package_manager": "pnpm",
      "path": "tests/unit/api-validation.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "785af99e20a25409dda3430d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/rss.xml/route, @/lib/data, @/lib/products, vitest | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d3509cb3f937d9f",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route,@/lib/data,@/lib/products,vitest",
      "lines": 82,
      "logic_relevance": "none",
      "name": "rss-feed.test",
      "normalized_name": "rss-feed",
      "package_manager": "pnpm",
      "path": "tests/unit/rss-feed.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "00983bf091cdd5dae5d4f15e",
      "component_kind": "webhook",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@/app/api/webhooks/stripe/route, @/lib/cart, @/lib/notifications, @/lib/orders, @/lib/stripe, @/lib/wishlists, next/server, vitest | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "29f9cca9a78b90ce",
      "framework": "next-react",
      "imports": "@/app/api/webhooks/stripe/route,@/lib/cart,@/lib/notifications,@/lib/orders,@/lib/stripe,@/lib/wishlists,next/server,vitest",
      "lines": 298,
      "logic_relevance": "none",
      "name": "stripe-webhook.test",
      "normalized_name": "stripe-webhook",
      "package_manager": "pnpm",
      "path": "tests/unit/stripe-webhook.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cfdd1f30c21004f77b5ca2df",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/redis, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ede95a615040c7fb",
      "framework": "next-react",
      "imports": "@/lib/redis,vitest",
      "lines": 101,
      "logic_relevance": "none",
      "name": "redis-connection.test",
      "normalized_name": "redis-connection",
      "package_manager": "pnpm",
      "path": "tests/unit/redis-connection.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6bb0df23fddef8a9b0a35065",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/[locale]/(store)/account/wishlist/page, react, react-dom/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f755a6e309807ef2",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/account/wishlist/page,react,react-dom/server,vitest",
      "lines": 102,
      "logic_relevance": "none",
      "name": "account-wishlist-page.test",
      "normalized_name": "account-wishlist-page",
      "package_manager": "pnpm",
      "path": "tests/unit/account-wishlist-page.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "ccb748d7ade9cb1a615bb99e",
      "component_kind": "migration-plan",
      "confidence": 65,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:node:fs, node:path, vitest | process-score:80",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d0b1d8fbaf114cae",
      "framework": "next-react",
      "imports": "node:fs,node:path,vitest",
      "lines": 114,
      "logic_relevance": "none",
      "name": "vehicle-part-types-migration.test",
      "normalized_name": "vehicle-part-types-migration",
      "package_manager": "pnpm",
      "path": "tests/unit/vehicle-part-types-migration.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "1c8513369f29d21014afa84a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/[locale]/(store)/about/page, react, react-dom/server, vitest | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a2d227c28055a31a",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/about/page,react,react-dom/server,vitest",
      "lines": 151,
      "logic_relevance": "none",
      "name": "about-page.test",
      "normalized_name": "about-page",
      "package_manager": "pnpm",
      "path": "tests/unit/about-page.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "b3106ec0adac5d87f04511c2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/app,@/lib,node:fs,redis,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/app/actions/password-reset, @/lib/auth, @/lib/products, @/lib/redis, @/lib/session-cookie, node:fs, redis, vitest | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c07a8e7cc83f2648",
      "framework": "next-react",
      "imports": "@/app/actions/password-reset,@/lib/auth,@/lib/products,@/lib/redis,@/lib/session-cookie,node:fs,redis,vitest",
      "lines": 1003,
      "logic_relevance": "none",
      "name": "redis.test",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "tests/unit/redis.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "observability,security",
      "component_id": "e5b0ca39d8f363b03a45dbe6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "node:child_process,node:fs,node:os,node:path,vitest",
      "description": "Observability component for commerce; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:child_process, node:fs, node:os, node:path, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6d921688ce4a18d9",
      "framework": "next-react",
      "imports": "node:child_process,node:fs,node:os,node:path,vitest",
      "lines": 207,
      "logic_relevance": "none",
      "name": "legacy-sql-tools.test",
      "normalized_name": "legacy-sql-tools",
      "package_manager": "pnpm",
      "path": "tests/unit/legacy-sql-tools.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "fc1085983904f5fb58ea091d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/response, vitest, zod | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33159772c6bb77d9",
      "framework": "next-react",
      "imports": "@/lib/api/response,vitest,zod",
      "lines": 158,
      "logic_relevance": "none",
      "name": "api-response.test",
      "normalized_name": "api-response",
      "package_manager": "pnpm",
      "path": "tests/unit/api-response.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,security,automation",
      "component_id": "d2a58d1f1102d2b63a312848",
      "component_kind": "frontend-feature",
      "confidence": 75,
      "dependency_roots": "@/app,next-intl,react,react-dom,vitest",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/app/[locale]/(store)/account/orders/[id]/page, @/app/[locale]/(store)/account/orders/page, @/app/[locale]/(store)/account/page, @/app/[locale]/(store)/checkout/page, @/app/[locale]/(store)/checkout/success/page, @/app/[locale]/(store)/track-order/page, next-intl/server, react | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4166da8c570eeb6a",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/account/orders/[id]/page,@/app/[locale]/(store)/account/orders/page,@/app/[locale]/(store)/account/page,@/app/[locale]/(store)/checkout/page,@/app/[locale]/(store)/checkout/success/page,@/app/[locale]/(store)/track-order/page,next-intl/server,react,react-dom/server,vitest",
      "lines": 356,
      "logic_relevance": "none",
      "name": "account-pages.test",
      "normalized_name": "account-pages",
      "package_manager": "pnpm",
      "path": "tests/unit/account-pages.test.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "33da39a4bc50e1ba5994d756",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/api/v1/products/route, @/lib/products, next/server, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5673e5f35d8637ac",
      "framework": "next-react",
      "imports": "@/app/api/v1/products/route,@/lib/products,next/server,vitest",
      "lines": 152,
      "logic_relevance": "none",
      "name": "api-products.test",
      "normalized_name": "api-products",
      "package_manager": "pnpm",
      "path": "tests/unit/api-products.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "eee8e20d0b4219b1a83a6af4",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:node:fs, node:path, vitest | automation-score:95",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "04f67952cb979304",
      "framework": "next-react",
      "imports": "node:fs,node:path,vitest",
      "lines": 37,
      "logic_relevance": "none",
      "name": "upload-product-assets-script.test",
      "normalized_name": "upload-product-assets-script",
      "package_manager": "pnpm",
      "path": "tests/unit/upload-product-assets-script.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "378731e30f2480c6f3f6146f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/app,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/app/actions/cart, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f06f70da9eee06b",
      "framework": "next-react",
      "imports": "@/app/actions/cart,vitest",
      "lines": 201,
      "logic_relevance": "none",
      "name": "cart-actions.test",
      "normalized_name": "cart-actions",
      "package_manager": "pnpm",
      "path": "tests/unit/cart-actions.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "94ac30cbea74a0a376c5aa4d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/auth, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0496d8b932f6cc87",
      "framework": "next-react",
      "imports": "@/app/actions/auth,vitest",
      "lines": 129,
      "logic_relevance": "none",
      "name": "auth-notifications.test",
      "normalized_name": "auth-notifications",
      "package_manager": "pnpm",
      "path": "tests/unit/auth-notifications.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "ac17f3f4061606f0e810a258",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/products, vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed8d0d80b4d539ae",
      "framework": "next-react",
      "imports": "@/lib/products,vitest",
      "lines": 45,
      "logic_relevance": "none",
      "name": "products-legacy-images.test",
      "normalized_name": "products-legacy-images",
      "package_manager": "pnpm",
      "path": "tests/unit/products-legacy-images.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9e74f95ed49fd8116cc9e4ac",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/[locale]/(store)/rewards/page, react-dom/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a79d7d7974cb108",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/rewards/page,react-dom/server,vitest",
      "lines": 103,
      "logic_relevance": "none",
      "name": "rewards-page.test",
      "normalized_name": "rewards-page",
      "package_manager": "pnpm",
      "path": "tests/unit/rewards-page.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,discovery",
      "component_id": "acc1208e5c9c184104fd0fc1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/app/rss.xml/route, vitest | backend-score:55 | observability-score:55 | discovery-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10e898ed66be3e67",
      "framework": "next-react",
      "imports": "@/app/rss.xml/route,vitest",
      "lines": 140,
      "logic_relevance": "none",
      "name": "rss-route.test",
      "normalized_name": "rss-route",
      "package_manager": "pnpm",
      "path": "tests/unit/rss-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "679d206d4a1ec4b79c467b17",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/[locale]/layout, @/lib/branding, vitest | observability-score:55 | security-score:55 | metadata",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30c0c4a1adbabc98",
      "framework": "next-react",
      "imports": "@/app/[locale]/layout,@/lib/branding,vitest",
      "lines": 64,
      "logic_relevance": "none",
      "name": "branding.test",
      "normalized_name": "branding",
      "package_manager": "pnpm",
      "path": "tests/unit/branding.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9f1fa59f110acc37ba1db7e7",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/components,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/components/products/product-toolbar, @/components/products/sort-constants, react, react-dom/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4150e00478072712",
      "framework": "next-react",
      "imports": "@/components/products/product-toolbar,@/components/products/sort-constants,react,react-dom/server,vitest",
      "lines": 101,
      "logic_relevance": "none",
      "name": "sort-constants.test",
      "normalized_name": "sort-constants",
      "package_manager": "pnpm",
      "path": "tests/unit/sort-constants.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "9c3b9260214aae123b218c1d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/components,@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/components/ui/pagination-nav, @/lib/assets, @/lib/branding, @/lib/content, @/lib/products, @/lib/site, @/lib/utils, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "25a8c0d0ccbc206b",
      "framework": "next-react",
      "imports": "@/components/ui/pagination-nav,@/lib/assets,@/lib/branding,@/lib/content,@/lib/products,@/lib/site,@/lib/utils,vitest",
      "lines": 239,
      "logic_relevance": "none",
      "name": "site-content-foundations.test",
      "normalized_name": "site-content-foundations",
      "package_manager": "pnpm",
      "path": "tests/unit/site-content-foundations.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "832781073d0ade668c66b31f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/deprecation, next/server, vitest | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d5b39d7a116faa7",
      "framework": "next-react",
      "imports": "@/lib/api/deprecation,next/server,vitest",
      "lines": 20,
      "logic_relevance": "none",
      "name": "api-deprecation.test",
      "normalized_name": "api-deprecation",
      "package_manager": "pnpm",
      "path": "tests/unit/api-deprecation.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "46e11d16592d28f1060d627d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/redis, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f51c46e8a82ca3d",
      "framework": "next-react",
      "imports": "@/lib/redis,vitest",
      "lines": 119,
      "logic_relevance": "none",
      "name": "redis-singleton.test",
      "normalized_name": "redis-singleton",
      "package_manager": "pnpm",
      "path": "tests/unit/redis-singleton.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "0a5459f1128321aaf82d0f8b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/cart-client, vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4fd27edcdecbe28b",
      "framework": "next-react",
      "imports": "@/lib/cart-client,vitest",
      "lines": 110,
      "logic_relevance": "none",
      "name": "cart-client.test",
      "normalized_name": "cart-client",
      "package_manager": "pnpm",
      "path": "tests/unit/cart-client.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "67e5223f8786d4ab76da9069",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/addresses, @/lib/addresses, @/lib/auth, next/navigation, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "719ea670b754556e",
      "framework": "next-react",
      "imports": "@/app/actions/addresses,@/lib/addresses,@/lib/auth,next/navigation,vitest",
      "lines": 226,
      "logic_relevance": "none",
      "name": "addresses-actions.test",
      "normalized_name": "addresses-actions",
      "package_manager": "pnpm",
      "path": "tests/unit/addresses-actions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "4065990c7a531fdb3ac74f76",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:@/lib/wishlists, vitest | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2b9a490ef03aff1",
      "framework": "next-react",
      "imports": "@/lib/wishlists,vitest",
      "lines": 132,
      "logic_relevance": "none",
      "name": "wishlists.test",
      "normalized_name": "wishlists",
      "package_manager": "pnpm",
      "path": "tests/unit/wishlists.test.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,observability,security",
      "component_id": "76d2a8de39d5e4c9333f4875",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,next,vitest,zod",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/api/validate, next/server, vitest, zod | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "942b9c65db86be4b",
      "framework": "next-react",
      "imports": "@/lib/api/validate,next/server,vitest,zod",
      "lines": 84,
      "logic_relevance": "none",
      "name": "api-validate.test",
      "normalized_name": "api-validate",
      "package_manager": "pnpm",
      "path": "tests/unit/api-validate.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2217d467bc78faf706c6565e",
      "component_kind": "roadmap",
      "confidence": 90,
      "dependency_roots": "node:fs,node:path,vitest",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ROOT | imports:node:fs, node:path, vitest | process-score:80 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ROOT",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8e5940c72e6d567d",
      "framework": "next-react",
      "imports": "node:fs,node:path,vitest",
      "lines": 550,
      "logic_relevance": "none",
      "name": "roadmap-singletons.test",
      "normalized_name": "roadmap-singletons",
      "package_manager": "pnpm",
      "path": "tests/unit/roadmap-singletons.test.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "5357be6c26c3d9e5ed1b7d2e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/shipping, vitest | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9943006ee7098c66",
      "framework": "next-react",
      "imports": "@/lib/shipping,vitest",
      "lines": 513,
      "logic_relevance": "none",
      "name": "shipping.test",
      "normalized_name": "shipping",
      "package_manager": "pnpm",
      "path": "tests/unit/shipping.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "95be1d6f192194f489f4ae14",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,phpass,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/phpass, phpass, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "886b8b650d21a894",
      "framework": "next-react",
      "imports": "@/lib/phpass,phpass,vitest",
      "lines": 37,
      "logic_relevance": "none",
      "name": "phpass.test",
      "normalized_name": "phpass",
      "package_manager": "pnpm",
      "path": "tests/unit/phpass.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "73e9b432e34272da0b1aa99a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/assets, vitest | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16981cee38d685f5",
      "framework": "next-react",
      "imports": "@/lib/assets,vitest",
      "lines": 76,
      "logic_relevance": "none",
      "name": "assets.test",
      "normalized_name": "assets",
      "package_manager": "pnpm",
      "path": "tests/unit/assets.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "98cc949227a5269d6b8f5778",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/[locale]/(store)/accessibility/page, react, react-dom/server, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fbccf7b4c92df01f",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/accessibility/page,react,react-dom/server,vitest",
      "lines": 173,
      "logic_relevance": "none",
      "name": "accessibility-page.test",
      "normalized_name": "accessibility-page",
      "package_manager": "pnpm",
      "path": "tests/unit/accessibility-page.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "e1cd5e9494aede67b30ac018",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/legacy-mail, vitest | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cde596a90555c4d5",
      "framework": "next-react",
      "imports": "@/lib/legacy-mail,vitest",
      "lines": 136,
      "logic_relevance": "none",
      "name": "legacy-mail.test",
      "normalized_name": "legacy-mail",
      "package_manager": "pnpm",
      "path": "tests/unit/legacy-mail.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "87beca870e3c45e77f2ef929",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/components,vitest",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/components/categories/category-art, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eb6614ddf8208cf0",
      "framework": "next-react",
      "imports": "@/components/categories/category-art,vitest",
      "lines": 85,
      "logic_relevance": "none",
      "name": "category-art.test",
      "normalized_name": "category-art",
      "package_manager": "pnpm",
      "path": "tests/unit/category-art.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "8621f031f4796e740a725a94",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@testing-library/react,react,react-dom,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/products/add-to-cart-button, @testing-library/react, react, react-dom/server, vitest | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c6ddde4a2ca5dd3",
      "framework": "next-react",
      "imports": "@/components/products/add-to-cart-button,@testing-library/react,react,react-dom/server,vitest",
      "lines": 127,
      "logic_relevance": "none",
      "name": "add-to-cart-button.test",
      "normalized_name": "add-to-cart-button",
      "package_manager": "pnpm",
      "path": "tests/unit/add-to-cart-button.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "logic,frontend,automation",
      "component_id": "eb0c13117f0c33ebdda1f4be",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "@/app,react,react-dom,vitest",
      "description": "Logic component for ai; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/app/[locale]/(store)/layout, react, react-dom/server, vitest | logic-score:85 | frontend-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1e0270e427f8e19e",
      "framework": "next-react",
      "imports": "@/app/[locale]/(store)/layout,react,react-dom/server,vitest",
      "lines": 87,
      "logic_relevance": "primary",
      "name": "store-layout.test",
      "normalized_name": "store-layout",
      "package_manager": "pnpm",
      "path": "tests/unit/store-layout.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "89c980117951a0224bd07860",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/tests,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/tests/helpers/mock-logger, @/tests/helpers/mock-redis, @/tests/helpers/mock-request, vitest | logic-score:60 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9313d6be7159ed00",
      "framework": "next-react",
      "imports": "@/tests/helpers/mock-logger,@/tests/helpers/mock-redis,@/tests/helpers/mock-request,vitest",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "test-helpers.test",
      "normalized_name": "test-helpers",
      "package_manager": "pnpm",
      "path": "tests/unit/test-helpers.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2826c0bd70650e8804da032e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/assets, @/lib/data, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aad6339fcf2ec01d",
      "framework": "next-react",
      "imports": "@/lib/assets,@/lib/data,vitest",
      "lines": 209,
      "logic_relevance": "none",
      "name": "data-blog-faq.test",
      "normalized_name": "data-blog-faq",
      "package_manager": "pnpm",
      "path": "tests/unit/data-blog-faq.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "b501d2b39aeab5edbaaef0d2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/components,next,react,react-dom,vitest",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/components/layout/mobile-bottom-nav, next/navigation, react, react-dom/server, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "38e7df798ce4c7ce",
      "framework": "next-react",
      "imports": "@/components/layout/mobile-bottom-nav,next/navigation,react,react-dom/server,vitest",
      "lines": 119,
      "logic_relevance": "none",
      "name": "mobile-bottom-nav.test",
      "normalized_name": "mobile-bottom-nav",
      "package_manager": "pnpm",
      "path": "tests/unit/mobile-bottom-nav.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6d480d37741df31574d3434f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:@/lib/session-cookie, vitest | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d51312e66ef5d116",
      "framework": "next-react",
      "imports": "@/lib/session-cookie,vitest",
      "lines": 110,
      "logic_relevance": "none",
      "name": "session-cookie.test",
      "normalized_name": "session-cookie",
      "package_manager": "pnpm",
      "path": "tests/unit/session-cookie.test.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5de1759d359dd75f35c5448e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/lib/logger, vitest | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bf4f067988b0880",
      "framework": "next-react",
      "imports": "@/lib/logger,vitest",
      "lines": 168,
      "logic_relevance": "none",
      "name": "logger.test",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "tests/unit/logger.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "e0cefaf2f2b8802ad01cad22",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,next,vitest",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../helpers/mock-request, @/app/api/cart/route, @/lib/auth, @/lib/cart, next/server, vitest | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "622f73c4c01e87c4",
      "framework": "next-react",
      "imports": "../helpers/mock-request,@/app/api/cart/route,@/lib/auth,@/lib/cart,next/server,vitest",
      "lines": 234,
      "logic_relevance": "none",
      "name": "cart-route.test",
      "normalized_name": "cart-route",
      "package_manager": "pnpm",
      "path": "tests/unit/cart-route.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1d2ddcaf827b7caaf3f07a23",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/components,@/lib,@/next.config,fs,react,react-dom,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:React | imports:@/components/ui/skip-to-content, @/lib/security-headers, @/next.config, fs, react, react-dom/server, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "React",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a29d42d24498f37",
      "framework": "next-react",
      "imports": "@/components/ui/skip-to-content,@/lib/security-headers,@/next.config,fs,react,react-dom/server,vitest",
      "lines": 165,
      "logic_relevance": "none",
      "name": "wcag-compliance.test",
      "normalized_name": "wcag-compliance",
      "package_manager": "pnpm",
      "path": "tests/unit/wcag-compliance.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "7193a8cac9cb9b7331fea85f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/contact, vitest | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5121317ef58841ab",
      "framework": "next-react",
      "imports": "@/app/actions/contact,vitest",
      "lines": 131,
      "logic_relevance": "none",
      "name": "contact-actions.test",
      "normalized_name": "contact-actions",
      "package_manager": "pnpm",
      "path": "tests/unit/contact-actions.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,security",
      "component_id": "86ac283eb1810694331d3719",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@testing-library/react,lucide-react,react,vitest",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:MockFormData | imports:@/components/checkout/shipping-form, @testing-library/react, lucide-react, react, vitest | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "MockFormData",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a4f6f28a47be7c24",
      "framework": "next-react",
      "imports": "@/components/checkout/shipping-form,@testing-library/react,lucide-react,react,vitest",
      "lines": 225,
      "logic_relevance": "none",
      "name": "shipping-form.test",
      "normalized_name": "shipping-form",
      "package_manager": "pnpm",
      "path": "tests/unit/components/checkout/shipping-form.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "b2723799c0ead0fc076b109d",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,vitest",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/addresses, vitest | logic-score:85 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "36089bd89579f38b",
      "framework": "next-react",
      "imports": "@/lib/addresses,vitest",
      "lines": 450,
      "logic_relevance": "primary",
      "name": "addresses.test",
      "normalized_name": "addresses",
      "package_manager": "pnpm",
      "path": "tests/unit/lib/addresses.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "finance",
      "categories": "backend",
      "component_id": "9cb5f25620c1d0e1b8b51e22",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "@/lib,vitest",
      "description": "Backend component for finance; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/db, vitest | backend-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "445b0334bd5b4485",
      "framework": "next-react",
      "imports": "@/lib/db,vitest",
      "lines": 109,
      "logic_relevance": "none",
      "name": "index.test",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "tests/unit/db/index.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e3499aebebedf76a587aca48",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@/app,@/lib,vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@/app/actions/wishlist, @/lib/wishlists, vitest | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95d22367cfae62e7",
      "framework": "next-react",
      "imports": "@/app/actions/wishlist,@/lib/wishlists,vitest",
      "lines": 504,
      "logic_relevance": "none",
      "name": "wishlist.test",
      "normalized_name": "wishlist",
      "package_manager": "pnpm",
      "path": "tests/integration/wishlist.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "746386a4836f4cecdd4b929f",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest,zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../helpers/fixtures, vitest, zod | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6ba2c47e29cfe0bb",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest,zod",
      "lines": 186,
      "logic_relevance": "none",
      "name": "auth.test",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "tests/integration/auth.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "integration,security,automation",
      "component_id": "eb8746369169dfd11312b272",
      "component_kind": "integration-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:../helpers/fixtures, vitest | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "497d9667d142502e",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest",
      "lines": 170,
      "logic_relevance": "none",
      "name": "stripe.test",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "tests/integration/stripe.test.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability",
      "component_id": "fd2f96e0fe2e854afd834758",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../helpers/fixtures, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ee1b48474a082e0",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest",
      "lines": 125,
      "logic_relevance": "none",
      "name": "orders.test",
      "normalized_name": "orders",
      "package_manager": "pnpm",
      "path": "tests/integration/orders.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2d2d02ccafe375832464274b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../helpers/fixtures, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5322ccc305a61408",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest",
      "lines": 140,
      "logic_relevance": "none",
      "name": "shipping.test",
      "normalized_name": "shipping",
      "package_manager": "pnpm",
      "path": "tests/integration/shipping.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8093a67e4df7ac2366e10a4d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../helpers/fixtures, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "57bd174b2b8fbcb8",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest",
      "lines": 111,
      "logic_relevance": "none",
      "name": "blog.test",
      "normalized_name": "blog",
      "package_manager": "pnpm",
      "path": "tests/integration/blog.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "observability",
      "component_id": "7074b68e5d7184abcf4ef07a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Observability component for commerce; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../helpers/fixtures, vitest | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a60724279172a358",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest",
      "lines": 138,
      "logic_relevance": "none",
      "name": "paypal.test",
      "normalized_name": "paypal",
      "package_manager": "pnpm",
      "path": "tests/integration/paypal.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3d7f11e0bc315d0d7d06d6f0",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../helpers/fixtures, vitest | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d9b48038b661f607",
      "framework": "next-react",
      "imports": "../helpers/fixtures,vitest",
      "lines": 208,
      "logic_relevance": "none",
      "name": "cart-wishlist-coupon.test",
      "normalized_name": "cart-wishlist-coupon",
      "package_manager": "pnpm",
      "path": "tests/integration/cart-wishlist-coupon.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "be9092d1a5f3ae1aff1dc3c8",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FALLBACK_IMAGE_INDICATORS | imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "FALLBACK_IMAGE_INDICATORS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e1c930b72a1bbd16",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 220,
      "logic_relevance": "none",
      "name": "cross-browser-media.spec",
      "normalized_name": "cross-browser-media",
      "package_manager": "pnpm",
      "path": "tests/e2e/cross-browser-media.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "bef0dff88c28f59353fbf714",
      "component_kind": "specification",
      "confidence": 90,
      "dependency_roots": "@neondatabase/serverless,@playwright/test,node:fs,node:path",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:SESSION_COOKIE_NAME | imports:../../lib/session-cookie, @neondatabase/serverless, @playwright/test, node:fs, node:path | process-score:80 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SESSION_COOKIE_NAME",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e095c64e0ea0b84b",
      "framework": "next-react",
      "imports": "../../lib/session-cookie,@neondatabase/serverless,@playwright/test,node:fs,node:path",
      "lines": 222,
      "logic_relevance": "none",
      "name": "account-authenticated.spec",
      "normalized_name": "account-authenticated",
      "package_manager": "pnpm",
      "path": "tests/e2e/account-authenticated.spec.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "b27edd244a953ae8caadc388",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ebb0c31324766169",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 149,
      "logic_relevance": "none",
      "name": "storefront.spec",
      "normalized_name": "storefront",
      "package_manager": "pnpm",
      "path": "tests/e2e/storefront.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "2d7e54af22fa8b31b79c3331",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "1d6152766f2b600a",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 219,
      "logic_relevance": "none",
      "name": "cross-browser-forms.spec",
      "normalized_name": "cross-browser-forms",
      "package_manager": "pnpm",
      "path": "tests/e2e/cross-browser-forms.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "16325f3f27cb278e8379daf6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a4d3473e90fa12ed",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 188,
      "logic_relevance": "none",
      "name": "cross-browser-responsive.spec",
      "normalized_name": "cross-browser-responsive",
      "package_manager": "pnpm",
      "path": "tests/e2e/cross-browser-responsive.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "c66480a614219a4528f3f5bf",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:IGNORED_ERROR_PATTERNS | imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "IGNORED_ERROR_PATTERNS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "13d717e3a8b4c5ca",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 177,
      "logic_relevance": "none",
      "name": "cross-browser-dark-mode.spec",
      "normalized_name": "cross-browser-dark-mode",
      "package_manager": "pnpm",
      "path": "tests/e2e/cross-browser-dark-mode.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "4eba4b55bcb3207b466709ad",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EXCLUDED_LINK_PATTERNS | imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "EXCLUDED_LINK_PATTERNS",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5ab502fc0f89afaa",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 218,
      "logic_relevance": "none",
      "name": "cross-browser-navigation.spec",
      "normalized_name": "cross-browser-navigation",
      "package_manager": "pnpm",
      "path": "tests/e2e/cross-browser-navigation.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,process,automation",
      "component_id": "59f93c512b26a2798e4a26cf",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d11a73dd0628272a",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 246,
      "logic_relevance": "none",
      "name": "cross-browser-accessibility.spec",
      "normalized_name": "cross-browser-accessibility",
      "package_manager": "pnpm",
      "path": "tests/e2e/cross-browser-accessibility.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "7bbd75e7943c46980aa392fc",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "848bb7a9faffb1f5",
      "framework": "next-react",
      "imports": "@playwright/test",
      "lines": 72,
      "logic_relevance": "none",
      "name": "account-auth.spec",
      "normalized_name": "account-auth",
      "package_manager": "pnpm",
      "path": "tests/e2e/account-auth.spec.ts",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "ccd85886b62dfb910da84987",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:INVALID_EMAIL, MOCK_ADMIN, MOCK_BLOG_POST, MOCK_CART, MOCK_COUPON, MOCK_ORDER, MOCK_ORDER_ITEM, MOCK_PAYPAL_ORDER | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "INVALID_EMAIL,MOCK_ADMIN,MOCK_BLOG_POST,MOCK_CART,MOCK_COUPON,MOCK_ORDER,MOCK_ORDER_ITEM,MOCK_PAYPAL_ORDER,MOCK_PRODUCT,MOCK_PRODUCT_ON_SALE,MOCK_PRODUCT_OUT_OF_STOCK,MOCK_SESSION,MOCK_SHIPPING_ADDRESS,MOCK_STRIPE_LINE_ITEMS,MOCK_STRIPE_SESSION,MOCK_UPS_RATE,MOCK_USER,MOCK_USPS_RATE,MOCK_WISHLIST_ITEM,SHORT_PASSWORD,VALID_LOGIN_DATA,VALID_REGISTER_DATA,assertDefined,createMockDb,mockGetDb,toFormData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "54ba5fad8164f2f7",
      "framework": "next-react",
      "imports": "",
      "lines": 341,
      "logic_relevance": "primary",
      "name": "fixtures",
      "normalized_name": "fixtures",
      "package_manager": "pnpm",
      "path": "tests/helpers/fixtures.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic,security",
      "component_id": "f85bb00a26b943962e1fff8c",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/tests",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockRequestOptions, createMockRequest | imports:@/tests/helpers/mock-request | logic-score:85 | security-score:55",
      "exports": "MockRequestOptions,createMockRequest",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7909060acb453a42",
      "framework": "next-react",
      "imports": "@/tests/helpers/mock-request",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "mock-request",
      "normalized_name": "mock-request",
      "package_manager": "pnpm",
      "path": "tests/helpers/mock-request.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "013a9864d96d1b898b972d96",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/tests",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:MockRedisClient, createMockRedis, mockRedisModule | imports:@/tests/helpers/mock-redis | logic-score:85 | security-score:55",
      "exports": "MockRedisClient,createMockRedis,mockRedisModule",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a6b32b9f2210e1b4",
      "framework": "next-react",
      "imports": "@/tests/helpers/mock-redis",
      "lines": 85,
      "logic_relevance": "primary",
      "name": "mock-redis",
      "normalized_name": "mock-redis",
      "package_manager": "pnpm",
      "path": "tests/helpers/mock-redis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "a97aedc98e7067a4a43ce0d9",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/tests",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogCall, MockLogger, MockLoggerCalls, createMockLogger | imports:@/tests/helpers/mock-logger | logic-score:85 | observability-score:55",
      "exports": "LogCall,MockLogger,MockLoggerCalls,createMockLogger",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5e5adc77732326b3",
      "framework": "next-react",
      "imports": "@/tests/helpers/mock-logger",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "mock-logger",
      "normalized_name": "mock-logger",
      "package_manager": "pnpm",
      "path": "tests/helpers/mock-logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "5936a369c63c7dbc1de323aa",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:POST | process-score:145 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env | next-route-handler | cron-or-schedule | model-provider",
      "exports": "POST",
      "extension": ".md",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "84a8e3b6a3fcc3ee",
      "framework": "next-react",
      "imports": "",
      "lines": 1688,
      "logic_relevance": "none",
      "name": "SCOPE-ENHANCEMENT-PLAN",
      "normalized_name": "scope-enhancement-plan",
      "package_manager": "pnpm",
      "path": "DOCS/SCOPE-ENHANCEMENT-PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "302d31092cb6831c2e14c59b",
      "component_kind": "migration-plan",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "40df39e112f08883",
      "framework": "next-react",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "MIGRATION-GUIDE",
      "normalized_name": "migration-guide",
      "package_manager": "pnpm",
      "path": "DOCS/MIGRATION-GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability,security",
      "component_id": "c882479be149ecc05cb12552",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08d8c9952ce6b059",
      "framework": "next-react",
      "imports": "",
      "lines": 193,
      "logic_relevance": "none",
      "name": "API-GUIDE",
      "normalized_name": "api-guide",
      "package_manager": "pnpm",
      "path": "DOCS/API-GUIDE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "48c4947df2b2bd258792aeb4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "aaf891877f67c8cc",
      "framework": "next-react",
      "imports": "",
      "lines": 1157,
      "logic_relevance": "none",
      "name": "FULL-PLAN",
      "normalized_name": "full-plan",
      "package_manager": "pnpm",
      "path": "DOCS/FULL-PLAN.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "4764c9cd0889a5c0aa05af93",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2c676cef3165b91a",
      "framework": "next-react",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "DOCS/ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9a3f340cce1167bb3d1ec514",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "db61aa316002109d",
      "framework": "next-react",
      "imports": "",
      "lines": 151,
      "logic_relevance": "none",
      "name": "Modernization-plan",
      "normalized_name": "modernization-plan",
      "package_manager": "pnpm",
      "path": "DOCS/Modernization-plan.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "a54d7a7db033e88f6b6f2b51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ShareButtons, ShareButtonsProps | imports:@/components/ui/button, @/components/ui/tooltip, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ShareButtons,ShareButtonsProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f72fec59524630bf",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "share-buttons",
      "normalized_name": "share-buttons",
      "package_manager": "pnpm",
      "path": "components/ui/share-buttons.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "1fb56590e6eb15b52076dd5d",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SkipToContent | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "SkipToContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "124e877c8623da12",
      "framework": "next-react",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "skip-to-content",
      "normalized_name": "skip-to-content",
      "package_manager": "pnpm",
      "path": "components/ui/skip-to-content.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ed208a2d019edff1db7031e5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "92c642d41c24ab4a",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "73a8d5bdde9a029633512b01",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6b3b4b69a1cb3610",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "c560cb3906acbb82e39b0ac3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "61a2a1df38c4aa52895a30ee",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:PaginationNav, buildPaginationHref, buildVisiblePages | imports:@/components/ui/button, next/link | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "PaginationNav,buildPaginationHref,buildVisiblePages",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "68ec90332d2ec8b3",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 106,
      "logic_relevance": "none",
      "name": "pagination-nav",
      "normalized_name": "pagination-nav",
      "package_manager": "pnpm",
      "path": "components/ui/pagination-nav.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "50e3c50b35f07beef16c2487",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "661c9dc439841f76",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d9df73d4e9312310fec7ee79",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumbs, BreadcrumbsProps | imports:@/lib/structured-data, @/lib/utils, lucide-react, next/link | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Breadcrumbs,BreadcrumbsProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c8aa48bc83374710",
      "framework": "next-react",
      "imports": "@/lib/structured-data,@/lib/utils,lucide-react,next/link",
      "lines": 84,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumbs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "ui,frontend,security,discovery",
      "component_id": "4dfd65fb32647e54b693438b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for seo-and-metadata; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:JsonLd | imports:@/lib/utils | ui-score:125 | frontend-score:85 | security-score:55 | discovery-score:55",
      "exports": "JsonLd",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "811c3d45158bfa97",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 19,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/ui/json-ld.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "cc3ef17cae7d4be7da075845",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "56d302a022ac6e91",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "996761a762291444e7f986e0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,next,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:FallbackImage | imports:@/lib/asset-constants, next/image, react | ui-score:140 | frontend-score:115",
      "exports": "FallbackImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "64f99ce739186be5",
      "framework": "next-react",
      "imports": "@/lib/asset-constants,next/image,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "fallback-image",
      "normalized_name": "fallback-image",
      "package_manager": "pnpm",
      "path": "components/ui/fallback-image.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ea02d55fa0b62866825d7fa7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c187d4bc43c55930",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ui,frontend,security",
      "component_id": "9c6218561f85f0ba7edb9651",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,lucide-react,next-intl",
      "description": "UI component for i18n; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:LanguageSwitcher | imports:@/components/ui/button, @/components/ui/tooltip, @/i18n/navigation, @/i18n/routing, lucide-react, next-intl | ui-score:125 | frontend-score:115 | security-score:55",
      "exports": "LanguageSwitcher",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "eefa7e65c6316ad8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/tooltip,@/i18n/navigation,@/i18n/routing,lucide-react,next-intl",
      "lines": 41,
      "logic_relevance": "none",
      "name": "language-switcher",
      "normalized_name": "language-switcher",
      "package_manager": "pnpm",
      "path": "components/ui/language-switcher.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "5a7b413bb3d5270c2d4cbf82",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8762ea9e87ed1f77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "601d1278be77b181717b50cb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "12cf05805845a5db",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "453684ea26cf97cf89a9ab92",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "970204884103f882",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "baa3d992e8bf43697abcaab0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a85236ac4dd67fba",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 194,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "08837ca8146c2d064b64c458",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3b50c1de280f00c8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 156,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "dfea715177ed97e12aee0ac0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1df166e94a5e9315",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "cdf4ff6897d57b0ae371d705",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "067fb97c28e8c0cf",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 15,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9996209a1b96485437156546",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TestimonialsSection | imports:@/components/ui/button, @/components/ui/card, @/components/ui/fallback-image, @/lib/data, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "TestimonialsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "63ab0c14b369ad1e",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/fallback-image,@/lib/data,lucide-react,next/link",
      "lines": 75,
      "logic_relevance": "none",
      "name": "testimonials-section",
      "normalized_name": "testimonials-section",
      "package_manager": "pnpm",
      "path": "components/home/testimonials-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "66f97982b7fc2f54135faba3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "219591187f4c3be8",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/link",
      "lines": 72,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/home/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,security",
      "component_id": "7b5dddd552ff35d181ab339c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryGrid | imports:@/components/ui/card, @/components/ui/fallback-image, @/lib/products, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CategoryGrid",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "219a7e6e8c741eda",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/fallback-image,@/lib/products,lucide-react,next/link",
      "lines": 75,
      "logic_relevance": "none",
      "name": "category-grid",
      "normalized_name": "category-grid",
      "package_manager": "pnpm",
      "path": "components/home/category-grid.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "348671f3268c64b171276f83",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroCarousel, HeroSlide, HeroTestimonial | imports:lucide-react, next/image, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "HeroCarousel,HeroSlide,HeroTestimonial",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6d514da23e54429",
      "framework": "next-react",
      "imports": "lucide-react,next/image,react",
      "lines": 180,
      "logic_relevance": "none",
      "name": "hero-carousel",
      "normalized_name": "hero-carousel",
      "package_manager": "pnpm",
      "path": "components/home/hero-carousel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "frontend,ui,security,automation",
      "component_id": "f3d9f0fcdd5310176f442ee9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SortButton | imports:@/components/products/sort-constants, @/components/ui/button, @/components/ui/dropdown-menu, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "SortButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6434a5a598d3c6da",
      "framework": "next-react",
      "imports": "@/components/products/sort-constants,@/components/ui/button,@/components/ui/dropdown-menu,lucide-react,next/link",
      "lines": 51,
      "logic_relevance": "none",
      "name": "sort-button",
      "normalized_name": "sort-button",
      "package_manager": "pnpm",
      "path": "components/products/sort-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "a6985c968eb37cadd051ba82",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerPageSelect | imports:@/components/products/product-toolbar | frontend-score:85 | ui-score:55 | security-score:55",
      "exports": "PerPageSelect",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b1281376f10e488",
      "framework": "next-react",
      "imports": "@/components/products/product-toolbar",
      "lines": 25,
      "logic_relevance": "none",
      "name": "per-page-select",
      "normalized_name": "per-page-select",
      "package_manager": "pnpm",
      "path": "components/products/per-page-select.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "29824c929b38408a78dddf9d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductFilters | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/lib/utils, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductFilters",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d1a7969ce8204d46",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 248,
      "logic_relevance": "none",
      "name": "product-filters",
      "normalized_name": "product-filters",
      "package_manager": "pnpm",
      "path": "components/products/product-filters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b06bbaa1df4c5c97bc58887e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-dialog,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductQuickView, QuickViewProduct | imports:@/components/products/add-to-cart-button, @/components/products/wishlist-button, @/components/ui/badge, @/components/ui/button, @/components/ui/fallback-image, @/lib/utils, @radix-ui/react-dialog, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ProductQuickView,QuickViewProduct",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4b932e574ee2bbd",
      "framework": "next-react",
      "imports": "@/components/products/add-to-cart-button,@/components/products/wishlist-button,@/components/ui/badge,@/components/ui/button,@/components/ui/fallback-image,@/lib/utils,@radix-ui/react-dialog,lucide-react,next/link,react",
      "lines": 196,
      "logic_relevance": "none",
      "name": "product-quick-view",
      "normalized_name": "product-quick-view",
      "package_manager": "pnpm",
      "path": "components/products/product-quick-view.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0837eb63253989ac44270445",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,html-react-parser,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductDescription | imports:@/lib/utils, html-react-parser, next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductDescription",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e12e189fc4eee94c",
      "framework": "next-react",
      "imports": "@/lib/utils,html-react-parser,next/image",
      "lines": 50,
      "logic_relevance": "none",
      "name": "product-description",
      "normalized_name": "product-description",
      "package_manager": "pnpm",
      "path": "components/products/product-description.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "d4645af0e93fa398107730dc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,lucide-react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddToCartButton | imports:@/components/ui/button, @/hooks/use-toast, @/lib/cart-client, @/lib/utils, lucide-react, react | frontend-score:115 | ui-score:70",
      "exports": "AddToCartButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fe3292bb8b1173db",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/hooks/use-toast,@/lib/cart-client,@/lib/utils,lucide-react,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "add-to-cart-button",
      "normalized_name": "add-to-cart-button",
      "package_manager": "pnpm",
      "path": "components/products/add-to-cart-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d93be9a797c66e3dd7bad843",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ActiveFilter, DEFAULT_PER_PAGE, PER_PAGE_OPTIONS, PerPageOption, ProductToolbar, ToolbarSearchParams, buildToolbarHref | imports:@/components/products/per-page-select, @/components/products/sort-button, @/components/products/sort-constants, @/components/ui/badge, @/components/ui/button, lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ActiveFilter,DEFAULT_PER_PAGE,PER_PAGE_OPTIONS,PerPageOption,ProductToolbar,ToolbarSearchParams,buildToolbarHref",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5fc8b9a79c37d6d8",
      "framework": "next-react",
      "imports": "@/components/products/per-page-select,@/components/products/sort-button,@/components/products/sort-constants,@/components/ui/badge,@/components/ui/button,lucide-react,next/link",
      "lines": 195,
      "logic_relevance": "none",
      "name": "product-toolbar",
      "normalized_name": "product-toolbar",
      "package_manager": "pnpm",
      "path": "components/products/product-toolbar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a3e47509d614795bf2efaa4b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductCard, ProductCardItem | imports:@/components/products/add-to-cart-button, @/components/products/product-quick-view, @/components/ui/badge, @/components/ui/card, @/components/ui/fallback-image, @/lib/products, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ProductCard,ProductCardItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2cc9f6c74a871536",
      "framework": "next-react",
      "imports": "@/components/products/add-to-cart-button,@/components/products/product-quick-view,@/components/ui/badge,@/components/ui/card,@/components/ui/fallback-image,@/lib/products,next/link",
      "lines": 156,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "components/products/product-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "c9798633798cc650c3066642",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:EmptyProductState | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55",
      "exports": "EmptyProductState",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ddb12c2c2671916e",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 31,
      "logic_relevance": "none",
      "name": "empty-product-state",
      "normalized_name": "empty-product-state",
      "package_manager": "pnpm",
      "path": "components/products/empty-product-state.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8325f7a138073fd1ad774335",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RelatedProducts | imports:@/components/products/add-to-cart-button, @/components/products/product-quick-view, @/components/ui/badge, @/components/ui/card, @/components/ui/fallback-image, @/lib/products, @/lib/utils, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "RelatedProducts",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f81cf2f8270a0e62",
      "framework": "next-react",
      "imports": "@/components/products/add-to-cart-button,@/components/products/product-quick-view,@/components/ui/badge,@/components/ui/card,@/components/ui/fallback-image,@/lib/products,@/lib/utils,next/link",
      "lines": 107,
      "logic_relevance": "none",
      "name": "related-products",
      "normalized_name": "related-products",
      "package_manager": "pnpm",
      "path": "components/products/related-products.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "de48105852a9167b3fb69232",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MediaItem, ProductMediaGallery | imports:@/components/ui/fallback-image, @/lib/utils, lucide-react, react, react-dom | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MediaItem,ProductMediaGallery",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "370e5b388eb224b6",
      "framework": "next-react",
      "imports": "@/components/ui/fallback-image,@/lib/utils,lucide-react,react,react-dom",
      "lines": 652,
      "logic_relevance": "none",
      "name": "product-media-gallery",
      "normalized_name": "product-media-gallery",
      "package_manager": "pnpm",
      "path": "components/products/product-media-gallery.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "frontend,ui,security,automation",
      "component_id": "7951b2e81cc1a1c690029560",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductSort | imports:@/components/ui/select, next/navigation | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "ProductSort",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9a12a0e6fb1d337",
      "framework": "next-react",
      "imports": "@/components/ui/select,next/navigation",
      "lines": 46,
      "logic_relevance": "none",
      "name": "product-sort",
      "normalized_name": "product-sort",
      "package_manager": "pnpm",
      "path": "components/products/product-sort.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability",
      "component_id": "3b62e380b66845197191f1dc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:WishlistButton | imports:@/app/actions/wishlist, @/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "WishlistButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f64a74514fab8b41",
      "framework": "next-react",
      "imports": "@/app/actions/wishlist,@/components/ui/button,lucide-react,react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "wishlist-button",
      "normalized_name": "wishlist-button",
      "package_manager": "pnpm",
      "path": "components/products/wishlist-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "51c711e67f9ab89f08e8a0e2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BrandLogo | imports:@/lib/branding, @/lib/utils, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "BrandLogo",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b1a8968a50b5903a",
      "framework": "next-react",
      "imports": "@/lib/branding,@/lib/utils,next/image,next/link",
      "lines": 49,
      "logic_relevance": "none",
      "name": "brand-logo",
      "normalized_name": "brand-logo",
      "package_manager": "pnpm",
      "path": "components/layout/brand-logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "b0313a394749a628ace232fc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/i18n,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MobileBottomNav | imports:@/i18n/navigation, @/lib/utils, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MobileBottomNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46097159eaec30cd",
      "framework": "next-react",
      "imports": "@/i18n/navigation,@/lib/utils,lucide-react,next/navigation,react",
      "lines": 114,
      "logic_relevance": "none",
      "name": "mobile-bottom-nav",
      "normalized_name": "mobile-bottom-nav",
      "package_manager": "pnpm",
      "path": "components/layout/mobile-bottom-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "fb576ada4e22bf8c76076018",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next,next-intl",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/layout/brand-logo, @/components/layout/newsletter-form, @/components/ui/tooltip, @/i18n/navigation, @/lib/site, lucide-react, next-intl, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a9601476ebe718d4",
      "framework": "next-react",
      "imports": "@/components/layout/brand-logo,@/components/layout/newsletter-form,@/components/ui/tooltip,@/i18n/navigation,@/lib/site,lucide-react,next-intl,next/image",
      "lines": 285,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/layout/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "59fcc04496150b91e5eeaff7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/i18n,@/lib,lucide-react,next,next-intl,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/layout/brand-logo, @/components/ui/badge, @/components/ui/button, @/components/ui/input, @/components/ui/language-switcher, @/components/ui/sheet, @/components/ui/tooltip, @/i18n/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4fa0b5b28568ad0",
      "framework": "next-react",
      "imports": "@/components/layout/brand-logo,@/components/ui/badge,@/components/ui/button,@/components/ui/input,@/components/ui/language-switcher,@/components/ui/sheet,@/components/ui/tooltip,@/i18n/navigation,@/lib/site,@/lib/utils,lucide-react,next-intl,next-themes,next/navigation,react",
      "lines": 372,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/layout/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui",
      "component_id": "783b4247efaad3fa4c0541f4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,next-intl,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterForm | imports:@/components/ui/button, @/components/ui/input, @/components/ui/tooltip, @/hooks/use-toast, lucide-react, next-intl, react | frontend-score:115 | ui-score:70",
      "exports": "NewsletterForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "49cc8549ece68619",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/tooltip,@/hooks/use-toast,lucide-react,next-intl,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "newsletter-form",
      "normalized_name": "newsletter-form",
      "package_manager": "pnpm",
      "path": "components/layout/newsletter-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "69557e48e41006f7cbef35f2",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c2a21741f955797a",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/providers/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "4c667545b429301e4e374b22",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@stripe/react-stripe-js,@stripe/stripe-js,next-intl,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:Checkout | imports:./shipping-form, @stripe/react-stripe-js, @stripe/stripe-js, next-intl, react | frontend-score:115 | ui-score:70 | security-score:55 | uses-env",
      "exports": "Checkout",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c298d278f20fefe3",
      "framework": "next-react",
      "imports": "./shipping-form,@stripe/react-stripe-js,@stripe/stripe-js,next-intl,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "checkout",
      "normalized_name": "checkout",
      "package_manager": "pnpm",
      "path": "components/checkout/checkout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "d104c448b8ed1b20823146b3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next-intl,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShippingForm, ShippingFormData, ShippingRate | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/components/ui/separator, @/lib/utils, lucide-react, next-intl | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ShippingForm,ShippingFormData,ShippingRate",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0275273c2ac8a258",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/components/ui/separator,@/lib/utils,lucide-react,next-intl,react",
      "lines": 410,
      "logic_relevance": "none",
      "name": "shipping-form",
      "normalized_name": "shipping-form",
      "package_manager": "pnpm",
      "path": "components/checkout/shipping-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "5ba304a85b1821d6836a700f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BlogComments, CommentAvatar, CommentItem | imports:@/components/ui/card, @/components/ui/separator, @/lib/data, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "BlogComments,CommentAvatar,CommentItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7937af4906b5e9bd",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/components/ui/separator,@/lib/data,lucide-react",
      "lines": 96,
      "logic_relevance": "none",
      "name": "blog-comments",
      "normalized_name": "blog-comments",
      "package_manager": "pnpm",
      "path": "components/blog/blog-comments.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2568f691daed5a70f78ee48f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommentForm | imports:@/app/actions/blog-comments, @/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CommentForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d854e5419f1c6ab0",
      "framework": "next-react",
      "imports": "@/app/actions/blog-comments,@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 164,
      "logic_relevance": "none",
      "name": "comment-form",
      "normalized_name": "comment-form",
      "package_manager": "pnpm",
      "path": "components/blog/comment-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "5a9aca058f5f91f5e44d30fe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@ai-sdk/react,ai,lucide-react,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:ChatWidget | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/lib/utils, @ai-sdk/react, ai, lucide-react, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "ChatWidget",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "a734f8dbcba7e1a1",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/lib/utils,@ai-sdk/react,ai,lucide-react,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "chat-widget",
      "normalized_name": "chat-widget",
      "package_manager": "pnpm",
      "path": "components/ai/chat-widget.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "1736569f4a0cdf41bdadd74f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsForm | imports:@/app/actions/account, @/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/separator, lucide-react, next/link, react | frontend-score:115 | ui-score:70",
      "exports": "SettingsForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea418179843a9899",
      "framework": "next-react",
      "imports": "@/app/actions/account,@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/separator,lucide-react,next/link,react",
      "lines": 224,
      "logic_relevance": "none",
      "name": "settings-form",
      "normalized_name": "settings-form",
      "package_manager": "pnpm",
      "path": "components/account/settings-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "182c981e45123ebefe0f28e4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddressForm | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/select, @/lib/addresses, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AddressForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ebaef154b133809",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/select,@/lib/addresses,lucide-react,next/navigation,react",
      "lines": 300,
      "logic_relevance": "none",
      "name": "address-form",
      "normalized_name": "address-form",
      "package_manager": "pnpm",
      "path": "components/account/address-form.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "936181ad5f71ec4e6e420eb4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/app,@/components,lucide-react,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:AddressCard | imports:@/app/actions/addresses, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next/link, react | frontend-score:115 | ui-score:70",
      "exports": "AddressCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f185b6fd794456c",
      "framework": "next-react",
      "imports": "@/app/actions/addresses,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next/link,react",
      "lines": 113,
      "logic_relevance": "none",
      "name": "address-card",
      "normalized_name": "address-card",
      "package_manager": "pnpm",
      "path": "components/account/address-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "0eed91e3eef93dd429268dcd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CategoryArt, getCategoryArtSpec | imports:lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CategoryArt,getCategoryArtSpec",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7d32bd1b034e4a25",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "category-art",
      "normalized_name": "category-art",
      "package_manager": "pnpm",
      "path": "components/categories/category-art.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery,ai",
      "component_id": "a8ce1f774bb12bcca40ea100",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5cf661e6d3ef6969",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery,ai",
      "component_id": "37500123ee13c694af253d0c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1d19c39db70c4c99",
      "framework": "next-react",
      "imports": "",
      "lines": 245,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "public/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery",
      "component_id": "4a6c8bec83ab996090a066c4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "62c4562ff2877f82",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "b574f7f3faf129236be3b8f2",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cce51a758fa3016f",
      "framework": "next-react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "secondary",
      "name": "F19F9D3075ABAB1B1BC902FDD1B2FC7F",
      "normalized_name": "f19-f9-d3075-abab1-b1-bc902-fdd1-b2-fc7-f",
      "package_manager": "pnpm",
      "path": "public/pki-validation/F19F9D3075ABAB1B1BC902FDD1B2FC7F.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process",
      "component_id": "5983cc12c8d55d8827f7566e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a568391798436eda",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "process",
      "component_id": "0ddd1e6ebe7a9c6bb68c18f5",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3116cf8aeaf8214f",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "27ddf042a5c327c9a74b81e3",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:node:fs, node:path, node:url | integration-score:55 | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "9d1343110b9a2b2d",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 152,
      "logic_relevance": "none",
      "name": "verify-shopify-import-live",
      "normalized_name": "verify-shopify-import-live",
      "package_manager": "pnpm",
      "path": "scripts/verify-shopify-import-live.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "1098b0dbb89bdec79e387039",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BATCH_SIZE, COLS_PER_ROW, DATABASE_URL, DRY_RUN, PG_COLUMNS, ROOT, UPDATE_COLS | imports:@neondatabase/serverless, node:fs, node:path | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BATCH_SIZE,COLS_PER_ROW,DATABASE_URL,DRY_RUN,PG_COLUMNS,ROOT,UPDATE_COLS",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "605fb6d90292712f",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 443,
      "logic_relevance": "none",
      "name": "007-import-legacy-users",
      "normalized_name": "007-import-legacy-users",
      "package_manager": "pnpm",
      "path": "scripts/007-import-legacy-users.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "869b90dff4c392d0f9fc9d35",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,sharp",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ASSETS_DIR, ROOT, VALID_EXTENSIONS | imports:node:fs/promises, node:path, sharp | observability-score:55 | automation-score:50",
      "exports": "ASSETS_DIR,ROOT,VALID_EXTENSIONS",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "eee8c404241c40c9",
      "framework": "next-react",
      "imports": "node:fs/promises,node:path,sharp",
      "lines": 115,
      "logic_relevance": "none",
      "name": "optimize-assets",
      "normalized_name": "optimize-assets",
      "package_manager": "pnpm",
      "path": "scripts/optimize-assets.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "e53a6550d1c2610ebeb32b08",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../lib/legacy-mail | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9328150c25b12329",
      "framework": "next-react",
      "imports": "../lib/legacy-mail",
      "lines": 65,
      "logic_relevance": "none",
      "name": "test-smtp",
      "normalized_name": "test-smtp",
      "package_manager": "pnpm",
      "path": "scripts/test-smtp.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "24633e3878454cd30d4644bc",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:API_VERSION, DRY_RUN, LIMIT, LIMIT_ARG, SHOPIFY_ADMIN_TOKEN, SHOP_NAME, VEHICLE_TAG_ALIASES | imports:node:fs, node:path, node:url | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "API_VERSION,DRY_RUN,LIMIT,LIMIT_ARG,SHOPIFY_ADMIN_TOKEN,SHOP_NAME,VEHICLE_TAG_ALIASES",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b750ea1fe1463ce1",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 325,
      "logic_relevance": "none",
      "name": "shopify-add-product-tags",
      "normalized_name": "shopify-add-product-tags",
      "package_manager": "pnpm",
      "path": "scripts/shopify-add-product-tags.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "887a29ed6c7290e9631b9425",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "csv,os,re,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:iter_insert_statements, parse_columns, split_insert_rows, tokenise_values, unescape | imports:csv, os, re, sys | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "iter_insert_statements,parse_columns,split_insert_rows,tokenise_values,unescape",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3a10ff84df04d696",
      "framework": "next-react",
      "imports": "csv,os,re,sys",
      "lines": 248,
      "logic_relevance": "none",
      "name": "sql_to_csv",
      "normalized_name": "sql-to-csv",
      "package_manager": "pnpm",
      "path": "scripts/sql_to_csv.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "b08b0c74d1f76b76670d411c",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:API_VERSION, DRY_RUN, MAIN_MENU, STORE, TOKEN, UTILITY_MENU | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "API_VERSION,DRY_RUN,MAIN_MENU,STORE,TOKEN,UTILITY_MENU",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9275ce3f6f2a9a32",
      "framework": "next-react",
      "imports": "",
      "lines": 209,
      "logic_relevance": "none",
      "name": "shopify-sync-navigation",
      "normalized_name": "shopify-sync-navigation",
      "package_manager": "pnpm",
      "path": "scripts/shopify-sync-navigation.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "e34883ba9b4fd348c006d134",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:API_VERSION, DRY_RUN, LEGACY_ASSET_ORIGIN, NATIVE_SHOPIFY_ROUTES, STORE, TEMPLATE_BY_HANDLE, TOKEN | imports:node:fs, node:path, node:url | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "API_VERSION,DRY_RUN,LEGACY_ASSET_ORIGIN,NATIVE_SHOPIFY_ROUTES,STORE,TEMPLATE_BY_HANDLE,TOKEN",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "baba4019351ce1f0",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 561,
      "logic_relevance": "none",
      "name": "shopify-upsert-pages",
      "normalized_name": "shopify-upsert-pages",
      "package_manager": "pnpm",
      "path": "scripts/shopify-upsert-pages.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "6e6b4fd614b2aec8e9a41ab9",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "0c19772dde0d2672",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 73,
      "logic_relevance": "none",
      "name": "_check-uniqueness",
      "normalized_name": "check-uniqueness",
      "package_manager": "pnpm",
      "path": "scripts/_check-uniqueness.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,integration,observability,security",
      "component_id": "5fe55a63eaf9edb910107b4d",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "collections,csv,dataclasses,decimal,os,pathlib,re",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:OrderFallback, ProductRecord, build_image_only_row, build_primary_row, clean_int_string, decimal_sort_key, dimension_value, first_non_empty | imports:collections, csv, dataclasses, decimal, os, pathlib, re | automation-score:95 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "OrderFallback,ProductRecord,build_image_only_row,build_primary_row,clean_int_string,decimal_sort_key,dimension_value,first_non_empty,legacy_bool,load_catalog_products,load_images,load_lookup,load_order_fallbacks,load_tag_imports,main,normalize_price,product_hints_from_image_path,public_image_url,resolve_titles,sanitize_product_tags,single_line_text,slugify,split_csvish,strip_html,title_case_token,unique_preserve,write_output",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8a3d5da5010331b5",
      "framework": "next-react",
      "imports": "collections,csv,dataclasses,decimal,os,pathlib,re",
      "lines": 709,
      "logic_relevance": "none",
      "name": "build_shopify_product_template",
      "normalized_name": "build-shopify-product-template",
      "package_manager": "pnpm",
      "path": "scripts/build_shopify_product_template.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "5dd5450e4f7e2554439c8851",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PAGES, SOURCE_BASE, TARGET_BASE | observability-score:55 | automation-score:50 | uses-env",
      "exports": "PAGES,SOURCE_BASE,TARGET_BASE",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "6033c62a703beba8",
      "framework": "next-react",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "verify-content-parity",
      "normalized_name": "verify-content-parity",
      "package_manager": "pnpm",
      "path": "scripts/verify-content-parity.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "777cf0794783287f5cf8b9a7",
      "component_kind": "integration-module",
      "confidence": 100,
      "dependency_roots": "__future__,csv,dataclasses,datetime,decimal,pathlib,re",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:Address, CustomerRecord, address_from_user, better_address, build_customers, clean, fill_customer_from_address, infer_country_from_province | imports:__future__, csv, dataclasses, datetime, decimal, pathlib, re | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "Address,CustomerRecord,address_from_user,better_address,build_customers,clean,fill_customer_from_address,infer_country_from_province,main,money_string,normalize_country,normalize_email,normalize_province,order_address,parse_date,parse_money,read_csv,register_order,row_for_customer,template_columns,unique_tags,validate_output",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c4bde7bcf695bd2d",
      "framework": "next-react",
      "imports": "__future__,csv,dataclasses,datetime,decimal,pathlib,re",
      "lines": 573,
      "logic_relevance": "none",
      "name": "build_shopify_customers",
      "normalized_name": "build-shopify-customers",
      "package_manager": "pnpm",
      "path": "scripts/build_shopify_customers.py",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a3bd516cacc250fbb9b50ccc",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "af7e8352037b2a64",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 59,
      "logic_relevance": "none",
      "name": "_inspect-pks",
      "normalized_name": "inspect-pks",
      "package_manager": "pnpm",
      "path": "scripts/_inspect-pks.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e88cd36a6e1f65020a5ad745",
      "component_kind": "automation-config",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "9ca75ddb1766207a",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "__init__",
      "normalized_name": "init",
      "package_manager": "pnpm",
      "path": "scripts/__init__.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "8e783c6b8a92d5948b52a37e",
      "component_kind": "integration-module",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:REQUIRED_HEADERS, REQUIRED_PRODUCT_VALUES | imports:node:fs, node:path, node:url | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "REQUIRED_HEADERS,REQUIRED_PRODUCT_VALUES",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "2f8c613d86ebfe57",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 242,
      "logic_relevance": "none",
      "name": "validate-shopify-products-import",
      "normalized_name": "validate-shopify-products-import",
      "package_manager": "pnpm",
      "path": "scripts/validate-shopify-products-import.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "924b6f843157807ee3e26dcf",
      "component_kind": "integration-module",
      "confidence": 100,
      "dependency_roots": "__future__,collections,csv,decimal,pathlib,re",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:build_balance_rows, build_ledger_rows, clean, decimal_string, load_redemption_rate, main, money_string, normalize_email | imports:__future__, collections, csv, decimal, pathlib, re | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "build_balance_rows,build_ledger_rows,clean,decimal_string,load_redemption_rate,main,money_string,normalize_email,parse_decimal,read_csv,validate_balance_rows,write_csv",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "adade80850622c73",
      "framework": "next-react",
      "imports": "__future__,collections,csv,decimal,pathlib,re",
      "lines": 242,
      "logic_relevance": "none",
      "name": "build_shopify_rewards_points",
      "normalized_name": "build-shopify-rewards-points",
      "package_manager": "pnpm",
      "path": "scripts/build_shopify_rewards_points.py",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "6e8e249f8901eacdf0527e97",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e5bf333f03fc5142",
      "framework": "next-react",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "import-legacy-dump",
      "normalized_name": "import-legacy-dump",
      "package_manager": "pnpm",
      "path": "scripts/import-legacy-dump.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "ff344de29575a1fb5cc69927",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:fs, node:fs/promises, node:path | observability-score:55 | automation-score:50 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "7f9436f5f53ba21c",
      "framework": "next-react",
      "imports": "node:fs,node:fs/promises,node:path",
      "lines": 98,
      "logic_relevance": "none",
      "name": "sync-legacy-assets",
      "normalized_name": "sync-legacy-assets",
      "package_manager": "pnpm",
      "path": "scripts/sync-legacy-assets.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "637d6df2dec394388c6fec19",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:node:fs, node:path, node:url | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "38271be96e4cc060",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 136,
      "logic_relevance": "none",
      "name": "build-shopify-category-redirects",
      "normalized_name": "build-shopify-category-redirects",
      "package_manager": "pnpm",
      "path": "scripts/build-shopify-category-redirects.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "5933fd3676cc8d5235a72dab",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "a86ca6764787352a",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 57,
      "logic_relevance": "none",
      "name": "_inspect-constraints",
      "normalized_name": "inspect-constraints",
      "package_manager": "pnpm",
      "path": "scripts/_inspect-constraints.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "dda2e3f5b364c9a2856d7fe9",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MAILCHIMP_API_KEY, MAILCHIMP_LIST_ID | imports:node:crypto | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "MAILCHIMP_API_KEY,MAILCHIMP_LIST_ID",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "be7bc2f4d2754058",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 138,
      "logic_relevance": "none",
      "name": "test-mailchimp",
      "normalized_name": "test-mailchimp",
      "package_manager": "pnpm",
      "path": "scripts/test-mailchimp.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "process,observability,security,automation",
      "component_id": "8d96f0d732d4bf2db24b6bcc",
      "component_kind": "migration-plan",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DRY, ROOT, VARCHAR | imports:@neondatabase/serverless, node:fs, node:path | process-score:80 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "DRY,ROOT,VARCHAR",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "ccb94bceac6d7db2",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 629,
      "logic_relevance": "none",
      "name": "run-full-migration",
      "normalized_name": "run-full-migration",
      "package_manager": "pnpm",
      "path": "scripts/run-full-migration.mjs",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "417d155fc8399511a2a598bf",
      "component_kind": "security-module",
      "confidence": 100,
      "dependency_roots": "__future__,pathlib,re,sys",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:add_drop_statements, convert_mysql_to_postgres, looks_like_mysql_dump, main, prepare_sql_text, sanitize_sql_text, transform_file | imports:__future__, pathlib, re, sys | security-score:55 | automation-score:50",
      "exports": "add_drop_statements,convert_mysql_to_postgres,looks_like_mysql_dump,main,prepare_sql_text,sanitize_sql_text,transform_file",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2119cfbf8273b038",
      "framework": "next-react",
      "imports": "__future__,pathlib,re,sys",
      "lines": 214,
      "logic_relevance": "none",
      "name": "legacy_sql_tools",
      "normalized_name": "legacy-sql-tools",
      "package_manager": "pnpm",
      "path": "scripts/legacy_sql_tools.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "828b6568433602d8bc2f6442",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "@aws-sdk/client-s3,fs,path,sharp,url",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:BATCH_SIZE, BUCKET, MAX_DIMENSION, PNG_COMPRESSION, PREFIX, QUALITY, TEMP_DIR, WEBP_QUALITY | imports:@aws-sdk/client-s3, fs/promises, path, sharp, url | automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BATCH_SIZE,BUCKET,MAX_DIMENSION,PNG_COMPRESSION,PREFIX,QUALITY,TEMP_DIR,WEBP_QUALITY",
      "extension": ".mjs",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dfd3e4800fcdfc4a",
      "framework": "next-react",
      "imports": "@aws-sdk/client-s3,fs/promises,path,sharp,url",
      "lines": 359,
      "logic_relevance": "none",
      "name": "optimize-s3-products",
      "normalized_name": "optimize-s3-products",
      "package_manager": "pnpm",
      "path": "scripts/optimize-s3-products.mjs",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "60c59cb436b42062c317f49c",
      "component_kind": "integration-module",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:VEHICLE_TAG_MAP | imports:node:fs, node:path, node:url | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "VEHICLE_TAG_MAP",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "c9d9ffc923b6b0f4",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 164,
      "logic_relevance": "none",
      "name": "shopify-add-slug-tags-to-csv",
      "normalized_name": "shopify-add-slug-tags-to-csv",
      "package_manager": "pnpm",
      "path": "scripts/shopify-add-slug-tags-to-csv.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "3b63232e21786b1039aaf9ac",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:node:fs, node:path, node:url | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "9d6ba45d406d336c",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 99,
      "logic_relevance": "none",
      "name": "shopify-make-tags-only-csv",
      "normalized_name": "shopify-make-tags-only-csv",
      "package_manager": "pnpm",
      "path": "scripts/shopify-make-tags-only-csv.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8b1087401047e4840de3f309",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "99c44481eb958d3e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 38,
      "logic_relevance": "none",
      "name": "_inspect-tables",
      "normalized_name": "inspect-tables",
      "package_manager": "pnpm",
      "path": "scripts/_inspect-tables.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "646cd35780532a3cf692061a",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "node:fs,node:path,sharp",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:node:fs/promises, node:path, sharp | observability-score:55 | automation-score:50",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "b1bedc5762998383",
      "framework": "next-react",
      "imports": "node:fs/promises,node:path,sharp",
      "lines": 224,
      "logic_relevance": "none",
      "name": "generate-logo-pack",
      "normalized_name": "generate-logo-pack",
      "package_manager": "pnpm",
      "path": "scripts/generate-logo-pack.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "a4e1892d2acc6b49802c0435",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b686e8e348fcd96c",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "upload-product-assets-to-s3",
      "normalized_name": "upload-product-assets-to-s3",
      "package_manager": "pnpm",
      "path": "scripts/upload-product-assets-to-s3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "cc21335355e243e4e115e8ef",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "794e3afaa4e335a0",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 26,
      "logic_relevance": "none",
      "name": "_quick-cols",
      "normalized_name": "quick-cols",
      "package_manager": "pnpm",
      "path": "scripts/_quick-cols.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "9594d305a75abec5ed053b96",
      "component_kind": "integration-module",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path,node:url",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:API_VERSION, BLOG_HANDLE, DRY_RUN, LEGACY_ASSET_ORIGIN, STORE, TOKEN | imports:node:fs, node:path, node:url | integration-score:55 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "API_VERSION,BLOG_HANDLE,DRY_RUN,LEGACY_ASSET_ORIGIN,STORE,TOKEN",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7e389de2f1c5a3c5",
      "framework": "next-react",
      "imports": "node:fs,node:path,node:url",
      "lines": 248,
      "logic_relevance": "none",
      "name": "import-shopify-blog-and-tags",
      "normalized_name": "import-shopify-blog-and-tags",
      "package_manager": "pnpm",
      "path": "scripts/import-shopify-blog-and-tags.mjs",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1db23f14eed61d6162de6dfc",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:node:fs/promises, node:path | observability-score:55 | security-score:55 | automation-score:50",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "24f9ca37a9aa427d",
      "framework": "next-react",
      "imports": "node:fs/promises,node:path",
      "lines": 118,
      "logic_relevance": "none",
      "name": "summary-legacy-dump",
      "normalized_name": "summary-legacy-dump",
      "package_manager": "pnpm",
      "path": "scripts/summary-legacy-dump.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "44d67298079f1536a13f794f",
      "component_kind": "integration-module",
      "confidence": 100,
      "dependency_roots": "csv,pathlib",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:fmt_money, load_order_items, load_products, main | imports:csv, pathlib | integration-score:55 | observability-score:55 | automation-score:50",
      "exports": "fmt_money,load_order_items,load_products,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "15f222e6d102f9f4",
      "framework": "next-react",
      "imports": "csv,pathlib",
      "lines": 256,
      "logic_relevance": "none",
      "name": "build_shopify_orders",
      "normalized_name": "build-shopify-orders",
      "package_manager": "pnpm",
      "path": "scripts/build_shopify_orders.py",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1c31557288fd2759203195b3",
      "component_kind": "automation-config",
      "confidence": 90,
      "dependency_roots": "pathlib,scripts.legacy_sql_tools,sys",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:main | imports:pathlib, scripts.legacy_sql_tools, sys | automation-score:95",
      "exports": "main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "dac0f87133163301",
      "framework": "next-react",
      "imports": "pathlib,scripts.legacy_sql_tools,sys",
      "lines": 45,
      "logic_relevance": "none",
      "name": "migrate-mysql-to-neon",
      "normalized_name": "migrate-mysql-to-neon",
      "package_manager": "pnpm",
      "path": "scripts/migrate-mysql-to-neon.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation",
      "component_id": "036e5437fac91212769887d1",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,dotenv,node:fs,node:path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DATABASE_URL, ROOT | imports:@neondatabase/serverless, dotenv, node:fs, node:path | backend-score:90 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "DATABASE_URL,ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "fb62ebc8bfa90fb2",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,dotenv,node:fs,node:path",
      "lines": 127,
      "logic_relevance": "none",
      "name": "summary-neon-db",
      "normalized_name": "summary-neon-db",
      "package_manager": "pnpm",
      "path": "scripts/summary-neon-db.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "34d516ea0a49e3447653dadb",
      "component_kind": "migration-plan",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | process-score:80 | observability-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2b8f74222cda742e",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 43,
      "logic_relevance": "none",
      "name": "_check-migration-state",
      "normalized_name": "check-migration-state",
      "package_manager": "pnpm",
      "path": "scripts/_check-migration-state.mjs",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e438130811389ef974e40ed2",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "054f3fd37c5a2f5d",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 47,
      "logic_relevance": "none",
      "name": "_inspect-types",
      "normalized_name": "inspect-types",
      "package_manager": "pnpm",
      "path": "scripts/_inspect-types.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "797475808293da0924ea1afa",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DATABASE_URL, SCRIPTS_DIR | imports:@neondatabase/serverless, node:fs/promises, node:path | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "DATABASE_URL,SCRIPTS_DIR",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "61c3aa4ac32a4318",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs/promises,node:path",
      "lines": 96,
      "logic_relevance": "none",
      "name": "seed-data",
      "normalized_name": "seed-data",
      "package_manager": "pnpm",
      "path": "scripts/seed-data.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,logic,observability,security,automation",
      "component_id": "29c42786d3732cb23e916a9b",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DATABASE_URL, SCRIPTS_DIR | imports:@neondatabase/serverless, node:fs/promises, node:path | backend-score:90 | logic-score:70 | observability-score:55 | security-score:55 | automation-score:50 | uses-env",
      "exports": "DATABASE_URL,SCRIPTS_DIR",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "a221c94cc0d388e2",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs/promises,node:path",
      "lines": 80,
      "logic_relevance": "secondary",
      "name": "migrate-schema",
      "normalized_name": "migrate-schema",
      "package_manager": "pnpm",
      "path": "scripts/migrate-schema.mjs",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "e10c1971920229dd6bd30996",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,node:fs,node:path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ROOT | imports:@neondatabase/serverless, node:fs, node:path | observability-score:55 | automation-score:50 | uses-env",
      "exports": "ROOT",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "e4fc24c850e11e98",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,node:fs,node:path",
      "lines": 36,
      "logic_relevance": "none",
      "name": "_inspect-more",
      "normalized_name": "inspect-more",
      "package_manager": "pnpm",
      "path": "scripts/_inspect-more.mjs",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "87428a1d586f507646d47e5e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BlogComment, BlogPost, ContentPage, FAQ, Setting, Slider, Testimonial, WebSettings | imports:@/lib/assets, @/lib/content, @/lib/db, @/lib/logger, @/lib/site | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "BlogComment,BlogPost,ContentPage,FAQ,Setting,Slider,Testimonial,WebSettings",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61ea5880a16d4ae0",
      "framework": "next-react",
      "imports": "@/lib/assets,@/lib/content,@/lib/db,@/lib/logger,@/lib/site",
      "lines": 510,
      "logic_relevance": "primary",
      "name": "data",
      "normalized_name": "data",
      "package_manager": "pnpm",
      "path": "lib/data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,integration,security",
      "component_id": "08745a1b3906b57eb914683f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "stripe",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getStripe, stripe | imports:stripe | logic-score:60 | integration-score:55 | security-score:55 | uses-env",
      "exports": "getStripe,stripe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d0e2d6e62bf9e5a5",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "pnpm",
      "path": "lib/stripe.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "e08eac9743d0dcb49e4b4e78",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Address, AddressInput | imports:@/lib/db, @/lib/logger | logic-score:85 | observability-score:55",
      "exports": "Address,AddressInput",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "aa02a54f45a3e8c0",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger",
      "lines": 232,
      "logic_relevance": "primary",
      "name": "addresses",
      "normalized_name": "addresses",
      "package_manager": "pnpm",
      "path": "lib/addresses.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "bbc73c2b800dbe94c04bb71a",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BlogPostingJsonLdInput, BreadcrumbItem, CollectionPageJsonLdInput, ProductJsonLdInput, TestimonialJsonLdInput, blogPostingJsonLd, breadcrumbJsonLd, collectionPageJsonLd | imports:@/lib/branding, @/lib/site | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "BlogPostingJsonLdInput,BreadcrumbItem,CollectionPageJsonLdInput,ProductJsonLdInput,TestimonialJsonLdInput,blogPostingJsonLd,breadcrumbJsonLd,collectionPageJsonLd,organizationJsonLd,productJsonLd,testimonialsPageJsonLd,websiteJsonLd",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b30b18b06bba2a4d",
      "framework": "next-react",
      "imports": "@/lib/branding,@/lib/site",
      "lines": 274,
      "logic_relevance": "primary",
      "name": "structured-data",
      "normalized_name": "structured-data",
      "package_manager": "pnpm",
      "path": "lib/structured-data.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "00ad1c51e5f363296168b445",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Coupon, CouponValidationResult | imports:@/lib/db, @/lib/logger | logic-score:85 | observability-score:55",
      "exports": "Coupon,CouponValidationResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5f091dc2bd595209",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger",
      "lines": 196,
      "logic_relevance": "primary",
      "name": "coupons",
      "normalized_name": "coupons",
      "package_manager": "pnpm",
      "path": "lib/coupons.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "9f0971db379b6737f36d7abd",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:NewsletterOptInInput, OrderConfirmationInput, WelcomeEmailInput, buildOrderConfirmationHtml, buildOrderConfirmationText, buildWelcomeEmailHtml, buildWelcomeEmailText | imports:@/lib/checkout, @/lib/legacy-mail, @/lib/logger, @/lib/mailchimp, @/lib/orders, @/lib/site | logic-score:85 | observability-score:55 | automation-score:45 | uses-env",
      "exports": "NewsletterOptInInput,OrderConfirmationInput,WelcomeEmailInput,buildOrderConfirmationHtml,buildOrderConfirmationText,buildWelcomeEmailHtml,buildWelcomeEmailText",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bee3e7d8bcbe6eb9",
      "framework": "next-react",
      "imports": "@/lib/checkout,@/lib/legacy-mail,@/lib/logger,@/lib/mailchimp,@/lib/orders,@/lib/site",
      "lines": 236,
      "logic_relevance": "primary",
      "name": "notifications",
      "normalized_name": "notifications",
      "package_manager": "pnpm",
      "path": "lib/notifications.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "logic,security,automation",
      "component_id": "7525e23e4147a96e3c8bb3b3",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:fs,node:path",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:isLegacySiteAssetUrl, toLegacyAssetUrl | imports:./asset-constants, node:fs, node:path | logic-score:85 | security-score:55 | automation-score:45 | uses-env",
      "exports": "isLegacySiteAssetUrl,toLegacyAssetUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e00f6e188306eb3c",
      "framework": "next-react",
      "imports": "./asset-constants,node:fs,node:path",
      "lines": 100,
      "logic_relevance": "primary",
      "name": "assets",
      "normalized_name": "assets",
      "package_manager": "pnpm",
      "path": "lib/assets.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "c8667f6023b3e7696abb06fa",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ShippingInfo, resolveSiteUrl | imports:@/lib/auth, @/lib/cart, @/lib/products, @/lib/stripe | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "ShippingInfo,resolveSiteUrl",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "65632f1c6d9ec763",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/cart,@/lib/products,@/lib/stripe",
      "lines": 182,
      "logic_relevance": "primary",
      "name": "checkout",
      "normalized_name": "checkout",
      "package_manager": "pnpm",
      "path": "lib/checkout.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "50ef3e611347e19ca0685d64",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,redis",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:DEFAULT_TTL | imports:@/lib/logger, redis | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DEFAULT_TTL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "525ad7984ca13c54",
      "framework": "next-react",
      "imports": "@/lib/logger,redis",
      "lines": 64,
      "logic_relevance": "primary",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "pnpm",
      "path": "lib/redis.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "cb56a64add03ddfe86134021",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, escapeJsonForHtml, formatDate, formatDecimalPrice, formatPrice, generateOrderNumber, slugify, truncate | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn,escapeJsonForHtml,formatDate,formatDecimalPrice,formatPrice,generateOrderNumber,slugify,truncate",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "bea4405766987eab",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "a48be458e90ade679df890cc",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:crypto",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SESSION_COOKIE_NAME, SessionPayload, createSessionCookieValue, parseSessionCookieValue | imports:node:crypto | logic-score:85 | security-score:55 | uses-env",
      "exports": "SESSION_COOKIE_NAME,SessionPayload,createSessionCookieValue,parseSessionCookieValue",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "37369e14f0d2e771",
      "framework": "next-react",
      "imports": "node:crypto",
      "lines": 59,
      "logic_relevance": "primary",
      "name": "session-cookie",
      "normalized_name": "session-cookie",
      "package_manager": "pnpm",
      "path": "lib/session-cookie.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "dbc4201225513f3ca791fe03",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SITE_CONTACT, SITE_NAME, SITE_POLICIES, SITE_SOCIAL, formatPhoneHref, formatWhatsAppHref | logic-score:85",
      "exports": "SITE_CONTACT,SITE_NAME,SITE_POLICIES,SITE_SOCIAL,formatPhoneHref,formatWhatsAppHref",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7dc8bee7b762d074",
      "framework": "next-react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "site",
      "normalized_name": "site",
      "package_manager": "pnpm",
      "path": "lib/site.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "e458f6601454016f8ce7de68",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ExtractedVideo, extractYouTubeVideos, htmlToPlainText, normalizeLegacyArticleHtml, normalizeLegacyHtml, stripYouTubeIframes, truncatePlainText | imports:@/lib/assets | logic-score:85 | observability-score:55",
      "exports": "ExtractedVideo,extractYouTubeVideos,htmlToPlainText,normalizeLegacyArticleHtml,normalizeLegacyHtml,stripYouTubeIframes,truncatePlainText",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fc3335b90c97968c",
      "framework": "next-react",
      "imports": "@/lib/assets",
      "lines": 149,
      "logic_relevance": "primary",
      "name": "content",
      "normalized_name": "content",
      "package_manager": "pnpm",
      "path": "lib/content.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "5735a44efa70773c2b04692e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "node:net,node:tls",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LegacyMailConfig, SendLegacyMailInput, buildLegacyMailMessage, getLegacyMailConfig | imports:node:net, node:tls | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "LegacyMailConfig,SendLegacyMailInput,buildLegacyMailMessage,getLegacyMailConfig",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0fb7c2402090ee7a",
      "framework": "next-react",
      "imports": "node:net,node:tls",
      "lines": 296,
      "logic_relevance": "primary",
      "name": "legacy-mail",
      "normalized_name": "legacy-mail",
      "package_manager": "pnpm",
      "path": "lib/legacy-mail.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "af0f29ccff15c18a9c67a4d9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:LogLevel, LogPayload, Logger, logger | imports:@/lib/logger, @/lib/request-context | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "LogLevel,LogPayload,Logger,logger",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "61d440c3334bcc7e",
      "framework": "next-react",
      "imports": "@/lib/logger,@/lib/request-context",
      "lines": 192,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "pnpm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "069bce6aa2edce59fcaab537",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Category, Product, ProductImage, ProductSort, ProductType, formatPrice, toProductImageUrl | imports:@/lib/assets, @/lib/content, @/lib/db, @/lib/logger, @/lib/redis | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Category,Product,ProductImage,ProductSort,ProductType,formatPrice,toProductImageUrl",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f2e4f1f32fef916",
      "framework": "next-react",
      "imports": "@/lib/assets,@/lib/content,@/lib/db,@/lib/logger,@/lib/redis",
      "lines": 720,
      "logic_relevance": "primary",
      "name": "products",
      "normalized_name": "products",
      "package_manager": "pnpm",
      "path": "lib/products.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "0fe1982e30040a7685020a0c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CreateOrderInput, Order, OrderItem, OrderLog | imports:@/lib/db, @/lib/logger | logic-score:85 | observability-score:55",
      "exports": "CreateOrderInput,Order,OrderItem,OrderLog",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "baaa9e98dfd6c57f",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger",
      "lines": 557,
      "logic_relevance": "primary",
      "name": "orders",
      "normalized_name": "orders",
      "package_manager": "pnpm",
      "path": "lib/orders.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "2272185260a1df555de0fe53",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:WishlistItem | imports:@/lib/db, @/lib/logger, @/lib/products | logic-score:85 | observability-score:55",
      "exports": "WishlistItem",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9b3b6363126a53c6",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/products",
      "lines": 235,
      "logic_relevance": "primary",
      "name": "wishlists",
      "normalized_name": "wishlists",
      "package_manager": "pnpm",
      "path": "lib/wishlists.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "0c34ab7641b8f56613008d4e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "@/lib",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:CartItemPayload | imports:@/lib/cart | logic-score:85",
      "exports": "CartItemPayload",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "065e2981c9f7c4ae",
      "framework": "next-react",
      "imports": "@/lib/cart",
      "lines": 58,
      "logic_relevance": "primary",
      "name": "cart-client",
      "normalized_name": "cart-client",
      "package_manager": "pnpm",
      "path": "lib/cart-client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0257d59424cea338763cb089",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FeatureFlags, flags | imports:@/lib/flags | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "FeatureFlags,flags",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a2ce0b18a24d1d55",
      "framework": "next-react",
      "imports": "@/lib/flags",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "flags",
      "normalized_name": "flags",
      "package_manager": "pnpm",
      "path": "lib/flags.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "9feaba31d83f850a33ffc183",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,node:async_hooks",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RequestContext, createRequestContext, getRequestContext, runWithRequestContext | imports:@/lib/request-context, node:async_hooks | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "RequestContext,createRequestContext,getRequestContext,runWithRequestContext",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "441f73775848961e",
      "framework": "next-react",
      "imports": "@/lib/request-context,node:async_hooks",
      "lines": 76,
      "logic_relevance": "primary",
      "name": "request-context",
      "normalized_name": "request-context",
      "package_manager": "pnpm",
      "path": "lib/request-context.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "0e65e4e8197f64736fc447a3",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SecurityHeaderEntry, applySecurityHeaders, getSecurityHeaders | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SecurityHeaderEntry,applySecurityHeaders,getSecurityHeaders",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c81c509b6280d9ff",
      "framework": "next-react",
      "imports": "",
      "lines": 209,
      "logic_relevance": "primary",
      "name": "security-headers",
      "normalized_name": "security-headers",
      "package_manager": "pnpm",
      "path": "lib/security-headers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "510a98b289a6ea05532d4e5f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BRAND_ASSETS, HERO_FALLBACK_IMAGES, toAbsoluteBrandAsset | logic-score:60 | observability-score:55",
      "exports": "BRAND_ASSETS,HERO_FALLBACK_IMAGES,toAbsoluteBrandAsset",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "559ca17ed6155c3e",
      "framework": "next-react",
      "imports": "",
      "lines": 37,
      "logic_relevance": "primary",
      "name": "branding",
      "normalized_name": "branding",
      "package_manager": "pnpm",
      "path": "lib/branding.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "47c984fcd02484f63a397139",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "phpass",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:verifyPhpassPassword | imports:phpass | logic-score:60",
      "exports": "verifyPhpassPassword",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4a02f59e3e5f5552",
      "framework": "next-react",
      "imports": "phpass",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "phpass",
      "normalized_name": "phpass",
      "package_manager": "pnpm",
      "path": "lib/phpass.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "d3d2f70e19a31b20de4dbf7c",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Cart, CartItem, computePackageDimensions | imports:@/lib/db, @/lib/logger, @/lib/products, next/headers | logic-score:85 | observability-score:55 | uses-env",
      "exports": "Cart,CartItem,computePackageDimensions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bdf63b997b3acab7",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/products,next/headers",
      "lines": 284,
      "logic_relevance": "primary",
      "name": "cart",
      "normalized_name": "cart",
      "package_manager": "pnpm",
      "path": "lib/cart.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "78516908165b3eaf36f99a1e",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:IMAGE_NOT_AVAILABLE_ASSET | logic-score:45",
      "exports": "IMAGE_NOT_AVAILABLE_ASSET",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a76b34379310581f",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "asset-constants",
      "normalized_name": "asset-constants",
      "package_manager": "pnpm",
      "path": "lib/asset-constants.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "1c6dcbf4b27b25ba5f5956b8",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,bcryptjs,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Session, User | imports:@/lib/db, @/lib/logger, @/lib/phpass, @/lib/redis, @/lib/session-cookie, bcryptjs, next/headers | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "Session,User",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fb6b876599c437f0",
      "framework": "next-react",
      "imports": "@/lib/db,@/lib/logger,@/lib/phpass,@/lib/redis,@/lib/session-cookie,bcryptjs,next/headers",
      "lines": 384,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "pnpm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "7f0c794af50cec3f144633ec",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "@/lib,node:crypto",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/lib/logger, node:crypto | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e76d1f8d8fb60a04",
      "framework": "next-react",
      "imports": "@/lib/logger,node:crypto",
      "lines": 140,
      "logic_relevance": "primary",
      "name": "mailchimp",
      "normalized_name": "mailchimp",
      "package_manager": "pnpm",
      "path": "lib/mailchimp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "d9ab53357cbb005383cafb2d",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:UPSRateResponse | imports:@/lib/logger | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "UPSRateResponse",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "62795225a0991749",
      "framework": "next-react",
      "imports": "@/lib/logger",
      "lines": 269,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/shipping/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,logic",
      "component_id": "2ecae120c406000e10ae556d",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:getDb, sql | imports:@neondatabase/serverless | backend-score:90 | logic-score:85 | uses-env",
      "exports": "getDb,sql",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "51de070c3b8b2190",
      "framework": "next-react",
      "imports": "@neondatabase/serverless",
      "lines": 45,
      "logic_relevance": "secondary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/db/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,observability,security",
      "component_id": "53c7107f7bfb8e0eeb82593e",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AuthContext, GET, withAdmin, withAuth | imports:./response, @/lib/auth, @/lib/db, @/lib/logger, next/server | logic-score:85 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "AuthContext,GET,withAdmin,withAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6b255cfc8e64ecee",
      "framework": "next-react",
      "imports": "./response,@/lib/auth,@/lib/db,@/lib/logger,next/server",
      "lines": 69,
      "logic_relevance": "primary",
      "name": "with-auth",
      "normalized_name": "with-auth",
      "package_manager": "pnpm",
      "path": "lib/api/with-auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic",
      "component_id": "f008d0d1a507292020611c82",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:validateQuery | imports:./response, next/server, zod | backend-score:90 | logic-score:85",
      "exports": "validateQuery",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "119dbf818238f137",
      "framework": "next-react",
      "imports": "./response,next/server,zod",
      "lines": 44,
      "logic_relevance": "secondary",
      "name": "validate",
      "normalized_name": "validate",
      "package_manager": "pnpm",
      "path": "lib/api/validate.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,logic,observability,security",
      "component_id": "e74ff76771d8118fae80d00e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ApiErrorResponse, ApiSuccessResponse, apiCreated, apiError, apiForbidden, apiNoContent, apiNotFound, apiSuccess | imports:next/server, zod | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "ApiErrorResponse,ApiSuccessResponse,apiCreated,apiError,apiForbidden,apiNoContent,apiNotFound,apiSuccess,apiTooManyRequests,apiUnauthorized,apiValidationError",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9d05402a3c1f7f11",
      "framework": "next-react",
      "imports": "next/server,zod",
      "lines": 91,
      "logic_relevance": "secondary",
      "name": "response",
      "normalized_name": "response",
      "package_manager": "pnpm",
      "path": "lib/api/response.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,security,logic",
      "component_id": "109da3b5d1ded4497d05066f",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DEPRECATION_HEADERS, applyDeprecationHeaders | backend-score:55 | security-score:55 | logic-score:45",
      "exports": "DEPRECATION_HEADERS,applyDeprecationHeaders",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "b638a705c686c568",
      "framework": "next-react",
      "imports": "",
      "lines": 22,
      "logic_relevance": "secondary",
      "name": "deprecation",
      "normalized_name": "deprecation",
      "package_manager": "pnpm",
      "path": "lib/api/deprecation.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "cfc2aa8fcd73b8758772d8f9",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:apiCreated, apiError, apiForbidden, apiNoContent, apiNotFound, apiSuccess, apiTooManyRequests, apiUnauthorized | imports:./rate-limit, ./response, ./validate, ./with-auth, @/lib/api | logic-score:70 | backend-score:55 | security-score:55",
      "exports": "apiCreated,apiError,apiForbidden,apiNoContent,apiNotFound,apiSuccess,apiTooManyRequests,apiUnauthorized,apiValidationError,checkRateLimit,type ApiErrorResponse,type ApiSuccessResponse,type AuthContext,type RateLimitConfig,validateBody,validateQuery,withAdmin,withAuth",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3426f389304a1baa",
      "framework": "next-react",
      "imports": "./rate-limit,./response,./validate,./with-auth,@/lib/api",
      "lines": 26,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "lib/api/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "8fd2453aa1e70d12ccb24583",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:RateLimitConfig, checkRateLimit | imports:./response, next/server | logic-score:85 | backend-score:55 | security-score:55",
      "exports": "RateLimitConfig,checkRateLimit",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "55abdf53a52e4281",
      "framework": "next-react",
      "imports": "./response,next/server",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "rate-limit",
      "normalized_name": "rate-limit",
      "package_manager": "pnpm",
      "path": "lib/api/rate-limit.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "ai",
      "component_id": "9c6a4cbdd54b3a39f93235de",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "next-intl",
      "description": "AI component for i18n; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "imports:./routing, next-intl/server | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "72f0c238990b3217",
      "framework": "next-react",
      "imports": "./routing,next-intl/server",
      "lines": 16,
      "logic_relevance": "none",
      "name": "request",
      "normalized_name": "request",
      "package_manager": "pnpm",
      "path": "i18n/request.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "128a21744905ad9c697e5d82",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f1089b82a754888e",
      "framework": "next-react",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "header-group",
      "normalized_name": "header-group",
      "package_manager": "pnpm",
      "path": "shopify-theme/sections/header-group.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "b88f73950fffd7b656c56ee5",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65e23ff635701a2d",
      "framework": "next-react",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "footer-group",
      "normalized_name": "footer-group",
      "package_manager": "pnpm",
      "path": "shopify-theme/sections/footer-group.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "f0f2377ba6a73912f37c99c8",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f763670f97b2678",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "pl.schema",
      "normalized_name": "pl-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/pl.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "37415aca0d5accf0873f0448",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4eb96549fca7220d",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "tr",
      "normalized_name": "tr",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/tr.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "da3bb5feeee675000c244ffa",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "65f33eca485eaa0c",
      "framework": "next-react",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/sl.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "d6da54cfd5910b4b902b5109",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8d435993b3daacf5",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "hu",
      "normalized_name": "hu",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/hu.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "03c876f23e159c56ce89c93e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "55861c8b5b4acbea",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "fr.schema",
      "normalized_name": "fr-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/fr.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "bbdf252e98d67a86bcfb6e85",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "59b6c6d262c1a4d5",
      "framework": "next-react",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "lt",
      "normalized_name": "lt",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/lt.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "5f457823be73b057b3173c78",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "60f0b895e09f6fe4",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/nl.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "7ec3cebe3bd394ffe270eac9",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8cd28500e00075f4",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "zh-CN.schema",
      "normalized_name": "zh-cn-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/zh-CN.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation,ai",
      "component_id": "55fd92d20a11ad3a5ef66cb3",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c74cad8fb326ecd6",
      "framework": "next-react",
      "imports": "",
      "lines": 371,
      "logic_relevance": "none",
      "name": "en.default",
      "normalized_name": "en-default",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/en.default.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "85b54170bd236b184784d14f",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "92943d9cfcfe1a24",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/ja.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "9bde5f676ac8218a878099f5",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8c124cd3dc89f3f0",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "nl.schema",
      "normalized_name": "nl-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/nl.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "41e41a083375bccfa00079d6",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e8a2b031c537eedc",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "th.schema",
      "normalized_name": "th-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/th.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "a684c456878a26cc53e0051f",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2acf01f38345cd42",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/de.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "399031629493aeb75b2c44af",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ec787b33e87e9214",
      "framework": "next-react",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "ru",
      "normalized_name": "ru",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/ru.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "97c7eb4228d9f7b4f080f0cf",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0469bf5114d27972",
      "framework": "next-react",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "pl",
      "normalized_name": "pl",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/pl.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,ai",
      "component_id": "2fcdf1de0e1138318acf7265",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b44a4e96b9c9b68f",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "pt-PT.schema",
      "normalized_name": "pt-pt-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/pt-PT.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "575e3ac5ac0dcb1cdbd21a08",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "99c7b36b4ad25ee7",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "fi",
      "normalized_name": "fi",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/fi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "2422df7fd77825d61b82d6e8",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "151b099470b6b91d",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "cs.schema",
      "normalized_name": "cs-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/cs.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "4520d58baaca5f761ce142c7",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "30434e343f1ff813",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "de.schema",
      "normalized_name": "de-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/de.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "4901b6fe3379f66ebba19138",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e40a7658314fe70c",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "zh-CN",
      "normalized_name": "zh-cn",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/zh-CN.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "2e7cb60295fc260233318af3",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2b29d11f769d8ae7",
      "framework": "next-react",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "sk",
      "normalized_name": "sk",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/sk.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,ai",
      "component_id": "f8991b44e9bcf9ede05b75fa",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dff95bba1369ca46",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "pt-BR.schema",
      "normalized_name": "pt-br-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/pt-BR.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "a953fe691db0d2ebe63af4d3",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "38e1e90067a01717",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "es.schema",
      "normalized_name": "es-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/es.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "fe976d7c5569909428720d62",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "42de3f001ee89db5",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "ja.schema",
      "normalized_name": "ja-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/ja.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "4140e38c322687ab21f51000",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e637e1026d23e101",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "pt-PT",
      "normalized_name": "pt-pt",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/pt-PT.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "c2f2e515fb7d250ebb16bfa7",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "54a87a9886eea394",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/it.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "ea1cc7d287b4a7162d7ed9f3",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c854264fd8e447c2",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "hr",
      "normalized_name": "hr",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/hr.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "f3b880577c210ccebd117683",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ee88fb8cc261c9cc",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "tr.schema",
      "normalized_name": "tr-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/tr.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability",
      "component_id": "3330b1c33cb39f0ac71037a8",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c3ca335d33eb42c7",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "fi.schema",
      "normalized_name": "fi-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/fi.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "1bb8b1c28ae84d4f7045831a",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4b324762ea460ebd",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/fr.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "da2b734488e5f74b10ceb56c",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7eceab4177feda55",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "el",
      "normalized_name": "el",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/el.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "8d9972d25b4a773155c43f1f",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b864bb3e21d66e28",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "ko.schema",
      "normalized_name": "ko-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/ko.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "55789be7406d4e7ac4ab1ba7",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3a164379249e0729",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "bg",
      "normalized_name": "bg",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/bg.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "5f6d779b5ffb86b8999b9277",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e90121d3d0f008c8",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "ro",
      "normalized_name": "ro",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/ro.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "6e7149594e1a8fbc4c539016",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "dc38219585786846",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "pt-BR",
      "normalized_name": "pt-br",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/pt-BR.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "f7ffb2144ab3fe11333289cc",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2b1d40b475c0b5d5",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/ko.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "136541aa87537e58963c2b31",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f5027e32547fc05d",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "zh-TW",
      "normalized_name": "zh-tw",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/zh-TW.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "e835f983e1df1715b2a00567",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "83566a3fc17acd34",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "vi",
      "normalized_name": "vi",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/vi.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,ai",
      "component_id": "198d8bd6a1b8ed69d275275e",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3dd05fbfc85df17f",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "it.schema",
      "normalized_name": "it-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/it.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security,automation",
      "component_id": "a242f9f0f1ec6bb9b79186a8",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "81ad06d0cfd7411e",
      "framework": "next-react",
      "imports": "",
      "lines": 1216,
      "logic_relevance": "primary",
      "name": "en.default.schema",
      "normalized_name": "en-default-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/en.default.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "a2c1e0ac78c4e98d980e42c0",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "39de6c20979c157e",
      "framework": "next-react",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "cs",
      "normalized_name": "cs",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/cs.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "083986a3143157a5ceaa4692",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "81c3645409f7566d",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "id",
      "normalized_name": "id",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/id.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "b06fb7e71692a9e4adfc8d5c",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e89f25454026a3ec",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "da.schema",
      "normalized_name": "da-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/da.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "d9a7e083f6ace23e6e745270",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "964b463711085a36",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "nb.schema",
      "normalized_name": "nb-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/nb.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "e003de6d8fbbecb17a65a3e5",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "058f61b9a41b52ab",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/da.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "f40d2244f71d50c521574936",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e358bdcf428fb6ad",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "th",
      "normalized_name": "th",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/th.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "e5dfc4638647c94cd1119c24",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "692360ead6a19d13",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/sv.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "265cde8438458a70a9923008",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2e47318240d3ab76",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "zh-TW.schema",
      "normalized_name": "zh-tw-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/zh-TW.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "6c3b7ca6b45dde60c3437280",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fd8812bd43b49256",
      "framework": "next-react",
      "imports": "",
      "lines": 359,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/es.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "faa3d75388b3c8eaa3c1bbbd",
      "component_kind": "schema-validation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cc81fa5abf5b97c1",
      "framework": "next-react",
      "imports": "",
      "lines": 1123,
      "logic_relevance": "primary",
      "name": "sv.schema",
      "normalized_name": "sv-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/sv.schema.json",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "771122051dd7cac5f3257a89",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "017fd06a73a9c8b8",
      "framework": "next-react",
      "imports": "",
      "lines": 352,
      "logic_relevance": "none",
      "name": "nb",
      "normalized_name": "nb",
      "package_manager": "pnpm",
      "path": "shopify-theme/locales/nb.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,integration,observability,security,logic",
      "component_id": "3c3030d61d70fcac3f4272bf",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7119f583569aa0c5",
      "framework": "next-react",
      "imports": "",
      "lines": 2288,
      "logic_relevance": "secondary",
      "name": "settings_schema",
      "normalized_name": "settings-schema",
      "package_manager": "pnpm",
      "path": "shopify-theme/config/settings_schema.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "e51b6d6697517f663b98207e",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0473e63e7a22221",
      "framework": "next-react",
      "imports": "",
      "lines": 637,
      "logic_relevance": "none",
      "name": "settings_data",
      "normalized_name": "settings-data",
      "package_manager": "pnpm",
      "path": "shopify-theme/config/settings_data.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "9f52c59300aa50d32170bd8e",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "73be2751ed4d7037",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "password",
      "normalized_name": "password",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/password.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration",
      "component_id": "f079d364ccf0b87242a0933f",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c5c717b85b6469a8",
      "framework": "next-react",
      "imports": "",
      "lines": 265,
      "logic_relevance": "none",
      "name": "cart",
      "normalized_name": "cart",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/cart.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "e87d4990ce835aec9414db93",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2db9281e4e7db83b",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page.track-order",
      "normalized_name": "page-track-order",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.track-order.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration",
      "component_id": "069ca11a2054c26ef5e50333",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cd46eca8384faa0d",
      "framework": "next-react",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/search.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "783f4df6903c8c237a165253",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f391b0d3dc643d17",
      "framework": "next-react",
      "imports": "",
      "lines": 151,
      "logic_relevance": "none",
      "name": "page.contact",
      "normalized_name": "page-contact",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.contact.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "a7d9b4b83c0fe7d56c548fce",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "870c5079503b6635",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "page.about",
      "normalized_name": "page-about",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.about.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration",
      "component_id": "59e249499d1eaad066af8c17",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "64492ae02a8a9a6c",
      "framework": "next-react",
      "imports": "",
      "lines": 282,
      "logic_relevance": "none",
      "name": "404",
      "normalized_name": "404",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/404.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "0934d793ee629b8f1709f1bc",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05df71730fc31f8a",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page.returns",
      "normalized_name": "page-returns",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.returns.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "4b402ee894aeaf5305bbbe92",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3579db31e1420c5a",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "article",
      "normalized_name": "article",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/article.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "bbe9b6fd813a97bb15fa7b48",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "243dbfc4fa54b316",
      "framework": "next-react",
      "imports": "",
      "lines": 240,
      "logic_relevance": "none",
      "name": "collection",
      "normalized_name": "collection",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/collection.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "integration",
      "component_id": "36646375b131dfd70b551226",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for ai; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8fc66ede3b62a5b0",
      "framework": "next-react",
      "imports": "",
      "lines": 413,
      "logic_relevance": "none",
      "name": "product",
      "normalized_name": "product",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/product.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "20162edfa636ad383994e881",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c2144ace48f2ffaa",
      "framework": "next-react",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/index.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "1f24f2bd99344759ce2ad0cb",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "15b6fe703389629e",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "blog",
      "normalized_name": "blog",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/blog.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "26792dfa63f04ffa66f34ffc",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ec5adac1fbde6cee",
      "framework": "next-react",
      "imports": "",
      "lines": 174,
      "logic_relevance": "none",
      "name": "list-collections",
      "normalized_name": "list-collections",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/list-collections.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "0d4b2d09a5a0a542c1eb6830",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f46158ef39ff4ff8",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "ae1d82b8ac5c6bcf10dda5a3",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c7ec5c5f81f8a38",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page.rewards",
      "normalized_name": "page-rewards",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.rewards.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "21f28eb764a59c56266acbf1",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b181f497767aaca",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page.faq",
      "normalized_name": "page-faq",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.faq.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "d6d951b132860b7d458f3af2",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c678096d7e5207fb",
      "framework": "next-react",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page.shipping",
      "normalized_name": "page-shipping",
      "package_manager": "pnpm",
      "path": "shopify-theme/templates/page.shipping.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration,security",
      "component_id": "a6826c8fc70f1f8e753e6922",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/morph,@theme/overflow-list,@theme/utilities,@theme/variant-picker,quick-add,slideshow",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductCard, ProductCardLink | imports:@theme/component, @theme/events, @theme/morph, @theme/overflow-list, @theme/utilities, @theme/variant-picker, quick-add, slideshow | integration-score:55 | security-score:55",
      "exports": "ProductCard,ProductCardLink",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "534d6fa7868c5bfd",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/morph,@theme/overflow-list,@theme/utilities,@theme/variant-picker,quick-add,slideshow",
      "lines": 621,
      "logic_relevance": "none",
      "name": "product-card",
      "normalized_name": "product-card",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-card.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,integration,observability,discovery",
      "component_id": "370b5ee15037d0822c22908e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "39285a0497e7399a",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "06b72de400d21c0ee9da6995",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/morph",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:LocalPickup | imports:@theme/component, @theme/events, @theme/morph | integration-score:55 | observability-score:55",
      "exports": "LocalPickup",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8faeba02146d2325",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/morph",
      "lines": 79,
      "logic_relevance": "none",
      "name": "local-pickup",
      "normalized_name": "local-pickup",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/local-pickup.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "8b9278c04a9972f6a302d528",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/dialog,@theme/events,@theme/scrolling,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ZoomDialog | imports:./media-gallery, @theme/component, @theme/dialog, @theme/events, @theme/scrolling, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ZoomDialog",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "372c5d38c934c5c6",
      "framework": "next-react",
      "imports": "./media-gallery,@theme/component,@theme/dialog,@theme/events,@theme/scrolling,@theme/utilities",
      "lines": 289,
      "logic_relevance": "none",
      "name": "zoom-dialog",
      "normalized_name": "zoom-dialog",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/zoom-dialog.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "98f10cfefaf94dff18286bc2",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/focus,@theme/scrolling,@theme/utilities,slideshow",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CollectionLinks | imports:@theme/component, @theme/events, @theme/focus, @theme/scrolling, @theme/utilities, slideshow | integration-score:55 | security-score:55",
      "exports": "CollectionLinks",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d22a877a9e7bd733",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/focus,@theme/scrolling,@theme/utilities,slideshow",
      "lines": 232,
      "logic_relevance": "none",
      "name": "collection-links",
      "normalized_name": "collection-links",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/collection-links.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "4c6523487a44fcfd4ebb36c9",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cde48f38aaf7fe80",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "jsconfig",
      "normalized_name": "jsconfig",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/jsconfig.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "459bde87da19d3e5e465a2e8",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartAddEvent, CartErrorEvent, CartUpdateEvent, DiscountUpdateEvent, FilterUpdateEvent, MediaStartedPlayingEvent, MegaMenuHoverEvent, QuantitySelectorUpdateEvent | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "CartAddEvent,CartErrorEvent,CartUpdateEvent,DiscountUpdateEvent,FilterUpdateEvent,MediaStartedPlayingEvent,MegaMenuHoverEvent,QuantitySelectorUpdateEvent,SlideshowSelectEvent,ThemeEvents,VariantSelectedEvent,VariantUpdateEvent,ZoomMediaSelectedEvent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1290bc43167daaa1",
      "framework": "next-react",
      "imports": "",
      "lines": 290,
      "logic_relevance": "none",
      "name": "events",
      "normalized_name": "events",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/events.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "integration,automation",
      "component_id": "bc966ffd41468141e1780319",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:JumboText | imports:@theme/component, @theme/utilities | integration-score:55 | automation-score:45",
      "exports": "JumboText",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dcfff1bbfefcf37f",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 199,
      "logic_relevance": "none",
      "name": "jumbo-text",
      "normalized_name": "jumbo-text",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/jumbo-text.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "bada0bcd7f4899ff3c9f574e",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/morph,@theme/performance,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:AddToCartComponent | imports:./events, @theme/component, @theme/events, @theme/morph, @theme/performance, @theme/utilities | integration-score:55 | observability-score:55",
      "exports": "AddToCartComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "212dec3e9fb72270",
      "framework": "next-react",
      "imports": "./events,@theme/component,@theme/events,@theme/morph,@theme/performance,@theme/utilities",
      "lines": 781,
      "logic_relevance": "none",
      "name": "product-form",
      "normalized_name": "product-form",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-form.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "5a677363919588c6e13f05b8",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductTitle | imports:@theme/component | integration-score:55",
      "exports": "ProductTitle",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "232e189de28ef153",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 86,
      "logic_relevance": "none",
      "name": "product-title-truncation",
      "normalized_name": "product-title-truncation",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-title-truncation.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "0146008de76edd0f713b793c",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/dialog,@theme/events,@theme/morph,@theme/utilities,@theme/variant-picker",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:QuickAddComponent | imports:./product-card, ./product-hotspot, @theme/component, @theme/dialog, @theme/events, @theme/morph, @theme/utilities, @theme/variant-picker | integration-score:55 | observability-score:55",
      "exports": "QuickAddComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7f1c8496cb32e09",
      "framework": "next-react",
      "imports": "./product-card,./product-hotspot,@theme/component,@theme/dialog,@theme/events,@theme/morph,@theme/utilities,@theme/variant-picker",
      "lines": 343,
      "logic_relevance": "none",
      "name": "quick-add",
      "normalized_name": "quick-add",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/quick-add.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "6ee7a8144c8dbaeb49826f95",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/paginated-list-aspect-ratio,@theme/section-renderer,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:PaginatedList | imports:@theme/component, @theme/events, @theme/paginated-list-aspect-ratio, @theme/section-renderer, @theme/utilities | integration-score:55 | observability-score:55",
      "exports": "PaginatedList",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e7287e33145082e3",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/paginated-list-aspect-ratio,@theme/section-renderer,@theme/utilities",
      "lines": 355,
      "logic_relevance": "none",
      "name": "paginated-list",
      "normalized_name": "paginated-list",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/paginated-list.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "0d3f9cffda70c9eea70eb742",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:RTEFormatter | imports:@theme/component | integration-score:55",
      "exports": "RTEFormatter",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39057b63bc6ffe44",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 29,
      "logic_relevance": "none",
      "name": "rte-formatter",
      "normalized_name": "rte-formatter",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/rte-formatter.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration",
      "component_id": "e2dee37ffbcf3d7bd5d8cb71",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/events,@theme/utilities",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartIcon | imports:@theme/component, @theme/events, @theme/utilities | integration-score:55",
      "exports": "CartIcon",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "66f8ee19fae4dfa4",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/utilities",
      "lines": 134,
      "logic_relevance": "none",
      "name": "cart-icon",
      "normalized_name": "cart-icon",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/cart-icon.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "4780c04d88c45f6f00c41183",
      "component_kind": "integration-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:PaginatedListAspectRatioHelper | integration-score:55",
      "exports": "PaginatedListAspectRatioHelper",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7e077509bf3d61c",
      "framework": "next-react",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "paginated-list-aspect-ratio",
      "normalized_name": "paginated-list-aspect-ratio",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/paginated-list-aspect-ratio.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "95135d8a7f020ce5bcb6b283",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/qr-code-generator",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:QRCodeImage | imports:@theme/component, @theme/qr-code-generator | integration-score:55",
      "exports": "QRCodeImage",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c10aba53d8ab5cef",
      "framework": "next-react",
      "imports": "@theme/component,@theme/qr-code-generator",
      "lines": 35,
      "logic_relevance": "none",
      "name": "qr-code-image",
      "normalized_name": "qr-code-image",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/qr-code-image.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "4fdda826dd8bd9e8128d39e8",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:MORPH_OPTIONS, morph | imports:@theme/component | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "MORPH_OPTIONS,morph",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a198d7b71c44ba79",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 571,
      "logic_relevance": "none",
      "name": "morph",
      "normalized_name": "morph",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/morph.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "7b298a2094010c2e48624de1",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:SearchPageInputComponent | imports:@theme/component, @theme/utilities | integration-score:55 | security-score:55",
      "exports": "SearchPageInputComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce69d896f4a27663",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 49,
      "logic_relevance": "none",
      "name": "search-page-input",
      "normalized_name": "search-page-input",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/search-page-input.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "dfbd43101a6731bf5f496d68",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad1346312bafa09a",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "auto-close-details",
      "normalized_name": "auto-close-details",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/auto-close-details.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "07ef7fa1ba1992e927f6fbfa",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/focus,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:HeaderDrawer | imports:@theme/component, @theme/focus, @theme/utilities | integration-score:55 | security-score:55",
      "exports": "HeaderDrawer",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b3b60391c5d60fd",
      "framework": "next-react",
      "imports": "@theme/component,@theme/focus,@theme/utilities",
      "lines": 188,
      "logic_relevance": "none",
      "name": "header-drawer",
      "normalized_name": "header-drawer",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/header-drawer.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "ad755e1014d1fb22dbf2f35c",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ShowMoreComponent | imports:@theme/component, @theme/utilities | integration-score:55",
      "exports": "ShowMoreComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03cbeab23333bbcd",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 162,
      "logic_relevance": "none",
      "name": "show-more",
      "normalized_name": "show-more",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/show-more.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "c5e2397b1cb672785f6a97b8",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:EDITOR_PREFIX | imports:./layered-slideshow, ./slideshow, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "EDITOR_PREFIX",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1d1cd778663a393",
      "framework": "next-react",
      "imports": "./layered-slideshow,./slideshow,@theme/utilities",
      "lines": 418,
      "logic_relevance": "none",
      "name": "theme-editor",
      "normalized_name": "theme-editor",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/theme-editor.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration",
      "component_id": "097db3af7b63319103032754",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/events,@theme/morph,@theme/utilities",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:StickyAddToCartComponent | imports:@theme/component, @theme/events, @theme/morph, @theme/utilities | integration-score:55",
      "exports": "StickyAddToCartComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f26fac36bfa1b8d",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/morph,@theme/utilities",
      "lines": 359,
      "logic_relevance": "none",
      "name": "sticky-add-to-cart",
      "normalized_name": "sticky-add-to-cart",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/sticky-add-to-cart.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "b943937c1eddc2412fe259e2",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:AccordionCustom | imports:@theme/utilities | integration-score:55 | security-score:55",
      "exports": "AccordionCustom",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "54fe7ceb1f102e66",
      "framework": "next-react",
      "imports": "@theme/utilities",
      "lines": 107,
      "logic_relevance": "none",
      "name": "accordion-custom",
      "normalized_name": "accordion-custom",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/accordion-custom.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,ai",
      "component_id": "2711a42fd4e53b5e12dee1c1",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/dialog,@theme/events",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:DeferredMedia, ProductModel | imports:@theme/component, @theme/dialog, @theme/events | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "DeferredMedia,ProductModel",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3355a7d400b9e1eb",
      "framework": "next-react",
      "imports": "@theme/component,@theme/dialog,@theme/events",
      "lines": 248,
      "logic_relevance": "none",
      "name": "media",
      "normalized_name": "media",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/media.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "integration",
      "component_id": "4505285c12ee75d3a8bf0eec",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for seo-and-metadata; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:FloatingPanelComponent | imports:@theme/component, @theme/utilities | integration-score:55",
      "exports": "FloatingPanelComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9f49b96b5dfdadaa",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 63,
      "logic_relevance": "none",
      "name": "floating-panel",
      "normalized_name": "floating-panel",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/floating-panel.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,integration",
      "component_id": "40ce3ffb2b64bd13de13295f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4402e450de5ee2c3",
      "framework": "next-react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "overflow-list",
      "normalized_name": "overflow-list",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/overflow-list.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "integration",
      "component_id": "283325561395e867210f5d3a",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for seo-and-metadata; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:AnchoredPopoverComponent | imports:@theme/component, @theme/utilities | integration-score:55",
      "exports": "AnchoredPopoverComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f021076d8321d95b",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 132,
      "logic_relevance": "none",
      "name": "anchored-popover",
      "normalized_name": "anchored-popover",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/anchored-popover.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "integration,automation",
      "component_id": "1d6cdead72afa0ad8ca47c12",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:OverflowList, OverflowMinimumEvent | imports:@theme/component, @theme/utilities | integration-score:55 | automation-score:45",
      "exports": "OverflowList,OverflowMinimumEvent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "460d7740e69b64fc",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 386,
      "logic_relevance": "none",
      "name": "overflow-list",
      "normalized_name": "overflow-list",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/overflow-list.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "24ebd47cb5170447dab71d1d",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:RENDER_BLOCKER_TIMEOUT_MS | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "RENDER_BLOCKER_TIMEOUT_MS",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77a36aaa2a974ced",
      "framework": "next-react",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "view-transitions",
      "normalized_name": "view-transitions",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/view-transitions.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "14177eaf70b99fc2248cf4a2",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ANIMATION_OPTIONS, MarqueeComponent | imports:@theme/component, @theme/utilities | integration-score:55",
      "exports": "ANIMATION_OPTIONS,MarqueeComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f0a9e09220c53ac",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 276,
      "logic_relevance": "none",
      "name": "marquee",
      "normalized_name": "marquee",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/marquee.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,integration",
      "component_id": "18b47ad9da7475a69724dcd9",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b9a1c10bb90f434b",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "template-giftcard",
      "normalized_name": "template-giftcard",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/template-giftcard.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "fc214cf44369822f4b4eaf37",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:MediaGallery | imports:./slideshow, ./zoom-dialog, @theme/component, @theme/events | integration-score:55 | observability-score:55",
      "exports": "MediaGallery",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0dd60c2c1f2c6919",
      "framework": "next-react",
      "imports": "./slideshow,./zoom-dialog,@theme/component,@theme/events",
      "lines": 95,
      "logic_relevance": "none",
      "name": "media-gallery",
      "normalized_name": "media-gallery",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/media-gallery.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "a991be62d0ec40c82b4e4dac",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/quick-add,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductHotspotComponent | imports:@theme/component, @theme/quick-add, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "ProductHotspotComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d0079339b08bf99",
      "framework": "next-react",
      "imports": "@theme/component,@theme/quick-add,@theme/utilities",
      "lines": 338,
      "logic_relevance": "none",
      "name": "product-hotspot",
      "normalized_name": "product-hotspot",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-hotspot.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,integration,observability,security",
      "component_id": "c1a14656f890bfce5ebfc796",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DialogCloseEvent, DialogComponent, DialogOpenEvent | imports:@theme/component, @theme/utilities | ui-score:70 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "DialogCloseEvent,DialogComponent,DialogOpenEvent",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "29e81ab767bd2dfa",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 193,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/dialog.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "66fb4fb17bf7400ce264742a",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:VolumePricingComponent | imports:@theme/component | integration-score:55",
      "exports": "VolumePricingComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4d83981b1106303a",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 20,
      "logic_relevance": "none",
      "name": "volume-pricing",
      "normalized_name": "volume-pricing",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/volume-pricing.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security",
      "component_id": "3856f74bea5c187d35c0d506",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:RecentlyViewed | integration-score:55 | security-score:55",
      "exports": "RecentlyViewed",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e9e2d9475c0ca242",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "recently-viewed-products",
      "normalized_name": "recently-viewed-products",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/recently-viewed-products.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,observability",
      "component_id": "a392315150d838dd3224321a",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:HeaderComponent | imports:@theme/component, @theme/utilities | integration-score:55 | observability-score:55",
      "exports": "HeaderComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d629f22bf3d302bf",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 274,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/header.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,ai",
      "component_id": "17695a67202650460c34357b",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:QRCode | integration-score:55 | security-score:55 | ai-score:45",
      "exports": "QRCode",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a32a8f0ca1db47eb",
      "framework": "next-react",
      "imports": "",
      "lines": 1663,
      "logic_relevance": "none",
      "name": "qr-code-generator",
      "normalized_name": "qr-code-generator",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/qr-code-generator.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "a24aad466a185436c007ff21",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/morph,@theme/overflow-list,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:SECTION_ID_MAP, VariantPicker | imports:@theme/component, @theme/events, @theme/morph, @theme/overflow-list, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "SECTION_ID_MAP,VariantPicker",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4357c80adaf5e671",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/morph,@theme/overflow-list,@theme/utilities",
      "lines": 505,
      "logic_relevance": "none",
      "name": "variant-picker",
      "normalized_name": "variant-picker",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/variant-picker.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,security,automation",
      "component_id": "afadc6637a4e6fdff7ff011d",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/dialog,@theme/morph,@theme/recently-viewed-products,@theme/section-renderer,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:PredictiveSearchComponent | imports:@theme/component, @theme/dialog, @theme/morph, @theme/recently-viewed-products, @theme/section-renderer, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "PredictiveSearchComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "50bdc4a90bd32d9e",
      "framework": "next-react",
      "imports": "@theme/component,@theme/dialog,@theme/morph,@theme/recently-viewed-products,@theme/section-renderer,@theme/utilities",
      "lines": 430,
      "logic_relevance": "none",
      "name": "predictive-search",
      "normalized_name": "predictive-search",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/predictive-search.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "ee22df9b2aabe63c66d9a19f",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/dialog,@theme/events,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartDrawerComponent | imports:@theme/dialog, @theme/events, @theme/utilities | integration-score:55 | observability-score:55",
      "exports": "CartDrawerComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c6ec4200ae19ed2a",
      "framework": "next-react",
      "imports": "@theme/dialog,@theme/events,@theme/utilities",
      "lines": 131,
      "logic_relevance": "none",
      "name": "cart-drawer",
      "normalized_name": "cart-drawer",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/cart-drawer.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "94bdac6a9b2c8f60c53c5242",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "@theme/paginated-list",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:BlogPostsList | imports:@theme/paginated-list | integration-score:55 | observability-score:55",
      "exports": "BlogPostsList",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "43f079c8eb383525",
      "framework": "next-react",
      "imports": "@theme/paginated-list",
      "lines": 10,
      "logic_relevance": "none",
      "name": "blog-posts-list",
      "normalized_name": "blog-posts-list",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/blog-posts-list.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration",
      "component_id": "d058da9b569bb06e65d5b258",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/paginated-list,@theme/utilities",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ResultsList | imports:@theme/paginated-list, @theme/utilities | integration-score:55",
      "exports": "ResultsList",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "865be9c00b20fd5d",
      "framework": "next-react",
      "imports": "@theme/paginated-list,@theme/utilities",
      "lines": 78,
      "logic_relevance": "none",
      "name": "results-list",
      "normalized_name": "results-list",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/results-list.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "integration,security,automation",
      "component_id": "ef4aa5ecd0b970155a7537c4",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:Component, DeclarativeShadowElement | imports:@theme/utilities | integration-score:55 | security-score:55 | automation-score:45",
      "exports": "Component,DeclarativeShadowElement",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3798455f28383ddc",
      "framework": "next-react",
      "imports": "@theme/utilities",
      "lines": 348,
      "logic_relevance": "none",
      "name": "component",
      "normalized_name": "component",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/component.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "200e21fc49c3c0359e69fe36",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/morph",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductInventory | imports:@theme/component, @theme/events, @theme/morph | integration-score:55 | observability-score:55",
      "exports": "ProductInventory",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "737fbe846406c39f",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/morph",
      "lines": 39,
      "logic_relevance": "none",
      "name": "product-inventory",
      "normalized_name": "product-inventory",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-inventory.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,integration,observability,discovery",
      "component_id": "cfd4f800ef3d6535550c8e76",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | integration-score:55 | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e28c24ca169574f",
      "framework": "next-react",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "llms-full",
      "normalized_name": "llms-full",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/llms-full.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "d79195aacd7305841dea4bd3",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:Scroller, scrollIntoView | imports:@theme/utilities | integration-score:55",
      "exports": "Scroller,scrollIntoView",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e486398862852eea",
      "framework": "next-react",
      "imports": "@theme/utilities",
      "lines": 422,
      "logic_relevance": "none",
      "name": "scrolling",
      "normalized_name": "scrolling",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/scrolling.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "aca514c34c3df5f5b11030dd",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:FlyToCart | imports:@theme/component, @theme/utilities | integration-score:55",
      "exports": "FlyToCart",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c32ac9fd6265ec8f",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 80,
      "logic_relevance": "none",
      "name": "fly-to-cart",
      "normalized_name": "fly-to-cart",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/fly-to-cart.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,integration,observability,security,automation",
      "component_id": "306374408232dd13a46b2024",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "product-card",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ResizeNotifier, TextComponent, calculateHeaderGroupHeight, center, changeMetaThemeColor, clamp, closest, debounce | imports:product-card | logic-score:85 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ResizeNotifier,TextComponent,calculateHeaderGroupHeight,center,changeMetaThemeColor,clamp,closest,debounce,fetchConfig,getIOSVersion,getViewParameterValue,getVisibleElements,isClickedOutside,isDesktopBreakpoint,isLowPowerDevice,isMobileBreakpoint,isPointWithinElement,isTouchDevice,mediaQueryLarge,normalizeString,onAnimationEnd,onDocumentLoaded,onDocumentReady,oncePerEditorSession,parseIntOrDefault,prefersReducedMotion,preloadImage,preventDefault,removeWillChangeOnAnimationEnd,requestIdleCallback,resetShimmer,scheduler,setHeaderMenuStyle,start,startViewTransition,supportsViewTransitions,throttle,updateAllHeaderCustomProperties,viewTransition,yieldToMainThread",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b0c4926e32f6df7",
      "framework": "next-react",
      "imports": "product-card",
      "lines": 799,
      "logic_relevance": "primary",
      "name": "utilities",
      "normalized_name": "utilities",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/utilities.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,observability",
      "component_id": "d07bddf501d0144b12a3e932",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:cartPerformance | integration-score:55 | observability-score:55",
      "exports": "cartPerformance",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45537124b25b6fa5",
      "framework": "next-react",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "performance",
      "normalized_name": "performance",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/performance.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "integration,observability",
      "component_id": "478190383c78532637e7e023",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/section-renderer",
      "description": "Integration component for editor; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductRecommendations | imports:@theme/component, @theme/section-renderer | integration-score:55 | observability-score:55",
      "exports": "ProductRecommendations",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4325b93280df4202",
      "framework": "next-react",
      "imports": "@theme/component,@theme/section-renderer",
      "lines": 155,
      "logic_relevance": "none",
      "name": "product-recommendations",
      "normalized_name": "product-recommendations",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-recommendations.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "8725cb1cb761fd3c67176f4f",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:VolumePricingInfoComponent | imports:@theme/component | integration-score:55",
      "exports": "VolumePricingInfoComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16f5e02eba761cdb",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 69,
      "logic_relevance": "none",
      "name": "volume-pricing-info",
      "normalized_name": "volume-pricing-info",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/volume-pricing-info.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "integration",
      "component_id": "f47ec0cce7c84e4a6c4b1216",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/events",
      "description": "Integration component for i18n; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:HeaderActions | imports:@theme/component, @theme/events | integration-score:55",
      "exports": "HeaderActions",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1c9ec8d156f3154f",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events",
      "lines": 39,
      "logic_relevance": "none",
      "name": "header-actions",
      "normalized_name": "header-actions",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/header-actions.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "aaae9223122b84706827d0b8",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductCustomProperty | imports:@theme/component | integration-score:55",
      "exports": "ProductCustomProperty",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa8eda1e6d81ae64",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 33,
      "logic_relevance": "none",
      "name": "product-custom-property",
      "normalized_name": "product-custom-property",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-custom-property.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "fe822d164e4f1e9b2a57e1d8",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:cycleFocus, removeTrapFocus, trapFocus | integration-score:55 | security-score:55",
      "exports": "cycleFocus,removeTrapFocus,trapFocus",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0234bc60da5d3a92",
      "framework": "next-react",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "focus",
      "normalized_name": "focus",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/focus.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "5a1a9af9d597c096880d713c",
      "component_kind": "integration-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:convertMoneyToMinorUnits, formatMoney | integration-score:55",
      "exports": "convertMoneyToMinorUnits,formatMoney",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d50fd6b1b844f551",
      "framework": "next-react",
      "imports": "",
      "lines": 206,
      "logic_relevance": "none",
      "name": "money-formatting",
      "normalized_name": "money-formatting",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/money-formatting.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "a44151ba18f9dabbfc1d1ceb",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/morph",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:buildSectionSelector, normalizeSectionId, sectionRenderer | imports:@theme/morph | integration-score:55 | security-score:55",
      "exports": "buildSectionSelector,normalizeSectionId,sectionRenderer",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7c0fd37fbf25ce9",
      "framework": "next-react",
      "imports": "@theme/morph",
      "lines": 213,
      "logic_relevance": "none",
      "name": "section-renderer",
      "normalized_name": "section-renderer",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/section-renderer.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "9477e7210458f40617f2c03e",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:DragZoomWrapper | imports:./dialog.js, ./utilities.js, @theme/component | integration-score:55 | observability-score:55",
      "exports": "DragZoomWrapper",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0003509854d84396",
      "framework": "next-react",
      "imports": "./dialog.js,./utilities.js,@theme/component",
      "lines": 510,
      "logic_relevance": "none",
      "name": "drag-zoom-wrapper",
      "normalized_name": "drag-zoom-wrapper",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/drag-zoom-wrapper.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration,security",
      "component_id": "a1c2f2a53e20fad3dcb16856",
      "component_kind": "integration-module",
      "confidence": 75,
      "dependency_roots": "@theme/section-renderer,@theme/utilities",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "imports:@theme/section-renderer, @theme/utilities | integration-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "213b99ed940dfb48",
      "framework": "next-react",
      "imports": "@theme/section-renderer,@theme/utilities",
      "lines": 35,
      "logic_relevance": "none",
      "name": "section-hydration",
      "normalized_name": "section-hydration",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/section-hydration.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,integration,observability",
      "component_id": "0f44186be588e47083dfdcf7",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e61b2d3b8f1be3aa",
      "framework": "next-react",
      "imports": "",
      "lines": 1216,
      "logic_relevance": "none",
      "name": "vanagain-overrides",
      "normalized_name": "vanagain-overrides",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/vanagain-overrides.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "ab55584f498d45b7c321804d",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/events",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:PricePerItemComponent | imports:@theme/component, @theme/events | integration-score:55",
      "exports": "PricePerItemComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "566045aac57f0119",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events",
      "lines": 134,
      "logic_relevance": "none",
      "name": "price-per-item",
      "normalized_name": "price-per-item",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/price-per-item.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration",
      "component_id": "eb63e0d632db246e572f1973",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ComparisonSliderComponent | imports:@theme/component, @theme/utilities | integration-score:55",
      "exports": "ComparisonSliderComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf5e5e660851597e",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 157,
      "logic_relevance": "none",
      "name": "comparison-slider",
      "normalized_name": "comparison-slider",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/comparison-slider.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,observability",
      "component_id": "c1cfb0bb503482b2918aa7cf",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:HeaderMenu | imports:@theme/component, @theme/events, @theme/utilities | integration-score:55 | observability-score:55",
      "exports": "HeaderMenu",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9178c80c4581d3c2",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/utilities",
      "lines": 393,
      "logic_relevance": "none",
      "name": "header-menu",
      "normalized_name": "header-menu",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/header-menu.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security,ai",
      "component_id": "596ee5a117b0b0a3db766f77",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/section-renderer,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:QuickOrderListComponent | imports:./utilities, @theme/component, @theme/events, @theme/section-renderer, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "QuickOrderListComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1ce51fed02857141",
      "framework": "next-react",
      "imports": "./utilities,@theme/component,@theme/events,@theme/section-renderer,@theme/utilities",
      "lines": 556,
      "logic_relevance": "none",
      "name": "quick-order-list",
      "normalized_name": "quick-order-list",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/quick-order-list.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "integration,automation,ai",
      "component_id": "a6419e066546263f4c2b15ef",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for i18n; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "7f542cd04669f762",
      "framework": "next-react",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "global.d",
      "normalized_name": "global-d",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/global.d.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "88281f669e578cd0191bd49f",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/money-formatting,@theme/section-renderer,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:FacetClearComponent, FacetInputsComponent, FacetRemoveComponent, FacetStatusComponent, FacetsFormComponent, PriceFacetComponent, SEARCH_QUERY, SortingFilterComponent | imports:@theme/component, @theme/events, @theme/money-formatting, @theme/section-renderer, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "FacetClearComponent,FacetInputsComponent,FacetRemoveComponent,FacetStatusComponent,FacetsFormComponent,PriceFacetComponent,SEARCH_QUERY,SortingFilterComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "914e75241e4fb9d0",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/money-formatting,@theme/section-renderer,@theme/utilities",
      "lines": 843,
      "logic_relevance": "none",
      "name": "facets",
      "normalized_name": "facets",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/facets.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "integration",
      "component_id": "faa68545a4f5cb6d93d89a98",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component-quantity-selector",
      "description": "Integration component for commerce; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartQuantitySelectorComponent | imports:@theme/component-quantity-selector | integration-score:55",
      "exports": "CartQuantitySelectorComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "abd5813bc8b0f870",
      "framework": "next-react",
      "imports": "@theme/component-quantity-selector",
      "lines": 38,
      "logic_relevance": "none",
      "name": "component-cart-quantity-selector",
      "normalized_name": "component-cart-quantity-selector",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/component-cart-quantity-selector.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "78d32bbb33ecf82bfa19e1e6",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/performance,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartNote | imports:@theme/component, @theme/performance, @theme/utilities | integration-score:55",
      "exports": "CartNote",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa5c7f2db0b81a3c",
      "framework": "next-react",
      "imports": "@theme/component,@theme/performance,@theme/utilities",
      "lines": 46,
      "logic_relevance": "none",
      "name": "cart-note",
      "normalized_name": "cart-note",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/cart-note.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "integration",
      "component_id": "06f194a5f91a72942f383caf",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for media; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:VideoBackgroundComponent | imports:@theme/component | integration-score:55",
      "exports": "VideoBackgroundComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "99d24369ebd0a179",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 32,
      "logic_relevance": "none",
      "name": "video-background",
      "normalized_name": "video-background",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/video-background.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "55a12dd256dc4c3bd0f5d249",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:LayeredSlideshowComponent | imports:@theme/component, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "LayeredSlideshowComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae67490c432b9722",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 602,
      "logic_relevance": "none",
      "name": "layered-slideshow",
      "normalized_name": "layered-slideshow",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/layered-slideshow.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "fd8a2c72a0c5718a5e5e0807",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:AnnouncementBar | imports:@theme/component | integration-score:55",
      "exports": "AnnouncementBar",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9aedef562165209b",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 130,
      "logic_relevance": "none",
      "name": "announcement-bar",
      "normalized_name": "announcement-bar",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/announcement-bar.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "9ab6e6dfa41aa65aee8860c7",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:DrawerLocalizationComponent, DropdownLocalizationComponent, LocalizationFormComponent | imports:@theme/component, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "DrawerLocalizationComponent,DropdownLocalizationComponent,LocalizationFormComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a91ed232f7ebcbb5",
      "framework": "next-react",
      "imports": "@theme/component,@theme/utilities",
      "lines": 552,
      "logic_relevance": "none",
      "name": "localization",
      "normalized_name": "localization",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/localization.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,security",
      "component_id": "6076b64f680149719d1fffd6",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/performance,@theme/section-renderer,@theme/utilities",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartDiscount | imports:@theme/component, @theme/events, @theme/performance, @theme/section-renderer, @theme/utilities | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "CartDiscount",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7b911591eac2a6ec",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/performance,@theme/section-renderer,@theme/utilities",
      "lines": 203,
      "logic_relevance": "none",
      "name": "cart-discount",
      "normalized_name": "cart-discount",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/cart-discount.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration,security",
      "component_id": "e03fc6df9176e34c01b8036f",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/performance,@theme/section-renderer,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CartItemsComponent | imports:./utilities, @theme/component, @theme/events, @theme/performance, @theme/section-renderer, @theme/utilities | integration-score:55 | security-score:55",
      "exports": "CartItemsComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27bdc259dc6d9833",
      "framework": "next-react",
      "imports": "./utilities,@theme/component,@theme/events,@theme/performance,@theme/section-renderer,@theme/utilities",
      "lines": 334,
      "logic_relevance": "none",
      "name": "component-cart-items",
      "normalized_name": "component-cart-items",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/component-cart-items.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "integration,observability,automation",
      "component_id": "8a575d06f7bc96d65c4fd475",
      "component_kind": "integration-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "70ad95f196dbe03f",
      "framework": "next-react",
      "imports": "",
      "lines": 785,
      "logic_relevance": "none",
      "name": "popover-polyfill",
      "normalized_name": "popover-polyfill",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/popover-polyfill.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "a0390046720ed65e86ad8684",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductSkuComponent | imports:@theme/component, @theme/events | integration-score:55 | observability-score:55",
      "exports": "ProductSkuComponent",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1eaf00b480796b79",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events",
      "lines": 67,
      "logic_relevance": "none",
      "name": "product-sku",
      "normalized_name": "product-sku",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-sku.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability,ai",
      "component_id": "73ed65b53e6e77b054ecb9d7",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:GiftCardRecipientForm | imports:@theme/component, @theme/events | integration-score:55 | observability-score:55 | ai-score:45",
      "exports": "GiftCardRecipientForm",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "30ffc3be483c2da1",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events",
      "lines": 414,
      "logic_relevance": "none",
      "name": "gift-card-recipient-form",
      "normalized_name": "gift-card-recipient-form",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/gift-card-recipient-form.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "integration,observability,automation",
      "component_id": "ccaba6d67c69963f124a80d8",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events,@theme/scrolling,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:Slideshow | imports:@theme/component, @theme/events, @theme/scrolling, @theme/utilities | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "Slideshow",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5d05771258c704e3",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/scrolling,@theme/utilities",
      "lines": 943,
      "logic_relevance": "none",
      "name": "slideshow",
      "normalized_name": "slideshow",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/slideshow.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "integration,observability",
      "component_id": "ef702a3dd2d926fec8b74f19",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "@theme/component,@theme/events",
      "description": "Integration component for observability; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:ProductPrice | imports:@theme/component, @theme/events | integration-score:55 | observability-score:55",
      "exports": "ProductPrice",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "897c9a44ab49831b",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events",
      "lines": 82,
      "logic_relevance": "none",
      "name": "product-price",
      "normalized_name": "product-price",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/product-price.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,integration,observability",
      "component_id": "f1350e5a1362a13f13f20f2a",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "da1882c1c7831e19",
      "framework": "next-react",
      "imports": "",
      "lines": 4215,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/base.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "b5e965076c7a67230494c4ec",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:CopyToClipboardComponent | imports:@theme/component | integration-score:55",
      "exports": "CopyToClipboardComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "afbfeedf77b83409",
      "framework": "next-react",
      "imports": "@theme/component",
      "lines": 26,
      "logic_relevance": "none",
      "name": "copy-to-clipboard",
      "normalized_name": "copy-to-clipboard",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/copy-to-clipboard.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "integration",
      "component_id": "dd49272a530146c23b9d145e",
      "component_kind": "integration-module",
      "confidence": 80,
      "dependency_roots": "@theme/component,@theme/events,@theme/utilities",
      "description": "Integration component for analytics; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:QuantitySelectorComponent | imports:@theme/component, @theme/events, @theme/utilities | integration-score:55",
      "exports": "QuantitySelectorComponent",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "37e2bd5e160d762f",
      "framework": "next-react",
      "imports": "@theme/component,@theme/events,@theme/utilities",
      "lines": 297,
      "logic_relevance": "none",
      "name": "component-quantity-selector",
      "normalized_name": "component-quantity-selector",
      "package_manager": "pnpm",
      "path": "shopify-theme/assets/component-quantity-selector.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-dot-com-prod",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "a5216ff7fbe81883957e1f39",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d03936621c78a48e",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "asset-manifest",
      "normalized_name": "asset-manifest",
      "package_manager": "unknown",
      "path": "asset-manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "af58d3f64c42a91d891263d0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "50b3d8c3903af3f7",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "unknown",
      "path": "manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "cf8ce374c01eca9a48ac5caa",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90d24bc3bf698ac1",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "146958c305072d6d27a621d1",
      "component_kind": "discovery-artifact",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c77c4ca4e555c8d9",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "unknown",
      "path": "%PUBLIC_URL%/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a539d469530ea2dfafc597cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6e07dab0c7b5f3dd",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "security,automation",
      "component_id": "3cf7acc2bd6fcaf87ee11b2a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43db1dcae4d85714",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "admin/composer.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "d86aa5301039ac4c59e099c4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "829dd86311142c3d",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "def",
      "normalized_name": "def",
      "package_manager": "unknown",
      "path": "admin/ckfinder/userfiles/files/def.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6200c0fd5703cc22cc66390b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "30427190326910ad",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "astra",
      "normalized_name": "astra",
      "package_manager": "unknown",
      "path": "admin/ckfinder/userfiles/files/astra.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "ec2aba06889882e4d44ca0f7",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e4fcfaf127007617",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "ws",
      "normalized_name": "ws",
      "package_manager": "unknown",
      "path": "admin/ckfinder/userfiles/files/ws.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6377410e53f2b709554a891b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "axios,bootstrap-sass,jquery,laravel-echo,lodash,pusher-js",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:axios, bootstrap-sass, jquery, laravel-echo, lodash, pusher-js | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "83ac9370707f05aa",
      "framework": "unknown",
      "imports": "axios,bootstrap-sass,jquery,laravel-echo,lodash,pusher-js",
      "lines": 40,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "admin/resources/assets/js/bootstrap.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c407a838fa3fa2eb6724b014",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".vue",
      "extraction_status": "catalog-only",
      "file_hash": "0e1f3cdfc7807622",
      "framework": "vue",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "Example",
      "normalized_name": "example",
      "package_manager": "unknown",
      "path": "admin/resources/assets/js/components/Example.vue",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "69918fdcc9bbcd24d31313e6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8c1cd5bc8a625b55",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "admin/resources/assets/sass/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "4e5183a9ab1b6b13d647e234",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7500a00ffc4d5aeb",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "admin/resources/assets/sass/app.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "4c3b31aa8594804cba78f5f5",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e5c4b84484ee4216",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "admin/public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "8ed2ea7383d26f7f5e926152",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cce51a758fa3016f",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "secondary",
      "name": "F19F9D3075ABAB1B1BC902FDD1B2FC7F",
      "normalized_name": "f19-f9-d3075-abab1-b1-bc902-fdd1-b2-fc7-f",
      "package_manager": "unknown",
      "path": "admin/public/.well-known/pki-validation/F19F9D3075ABAB1B1BC902FDD1B2FC7F.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2b0a375c0564d7cf76c36edc",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Payeezy, Quickbooks | observability-score:55 | security-score:55",
      "exports": "Payeezy,Quickbooks",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40cd4365d760c990",
      "framework": "unknown",
      "imports": "",
      "lines": 861,
      "logic_relevance": "none",
      "name": "frontend",
      "normalized_name": "frontend",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/frontend.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "style,security,automation",
      "component_id": "1c3e69adeb576331637b9f29",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "50494e285bb4d964",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "hover",
      "normalized_name": "hover",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/css/hover.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "d002c29d81a93c484ed9d0e6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8e17416059f9e1ad",
      "framework": "css",
      "imports": "",
      "lines": 2026,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/css/font-awesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "e8f9ff4019ad88ac97569738",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "936ffccdc35bc552",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "font-awesome.min",
      "normalized_name": "font-awesome-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/css/font-awesome.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "6fcd1068e762e95ad111f362",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9fcda28a1916062f",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "secondary",
      "name": "_colors",
      "normalized_name": "colors",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/_colors.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "c2e4d13057d27948c264370b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e9e1f0304a756f81",
      "framework": "css",
      "imports": "",
      "lines": 78,
      "logic_relevance": "secondary",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,logic,automation",
      "component_id": "29cfc5928f1fbb9a73ef0c3d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | automation-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bcc9dc59851448f5",
      "framework": "css",
      "imports": "",
      "lines": 565,
      "logic_relevance": "secondary",
      "name": "_base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/_base.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "0cd0fb01fcc0311dba2d07b4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6eb2aa28b8385af0",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "_ilightbox",
      "normalized_name": "ilightbox",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_ilightbox.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "0443b186fe525dca11c592f5",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "17d350deb7a5f4d3",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "_bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_bootstrap.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "d3a29c3b7ad22669d7877e23",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0a78dc5d49bc0582",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "_fancybox",
      "normalized_name": "fancybox",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_fancybox.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "78f48f5bf2e58c6f419dc738",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4dfe810808621a2f",
      "framework": "css",
      "imports": "",
      "lines": 42,
      "logic_relevance": "secondary",
      "name": "_minimalist-gallery",
      "normalized_name": "minimalist-gallery",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_minimalist-gallery.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,logic",
      "component_id": "71c17ff518f4418b11858028",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b39098adb44b9caa",
      "framework": "css",
      "imports": "",
      "lines": 114,
      "logic_relevance": "secondary",
      "name": "_owl-carousel",
      "normalized_name": "owl-carousel",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_owl-carousel.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "7d55cdcad6675922b231fa66",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f391ca0d66f3876a",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "secondary",
      "name": "_reveal-animate",
      "normalized_name": "reveal-animate",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_reveal-animate.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,logic",
      "component_id": "326f36c5b5ba6505e4f8aaa9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "add7dff7309efd1d",
      "framework": "css",
      "imports": "",
      "lines": 128,
      "logic_relevance": "secondary",
      "name": "_revo-slider",
      "normalized_name": "revo-slider",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_revo-slider.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,logic,observability",
      "component_id": "cc608d2256f3e48f67103b77",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f7f71163c7a86c3",
      "framework": "css",
      "imports": "",
      "lines": 398,
      "logic_relevance": "secondary",
      "name": "_cubeportfolio",
      "normalized_name": "cubeportfolio",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_cubeportfolio.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,logic",
      "component_id": "5e0862c207faf42b5354d7b9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45353a887c7ee395",
      "framework": "css",
      "imports": "",
      "lines": 164,
      "logic_relevance": "secondary",
      "name": "_socicon",
      "normalized_name": "socicon",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_socicon.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,logic",
      "component_id": "4f38be4fa3e50b1e6a9686c2",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2f58a300295de0ca",
      "framework": "css",
      "imports": "",
      "lines": 48,
      "logic_relevance": "secondary",
      "name": "_spinner",
      "normalized_name": "spinner",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_spinner.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,logic,observability",
      "component_id": "086e37090cdcadf0588a1da7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2d6d6ff0e8660660",
      "framework": "css",
      "imports": "",
      "lines": 117,
      "logic_relevance": "secondary",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "75306a02fcece4c3630f0d60",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cb12d32be0b9cf9c",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "secondary",
      "name": "_bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/_bootstrap-social.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,logic",
      "component_id": "fe822e42ed5eb6dbfba8d580",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dec84446ae3d2b73",
      "framework": "css",
      "imports": "",
      "lines": 100,
      "logic_relevance": "secondary",
      "name": "_inputs",
      "normalized_name": "inputs",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_inputs.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,logic",
      "component_id": "ac968077ac0e9bcaa86f3b20",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ad1faac747697a0f",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "secondary",
      "name": "_misc",
      "normalized_name": "misc",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_misc.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic",
      "component_id": "3334de5baeb5f1254143b471",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e188b5480af644a",
      "framework": "css",
      "imports": "",
      "lines": 321,
      "logic_relevance": "secondary",
      "name": "_buttons",
      "normalized_name": "buttons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_buttons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui,logic",
      "component_id": "c11b9786a3e796aecc7f19dd",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e5b8dac67a568757",
      "framework": "css",
      "imports": "",
      "lines": 61,
      "logic_relevance": "secondary",
      "name": "_tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_tabs.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "6db2a1fb07a1ebb580bf6d22",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "afbc019ce6bab30b",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "secondary",
      "name": "_tables",
      "normalized_name": "tables",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_tables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "6759cf81c450d4c660b15cb6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1e5052b25fec7aa6",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "secondary",
      "name": "_modals",
      "normalized_name": "modals",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_modals.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,logic",
      "component_id": "b4eaae3fb98d23cd5a501c9e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "581e0e2c07d6a389",
      "framework": "css",
      "imports": "",
      "lines": 98,
      "logic_relevance": "secondary",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "06cc33e7ea5efd631f967a41",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d88f035fde7c48c7",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "secondary",
      "name": "_dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/plugins/bootstrap/_dropdowns.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "5076cfc179153fe5dd35bbbd",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f735bca5bbe09f5f",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "blue2",
      "normalized_name": "blue2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/blue2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "86c13c870872560235bd42c1",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "246173f87aea0438",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "purple1",
      "normalized_name": "purple1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/purple1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "796eac403ff9f0a49a67db5e",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e65cfd65cce1ff9a",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "secondary",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/default.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "2ff67ae93ce0f2de983e4455",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "21fd03c7c80d392a",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "brown3",
      "normalized_name": "brown3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/brown3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "097222bad6e0f4080b48a3f6",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ebf8dedfb9cd62c8",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "brown2",
      "normalized_name": "brown2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/brown2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "549c606d543cfa17edca3fd0",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45755d2258f8b1d8",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "green1",
      "normalized_name": "green1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/green1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "c448079ce0259fb865977885",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72be4c67559445f8",
      "framework": "css",
      "imports": "",
      "lines": 86,
      "logic_relevance": "secondary",
      "name": "_base-plugins",
      "normalized_name": "base-plugins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/_base-plugins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "200ba286b88e3a2685049e70",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e910c6d492b6db4f",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "blue3",
      "normalized_name": "blue3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/blue3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,logic",
      "component_id": "5a138894c62e02d016e556d2",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ac4a400ba8930270",
      "framework": "css",
      "imports": "",
      "lines": 495,
      "logic_relevance": "secondary",
      "name": "_base-components",
      "normalized_name": "base-components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/_base-components.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "4039eefdc7ffee82ec26b690",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0a8c0a841f53a936",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "red3",
      "normalized_name": "red3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/red3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "8b58c1c4b3875780efc6fde5",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b799cfc56502b379",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "blue4",
      "normalized_name": "blue4",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/blue4.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "2987f133b2c42bc797e2d486",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ec921fe9fddd9ca9",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "dark1",
      "normalized_name": "dark1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/dark1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "561b949687fb8d60601ee4df",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5bc0ed98b2799953",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "red2",
      "normalized_name": "red2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/red2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "c7995d7003da004c1862b720",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3283572221ecb26b",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "yellow1",
      "normalized_name": "yellow1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/yellow1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "383cd95d439cff8ffa4a8417",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "85b0b68614e7e7ce",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "green4",
      "normalized_name": "green4",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/green4.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "ae89e099c382e672e8fa9b1d",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e95a4aa323b4a692",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "red1",
      "normalized_name": "red1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/red1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "465b5c7b562fee19feae0199",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aa9c1aedb93369fa",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "yellow2",
      "normalized_name": "yellow2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/yellow2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "edf35c38789df49c64c6a994",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "34e93330819bdec9",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "dark2",
      "normalized_name": "dark2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/dark2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "66656421cce6a104d3deccb2",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1c6c6fb48b6fd0c1",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "dark3",
      "normalized_name": "dark3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/dark3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "21656f8895ad70440fd48481",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2c3565edea26212c",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "yellow3",
      "normalized_name": "yellow3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/yellow3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "49f56aa509a05a83ceb809f0",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "16783d63492c4733",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "purple3",
      "normalized_name": "purple3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/purple3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "8eea61434bb34f911f62d65f",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "942cdbff3aaa33ad",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "dark4",
      "normalized_name": "dark4",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/dark4.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "9dd1185de839d5d09c24572a",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5841b8ea19a8aeb0",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "brown1",
      "normalized_name": "brown1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/brown1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "93291524e07a0c50a19e2326",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "36403d1830c75102",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "green2",
      "normalized_name": "green2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/green2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "90b69b3c725182e1649d15cf",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4bc373194a952b64",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "yellow4",
      "normalized_name": "yellow4",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/yellow4.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "147ce267119a9e497891a092",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f15169e37cc2543b",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "green3",
      "normalized_name": "green3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/green3.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "e93ff40372d68e80b76a0053",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "efb0699000c1a848",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "purple2",
      "normalized_name": "purple2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/purple2.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style,logic",
      "component_id": "208a2cd5686d8c8c7aba5d08",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dc1ec9e05fb27d43",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "secondary",
      "name": "blue1",
      "normalized_name": "blue1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/core/themes/blue1.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e5e3b9d61bdc04c7eb2008b8",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0fab2edf67f76823",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "plugins",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/default/plugins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e88828c4eca7c199b2ac6deb",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ac0b0abe2151cc05",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "custom",
      "normalized_name": "custom",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/default/custom.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "c08c88d780990ea82a773653",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "99847057671a9e47",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/default/components.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "87f5a339b87f6ff395116704",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "19c71d9ad68d4ff6",
      "framework": "css",
      "imports": "",
      "lines": 119,
      "logic_relevance": "none",
      "name": "_settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/default/_settings.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "2ebffe68b5bf6086ce1fa63d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "59d2e21c2c076fb5",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "plugins",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/corporate_1/plugins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "cbc00489c629c1f6a43f478f",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7c4f86a3be2db1ff",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "custom",
      "normalized_name": "custom",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/corporate_1/custom.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "18d0b2492580349ae2aed541",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d00f855a9004ddfd",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/corporate_1/components.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "47333e84b2b92423992e9cb0",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dd1ea814f9d76c54",
      "framework": "css",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "_settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/corporate_1/_settings.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "f992d8f452aa7047af96f6b3",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "59d2e21c2c076fb5",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "plugins",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/agency_1/plugins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "55f725ffe3458cef8bc2dc5e",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4e6fcc6c2437ee2d",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "custom",
      "normalized_name": "custom",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/agency_1/custom.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e530d4d56115b3077406ae79",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d00f855a9004ddfd",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/agency_1/components.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e092c0796095e3f61d112ecf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dd1ea814f9d76c54",
      "framework": "css",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "_settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/agency_1/_settings.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ed22c28d22a5f39f6f00564f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0fab2edf67f76823",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "plugins",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/index/plugins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "13f5a0e63b80c15412aced91",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4f83a6bc95c54679",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "custom",
      "normalized_name": "custom",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/index/custom.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "bdf849e441fc8fa8c149ad48",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d00f855a9004ddfd",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/index/components.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0b7ebfb78acf29e1be992f5d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "19c71d9ad68d4ff6",
      "framework": "css",
      "imports": "",
      "lines": 119,
      "logic_relevance": "none",
      "name": "_settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/sass/demos/index/_settings.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "a5fdfab5375ed9aefbf05580",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "32edc5b03d172d62",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "livecss",
      "normalized_name": "livecss",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/livecss.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "61b6d810a5a8e39ce20b9a63",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ca, Cb, Da, Ea, F, Fa, Ga, H | imports:+i+ | automation-score:45",
      "exports": "Ca,Cb,Da,Ea,F,Fa,Ga,H,Ha,Ia,J,K,La,Ma,P,Q,R,S,Tb,Ua,Ub,Vb,Wb,X,Xb,Yb,Zb",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "668b046d12db350c",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 5,
      "logic_relevance": "none",
      "name": "jquery.min",
      "normalized_name": "jquery-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/jquery.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "5009b914cf5229cef39db41d",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "48eb8b500ae6a386",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "jquery-migrate.min",
      "normalized_name": "jquery-migrate-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/jquery-migrate.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3b719375203b704d1ba590a2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, Aa, Ab, Ac, B, Ba, Bb, Bc | security-score:55",
      "exports": "A,Aa,Ab,Ac,B,Ba,Bb,Bc,C,Ca,Cb,Cc,D,Da,Db,E,Ea,Eb,F,Fa,Fb,G,Ga,Gb,H,Ha,Hb,I,Ia,Ib,J,Ja,Jb,K,Ka,Kb,L,La,Lb,M,Ma,Mb,N,Na,Nb,O,Oa,Ob,P,Pa,Pb,Q,Qa,Qb,R,Ra,Rb,S,Sa,Sb,T,Ta,Tb,U,Ua,Ub,V,Va,Vb,W,Wa,Wb,X,Xa,Xb,Y,Ya,Yb,Z,Za,Zb",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "62d68b60ce880b5e",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "moment.min",
      "normalized_name": "moment-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/moment.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "25aad75a38dabc61f01fa678",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bba967c00d3c1240",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "animate.min",
      "normalized_name": "animate-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/animate/animate.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "f3b5a3a4322d33ef98e9538f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0f43aedbc350e90a",
      "framework": "css",
      "imports": "",
      "lines": 3272,
      "logic_relevance": "none",
      "name": "animate",
      "normalized_name": "animate",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/animate/animate.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "5898ee1e3ef99bb358f06630",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "623231f7590b1202",
      "framework": "unknown",
      "imports": "",
      "lines": 169,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/animate/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "ac93b469890b6de83ea423ef",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "get-size,isotope-layout,outlayer,packery",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:./item, ./packer, ./rect, get-size, isotope-layout/js/layout-mode, outlayer, packery | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60ef0ce4272c1ae3",
      "framework": "unknown",
      "imports": "./item,./packer,./rect,get-size,isotope-layout/js/layout-mode,outlayer,packery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "packery-mode.pkgd.min",
      "normalized_name": "packery-mode-pkgd-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/isotope/packery-mode.pkgd.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "932fef823dc85e1255d17c79",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "ev-emitter",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:ev-emitter | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "23bd7e5fac741d9a",
      "framework": "unknown",
      "imports": "ev-emitter",
      "lines": 7,
      "logic_relevance": "none",
      "name": "imagesloaded.pkgd.min",
      "normalized_name": "imagesloaded-pkgd-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/isotope/imagesloaded.pkgd.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "5bf3f3988c0e226131b0d47c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "17126b2c34349a9d",
      "framework": "unknown",
      "imports": "",
      "lines": 540,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datetimepicker/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "2dfd8ac6fad22ae5aa86eabc",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6bb94f185d9d962d",
      "framework": "css",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "bootstrap-datetimepicker",
      "normalized_name": "bootstrap-datetimepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "31da518d60a5b4a26d02bfca",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5df30b146d39dc78",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "bootstrap-datetimepicker.min",
      "normalized_name": "bootstrap-datetimepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4776c631621d362a5e3612ba",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "319bb73036352103",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "bootstrap-datetimepicker.min",
      "normalized_name": "bootstrap-datetimepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c107fdaacc6425411f13e6c9",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:UTCDate, UTCToday | observability-score:55 | security-score:55",
      "exports": "UTCDate,UTCToday",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27673484e328f2ce",
      "framework": "unknown",
      "imports": "",
      "lines": 1593,
      "logic_relevance": "none",
      "name": "bootstrap-datetimepicker",
      "normalized_name": "bootstrap-datetimepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ec1b50e8ff1171cd7f9487cc",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "79c715e950ea2164",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "bootstrap-datetimepicker.es",
      "normalized_name": "bootstrap-datetimepicker-es",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "604fe8b56db9e033437f5cce",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f1d2154ad019224e",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap/css/bootstrap.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "627d1ece6dd9ed2ea6aec7e3",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6e31f0ae7737f9eb",
      "framework": "css",
      "imports": "",
      "lines": 5814,
      "logic_relevance": "none",
      "name": "bootstrap-rtl",
      "normalized_name": "bootstrap-rtl",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap/css/bootstrap-rtl.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "ff54af6989741ef106c9e4c7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "56595e3ef2420d49",
      "framework": "css",
      "imports": "",
      "lines": 5815,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap/css/bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "8ee3dc37124827918dec6e46",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c69cdda26af79494",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bootstrap-rtl.min",
      "normalized_name": "bootstrap-rtl-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap/css/bootstrap-rtl.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "847c13bae453875d99c66e41",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Plugin, ScrollSpy | observability-score:55 | security-score:55",
      "exports": "Plugin,ScrollSpy",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0abe8deb334de1ba",
      "framework": "unknown",
      "imports": "",
      "lines": 2377,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap/js/bootstrap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "312d343266b5dd9f822528f1",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53964478a7c634e8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap/js/bootstrap.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b983145b9040fedf81559257",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bc50bf49cbe79ee4",
      "framework": "next-react",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "jquery.fancybox.pack",
      "normalized_name": "jquery-fancybox-pack",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/jquery.fancybox.pack.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "47e5440927cf9ca0794a58f0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b09af41dd187a1b1",
      "framework": "unknown",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "0e1e9042a0b8203d1ff9e213",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "968a8e56e4adaf8c",
      "framework": "css",
      "imports": "",
      "lines": 274,
      "logic_relevance": "none",
      "name": "jquery.fancybox",
      "normalized_name": "jquery-fancybox",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/jquery.fancybox.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "9c83d6d958b9a24b362de2e0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0977cb9e70261da0",
      "framework": "unknown",
      "imports": "",
      "lines": 217,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "51e975a927442410851677f6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c78ce6b6d192863",
      "framework": "next-react",
      "imports": "",
      "lines": 2020,
      "logic_relevance": "none",
      "name": "jquery.fancybox",
      "normalized_name": "jquery-fancybox",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/jquery.fancybox.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic",
      "component_id": "2dbac4397d2177f2d710b092",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d836d81acb5d5e71",
      "framework": "css",
      "imports": "",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "jquery.fancybox-thumbs",
      "normalized_name": "jquery-fancybox-thumbs",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/helpers/jquery.fancybox-thumbs.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "5204b944916ac00340362cd6",
      "component_kind": "utility",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0ba02b924fc5beeb",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "primary",
      "name": "jquery.fancybox-thumbs",
      "normalized_name": "jquery-fancybox-thumbs",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/helpers/jquery.fancybox-thumbs.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "037cf7450dcecff089278a59",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e53e650a83dbce1a",
      "framework": "unknown",
      "imports": "",
      "lines": 199,
      "logic_relevance": "primary",
      "name": "jquery.fancybox-media",
      "normalized_name": "jquery-fancybox-media",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/helpers/jquery.fancybox-media.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic",
      "component_id": "279392f3a9a613f725376e40",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ae270bcb50f2d50d",
      "framework": "css",
      "imports": "",
      "lines": 97,
      "logic_relevance": "secondary",
      "name": "jquery.fancybox-buttons",
      "normalized_name": "jquery-fancybox-buttons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/helpers/jquery.fancybox-buttons.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "7b944f2c4b333ec9f043dc09",
      "component_kind": "utility",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "2d63b8ad7966c80c",
      "framework": "next-react",
      "imports": "",
      "lines": 122,
      "logic_relevance": "primary",
      "name": "jquery.fancybox-buttons",
      "normalized_name": "jquery-fancybox-buttons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/fancybox/helpers/jquery.fancybox-buttons.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "78606a9802f1db440ed800e4",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Context, Group, JQueryAdapter, Waypoint | observability-score:55 | security-score:55",
      "exports": "Context,Group,JQueryAdapter,Waypoint",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b2709bfa17d9cac",
      "framework": "unknown",
      "imports": "",
      "lines": 649,
      "logic_relevance": "none",
      "name": "jquery.waypoints",
      "normalized_name": "jquery-waypoints",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/waypoints/jquery.waypoints.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8c4cfe4ea30ea2036b735114",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9c7bd3dadf6edc19",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "jquery.waypoints.min",
      "normalized_name": "jquery-waypoints-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/waypoints/jquery.waypoints.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "73f6c11da6f4da0231cdf87a",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9d9b2bc7bf5b2bb4",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "socicon",
      "normalized_name": "socicon",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/socicon/socicon.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "db41a49d7243b1036073c23b",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0580d152f48ecdc9",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/socicon/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "security,automation",
      "component_id": "b76967c1e8d99d459d3dbe0b",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "56ea4cd865555cad",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "progressbar.min",
      "normalized_name": "progressbar-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/progress-bar/progressbar.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "0ae4abd1d93c61ed42657a4f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "shifty",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Circle, Line, Path, SemiCircle, Shape, Tweenable | imports:./circle, ./line, ./path, ./semicircle, ./shape, ./utils, shifty | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "Circle,Line,Path,SemiCircle,Shape,Tweenable",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "538bfb8776070a6e",
      "framework": "unknown",
      "imports": "./circle,./line,./path,./semicircle,./shape,./utils,shifty",
      "lines": 2434,
      "logic_relevance": "none",
      "name": "progressbar",
      "normalized_name": "progressbar",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/progress-bar/progressbar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "f25fa73698de3653fc3251e9",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b07bf187079e0703",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "cubeportfolio.min",
      "normalized_name": "cubeportfolio-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/cubeportfolio/css/cubeportfolio.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "53be366a790adacb7d665b64",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1247471ab97264dc",
      "framework": "css",
      "imports": "",
      "lines": 3661,
      "logic_relevance": "none",
      "name": "cubeportfolio",
      "normalized_name": "cubeportfolio",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/cubeportfolio/css/cubeportfolio.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui",
      "component_id": "a97026e6370ce34944968ae8",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "937d5de3eb2075fc",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/slider-for-bootstrap/css/slider.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui",
      "component_id": "7c115dbae91b8f2c3650d0a0",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45c1b571a91766b7",
      "framework": "css",
      "imports": "",
      "lines": 104,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/slider-for-bootstrap/less/slider.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "0e1e104529ad417691713461",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ceeb19b87740efb0",
      "framework": "unknown",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "jquery.inputmask.numeric.extensions",
      "normalized_name": "jquery-inputmask-numeric-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/jquery.inputmask.numeric.extensions.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "f1b96e4bda12545318dc4b29",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, B, C, D, E, F, G, H | security-score:55",
      "exports": "A,B,C,D,E,F,G,H,I,K,L,M,N,O,P,R,S,T,U,V,W",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0a702e0afd2d9088",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.inputmask",
      "normalized_name": "jquery-inputmask",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/jquery.inputmask.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "471d050dae394178c28493c9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b338b50f1070b72d",
      "framework": "unknown",
      "imports": "",
      "lines": 169,
      "logic_relevance": "none",
      "name": "jquery.inputmask.regex.extensions",
      "normalized_name": "jquery-inputmask-regex-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/jquery.inputmask.regex.extensions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "0bbe84c7635843cd1b16cbc1",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "af8dd53fad93e330",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.inputmask.date.extensions",
      "normalized_name": "jquery-inputmask-date-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/jquery.inputmask.date.extensions.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dbba7d034b75910dac93128b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5285745fefa907c5",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "jquery.inputmask.phone.extensions",
      "normalized_name": "jquery-inputmask-phone-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/jquery.inputmask.phone.extensions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "6c3409308e143b912fd8e838",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4aad9a1e92e54e95",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/phone-codes/readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "ad1a86b69851e69908691084",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "bcd0aa2402a317b6",
      "framework": "unknown",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "phone-codes",
      "normalized_name": "phone-codes",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/input-mask/phone-codes/phone-codes.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "66ac5ca4e4cde1fdfaa53525",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ccef7b63a65af04b",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/counterup/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "1bd3876bf77dadd41bcf2b38",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "027d5f05053b44ca",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-social/bootstrap-social.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "2cbd64328de0e5326b4e60c8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "d4c61bb25cd74739",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-social/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "2f2d2f2d998be86c063850b7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2cf37e793a533c1a",
      "framework": "css",
      "imports": "",
      "lines": 678,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker3",
      "normalized_name": "bootstrap-datepicker3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "78336264feb448dc66003b44",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e5a7742725e8bb62",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker.min",
      "normalized_name": "bootstrap-datepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "6d561aa1626a52c56c935147",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "44c1ab4c6813aabf",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker3.standalone.min",
      "normalized_name": "bootstrap-datepicker3-standalone-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.standalone.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "7f61e1b21b28d2627177fb7c",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9c5a78ae00af16c3",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker3.min",
      "normalized_name": "bootstrap-datepicker3-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "0beaa8b6a859ca38c08dfc86",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c5087f5e3fff0f75",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker.standalone.min",
      "normalized_name": "bootstrap-datepicker-standalone-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "a12a9ed7aca7afa99ed236fa",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3c01d1a7c8960054",
      "framework": "css",
      "imports": "",
      "lines": 504,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker.standalone",
      "normalized_name": "bootstrap-datepicker-standalone",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker.standalone.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "e2fe3223f5f79f9715db76ab",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4eb0877a5d2bea18",
      "framework": "css",
      "imports": "",
      "lines": 707,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker3.standalone",
      "normalized_name": "bootstrap-datepicker3-standalone",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.standalone.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "ad38106cd069a52e0adef568",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f2a6c653ee82cb36",
      "framework": "css",
      "imports": "",
      "lines": 471,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker",
      "normalized_name": "bootstrap-datepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/css/bootstrap-datepicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "58e65de97701f325855eaf03",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bab0b131a4edcae1",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker.min",
      "normalized_name": "bootstrap-datepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e4ad14ee94cdd26f438fe21b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:UTCDate, UTCToday | imports:jquery | observability-score:55 | security-score:55",
      "exports": "UTCDate,UTCToday",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd736b647e80a9dd",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 2096,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker",
      "normalized_name": "bootstrap-datepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-datepicker/js/bootstrap-datepicker.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4e54ec9c66471380a2bb62c9",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9eaf6f9dd3901727",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "typed.min",
      "normalized_name": "typed-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/typed/typed.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "ee59f958bec1b0d2c73ea904",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fadbeb303b1183ea",
      "framework": "css",
      "imports": "",
      "lines": 278,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/light-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "cfdd03ee696ca78094b4c65b",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "298823cd8a40bbb6",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/social_icons/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "3ff7297f3e000077db01936a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "48dcbf97ec388ff0",
      "framework": "css",
      "imports": "",
      "lines": 304,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/mac-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "644404a1c33ae3413ba792ec",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4a6103a710b8c468",
      "framework": "css",
      "imports": "",
      "lines": 287,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/metro-white-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "6cc988a2fa81cbd4818941d3",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3ca02a3899b12254",
      "framework": "css",
      "imports": "",
      "lines": 330,
      "logic_relevance": "none",
      "name": "ilightbox",
      "normalized_name": "ilightbox",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/css/ilightbox.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "11e5b32714ebd62d6d58c074",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "da39237bf009d7be",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "jquery.requestAnimationFrame",
      "normalized_name": "jquery-request-animation-frame",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/js/jquery.requestAnimationFrame.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1ba54a520bd82c84420ac50b",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:B, F, G, J, L, N, S, V | observability-score:55 | security-score:55",
      "exports": "B,F,G,J,L,N,S,V,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dfd0014507c90ed8",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ilightbox.min",
      "normalized_name": "ilightbox-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/js/ilightbox.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b3537933a1fc63fa843b4d92",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fd96d9b3f117bd21",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "ilightbox.packed",
      "normalized_name": "ilightbox-packed",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/js/ilightbox.packed.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f99144ea2cc6cc77274db22f",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AC_QuickTimeVersion, QT_GenerateOBJECTText | observability-score:55 | security-score:55",
      "exports": "AC_QuickTimeVersion,QT_GenerateOBJECTText",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cbdc08bc55bdeab8",
      "framework": "unknown",
      "imports": "",
      "lines": 3192,
      "logic_relevance": "none",
      "name": "ilightbox",
      "normalized_name": "ilightbox",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/js/ilightbox.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "1ed85158b5ad26cb45a4d969",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4da6ca0cd7705675",
      "framework": "css",
      "imports": "",
      "lines": 279,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/dark-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "49cca539011fe79aa00a92bc",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4d9b321fa6a715ee",
      "framework": "css",
      "imports": "",
      "lines": 293,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/smooth-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style",
      "component_id": "c61b16bb159072630362a2c1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "963fa2780e75ab45",
      "framework": "css",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/parade-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "0e65daee27045c7361369436",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6a94f45c22715750",
      "framework": "css",
      "imports": "",
      "lines": 232,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/ilightbox/metro-black-skin/skin.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "51097eb5f6fd5ea8f0c3e9f0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "55b0a4a2ab61a84e",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "js.cookie",
      "normalized_name": "js-cookie",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/js-cookie/js.cookie.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "eae2a6107d8096fd7d5a0ab5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77a88bf1fe271a9d",
      "framework": "unknown",
      "imports": "",
      "lines": 189,
      "logic_relevance": "none",
      "name": "icons-lte-ie7",
      "normalized_name": "icons-lte-ie7",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/simple-line-icons/icons-lte-ie7.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "6caf74bef7ce7304b43392b1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9565762bab8c8b1b",
      "framework": "css",
      "imports": "",
      "lines": 535,
      "logic_relevance": "none",
      "name": "simple-line-icons",
      "normalized_name": "simple-line-icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/simple-line-icons/simple-line-icons.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "1411a020c469f8e8b2ea0873",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "78f7b36b834fed4d",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/simple-line-icons/Readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "ab547c06981ca8958f9441ad",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4b681a7b7a54a5f6",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "simple-line-icons.min",
      "normalized_name": "simple-line-icons-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/simple-line-icons/simple-line-icons.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "2b25d76cf414c87ffb8dbe85",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bf095bf1f54ace45",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/simple-line-icons/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "e9e2019b6cd77c845a062dc9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "jquery,moment",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:jquery, moment | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbf52f2e197ac486",
      "framework": "unknown",
      "imports": "jquery,moment",
      "lines": 1493,
      "logic_relevance": "none",
      "name": "daterangepicker",
      "normalized_name": "daterangepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-daterangepicker/daterangepicker.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "1231e1c3ac3c28aeaa22771e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a7a43ae2250b880a",
      "framework": "css",
      "imports": "",
      "lines": 375,
      "logic_relevance": "none",
      "name": "daterangepicker",
      "normalized_name": "daterangepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-daterangepicker/daterangepicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "8d91f0bea8c1764504cb7667",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9657bf7a0c9405b",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-daterangepicker/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "db97bc0300d2695ff5b04cf7",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "jquery,moment",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:jquery, moment | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "db8ada507e2c907f",
      "framework": "unknown",
      "imports": "jquery,moment",
      "lines": 8,
      "logic_relevance": "none",
      "name": "daterangepicker.min",
      "normalized_name": "daterangepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-daterangepicker/daterangepicker.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "71d9369523e1a095152b24c5",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "20cfa9398db43dea",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "daterangepicker.min",
      "normalized_name": "daterangepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-daterangepicker/daterangepicker.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "512016fd7cd9863254dc4b9c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "be91b84640485630",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "f48387d2bae8f756ac59907b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a2556e15dbd7b5f9",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "517646d71d443eeca8f71bef",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e339935df035bbe2",
      "framework": "css",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker",
      "normalized_name": "bootstrap-timepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/css/bootstrap-timepicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "ddc925b289ad82f27889a6be",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4a6743fb617907c6",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker.min",
      "normalized_name": "bootstrap-timepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/css/bootstrap-timepicker.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bb419c7a393bb562bce94c1a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ff7dd60191bc8e7",
      "framework": "unknown",
      "imports": "",
      "lines": 1177,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker",
      "normalized_name": "bootstrap-timepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/js/bootstrap-timepicker.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "431fa89f1b27774915b47093",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ef7b2026da611051",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker.min",
      "normalized_name": "bootstrap-timepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/js/bootstrap-timepicker.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "a35e00cfab3a66cf6215cb0b",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Owl, The | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Owl,The",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b0f20d9d73e83de1",
      "framework": "unknown",
      "imports": "",
      "lines": 3069,
      "logic_relevance": "none",
      "name": "owl.carousel",
      "normalized_name": "owl-carousel",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/owl-carousel/owl.carousel.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "2eb0ca3973f7b0630cc25e49",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "83553d22ccd56e55",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "owl.carousel.min",
      "normalized_name": "owl-carousel-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/owl-carousel/owl.carousel.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "7c088a80a26eced2dc74d664",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "01420977a0175804",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "owl.carousel",
      "normalized_name": "owl-carousel",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/owl-carousel/assets/owl.carousel.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "16556ace03ac6c0cd1b9676c",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d52c81ad5dcf74a8",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "wow",
      "normalized_name": "wow",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/reveal-animate/wow.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "bc75aa289a54447975d769ee",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "167d7ca784f3d394",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "wow.min",
      "normalized_name": "wow-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/reveal-animate/wow.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,observability",
      "component_id": "346e36580b7003fadfa14776",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "da92018c47e61c72",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "layers",
      "normalized_name": "layers",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/layers.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "baf8b1959a4677a51303e5fc",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6458ec95722a7506",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/settings.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "77516ef059dd04649444ab55",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2dae1502245e721d",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "de3bbc6eb900a83910ff9b43",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0a98c9f38af85341",
      "framework": "css",
      "imports": "",
      "lines": 196,
      "logic_relevance": "none",
      "name": "hebe",
      "normalized_name": "hebe",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/hebe.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "67b7076c6616ad7cfd57e34b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "316fabb6e59ea6c4",
      "framework": "css",
      "imports": "",
      "lines": 206,
      "logic_relevance": "none",
      "name": "metis",
      "normalized_name": "metis",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/metis.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "be6024418390afa5916275d8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6b928100c87c84b9",
      "framework": "css",
      "imports": "",
      "lines": 256,
      "logic_relevance": "none",
      "name": "hades",
      "normalized_name": "hades",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/hades.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "20f87d26211ae972c9630847",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e3468686e67bee2",
      "framework": "css",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "uranus",
      "normalized_name": "uranus",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/uranus.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "ca9e0072cc192292ca301a2c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7c40b82be25e907e",
      "framework": "css",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "dione",
      "normalized_name": "dione",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/dione.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "02eaaf4c556b4e01c4849da0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65ad35063ca7033e",
      "framework": "css",
      "imports": "",
      "lines": 79,
      "logic_relevance": "none",
      "name": "custom",
      "normalized_name": "custom",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/custom.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "fdaa54a2c9ad4550c385863b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c72d5f568818468d",
      "framework": "css",
      "imports": "",
      "lines": 241,
      "logic_relevance": "none",
      "name": "ares",
      "normalized_name": "ares",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/ares.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "7327357ba0c5f6d484fe3068",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2b3f417a771f8e78",
      "framework": "css",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "hesperiden",
      "normalized_name": "hesperiden",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/hesperiden.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "65b468883977914a7cb5fc6e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cc3292cf35b0e969",
      "framework": "css",
      "imports": "",
      "lines": 223,
      "logic_relevance": "none",
      "name": "hermes",
      "normalized_name": "hermes",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/hermes.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "ce096809e7753ed0841cec4d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "333a469eac406774",
      "framework": "css",
      "imports": "",
      "lines": 280,
      "logic_relevance": "none",
      "name": "zeus",
      "normalized_name": "zeus",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/zeus.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "3db4edbf4fb6fe634dc61d18",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fd6a60d448c2f410",
      "framework": "css",
      "imports": "",
      "lines": 209,
      "logic_relevance": "none",
      "name": "gyges",
      "normalized_name": "gyges",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/gyges.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "295a42203cac3a6585bf8316",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc0fa8420a9ddf05",
      "framework": "css",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "erinyen",
      "normalized_name": "erinyen",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/erinyen.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "ff96d4f5a7677619f65ae659",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b63005fc95f37822",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "persephone",
      "normalized_name": "persephone",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/persephone.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "9f36c00365eb52f86faa18ba",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5f67eb597652eb70",
      "framework": "css",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "hephaistos",
      "normalized_name": "hephaistos",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/hephaistos.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "49f2727fbe19350857afea8f",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "334f2d924e5b8b80",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "jquery.themepunch.revolution.min",
      "normalized_name": "jquery-themepunch-revolution-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/jquery.themepunch.revolution.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "cdcfe0a78deed12317def2b1",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f58361638bbe76bf",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.themepunch.enablelog",
      "normalized_name": "jquery-themepunch-enablelog",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/jquery.themepunch.enablelog.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "52df652e0d2e4e2604775355",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:D, F, G, I, J, L, M, P | imports:../TweenLite.js, ./TweenLite.js | observability-score:55 | security-score:55",
      "exports": "D,F,G,I,J,L,M,P,Q,R,S,W,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "92983391bc58be71",
      "framework": "unknown",
      "imports": "../TweenLite.js,./TweenLite.js",
      "lines": 139,
      "logic_relevance": "none",
      "name": "jquery.themepunch.tools.min",
      "normalized_name": "jquery-themepunch-tools-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/jquery.themepunch.tools.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "aa2eac3e80f407c60a6d1456",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f58361638bbe76bf",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.themepunch.enablelog",
      "normalized_name": "jquery-themepunch-enablelog",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/source/jquery.themepunch.enablelog.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "858b307e7ceb03cc2691de32",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b088e6f54a2fa0ee",
      "framework": "unknown",
      "imports": "",
      "lines": 2837,
      "logic_relevance": "none",
      "name": "jquery.themepunch.revolution",
      "normalized_name": "jquery-themepunch-revolution",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/source/jquery.themepunch.revolution.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2adf25177402aac9e3854350",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "+pt.b+,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TouchSwipe | imports:+pt.b+, ../TweenLite.js, ./TweenLite.js, jquery | observability-score:55 | security-score:55",
      "exports": "TouchSwipe",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f5467eefc5ebd78",
      "framework": "unknown",
      "imports": "+pt.b+,../TweenLite.js,./TweenLite.js,jquery",
      "lines": 8503,
      "logic_relevance": "none",
      "name": "jquery.themepunch.tools.min",
      "normalized_name": "jquery-themepunch-tools-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/source/jquery.themepunch.tools.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "98d707ef96aeeffebf28cd1d",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9b1d309e0370e375",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.carousel.min",
      "normalized_name": "revolution-extension-carousel-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.carousel.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c008f077a4014d2b8532b2dd",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bbe747b9445cff91",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "revolution.extension.layeranimation.min",
      "normalized_name": "revolution-extension-layeranimation-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.layeranimation.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "1d8ef87c053b6524d4709fc8",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "50457b0206d2b832",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.actions.min",
      "normalized_name": "revolution-extension-actions-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.actions.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "2d9f81dce83ec8e357763424",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "472571355097f8d7",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.navigation.min",
      "normalized_name": "revolution-extension-navigation-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.navigation.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "631ab9b7161e512a8cd6fdc8",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3ca5d0dc0042ca03",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.parallax.min",
      "normalized_name": "revolution-extension-parallax-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.parallax.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8b809ee70477e28721013065",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fe5c1ebb0c7895e8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.kenburn.min",
      "normalized_name": "revolution-extension-kenburn-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.kenburn.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a57989368576e88cee147062",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "714cd3a4cfb1b4f2",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.slideanims.min",
      "normalized_name": "revolution-extension-slideanims-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.slideanims.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "4cbb16b107f6a4b6fb6ef83f",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f47c16b2c0b03909",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.video.min",
      "normalized_name": "revolution-extension-video-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.video.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "b6cbaa4b0721d7745dbda9e0",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8956e67d4d450d67",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "revolution.extension.migration.min",
      "normalized_name": "revolution-extension-migration-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/revolution.extension.migration.min.js",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "282408be2a01c8ad9fad6b63",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7266140f98ef6c26",
      "framework": "unknown",
      "imports": "",
      "lines": 401,
      "logic_relevance": "none",
      "name": "revolution.extension.parallax",
      "normalized_name": "revolution-extension-parallax",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.parallax.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "007ed115fe2eb41cc6aae737",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15a8cffcad9961b5",
      "framework": "unknown",
      "imports": "",
      "lines": 1397,
      "logic_relevance": "none",
      "name": "revolution.extension.slideanims",
      "normalized_name": "revolution-extension-slideanims",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.slideanims.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c37337b05780092a676b2f06",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8ffce00ff2523543",
      "framework": "unknown",
      "imports": "",
      "lines": 1592,
      "logic_relevance": "none",
      "name": "revolution.extension.layeranimation",
      "normalized_name": "revolution-extension-layeranimation",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.layeranimation.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9fcac8212c958b95ce27e74f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f76c6a4f55672bbd",
      "framework": "unknown",
      "imports": "",
      "lines": 346,
      "logic_relevance": "none",
      "name": "revolution.extension.carousel",
      "normalized_name": "revolution-extension-carousel",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.carousel.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,process",
      "component_id": "bd5cc8c43d6972c6ae6c5a34",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "14bc758beb279206",
      "framework": "unknown",
      "imports": "",
      "lines": 260,
      "logic_relevance": "none",
      "name": "revolution.extension.migration",
      "normalized_name": "revolution-extension-migration",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.migration.js",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1412dfbe7284e0b63e33c003",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e99f627ed111114",
      "framework": "unknown",
      "imports": "",
      "lines": 1126,
      "logic_relevance": "none",
      "name": "revolution.extension.navigation",
      "normalized_name": "revolution-extension-navigation",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.navigation.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "0f8e34656119bbfadd807c4b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e99beffd5cfb3263",
      "framework": "unknown",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "revolution.extension.actions",
      "normalized_name": "revolution-extension-actions",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.actions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "21938af97c03f820a5391656",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b07512ca6069e865",
      "framework": "unknown",
      "imports": "",
      "lines": 1209,
      "logic_relevance": "none",
      "name": "revolution.extension.video",
      "normalized_name": "revolution-extension-video",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.video.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "59081000dfd545119aebe32e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3b2a2ba838eada7b",
      "framework": "unknown",
      "imports": "",
      "lines": 175,
      "logic_relevance": "none",
      "name": "revolution.extension.kenburn",
      "normalized_name": "revolution-extension-kenburn",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/js/extensions/source/revolution.extension.kenburn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,observability,security",
      "component_id": "d1e912cb9279e4101b869a4d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "569e4f4c3300d4c2",
      "framework": "css",
      "imports": "",
      "lines": 632,
      "logic_relevance": "none",
      "name": "pe-icon-7-stroke",
      "normalized_name": "pe-icon-7-stroke",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/fonts/pe-icon-7-stroke/css/pe-icon-7-stroke.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "fad71bd7548c1f2fdf9b482c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2b80e4c11c367db7",
      "framework": "css",
      "imports": "",
      "lines": 191,
      "logic_relevance": "none",
      "name": "helper",
      "normalized_name": "helper",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/fonts/pe-icon-7-stroke/css/helper.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "ffdc371714ac175c68b26b21",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e7ade77cbf465c2",
      "framework": "css",
      "imports": "",
      "lines": 2086,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/fonts/font-awesome/css/font-awesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "51a23a71280aacd5424adb42",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c92ff564f0bbff01",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "font-awesome.min",
      "normalized_name": "font-awesome-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/revo-slider/fonts/font-awesome/css/font-awesome.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "02387f52a74bad4ef66ab457",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8e17416059f9e1ad",
      "framework": "css",
      "imports": "",
      "lines": 2026,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/css/font-awesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "f9c9c988690b89975873fe48",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "936ffccdc35bc552",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "font-awesome.min",
      "normalized_name": "font-awesome-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/css/font-awesome.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "c8de1eb9e5f7cd3a724b1339",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "024abb930e6669f2",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/list.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "1137f41a7b711a4715dcf618",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3f9de6c3e0f1a2bc",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "stacked",
      "normalized_name": "stacked",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/stacked.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "12c4c653a885fadd22e11413",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a4a93d598134f656",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/core.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "bb8aa3191ae8731b50336e90",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ef853a3192742d2",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/fixed-width.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "1c5045d2757246ed815c5af4",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "385686a9ab02f753",
      "framework": "css",
      "imports": "",
      "lines": 688,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "2d5c1f6239fbdfa1eae4730b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d67df95488eec84d",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/rotated-flipped.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "306fdda03028a64bbac40c0f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b56c46e6f84f32d0",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/font-awesome.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "7b1b0c1468695f01af01ee3c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4b63fbba6ca02e3a",
      "framework": "css",
      "imports": "",
      "lines": 677,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "c9be74c4299cfab95736eb2b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "79727cb6aa668b45",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/path.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "e51866ac8ca0f579f9d6fee9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c7035423d5a1e03d",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "animated",
      "normalized_name": "animated",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/animated.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "03d0860525a9350e4e7dc912",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3d168a292ba33d4",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/bordered-pulled.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "b485ac0de4165dbadca1ea86",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dfc79d4325804e9a",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "larger",
      "normalized_name": "larger",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/larger.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "4abd9b350ea7b825347694cd",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5f6ee27de444452a",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "460a09fa62ad0ce187fad323",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "70f33fd079ab7085",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_stacked",
      "normalized_name": "stacked",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_stacked.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "52bb63703fb01cf7b6824ffa",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "66f5046fd611f0fb",
      "framework": "css",
      "imports": "",
      "lines": 688,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "216007aebc9963ffcde7a7a7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4bf01b89aaabb6e3",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/font-awesome.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "801bebd4ac92ba12da1ecab6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff0686d76acde358",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_rotated-flipped.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "079c0afa546e875833220603",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0e035e21bbdf7f14",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "_path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_path.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "9aa2f310f8e9d3b4f1e636ad",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5430a6695febcd9",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "_list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_list.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "1225e70933e38a266dd62d34",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fb4e8e7d5d03074d",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "_larger",
      "normalized_name": "larger",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_larger.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "57c3244810b47673368228d6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e6e81949b0ac4668",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "_core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_core.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "4ec869d53b7490de2dd5925f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f007a6e985c4064b",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "9cd8f6da7967a34f979aaec8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "900e2531ca7544fa",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "_animated",
      "normalized_name": "animated",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_animated.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "2606410cb773be958186bc74",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c03f868a11693885",
      "framework": "css",
      "imports": "",
      "lines": 677,
      "logic_relevance": "none",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "fbf0348dd7bd4ec649d092b0",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b8b0b3478e04e868",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "_fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_fixed-width.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2942091c31509a78d7bfaab9",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d1d28d405b932831",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/font-awesome/scss/_bordered-pulled.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7481a32d9dba1170e5a4c1cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2079adf5b742a982",
      "framework": "unknown",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-hover-dropdown/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6e70ad8f2d694d5ab5a6692e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a6c7ab04f562e281",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bootstrap-hover-dropdown",
      "normalized_name": "bootstrap-hover-dropdown",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8688da82c08f01342646138b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "412cf28cec5787f5",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bootstrap-hover-dropdown.min",
      "normalized_name": "bootstrap-hover-dropdown-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "27b54d9e2492b89dae461d61",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7d4faccf6eeb60f4",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugins",
      "normalized_name": "plugins",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/plugins.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "604771584e489c9f8ddcd678",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b5e5d39f2640c2cf",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "custom",
      "normalized_name": "custom",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/custom.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4f9632c6d83bd305af876b1c",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3edeca00f359fc95",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "components-rtl",
      "normalized_name": "components-rtl",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/components-rtl.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "52d0df6652116e3994d5d2c4",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "71afc732172c6e78",
      "framework": "css",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "custom-rtl",
      "normalized_name": "custom-rtl",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/custom-rtl.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "c160496adec41d9e01639de0",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e5d2cc2d0ec9d272",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "plugins-rtl",
      "normalized_name": "plugins-rtl",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/plugins-rtl.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "3c1a590ea34459b506f8897a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5f182c8b9fbad192",
      "framework": "css",
      "imports": "",
      "lines": 691,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/components.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "7a54e8b4ac8321e7ffc7d06e",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "27786b2c447b16af",
      "framework": "css",
      "imports": "",
      "lines": 342,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/themes/default.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "40eed04f81cebacc9dab2d4a",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7ed6df6385f5896c",
      "framework": "css",
      "imports": "",
      "lines": 342,
      "logic_relevance": "none",
      "name": "default-rtl",
      "normalized_name": "default-rtl",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/css/themes/default-rtl.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "49921e300f3aeab4e6d1c989",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "42bac3a1f7faef25",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "masonry-portfolio",
      "normalized_name": "masonry-portfolio",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/masonry-portfolio.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "fed5a74c02d39c6f99e6f9e7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7f6145fe4e7ceb0d",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "extended-portfolio",
      "normalized_name": "extended-portfolio",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/extended-portfolio.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "cfcfa1b8a9d326cca4200b05",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e504959205c92e05",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "lightbox-gallery",
      "normalized_name": "lightbox-gallery",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/lightbox-gallery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "a437a408eb1860f9d1a83ffb",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "91d8cfb92fc6798d",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "fullwidth-gallery",
      "normalized_name": "fullwidth-gallery",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/fullwidth-gallery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "72a09174ce8af3dd03705f79",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "96c72522cad1cfed",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "contact-2",
      "normalized_name": "contact-2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/contact-2.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "fce22704aabeb3bc95d45a11",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3259adf0e6b039e9",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "faq",
      "normalized_name": "faq",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/faq.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "90fda2aa3e91098133837422",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b30566f0457aca35",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "4col-portfolio",
      "normalized_name": "4col-portfolio",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/4col-portfolio.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c392b323e8ffd42535a99945",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4be9d481bccb19a",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/contact.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "767a48e4d9cf3752ab16edfb",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "759aaa36b54e6f70",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "index-gallery",
      "normalized_name": "index-gallery",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/index-gallery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "75d23de5a91df5476cc3aaf9",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73a7cde3052823a0",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "2col-portfolio",
      "normalized_name": "2col-portfolio",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/2col-portfolio.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "3d039bc7777df83f2040a4c3",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "42bac3a1f7faef25",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "masonry-gallery",
      "normalized_name": "masonry-gallery",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/masonry-gallery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5b599c38672de8d93d684d55",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "da646d9c3d382d91",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "isotope-gallery",
      "normalized_name": "isotope-gallery",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/isotope-gallery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "6121302558e55248e54a93fa",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "61f0f58a93f0947f",
      "framework": "unknown",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "isotope-grid",
      "normalized_name": "isotope-grid",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/isotope-grid.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "e0e0fc5a97bc94197be178a2",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d0bdaa73a1b954ce",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "modals",
      "normalized_name": "modals",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/modals.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e53564c2455bb360e02cf0c9",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d12bd0e5b2deef17",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "datepicker",
      "normalized_name": "datepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/pages/datepicker.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "23c5cb03e7b870a90e7330f7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6d121bd87010138f",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "reveal-animate",
      "normalized_name": "reveal-animate",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/reveal-animate/reveal-animate.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "security,automation",
      "component_id": "5497a3fd55822b021da02389",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c54c99ab8e2d01f7",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "slider-4",
      "normalized_name": "slider-4",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-4.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "6b26449f42f6533e341138dc",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb33253efb3c17d9",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider-1",
      "normalized_name": "slider-1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-1.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "b172aa95751a95cad18b2d61",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d4c1e9afac507342",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "slider-5",
      "normalized_name": "slider-5",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-5.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "b301bc14e61a679bd5ac25d2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58daa20843621650",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "slider-12",
      "normalized_name": "slider-12",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-12.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "aca8e706efb4326b3edc92be",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f17eeda40e100876",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "shop-slider-3",
      "normalized_name": "shop-slider-3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/shop-slider-3.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "9f7988c2bf076548fcb0814c",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f17eeda40e100876",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "shop-slider-2",
      "normalized_name": "shop-slider-2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/shop-slider-2.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "bf3ccf51542f7f0782656119",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09bbae5c4de4bb54",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "slider-13",
      "normalized_name": "slider-13",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-13.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "292f0b5724a76e6c1837bafd",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e913c7cf52bb51a9",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "shop-slider-1",
      "normalized_name": "shop-slider-1",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/shop-slider-1.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "security,automation",
      "component_id": "f10ad4ee606de5d06b425caf",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a7fbf37e6551ae86",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider-8",
      "normalized_name": "slider-8",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-8.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "f9e18dd0632576a45c84a658",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c696680f049e7d03",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "slider-14",
      "normalized_name": "slider-14",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-14.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "61fdca50ebe2605bbb70a708",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "26bbef3e878757c3",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "shop-slider-5",
      "normalized_name": "shop-slider-5",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/shop-slider-5.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "c1908bd0ecbcfde61589bb19",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7e94d3444181cc8",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "slider-10",
      "normalized_name": "slider-10",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-10.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "6a0f7cbc3012df6b5ca3e081",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e913c7cf52bb51a9",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "shop-slider-4",
      "normalized_name": "shop-slider-4",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/shop-slider-4.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "e4f4ab387ee587ef268f9f9d",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58daa20843621650",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "slider-11",
      "normalized_name": "slider-11",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-11.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "aeebfb9ccdb651214fca6dc2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f10abe1f70072079",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider-9",
      "normalized_name": "slider-9",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-9.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "79ec4e7fa302277363b05797",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8f02ba8bdef1f26",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "slider-2",
      "normalized_name": "slider-2",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-2.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "e1dbcf40b1a5e633e8698eba",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7239f7671d71a37",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "slider-6",
      "normalized_name": "slider-6",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-6.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "4460cf43ff23ca84dad05d15",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "486fa48abcac3580",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "slider-7",
      "normalized_name": "slider-7",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-7.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "game",
      "categories": "security,automation",
      "component_id": "c8a294dfbed1347b7d348dca",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for game; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a6503c711a7d2f0",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "slider-3",
      "normalized_name": "slider-3",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/demos/default/js/scripts/revo-slider/slider-3.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "9bdf7ba982ddf869fad04d03",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "027aabcf3b7eb6bb",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "components-shop",
      "normalized_name": "components-shop",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/base/js/components-shop.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "7a81e12dd920295c091ade46",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:F | observability-score:55",
      "exports": "F",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4fa559c1c5c01d49",
      "framework": "next-react",
      "imports": "",
      "lines": 1512,
      "logic_relevance": "none",
      "name": "owl.carousel",
      "normalized_name": "owl-carousel",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/base/js/owl.carousel.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5bc1f7957dd5d1b80dafea1a",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "776b3b1ca007e7d9",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "components",
      "normalized_name": "components",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/base/js/components.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "612d75286166585d8c35be7d",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "607db1d428f2c14f",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "admin/public/assets/frontend/assets/base/js/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "fd89f08af690f3ada2328d45",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:jquery | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b6bab63e3aa24b4",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bootbox.min",
      "normalized_name": "bootbox-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootbox.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ac0ba412d5bc259a9ad11d0a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a8964b9d8f2cd7f",
      "framework": "unknown",
      "imports": "",
      "lines": 691,
      "logic_relevance": "none",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/admin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "18160e17d1b569af321bf1cb",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5697cafc9b1f88e5",
      "framework": "css",
      "imports": "",
      "lines": 286,
      "logic_relevance": "none",
      "name": "print",
      "normalized_name": "print",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/print.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "12e136920938bd9e6ff5bbb5",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4ce047d711d966ca",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootstrap/css/bootstrap.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "d5ee1fe723a97041d18fd5fb",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e630d90c7234b0d",
      "framework": "css",
      "imports": "",
      "lines": 6757,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootstrap/css/bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "d67525fb2f28c907dd9bf57e",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c4ea52f9efdd111f",
      "framework": "css",
      "imports": "",
      "lines": 587,
      "logic_relevance": "none",
      "name": "bootstrap-theme",
      "normalized_name": "bootstrap-theme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootstrap/css/bootstrap-theme.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "3b32685292f959f7c8bdb95d",
      "component_kind": "design-token",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "653e073e97423add",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "bootstrap-theme.min",
      "normalized_name": "bootstrap-theme-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootstrap/css/bootstrap-theme.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3604c5e13155b3e175e20e38",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Plugin, ScrollSpy | observability-score:55 | security-score:55",
      "exports": "Plugin,ScrollSpy",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0abe8deb334de1ba",
      "framework": "unknown",
      "imports": "",
      "lines": 2377,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootstrap/js/bootstrap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "6867d5dedd8abd310adf70c4",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53964478a7c634e8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bootstrap.min",
      "normalized_name": "bootstrap-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/bootstrap/js/bootstrap.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "713f6e21507b85d90bdf5ebb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c4d8dbe77feb63e5",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "jquery-ui.min",
      "normalized_name": "jquery-ui-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/jQueryUI/jquery-ui.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "37d48a2e9ccd58f2433f66c4",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Datepicker | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Datepicker",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0c8e8d7408611519",
      "framework": "unknown",
      "imports": "",
      "lines": 16617,
      "logic_relevance": "none",
      "name": "jquery-ui",
      "normalized_name": "jquery-ui",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/jQueryUI/jquery-ui.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "observability,security,automation",
      "component_id": "0956b3686501489f6e00b970",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:FastClick | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "FastClick",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1aa08cb3c7aa70d2",
      "framework": "unknown",
      "imports": "",
      "lines": 841,
      "logic_relevance": "none",
      "name": "fastclick",
      "normalized_name": "fastclick",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fastclick/fastclick.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "52464e214490fe1354f1b56c",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "32c983a4b3b87d8f",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "fastclick.min",
      "normalized_name": "fastclick-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fastclick/fastclick.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "88ff1da1fd588b7f451f72ef",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "eae5a5ad093a3b59",
      "framework": "unknown",
      "imports": "",
      "lines": 903,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker",
      "normalized_name": "bootstrap-timepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/timepicker/bootstrap-timepicker.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2729a9b30d253f37b2495ea3",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dc57a413d6bfd7f7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker.min",
      "normalized_name": "bootstrap-timepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/timepicker/bootstrap-timepicker.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "ef5e174c54a481b77f35c0c0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8b034ce2131b486b",
      "framework": "css",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker",
      "normalized_name": "bootstrap-timepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/timepicker/bootstrap-timepicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "ac2eeef49ff5d8075afd2051",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "26fcd5729914e3e5",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "bootstrap-timepicker.min",
      "normalized_name": "bootstrap-timepicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/timepicker/bootstrap-timepicker.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "14f4212621d6e9344fb0ca8b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b53c2627dfab90ad",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "Chart.min",
      "normalized_name": "chart-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/chartjs/Chart.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "ui,observability,security,automation,ai",
      "component_id": "1a66b90b687b314bea35b504",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "",
      "description": "UI component for seo-and-metadata; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartType | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ChartType",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "f24efeb899245839",
      "framework": "unknown",
      "imports": "",
      "lines": 3736,
      "logic_relevance": "none",
      "name": "Chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/chartjs/Chart.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "fc0331ed8069bcc788fe4242",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "bdf6299cd01a41f1",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/install.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "d5c1ce8c41a8c540310fdd80",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, D, E, F, G, H | observability-score:55",
      "exports": "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c3282112be47b707",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "ckfinder",
      "normalized_name": "ckfinder",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/ckfinder.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "e09d4dee7c7ad25b3819b926",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e7c65ba6ed23b50b",
      "framework": "unknown",
      "imports": "",
      "lines": 246,
      "logic_relevance": "none",
      "name": "changelog",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/changelog.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation,ai",
      "component_id": "c919bdbd0539ae5c8bd23d48",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6c8d79cda8833e32",
      "framework": "unknown",
      "imports": "",
      "lines": 239,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "7e8ba13de5da978656def81e",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dab7c1fd7a5ea423",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "translations",
      "normalized_name": "translations",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/translations.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "af7cd28f8330781ca072de03",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6eed1c82af2f33f1",
      "framework": "unknown",
      "imports": "",
      "lines": 271,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5ff5b8bceb72fc5e7b9f38b9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "98cc28ef374f80b6",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 347,
      "logic_relevance": "none",
      "name": "python",
      "normalized_name": "python",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/python/python.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "848f2ebd3466bff575738045",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Context | imports:../../lib/codemirror | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a890221033111acf",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 825,
      "logic_relevance": "none",
      "name": "css",
      "normalized_name": "css",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/css/css.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "1a7a3e2a1ef006f6bb158421",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror, ../meta, ../xml/xml | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7c229b36d440b35",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../meta,../xml/xml",
      "lines": 803,
      "logic_relevance": "none",
      "name": "markdown",
      "normalized_name": "markdown",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/markdown/markdown.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "security,automation",
      "component_id": "4c5bc874df2721a3c0b1d4df",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "41e47fd4b9536a16",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 837,
      "logic_relevance": "none",
      "name": "perl",
      "normalized_name": "perl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/perl/perl.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2c74c7409bd0fb765929dd1c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../addon/mode/overlay, ../../lib/codemirror, ../python/python, ../stex/stex | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5254d60b6dc1fcd7",
      "framework": "unknown",
      "imports": "../../addon/mode/overlay,../../lib/codemirror,../python/python,../stex/stex",
      "lines": 557,
      "logic_relevance": "none",
      "name": "rst",
      "normalized_name": "rst",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/rst/rst.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b372427abf8129c34c3c0aa5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror, ../css/css, ../javascript/javascript, ../xml/xml | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ee8603386165bb73",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../css/css,../javascript/javascript,../xml/xml",
      "lines": 150,
      "logic_relevance": "none",
      "name": "htmlmixed",
      "normalized_name": "htmlmixed",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/htmlmixed/htmlmixed.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "dfb8ad99d50a6f5f9304fb51",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0ad54d2b0b6f58ba",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 251,
      "logic_relevance": "none",
      "name": "stex",
      "normalized_name": "stex",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/stex/stex.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "56eb7b769413e6293313b4ee",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/codemirror, ../clike/clike, ../htmlmixed/htmlmixed | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6fded35eb21c0f0e",
      "framework": "unknown",
      "imports": "../../lib/codemirror,../clike/clike,../htmlmixed/htmlmixed",
      "lines": 234,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/php/php.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0069a702dfc73eb9a151877e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Context | imports:../../lib/codemirror | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9540f58dd013f86c",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 385,
      "logic_relevance": "none",
      "name": "xml",
      "normalized_name": "xml",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/xml/xml.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "4af7ac88370984e1c50f924a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Context | imports:../../lib/codemirror | observability-score:55 | security-score:55",
      "exports": "Context",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3827939df0172583",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 775,
      "logic_relevance": "none",
      "name": "clike",
      "normalized_name": "clike",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/clike/clike.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "978c315f04daafbd60c54a1e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:JSLexical | imports:../../lib/codemirror | security-score:55",
      "exports": "JSLexical",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4def9152ff4c9e5a",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 721,
      "logic_relevance": "none",
      "name": "javascript",
      "normalized_name": "javascript",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/javascript/javascript.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "36b840ce359fc3b89ae4d01d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c11209ed8d9c30ca",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 414,
      "logic_relevance": "none",
      "name": "sass",
      "normalized_name": "sass",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/sass/sass.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d66fbbde4b649c4e40fd5e73",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "32e8d36a75d822a3",
      "framework": "next-react",
      "imports": "../../lib/codemirror",
      "lines": 285,
      "logic_relevance": "none",
      "name": "ruby",
      "normalized_name": "ruby",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/ruby/ruby.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation,ai",
      "component_id": "21dfac7acca1cb5211bdc9a5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../../lib/codemirror | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "76a7891f6d804e37",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 391,
      "logic_relevance": "none",
      "name": "sql",
      "normalized_name": "sql",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/mode/sql/sql.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "1612ce1d5891a41afe80817f",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "div",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BidiSpan, BranchChunk, CodeMirror, ContentEditableInput, Delayed, Display, DisplayUpdate, History | imports:div | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "BidiSpan,BranchChunk,CodeMirror,ContentEditableInput,Delayed,Display,DisplayUpdate,History,LeafChunk,LineView,MarkedSpan,NativeScrollbars,NullScrollbars,PosWithInfo,Range,Selection,TextareaInput",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3093a81d56b35d2c",
      "framework": "unknown",
      "imports": "div",
      "lines": 8872,
      "logic_relevance": "primary",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/lib/codemirror.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,logic,automation,ai",
      "component_id": "ae1fcdd448b94924a68a0611",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "04ecba157f66a6e0",
      "framework": "css",
      "imports": "",
      "lines": 334,
      "logic_relevance": "secondary",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/lib/codemirror.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "e062808694167ca9e5c6becc",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:../../lib/codemirror | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8afb42c80af5e73f",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 85,
      "logic_relevance": "none",
      "name": "overlay",
      "normalized_name": "overlay",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/addon/mode/overlay.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0d73fddfc066a409c6137f2c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8fcee2367b93447a",
      "framework": "unknown",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/dummy/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ef7bafdb8fa74c710109e3fc",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "26479af2b9cfcd97",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/dummy/lang/en.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3817eb669afaf3232edef71a",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "324499f9e91b1f74",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "jquery.colorbox-min",
      "normalized_name": "jquery-colorbox-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/gallery/colorbox/jquery.colorbox-min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "079b6bece67680e511f44983",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "eff71b49996cfc68",
      "framework": "css",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "colorbox",
      "normalized_name": "colorbox",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/gallery/colorbox/colorbox.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "789a0d3ad5e3858b49c6e096",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Aa, Ba, D, Ea, Fa, G, I, J | imports:+i+ | automation-score:45",
      "exports": "Aa,Ba,D,Ea,Fa,G,I,J,La,Lb,Mb,Nb,O,Ob,P,Pb,Q,R,Ua,Va,Vb,Wa,Xa,Ya,Za,Zb",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2a71b3343dfedaa3",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 5,
      "logic_relevance": "none",
      "name": "jquery.min",
      "normalized_name": "jquery-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/gallery/colorbox/jquery.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "ac70a8c3277ec57d53e1877d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08f2a06de37bee60",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/gallery/colorbox/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "64aa83a56cd246fad7757046",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e58200ec5c079a37",
      "framework": "unknown",
      "imports": "",
      "lines": 675,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/plugins/imageresize/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "fa88599e2e4cb7dd72e346a4",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9e6589a516c1f498",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "richcombo",
      "normalized_name": "richcombo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/v1/richcombo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "d1a7c180c06eeeb410068c53",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "372ae4e497019d8a",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/v1/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "9bfd3d3414e2be479303f2fa",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fbe00faabe8ad3aa",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "host",
      "normalized_name": "host",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/v1/host.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "86c11147c955a769d494f35e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "16f7d6034950cd5b",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "uipanel",
      "normalized_name": "uipanel",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/v1/uipanel.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c91a71bfd5b9c1eef7167661",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8b37779b63a29d76",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/v1/skin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,automation",
      "component_id": "559f3f414bb13095e8d1b6bb",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "671e3a5ce9f9b9f7",
      "framework": "css",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability,security",
      "component_id": "f9ae25e9057085f3572658bf",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e7041eeeb5910a9a",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "host",
      "normalized_name": "host",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/host.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "4ef2fc6a827434057c2fc1c3",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "afdfb74e03144b6d",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "uipanel",
      "normalized_name": "uipanel",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/uipanel.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2fa65e30b4d4dbaac3aa618c",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0d5830a8be6f4e0f",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/skin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2e8bd0cfc29e28e752ac3a63",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5c8d457b80ec7666",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "richcombo",
      "normalized_name": "richcombo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/kama/richcombo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "f3e4fd2fa72603164f6b5a1c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "54a49e32c55cdadd",
      "framework": "css",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/kama/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "210d2e7b6e5d8d0fb218b287",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e8def085caa63fc0",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "host",
      "normalized_name": "host",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/kama/host.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,automation",
      "component_id": "e3117f4a9f5716759ce1a23f",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c48009a73cdfce96",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "uipanel",
      "normalized_name": "uipanel",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/kama/uipanel.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2a7ee174e517a7b1d075e82c",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "266bfda73ed6f1bf",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "skin",
      "normalized_name": "skin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/skins/kama/skin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "db6b93ecdbdeb77269ef99e7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "eb91ec951a9e8027",
      "framework": "css",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "sample",
      "normalized_name": "sample",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/_samples/sample.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "8cc159d92a8d94d7e85eab2a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9107ea22f38ced89",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "vi",
      "normalized_name": "vi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/vi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "2798390337a7e7cd6435e44d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3ebed394e7ee5fc7",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "lv",
      "normalized_name": "lv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/lv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "f577cf6053a52157b702c9fb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7705c746662e6984",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "pl",
      "normalized_name": "pl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/pl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "0f0eff5420ce6aca3c6b6269",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "accde19f2f819f55",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "el",
      "normalized_name": "el",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/el.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "12d0484bd4d0966b9179a09c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b31c00a48567c446",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "et",
      "normalized_name": "et",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/et.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "72fbb393b28aa68b687b8911",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bcc515065a9f4cc6",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/sl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "2356c11364475b99a477dcdc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b0cb991fe08792b0",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "nn",
      "normalized_name": "nn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/nn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "ae379bb8d9c2a352e3407012",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "34ceeefb7f37ffe6",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "hr",
      "normalized_name": "hr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/hr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "96030cf795f33745a1121ec2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf4b08c47c092f2a",
      "framework": "unknown",
      "imports": "",
      "lines": 313,
      "logic_relevance": "none",
      "name": "fi",
      "normalized_name": "fi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/fi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "5df4582e309ee6f3ea69fb37",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "92f7da305636e19d",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "ru",
      "normalized_name": "ru",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/ru.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "2995148c28cfe2c6c05e5707",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3c332998b4180e40",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "no",
      "normalized_name": "no",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/no.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "19140bd1490acfd41908a4e9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0bfe5cc1f3c073cb",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "gu",
      "normalized_name": "gu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/gu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "ac27a64d5480b489c7f3002e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "24ea7025d031113c",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/ja.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "e11b8cf2912ecf9f467c0b66",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "db22cffdf4250019",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "he",
      "normalized_name": "he",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/he.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "79c4aab72dece399632128a1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "18a7a9ca854584ed",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "bg",
      "normalized_name": "bg",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/bg.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "af22505d1c1440be2ee87cb9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fa6f463113680514",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "ca",
      "normalized_name": "ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/ca.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "4f11f9287b68651fd1c1d294",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "32521e3514ebe907",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "cy",
      "normalized_name": "cy",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/cy.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "646de6c810649a1b683ad953",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "94c3ae23c6a51e5d",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "_translationstatus",
      "normalized_name": "translationstatus",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/_translationstatus.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "e466d080cb1257216f04a491",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a8f649778b3baa52",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "nb",
      "normalized_name": "nb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/nb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "e1ecbb17f574fa1e9fcf6a3c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9bdd0589ae6affc",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "zh-cn",
      "normalized_name": "zh-cn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/zh-cn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "18750dcca4ca307b8419fcbb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e2488863ef66c809",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "zh-tw",
      "normalized_name": "zh-tw",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/zh-tw.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "c078f2e1ad8ba1cb2fed3982",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bc7a932bd74db699",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "pt-br",
      "normalized_name": "pt-br",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/pt-br.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "6db073415672bfcc946af8eb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7dbf1625a8a5c56b",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/da.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "09ccae64553d32528e764692",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e18a42f1d9889287",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "fa",
      "normalized_name": "fa",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/fa.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "5086618d1ec34a5ba998fbe4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c2a3e07a4e6d8184",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/de.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "81f045b15b394ac056d01252",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "334d574cc0242267",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/en.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "f08fe7cc55dad388f3548749",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3763a004934668dc",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/sv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "938ca09615829164859ef72b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5525236b2924cbf0",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "hi",
      "normalized_name": "hi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/hi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "19e960d891ece1bc97c2ae7a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "91eda568a6d38769",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "cs",
      "normalized_name": "cs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/cs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "728df2fb2f3518a68a8b3263",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c1046a58692d2463",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/fr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "6949869529505dcbc8956d8a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4e9441fb6e7959c",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/nl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "53aa93ff69c79acfe6ae752b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b7abb9beace2c54",
      "framework": "unknown",
      "imports": "",
      "lines": 313,
      "logic_relevance": "none",
      "name": "sr",
      "normalized_name": "sr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/sr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "128f81c96284d8a0a1d081d5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77ac4fb7407394d8",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "hu",
      "normalized_name": "hu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/hu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "8f55dddba0c4139f1b099108",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9f7ca76c65c46a31",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "lt",
      "normalized_name": "lt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/lt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "307f358f5847b52994641a5b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb25bdbf0621e603",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "es-mx",
      "normalized_name": "es-mx",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/es-mx.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "9571e7728f553776b736456d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3ed501c096bc3ef2",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "sk",
      "normalized_name": "sk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/sk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "4b154b59018372c19c567ca1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bc294940c52b436f",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/it.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "d8b4872b2f8cf9ba8c8c32e3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e17007af7620e806",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/es.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "d86e2474b9aa4065d2dd1791",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "203e5492443f3270",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "eo",
      "normalized_name": "eo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/eo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "0f42327a2a990d98fe219a3c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a35d2d82e84e6c6",
      "framework": "unknown",
      "imports": "",
      "lines": 312,
      "logic_relevance": "none",
      "name": "ro",
      "normalized_name": "ro",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/ro.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,ai",
      "component_id": "e352e3f129da06fb9f7e90a8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d3bac035f1c0a7cd",
      "framework": "unknown",
      "imports": "",
      "lines": 315,
      "logic_relevance": "none",
      "name": "tr",
      "normalized_name": "tr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/lang/tr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ea1046cd861b508aff4766e1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5e7ac61ebde76171",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "help",
      "normalized_name": "help",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckfinder/help/files/other/help.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "732da581cc861a8bfa3dfbc1",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "df8ec33cb91637d1",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "jquery-jvectormap-1.2.2.min",
      "normalized_name": "jquery-jvectormap-1-2-2-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "df294a37fd2745c460443d38",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "286667916dd9adc4",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "jquery-jvectormap-1.2.2",
      "normalized_name": "jquery-jvectormap-1-2-2",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/jvectormap/jquery-jvectormap-1.2.2.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "style,integration,observability,automation",
      "component_id": "1ef082c9c3a4f461ddd2ed56",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f3957a03a80c5eb4",
      "framework": "css",
      "imports": "",
      "lines": 977,
      "logic_relevance": "none",
      "name": "fullcalendar",
      "normalized_name": "fullcalendar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fullcalendar/fullcalendar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,integration,observability",
      "component_id": "e4519f3cc4d245bd081a7f59",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "916df06384180089",
      "framework": "css",
      "imports": "",
      "lines": 202,
      "logic_relevance": "none",
      "name": "fullcalendar.print",
      "normalized_name": "fullcalendar-print",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fullcalendar/fullcalendar.print.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "integration,security",
      "component_id": "3bdfb3ccec2e5a68688ce03f",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "bg",
      "description": "Integration component for i18n; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:Calendar, Class, EventManager, Header | imports:bg | integration-score:55 | security-score:55",
      "exports": "Calendar,Class,EventManager,Header",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db3d2d6ca5bb8a41",
      "framework": "next-react",
      "imports": "bg",
      "lines": 9732,
      "logic_relevance": "none",
      "name": "fullcalendar",
      "normalized_name": "fullcalendar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fullcalendar/fullcalendar.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,observability,security",
      "component_id": "f3e42659c9ee26ccbca952c1",
      "component_kind": "integration-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:A, B, C, D, E, F, G, H | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b1ce322d0eb87a86",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "fullcalendar.min",
      "normalized_name": "fullcalendar-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fullcalendar/fullcalendar.min.js",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,integration,observability",
      "component_id": "68f535db556191331dc5ec3e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4b8c9e1db101e4d7",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fullcalendar.min",
      "normalized_name": "fullcalendar-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/fullcalendar/fullcalendar.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "12255c3a805f9088403ad556",
      "component_kind": "design-token",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc8e3aa67522614c",
      "framework": "css",
      "imports": "",
      "lines": 416,
      "logic_relevance": "none",
      "name": "jquery.dataTables_themeroller",
      "normalized_name": "jquery-data-tables-themeroller",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/jquery.dataTables_themeroller.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "7505d2c7edeead8847dcbb6a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "924131ee63d13e3e",
      "framework": "css",
      "imports": "",
      "lines": 455,
      "logic_relevance": "none",
      "name": "jquery.dataTables",
      "normalized_name": "jquery-data-tables",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/jquery.dataTables.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "observability,security,ai",
      "component_id": "f703f7418c2641a7fc8de43c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "jquery",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Ab, B, Bb, C, Cb, Db, E, Eb | imports:jquery | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Ab,B,Bb,C,Cb,Db,E,Eb,Fa,Fb,G,Ga,Gb,H,Ha,Hb,I,Ia,Ib,Ja,Jb,K,Ka,Kb,La,Lb,M,Ma,N,Nb,Oa,P,Pa,Qa,R,Ra,S,Sa,Ta,U,Ua,Va,W,Wa,X,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7a101ba1668e0432",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 160,
      "logic_relevance": "none",
      "name": "jquery.dataTables.min",
      "normalized_name": "jquery-data-tables-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/jquery.dataTables.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "814224bf9ddaf11a1c98b9db",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DataTable | imports:jquery | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DataTable",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e89c57497a854161",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 14951,
      "logic_relevance": "none",
      "name": "jquery.dataTables",
      "normalized_name": "jquery-data-tables",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/jquery.dataTables.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "de73e28f1c75b9c144aa3507",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a6ae08d48e807597",
      "framework": "css",
      "imports": "",
      "lines": 373,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c85e4bc0a4742472773d922c",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "43b8c279057764d5",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.dataTables.min",
      "normalized_name": "jquery-data-tables-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/jquery.dataTables.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "32e35f61ebd85ff0b05d7572",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7392a232d74627d4",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Responsive/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "560468367c172edabe07bfce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4454d949143a6a0c",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Responsive/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "3c412e7dcb6946d34f076ddd",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "37ebd7d5e500c4c7",
      "framework": "css",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "dataTables.responsive",
      "normalized_name": "data-tables-responsive",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Responsive/css/dataTables.responsive.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "7bdb0ce5e8afe4f59ddf83d0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "040f61f693fd6e56",
      "framework": "css",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "dataTables.responsive",
      "normalized_name": "data-tables-responsive",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Responsive/css/dataTables.responsive.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6158ab5c220634cecfa54b00",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "25a00212aa43acbf",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 19,
      "logic_relevance": "none",
      "name": "dataTables.responsive.min",
      "normalized_name": "data-tables-responsive-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Responsive/js/dataTables.responsive.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5469112a903b38b615d2d0c7",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6bce2f58a64bb84",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 873,
      "logic_relevance": "none",
      "name": "dataTables.responsive",
      "normalized_name": "data-tables-responsive",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Responsive/js/dataTables.responsive.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "5b933f8267ee63a901d7573a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ada89cc60e76e68a",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "7dd73d32f28277313f73bbff",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46daf76193ec5496",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "9a866850feac28b699872a72",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2cac99438be2f9aa",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.fixedColumns.min",
      "normalized_name": "data-tables-fixed-columns-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/css/dataTables.fixedColumns.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "b7b6f43f1894c31b976905ea",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "395bb14de1b5911c",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "dataTables.fixedColumns",
      "normalized_name": "data-tables-fixed-columns",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/css/dataTables.fixedColumns.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "7099adc8f44ae5ecce83427a",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b9a5029901335c2d",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 1423,
      "logic_relevance": "none",
      "name": "dataTables.fixedColumns",
      "normalized_name": "data-tables-fixed-columns",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/js/dataTables.fixedColumns.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "20a8f4e9adc2bfd5e254045d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e8b93a06d1e35c1f",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 30,
      "logic_relevance": "none",
      "name": "dataTables.fixedColumns.min",
      "normalized_name": "data-tables-fixed-columns-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/js/dataTables.fixedColumns.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,security",
      "component_id": "48c8554655279521f67193f6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "c2b30956f271fa6a",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColReorder/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "3fcd8448a7070acac0461a93",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46daf76193ec5496",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColReorder/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "d77eaf08fb71d43e55dbf96e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "756823f602f222d9",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "dataTables.colReorder",
      "normalized_name": "data-tables-col-reorder",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColReorder/css/dataTables.colReorder.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "53ff0a611d5f6b828bd332dd",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4c74ce6611085484",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.colReorder.min",
      "normalized_name": "data-tables-col-reorder-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColReorder/css/dataTables.colReorder.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "99eb71337114f312447092f4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0efe9778e0df9a47",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 26,
      "logic_relevance": "none",
      "name": "dataTables.colReorder.min",
      "normalized_name": "data-tables-col-reorder-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColReorder/js/dataTables.colReorder.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c0b9e0b6875eaf2b3969c8d1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ColReorder | imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "ColReorder",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c656674ab4d9a977",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 1372,
      "logic_relevance": "none",
      "name": "dataTables.colReorder",
      "normalized_name": "data-tables-col-reorder",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColReorder/js/dataTables.colReorder.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,security",
      "component_id": "bdae007dc4c866c4e190b501",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3948a9eabf8c73c0",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedHeader/Readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "b78cf263c78fc3fb68d45df7",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a10fe18060bb0c0c",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "dataTables.fixedHeader",
      "normalized_name": "data-tables-fixed-header",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedHeader/css/dataTables.fixedHeader.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "9ed7d1ce66ee55a75137288f",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "749f9ab7d1965193",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.fixedHeader.min",
      "normalized_name": "data-tables-fixed-header-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedHeader/css/dataTables.fixedHeader.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5eaaea338750b8b7f5eb0b86",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "datatables,jquery",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:datatables, jquery | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "69c1a29629f10900",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 1028,
      "logic_relevance": "none",
      "name": "dataTables.fixedHeader",
      "normalized_name": "data-tables-fixed-header",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedHeader/js/dataTables.fixedHeader.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6bb9f5c44092a9aab0ed1ba9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1564c9174a25a966",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 30,
      "logic_relevance": "none",
      "name": "dataTables.fixedHeader.min",
      "normalized_name": "data-tables-fixed-header-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/FixedHeader/js/dataTables.fixedHeader.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "e796e7b0346ebb089c3219ba",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f4ec0bdbf9530050",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/TableTools/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "6a4b4a587195f0e660f99af5",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2bf7cdc6fba19d48",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.tableTools.min",
      "normalized_name": "data-tables-table-tools-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/TableTools/css/dataTables.tableTools.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "3c64f8d327bfa0e4e3c7bbbe",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea16d596072265e6",
      "framework": "css",
      "imports": "",
      "lines": 361,
      "logic_relevance": "none",
      "name": "dataTables.tableTools",
      "normalized_name": "data-tables-table-tools",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/TableTools/css/dataTables.tableTools.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "9290ef8860589d23434c02ef",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "datatables,jquery",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:datatables, jquery | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7a330fc37da3643",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 70,
      "logic_relevance": "none",
      "name": "dataTables.tableTools.min",
      "normalized_name": "data-tables-table-tools-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/TableTools/js/dataTables.tableTools.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "1cc14ae468289e87ccc3b3cf",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "datatables,jquery",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:TableTools | imports:datatables, jquery | security-score:55",
      "exports": "TableTools",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a1ee3282fe8e534f",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 3230,
      "logic_relevance": "none",
      "name": "dataTables.tableTools",
      "normalized_name": "data-tables-table-tools",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/TableTools/js/dataTables.tableTools.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "ba83a7c644cc48f14ccce279",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "188e096a5f1021aa",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "fefcbd49989fbf16153eae5f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46daf76193ec5496",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "937cf26d94d38fbe10ffb851",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "26ba33fcf5464a3b",
      "framework": "css",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "dataTables.colvis.jqueryui",
      "normalized_name": "data-tables-colvis-jqueryui",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/css/dataTables.colvis.jqueryui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "c56b30fdde0aac3c5817f184",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "99b0b55d8862d787",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.colVis.min",
      "normalized_name": "data-tables-col-vis-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/css/dataTables.colVis.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "26b42995cd9a6878cb5445de",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "40cd8284e5d9e232",
      "framework": "css",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "dataTables.colVis",
      "normalized_name": "data-tables-col-vis",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/css/dataTables.colVis.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "46c944319be886c6cf3ed36f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ColVis | imports:datatables, jquery | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ColVis",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a6ef9e541b684290",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 1123,
      "logic_relevance": "none",
      "name": "dataTables.colVis",
      "normalized_name": "data-tables-col-vis",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/js/dataTables.colVis.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a704a8782f38c4e33f52ccfd",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2543934004078f3a",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 24,
      "logic_relevance": "none",
      "name": "dataTables.colVis.min",
      "normalized_name": "data-tables-col-vis-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/ColVis/js/dataTables.colVis.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "fe2070d996136298d33a4ecc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a8d633ac3d465c80",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/KeyTable/Readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "fc0c141972df8acd99f2fe39",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4f500374b28bdd20",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.keyTable.min",
      "normalized_name": "data-tables-key-table-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/KeyTable/css/dataTables.keyTable.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "58011a92bc2640f0afc44c15",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e0d16a8fea7eb85e",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "dataTables.keyTable",
      "normalized_name": "data-tables-key-table",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/KeyTable/css/dataTables.keyTable.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "40f09fd49052a11b21974882",
      "component_kind": "key-management",
      "confidence": 65,
      "dependency_roots": "datatables,jquery",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:datatables, jquery | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cea7a1b81668b048",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 1175,
      "logic_relevance": "none",
      "name": "dataTables.keyTable",
      "normalized_name": "data-tables-key-table",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/KeyTable/js/dataTables.keyTable.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "e2f3fa581f78269252e1e0be",
      "component_kind": "key-management",
      "confidence": 80,
      "dependency_roots": "datatables,jquery",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, B, C, E, G, H, I, L | imports:datatables, jquery | security-score:55",
      "exports": "A,B,C,E,G,H,I,L",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "03238a5dbcac0838",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 18,
      "logic_relevance": "none",
      "name": "dataTables.keyTable.min",
      "normalized_name": "data-tables-key-table-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/KeyTable/js/dataTables.keyTable.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "a0caec8717704b1a6bbcbbce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "771821046d980f1f",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/AutoFill/Readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "480d3661fc77fe543661b4af",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "16f0015135a55d7d",
      "framework": "css",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "dataTables.autoFill",
      "normalized_name": "data-tables-auto-fill",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/AutoFill/css/dataTables.autoFill.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "1f27dd4051ea447917f0c8a5",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d9e15e803359180e",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.autoFill.min",
      "normalized_name": "data-tables-auto-fill-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/AutoFill/css/dataTables.autoFill.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "6436aea263ff0527d9e5d3f5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "datatables,jquery",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:datatables, jquery | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "117b9d2108979424",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 22,
      "logic_relevance": "none",
      "name": "dataTables.autoFill.min",
      "normalized_name": "data-tables-auto-fill-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/AutoFill/js/dataTables.autoFill.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "052fb3a2de7639c387137450",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AutoFill | imports:datatables, jquery | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "AutoFill",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d50bda2b1bd3a4c",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 855,
      "logic_relevance": "none",
      "name": "dataTables.autoFill",
      "normalized_name": "data-tables-auto-fill",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/AutoFill/js/dataTables.autoFill.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,security",
      "component_id": "e1273723efdc32b4198e647c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "b9cb45604813fdd2",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Scroller/Readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f1c5e7bf227dd57a78c9fd98",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0d62c626e7175057",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "dataTables.scroller",
      "normalized_name": "data-tables-scroller",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Scroller/css/dataTables.scroller.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "fcbe3a7128f4a7856ed13436",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "990e8a6bfa77ce93",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.scroller.min",
      "normalized_name": "data-tables-scroller-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Scroller/css/dataTables.scroller.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "99c7a27c87d9696ec813b0e6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4fe11e0aa750d13e",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 25,
      "logic_relevance": "none",
      "name": "dataTables.scroller.min",
      "normalized_name": "data-tables-scroller-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Scroller/js/dataTables.scroller.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "1dfdd6de280d8d669115aa29",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "32a78afab323cecf",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 1262,
      "logic_relevance": "none",
      "name": "dataTables.scroller",
      "normalized_name": "data-tables-scroller",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Scroller/js/dataTables.scroller.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d1d4839a2bba5a295762c693",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "74886fee62b588b7",
      "framework": "unknown",
      "imports": "",
      "lines": 2502,
      "logic_relevance": "none",
      "name": "2500",
      "normalized_name": "2500",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datatables/extensions/Scroller/examples/data/2500.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "61af624aa46815a7cf334f09",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3a8dcbc704cd1aa1",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,security",
      "component_id": "4d4a5b0e83bf669063bfb986",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "babf9fbb910867c1",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "04d77f11c5f777b0df8097a7",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9a72f3d5fe0953d5",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "component",
      "normalized_name": "component",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/component.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "913d58c57bbf762ae28503c2",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6e677192b9d4a786",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": ".bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/.bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ce387f9c73b71c1a926fdcf4",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "39000ecdff45a1c4",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/composer.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,security,automation,ai",
      "component_id": "6fd3d910fbc1f4435a490272",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "de2bbd8e0b32f53a",
      "framework": "css",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ionicons.min",
      "normalized_name": "ionicons-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/css/ionicons.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,security,automation,ai",
      "component_id": "780b65c6c38d1b610895dcf0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0f7fa0c3a244e211",
      "framework": "css",
      "imports": "",
      "lines": 1480,
      "logic_relevance": "none",
      "name": "ionicons",
      "normalized_name": "ionicons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/css/ionicons.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "49ee129380c038ed3c15c3ae",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ecba8bd7c9a1d260",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "_ionicons-font",
      "normalized_name": "ionicons-font",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/less/_ionicons-font.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,security,automation",
      "component_id": "7185fa27fa523b6168cf8307",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d108daa86c8cb5f0",
      "framework": "css",
      "imports": "",
      "lines": 747,
      "logic_relevance": "none",
      "name": "_ionicons-variables",
      "normalized_name": "ionicons-variables",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/less/_ionicons-variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,security,automation",
      "component_id": "9fed618f85763e2065baa9cb",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3100831c9f3705fe",
      "framework": "css",
      "imports": "",
      "lines": 1473,
      "logic_relevance": "none",
      "name": "_ionicons-icons",
      "normalized_name": "ionicons-icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/less/_ionicons-icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "9061de82c5d3310ec659b31b",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ef25f39a7c94ea44",
      "framework": "css",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "ionicons",
      "normalized_name": "ionicons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/less/ionicons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,security,automation",
      "component_id": "627ec7193f7ea113be97a588",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "56c6d32a64fa066c",
      "framework": "css",
      "imports": "",
      "lines": 1473,
      "logic_relevance": "none",
      "name": "_ionicons-icons",
      "normalized_name": "ionicons-icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/scss/_ionicons-icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "6336af7f3d7a11e20072d920",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e29f400e8b4321f8",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "_ionicons-font",
      "normalized_name": "ionicons-font",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/scss/_ionicons-font.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "style,observability,security,automation",
      "component_id": "26bb6e898aa907ff05a5ae5c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a448f382a916df60",
      "framework": "css",
      "imports": "",
      "lines": 741,
      "logic_relevance": "none",
      "name": "_ionicons-variables",
      "normalized_name": "ionicons-variables",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/scss/_ionicons-variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "bfbcc97f8c60dba386ac9053",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "66b7b61412c4fd6a",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ionicons",
      "normalized_name": "ionicons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/Ionicons/scss/ionicons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bbd8f6fe6b7a8aefe858eedc",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:UTCDate, UTCToday | observability-score:55 | security-score:55",
      "exports": "UTCDate,UTCToday",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa064cfea0251dc2",
      "framework": "unknown",
      "imports": "",
      "lines": 1671,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker",
      "normalized_name": "bootstrap-datepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datepicker/bootstrap-datepicker.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "fb2df4be818b8b624069127a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "70438c52b83aee24",
      "framework": "css",
      "imports": "",
      "lines": 790,
      "logic_relevance": "none",
      "name": "datepicker3",
      "normalized_name": "datepicker3",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datepicker/datepicker3.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "514ade0c669e4330613a8a47",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "deb4ea5302ad2017",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "bootstrap-datepicker.es",
      "normalized_name": "bootstrap-datepicker-es",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/datepicker/locales/bootstrap-datepicker.es.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "df03e3d3569dcd4ea3f9a3c9",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Ab, F, Fa, Ga, Gb, H, J, M | imports:+i+ | automation-score:45",
      "exports": "Ab,F,Fa,Ga,Gb,H,J,M,Ma,Mb,Na,Oa,Pa,Qa,R,Ra,W,Wa,Xa,Ya,Za",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6b6de0d4db7876d1",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 4,
      "logic_relevance": "none",
      "name": "jquery-2.2.3.min",
      "normalized_name": "jquery-2-2-3-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/jQuery/jquery-2.2.3.min.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "8e1cf975af1f4beca83fdca0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ceeb19b87740efb0",
      "framework": "unknown",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "jquery.inputmask.numeric.extensions",
      "normalized_name": "jquery-inputmask-numeric-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/jquery.inputmask.numeric.extensions.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability,security",
      "component_id": "4517f5804723d41673403f49",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:HandleRemove, PostProcessResults, TranslatePosition | observability-score:55 | security-score:55",
      "exports": "HandleRemove,PostProcessResults,TranslatePosition",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a69d282071d67189",
      "framework": "unknown",
      "imports": "",
      "lines": 1627,
      "logic_relevance": "none",
      "name": "jquery.inputmask",
      "normalized_name": "jquery-inputmask",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/jquery.inputmask.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d7156998c8922e06d997d3c3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b338b50f1070b72d",
      "framework": "unknown",
      "imports": "",
      "lines": 169,
      "logic_relevance": "none",
      "name": "jquery.inputmask.regex.extensions",
      "normalized_name": "jquery-inputmask-regex-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/jquery.inputmask.regex.extensions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "5665cf58ce4ab5e2c9d9dae7",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14e8ff6d39adcaf4",
      "framework": "unknown",
      "imports": "",
      "lines": 488,
      "logic_relevance": "none",
      "name": "jquery.inputmask.date.extensions",
      "normalized_name": "jquery-inputmask-date-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/jquery.inputmask.date.extensions.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fb5b24882abb962a96c3b9a7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5285745fefa907c5",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "jquery.inputmask.phone.extensions",
      "normalized_name": "jquery-inputmask-phone-extensions",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/jquery.inputmask.phone.extensions.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "9f3beb04146c2fa0512ab934",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4aad9a1e92e54e95",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/phone-codes/readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "aa3ea549b510e97578a7f9f1",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "bcd0aa2402a317b6",
      "framework": "unknown",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "phone-codes",
      "normalized_name": "phone-codes",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/input-mask/phone-codes/phone-codes.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1f271e1cc41765064269ac28",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e8bd8423f0501abf",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "ion.rangeSlider.min",
      "normalized_name": "ion-range-slider-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ionslider/ion.rangeSlider.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "c6e76028c36691274794ed75",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bae95129af94b2e4",
      "framework": "css",
      "imports": "",
      "lines": 149,
      "logic_relevance": "none",
      "name": "ion.rangeSlider",
      "normalized_name": "ion-range-slider",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ionslider/ion.rangeSlider.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "8bbe2015ca5de51b93fbcfc4",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ec5b21cc77224236",
      "framework": "css",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "ion.rangeSlider.skinNice",
      "normalized_name": "ion-range-slider-skin-nice",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ionslider/ion.rangeSlider.skinNice.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "5b372847f119a9cc6ddf64b6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4d0ce0f40dfd7e0e",
      "framework": "css",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "ion.rangeSlider.skinFlat",
      "normalized_name": "ion-range-slider-skin-flat",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ionslider/ion.rangeSlider.skinFlat.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "735f8b0807c15722d91cd201",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Area, Bar, Donut, DonutSegment, EventEmitter, Grid, Hover, Line | observability-score:55 | security-score:55",
      "exports": "Area,Bar,Donut,DonutSegment,EventEmitter,Grid,Hover,Line",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bdf81ab4031e3e0a",
      "framework": "unknown",
      "imports": "",
      "lines": 1892,
      "logic_relevance": "none",
      "name": "morris",
      "normalized_name": "morris",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/morris/morris.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "a6aa1b3b86f4d75a986c1abe",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6c79f7a0ad370ea0",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "morris",
      "normalized_name": "morris",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/morris/morris.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a37c2e2692fa64a37dd454fb",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d2b83656d7c9a375",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "morris.min",
      "normalized_name": "morris-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/morris/morris.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "ab7dd430986329d9f5b9d99e",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events | observability-score:55 | security-score:55",
      "exports": "AjaxMonitor,Bar,DocumentMonitor,ElementMonitor,ElementTracker,EventLagMonitor,Evented,Events,NoTargetError,RequestIntercept,Scaler,SocketRequestTracker,XHRRequestTracker",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9c1e48cf1b739e97",
      "framework": "unknown",
      "imports": "",
      "lines": 935,
      "logic_relevance": "none",
      "name": "pace",
      "normalized_name": "pace",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/pace/pace.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,security",
      "component_id": "aa5dd4c4ea8d6597bd55639a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "64fe0f02d2678c36",
      "framework": "css",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "pace",
      "normalized_name": "pace",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/pace/pace.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,security",
      "component_id": "39ad5a238101b86eed3a4a0d",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b4e2eea4dd13d779",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "pace.min",
      "normalized_name": "pace-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/pace/pace.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "1413daf59a5c064104fc2809",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a42df5519aeb5bf8",
      "framework": "unknown",
      "imports": "",
      "lines": 1420,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/LICENSE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "b752040fa548f8ac27303eca",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9d3c5d0312d41219",
      "framework": "css",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/contents.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "638c229fdcfbdbec301e7140",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, D, E, F, G, H | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "A,B,C,D,E,F,G,H,I,K,L,M,N,O,P,S,T,U,V,X,Y,Z",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "21bd789757cc4aa3",
      "framework": "unknown",
      "imports": "",
      "lines": 1010,
      "logic_relevance": "none",
      "name": "ckeditor",
      "normalized_name": "ckeditor",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/ckeditor.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "process,automation",
      "component_id": "61753f026c1880f57bcd2912",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "23576626e47387ff",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "dd855f2343f32a856edc053e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "40a30a9c94791452",
      "framework": "unknown",
      "imports": "",
      "lines": 1053,
      "logic_relevance": "none",
      "name": "CHANGES",
      "normalized_name": "changes",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/CHANGES.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "030c4c04d1374945a9b3ebca",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d1f15e5954c5aa0f",
      "framework": "unknown",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "build-config",
      "normalized_name": "build-config",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/build-config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f544412ad6811d61adaea85e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "75ad95d349d15089",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "styles",
      "normalized_name": "styles",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/styles.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "6180ed4a34d6d17d76d32cf7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b51a8edd3845374d",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/wsc/LICENSE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process",
      "component_id": "67f1245f538f42c8881d7f44",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b473d2d7e431fe21",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/wsc/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style",
      "component_id": "f5ef6b58c87932977b0b29f4",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0d1cf66009e0451f",
      "framework": "css",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "wsc",
      "normalized_name": "wsc",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/wsc/dialogs/wsc.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a0b42690f98c734224909144",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:I | observability-score:55",
      "exports": "I",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1763852a53e3a9ba",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "wsc",
      "normalized_name": "wsc",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/wsc/dialogs/wsc.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1e90e65bd5e805de55fcd954",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bbbde1c3b0fd49c5",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "wsc_ie",
      "normalized_name": "wsc-ie",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/wsc/dialogs/wsc_ie.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f2dba07989caaa847b5e4f0c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7acfe4a508a5f33",
      "framework": "unknown",
      "imports": "",
      "lines": 468,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/colorbutton/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability,security",
      "component_id": "c482d9906b956e3c824f8ee7",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CKEDITOR, NestedEditable, Repository, Widget | observability-score:55 | security-score:55",
      "exports": "CKEDITOR,NestedEditable,Repository,Widget",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6c79b6e4780e278",
      "framework": "unknown",
      "imports": "",
      "lines": 4126,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widget/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "3d156902e6f01e3b84f321e1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "125929449ba20fdd",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "console",
      "normalized_name": "console",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/console.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "0e13b41b12976f1e00e13131",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ba769bead7edfb9b",
      "framework": "css",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/contents.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "2f399f1787a75d63742394bf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9aff66dd6d10218c",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "contents",
      "normalized_name": "contents",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/simplebox/contents.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4af01fa15a87efcb6678da53",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bf4b26284b169b3b",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ead298c82f6089b3e46d4f6e",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c19e334ab4f9e74f",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "simplebox",
      "normalized_name": "simplebox",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "56cbf8f77a1095cb424918af",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Area, CKEDITOR, Notification | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "Area,CKEDITOR,Notification",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "79c0956896aa0989",
      "framework": "unknown",
      "imports": "",
      "lines": 923,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/notification/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "52d369665138054e03bb8ba0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7d00f5d075cf11ef",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "tableCell",
      "normalized_name": "table-cell",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/tabletools/dialogs/tableCell.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "cd1058fc4750fcf095d40462",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:C, E | observability-score:55",
      "exports": "C,E",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ce864acdd76e9c0",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/pastefromword/filter/default.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "77364d1c0ccaeec911fd5078",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ac5e20dca0df0b8",
      "framework": "unknown",
      "imports": "",
      "lines": 806,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/toolbar/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ebf93473e99d10b2e8d02c95",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4ec9180c8d0e917f",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/toolbar/lang/sl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2bf280b2cbbadc8350aadb59",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6048dd25a46c7dea",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/toolbar/lang/it.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5eb355a4065e9a601ed27a25",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "57f3c8127e2cad95",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/about/dialogs/about.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "13e0df9b14ff928e0a163fd2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2a1a23b27634ed36",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "image",
      "normalized_name": "image",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/image/dialogs/image.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "68ff63549c5948948e4b0aba",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CKEDITOR | observability-score:55 | security-score:55",
      "exports": "CKEDITOR",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f441f00cc3d7cc0",
      "framework": "unknown",
      "imports": "",
      "lines": 389,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/button/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "observability",
      "component_id": "c5b834fd8cf4e26005ae4c5e",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for seo-and-metadata; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CKEDITOR, Finder, Liner, Locator | observability-score:55",
      "exports": "CKEDITOR,Finder,Liner,Locator",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dabb919c50c7fb72",
      "framework": "unknown",
      "imports": "",
      "lines": 1018,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/lineutils/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "68346237ad9a5235e5a876c2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b321d40a8631b934",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "link",
      "normalized_name": "link",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/link/dialogs/link.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e4608450e0bc924fe1ea1816",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b53af29acec6c7b4",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "anchor",
      "normalized_name": "anchor",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/link/dialogs/anchor.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability",
      "component_id": "85208bb5762dfe4011718935",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b895f6f07468f152",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/table/dialogs/table.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "398aa967dc3e58ef1c7dde95",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CKEDITOR, FileLoader, UploadRepository | observability-score:55 | security-score:55",
      "exports": "CKEDITOR,FileLoader,UploadRepository",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a47d93929dca766d",
      "framework": "unknown",
      "imports": "",
      "lines": 887,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "c8ba74d515af14f44603ea83",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f28f7021310f0c16",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/pt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "ea9db152f2a693f0a4987f8b",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e3655fa83c3e9b7",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pl",
      "normalized_name": "pl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/pl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "59fe1bdd23fcf1b970e42c6c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bca115ba2b9d5960",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/ja.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "c1199785d0e79b9dc8a21b13",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "75f4bd4f2ba1bb78",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "ug",
      "normalized_name": "ug",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/ug.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "db62ec3bd32ec68fe02cc371",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4a4c5e6f36841a5c",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "id",
      "normalized_name": "id",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/id.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "32cfd351ab40be3c085c87bb",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be29349b7269ed0b",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "nb",
      "normalized_name": "nb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/nb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "5b4f5573c2c5be598c60e6fe",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1184b6e37847cdbe",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "de-ch",
      "normalized_name": "de-ch",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/de-ch.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "211d7598ae64bcf346a1ef11",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "baea0c71a9600224",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pt-br",
      "normalized_name": "pt-br",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/pt-br.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "9d0b1e0ba8eec540995f6b7c",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6064d0afc678732b",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/da.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "32973f92583825f4263b64bd",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e762470d7895cb1f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/de.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "d5236734551362188aff8207",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c356c5e72e77de7",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/en.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "d06c602f9a8146fcbe685e81",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "10325279fcb239b2",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/sv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "observability",
      "component_id": "e112d90d6629e262084fce46",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for editor; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a9ccd75bfe0c6ca",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/nl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "security",
      "component_id": "ec0f05ae9d896e3cb35f4ed2",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "202efa83d074d8ac",
      "framework": "unknown",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/widgetselection/plugin.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cd617494ea36781b69103f9d",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a60c2826c4120ada",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "a11yhelp",
      "normalized_name": "a11yhelp",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dc463fb35dcad1f007274c28",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "276847ccdde45c81",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sr-latn",
      "normalized_name": "sr-latn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "af7a04611b8981507a829033",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "457f1100ec68a960",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6f2d3152596dbc38cd967dec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a2173fa0a5f4adb4",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "vi",
      "normalized_name": "vi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "02c882031eb1d68b67dc0bdf",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c080ef74a2cd466c",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "lv",
      "normalized_name": "lv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c3679bbc9c38d8d605d52b18",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2d50248df74194e3",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "gl",
      "normalized_name": "gl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "576a54d08b6bec822c86ce8c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8ca0850b59e4c18c",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pl",
      "normalized_name": "pl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e7315d3efa30af59861cb221",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cbb5f7ebe87a4ee9",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "mn",
      "normalized_name": "mn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ccb75b16a4d4423d7ab140ec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "20530b8cc9b52039",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "el",
      "normalized_name": "el",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/el.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5352bb6f213204d15093d281",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e283ccfe6e837a45",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "et",
      "normalized_name": "et",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/et.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6a7e27b6cbafe8ed884afdc8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7ebc46e2f9755182",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "b463b60f147014790d86723a",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a3a63239f8451855",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bbf87935bf3b3f9c38386b09",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b7a54db3a4ee691b",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "hr",
      "normalized_name": "hr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "170cef37238689a32f9bc4ea",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c9ffdcf4e5423048",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "fi",
      "normalized_name": "fi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ed63d923c8ebae28c2d76a64",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b306e8ada8633c5e",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "th",
      "normalized_name": "th",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/th.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "203a773bf9cf08d3b1cac617",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f768fad3fcafe82a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ru",
      "normalized_name": "ru",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "eef671d4e23cc3df06e929fe",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a50afd6f93ef1ce8",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "eu",
      "normalized_name": "eu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "916c2720c25b88845762b182",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "46ebd270c54616d9",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "mk",
      "normalized_name": "mk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f526a48dd7646f2774d63952",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "78157bdd6c5a3791",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "no",
      "normalized_name": "no",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/no.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6ab498a27d4253a5f9da1637",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4216bd0b9a2a9f03",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sq",
      "normalized_name": "sq",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "18c10447fd4e7c9c26334d67",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c7a6a5e9dfff53a7",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "gu",
      "normalized_name": "gu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d2a758929c565123995fd628",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "818e97cd745f7b6a",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "si",
      "normalized_name": "si",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/si.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5efd61ebfdcd5b6fb183b2cd",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3423e914607a0cf3",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "tt",
      "normalized_name": "tt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "78205920f96f144aa9de789e",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "87c58da5b36fbc47",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ec67e594431c1d0de7a584a2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f657c07457ff951d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "he",
      "normalized_name": "he",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/he.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "e5161d2eac988c51c208a440",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "206e10f80b057796",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "ug",
      "normalized_name": "ug",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "792ce986196b510d9ce46b61",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1638a638415495f5",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "bg",
      "normalized_name": "bg",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "59859b3d2a635d17cbd33a48",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae9e437acec628b1",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "af",
      "normalized_name": "af",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/af.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a466eb8f0863ac6e8c41cd75",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ce491c827a0069e5",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "id",
      "normalized_name": "id",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/id.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8105dceb7ca759c64950dc26",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6fcf893c4b1c6821",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "ca",
      "normalized_name": "ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b5641b4aca45e65d3745921c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7d007717e2f5f97c",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "cy",
      "normalized_name": "cy",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process",
      "component_id": "11e81e5ae3a0268967bfb973",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f0d402836f4c0d4c",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_translationstatus",
      "normalized_name": "translationstatus",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "52a2c065921fec3c89f81fb5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6c3f26ecbefcde00",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "nb",
      "normalized_name": "nb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "287bad6db40796dd4ddecb6a",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ec5975eadc89549a",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "zh-cn",
      "normalized_name": "zh-cn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2b524ce2f4cf4ab6c51f6f8c",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5a25d3ad37e7d433",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "de-ch",
      "normalized_name": "de-ch",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d24171765baf5baebd8a0ba2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b2bf73d7a191abd4",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pt-br",
      "normalized_name": "pt-br",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3031a80a2cf8dc51c228cebe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cc30e6e03b92b275",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/da.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "962144f30f6f1787df926e2b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "14efd3f96396918e",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "fa",
      "normalized_name": "fa",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f2602046330760c66b35b459",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "44c152f8f54c1cae",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/de.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "673f50f026f691942a959dea",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "67891dd2179ed2cc",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/en.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cb8f7a477024bc8525d50e94",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "164a7151f811c86c",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ku",
      "normalized_name": "ku",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "87607e16bf4eff76dbc954b2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "064915befedc0a6f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "b2ed15abc7ddacbfff82838b",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "22561c117be6d628",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a6e94175db89b0e5fc5375d3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9483f70bac0a3141",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "hi",
      "normalized_name": "hi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "2a61971c32847f281727e775",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7ba22c164864c34a",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "uk",
      "normalized_name": "uk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "57dcac7d7906a07b2d09396b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a5ff424002607aa2",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "cs",
      "normalized_name": "cs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ab62444f43c3989f39a9a2a6",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "93c31c6daa6aa13d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "km",
      "normalized_name": "km",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/km.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "62857a12aa151e00fe9c81a7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f461dfcfe967c70e",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9dc633ce8f9e606478dfbc8a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "251ca27071d1d378",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e100c3cc03ab0c61b5e6263d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "de9947bf393e0129",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "fr-ca",
      "normalized_name": "fr-ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6d9091d5b8fd28d4d5ccb1e5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a786cc8492303b2f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "en-gb",
      "normalized_name": "en-gb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7fd7dbdf06b33a643cf20fcc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "658c354876ead4e0",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sr",
      "normalized_name": "sr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4867e7d8d00de6044e0dc8e3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "045681aa84bdb0a1",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "hu",
      "normalized_name": "hu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ad6d000a840ac61d34a05fc2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3063ad76d1aa7271",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "lt",
      "normalized_name": "lt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e938a91178628a6817f1e218",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f103ac57ea02886",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "fo",
      "normalized_name": "fo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "49b99bf1b891de7982af418e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb5d79402a490132",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7a3056ddc557710a49f2f3fc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c6b7cb2465c7e37d",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sk",
      "normalized_name": "sk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c8995054e25c55a9a719a367",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e1c9499c2b8575bb",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/it.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1a309c449549715018d8303b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "587d9a3e4b24f826",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/es.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d1562810ae5528bef4247ae7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6ebd57c3524ee20e",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "eo",
      "normalized_name": "eo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "da6e2c082548f4879f6164c5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5259289e186dc6ba",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "ro",
      "normalized_name": "ro",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "903a6f4bb421615eebffeced",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7ba97efc317a44b",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "tr",
      "normalized_name": "tr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "55af2d5bc60b609a50661a0d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f2d47ec44bf1c5fc",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "specialchar",
      "normalized_name": "specialchar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/specialchar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "f78941ae9818b008c90621b6",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34357ce204a95b8d",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/pt.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "a3ddeb22b9e311c4456bc46d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "41efc04e94fd794f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "et",
      "normalized_name": "et",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/et.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "5363374a8d2847114f96f9e2",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "50b0265c4cff0228",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/sl.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "0e323b037a03bbd6ab6ac2f0",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a3aa9c87d1d8c2dc",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "hr",
      "normalized_name": "hr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/hr.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "710d2fd49883e017f4bf3f7b",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2633f50ca3238fcf",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "fi",
      "normalized_name": "fi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/fi.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "a02eb81256e18f4828574b90",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "73031176c9f646c2",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "th",
      "normalized_name": "th",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/th.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "869e7301065c3f5c02b1ad46",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "65e599877c721976",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "eu",
      "normalized_name": "eu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/eu.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "20284c1e523207c90f0607ae",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b96ac6da1c145aec",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sq",
      "normalized_name": "sq",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/sq.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "4fc13296ba10e33762d04043",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d32e6e6bc692d57",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "bg",
      "normalized_name": "bg",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/bg.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "31665cbcbb35cd20805b21db",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "429a9583fd8689bf",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "id",
      "normalized_name": "id",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/id.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "9b7e8e7ff96dda35e9f6f5df",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "069908bf946e8e14",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ca",
      "normalized_name": "ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/ca.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "8ed1135a96ecd03f11e353eb",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe467b06d767d914",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "cy",
      "normalized_name": "cy",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/cy.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process",
      "component_id": "aa1a68d091f3fff62b0ddc0c",
      "component_kind": "specification",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1ff4d52d5fbb4c18",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_translationstatus",
      "normalized_name": "translationstatus",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "32a36d34226771c2b5b3f80c",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c86c50b5e0ea3628",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "pt-br",
      "normalized_name": "pt-br",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "f7bcd087fd69bff532b7c4e1",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fde97114302ec854",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/da.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "35d2745555d175b1e44549f5",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f465fd139d19fc21",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/en.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "da9672c1f4ea59d7140c6c39",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c5756a4ca1611b6",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/sv.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a102fcfc5e490c0f5abba522",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0975ab02ef439179",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "cs",
      "normalized_name": "cs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/cs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "e3253b520a431ff4b4e5314d",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4729cdfada9f64c6",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "km",
      "normalized_name": "km",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/km.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "d91987cdad550ae0b13bd808",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd4cb2edcff4f60f",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/fr.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "b0b1d433bce785330f8d5dec",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cfd166d099ef53ae",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/nl.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "f9db73b74f4b88bae5754d9c",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eaa06bb202b0d439",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "fr-ca",
      "normalized_name": "fr-ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "e7500ff320a4a64f9a3d96b4",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6b73e0addb1c8ee5",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "en-gb",
      "normalized_name": "en-gb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "85111363786ebfb7f47c6cfc",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8c7ae2d58076159c",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/ar.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6a94a5debab1f4a0a90af870",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7e5669d2471ebc16",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sk",
      "normalized_name": "sk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/sk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation",
      "component_id": "97534670a2202a9042c2453e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d974cf55b99af3b5",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/it.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "76b59742a1174ad9f79ecb79",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "53dd271a77530e97",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/scayt/LICENSE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "a1979064aaa5eaac22b30c82",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "86ad9a32cd78b310",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/scayt/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process",
      "component_id": "22dbfc907035aef93cb30718",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6a31dde61a353ca6",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/scayt/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style",
      "component_id": "9520ff24e1e6713696d76fde",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e66191abbfc4b5e5",
      "framework": "css",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "toolbar",
      "normalized_name": "toolbar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/scayt/dialogs/toolbar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5ac67d75e729216a1d4def49",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c0c612f8c02934fb",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "options",
      "normalized_name": "options",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/scayt/dialogs/options.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ai",
      "component_id": "e4ab16c70e63eb7c49c663f6",
      "component_kind": "ai-integration",
      "confidence": 70,
      "dependency_roots": "",
      "description": "AI component for editor; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:Aggregator, CKEDITOR, Task | ai-score:45",
      "exports": "Aggregator,CKEDITOR,Task",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "5577b34919801017",
      "framework": "unknown",
      "imports": "",
      "lines": 548,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/notificationaggregator/plugin.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "57792e9e59847cd40241739d",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CKEDITOR | observability-score:55",
      "exports": "CKEDITOR",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2b5e4ff506eb2b1c",
      "framework": "unknown",
      "imports": "",
      "lines": 539,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/uploadwidget/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "security",
      "component_id": "4156fed6a3ebd2c06dbaca39",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "105b24ec0bb1a053",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "oc",
      "normalized_name": "oc",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/uploadwidget/lang/oc.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ed4f74428a3cc1ea87e6f836",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f5e0717e7972a6cd",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "filereaderplugin",
      "normalized_name": "filereaderplugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/uploadwidget/dev/filereaderplugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f243a64f80146ac2ac9f7879",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "67f0d3fff9d4f904",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "paste",
      "normalized_name": "paste",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/paste.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "88422e98070d00793d9797f5",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CKEDITOR | observability-score:55 | security-score:55",
      "exports": "CKEDITOR",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "274726c6ea9affbc",
      "framework": "unknown",
      "imports": "",
      "lines": 2772,
      "logic_relevance": "none",
      "name": "plugin",
      "normalized_name": "plugin",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "399c86f58440cb3988d7629c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "08a5778a43ee127d",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sr-latn",
      "normalized_name": "sr-latn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/sr-latn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "74f2f08817b04134205eab99",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c3f293b4bd632407",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/pt.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "d9ffdd42380137ca75525090",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dc0cf477e0c0cbe1",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "vi",
      "normalized_name": "vi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/vi.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e2d6ef7c7f52f9a775c5f3e1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3e079fe04262d813",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "lv",
      "normalized_name": "lv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/lv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "2d0949229594a83282c0788d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e9d6a4c555127af6",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "gl",
      "normalized_name": "gl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/gl.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "ebfbf488e185e7238efabe81",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efdafbc06ec7ae89",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "pl",
      "normalized_name": "pl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/pl.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "7f806abb326f6fe5bdd1026f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6ea3cb3ca24b7506",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "mn",
      "normalized_name": "mn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/mn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "a69e0dc7897c74ea71dd0094",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3f59019b42c45185",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "en-ca",
      "normalized_name": "en-ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/en-ca.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "134f04103265d6faa68114fd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e2c710d2985dc285",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "el",
      "normalized_name": "el",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/el.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "54301e9e025fba4a5554cc14",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "99d0837470575d61",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "et",
      "normalized_name": "et",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/et.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "c2d1d03c3b16979b6b725a21",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a16dac3e5d7e35b1",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "is",
      "normalized_name": "is",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/is.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "eb7444be0417f05ad374dbb0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a5ed3714bce73614",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/sl.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "1e81141c3b48b9d91c43e8fc",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "68df6bc54ae6f9b8",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ko.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "507320432f3b8ed711352814",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6b3c7afed9a7a20b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "hr",
      "normalized_name": "hr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/hr.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "e15a8e8850cedc3651a9c9ab",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb1b3821a2392855",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ms",
      "normalized_name": "ms",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ms.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "ac0d7444da4176f76e88ee6a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3dd828e5c3e08dd0",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "fi",
      "normalized_name": "fi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/fi.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "f8b9ca1c6aafdbaea0cb9575",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "33ecdc07083b31ed",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "th",
      "normalized_name": "th",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/th.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "d0daf075b58f8c51f68ebe92",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d9eca1c3109c6b11",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ru",
      "normalized_name": "ru",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ru.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "5a71da6bb577eee0fe27e905",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dfb50631b935ff56",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "eu",
      "normalized_name": "eu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/eu.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "30049706a866987913ca3742",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b6522da6f7e7a05f",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "mk",
      "normalized_name": "mk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/mk.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "d12caf3f04647f32943a966e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f3d453e850b3a077",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "no",
      "normalized_name": "no",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/no.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "84efdf4e51e4022bf0b025e8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a2c7190eaa75a21b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sq",
      "normalized_name": "sq",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/sq.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "5e0a1d0c7bc79cb9f9bbd89d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1162cff7d4c063f0",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "gu",
      "normalized_name": "gu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/gu.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "94114e5af64c4e72ed948114",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9bbaf29e8300a93b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "si",
      "normalized_name": "si",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/si.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "476bcecbf8ace0e5e21c93b8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e04a50b040a057d5",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "tt",
      "normalized_name": "tt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/tt.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "2b9501c70d76b44d23034f1f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7b47baf9d4bd0ff0",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ja.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "f31cb3ddada25c1b4bf71858",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f4241c8e20819a03",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ka",
      "normalized_name": "ka",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ka.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "bc84856f1cdafd2987e5424b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2271940b77b0a187",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "he",
      "normalized_name": "he",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/he.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "3c4d76f026bc4ba9f67f1567",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "caf838cce4cba35a",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ug",
      "normalized_name": "ug",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ug.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "de9530de93f8cd912a33494b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3350247111ac532d",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "bg",
      "normalized_name": "bg",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/bg.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "254e783bdd7899c05bd666d3",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1748a923ed641722",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "af",
      "normalized_name": "af",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/af.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "fe3931f983ed31179505f7d4",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "448b03bba205fdd3",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "id",
      "normalized_name": "id",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/id.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "f5187397dca09242002a6317",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7f63ededd8c3a1d6",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "az",
      "normalized_name": "az",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/az.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "8900ecc001346fd479d25960",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "81aac5f05a278152",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "en-au",
      "normalized_name": "en-au",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/en-au.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "d8cc6513d908fb7789da9b7b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f879d881260f7b75",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ca",
      "normalized_name": "ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ca.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "b99ad79270a365a7ee44c920",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09ac742342119daf",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "cy",
      "normalized_name": "cy",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/cy.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "3553e1589f66c8ef53d1ab5d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b23d3438bd75155e",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "nb",
      "normalized_name": "nb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/nb.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "79146fcd662aa4180d85e906",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c432597008bd978b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "zh-cn",
      "normalized_name": "zh-cn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/zh-cn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "3f10e971435eff659463629d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "073f0e2e4cd7c604",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "de-ch",
      "normalized_name": "de-ch",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/de-ch.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "ad2e77f1914aaa416c0b74fc",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "909f5d16ed36329b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "pt-br",
      "normalized_name": "pt-br",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/pt-br.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "09273cec5c801d47a8b43fd5",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9068d68cad0acb5c",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "oc",
      "normalized_name": "oc",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/oc.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "74aed658f9c7d48ed352e866",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5531c8d5e568fa3a",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/da.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "54f19015d7295a29af812ee0",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b1fbfdbf49a5c18e",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "fa",
      "normalized_name": "fa",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/fa.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "f6af090d25acec1a9919d8b8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e0e6e1ce3dd7f111",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/de.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "1550172ccad8e2581a3e9671",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cbe301c93369a692",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/en.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "85485c9eae1d2554d7371e35",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "eea700ac40132dee",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "bs",
      "normalized_name": "bs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/bs.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "892c1e465a167e13e7476569",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6055c645ef040137",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ku",
      "normalized_name": "ku",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ku.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "7aba429c5cd0f4ca6f2caf5d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "558a8542888b1e81",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/sv.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "5fa0d43573231c214188022b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "726eb5a1a22ce648",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/zh.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "37bd5790c4e9d21f1cf3c5b7",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "24df1f274aea0411",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "hi",
      "normalized_name": "hi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/hi.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "73774f37647deb87440f607a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4c44bf8504d26730",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "uk",
      "normalized_name": "uk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/uk.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "0715e5ae5a1b0e1cd9e897c9",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ec19a76ade5aafbc",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "cs",
      "normalized_name": "cs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/cs.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "b7a99d64d1abd9f3639bba19",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4afcb88ccc2102fe",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "km",
      "normalized_name": "km",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/km.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "bd3691d3f56476a95a1a7c68",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e597987ab274b72b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/fr.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "a7d5712272b053a1efd073ca",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "854850453b5dfeab",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/nl.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "f3078cf7c38892caf8f3393f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4dd2afa727fe7c74",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "fr-ca",
      "normalized_name": "fr-ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/fr-ca.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "6aa07434dd5369d12117b911",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9f5cd01eea077705",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "en-gb",
      "normalized_name": "en-gb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/en-gb.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "65667c89ea8db95cea6a2d99",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7638cd02ca5b01b0",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sr",
      "normalized_name": "sr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/sr.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "32da8bd582e6123545aa5f94",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6e67e509f96d8693",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "hu",
      "normalized_name": "hu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/hu.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "0149f61d0867accffe9992b7",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f4a685b669b28f2b",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "lt",
      "normalized_name": "lt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/lt.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "e2db23dbe241883832daf626",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ef804926839894eb",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "fo",
      "normalized_name": "fo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/fo.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "14b5602abb67a01c1129af4e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "42565d73f237fa8d",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ar.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "781c6ff286a5cd90d89b9be5",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6b04683471d5919f",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sk",
      "normalized_name": "sk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/sk.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "dee04d82b00ad7763ce633ea",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f454efa6bb50289a",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/it.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "830b268692c116428257d064",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "107ba4fe60a3daf4",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/es.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "23a6d783b7e7c9b25b13a34d",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0dd41b6d31f01121",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "bn",
      "normalized_name": "bn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/bn.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "70151e135eee1b3e13d78654",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7a26b1ef014f8e5d",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "eo",
      "normalized_name": "eo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/eo.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "da74e7a3e36459756c41fc1f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d6a5abdec43061a4",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "ro",
      "normalized_name": "ro",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ro.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "f5a114ff3e83301a6e49812b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "52d2893f753d3bed",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "tr",
      "normalized_name": "tr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/tr.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "633d4d3b27f2a03b2f964422",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a0e00985ae006751",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "console",
      "normalized_name": "console",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/dev/console.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "e61dfd1fa60a3f30c06399fd",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f691bead172ff18d",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "editor_iequirks",
      "normalized_name": "editor-iequirks",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/editor_iequirks.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "430e17427d2f2e55307ad32d",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dcd3fbf71daeaf3d",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "dialog_ie7",
      "normalized_name": "dialog-ie7",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/dialog_ie7.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "c790902a965e84247e8d6df5",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3d2a15ba2e4f9efb",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "editor",
      "normalized_name": "editor",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/editor.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "5ee41fccb754d858a20ff1f7",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "514173b028c0e000",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "editor_ie",
      "normalized_name": "editor-ie",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/editor_ie.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "fda1e57b3c91bc634ec939a9",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "384047fdbb6419d9",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "editor_ie8",
      "normalized_name": "editor-ie8",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/editor_ie8.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "c53a2c2d7da4a9f0f269462d",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "80b6d55c2609f603",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "dialog_iequirks",
      "normalized_name": "dialog-iequirks",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/dialog_iequirks.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "ef4909abb9517655cd296442",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "39ee391081488a57",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "03edf10ce9f6bf33ba33bd05",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f2edeca8f5af7a90",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "editor_ie7",
      "normalized_name": "editor-ie7",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/editor_ie7.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "14c01a5f51c0b64b71973947",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9f09135a5517e18d",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "editor_gecko",
      "normalized_name": "editor-gecko",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/editor_gecko.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "6543e192edc3891c319b0dd1",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e6fe48d236a8f4b",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "dialog_ie",
      "normalized_name": "dialog-ie",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/dialog_ie.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability,security",
      "component_id": "c471c37ca39bcb714d8fc61a",
      "component_kind": "ui-primitive",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f55fe51edf783ebd",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/dialog.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "771732c9dadd645e806d067c",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dfbff895eda2219d",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "dialog_ie8",
      "normalized_name": "dialog-ie8",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/skins/moono/dialog_ie8.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8c3bcfcc0fefb6d677912d97",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9aee037823da800d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sr-latn",
      "normalized_name": "sr-latn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/sr-latn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f72f26522d673218cd4057f5",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8841f8ac636d32b2",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pt",
      "normalized_name": "pt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/pt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0aad847e399d0eb728ecb4db",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "bc394b021d1b0dad",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "vi",
      "normalized_name": "vi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/vi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e9577e2d76dac266c2edad8d",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0f1b0b5dc2d5be85",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "lv",
      "normalized_name": "lv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/lv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "77beddc50d69a8e2b26524d5",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1c17c5aaabce859",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "gl",
      "normalized_name": "gl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/gl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "813ee3932dbc7b57dbf081d6",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b72010c5d0d9a58e",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pl",
      "normalized_name": "pl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/pl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f90e6530486c421b6467d643",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "95efe905c42bf189",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "mn",
      "normalized_name": "mn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/mn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f4bfcdbb12809866ddfeae0c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "26371add451af351",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "en-ca",
      "normalized_name": "en-ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/en-ca.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "45be49129599dc855417f04e",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f36b20fec73ad7a9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "el",
      "normalized_name": "el",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/el.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dd1f46a3aeb67b87f4885c02",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "288f66ac8ee9a9d8",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "et",
      "normalized_name": "et",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/et.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4804531130ce1bcf5a7bb0bd",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b8a28a3a520650ba",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "is",
      "normalized_name": "is",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/is.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5ee20e0e8382a485c71954a1",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03cbdb377796e168",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sl",
      "normalized_name": "sl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/sl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8c217a1b85d091f94e79ec32",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c994a37407c62924",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ko",
      "normalized_name": "ko",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ko.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cb345b2ab713000429ce2ad1",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d59b2398488372f5",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "hr",
      "normalized_name": "hr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/hr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2a16cad067f479f5bd71cc13",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "28a29094155e038c",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ms",
      "normalized_name": "ms",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ms.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "4052bfc83618643b0afd4907",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d9a9fda053fa4051",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fi",
      "normalized_name": "fi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/fi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1ea4aa5f3026cdf7209d590b",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8ee398a96550e4ac",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "th",
      "normalized_name": "th",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/th.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a833b1d9c1a0f1a87c795881",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "554d564b3775fca7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ru",
      "normalized_name": "ru",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ru.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ab227ae9abe8b7c6506014bd",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ebd25022f17ac9d2",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "eu",
      "normalized_name": "eu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/eu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "574c96b77df1265912c5b980",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf54a5e2f130c8d5",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "mk",
      "normalized_name": "mk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/mk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c5e65cd22dd3d66d6410eea7",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5470cf733577db52",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "no",
      "normalized_name": "no",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/no.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ba37af53507f88a38526848a",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae0860a3ff4bd67b",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sq",
      "normalized_name": "sq",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/sq.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ac4fd112e2925ad9d70f2a66",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "91a35225860eb6e9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "gu",
      "normalized_name": "gu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/gu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "87b4d1a9cfce941f680f2428",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dce8570853c92395",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "si",
      "normalized_name": "si",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/si.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0448f2e7deb3c946f1aa16d6",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f77129c330428ddb",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "tt",
      "normalized_name": "tt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/tt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1a0ab92d181da30eacebfa14",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f78f5c7fdb26799d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ja",
      "normalized_name": "ja",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ja.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "11a13ac8d24390a9fcd0c5e6",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d1a43806359f94af",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ka",
      "normalized_name": "ka",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ka.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7c933d273cb3a1c5468678f4",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4dd4a7a3abae084a",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "he",
      "normalized_name": "he",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/he.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bb97afc370c8856d5cf80195",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "aefde9d41c051c24",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ug",
      "normalized_name": "ug",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ug.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "57b66cfbaf18f170862c54f5",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3634f4a67dc6832d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bg",
      "normalized_name": "bg",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/bg.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d13e0e100cc2d1485b082b25",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0c746e1dc5aae4f5",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "af",
      "normalized_name": "af",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/af.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2327829dbf58a6622032fc3c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "67055f8925ca2923",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "id",
      "normalized_name": "id",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/id.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "611195162cd5cb8038cb2544",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "eb3787bc39893f3d",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "en-au",
      "normalized_name": "en-au",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/en-au.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cab1d831df1e206061511b67",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "44685adc6d514c32",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ca",
      "normalized_name": "ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ca.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ff621ab26466738858c61ed6",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6f0ec5e5893322f7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "cy",
      "normalized_name": "cy",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/cy.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "088361c277291c79a320b76c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9a46332522f001fc",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "nb",
      "normalized_name": "nb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/nb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b8dff309a2eb128e1f5dca0a",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "52e6fdb9282e4a86",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "zh-cn",
      "normalized_name": "zh-cn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/zh-cn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d0f2348592fd0a1d419735a3",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "89a545dd0a220326",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "de-ch",
      "normalized_name": "de-ch",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/de-ch.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c7e00834ee472f4daecf5529",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "39a20c36d3378752",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "pt-br",
      "normalized_name": "pt-br",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/pt-br.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d0f7aa28a692705df2c6200f",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9d86a47beda1a9ed",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "da",
      "normalized_name": "da",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/da.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "78028157e5a01d659f69ae0c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "359c795cf1c79df0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fa",
      "normalized_name": "fa",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/fa.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "29b298cceec31b8a36bc88c3",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2185caca70c6bd51",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "de",
      "normalized_name": "de",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/de.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "41613a2aafd7b751d18142eb",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d4b86159d2c04a04",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "en",
      "normalized_name": "en",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/en.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "23d22fa524d0a8e916b9450d",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ee2ac48aa1e6fdff",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bs",
      "normalized_name": "bs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/bs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "17a30774e2fb4c04000ce2a6",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8f0536a77cea1a39",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ku",
      "normalized_name": "ku",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ku.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8a3ff471a4fc8bde6ea89833",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e79f99c3c8b426b3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sv",
      "normalized_name": "sv",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/sv.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b670a3af185c18751f74faac",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "230e9a1c52b33265",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "zh",
      "normalized_name": "zh",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/zh.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3533a405cfe5b7292c4c9b52",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b858a49683db582a",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "hi",
      "normalized_name": "hi",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/hi.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f3b33e8a381e7db67f1a506d",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8c077871782ebde0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "uk",
      "normalized_name": "uk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/uk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cdc7f423000c7533502d59f0",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2e6314383b5783f7",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "cs",
      "normalized_name": "cs",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/cs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "609e4848ddc09cbe59c4b715",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6d9d1fe0aa8b78f6",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "km",
      "normalized_name": "km",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/km.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dd7451a52ea9ba70e9e3eebd",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9d2bf867d91caec",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fr",
      "normalized_name": "fr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/fr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "448c75710e132753cc7253ee",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d9f8d416fbbea101",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "nl",
      "normalized_name": "nl",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/nl.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "578cfe01a38270a6cc427449",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6278b1e6caf4efb3",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fr-ca",
      "normalized_name": "fr-ca",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/fr-ca.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "02d368abe828bff7f2ba2c8c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c60de4c638e827a2",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "en-gb",
      "normalized_name": "en-gb",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/en-gb.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "624da995ec7f6274baa6ce8a",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c173bd195971dfea",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sr",
      "normalized_name": "sr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/sr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "aa564e93c9ce3a8338343772",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0a8143429e415016",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "hu",
      "normalized_name": "hu",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/hu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e5b0cf0ad978cf54ffd3aa93",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0435932b6c7ffe65",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "lt",
      "normalized_name": "lt",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/lt.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "cda1b4acf834dceb9d818583",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a10ff51a1826df9e",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "fo",
      "normalized_name": "fo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/fo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "30303e118c3ed9bd4e76f218",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "38f2c7644c17d9f0",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ar",
      "normalized_name": "ar",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ar.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fc2cd3dfd689a4f824e006d4",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d5881e745c4f9034",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "sk",
      "normalized_name": "sk",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/sk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "6f44cb190d1875532ed22c05",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a385dd96786750c8",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "it",
      "normalized_name": "it",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/it.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "380c258a350b011cd5b41509",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c2d8440756d7761a",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "es",
      "normalized_name": "es",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/es.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "f439b462a0f6d21a56a6a314",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3bdfcc6e68998f6f",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "bn",
      "normalized_name": "bn",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/bn.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2d47fcbabba333889485f391",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5647e0ac0a6833fc",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "eo",
      "normalized_name": "eo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/eo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "73642c592e39e09ed94e8be9",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3a02a3058e60d50f",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "ro",
      "normalized_name": "ro",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/ro.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c8e1cc3fd73e1efc82b5cd55",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "19aea99669030cd9",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "tr",
      "normalized_name": "tr",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/lang/tr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "ce549680707625711157906a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5c5268966de1c459",
      "framework": "css",
      "imports": "",
      "lines": 1640,
      "logic_relevance": "none",
      "name": "samples",
      "normalized_name": "samples",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/css/samples.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0d2007744bdd1133cd8db4b1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6a1c8cab4762277b",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "sf",
      "normalized_name": "sf",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/js/sf.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "bf81c2b2a4d5455a6defb3cd",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5699387a9933230f",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "sample",
      "normalized_name": "sample",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/old/sample.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "f9ce44c1e97afc9b5082b95c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8a5fe15798f671e7",
      "framework": "css",
      "imports": "",
      "lines": 357,
      "logic_relevance": "none",
      "name": "sample",
      "normalized_name": "sample",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/old/sample.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "dde30bf6767137ba2a43ec52",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, E, F, G, H, J, K, M | observability-score:55",
      "exports": "A,E,F,G,H,J,K,M,N,P,Q,S,U,V,W",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "80d4d1bdf2e13c10",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "swfobject",
      "normalized_name": "swfobject",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "12318ff7dea0397b1fd79516",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0167557d46e2925b",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "my_dialog",
      "normalized_name": "my-dialog",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/old/dialog/assets/my_dialog.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "bc51eed24556b2ed3a6a8d68",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a1985520c037b40a",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "languages",
      "normalized_name": "languages",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/old/assets/uilanguages/languages.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a706315cf27735492c3d3219",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea216df7e403cd30",
      "framework": "css",
      "imports": "",
      "lines": 204,
      "logic_relevance": "none",
      "name": "outputxhtml",
      "normalized_name": "outputxhtml",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "890de6fb602768a19153ce0d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "26507438effd65a5",
      "framework": "css",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fontello",
      "normalized_name": "fontello",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/css/fontello.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "466626d7257b1be9f0f7a590",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "39f1fb3bc643f693",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "fulltoolbareditor",
      "normalized_name": "fulltoolbareditor",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "observability,security",
      "component_id": "f4964abf16d1f8c7e811deeb",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b7d84c9a34aaf7bf",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "abstracttoolbarmodifier",
      "normalized_name": "abstracttoolbarmodifier",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "9d29804f63853456a428a15f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ab7deab820642fe9",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "toolbartextmodifier",
      "normalized_name": "toolbartextmodifier",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "404711a7d10e591160fcb3c8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7abd0dab1954164f",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "toolbarmodifier",
      "normalized_name": "toolbarmodifier",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security,logic",
      "component_id": "0f87f370747f0a2a301349fe",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "46c414e54451a75d",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "secondary",
      "name": "neo",
      "normalized_name": "neo",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,logic",
      "component_id": "50b7792f06e060d85d99763f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6e2f632941466645",
      "framework": "css",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "show-hint",
      "normalized_name": "show-hint",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "logic,security,ai",
      "component_id": "f588faef996b5aecba0bd48f",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for editor; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, Aa, Ac, Ad, Af, Ba, Bb, Bc | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "A,Aa,Ac,Ad,Af,Ba,Bb,Bc,Bd,Be,Bf,Ca,Cb,Cc,Cd,Cf,D,Da,Dc,De,Eb,Ec,Ed,Ee,Ef,F,Fb,Fc,Fe,G,Ga,Gc,Gd,H,Hc,He,Hf,Ic,Id,Ie,If,Ja,Jc,Jd,Je,Jf,Kb,Kc,Kd,Ke,Kf,L,La,Lb,Lc,Ld,Le,M,Ma,Mb,Mc,Md,Me,Mf,N,Na,Nb,Nc,Nd,Ne,Nf,Oa,Ob,Oc,Od,Oe,Of,Pa,Pb,Pc,Pd,Pe,Q,Qb,Qc,Qd,Qe,Ra,Rb,Rc,Rd,Re,S,Sb,Sc,Sd,Se,Sf,T,Tb,Tc,Td,Te,Tf,U,Ua,Ub,Uc,Ud,Ue,Uf,V,Va,Vb,Vc,Vd,Ve,Vf,Wa,Wb,Wd,We,Wf,Xa,Xb,Xc,Xd,Xe,Xf,Y,Ya,Yb,Yc,Yd,Ye,Yf,Z,Zb,Zc,Zd,Ze,Zf",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ed6bcd976c405aac",
      "framework": "unknown",
      "imports": "",
      "lines": 288,
      "logic_relevance": "primary",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "style,observability,security,logic,automation,ai",
      "component_id": "e647401999001c3ef2825f88",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7704b22671b52fff",
      "framework": "css",
      "imports": "",
      "lines": 325,
      "logic_relevance": "secondary",
      "name": "codemirror",
      "normalized_name": "codemirror",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security,ai",
      "component_id": "6ddb49d67561ec8a61a2e0ca",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:../../lib/codemirror | logic-score:85 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "dbc535fd986942f6",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 16,
      "logic_relevance": "primary",
      "name": "show-hint",
      "normalized_name": "show-hint",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "ab6bc1b4ae2ec89f622485b7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:A, Aa, B, Ba, Ca, Da, Ea, F | imports:../../lib/codemirror | logic-score:60 | security-score:55",
      "exports": "A,Aa,B,Ba,Ca,Da,Ea,F,Fa,G,Ga,H,Ha,Ia,J,Ja,Ka,M,N,O,P,Q,S,T,U,V,W,X,Y,Z",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "153b47a7979dc77f",
      "framework": "unknown",
      "imports": "../../lib/codemirror",
      "lines": 25,
      "logic_relevance": "primary",
      "name": "javascript",
      "normalized_name": "javascript",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "7b650b81ba2ff011a6bf9685",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "31a9225240f7012c",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "30a50d17e346d1079c900f9c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:jquery | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ede1f5f414028f06",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 1576,
      "logic_relevance": "none",
      "name": "bootstrap-slider",
      "normalized_name": "bootstrap-slider",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/bootstrap-slider/bootstrap-slider.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "style,ui,automation",
      "component_id": "d951514f8d032a0048aacf34",
      "component_kind": "ui-primitive",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | automation-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "85c90e86214aeb40",
      "framework": "css",
      "imports": "",
      "lines": 282,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/bootstrap-slider/slider.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "9e757116a7a914dd79541b47",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e8b15d3af15394bc",
      "framework": "unknown",
      "imports": "",
      "lines": 345,
      "logic_relevance": "none",
      "name": "jquery.flot.canvas",
      "normalized_name": "jquery-flot-canvas",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.canvas.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "76d998c0e9a84742c5e83c21",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d2383a899b52cdb0",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.flot.pie.min",
      "normalized_name": "jquery-flot-pie-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.pie.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "1c0d1d51453c3feda8c78072",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "26f146ea139b5250",
      "framework": "unknown",
      "imports": "",
      "lines": 429,
      "logic_relevance": "none",
      "name": "jquery.flot.time",
      "normalized_name": "jquery-flot-time",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.time.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "security",
      "component_id": "dbd13dbe26466dd7d08bf4d1",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for design-system; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6ffa4fd5bf2ad2bf",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.flot.canvas.min",
      "normalized_name": "jquery-flot-canvas-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.canvas.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "98afbed0ae468b193eff94e3",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "054dbc79bbfc6491",
      "framework": "unknown",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "jquery.flot.fillbetween",
      "normalized_name": "jquery-flot-fillbetween",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.fillbetween.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0deb85e07a6b91e019144f26",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "794c6257a43ab1a8",
      "framework": "unknown",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "jquery.colorhelpers",
      "normalized_name": "jquery-colorhelpers",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.colorhelpers.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "30a6e94b53e86697a39c0818",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9fbf9d2a3411f50f",
      "framework": "unknown",
      "imports": "",
      "lines": 190,
      "logic_relevance": "none",
      "name": "jquery.flot.categories",
      "normalized_name": "jquery-flot-categories",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.categories.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "666b26efcc8690bac9648b1d",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e291f5a521d2754e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.flot.selection.min",
      "normalized_name": "jquery-flot-selection-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.selection.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "502f9440ac3bfb4b285c44e1",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Canvas, Plot | security-score:55 | automation-score:45",
      "exports": "Canvas,Plot",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6656ee53f2a94117",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "jquery.flot.min",
      "normalized_name": "jquery-flot-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "db25778be1bf4f12c143c336",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8d33250c497f1291",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.flot.stack.min",
      "normalized_name": "jquery-flot-stack-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.stack.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "18af2a30d3376d98f49a4b62",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e55ad5665b91c481",
      "framework": "unknown",
      "imports": "",
      "lines": 188,
      "logic_relevance": "none",
      "name": "jquery.flot.stack",
      "normalized_name": "jquery-flot-stack",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.stack.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "ab53f1dcd14f603b8481a8c7",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "760257b12c6ebac1",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "jquery.flot.resize",
      "normalized_name": "jquery-flot-resize",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.resize.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "1c6a171dd5430b6de485456e",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6f9aa084c0982174",
      "framework": "unknown",
      "imports": "",
      "lines": 353,
      "logic_relevance": "none",
      "name": "jquery.flot.errorbars",
      "normalized_name": "jquery-flot-errorbars",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.errorbars.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "85d1d156bc34de5cfd36cd5e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "370b1ad6b05ea334",
      "framework": "unknown",
      "imports": "",
      "lines": 360,
      "logic_relevance": "none",
      "name": "jquery.flot.selection",
      "normalized_name": "jquery-flot-selection",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.selection.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "a0c03a9016a04d66abd57073",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d90d87c28006cab5",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "jquery.flot.symbol",
      "normalized_name": "jquery-flot-symbol",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.symbol.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "25e162a73f0ac89154e912fa",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:B, D, E, F, G, I, J, K | observability-score:55",
      "exports": "B,D,E,F,G,I,J,K,M,O,P,Q,R,S,T,U,V,W,Y",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6201dbbd9beb94d8",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "excanvas.min",
      "normalized_name": "excanvas-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/excanvas.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0c79f886dbc1c8192d0f7005",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "581133eacbccd33b",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "jquery.flot.crosshair",
      "normalized_name": "jquery-flot-crosshair",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.crosshair.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "observability",
      "component_id": "593cf0e9c70a0b5247be0429",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for logic; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efbd90b9fe39bd72",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.flot.errorbars.min",
      "normalized_name": "jquery-flot-errorbars-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.errorbars.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "7e13c17db8c8b60611d91c66",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bfa411005bd6c25e",
      "framework": "unknown",
      "imports": "",
      "lines": 817,
      "logic_relevance": "none",
      "name": "jquery.flot.pie",
      "normalized_name": "jquery-flot-pie",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.pie.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0141c442a6cd045b4088423e",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Canvas, Plot | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Canvas,Plot",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db10af903394a23d",
      "framework": "unknown",
      "imports": "",
      "lines": 3137,
      "logic_relevance": "none",
      "name": "jquery.flot",
      "normalized_name": "jquery-flot",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "525cb417ea6ae6166e7960d3",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b781989122c5538",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.flot.time.min",
      "normalized_name": "jquery-flot-time-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/flot/jquery.flot.time.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "c04596bb4668e455c73a7be7",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Duration, Locale, Moment | security-score:55 | automation-score:45",
      "exports": "Duration,Locale,Moment",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c169710367e715c",
      "framework": "unknown",
      "imports": "",
      "lines": 3111,
      "logic_relevance": "none",
      "name": "moment",
      "normalized_name": "moment",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/daterangepicker/moment.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ff22f95b6417f3e61ae76138",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "jquery,moment",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:jquery, moment | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1abde59197210015",
      "framework": "unknown",
      "imports": "jquery,moment",
      "lines": 1542,
      "logic_relevance": "none",
      "name": "daterangepicker",
      "normalized_name": "daterangepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/daterangepicker/daterangepicker.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "bcda10991dc3db3900a0a48f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "208757f04cbfe160",
      "framework": "css",
      "imports": "",
      "lines": 232,
      "logic_relevance": "none",
      "name": "daterangepicker",
      "normalized_name": "daterangepicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/daterangepicker/daterangepicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9b2d54a4a79c386ced614d15",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:A, Aa, Ab, Ac, B, Ba, Bb, Bc | security-score:55",
      "exports": "A,Aa,Ab,Ac,B,Ba,Bb,Bc,C,Ca,Cb,Cc,D,Da,Db,E,Ea,Eb,F,Fa,Fb,G,Ga,Gb,H,Ha,Hb,I,Ia,Ib,J,Ja,Jb,K,Ka,Kb,L,La,Lb,M,Ma,Mb,N,Na,Nb,O,Oa,Ob,P,Pa,Pb,Q,Qa,Qb,R,Ra,Rb,S,Sa,Sb,T,Ta,Tb,U,Ua,Ub,V,Va,Vb,W,Wa,Wb,X,Xa,Xb,Y,Ya,Yb,Z,Za,Zb",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "62d68b60ce880b5e",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "moment.min",
      "normalized_name": "moment-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/daterangepicker/moment.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "131f5cf02950fbcafb95dd73",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "292fca03a97afd38",
      "framework": "css",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/all.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "70a3f9bb14d841f42bab8c59",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:D, F, L, M | security-score:55",
      "exports": "D,F,L,M",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6102d725c22f9bf2",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "icheck.min",
      "normalized_name": "icheck-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/icheck.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "f37d18457afa4605a592cc51",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "026a3d67ce8d9ee7",
      "framework": "unknown",
      "imports": "",
      "lines": 478,
      "logic_relevance": "none",
      "name": "icheck",
      "normalized_name": "icheck",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/icheck.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4c170a5d95061e55d217fb03",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "511652a979c584e3",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "yellow",
      "normalized_name": "yellow",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/yellow.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f75477827eefcd6604e2e33e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7788f3c656f33abd",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "pink",
      "normalized_name": "pink",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/pink.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "5b0fe13d050e49eda5c01ca7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c3eef5701de9d6ad",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "blue",
      "normalized_name": "blue",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/blue.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "cfcad0936df684a3961bcda7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b39672d66c788b59",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "flat",
      "normalized_name": "flat",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/flat.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4b815232ab91b3d7992360d8",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1bfa01f95dca10eb",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "aero",
      "normalized_name": "aero",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/aero.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "bc11dfb4ee3fe49d0b3889bf",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2fe8e687b7a16b5a",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "purple",
      "normalized_name": "purple",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/purple.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "b39f31b0fccecc62a105dd01",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "225b17aa157052b9",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "red",
      "normalized_name": "red",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/red.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "027a2871dc399ce0d0ec0640",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3d29e22cb85e50d7",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "orange",
      "normalized_name": "orange",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/orange.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "6a50102fa9177c0df219c3f1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "45dff3bdb72da877",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "green",
      "normalized_name": "green",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/green.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "1c1ee1553f38a8a78c61c890",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a19cee2821ca39a1",
      "framework": "css",
      "imports": "",
      "lines": 560,
      "logic_relevance": "none",
      "name": "_all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/_all.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "5f3e5907e7200694b2c4bf1a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7459fbc883c8ef9b",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "grey",
      "normalized_name": "grey",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/flat/grey.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "d7fe0f2b5b31fbe45c623b76",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "19689bcbe3320cba",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "yellow",
      "normalized_name": "yellow",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/yellow.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "142398c162d84937f8ab5eb1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "07eb24fae4bcb675",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "pink",
      "normalized_name": "pink",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/pink.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "41a427276cdb12cff93f6e40",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "467fefb5320f85af",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "blue",
      "normalized_name": "blue",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/blue.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "19b4b79828c5e95d5e330f6e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2801e672a0bb99a4",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "aero",
      "normalized_name": "aero",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/aero.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "11d062e8da47e300513c40c3",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3fa349766d6f6cd8",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "square",
      "normalized_name": "square",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/square.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ab62d9600a740a5fc0261384",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b6658788c23b6a4e",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "purple",
      "normalized_name": "purple",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/purple.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "5b7ed18f318f9ec3b0733379",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4a97545d9af91989",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "red",
      "normalized_name": "red",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/red.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ca7125fbdbf6dbdd67de8ed1",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "923002141405f6fa",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "orange",
      "normalized_name": "orange",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/orange.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "5c16d6441de080f0b87616cc",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a6a0b8829747c60",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "green",
      "normalized_name": "green",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/green.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e825b86d2d1fd87010f914c0",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b2273d192ca8456d",
      "framework": "css",
      "imports": "",
      "lines": 620,
      "logic_relevance": "none",
      "name": "_all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/_all.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "8f8939950f298484644cc9c2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0178992cc26443ee",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "grey",
      "normalized_name": "grey",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/square/grey.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "73bcc02021e468f1c95612ba",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ab1d91b678508f0c",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "yellow",
      "normalized_name": "yellow",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/yellow.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0263dfd782062b1179a59efc",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6cb10a4caf8bf500",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "pink",
      "normalized_name": "pink",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/pink.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "897318c35901a46134b42150",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "51ee426ea82e0ecb",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "blue",
      "normalized_name": "blue",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/blue.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "441ee01afb1d8b85737049a2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a9397bd44e6c1c3",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "aero",
      "normalized_name": "aero",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/aero.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2c53c6c0bf96c6734f24c0de",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "181dadcd632b0a9b",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "minimal",
      "normalized_name": "minimal",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/minimal.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2789b3e6924c0de576bbdc0b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9dae77c17da4ad36",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "purple",
      "normalized_name": "purple",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/purple.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "de45348ca13594c090b9287b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "993a5f6dfd114439",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "red",
      "normalized_name": "red",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/red.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f7645e30e255e8b83f36bf43",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b561edaeef88aa3b",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "orange",
      "normalized_name": "orange",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/orange.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "621566a226563dbb8b4e453d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "31f70922b221fa7a",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "green",
      "normalized_name": "green",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/green.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "c1e7b16aef5256626f4d0657",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4d58e2ca02c7e649",
      "framework": "css",
      "imports": "",
      "lines": 557,
      "logic_relevance": "none",
      "name": "_all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/_all.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ca03a0107e42928a8f7dde29",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2ae7c4c7f94119a4",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "grey",
      "normalized_name": "grey",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/minimal/grey.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "887255d4ccbd8907e884988f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "660a092c8a41877b",
      "framework": "css",
      "imports": "",
      "lines": 62,
      "logic_relevance": "none",
      "name": "polaris",
      "normalized_name": "polaris",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/polaris/polaris.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "525215bce9ceeab11e9d895c",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "da8e0c222240f04f",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "yellow",
      "normalized_name": "yellow",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/yellow.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "d5d26f1f840908fac237eed7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "afc2951cae7d5622",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "pink",
      "normalized_name": "pink",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/pink.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "b8a307bbd4ac7241313413af",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b7062fe393da25f3",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "blue",
      "normalized_name": "blue",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/blue.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "9dc5d838f9fce32f0d6c4365",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e4a380bb5be90d9a",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "aero",
      "normalized_name": "aero",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/aero.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2aed2212468c747d0a1dbcfa",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a4da8735b2cd1fa3",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "line",
      "normalized_name": "line",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/line.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "a1eba8c4aaaea53b4aa64f5b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4b5b0cec385fa6ca",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "purple",
      "normalized_name": "purple",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/purple.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "57fe6c50379ef23e72d31d6a",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "efa23b1ef3855d7f",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "red",
      "normalized_name": "red",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/red.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ba4ba82960e1570a191d2c68",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ee12df3270856981",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "orange",
      "normalized_name": "orange",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/orange.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "43c6cd2adcddd0d6e6855685",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "df11c009f8bc48be",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "green",
      "normalized_name": "green",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/green.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ef7f69eeba983375869a8f77",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a4a602b96cf7b92",
      "framework": "css",
      "imports": "",
      "lines": 740,
      "logic_relevance": "none",
      "name": "_all",
      "normalized_name": "all",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/_all.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "cc722dd8802e454ab15ac233",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4e03f3a9a2556bb0",
      "framework": "css",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "grey",
      "normalized_name": "grey",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/line/grey.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f3e31e2507927cf0ce45a619",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "39da4a95eacf6b9f",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "futurico",
      "normalized_name": "futurico",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/iCheck/futurico/futurico.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0e884e0745d0547f13668fc4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f2bcb0b842f3ed5",
      "framework": "unknown",
      "imports": "",
      "lines": 3054,
      "logic_relevance": "none",
      "name": "jquery.sparkline",
      "normalized_name": "jquery-sparkline",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/sparkline/jquery.sparkline.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "bccb0a4070579d92058f902f",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "06e0242da172ab85",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "jquery.sparkline.min",
      "normalized_name": "jquery-sparkline-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/sparkline/jquery.sparkline.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "db33259e6fb539c5ddeb3420",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "00d64efbcc66623d",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "bootstrap-colorpicker.min",
      "normalized_name": "bootstrap-colorpicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/colorpicker/bootstrap-colorpicker.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "cadae7e84799769a94623c5f",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "55721f3303d0e9d8",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "bootstrap-colorpicker.min",
      "normalized_name": "bootstrap-colorpicker-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/colorpicker/bootstrap-colorpicker.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ddc96603400e61f23ed4fbc2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "84e344a6e19731bf",
      "framework": "css",
      "imports": "",
      "lines": 251,
      "logic_relevance": "none",
      "name": "bootstrap-colorpicker",
      "normalized_name": "bootstrap-colorpicker",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/colorpicker/bootstrap-colorpicker.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "35b4a5516d0b451f5d8ea6ca",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DOMException, DomPosition, HTMLApplier, Merge, Module, NodeIterator, Range, RangeIterator | observability-score:55 | security-score:55",
      "exports": "DOMException,DomPosition,HTMLApplier,Merge,Module,NodeIterator,Range,RangeIterator,RangePrototype,SelectionPrototype,WrappedSelection",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c489ac4e8e90040b",
      "framework": "unknown",
      "imports": "",
      "lines": 14975,
      "logic_relevance": "none",
      "name": "bootstrap3-wysihtml5.all",
      "normalized_name": "bootstrap3-wysihtml5-all",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a111cbdb8604b1159986ba53",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1e406a136cde4dae",
      "framework": "css",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bootstrap3-wysihtml5.min",
      "normalized_name": "bootstrap3-wysihtml5-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "49b9bfffea18f485e3323476",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bd96b16c5abeede9",
      "framework": "css",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "bootstrap3-wysihtml5",
      "normalized_name": "bootstrap3-wysihtml5",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b79545ea0c3ca6f349f54d62",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, B, C, D, E, F, G, H | observability-score:55 | security-score:55",
      "exports": "A,B,C,D,E,F,G,H",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c5c36918849ce5f5",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "bootstrap3-wysihtml5.all.min",
      "normalized_name": "bootstrap3-wysihtml5-all-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "ea85bd2047ac3c1b5581c91b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "jquery",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:jquery | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb114916caacaeef",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 805,
      "logic_relevance": "none",
      "name": "jquery.knob",
      "normalized_name": "jquery-knob",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/knob/jquery.knob.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "observability,security,ai",
      "component_id": "af7d1b4978dadf91f77c001d",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "jquery,jquery.select2",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:D | imports:jquery, jquery.select2 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "D",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fa659dfc6ebd4b8a",
      "framework": "unknown",
      "imports": "jquery,jquery.select2",
      "lines": 3,
      "logic_relevance": "none",
      "name": "select2.min",
      "normalized_name": "select2-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/select2/select2.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "observability,security,ai",
      "component_id": "e051555c77232e0e4cd577f2",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "jquery,jquery.select2",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:D | imports:jquery, jquery.select2 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "D",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "149b8bc61889897f",
      "framework": "unknown",
      "imports": "jquery,jquery.select2",
      "lines": 3,
      "logic_relevance": "none",
      "name": "select2.full.min",
      "normalized_name": "select2-full-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/select2/select2.full.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "cc999faa7d54cf4588ceabcf",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c493991dfa712d1f",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "select2.min",
      "normalized_name": "select2-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/select2/select2.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security",
      "component_id": "63321c65204a8e59bae0e31a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "id,jquery,jquery.select2,string",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:AjaxAdapter, AllowClear, ArrayAdapter, AttachBody, BaseAdapter, BaseConstructor, BaseSelection, CloseOnSelect | imports:id, jquery, jquery.select2, string | security-score:55",
      "exports": "AjaxAdapter,AllowClear,ArrayAdapter,AttachBody,BaseAdapter,BaseConstructor,BaseSelection,CloseOnSelect,DecoratedClass,Defaults,Dropdown,EventRelay,HidePlaceholder,InfiniteScroll,MaximumInputLength,MaximumSelectionLength,MinimumInputLength,MinimumResultsForSearch,MultipleSelection,Options,Placeholder,Results,Search,SelectAdapter,SelectOnClose,SingleSelection,Tags,Tokenizer,Translation",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2fc8251373f3a923",
      "framework": "unknown",
      "imports": "id,jquery,jquery.select2,string",
      "lines": 5725,
      "logic_relevance": "none",
      "name": "select2",
      "normalized_name": "select2",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/select2/select2.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "da081e597d0c836d38ca47ce",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c6ac55e050e3e6db",
      "framework": "css",
      "imports": "",
      "lines": 484,
      "logic_relevance": "none",
      "name": "select2",
      "normalized_name": "select2",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/select2/select2.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security",
      "component_id": "9d3ab651ae384291cc6f9127",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "id,jquery,jquery.select2,string",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:AjaxAdapter, AllowClear, ArrayAdapter, AttachBody, AttachContainer, BaseAdapter, BaseConstructor, BaseSelection | imports:id, jquery, jquery.select2, string | security-score:55",
      "exports": "AjaxAdapter,AllowClear,ArrayAdapter,AttachBody,AttachContainer,BaseAdapter,BaseConstructor,BaseSelection,CloseOnSelect,ContainerCSS,DecoratedClass,Defaults,Dropdown,DropdownCSS,EventRelay,HidePlaceholder,InfiniteScroll,InitSelection,InputData,MaximumInputLength,MaximumSelectionLength,MinimumInputLength,MinimumResultsForSearch,MultipleSelection,Options,Placeholder,Query,Results,Search,SelectAdapter,SelectOnClose,SingleSelection,StopPropagation,Tags,Tokenizer,Translation",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f05aee38016eb8a",
      "framework": "unknown",
      "imports": "id,jquery,jquery.select2,string",
      "lines": 6436,
      "logic_relevance": "none",
      "name": "select2.full",
      "normalized_name": "select2-full",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/select2/select2.full.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "255171cdd91ad88d59f96786",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "489ddc6c91ad92d3",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "fb4fe246b432b767d0e63fed",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "be9ee696d1945020",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": ".bower",
      "normalized_name": "bower",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/.bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "a0ad72263bf54142d8a3c3c6",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3034ebb0f7c42896",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "HELP-US-OUT",
      "normalized_name": "help-us-out",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/HELP-US-OUT.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "a7afbd6d64354c926b793d95",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "36e0a7e08bee6577",
      "framework": "css",
      "imports": "",
      "lines": 2337,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/css/font-awesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "f2e4b59906fe1dc3db6bb68b",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "799aeb25cc0373fd",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "font-awesome.min",
      "normalized_name": "font-awesome-min",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/css/font-awesome.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "1b63ada872595e8505ee38f7",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "024abb930e6669f2",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/list.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "88f5310fd0962da432724e29",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3f9de6c3e0f1a2bc",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "stacked",
      "normalized_name": "stacked",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/stacked.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "d297cce4c2fcf94ec330dda0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a4a93d598134f656",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/core.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "2a7cad037053e3f62b822b7a",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ef853a3192742d2",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/fixed-width.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "bd96cc5c059175ace07e9202",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3717422976292d8",
      "framework": "css",
      "imports": "",
      "lines": 800,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ab6cf862b25c32fe84ed8aeb",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d67df95488eec84d",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/rotated-flipped.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "42127813d678864d16607751",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2df62305a8a14e09",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/font-awesome.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "caf97d9cb79b883ea427b27b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4d585eeee98f4826",
      "framework": "css",
      "imports": "",
      "lines": 789,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "dfb53804e907d179a105a65b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a0dcbbcd3976f591",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/path.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "fc3ee55b000d9a04aff9567a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c7035423d5a1e03d",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "animated",
      "normalized_name": "animated",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/animated.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "dfc5761033cd1f5c4bdb6c15",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3d168a292ba33d4",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/bordered-pulled.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "89d2ec6e259d23eaeeedb419",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dfc79d4325804e9a",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "larger",
      "normalized_name": "larger",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/larger.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "7fea2be58906e53a55be8fa5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "65c4bb7138772043",
      "framework": "css",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "0e26bc088096fa626b108b3d",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b32ff7821a7b0a64",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "screen-reader",
      "normalized_name": "screen-reader",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/less/screen-reader.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "3831f17c85fe87de04900698",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "70f33fd079ab7085",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_stacked",
      "normalized_name": "stacked",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_stacked.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "ec35d4aae94a11491e6df1ba",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f2d069a323633888",
      "framework": "css",
      "imports": "",
      "lines": 800,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "b3b2f3db2bbb7c2acb517924",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4cb4a00ca08b6e45",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/font-awesome.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "20e1d6baca0c5cbfc3074d14",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff0686d76acde358",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_rotated-flipped.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "bad44bcc52b24ea8275792c2",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0e035e21bbdf7f14",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "_path",
      "normalized_name": "path",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_path.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "0f69d5fa6e46e385e45f4cc5",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5430a6695febcd9",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "_list",
      "normalized_name": "list",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_list.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "cc43ab93b42f461255ca9a70",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1c964c84d5ec33fd",
      "framework": "css",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "_screen-reader",
      "normalized_name": "screen-reader",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_screen-reader.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "25911434f0f1fed4e43d22c6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fb4e8e7d5d03074d",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "_larger",
      "normalized_name": "larger",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_larger.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "4de25f40f8e238dbe8280f8c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e6e81949b0ac4668",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "secondary",
      "name": "_core",
      "normalized_name": "core",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_core.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f407daf461fea96fb4d9ef0c",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2efe3c665c5fecc6",
      "framework": "css",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "ca402100c844ace76eb6640a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "900e2531ca7544fa",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "_animated",
      "normalized_name": "animated",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_animated.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "09b97fa610eaa1861255bf17",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a8f1b5d6a1a19927",
      "framework": "css",
      "imports": "",
      "lines": 789,
      "logic_relevance": "none",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "848b8bc8f2169554d2a30a58",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b8b0b3478e04e868",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "_fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_fixed-width.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e4af7784e8b14f732bfe0311",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d1d28d405b932831",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "unknown",
      "path": "admin/public/assets/admin/plugins/font-awesome/scss/_bordered-pulled.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "observability,security,automation,ai",
      "component_id": "4d3cfffbe4c0f2cfd74b7071",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".ini",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f7b971b47291b90f",
      "framework": "unknown",
      "imports": "",
      "lines": 1136,
      "logic_relevance": "none",
      "name": "php",
      "normalized_name": "php",
      "package_manager": "unknown",
      "path": "admin/public/assets/uploads/php.ini",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "0666f55df923981c1c711aa1",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "810d15e0f7cbc67b",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "unknown",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "e98d83708e6b6493a4049291",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "45255b8aa7e34a48",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "unknown",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "f9ccdc6ea41b6c97eea751ae",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b5bc8bbc096832a8",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "unknown",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagain-site",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "410476e1ff1c9b3957fefc15",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2f3a666f940f1629",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "ae108acf5d6fb8543278fe4d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a7928b4159d77a66",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "e82994a3a399e092c37be618",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "a4ea9e40cb6c09b3",
      "framework": "next-react",
      "imports": "next",
      "lines": 15,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b0858236620890e30dc8293b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:alt, contentType, runtime, size | imports:next/og | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "alt,contentType,runtime,size",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2ec707bbc6eb9dc4",
      "framework": "next-react",
      "imports": "next/og",
      "lines": 99,
      "logic_relevance": "none",
      "name": "opengraph-image",
      "normalized_name": "opengraph-image",
      "package_manager": "unknown",
      "path": "app/opengraph-image.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "6c79a418b787f563ceea0313",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "30dfd20f86f92546",
      "framework": "next-react",
      "imports": "next",
      "lines": 35,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "unknown",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "4f7194484ae9a422e201dc3e",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a847230ab62f3e81",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google",
      "lines": 101,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "32ebca0798d19f2854258779",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/footer, @/components/header, @/components/sections/community, @/components/sections/features, @/components/sections/hero, @/components/sections/newsletter, @/components/sections/resources, @/components/sections/stats | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3201f0bca36e36df",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/sections/community,@/components/sections/features,@/components/sections/hero,@/components/sections/newsletter,@/components/sections/resources,@/components/sections/stats,@/components/sections/travel-stories",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4cf80fdf2fac1ed39549884e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "11d5e6f70ab62116",
      "framework": "next-react",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "a3a0af1b885519d9cb9331e2",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for ai; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "6b0389a080661f66",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 111,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "backend,frontend,discovery,automation",
      "component_id": "edeccbd688832a564c779d49",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | discovery-score:55 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "ec39e8f1c9cbe27a",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 59,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,observability,security",
      "component_id": "a3ed917cc30d761fd9881b11",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:ContactPage | imports:@/components/footer, @/components/header, @/components/ui/button, @/components/ui/field, @/components/ui/input, @/components/ui/label, @/components/ui/textarea, lucide-react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ContactPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "14373560ec042e32",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,@/components/ui/field,@/components/ui/input,@/components/ui/label,@/components/ui/textarea,lucide-react,react",
      "lines": 151,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/contact/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "d6fd6c805369e64969638a43",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AskPage, metadata | imports:@/components/footer, @/components/header, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "AskPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "45e0de8c71696475",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,lucide-react,next,next/link",
      "lines": 260,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/ask/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "f3a3a05b0e12a59179142384",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesPage, metadata | imports:@/components/footer, @/components/header, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ResourcesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b3f2c16ef1824e2b",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,lucide-react,next,next/link",
      "lines": 144,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/resources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "943426bd43626746f54ec26a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PartsPage, metadata | imports:@/components/footer, @/components/header, lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "PartsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a280bb0b77e3294",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,lucide-react,next,next/image,next/link",
      "lines": 294,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/resources/parts/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "1d091ffd4003381d7bab3ba6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MaintenancePage, metadata | imports:@/components/footer, @/components/header, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "MaintenancePage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f468961075c83641",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,lucide-react,next,next/link",
      "lines": 171,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/resources/maintenance/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "866151393244f868ece77469",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShopPage, metadata | imports:@/components/footer, @/components/header, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "ShopPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "586d91c91b8358d6",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,lucide-react,next,next/link",
      "lines": 268,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/shop/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "30a76e756f8e997122ccaaa8",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/button, lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9e9b174eb720c0e",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,lucide-react,next,next/image,next/link",
      "lines": 165,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,automation,ai",
      "component_id": "9c34e16e052c9cbbb2becb3a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "9cf5c218e746dced",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 313,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "8d90e03e02a730e020031482",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupportPage, metadata | imports:@/components/footer, @/components/header, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "SupportPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "282885cdd7c37756",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,lucide-react,next,next/link",
      "lines": 267,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/support/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "9bafde33ceec0f61676297a9",
      "component_kind": "api-route",
      "confidence": 95,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "31599f92a0d0cdee",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 10,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "f788add19a778677a6118377",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunityPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/button, lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "CommunityPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3439d8eab0a1fcb9",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,lucide-react,next,next/image,next/link",
      "lines": 214,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/community/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d833772d4da9bf2e5f318f77",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/button, lucide-react, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EventsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71bfecc3a198d166",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,lucide-react,next,next/link",
      "lines": 194,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/community/events/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "e1c5bde988f90aa0f7fff64e",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TravelPage, metadata | imports:@/components/footer, @/components/header, @/components/ui/button, lucide-react, next, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TravelPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0fde034c071e3da3",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/header,@/components/ui/button,lucide-react,next,next/image,next/link",
      "lines": 229,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/travel/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "011f4e96530516b1b870b4e6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "2e00a7b6a79fe6d22358e15c",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "unknown",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7d08e80a3b994e0088c7ad58",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3d9cafffbe9b2ecf",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 306,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "901519cdd832e6d40dce61fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/utils, lucide-react, next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2deab4bc6e798a03",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/utils,lucide-react,next/link,react",
      "lines": 283,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "unknown",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "0ce3497d6d0fc9fd34de5933",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "unknown",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fee93a5978c2af9c4bc62a17",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "unknown",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "43853a0428e0a7a05b76a95d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "unknown",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fc3d04882fe227c45f186fa3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "unknown",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "404a9ed793e059095bef467c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2224b0f809abbfb466531fcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "unknown",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7df69e181d2afa4b51908cfb",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "unknown",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "60ead3cfe902fb738bbafa88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f13f7b4eaad00ce",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "0639d00aa601831c0978f5ea",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "unknown",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "c94704d07a27afe06f8a035a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "unknown",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "ffccb69916b43c6a6d1128fe",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "unknown",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "87c6d2cdd8cbee2c2234a711",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "unknown",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "357cad05f0a5076d4f93c4f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "unknown",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "89dde718b7f67c195bfa7979",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "188d2cd291ae53d8",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 351,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "unknown",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e35f8252f6c1de0673db90c6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "unknown",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0fd5da37acace6ace9a534cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "unknown",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "b8705ee2df6dd82c59444c73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "unknown",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "778a43fc3daa8e0c4f5fa26a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "unknown",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7a28501c012bddc022cd809b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "unknown",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "4ea0d6cd4c809a555ddb28ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "unknown",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "afb5dec6a142c04db7a4090e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "unknown",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "972c52953e5a892202b69371",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "unknown",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b2279a9da951160d2c8df8c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "unknown",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "fb24a902c17016163f8c8917",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "unknown",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2931cec3faf17505738632f6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "unknown",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "5f98d55727861eff965d3267",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "bcad365bc830b3954c8c57b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "unknown",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "f380b7cef91919efab728013",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "unknown",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4f15d467f361f952bdfa70dc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "85baaea33c3eecfa",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "unknown",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "cc4b415d8c53793576897ab2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "unknown",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ea5e1e7541cdf93d68a3b661",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "unknown",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "745e890472dc7dadbd5964b7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "unknown",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "3e6d2841d1a637b7c9d68b05",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "unknown",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "c41bcf117fe75e73a31d0e77",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "unknown",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "59fe222405cf5b3f1d596b18",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "unknown",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "4ee9ae3e8eafffc1c1d374fd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "unknown",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "0c8ad23b4a40ccb2ee192dc6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "unknown",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "2b871d14e0f256dbc63468cf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "unknown",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "076dfff43390b4d37c67b054",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "unknown",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "8d21022eee7a366296842529",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "unknown",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "fdb77f5f5635903a6e04fd93",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "unknown",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "ce2009028b3c5d54b86e3929",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "c3e16431335c7f93c21be096",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "unknown",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b96529230c8b59b8f80a8cf1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "677f4e499b8264768e378c4f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "unknown",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "4ab7ab65ba7fc446e50c79df",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "unknown",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "23843ade5839ccb5de5ef1f2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "unknown",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "3b34c4307b074ab46e1fa422",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "unknown",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "bc29eb3f72be6bb25c7a03cd",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "unknown",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "fb85e2a90de4957b8bc366f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "unknown",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "2b49fb73b2cd5a453be04af3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "unknown",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "865a3903cc8abb8478386a21",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "unknown",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "7b8c7282111e543c6f841bb0",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "unknown",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e45549056e0bb01ab63cf115",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "unknown",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "34e835fd93945ef384c4ea13",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "unknown",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "0091a93701c9604ddc892ecc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "unknown",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ece55aaa0e6e6be6ca472f85",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "unknown",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "17fe2372e1e104396983c040",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterSection | imports:@/components/ui/button, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NewsletterSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3e6f9903e35a9fa2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,lucide-react,react",
      "lines": 78,
      "logic_relevance": "none",
      "name": "newsletter",
      "normalized_name": "newsletter",
      "package_manager": "unknown",
      "path": "components/sections/newsletter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "16a8592decd1691d59a3d245",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2a683ca51da81d5b",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 84,
      "logic_relevance": "none",
      "name": "hero",
      "normalized_name": "hero",
      "package_manager": "unknown",
      "path": "components/sections/hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "4fa59f3e5fa7a28acb9b9ca8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:FeaturesSection | imports:@/lib/utils, lucide-react, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "FeaturesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db2187f243e63e2e",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,next/link",
      "lines": 89,
      "logic_relevance": "none",
      "name": "features",
      "normalized_name": "features",
      "package_manager": "unknown",
      "path": "components/sections/features.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "606495ccec7fcc82ea3ff9fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunitySection | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "CommunitySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6a78e800d96e336d",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 107,
      "logic_relevance": "none",
      "name": "community",
      "normalized_name": "community",
      "package_manager": "unknown",
      "path": "components/sections/community.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "131d1810e6faafdcc84b24a6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesSection | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ResourcesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2094671c2d4b94d1",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 74,
      "logic_relevance": "none",
      "name": "resources",
      "normalized_name": "resources",
      "package_manager": "unknown",
      "path": "components/sections/resources.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "f2dd9e6194840c5c75f907ea",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:StatsSection | imports:lucide-react | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "StatsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4914da76f82e0a32",
      "framework": "next-react",
      "imports": "lucide-react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "stats",
      "normalized_name": "stats",
      "package_manager": "unknown",
      "path": "components/sections/stats.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "a89cde4ee090f0d6cbac32f9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TravelStoriesSection | imports:@/components/ui/button, lucide-react, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "TravelStoriesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "95e9b14ded15e2e7",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,next/image,next/link",
      "lines": 110,
      "logic_relevance": "none",
      "name": "travel-stories",
      "normalized_name": "travel-stories",
      "package_manager": "unknown",
      "path": "components/sections/travel-stories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "discovery",
      "component_id": "6d6633e4a09c31dd159b36c7",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for discovery; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "6fb2a376bdbfb9bb",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "unknown",
      "path": "public/manifest.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "a399e2765831accc3eb731d5",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanagon-website",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "b14802c75c23e19d28d994f3",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "34c96cffcf2cf2c4",
      "framework": "next-react",
      "imports": "",
      "lines": 6315,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "security,automation",
      "component_id": "18ed2cd8f76a535a450611eb",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0793f55a4d0b62bf",
      "framework": "next-react",
      "imports": "next",
      "lines": 75,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,automation",
      "component_id": "c7095be51effd439d6e76eca",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ba3c0ae7ea104a2a",
      "framework": "next-react",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "f5fdbb00e271514c6d651155",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2d0a9ae2c352cb9e",
      "framework": "next-react",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,discovery",
      "component_id": "466734f3da6c80ab25650d93",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | discovery-score:55 | model-provider",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8be437a438aff36e",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "36d5b674a1f20bef1329a448",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "33585d9216de956e",
      "framework": "next-react",
      "imports": "next",
      "lines": 75,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "4f297e012c0c3fa9f4e897f4",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata, viewport | imports:@/components/theme-provider, @vercel/analytics/next, next, next/font/google | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata,viewport",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3423eacd60582b78",
      "framework": "next-react",
      "imports": "@/components/theme-provider,@vercel/analytics/next,next,next/font/google",
      "lines": 144,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "97753c6a6f7e7c4f7b11b658",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:manifest | imports:next | frontend-score:55 | discovery-score:55",
      "exports": "manifest",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "f9438ee5c3051f2c",
      "framework": "next-react",
      "imports": "next",
      "lines": 34,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "app/manifest.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "59e51f9a8e471204ff3365a0",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:HomePage | imports:@/components/about-section, @/components/academy-section, @/components/ai-chat-section, @/components/back-to-top, @/components/bus-tracker, @/components/client-wrapper, @/components/events-section, @/components/footer | frontend-score:85 | ui-score:55",
      "exports": "HomePage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "381dd527dc6068d0",
      "framework": "next-react",
      "imports": "@/components/about-section,@/components/academy-section,@/components/ai-chat-section,@/components/back-to-top,@/components/bus-tracker,@/components/client-wrapper,@/components/events-section,@/components/footer,@/components/gallery-section,@/components/hero-section,@/components/json-ld,@/components/navigation,@/components/newsletter-section,@/components/quick-nav,@/components/resources-section,@/components/scroll-reveal,@/components/stories-section,@/components/support-section",
      "lines": 65,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "9f748d193725b9982040828c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "812ff1765f3c6279",
      "framework": "next-react",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,ai",
      "component_id": "96bfdc750a8d72842f882cb6",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c63854092170a1cb",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,discovery",
      "component_id": "dac3243236d050c9fd83a839",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | discovery-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "220c68f834b4eb8d",
      "framework": "next-react",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/rss.xml/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "f9db9559f0c98a313a36aa8b",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrivacyPage, metadata | imports:@/components/footer, @/components/navigation, @/components/ui/card, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45 | model-provider",
      "exports": "PrivacyPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6dfae33fcb216e10",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/card,next,next/link",
      "lines": 95,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/privacy/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "mcp",
      "categories": "backend,automation",
      "component_id": "bd57d061218d442f9d0e1226",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | automation-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "676ad859a31ce9fb",
      "framework": "next-react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/humans.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,ai",
      "component_id": "eb2cda40404a220b9b853907",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RoadmapPage, metadata | imports:@/components/client-wrapper, @/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, next | frontend-score:115 | process-score:80 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "RoadmapPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e080418bbc36532a",
      "framework": "next-react",
      "imports": "@/components/client-wrapper,@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,next,next/link",
      "lines": 208,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/roadmap/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "c350bfa69d09efc9c3bd7332",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesPage, metadata | imports:@/components/footer, @/components/navigation, @/components/resources-section, next | frontend-score:115 | ui-score:55",
      "exports": "ResourcesPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dabe4c1c4cf2ace5",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/resources-section,next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/resources/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,security,ai",
      "component_id": "36854b59bee465ac75845dc6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:TermsPage, metadata | imports:@/components/footer, @/components/navigation, @/components/ui/card, next, next/link | frontend-score:115 | ui-score:55 | security-score:55 | ai-score:45",
      "exports": "TermsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "521e8a47e1eba739",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/card,next,next/link",
      "lines": 102,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/terms/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "58b4ff88401c21f90260d480",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutPage, metadata | imports:@/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, next, next/link | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "AboutPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b77fa8da3c91041f",
      "framework": "next-react",
      "imports": "@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,next,next/link",
      "lines": 110,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/about/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,process,ai",
      "component_id": "9c6e4f1d1addc507af215d85",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DocsPage, metadata | imports:@/components/client-wrapper, @/components/footer, @/components/navigation, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/tabs, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | process-score:45 | ai-score:45",
      "exports": "DocsPage,metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d27ec86b63985ff7",
      "framework": "next-react",
      "imports": "@/components/client-wrapper,@/components/footer,@/components/navigation,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,lucide-react,next,next/link",
      "lines": 318,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/docs/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,discovery,automation,ai",
      "component_id": "31ee9a38d59e8b34d0615a77",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | backend-score:125 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "e0ac16a666891b3b",
      "framework": "next-react",
      "imports": "",
      "lines": 235,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-full.txt/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "1dc9360d16e1bb342c0a401e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "2efd9d239cf2ba1b",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 136,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/sensors/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security,automation",
      "component_id": "ac25576ab1fcd68fc835818e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "crypto,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:crypto, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "da61d0d165c997b8",
      "framework": "next-react",
      "imports": "crypto,next/server",
      "lines": 94,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/update/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,ai,observability,security",
      "component_id": "badd2d9fd9f6a6ba0c925704",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "ai",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:maxDuration | imports:ai | backend-score:125 | ai-score:120 | observability-score:55 | security-score:55 | next-route-handler | model-provider",
      "exports": "maxDuration",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b532bb637ebae95f",
      "framework": "next-react",
      "imports": "ai",
      "lines": 78,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/chat/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability",
      "component_id": "483f06999ebcb272c13f432a",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8a5bdc4a53407055",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 50,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/health/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,ai",
      "component_id": "55d16b5b97d43bf2a0d80b62",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, RESOURCES | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,RESOURCES",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0c3d4d6550d5b579",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 109,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/resources/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "0896dca3f0c7d58d71acee88",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, MCP_HUB, POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET,MCP_HUB,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "49df134029ff0666",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 140,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,process,ai",
      "component_id": "de418d0a04329953e33f4ece",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:API_DOCS, GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | process-score:45 | ai-score:45 | next-route-handler",
      "exports": "API_DOCS,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "d5c14c3f3385f74b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 376,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/docs/route.ts",
      "primary_category": "backend",
      "process_relevance": "secondary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,frontend",
      "component_id": "1de48e7f1538f58e536cc201",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FEATURED_EVENTS, GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "FEATURED_EVENTS,GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "7198d6becc972714",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 76,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "ad7bbe3b0a1ef587797b2783",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, INDEXNOW_KEY, POST, SITE_URL, URLS_TO_INDEX | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "GET,INDEXNOW_KEY,POST,SITE_URL,URLS_TO_INDEX",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "580ed49faeb81f1f",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 112,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/indexnow/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security,discovery,ai",
      "component_id": "d376b0c8b54b18adec6d4e3f",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "278505a127ffa60b",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 87,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/llms-index.json/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ea6ff61e6115fa771df2e027",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "f1730f036ff814484daeaf4e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BusTracker | imports:@/components/ui/badge, @/components/ui/card, lucide-react, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "BusTracker",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2abc212e5597cbe1",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,next/image,react",
      "lines": 168,
      "logic_relevance": "none",
      "name": "bus-tracker",
      "normalized_name": "bus-tracker",
      "package_manager": "pnpm",
      "path": "components/bus-tracker.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "36756800d421e3b7b30b85b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuickNav | imports:@/hooks/use-scroll-animation, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "QuickNav",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fc3d0f949df42a06",
      "framework": "next-react",
      "imports": "@/hooks/use-scroll-animation,lucide-react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "quick-nav",
      "normalized_name": "quick-nav",
      "package_manager": "pnpm",
      "path": "components/quick-nav.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "0ed209656a99d9c03ffa10cd",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:GallerySection | imports:@/components/icons, @/components/ui/button, @/components/ui/dialog, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "GallerySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c3693546e79ee389",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/button,@/components/ui/dialog,next/image,react",
      "lines": 210,
      "logic_relevance": "none",
      "name": "gallery-section",
      "normalized_name": "gallery-section",
      "package_manager": "pnpm",
      "path": "components/gallery-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "c25e8a80d423e6a1207a198b",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "823e17abae5c942a176362fa",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AcademySection | imports:@/components/share-button, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @/components/ui/progress, @/components/ui/tooltip, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AcademySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a416978fe3b66a99",
      "framework": "next-react",
      "imports": "@/components/share-button,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/progress,@/components/ui/tooltip,lucide-react,react",
      "lines": 267,
      "logic_relevance": "none",
      "name": "academy-section",
      "normalized_name": "academy-section",
      "package_manager": "pnpm",
      "path": "components/academy-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "b0de03a5749969123d417a79",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollProgress | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ScrollProgress",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "27fd53083052f495",
      "framework": "next-react",
      "imports": "react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "scroll-progress",
      "normalized_name": "scroll-progress",
      "package_manager": "pnpm",
      "path": "components/scroll-progress.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "b4bb310512fcd267e894cffe",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnimatedCounter | imports:@/hooks/use-scroll-animation, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AnimatedCounter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "97413a5077d41598",
      "framework": "next-react",
      "imports": "@/hooks/use-scroll-animation,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "animated-counter",
      "normalized_name": "animated-counter",
      "package_manager": "pnpm",
      "path": "components/animated-counter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "5c022bc3536e5c14c6502c55",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AboutSection | imports:@/components/icons, @/components/ui/card, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "AboutSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d90024db5c1c0cbb",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/card,next/image",
      "lines": 98,
      "logic_relevance": "none",
      "name": "about-section",
      "normalized_name": "about-section",
      "package_manager": "pnpm",
      "path": "components/about-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "8e47802458ed16d146682e4b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ShareButton | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/tooltip, @/hooks/use-share, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ShareButton",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cc556f33011c4fef",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/tooltip,@/hooks/use-share,lucide-react,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "share-button",
      "normalized_name": "share-button",
      "package_manager": "pnpm",
      "path": "components/share-button.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "62d7394bfb1aa09db4c4b92c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventsSection | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "EventsSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58570cd271b65941",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,lucide-react,react",
      "lines": 178,
      "logic_relevance": "none",
      "name": "events-section",
      "normalized_name": "events-section",
      "package_manager": "pnpm",
      "path": "components/events-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,frontend,ui,observability,security",
      "component_id": "439b8f74628ba8ee6e7d4bbf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@ai-sdk/react,ai,react",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:AIChatSection | imports:@/components/icons, @/components/ui/badge, @/components/ui/button, @/components/ui/card, @ai-sdk/react, ai, react | ai-score:120 | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | model-provider",
      "exports": "AIChatSection",
      "extension": ".tsx",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "0207de6d7cdee1d6",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@ai-sdk/react,ai,react",
      "lines": 192,
      "logic_relevance": "none",
      "name": "ai-chat-section",
      "normalized_name": "ai-chat-section",
      "package_manager": "pnpm",
      "path": "components/ai-chat-section.tsx",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,discovery,automation",
      "component_id": "f257565ca7c04d750df6f365",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FAQJsonLd, JsonLd, PersonJsonLd, WebsiteJsonLd | frontend-score:85 | ui-score:55 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "FAQJsonLd,JsonLd,PersonJsonLd,WebsiteJsonLd",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dd67c8c5f96c9f18",
      "framework": "next-react",
      "imports": "",
      "lines": 146,
      "logic_relevance": "none",
      "name": "json-ld",
      "normalized_name": "json-ld",
      "package_manager": "pnpm",
      "path": "components/json-ld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "9450b895f719fa6d33da1b82",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/hooks",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScrollReveal | imports:@/hooks/use-scroll-animation | frontend-score:85 | ui-score:55",
      "exports": "ScrollReveal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "005c75c2df6ac202",
      "framework": "next-react",
      "imports": "@/hooks/use-scroll-animation",
      "lines": 41,
      "logic_relevance": "none",
      "name": "scroll-reveal",
      "normalized_name": "scroll-reveal",
      "package_manager": "pnpm",
      "path": "components/scroll-reveal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5047a6feb937802ec534c6ab",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:@/components/icons, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d14a7ed809d05117",
      "framework": "next-react",
      "imports": "@/components/icons,next/link",
      "lines": 212,
      "logic_relevance": "none",
      "name": "footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "438a4ba43ef5870cd35266eb",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CommunitySection | imports:@/components/icons, @/components/ui/badge, @/components/ui/button, @/components/ui/card, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CommunitySection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b09deb074d96864",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/badge,@/components/ui/button,@/components/ui/card,next/image",
      "lines": 150,
      "logic_relevance": "none",
      "name": "community-section",
      "normalized_name": "community-section",
      "package_manager": "pnpm",
      "path": "components/community-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6cff53c6ff890113f2ed2ca7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ClientWrapper | imports:@/components/ph3ar-modal, @/components/ui/tooltip, @/hooks/use-easter-egg, next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ClientWrapper",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "458ac29ec4ba5670",
      "framework": "next-react",
      "imports": "@/components/ph3ar-modal,@/components/ui/tooltip,@/hooks/use-easter-egg,next-themes,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "client-wrapper",
      "normalized_name": "client-wrapper",
      "package_manager": "pnpm",
      "path": "components/client-wrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "4a2535883a8a2b372a4b85a1",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:HeroSection | imports:@/components/animated-counter, @/components/icons, @/components/ui/button, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "HeroSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d16e7755ab5bd413",
      "framework": "next-react",
      "imports": "@/components/animated-counter,@/components/icons,@/components/ui/button,next/image,react",
      "lines": 112,
      "logic_relevance": "none",
      "name": "hero-section",
      "normalized_name": "hero-section",
      "package_manager": "pnpm",
      "path": "components/hero-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "403d8473d6ffc1c3b1f0bdcf",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Ph3arModal | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/dialog, next/image, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Ph3arModal",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fd6f4953e7fcfafe",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/dialog,next/image,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "ph3ar-modal",
      "normalized_name": "ph3ar-modal",
      "package_manager": "pnpm",
      "path": "components/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "c07cc5aa3fd8dc5e0aa02855",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BookIcon, CameraIcon, ChatIcon, CommunityIcon, ExternalLinkIcon, HeartIcon, MapPinIcon, RoadIcon | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "BookIcon,CameraIcon,ChatIcon,CommunityIcon,ExternalLinkIcon,HeartIcon,MapPinIcon,RoadIcon,SendIcon,SparklesIcon,VWBusIcon,WrenchIcon",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "087e42e01704b857",
      "framework": "next-react",
      "imports": "",
      "lines": 133,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "components/icons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "c0509954733ddbc29dcf1e77",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:StoriesSection | imports:@/components/icons, @/components/ui/badge, @/components/ui/button, @/components/ui/card, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "StoriesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "12be5508e8178103",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/badge,@/components/ui/button,@/components/ui/card,next/image",
      "lines": 115,
      "logic_relevance": "none",
      "name": "stories-section",
      "normalized_name": "stories-section",
      "package_manager": "pnpm",
      "path": "components/stories-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "9ba101788437e52fb0d1acf5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SupportSection | imports:@/components/ui/button, @/components/ui/card, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SupportSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4bde1965829a9c60",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react,next/image",
      "lines": 144,
      "logic_relevance": "none",
      "name": "support-section",
      "normalized_name": "support-section",
      "package_manager": "pnpm",
      "path": "components/support-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "bd645f4f4e00779db7fd472f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:BackToTop | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70",
      "exports": "BackToTop",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f0b159623864353",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "back-to-top",
      "normalized_name": "back-to-top",
      "package_manager": "pnpm",
      "path": "components/back-to-top.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5bc483ab53d14285c0fd578c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ResourcesSection | imports:@/components/icons, @/components/ui/badge, @/components/ui/button, @/components/ui/card, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ResourcesSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b572d1294ccf4121",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/badge,@/components/ui/button,@/components/ui/card,next/image",
      "lines": 210,
      "logic_relevance": "none",
      "name": "resources-section",
      "normalized_name": "resources-section",
      "package_manager": "pnpm",
      "path": "components/resources-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "71389c97862c2be3d2d2d301",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Navigation | imports:@/components/icons, @/components/scroll-progress, @/components/share-button, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/sheet, @/components/ui/tooltip, next-themes | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Navigation",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c92f781345f348c1",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/scroll-progress,@/components/share-button,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/sheet,@/components/ui/tooltip,next-themes,next/link,react",
      "lines": 137,
      "logic_relevance": "none",
      "name": "navigation",
      "normalized_name": "navigation",
      "package_manager": "pnpm",
      "path": "components/navigation.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d0f73185ec9852f71e6fe52d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NewsletterSection | imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "NewsletterSection",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b63388db447c7004",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "newsletter-section",
      "normalized_name": "newsletter-section",
      "package_manager": "pnpm",
      "path": "components/newsletter-section.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "d6f2aa9198ee0dc8fc1545f5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-aspect-ratio",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AspectRatio | imports:@radix-ui/react-aspect-ratio | ui-score:125 | frontend-score:85",
      "exports": "AspectRatio",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "09035a9c5b8211ff",
      "framework": "next-react",
      "imports": "@radix-ui/react-aspect-ratio",
      "lines": 11,
      "logic_relevance": "none",
      "name": "aspect-ratio",
      "normalized_name": "aspect-ratio",
      "package_manager": "pnpm",
      "path": "components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "31b4d723bf702cb0bd712f80",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8181c7be76533bb5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 157,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "pnpm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "a6a4ec2615d33784f17b302d",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:useIsMobile | imports:react | ui-score:140 | frontend-score:115",
      "exports": "useIsMobile",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b43441b273aa21c",
      "framework": "next-react",
      "imports": "react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "use-mobile",
      "normalized_name": "use-mobile",
      "package_manager": "pnpm",
      "path": "components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f72acbe45eca712d21438486",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious | imports:@/components/ui/button, @/lib/utils, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0306e3325a10c73",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "pnpm",
      "path": "components/ui/pagination.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "6603b167c78e9d76c93f77a2",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "2dce49d2f00c878608afb854",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "ButtonGroup,ButtonGroupSeparator,ButtonGroupText,buttonGroupVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "07203100cedafa78",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority",
      "lines": 83,
      "logic_relevance": "none",
      "name": "button-group",
      "normalized_name": "button-group",
      "package_manager": "pnpm",
      "path": "components/ui/button-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "cb93fd3b16b48b1d1c0c84bf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "3dee4c42663468253c6cc950",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "ca228068456ab29412055d9a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, @/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | observability-score:55 | security-score:55",
      "exports": "InputGroup,InputGroupAddon,InputGroupButton,InputGroupInput,InputGroupText,InputGroupTextarea",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9214c077d8d25333",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,@/lib/utils,class-variance-authority",
      "lines": 169,
      "logic_relevance": "none",
      "name": "input-group",
      "normalized_name": "input-group",
      "package_manager": "pnpm",
      "path": "components/ui/input-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "0a888782049d34985b3c4b73",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:@/lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50b93b8af040517d",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "pnpm",
      "path": "components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "8ed63c84d88d9b0227f3a454",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-progress,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Progress | imports:@/lib/utils, @radix-ui/react-progress, react | ui-score:140 | frontend-score:115",
      "exports": "Progress",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d48446fe6380e0fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-progress,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "progress",
      "normalized_name": "progress",
      "package_manager": "pnpm",
      "path": "components/ui/progress.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend,security",
      "component_id": "20047491f5c0ec89546f926f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/toast, @/hooks/use-toast | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "2dfd19d81413d2ed",
      "framework": "next-react",
      "imports": "@/components/ui/toast,@/hooks/use-toast",
      "lines": 35,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cc19b76df07c87f2ffcfe682",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,input-otp,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot | imports:@/lib/utils, input-otp, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "InputOTP,InputOTPGroup,InputOTPSeparator,InputOTPSlot",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6a046b50c82c5546",
      "framework": "next-react",
      "imports": "@/lib/utils,input-otp,lucide-react,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "input-otp",
      "normalized_name": "input-otp",
      "package_manager": "pnpm",
      "path": "components/ui/input-otp.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4f2da9de2e4b27aaee0db832",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,recharts",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent | imports:@/lib/utils, react, recharts | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "ChartConfig,ChartContainer,ChartLegend,ChartLegendContent,ChartStyle,ChartTooltip,ChartTooltipContent",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0d1015da32cad5bc",
      "framework": "next-react",
      "imports": "@/lib/utils,react,recharts",
      "lines": 353,
      "logic_relevance": "none",
      "name": "chart",
      "normalized_name": "chart",
      "package_manager": "pnpm",
      "path": "components/ui/chart.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bf73889e0e5e4ce3fc864f70",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-hover-card,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:HoverCard, HoverCardContent, HoverCardTrigger | imports:@/lib/utils, @radix-ui/react-hover-card, react | ui-score:140 | frontend-score:115",
      "exports": "HoverCard,HoverCardContent,HoverCardTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3a05918eaf743659",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-hover-card,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "hover-card",
      "normalized_name": "hover-card",
      "package_manager": "pnpm",
      "path": "components/ui/hover-card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f06fda18809ca5b7e20dc09e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "647b61de5cb1f53e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "pnpm",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "20d53672f4898eeb1b5e512f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator | imports:@/components/ui/label, @/components/ui/separator, @/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c80fb0dc554855fd",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/components/ui/separator,@/lib/utils,class-variance-authority,react",
      "lines": 244,
      "logic_relevance": "none",
      "name": "field",
      "normalized_name": "field",
      "package_manager": "pnpm",
      "path": "components/ui/field.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "eb0246c1e80b548288296d50",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-scroll-area,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ScrollArea, ScrollBar | imports:@/lib/utils, @radix-ui/react-scroll-area, react | ui-score:140 | frontend-score:115",
      "exports": "ScrollArea,ScrollBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4d19b093a1663568",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-scroll-area,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "scroll-area",
      "normalized_name": "scroll-area",
      "package_manager": "pnpm",
      "path": "components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "400509c43c552c116c119cac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react,react,react-resizable-panels",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ResizableHandle, ResizablePanel, ResizablePanelGroup | imports:@/lib/utils, lucide-react, react, react-resizable-panels | ui-score:140 | frontend-score:115",
      "exports": "ResizableHandle,ResizablePanel,ResizablePanelGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8f96f309d60fb87c",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react,react,react-resizable-panels",
      "lines": 56,
      "logic_relevance": "none",
      "name": "resizable",
      "normalized_name": "resizable",
      "package_manager": "pnpm",
      "path": "components/ui/resizable.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "ce1d97f9ad708868b8957328",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, react | ui-score:140 | frontend-score:115",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dfd466a53a86f0bd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "pnpm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "bc419e4e9770a0038c7f5268",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "next-themes,sonner",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:next-themes, sonner | ui-score:125 | frontend-score:85",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5f2418e3437ab5fc",
      "framework": "next-react",
      "imports": "next-themes,sonner",
      "lines": 25,
      "logic_relevance": "none",
      "name": "sonner",
      "normalized_name": "sonner",
      "package_manager": "pnpm",
      "path": "components/ui/sonner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "83a26d37162cbea17b96526c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport | imports:@/lib/utils, @radix-ui/react-navigation-menu, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,navigationMenuTriggerStyle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c0f759689e24aaa3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-navigation-menu,class-variance-authority,lucide-react,react",
      "lines": 166,
      "logic_relevance": "none",
      "name": "navigation-menu",
      "normalized_name": "navigation-menu",
      "package_manager": "pnpm",
      "path": "components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "bfbc685aa62b0010ee82fd1e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-accordion,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Accordion, AccordionContent, AccordionItem, AccordionTrigger | imports:@/lib/utils, @radix-ui/react-accordion, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Accordion,AccordionContent,AccordionItem,AccordionTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "789b258bfc80b22f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-accordion,lucide-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "accordion",
      "normalized_name": "accordion",
      "package_manager": "pnpm",
      "path": "components/ui/accordion.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "d1bd967793944f9623825de7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react,vaul",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal | imports:@/lib/utils, react, vaul | ui-score:140 | frontend-score:115",
      "exports": "Drawer,DrawerClose,DrawerContent,DrawerDescription,DrawerFooter,DrawerHeader,DrawerOverlay,DrawerPortal,DrawerTitle,DrawerTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e62592bd1cea50ad",
      "framework": "next-react",
      "imports": "@/lib/utils,react,vaul",
      "lines": 135,
      "logic_relevance": "none",
      "name": "drawer",
      "normalized_name": "drawer",
      "package_manager": "pnpm",
      "path": "components/ui/drawer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d8feced96cf593e11b12226c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle | imports:@/lib/utils, class-variance-authority | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c9828acce9044690",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority",
      "lines": 104,
      "logic_relevance": "none",
      "name": "empty",
      "normalized_name": "empty",
      "package_manager": "pnpm",
      "path": "components/ui/empty.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "ui,frontend",
      "component_id": "a6e62e8bec265b8da8733931",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for logic; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b620f27ccc82ec77",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "pnpm",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "677378d3d383883a7dac4a98",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dce4f80f612a7938",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "pnpm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "689917b68a8a5723ff6bb21b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3b5f8c9c5257f1cf",
      "framework": "next-react",
      "imports": "@/components/ui/toast,react",
      "lines": 191,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "70206e75e5e5f3e08479228f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability",
      "component_id": "af42a0a5caf06c765fd7ee88",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,react-day-picker",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Calendar, CalendarDayButton | imports:@/components/ui/button, @/lib/utils, lucide-react, react, react-day-picker | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55",
      "exports": "Calendar,CalendarDayButton",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "11b817aaa791d8eb",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,lucide-react,react,react-day-picker",
      "lines": 213,
      "logic_relevance": "none",
      "name": "calendar",
      "normalized_name": "calendar",
      "package_manager": "pnpm",
      "path": "components/ui/calendar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ee353bf185b9c00cccd88cdc",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "801c5fac01248e8e",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 109,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "pnpm",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "e4fe207bca7251ad0faac340",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-radio-group,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:RadioGroup, RadioGroupItem | imports:@/lib/utils, @radix-ui/react-radio-group, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "RadioGroup,RadioGroupItem",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9a91313aaed0e835",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-radio-group,lucide-react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "radio-group",
      "normalized_name": "radio-group",
      "package_manager": "pnpm",
      "path": "components/ui/radio-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "7b7143cee8a8cb06119fb5c1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,cmdk,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator | imports:@/components/ui/dialog, @/lib/utils, cmdk, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Command,CommandDialog,CommandEmpty,CommandGroup,CommandInput,CommandItem,CommandList,CommandSeparator,CommandShortcut",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "803aa420db417023",
      "framework": "next-react",
      "imports": "@/components/ui/dialog,@/lib/utils,cmdk,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "command",
      "normalized_name": "command",
      "package_manager": "pnpm",
      "path": "components/ui/command.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "1dc12512f811b50d4856efe5",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia | imports:@/components/ui/separator, @/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Item,ItemActions,ItemContent,ItemDescription,ItemFooter,ItemGroup,ItemHeader,ItemMedia,ItemSeparator,ItemTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c4f50ecab61ee022",
      "framework": "next-react",
      "imports": "@/components/ui/separator,@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 193,
      "logic_relevance": "none",
      "name": "item",
      "normalized_name": "item",
      "package_manager": "pnpm",
      "path": "components/ui/item.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "99363d592ef21a23235d6443",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-toggle-group,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ToggleGroup, ToggleGroupItem | imports:@/components/ui/toggle, @/lib/utils, @radix-ui/react-toggle-group, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ToggleGroup,ToggleGroupItem",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4e725b44cc99b172",
      "framework": "next-react",
      "imports": "@/components/ui/toggle,@/lib/utils,@radix-ui/react-toggle-group,class-variance-authority,react",
      "lines": 73,
      "logic_relevance": "none",
      "name": "toggle-group",
      "normalized_name": "toggle-group",
      "package_manager": "pnpm",
      "path": "components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "ui,frontend",
      "component_id": "a1edcffaf8f7f811af9c5fce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-avatar,react",
      "description": "UI component for testing; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Avatar, AvatarFallback, AvatarImage | imports:@/lib/utils, @radix-ui/react-avatar, react | ui-score:140 | frontend-score:115",
      "exports": "Avatar,AvatarFallback,AvatarImage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9effa6f9decfeb62",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-avatar,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "avatar",
      "normalized_name": "avatar",
      "package_manager": "pnpm",
      "path": "components/ui/avatar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "ab1b28277ecc23f8d4f3b407",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-menubar,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal | imports:@/lib/utils, @radix-ui/react-menubar, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Menubar,MenubarCheckboxItem,MenubarContent,MenubarGroup,MenubarItem,MenubarLabel,MenubarMenu,MenubarPortal,MenubarRadioGroup,MenubarRadioItem,MenubarSeparator,MenubarShortcut,MenubarSub,MenubarSubContent,MenubarSubTrigger,MenubarTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "da0313c01c8aedd7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-menubar,lucide-react,react",
      "lines": 276,
      "logic_relevance": "none",
      "name": "menubar",
      "normalized_name": "menubar",
      "package_manager": "pnpm",
      "path": "components/ui/menubar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "467a5d4e04c0b281fe74b7be",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Kbd, KbdGroup | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Kbd,KbdGroup",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e346d9b84a0e2cb",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 28,
      "logic_relevance": "none",
      "name": "kbd",
      "normalized_name": "kbd",
      "package_manager": "pnpm",
      "path": "components/ui/kbd.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "d3c69fa799538f7c1839841f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "e6ffea84084bba4797d66170",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "c24f3dbcc16727faeb1d9414",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/hooks,@/lib,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader | imports:@/components/ui/button, @/components/ui/input, @/components/ui/separator, @/components/ui/sheet, @/components/ui/skeleton, @/components/ui/tooltip, @/hooks/use-mobile, @/lib/utils | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1bdf187549f043a8",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/separator,@/components/ui/sheet,@/components/ui/skeleton,@/components/ui/tooltip,@/hooks/use-mobile,@/lib/utils,@radix-ui/react-slot,class-variance-authority,lucide-react,react",
      "lines": 726,
      "logic_relevance": "none",
      "name": "sidebar",
      "normalized_name": "sidebar",
      "package_manager": "pnpm",
      "path": "components/ui/sidebar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8e13da4d58d2dfdb7ac1711b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7e4ec95a993de8b2",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "pnpm",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "9dadadc797726a291f73e98e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "96ef29b5aa9a169f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "64d0561eabd0d9f978e5d2ca",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dbc5510d23cb76d830f4dae4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toggle,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toggle, toggleVariants | imports:@/lib/utils, @radix-ui/react-toggle, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toggle,toggleVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "80a93a384850d9fd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toggle,class-variance-authority,react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "toggle",
      "normalized_name": "toggle",
      "package_manager": "pnpm",
      "path": "components/ui/toggle.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "db0ed38b39b398ba2702c0ce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/lib/utils, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "37ee2f94a1c5df7a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 129,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "31f39bb0da8da675b6038297",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-checkbox,lucide-react,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Checkbox | imports:@/lib/utils, @radix-ui/react-checkbox, lucide-react, react | ui-score:140 | frontend-score:115",
      "exports": "Checkbox",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f4629326151cdb4f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-checkbox,lucide-react,react",
      "lines": 32,
      "logic_relevance": "none",
      "name": "checkbox",
      "normalized_name": "checkbox",
      "package_manager": "pnpm",
      "path": "components/ui/checkbox.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend,observability",
      "component_id": "4a765125c8e855010c02a07c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Spinner | imports:@/lib/utils, lucide-react | ui-score:125 | frontend-score:115 | observability-score:55",
      "exports": "Spinner",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "006b673fb9c6922a",
      "framework": "next-react",
      "imports": "@/lib/utils,lucide-react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "spinner",
      "normalized_name": "spinner",
      "package_manager": "pnpm",
      "path": "components/ui/spinner.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "179ab589c0b90444e08c1b81",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-collapsible",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Collapsible, CollapsibleContent, CollapsibleTrigger | imports:@radix-ui/react-collapsible | ui-score:125 | frontend-score:85",
      "exports": "Collapsible,CollapsibleContent,CollapsibleTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "89d052508dd671fd",
      "framework": "next-react",
      "imports": "@radix-ui/react-collapsible",
      "lines": 33,
      "logic_relevance": "none",
      "name": "collapsible",
      "normalized_name": "collapsible",
      "package_manager": "pnpm",
      "path": "components/ui/collapsible.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "f6066a17e67fadb0405b3334",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3124a8b0edfe9040",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "pnpm",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "bf6bad489fd5a6131f4aa2e4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-select,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator | imports:@/lib/utils, @radix-ui/react-select, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e2b4198bbf3968ea",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-select,lucide-react,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "pnpm",
      "path": "components/ui/select.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "2bbbc80b982c088376f1017f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Textarea | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Textarea",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cf31ce99f03ac69f",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "textarea",
      "normalized_name": "textarea",
      "package_manager": "pnpm",
      "path": "components/ui/textarea.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "a566e9032574458760989968",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b67dea8a8d35c004",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "1c01cb3ac7ba98054f2bfdb8",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Skeleton | imports:@/lib/utils | ui-score:125 | frontend-score:85",
      "exports": "Skeleton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c3005a6a39bd1aae",
      "framework": "next-react",
      "imports": "@/lib/utils",
      "lines": 13,
      "logic_relevance": "none",
      "name": "skeleton",
      "normalized_name": "skeleton",
      "package_manager": "pnpm",
      "path": "components/ui/skeleton.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "320e7a3348e7710d4133164f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-context-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-context-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "ef3f8b668e7abee8",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-context-menu,lucide-react,react",
      "lines": 252,
      "logic_relevance": "none",
      "name": "context-menu",
      "normalized_name": "context-menu",
      "package_manager": "pnpm",
      "path": "components/ui/context-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ui,frontend",
      "component_id": "610a0a47df4648e0af99d408",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "description": "UI component for shipping; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField | imports:@/components/ui/label, @/lib/utils, @radix-ui/react-label, @radix-ui/react-slot, react, react-hook-form | ui-score:140 | frontend-score:115",
      "exports": "Form,FormControl,FormDescription,FormField,FormItem,FormLabel,FormMessage,useFormField",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e308b9b592b4c898",
      "framework": "next-react",
      "imports": "@/components/ui/label,@/lib/utils,@radix-ui/react-label,@radix-ui/react-slot,react,react-hook-form",
      "lines": 167,
      "logic_relevance": "none",
      "name": "form",
      "normalized_name": "form",
      "package_manager": "pnpm",
      "path": "components/ui/form.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "20233bdc2516be52c02eaa4c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,embla-carousel-react,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi | imports:@/components/ui/button, @/lib/utils, embla-carousel-react, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Carousel,CarouselContent,CarouselItem,CarouselNext,CarouselPrevious,type CarouselApi",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "67237a35be1473c2",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,embla-carousel-react,lucide-react,react",
      "lines": 241,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "components/ui/carousel.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,security",
      "component_id": "8edfc9704f15d98754f1c388",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "fcc1787502ec9191",
      "framework": "next-react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "vanlife-platphormnews-indexnow-key",
      "normalized_name": "vanlife-platphormnews-indexnow-key",
      "package_manager": "pnpm",
      "path": "public/vanlife-platphormnews-indexnow-key.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation,ai",
      "component_id": "f04e9a3f6c4c52c42ddfe22c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0c5982b5d55712e4",
      "framework": "next-react",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "7ff64817ad3402c673a09f77",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e7828744e2d0b394",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a88312bf96d4166fa8677c33",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:useEasterEgg | imports:react | security-score:55",
      "exports": "useEasterEgg",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "72a396ec0ff148c9",
      "framework": "next-react",
      "imports": "react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "use-easter-egg",
      "normalized_name": "use-easter-egg",
      "package_manager": "pnpm",
      "path": "hooks/use-easter-egg.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "e3bf05e0759596111d68b380",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:BASE_URL | backend-score:55 | observability-score:55 | automation-score:50 | uses-env",
      "exports": "BASE_URL",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cae66bbc3528e4f3",
      "framework": "next-react",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "test-api",
      "normalized_name": "test-api",
      "package_manager": "pnpm",
      "path": "scripts/test-api.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "32b608cc8d53f85403d7dfbb",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Locale, defaultLocale, localeNames, locales, t, translations | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "Locale,defaultLocale,localeNames,locales,t,translations",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "77cea0567742a385",
      "framework": "next-react",
      "imports": "",
      "lines": 119,
      "logic_relevance": "primary",
      "name": "i18n",
      "normalized_name": "i18n",
      "package_manager": "pnpm",
      "path": "lib/i18n.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "46de00be74d085365bb21e45",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__vanlife-website",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "c3fa4bb119711814b1456fd6",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "example.com,request",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "imports:example.com, request | automation-score:125 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8148ade5e3df9737",
      "framework": "unknown",
      "imports": "example.com,request",
      "lines": 460,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "bfc65144f9817dc08feaac55",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "75893c2a3477b3d5",
      "framework": "unknown",
      "imports": "",
      "lines": 118,
      "logic_relevance": "none",
      "name": "troubleshoot",
      "normalized_name": "troubleshoot",
      "package_manager": "unknown",
      "path": "troubleshoot.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ccc393a17efe260acb71bb1c",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f3a061c526716fe",
      "framework": "unknown",
      "imports": "",
      "lines": 249,
      "logic_relevance": "none",
      "name": "docker-compose-no-ssl",
      "normalized_name": "docker-compose-no-ssl",
      "package_manager": "unknown",
      "path": "docker-compose-no-ssl.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "7320b98ca84c3ba8f8cdeb50",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f6d55962450d1f7",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "docker-compose.override",
      "normalized_name": "docker-compose-override",
      "package_manager": "unknown",
      "path": "docker-compose.override.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "50965e175b7ffe1f443d877d",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fd59648e79ca2814",
      "framework": "unknown",
      "imports": "",
      "lines": 1916,
      "logic_relevance": "none",
      "name": "manage",
      "normalized_name": "manage",
      "package_manager": "unknown",
      "path": "manage.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9a77aecb41380cf448bddb87",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "875745b2d5f7e9b8",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "run-mount-analysis",
      "normalized_name": "run-mount-analysis",
      "package_manager": "unknown",
      "path": "run-mount-analysis.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "ffd684efaeeb9f40a61a2c5f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "40e5fbb5e19701e0",
      "framework": "unknown",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "test-services-quick",
      "normalized_name": "test-services-quick",
      "package_manager": "unknown",
      "path": "test-services-quick.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "40f25883df70d9416bceb44d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "38f1ac1ce440a345",
      "framework": "unknown",
      "imports": "",
      "lines": 422,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "2bbdcc87fc1cc4e6bc0ae755",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f5b816ead7b6cad7",
      "framework": "unknown",
      "imports": "",
      "lines": 198,
      "logic_relevance": "none",
      "name": "manage-users",
      "normalized_name": "manage-users",
      "package_manager": "unknown",
      "path": "manage-users.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "1a2ef4fffc41a0c4c920fe4f",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8d6ccc3a7360cd9a",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "docker-compose-clean",
      "normalized_name": "docker-compose-clean",
      "package_manager": "unknown",
      "path": "docker-compose-clean.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "167486215c662e4de59fc0bb",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e747563c280c1cb",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "start-wildduck",
      "normalized_name": "start-wildduck",
      "package_manager": "unknown",
      "path": "start-wildduck.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation",
      "component_id": "896fb7af3fc296fbee3df503",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9cf32d785b7022f5",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "docker-compose-simple",
      "normalized_name": "docker-compose-simple",
      "package_manager": "unknown",
      "path": "docker-compose-simple.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "e5957a3d98f605030e6cb2a0",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "257df96a0504808b",
      "framework": "unknown",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c2f453d3f37178aebd314ad0",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ccecff690c96b2a1",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "config-summary",
      "normalized_name": "config-summary",
      "package_manager": "unknown",
      "path": "config-summary.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "5dd7adf8a54eac5bf444ff80",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c315a570e962e4d7",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "zone-mta-build/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "cb3cedfcd84f3609fdb6ae19",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "2c674d5e624b8624",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "wildduck",
      "normalized_name": "wildduck",
      "package_manager": "unknown",
      "path": "archive/duplicate-configs/haraka/config/wildduck.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e5feb9ae68455bd40305dcff",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "ef119c52573cbfda",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "archive/duplicate-configs/zone-mta/config/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "1d87d745102c74260d897199",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "0fe0faa367ef9c42",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "archive/duplicate-configs/webmail/config/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fa9ee286f59e2598361e444b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "63dec5875dc11dff",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "archive/duplicate-configs/wildduck/config/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7fbaba4ad3d6570319be2b23",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "d41ea95075892fd8",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "traefik-fixed",
      "normalized_name": "traefik-fixed",
      "package_manager": "unknown",
      "path": "archive/traefik-configs/traefik-fixed.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "21bfd95bdbec85b7332b31c0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "84452b5b8203f3ea",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "traefik",
      "normalized_name": "traefik",
      "package_manager": "unknown",
      "path": "archive/traefik-configs/traefik.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "6ae22722a4529b8cd291ad28",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "84452b5b8203f3ea",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "traefik-minimal",
      "normalized_name": "traefik-minimal",
      "package_manager": "unknown",
      "path": "archive/traefik-configs/traefik-minimal.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b79b2c4cd0074d09f5d2380f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "4b2e347a69e7c8ac",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "ja4-config",
      "normalized_name": "ja4-config",
      "package_manager": "unknown",
      "path": "archive/traefik-configs/ja4-config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "d48d04ecbcff13018690db8a",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb07e78ac192d346",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "dynamic-config",
      "normalized_name": "dynamic-config",
      "package_manager": "unknown",
      "path": "archive/traefik-configs/dynamic-config.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "5be66d1db3867c7ab83889b2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "987e04b4ff7f3333",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "no-ssl",
      "normalized_name": "no-ssl",
      "package_manager": "unknown",
      "path": "archive/webmail-configs/no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7d7ec7cb00ca97c352dc9f70",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "070906d327d80f63",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "archive/webmail-configs/config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a97bf7aaceb4729b57bd3d7a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "f3e4e44b77dc3de2",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "email2letter-config",
      "normalized_name": "email2letter-config",
      "package_manager": "unknown",
      "path": "archive/webmail-configs/email2letter-config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "17aa9438941081a64f6b9e84",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "37f257c3f91db385",
      "framework": "unknown",
      "imports": "",
      "lines": 78,
      "logic_relevance": "none",
      "name": "zonemta",
      "normalized_name": "zonemta",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/zonemta.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ai",
      "component_id": "2b730aa11d18c797dd54faef",
      "component_kind": "ai-integration",
      "confidence": 55,
      "dependency_roots": "",
      "description": "AI component for general; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "66bd753c0fb70e42",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "basic-roles",
      "normalized_name": "basic-roles",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/basic-roles.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "4d5ccf16c9c42d8930bd36ec",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "6964ce6043e2fe39",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "wildduck",
      "normalized_name": "wildduck",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/wildduck.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,ai",
      "component_id": "558ab4422fbcb94821fc1abb",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "accesscontrol",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ANY_ALL, AccessControl, OWN_ALL, VALID_ACTIONS, VALID_POSSESSIONS | imports:accesscontrol | observability-score:55 | ai-score:45",
      "exports": "ANY_ALL,AccessControl,OWN_ALL,VALID_ACTIONS,VALID_POSSESSIONS",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0301318207363d05",
      "framework": "unknown",
      "imports": "accesscontrol",
      "lines": 452,
      "logic_relevance": "none",
      "name": "replacement-roles",
      "normalized_name": "replacement-roles",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/replacement-roles.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "39c35b5384a53016207c6186",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "b4e072797954af49",
      "framework": "unknown",
      "imports": "",
      "lines": 115,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "4f323b4f1581dfec4ee070e6",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2286c43ec3de1df6",
      "framework": "unknown",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "roles",
      "normalized_name": "roles",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/roles.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3676cd715e7c95f396e0526f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "d60ab8c5d0b7e369",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "minimal",
      "normalized_name": "minimal",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/minimal.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "7b8063a7acdbaf1ef81a2fc7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "9b0f893cf00466bb",
      "framework": "unknown",
      "imports": "",
      "lines": 247,
      "logic_relevance": "none",
      "name": "roles",
      "normalized_name": "roles",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/roles.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "c190a80732711c10ff5802ef",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "9469031a619f80db",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/api.toml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3c04e4041643376f4b316ba5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "77dff778d0637465",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "no-ssl",
      "normalized_name": "no-ssl",
      "package_manager": "unknown",
      "path": "archive/wildduck-configs/no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "ffff4182c5a8f660bf914157",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "catalog-only",
      "file_hash": "34d5bd8d74f3eff0",
      "framework": "unknown",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "wildduck",
      "normalized_name": "wildduck",
      "package_manager": "unknown",
      "path": "config/haraka/wildduck.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,ai",
      "component_id": "ef14a175c9737c154c203561",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "c7a85205ff3f8774",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "pools",
      "normalized_name": "pools",
      "package_manager": "unknown",
      "path": "config/zone-mta/pools.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "16a3104883278d740e7986ca",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "request",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:request | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e18e4093b195ecfe",
      "framework": "unknown",
      "imports": "request",
      "lines": 18,
      "logic_relevance": "none",
      "name": "wildduck-plugin",
      "normalized_name": "wildduck-plugin",
      "package_manager": "unknown",
      "path": "config/zone-mta/wildduck-plugin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "84386531b4d9b703b64df4cf",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "75588e5f40ee89fa",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "zone-mta",
      "normalized_name": "zone-mta",
      "package_manager": "unknown",
      "path": "config/zone-mta/zone-mta.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "76dcd6c12ed1f6c35b61435f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e8705a0687c9da58",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "ja4-config",
      "normalized_name": "ja4-config",
      "package_manager": "unknown",
      "path": "config/ja4-plus/ja4-config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "8294f28ec5023ba994617744",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "89e33e4e32c8c021",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "ja4-service",
      "normalized_name": "ja4-service",
      "package_manager": "unknown",
      "path": "config/ja4-plus/ja4-service.yml",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "b2828c5ce8e85e2feae4498e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b4af03a0dc9e47a7",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "init-mongo",
      "normalized_name": "init-mongo",
      "package_manager": "unknown",
      "path": "config/mongo-init/init-mongo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "0d62568715458ae2ab167ef2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e9314d23a6afe9e8",
      "framework": "unknown",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "setup-admin",
      "normalized_name": "setup-admin",
      "package_manager": "unknown",
      "path": "config/mongodb/setup-admin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "e5a83741161098f219f2e7d1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "aa9e323b0b14a01d",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "init-mongo",
      "normalized_name": "init-mongo",
      "package_manager": "unknown",
      "path": "config/mongodb/init-mongo.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "4090cb284a84fe138da72f2f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cfd4e2808ad076a0",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "traefik",
      "normalized_name": "traefik",
      "package_manager": "unknown",
      "path": "config/certs/traefik.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8622cd8e17ac85e321c95bc8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "61cb8aeb5e26bb55",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "no-ssl-fixed",
      "normalized_name": "no-ssl-fixed",
      "package_manager": "unknown",
      "path": "config/webmail/no-ssl-fixed.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "d4bcf6322222b33428cb76ed",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "61cb8aeb5e26bb55",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "config/webmail/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security,ai",
      "component_id": "83ec52d22b2b63dfed448c8d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "38b7c80401ead023",
      "framework": "css",
      "imports": "",
      "lines": 402,
      "logic_relevance": "none",
      "name": "retro-modern",
      "normalized_name": "retro-modern",
      "package_manager": "unknown",
      "path": "config/webmail/retro-modern.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "c75db45272d42d974ffa7835",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b6b3d91940137526",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "startup-with-proxy",
      "normalized_name": "startup-with-proxy",
      "package_manager": "unknown",
      "path": "config/webmail/startup-with-proxy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8651506942a161a52afb154d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "61cb8aeb5e26bb55",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "config/webmail/config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation,ai",
      "component_id": "64a47a7f3099715493f61884",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d3e8b019b100b7b6",
      "framework": "unknown",
      "imports": "",
      "lines": 426,
      "logic_relevance": "none",
      "name": "roles",
      "normalized_name": "roles",
      "package_manager": "unknown",
      "path": "config/wildduck/roles.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "7f76c347d317604f93e2c8f9",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "be2ba1c321ff1113",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dbs",
      "normalized_name": "dbs",
      "package_manager": "unknown",
      "path": "config/wildduck/dbs.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "f200cfd21fc2f056cd0f4130",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce4f3cecf68489dc",
      "framework": "unknown",
      "imports": "",
      "lines": 503,
      "logic_relevance": "none",
      "name": "no-ssl-fixed",
      "normalized_name": "no-ssl-fixed",
      "package_manager": "unknown",
      "path": "config/wildduck/no-ssl-fixed.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "887da34ef4daa83adbf51453",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "97b3871574ebb846",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "unknown",
      "path": "config/wildduck/redis.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "2cc002b7d42f24521a05e78e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ce4f3cecf68489dc",
      "framework": "unknown",
      "imports": "",
      "lines": 503,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "config/wildduck/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5ae75feb585476868c5b235c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "be2ba1c321ff1113",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dbs-no-ssl",
      "normalized_name": "dbs-no-ssl",
      "package_manager": "unknown",
      "path": "config/wildduck/dbs-no-ssl.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "fb51af9161b61696599de798",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2176003d5c17750f",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "localhost-proxy-entrypoint",
      "normalized_name": "localhost-proxy-entrypoint",
      "package_manager": "unknown",
      "path": "config/wildduck/localhost-proxy-entrypoint.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "066a076f15525a7fa856cd5c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "965dd51a63fdfb3d",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "startup-with-proxy",
      "normalized_name": "startup-with-proxy",
      "package_manager": "unknown",
      "path": "config/wildduck/startup-with-proxy.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "753456cd220b61258474a40e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "e9b9b3cff877fdce",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "default",
      "normalized_name": "default",
      "package_manager": "unknown",
      "path": "config/traefik/default.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "11d0d145c7521e085d5a93c0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "e693c04ba84d1dba",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "ja4-plugin",
      "normalized_name": "ja4-plugin",
      "package_manager": "unknown",
      "path": "config/traefik/ja4-plugin.yml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "85530ae24d5b02afbefd4a85",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "e9b9b3cff877fdce",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "no-ssl",
      "normalized_name": "no-ssl",
      "package_manager": "unknown",
      "path": "config/traefik/no-ssl.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "52658cb42fb211d9495a3417",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0e92b48367fbc769",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "custom-dictionary-workspace",
      "normalized_name": "custom-dictionary-workspace",
      "package_manager": "unknown",
      "path": ".cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,security,automation",
      "component_id": "e9a8a27a1cdf70766275b4de",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2e0bb956eaaba67c",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "CLEANUP_ANALYSIS",
      "normalized_name": "cleanup-analysis",
      "package_manager": "unknown",
      "path": "docs/CLEANUP_ANALYSIS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "989c65b8cfb905d1e39f5e3a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fd6f8284ad60fe9f",
      "framework": "unknown",
      "imports": "",
      "lines": 430,
      "logic_relevance": "none",
      "name": "management",
      "normalized_name": "management",
      "package_manager": "unknown",
      "path": "docs/management.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bda90f598a4e3c147249dce7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "5f41a4105081a714",
      "framework": "unknown",
      "imports": "",
      "lines": 613,
      "logic_relevance": "none",
      "name": "networking",
      "normalized_name": "networking",
      "package_manager": "unknown",
      "path": "docs/networking.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9cd17558e46aeeead7b10067",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:JA4Integration | imports:./scripts/ja4-plus/integrate-wildduck.js | process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "JA4Integration",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8d283f677b47ba76",
      "framework": "unknown",
      "imports": "./scripts/ja4-plus/integrate-wildduck.js",
      "lines": 538,
      "logic_relevance": "none",
      "name": "ja4-plus",
      "normalized_name": "ja4-plus",
      "package_manager": "unknown",
      "path": "docs/ja4-plus.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "601fa4ad393e88f2fec2db67",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "12ecb4646132d36f",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "ZONE_MTA_SETUP",
      "normalized_name": "zone-mta-setup",
      "package_manager": "unknown",
      "path": "docs/ZONE_MTA_SETUP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "3a93b175cc6c6d40247a8289",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "72f35ca3f51eff4c",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "quick-start",
      "normalized_name": "quick-start",
      "package_manager": "unknown",
      "path": "docs/quick-start.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "151d9f936e9b50af1c16bda4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "79a719c4d9e086eb",
      "framework": "unknown",
      "imports": "",
      "lines": 289,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "process,automation",
      "component_id": "9bdd06c62dbf8bc413afc76e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e782a20feecbaad8",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "RETRO_MODERN_INSTALL",
      "normalized_name": "retro-modern-install",
      "package_manager": "unknown",
      "path": "docs/RETRO_MODERN_INSTALL.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "process,automation",
      "component_id": "833d236fb596b2006d681931",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for design-system; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "329726e147c727a8",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "RETRO_MODERN_THEME",
      "normalized_name": "retro-modern-theme",
      "package_manager": "unknown",
      "path": "docs/RETRO_MODERN_THEME.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "9f5791106e3d5704ee917ef2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:/wildduck/config/default.toml | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "f29bcebf0daf129e",
      "framework": "unknown",
      "imports": "/wildduck/config/default.toml",
      "lines": 530,
      "logic_relevance": "none",
      "name": "configuration",
      "normalized_name": "configuration",
      "package_manager": "unknown",
      "path": "docs/configuration.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f52411ec5474b21f26bf565d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "53b9f6b321005d8a",
      "framework": "unknown",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "SETUP_STATUS",
      "normalized_name": "setup-status",
      "package_manager": "unknown",
      "path": "docs/SETUP_STATUS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "08abc127a5ff61329f91745a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d2a38a94e0b8f324",
      "framework": "unknown",
      "imports": "",
      "lines": 499,
      "logic_relevance": "none",
      "name": "haraka",
      "normalized_name": "haraka",
      "package_manager": "unknown",
      "path": "docs/services/haraka.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "57d92b637636c270a1a092fa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6e2e46ee5493264a",
      "framework": "unknown",
      "imports": "",
      "lines": 492,
      "logic_relevance": "none",
      "name": "redis",
      "normalized_name": "redis",
      "package_manager": "unknown",
      "path": "docs/services/redis.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "6bce505f60404fbacf3d017f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "01260ff48e219bf9",
      "framework": "unknown",
      "imports": "",
      "lines": 417,
      "logic_relevance": "none",
      "name": "zone-mta",
      "normalized_name": "zone-mta",
      "package_manager": "unknown",
      "path": "docs/services/zone-mta.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,automation",
      "component_id": "3eef9a3e594aa545d30a901d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7cefe161974817ba",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "docs/services/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "fa9bed84575f002cd4d798b7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "fd5197e7fef84a50",
      "framework": "unknown",
      "imports": "",
      "lines": 525,
      "logic_relevance": "none",
      "name": "traefik",
      "normalized_name": "traefik",
      "package_manager": "unknown",
      "path": "docs/services/traefik.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "04c8c31ab7a994f7f1fc0981",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "606ed93d10b15065",
      "framework": "unknown",
      "imports": "",
      "lines": 311,
      "logic_relevance": "none",
      "name": "wildduck-server",
      "normalized_name": "wildduck-server",
      "package_manager": "unknown",
      "path": "docs/services/wildduck-server.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "7644bf58e6c7effe8d49fa5f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "54634c172fdab592",
      "framework": "unknown",
      "imports": "",
      "lines": 500,
      "logic_relevance": "none",
      "name": "webmail",
      "normalized_name": "webmail",
      "package_manager": "unknown",
      "path": "docs/services/webmail.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation,ai",
      "component_id": "c29b1f7cfdc1744cc3491aa0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "29fa5f17fa6584a1",
      "framework": "unknown",
      "imports": "",
      "lines": 382,
      "logic_relevance": "none",
      "name": "mongodb",
      "normalized_name": "mongodb",
      "package_manager": "unknown",
      "path": "docs/services/mongodb.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__wildduck",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,logic",
      "component_id": "960e76e9f09a5e6f347ea19d",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "272a8166fa7786f5",
      "framework": "unknown",
      "imports": "",
      "lines": 221,
      "logic_relevance": "secondary",
      "name": "pre-start-validation",
      "normalized_name": "pre-start-validation",
      "package_manager": "unknown",
      "path": "scripts/pre-start-validation.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "1644da4e166ed82d4e2e16d5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe316a8843238946",
      "framework": "unknown",
      "imports": "",
      "lines": 765,
      "logic_relevance": "none",
      "name": "setup",
      "normalized_name": "setup",
      "package_manager": "unknown",
      "path": "scripts/setup.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "de953ba8065dd170709dd32c",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a427a594987a7751",
      "framework": "unknown",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "generate-certs",
      "normalized_name": "generate-certs",
      "package_manager": "unknown",
      "path": "scripts/generate-certs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "96dcfbe0e87e8a369aba214f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e389b3ce692582bb",
      "framework": "unknown",
      "imports": "",
      "lines": 274,
      "logic_relevance": "none",
      "name": "ja4-plus-manager",
      "normalized_name": "ja4-plus-manager",
      "package_manager": "unknown",
      "path": "scripts/ja4-plus-manager.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "1163f39a0b2298e78a59dde9",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "227cfed95632f857",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "start",
      "normalized_name": "start",
      "package_manager": "unknown",
      "path": "scripts/start.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "fed9e1c392ebb245be8ff910",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "74fcd9d54386532b",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "setup-wildduck-complete",
      "normalized_name": "setup-wildduck-complete",
      "package_manager": "unknown",
      "path": "scripts/setup-wildduck-complete.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "83cc0847cdac4aa87d7b14f7",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23204958c2cb64ec",
      "framework": "unknown",
      "imports": "",
      "lines": 209,
      "logic_relevance": "none",
      "name": "validate-no-ssl",
      "normalized_name": "validate-no-ssl",
      "package_manager": "unknown",
      "path": "scripts/validate-no-ssl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "6b1e3d13ce758dd7ea486f58",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "148f33ecd35c9596",
      "framework": "unknown",
      "imports": "",
      "lines": 501,
      "logic_relevance": "none",
      "name": "test-manage-script",
      "normalized_name": "test-manage-script",
      "package_manager": "unknown",
      "path": "scripts/test-manage-script.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "047ff03fe6b5abf33e682bc9",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5b62612bac65e24b",
      "framework": "unknown",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "test-redis-network",
      "normalized_name": "test-redis-network",
      "package_manager": "unknown",
      "path": "scripts/test-redis-network.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "dfe0766bc1724339a14153dd",
      "component_kind": "script",
      "confidence": 100,
      "dependency_roots": "mongodb,redis",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JA4PlusIntegration, Redis | imports:mongodb, redis | automation-score:175 | observability-score:55 | security-score:55",
      "exports": "JA4PlusIntegration,Redis",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c2a1377ed5b5c1e4",
      "framework": "unknown",
      "imports": "mongodb,redis",
      "lines": 524,
      "logic_relevance": "none",
      "name": "install-ja4-plus",
      "normalized_name": "install-ja4-plus",
      "package_manager": "unknown",
      "path": "scripts/install-ja4-plus.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "0933bad6443051796694969f",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "198f9ec7f1bf7834",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "validate-setup",
      "normalized_name": "validate-setup",
      "package_manager": "unknown",
      "path": "scripts/validate-setup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "02220b0019261d62474599a4",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bf64d80b4ecba5a1",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "generate-secrets",
      "normalized_name": "generate-secrets",
      "package_manager": "unknown",
      "path": "scripts/generate-secrets.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "fa5bb2b3b7cb5d85a6e1447c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a017cf583fa521c3",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "setup-admin-user",
      "normalized_name": "setup-admin-user",
      "package_manager": "unknown",
      "path": "scripts/setup-admin-user.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "badff9c915f71ddd36e64763",
      "component_kind": "automation-config",
      "confidence": 100,
      "dependency_roots": "mongodb,redis",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:JA4PlusIntegration, Redis | imports:mongodb, redis | automation-score:95 | observability-score:55 | security-score:55",
      "exports": "JA4PlusIntegration,Redis",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a95205ea36698252",
      "framework": "unknown",
      "imports": "mongodb,redis",
      "lines": 129,
      "logic_relevance": "none",
      "name": "integrate-wildduck",
      "normalized_name": "integrate-wildduck",
      "package_manager": "unknown",
      "path": "scripts/ja4-plus/integrate-wildduck.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "920bc3b576286b8e7af48b21",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:175 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2cc8b9540a7c9afe",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "monitor-ja4",
      "normalized_name": "monitor-ja4",
      "package_manager": "unknown",
      "path": "scripts/ja4-plus/monitor-ja4.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "security,automation",
      "component_id": "2436ff2f64259d66796d0f21",
      "component_kind": "fingerprinting",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2e3f0d6ffb88dad4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "scripts/ja4-plus/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "eb3ab486a7feddcb87cb8eb7",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4f9495713daf0be1",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "ja4-build/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "008b718671506cae4c41e989",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "d74b5c28d6bb914d",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": ".vscode/settings.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__wildduck",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7b7d484f6affee1549b37c89",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16fd34b19b42ae20",
      "framework": "next-react",
      "imports": "",
      "lines": 7553,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "ca93fe00f03f3ac33022b4af",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "370908ac8ca64abc",
      "framework": "next-react",
      "imports": "next",
      "lines": 47,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "pnpm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "8199b207866eaca5d6993428",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb4b962791bf905d",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "jest.config",
      "normalized_name": "jest-config",
      "package_manager": "pnpm",
      "path": "jest.config.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "a4d297fb19c0a239a31893e8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f51b9d123c3e77c5",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "de1cef2435c1f3fa0cc30d6b",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ResizeObserver | automation-score:45",
      "exports": "ResizeObserver",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f03399496f38bbc",
      "framework": "next-react",
      "imports": "",
      "lines": 95,
      "logic_relevance": "none",
      "name": "jest.setup",
      "normalized_name": "jest-setup",
      "package_manager": "pnpm",
      "path": "jest.setup.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "7c1c9e274464db21559c69d8",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf15ef6a3c6aee02",
      "framework": "next-react",
      "imports": "",
      "lines": 9510,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "pnpm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "8a7196541cb42f51b322d7c0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "9067cb3ee295f177",
      "framework": "next-react",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "41762659f2d62fb30d66d7bd",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/next, next, next/font/google, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "856af29efb291b27",
      "framework": "next-react",
      "imports": "@vercel/analytics/next,next,next/font/google,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2b96d68714cb0362c7b969b6",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:BiofeedbackApp | imports:@/components/advanced-signals-panel, @/components/anomaly-feed, @/components/canine-monitor, @/components/header, @/components/mental-state-monitor, @/components/metrics-card, @/components/mission-readiness-panel, @/components/real-time-chart | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "BiofeedbackApp",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9be3f91149765dd8",
      "framework": "next-react",
      "imports": "@/components/advanced-signals-panel,@/components/anomaly-feed,@/components/canine-monitor,@/components/header,@/components/mental-state-monitor,@/components/metrics-card,@/components/mission-readiness-panel,@/components/real-time-chart,@/components/roi-selector,@/components/system-architecture,@/components/team-sync-panel,@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/components/ui/tabs,@/components/use-case-panel,@/lib/biofeedback-engine,@/lib/face-detector,@/lib/session-storage,@/lib/types,lucide-react,react",
      "lines": 774,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "75567b0b3324e362e760c151",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b02c522f57478ce5",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a19bf0333eb8046bb3288568",
      "component_kind": "page",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../page, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bbafcf6a6d067bec",
      "framework": "next-react",
      "imports": "../page,@testing-library/react,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "page.test",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/__tests__/page.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,automation",
      "component_id": "8fdbc1d8d4bc5a18eb7fd096",
      "component_kind": "layout",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../layout, @testing-library/react, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cd5da9acb44a19ab",
      "framework": "next-react",
      "imports": "../layout,@testing-library/react,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "layout.test",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/__tests__/layout.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "f754f28a48be8fbe845743f6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "374e77c57e5f83c3e4f66b48",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "8646312ae6d01760f2174f5d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SystemArchitecture | imports:@/components/ui/badge, @/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "SystemArchitecture",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "72f453967fa9d013",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react,react",
      "lines": 356,
      "logic_relevance": "none",
      "name": "system-architecture",
      "normalized_name": "system-architecture",
      "package_manager": "pnpm",
      "path": "components/system-architecture.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,logic,ui,observability,security",
      "component_id": "87eb03d7ba974003773207d6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ValidationPanel | imports:@/components/ui/badge, @/components/ui/card, @/lib/test-utils, lucide-react | frontend-score:115 | logic-score:70 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ValidationPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9f0d6c707fd08b4c",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/test-utils,lucide-react",
      "lines": 57,
      "logic_relevance": "secondary",
      "name": "validation-panel",
      "normalized_name": "validation-panel",
      "package_manager": "pnpm",
      "path": "components/validation-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a523d066083328cd1570e906",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventTimeline | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "EventTimeline",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6712be71c782a09b",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "event-timeline",
      "normalized_name": "event-timeline",
      "package_manager": "pnpm",
      "path": "components/event-timeline.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery",
      "component_id": "8c3ca6d8bfcb4867fe9ee030",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AnomalyFeed | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "AnomalyFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c0e8280fc00f0dc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 144,
      "logic_relevance": "none",
      "name": "anomaly-feed",
      "normalized_name": "anomaly-feed",
      "package_manager": "pnpm",
      "path": "components/anomaly-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "d02fbbba0e0b4768589f5674",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TeamSyncPanel | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TeamSyncPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8774d0dcd269fc6",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 176,
      "logic_relevance": "none",
      "name": "team-sync-panel",
      "normalized_name": "team-sync-panel",
      "package_manager": "pnpm",
      "path": "components/team-sync-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "d3edb219eb9dea10e88ea46b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CanineMonitor | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "CanineMonitor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2d0a946c97bbeae2",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 184,
      "logic_relevance": "none",
      "name": "canine-monitor",
      "normalized_name": "canine-monitor",
      "package_manager": "pnpm",
      "path": "components/canine-monitor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "15b005df6cd798f3ed4ce54d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RealTimeChart | imports:@/components/ui/card, react, recharts | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RealTimeChart",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ca995d3e93efd5a9",
      "framework": "next-react",
      "imports": "@/components/ui/card,react,recharts",
      "lines": 56,
      "logic_relevance": "none",
      "name": "real-time-chart",
      "normalized_name": "real-time-chart",
      "package_manager": "pnpm",
      "path": "components/real-time-chart.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,observability",
      "component_id": "fc9380783ba4dc6b663d04e8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:ROISelector | imports:@/components/ui/button, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ROISelector",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "959f22b11c8d107d",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 576,
      "logic_relevance": "none",
      "name": "roi-selector",
      "normalized_name": "roi-selector",
      "package_manager": "pnpm",
      "path": "components/roi-selector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "5165ad1fd417bb2ad9dfa4e3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MissionReadinessPanel | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "MissionReadinessPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23767880a8396252",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 208,
      "logic_relevance": "none",
      "name": "mission-readiness-panel",
      "normalized_name": "mission-readiness-panel",
      "package_manager": "pnpm",
      "path": "components/mission-readiness-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "ae772d604c2ff6f2974efe48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MetricsCard | imports:@/components/ui/card, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "MetricsCard",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9183fd32648d21bf",
      "framework": "next-react",
      "imports": "@/components/ui/card,lucide-react,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "metrics-card",
      "normalized_name": "metrics-card",
      "package_manager": "pnpm",
      "path": "components/metrics-card.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "24076a24a51cd9a41acaa203",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AdvancedSignalsPanel | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "AdvancedSignalsPanel",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e06ccca4e6e10947",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "advanced-signals-panel",
      "normalized_name": "advanced-signals-panel",
      "package_manager": "pnpm",
      "path": "components/advanced-signals-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "da118715af4a108a660643d3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:VideoCanvas | imports:@/components/ui/card, @/lib/types, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "VideoCanvas",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e4a7505930c2d43a",
      "framework": "next-react",
      "imports": "@/components/ui/card,@/lib/types,react",
      "lines": 87,
      "logic_relevance": "none",
      "name": "video-canvas",
      "normalized_name": "video-canvas",
      "package_manager": "pnpm",
      "path": "components/video-canvas.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,ai",
      "component_id": "ba4ca9eafc4f2c8eb5550971",
      "component_kind": "ui-hook",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UseCasePanel | imports:@/components/ui/badge, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "UseCasePanel",
      "extension": ".tsx",
      "extraction_status": "review-for-shared-library",
      "file_hash": "4aac349984d19fdc",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,lucide-react",
      "lines": 257,
      "logic_relevance": "none",
      "name": "use-case-panel",
      "normalized_name": "use-case-panel",
      "package_manager": "pnpm",
      "path": "components/use-case-panel.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "7b0d48dd1c99c5598ade0f15",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MentalStateMonitor | imports:@/components/ui/badge, @/components/ui/card, @/lib/types, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "MentalStateMonitor",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15bc08e2912e2156",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/card,@/lib/types,lucide-react,react",
      "lines": 238,
      "logic_relevance": "none",
      "name": "mental-state-monitor",
      "normalized_name": "mental-state-monitor",
      "package_manager": "pnpm",
      "path": "components/mental-state-monitor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "994af3bbda851373e5f3791c",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, @/components/ui/dialog, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4b5d13e17037ca81",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dialog,lucide-react,react",
      "lines": 105,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a3242e051b5760b01fbabda9",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ScenarioStatus | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ScenarioStatus",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7d89a89004ba15e7",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/types,lucide-react",
      "lines": 162,
      "logic_relevance": "none",
      "name": "scenario-status",
      "normalized_name": "scenario-status",
      "package_manager": "pnpm",
      "path": "components/scenario-status.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "0e0608faa1087caf63306115",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SessionHistory | imports:@/components/ui/badge, @/components/ui/button, @/components/ui/card, @/lib/session-storage, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "SessionHistory",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2242276e31c61faf",
      "framework": "next-react",
      "imports": "@/components/ui/badge,@/components/ui/button,@/components/ui/card,@/lib/session-storage,lucide-react,react",
      "lines": 141,
      "logic_relevance": "none",
      "name": "session-history",
      "normalized_name": "session-history",
      "package_manager": "pnpm",
      "path": "components/session-history.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "17ea8847716a4f64e054fe1b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "23cc67b5360458de",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "pnpm",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b656e2eaa7d6c70bb2bdd7a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Card,CardAction,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "541ffffc9e653306",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 92,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b7be5724bfd29b0e25908c74",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal | imports:@/lib/utils, @radix-ui/react-dialog, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Dialog,DialogClose,DialogContent,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "2341f5d3379758c9",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,lucide-react,react",
      "lines": 143,
      "logic_relevance": "none",
      "name": "dialog",
      "normalized_name": "dialog",
      "package_manager": "pnpm",
      "path": "components/ui/dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d71aa1adf0210f5363424214",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, badgeVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Badge,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "92dfe1cb7278ffac",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "pnpm",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "3670fc9c1b8e0442aeea21d9",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3558a541336eeafaa8607c37",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/types, ../scenario-status, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a929a29016c2fbb0",
      "framework": "next-react",
      "imports": "../../lib/types,../scenario-status,@testing-library/react,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "scenario-status.test",
      "normalized_name": "scenario-status",
      "package_manager": "pnpm",
      "path": "components/__tests__/scenario-status.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "dc48bb9e0331e5b1c7545729",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../metrics-card, @testing-library/react, lucide-react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5cc291d8122dd011",
      "framework": "next-react",
      "imports": "../metrics-card,@testing-library/react,lucide-react,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "metrics-card.test",
      "normalized_name": "metrics-card",
      "package_manager": "pnpm",
      "path": "components/__tests__/metrics-card.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "4dcc35508ec0e77c19c66541",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:../video-canvas, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8c6172b170fc9191",
      "framework": "next-react",
      "imports": "../video-canvas,@testing-library/react,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "video-canvas.test",
      "normalized_name": "video-canvas",
      "package_manager": "pnpm",
      "path": "components/__tests__/video-canvas.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui,logic,observability",
      "component_id": "dae5adbdac5aa4ccc56ecd70",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/test-utils, ../validation-panel, @testing-library/react, react | frontend-score:115 | ui-score:70 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ee11613ac650588f",
      "framework": "next-react",
      "imports": "../../lib/test-utils,../validation-panel,@testing-library/react,react",
      "lines": 43,
      "logic_relevance": "secondary",
      "name": "validation-panel.test",
      "normalized_name": "validation-panel",
      "package_manager": "pnpm",
      "path": "components/__tests__/validation-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui",
      "component_id": "87ad003c1bdd844829810708",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/session-storage, ../session-history, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "01c0339ed3b20ecd",
      "framework": "next-react",
      "imports": "../../lib/session-storage,../session-history,@testing-library/react,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "session-history.test",
      "normalized_name": "session-history",
      "package_manager": "pnpm",
      "path": "components/__tests__/session-history.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,discovery",
      "component_id": "5fe6b739acd87784dfa23a35",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/types, ../anomaly-feed, @testing-library/react, react | frontend-score:115 | ui-score:70 | discovery-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4cd970bbd9e53de6",
      "framework": "next-react",
      "imports": "../../lib/types,../anomaly-feed,@testing-library/react,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "anomaly-feed.test",
      "normalized_name": "anomaly-feed",
      "package_manager": "pnpm",
      "path": "components/__tests__/anomaly-feed.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e5af0536bb7e5b37a5201316",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../mental-state-monitor, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0b02591f2d095148",
      "framework": "next-react",
      "imports": "../mental-state-monitor,@testing-library/react,react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "mental-state-monitor.test",
      "normalized_name": "mental-state-monitor",
      "package_manager": "pnpm",
      "path": "components/__tests__/mental-state-monitor.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "b765b477946e5a0d19742c8a",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:../real-time-chart, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "da648abc52888ce4",
      "framework": "next-react",
      "imports": "../real-time-chart,@testing-library/react,react",
      "lines": 28,
      "logic_relevance": "none",
      "name": "real-time-chart.test",
      "normalized_name": "real-time-chart",
      "package_manager": "pnpm",
      "path": "components/__tests__/real-time-chart.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "03f92fd11bcce030c4844ec5",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../mission-readiness-panel, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "cbf6984d2217f840",
      "framework": "next-react",
      "imports": "../mission-readiness-panel,@testing-library/react,react",
      "lines": 44,
      "logic_relevance": "none",
      "name": "mission-readiness-panel.test",
      "normalized_name": "mission-readiness-panel",
      "package_manager": "pnpm",
      "path": "components/__tests__/mission-readiness-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "1634e9f432657a30840aabaf",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../header, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0f542704c393f325",
      "framework": "next-react",
      "imports": "../header,@testing-library/react,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "header.test",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "components/__tests__/header.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "eaa1c4ca8b6e60868acd7e89",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:../roi-selector, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f8294dbb52788465",
      "framework": "next-react",
      "imports": "../roi-selector,@testing-library/react,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "roi-selector.test",
      "normalized_name": "roi-selector",
      "package_manager": "pnpm",
      "path": "components/__tests__/roi-selector.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "153ef21a4f2316473daf59e5",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../event-timeline, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07d94ecab0e06566",
      "framework": "next-react",
      "imports": "../event-timeline,@testing-library/react,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "event-timeline.test",
      "normalized_name": "event-timeline",
      "package_manager": "pnpm",
      "path": "components/__tests__/event-timeline.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "cbe15f3fc2df5e49bf20967c",
      "component_kind": "ui-hook",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../use-case-panel, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "0b833c0cba3b0a42",
      "framework": "next-react",
      "imports": "../use-case-panel,@testing-library/react,react",
      "lines": 50,
      "logic_relevance": "none",
      "name": "use-case-panel.test",
      "normalized_name": "use-case-panel",
      "package_manager": "pnpm",
      "path": "components/__tests__/use-case-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f8c06ba944faf6642f510145",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../advanced-signals-panel, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "767c0119c5726dc2",
      "framework": "next-react",
      "imports": "../advanced-signals-panel,@testing-library/react,react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "advanced-signals-panel.test",
      "normalized_name": "advanced-signals-panel",
      "package_manager": "pnpm",
      "path": "components/__tests__/advanced-signals-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "frontend,ui",
      "component_id": "9072e3c8d95d3119a0648d0d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for game; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/types, ../team-sync-panel, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "67a54692afbe443b",
      "framework": "next-react",
      "imports": "../../lib/types,../team-sync-panel,@testing-library/react,react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "team-sync-panel.test",
      "normalized_name": "team-sync-panel",
      "package_manager": "pnpm",
      "path": "components/__tests__/team-sync-panel.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "c656877adf42429311d02ae4",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "imports:../system-architecture, @testing-library/react, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1b0553fc98597e49",
      "framework": "next-react",
      "imports": "../system-architecture,@testing-library/react,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "system-architecture.test",
      "normalized_name": "system-architecture",
      "package_manager": "pnpm",
      "path": "components/__tests__/system-architecture.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui,observability",
      "component_id": "ee2d54ac4c6e55d5b577028b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@testing-library/react,react",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../lib/types, ../canine-monitor, @testing-library/react, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3c654e67487a6de3",
      "framework": "next-react",
      "imports": "../../lib/types,../canine-monitor,@testing-library/react,react",
      "lines": 34,
      "logic_relevance": "none",
      "name": "canine-monitor.test",
      "normalized_name": "canine-monitor",
      "package_manager": "pnpm",
      "path": "components/__tests__/canine-monitor.test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process,security",
      "component_id": "981a10ae533f9258c45c8bda",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "72678d36a3f1e77d",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "91391c13a51af0425af4bfab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d0c190f5106c8ec7",
      "framework": "next-react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "726daa84633be4e967ba3cdd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2cbc1dbe2819ab2",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "7bf35bc959a5e7ceb0cc5e8c",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./utils | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c0a70eaf650c0777",
      "framework": "next-react",
      "imports": "./utils",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "9fdaf88e46a2f2f6fecc3c08",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SignalProcessor | logic-score:85 | observability-score:55",
      "exports": "SignalProcessor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "7c43ba9af0b09635",
      "framework": "next-react",
      "imports": "",
      "lines": 227,
      "logic_relevance": "primary",
      "name": "signal-processing",
      "normalized_name": "signal-processing",
      "package_manager": "pnpm",
      "path": "lib/signal-processing.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "6a24f42dab3e199435d10355",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./signal-processing | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9291536e20afbc84",
      "framework": "next-react",
      "imports": "./signal-processing",
      "lines": 333,
      "logic_relevance": "primary",
      "name": "signal-processing.test",
      "normalized_name": "signal-processing",
      "package_manager": "pnpm",
      "path": "lib/signal-processing.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,discovery,automation",
      "component_id": "e671c6b5bc9aca64f8ecef67",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./biofeedback-engine, ./types | logic-score:85 | observability-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "b3fe30fbb83e271f",
      "framework": "next-react",
      "imports": "./biofeedback-engine,./types",
      "lines": 441,
      "logic_relevance": "primary",
      "name": "biofeedback-engine.test",
      "normalized_name": "biofeedback-engine",
      "package_manager": "pnpm",
      "path": "lib/biofeedback-engine.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "94c1b613a69e4376b9ada0bf",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./face-detector, ./types | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0995cef841408b6e",
      "framework": "next-react",
      "imports": "./face-detector,./types",
      "lines": 300,
      "logic_relevance": "primary",
      "name": "face-detector.test",
      "normalized_name": "face-detector",
      "package_manager": "pnpm",
      "path": "lib/face-detector.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "1f323ccce2d1c617635eaae5",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "4f78867bcd3a0d6cafe1f121",
      "component_kind": "utility",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BiofeedbackTester, TestResult, ValidationReport | imports:./types | logic-score:85 | observability-score:55",
      "exports": "BiofeedbackTester,TestResult,ValidationReport",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6f196e8490d5ef59",
      "framework": "next-react",
      "imports": "./types",
      "lines": 167,
      "logic_relevance": "primary",
      "name": "test-utils",
      "normalized_name": "test-utils",
      "package_manager": "pnpm",
      "path": "lib/test-utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,discovery",
      "component_id": "a480a94f331482ead5cb2dc7",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:BiofeedbackEngine | imports:./computer-vision, ./signal-processing, ./types | logic-score:85 | observability-score:55 | discovery-score:55",
      "exports": "BiofeedbackEngine",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cf94e9b88096bccf",
      "framework": "next-react",
      "imports": "./computer-vision,./signal-processing,./types",
      "lines": 981,
      "logic_relevance": "primary",
      "name": "biofeedback-engine",
      "normalized_name": "biofeedback-engine",
      "package_manager": "pnpm",
      "path": "lib/biofeedback-engine.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "cf2d467cb1e8f8530cee5891",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AnomalyDetection, BiofeedbackEvent, CanineSignals, EngineOpts, FrameMetrics, MissionReadiness, NostrilGeom, PerformanceScore | logic-score:70 | observability-score:55",
      "exports": "AnomalyDetection,BiofeedbackEvent,CanineSignals,EngineOpts,FrameMetrics,MissionReadiness,NostrilGeom,PerformanceScore,Rect,RollingOutputs,TeamMember,TeamSynchronization,TrainingScenario",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c2a5d8972db40c6b",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "24fc335d9ceb85ce242179c5",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./session-storage, ./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "62aefa7123d2678c",
      "framework": "next-react",
      "imports": "./session-storage,./types",
      "lines": 468,
      "logic_relevance": "primary",
      "name": "session-storage.test",
      "normalized_name": "session-storage",
      "package_manager": "pnpm",
      "path": "lib/session-storage.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "logic,observability",
      "component_id": "9e903ad8f275bbbb440e18ff",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Contour, VisionProcessor | logic-score:85 | observability-score:55",
      "exports": "Contour,VisionProcessor",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "490396847e69a129",
      "framework": "next-react",
      "imports": "",
      "lines": 576,
      "logic_relevance": "primary",
      "name": "computer-vision",
      "normalized_name": "computer-vision",
      "package_manager": "pnpm",
      "path": "lib/computer-vision.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "b6404fb5321912de6234d5a6",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SessionData, SessionMetadata, SessionStorage | imports:./types | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "SessionData,SessionMetadata,SessionStorage",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c813e15a015bcec2",
      "framework": "next-react",
      "imports": "./types",
      "lines": 207,
      "logic_relevance": "primary",
      "name": "session-storage",
      "normalized_name": "session-storage",
      "package_manager": "pnpm",
      "path": "lib/session-storage.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic",
      "component_id": "9f40b54db4c9b068f1d1a112",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FaceDetectionResult, FaceDetector, FaceLandmarks | imports:./types | logic-score:85",
      "exports": "FaceDetectionResult,FaceDetector,FaceLandmarks",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "85223dd3999cc52a",
      "framework": "next-react",
      "imports": "./types",
      "lines": 388,
      "logic_relevance": "primary",
      "name": "face-detector",
      "normalized_name": "face-detector",
      "package_manager": "pnpm",
      "path": "lib/face-detector.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "logic,observability,automation",
      "component_id": "43d546ffe002d70d4ca4af7a",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./computer-vision | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e1e828072dc4f5bc",
      "framework": "next-react",
      "imports": "./computer-vision",
      "lines": 408,
      "logic_relevance": "primary",
      "name": "computer-vision.test",
      "normalized_name": "computer-vision",
      "package_manager": "pnpm",
      "path": "lib/computer-vision.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation",
      "component_id": "9653e8bf2aebd79d47c8c10d",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./test-utils, ./types | logic-score:85 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "f0923d0dc77765a3",
      "framework": "next-react",
      "imports": "./test-utils,./types",
      "lines": 164,
      "logic_relevance": "primary",
      "name": "test-utils.test",
      "normalized_name": "test-utils",
      "package_manager": "pnpm",
      "path": "lib/test-utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__www-demo-biofeedback-app-development",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "1eaf979ab48d049518e0224e",
      "component_kind": "specification",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ffc471fd41832ad6",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "requirements",
      "normalized_name": "requirements",
      "package_manager": "python",
      "path": "requirements.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security,ai",
      "component_id": "ec2229f13bc41cef6a6a989b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c1f7549f436d2454",
      "framework": "unknown",
      "imports": "",
      "lines": 96,
      "logic_relevance": "none",
      "name": "xsociety_installer",
      "normalized_name": "xsociety-installer",
      "package_manager": "python",
      "path": "xsociety_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "8ac5ad9d04fac3e27260c40b",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "7a9d4db9002b909f",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "python",
      "path": "config.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "82182ab306d0ff415343284f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d58aabbac418d62e",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "xsociety_gui_installer",
      "normalized_name": "xsociety-gui-installer",
      "package_manager": "python",
      "path": "xsociety_gui_installer.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "af7253dbba590f883270ddb2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dda4647120e21351",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "4d196fc0bfa49126fc44e20b",
      "component_kind": "security-module",
      "confidence": 60,
      "dependency_roots": "py_compile",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:py_compile | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "b6349e09a3f2c477",
      "framework": "python",
      "imports": "py_compile",
      "lines": 7,
      "logic_relevance": "none",
      "name": "compile",
      "normalized_name": "compile",
      "package_manager": "python",
      "path": "compile.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "f99e1ca0ab8090b7ddd8d70d",
      "component_kind": "key-management",
      "confidence": 80,
      "dependency_roots": "functools,multiprocessing,os,string,sys,threading,tqdm",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:generate_range, main | imports:functools, multiprocessing, os, string, sys, threading, tqdm | security-score:55",
      "exports": "generate_range,main",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6f6f3c780bd309f",
      "framework": "python",
      "imports": "functools,multiprocessing,os,string,sys,threading,tqdm",
      "lines": 103,
      "logic_relevance": "none",
      "name": "keybuilder",
      "normalized_name": "keybuilder",
      "package_manager": "python",
      "path": "keybuilder.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "security,automation",
      "component_id": "f9f1e239cd102c2a02b65362",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for deployment; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "ccbf2199045c2378",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "python",
      "path": "docker-compose.yml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "327e1c753750806c38974408",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "1520847029d5dbe9",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "python",
      "path": "License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "84e49710b3150b12db70e817",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "argparse,datetime,json,logging,os,pty,requests,select,shlex,socket,socketserver,subprocess,threading",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SocketHandler, ThreadedTCPServer, get_audit_logger, load_config, main, send_callback | imports:argparse, datetime, json, logging, os, pty, requests, select | observability-score:55 | security-score:55",
      "exports": "SocketHandler,ThreadedTCPServer,get_audit_logger,load_config,main,send_callback",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "76aff021709cba82",
      "framework": "python",
      "imports": "argparse,datetime,json,logging,os,pty,requests,select,shlex,socket,socketserver,subprocess,threading",
      "lines": 154,
      "logic_relevance": "none",
      "name": "shelllistener",
      "normalized_name": "shelllistener",
      "package_manager": "python",
      "path": "shelllistener.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "a60b3e3b885d8b86e4c88041",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0db98936330dfd43",
      "framework": "unknown",
      "imports": "",
      "lines": 208,
      "logic_relevance": "none",
      "name": "apktools-license",
      "normalized_name": "apktools-license",
      "package_manager": "python",
      "path": "apktools-license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "3f674ddbb42f944c2689192b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ac9b742b079eabf6",
      "framework": "unknown",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "numbers",
      "normalized_name": "numbers",
      "package_manager": "python",
      "path": "pipeline/tests/numbers.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "de39568e2fbe9226229f6c2e",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "cd904bd2b97e4ef7",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "mynumber",
      "normalized_name": "mynumber",
      "package_manager": "python",
      "path": "pipeline/tests/mynumber.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "fcad6d730c11f26c86a4a125",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bde3b53a1b400932",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "xsociety2examplecommands",
      "normalized_name": "xsociety2examplecommands",
      "package_manager": "python",
      "path": "pipeline/tests/xsociety2examplecommands.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "279ebdcf882855c7248de91e",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "34c25903da8513a9",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "monitor-mtips-environment",
      "normalized_name": "monitor-mtips-environment",
      "package_manager": "python",
      "path": "pipeline/cookbooks/monitor-mtips-environment.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "94a043bd4dac15d053183fe6",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3e2937b5688a0765",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "shared-parameter-db",
      "normalized_name": "shared-parameter-db",
      "package_manager": "python",
      "path": "pipeline/cookbooks/shared-parameter-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "backend,security",
      "component_id": "7c8f920f8d60fcac5625f661",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for discovery; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a8730c8ae8516e48",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "jenkins-parameter-db",
      "normalized_name": "jenkins-parameter-db",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins-parameter-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2e35745d901f651e66129526",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d978c695fc208538",
      "framework": "unknown",
      "imports": "",
      "lines": 1026,
      "logic_relevance": "none",
      "name": "jenkins-ubuntu",
      "normalized_name": "jenkins-ubuntu",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins-ubuntu.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e8081062f683a2955a8a236c",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d32ac3927c5f6c41",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "headers",
      "normalized_name": "headers",
      "package_manager": "python",
      "path": "pipeline/cookbooks/headers.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "a2b98516454b8f8ac6e22164",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ab66f1abd2f29c30",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/nginx_reverse_proxy/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "4111192055e965c14d7f3365",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a97ddf66d0278f26",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/build-essential/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "discovery",
      "component_id": "a830ab0437ac7482a07e27fb",
      "component_kind": "discovery-artifact",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Discovery component for seo-and-metadata; review for shared sitemap, feed, llms, OpenAPI, or metadata generator.",
      "evidence": "discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ebe357d5204457e7",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/build-essential/metadata.json",
      "primary_category": "discovery",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "fd42d1d2ea10c9b81fe394e8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "50f6b00f93df8dbf",
      "framework": "unknown",
      "imports": "",
      "lines": 106,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/build-essential/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "5529fd4882f0437a1809d0c9",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c3b43cf8e16cdd92",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "add_piv_key",
      "normalized_name": "add-piv-key",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/add_piv_key.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "761db8f8fb7c838cc913ad11",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "5878749deaf428d7",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "socscan-user",
      "normalized_name": "socscan-user",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/socscan-user.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "c21aff237b1a8173af55d0f6",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "42641e1b6eae5817",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "create-options",
      "normalized_name": "create-options",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/create-options.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "cb6a063e00e7291597af8903",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b5ca1c8a9c8eea2a",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "converge-nacls",
      "normalized_name": "converge-nacls",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/converge-nacls.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "ce7bd7905649fa9795a3d895",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e0056aef5029a86a",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "attach-dhcp-option",
      "normalized_name": "attach-dhcp-option",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/attach-dhcp-option.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "4c8bbca1f601860d72713b23",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0808314520b1bf32",
      "framework": "unknown",
      "imports": "",
      "lines": 714,
      "logic_relevance": "none",
      "name": "vpc-dev-public",
      "normalized_name": "vpc-dev-public",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-dev-public.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "94d2c4df9dba446b127e02c9",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "72a53bb66c103243",
      "framework": "unknown",
      "imports": "",
      "lines": 194,
      "logic_relevance": "none",
      "name": "vpc-enis",
      "normalized_name": "vpc-enis",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-enis.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "3b7f4fc293da4df049c239de",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3ab239655be74e16",
      "framework": "unknown",
      "imports": "",
      "lines": 850,
      "logic_relevance": "none",
      "name": "vpc-dev-with-nat",
      "normalized_name": "vpc-dev-with-nat",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-dev-with-nat.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "109fe11eed35754f06ce718c",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "021477dae0931df1",
      "framework": "unknown",
      "imports": "",
      "lines": 998,
      "logic_relevance": "none",
      "name": "vpc-prod-public",
      "normalized_name": "vpc-prod-public",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-prod-public.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "security",
      "component_id": "0f5c41b69fee4cf632b11089",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for observability; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "021812032c621861",
      "framework": "unknown",
      "imports": "",
      "lines": 877,
      "logic_relevance": "none",
      "name": "vpc-nat-dns",
      "normalized_name": "vpc-nat-dns",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/archaeology/vpc-nat-dns.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "7730e3f4e5454d879902d5f9",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "32469ef838d2d4cb",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "primary",
      "name": "vpc_peering_rules",
      "normalized_name": "vpc-peering-rules",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_peering_rules.yml",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "8adf9a6ab1188435e07fbe2f",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1120da9a040b1e63",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "9727ace91030aceb7e03f81e",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2bbe1c9ce83ed9c9",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/pubdev/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "logic",
      "component_id": "53e12efd3973e970e56eccb9",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for game; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "32d764018d4ddecb",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "vpc_peering_rules",
      "normalized_name": "vpc-peering-rules",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_peering_rules.yml",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "c752629a21541abf771407e6",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67020b43505ead36",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "a146dc311383747cd286d3fe",
      "component_kind": "business-logic",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "9fc243fd52f054b3",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "vpc_peering_rules",
      "normalized_name": "vpc-peering-rules",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_peering_rules.yml",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "9b74409c4e309a13a42209d9",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2e1973267a105fa3",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "vpc_properties",
      "normalized_name": "vpc-properties",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_properties.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "21cee72ef9b10caf3a0c9190",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e33e87f0c01e81d9",
      "framework": "unknown",
      "imports": "",
      "lines": 548,
      "logic_relevance": "none",
      "name": "vpc-prod-private",
      "normalized_name": "vpc-prod-private",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/vpc_mgmt/purgatory/vpc-prod-private.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1f10eac40d8bed92b5dd0a6d",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "aab20a259d8dad96",
      "framework": "unknown",
      "imports": "",
      "lines": 243,
      "logic_relevance": "none",
      "name": "cloudtrail-base",
      "normalized_name": "cloudtrail-base",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudtrail/cloudtrail-base.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "5cb59158b87246bdc9c5781f",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "58edf69debc9baed",
      "framework": "unknown",
      "imports": "",
      "lines": 88,
      "logic_relevance": "none",
      "name": "cloudtrail-setup",
      "normalized_name": "cloudtrail-setup",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudtrail/cloudtrail-setup.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "observability,security",
      "component_id": "ca3bb12edea866c807bfebf1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for shipping; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aed84f6f9bd478c3",
      "framework": "unknown",
      "imports": "",
      "lines": 170,
      "logic_relevance": "none",
      "name": "port_tester",
      "normalized_name": "port-tester",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudformation/port_tester.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "1a3e7f818d0f926143f5caef",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ae8b74d06e229c18",
      "framework": "unknown",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "sharing-bucket",
      "normalized_name": "sharing-bucket",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudformation/sharing-bucket.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "backend,security",
      "component_id": "11f37fa9523e3ba9bed2fc84",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for testing; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3f005d0ccb79a12c",
      "framework": "unknown",
      "imports": "",
      "lines": 105,
      "logic_relevance": "none",
      "name": "port-tester-addresses-db",
      "normalized_name": "port-tester-addresses-db",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudformation/port-tester-addresses-db.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "44ea29d3e0a5e045fbb6f310",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "65a9934ddec95ab9",
      "framework": "unknown",
      "imports": "",
      "lines": 511,
      "logic_relevance": "none",
      "name": "instances",
      "normalized_name": "instances",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudformation/csr-failover-setup/instances.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "eba1448533c8c925049b0043",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8246391aa198ba03",
      "framework": "unknown",
      "imports": "",
      "lines": 506,
      "logic_relevance": "none",
      "name": "vpc",
      "normalized_name": "vpc",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws_account_setup/cloudformation/csr-failover-setup/vpc.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "0dc73c7e2d3920202af6fe1b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "668cefcbaabb59d5",
      "framework": "unknown",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/rsyslog/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation,ai",
      "component_id": "1cca4a77d05ce10b9c2a460e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "23f44c1275c09905",
      "framework": "unknown",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/rsyslog/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b2bbf45ee4ade3571ed53d9b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3e0820112cf06808",
      "framework": "unknown",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/rsyslog/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "cdc4574e0b360a36c2f60594",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "54f255ea1a7ab680",
      "framework": "unknown",
      "imports": "",
      "lines": 343,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/java/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "d15d1ce659a0d588062a67ab",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b25195415b113b8f",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/java/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "ca00cb237358c628946eec2a",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "b1a5e8ecaa9ea61b",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/java/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "66554dcea166cf77c81126f7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0424c721ecca6df3",
      "framework": "unknown",
      "imports": "",
      "lines": 385,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/java/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "4fe72a1c6c673079d84f196d",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "dbca140528dce6de",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/java/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "e3a4afe2dc84a6c917972519",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "39a13182b79e324a",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security",
      "component_id": "4dc180d3bde8b3c266cefcd4",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "RSACipher",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:RSACipher | security-score:55",
      "exports": "",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c246f63faa4118da",
      "framework": "python",
      "imports": "RSACipher",
      "lines": 25,
      "logic_relevance": "none",
      "name": "rsaTest",
      "normalized_name": "rsa-test",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/rsaTest.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "observability,security",
      "component_id": "02f826284340661aa1a1796c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,SplunkUtil,os",
      "description": "Observability component for logic; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:storePullResults | imports:ConfigConsts, SplunkUtil, os | observability-score:55 | security-score:55",
      "exports": "storePullResults",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "204d39d97e7c22dd",
      "framework": "python",
      "imports": "ConfigConsts,SplunkUtil,os",
      "lines": 49,
      "logic_relevance": "none",
      "name": "CommandWriter",
      "normalized_name": "command-writer",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CommandWriter.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d0753dd1488744956c47de29",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "AESCipher,CipherUtils,ConfigConsts,FileUtils,MockS3Connection,ProfileUtils,PushArgHandler,RSACipher,S3Connection,datetime,logging,os.path,sys,tempfile",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Processor | imports:AESCipher, CipherUtils, ConfigConsts, FileUtils, MockS3Connection, ProfileUtils, PushArgHandler, RSACipher | observability-score:55 | security-score:55",
      "exports": "Processor",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "f1b776e8b86645e2",
      "framework": "python",
      "imports": "AESCipher,CipherUtils,ConfigConsts,FileUtils,MockS3Connection,ProfileUtils,PushArgHandler,RSACipher,S3Connection,datetime,logging,os.path,sys,tempfile",
      "lines": 135,
      "logic_relevance": "none",
      "name": "StoreToS3",
      "normalized_name": "store-to-s3",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/StoreToS3.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "c19db4d5e8deab165ed37b25",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,ConfigReader,datetime,logging,os,re",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SplunkHelper | imports:ConfigConsts, ConfigReader, datetime, logging, os, re | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SplunkHelper",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "bf7ec3c8af5cf1bd",
      "framework": "python",
      "imports": "ConfigConsts,ConfigReader,datetime,logging,os,re",
      "lines": 128,
      "logic_relevance": "none",
      "name": "SplunkUtil",
      "normalized_name": "splunk-util",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/SplunkUtil.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "59fc105da229610115c9a7e6",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "datetime,logging,ntpath,os,os.path,sys,time",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:buildPath, createDirs, createUniqueFileName, createUniqueFileNameExt, deleteAllFromDir, deleteFile, deleteOldFiles, getAllFilePaths | imports:datetime, logging, ntpath, os, os.path, sys, time | observability-score:55",
      "exports": "buildPath,createDirs,createUniqueFileName,createUniqueFileNameExt,deleteAllFromDir,deleteFile,deleteOldFiles,getAllFilePaths,getAllFiles,getAllSubDirs,getDirFromFilePath,getExecutionFile,getFileExtension,path_leaf,readFile,renameFile,writeFile,writeUniqueFile",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "5d665bc3ecca29ec",
      "framework": "python",
      "imports": "datetime,logging,ntpath,os,os.path,sys,time",
      "lines": 263,
      "logic_relevance": "none",
      "name": "FileUtils",
      "normalized_name": "file-utils",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/FileUtils.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability,security",
      "component_id": "c1fda885cecd0c8c5fc725bf",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,csv",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:storePullResults, storeResults | imports:ConfigConsts, csv | observability-score:55 | security-score:55",
      "exports": "storePullResults,storeResults",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2f5567805aa1e4b5",
      "framework": "python",
      "imports": "ConfigConsts,csv",
      "lines": 98,
      "logic_relevance": "none",
      "name": "CSVResultWriter",
      "normalized_name": "csvresult-writer",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CSVResultWriter.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "a9fb8a9cb9132cc7ec846f7c",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "sys",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:fail, parseArgs | imports:sys | security-score:55",
      "exports": "fail,parseArgs",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dde1f1c291471b4c",
      "framework": "python",
      "imports": "sys",
      "lines": 79,
      "logic_relevance": "none",
      "name": "PullArgHandler",
      "normalized_name": "pull-arg-handler",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullArgHandler.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2e71350b69aca62360bdc5c0",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:ConfigConsts | security-score:55",
      "exports": "ConfigConsts",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "1c61340e999eb845",
      "framework": "python",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "ConfigConsts",
      "normalized_name": "config-consts",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/ConfigConsts.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "937a8c847d59dd11b5fd96c2",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,Crypto,Crypto.Cipher,FileUtils,ProfileUtils,base64,datetime,hashlib,logging",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:AESCipher | imports:ConfigConsts, Crypto, Crypto.Cipher, FileUtils, ProfileUtils, base64, datetime, hashlib | observability-score:55 | security-score:55",
      "exports": "AESCipher",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "433f629f611fb44b",
      "framework": "python",
      "imports": "ConfigConsts,Crypto,Crypto.Cipher,FileUtils,ProfileUtils,base64,datetime,hashlib,logging",
      "lines": 115,
      "logic_relevance": "none",
      "name": "AESCipher",
      "normalized_name": "aescipher",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/AESCipher.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "ab6bfba2277194d925fcc95b",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "ConfigConsts,FileUtils,csv,json",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:storeResults | imports:ConfigConsts, FileUtils, csv, json | security-score:55",
      "exports": "storeResults",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8642e28485cdea5f",
      "framework": "python",
      "imports": "ConfigConsts,FileUtils,csv,json",
      "lines": 66,
      "logic_relevance": "none",
      "name": "SplunkWriter",
      "normalized_name": "splunk-writer",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/SplunkWriter.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "240a0011f648915f4dccecd7",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "CSVResultWriter,CommandWriter,ConfigConsts,ConfigReader,FileUtils,MockS3Connection,PullAllArgHandler,PullFromS3,S3Connection,SplunkUtil,datetime,logging,os.path,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:PullAll | imports:CSVResultWriter, CommandWriter, ConfigConsts, ConfigReader, FileUtils, MockS3Connection, PullAllArgHandler, PullFromS3 | observability-score:55 | security-score:55",
      "exports": "PullAll",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "8005b492a6667d4e",
      "framework": "python",
      "imports": "CSVResultWriter,CommandWriter,ConfigConsts,ConfigReader,FileUtils,MockS3Connection,PullAllArgHandler,PullFromS3,S3Connection,SplunkUtil,datetime,logging,os.path,sys",
      "lines": 165,
      "logic_relevance": "none",
      "name": "PullAll",
      "normalized_name": "pull-all",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullAll.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "dcd34f2d9ae2bce4a42af9bc",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "AESCipher,CSVResultWriter,ConfigConsts,FileUtils,MockS3Connection,PullArgHandler,RSACipher,S3Connection,logging,os,os.path,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Processor | imports:AESCipher, CSVResultWriter, ConfigConsts, FileUtils, MockS3Connection, PullArgHandler, RSACipher, S3Connection | observability-score:55 | security-score:55",
      "exports": "Processor",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "89b985f76427fb38",
      "framework": "python",
      "imports": "AESCipher,CSVResultWriter,ConfigConsts,FileUtils,MockS3Connection,PullArgHandler,RSACipher,S3Connection,logging,os,os.path,sys",
      "lines": 174,
      "logic_relevance": "none",
      "name": "PullFromS3",
      "normalized_name": "pull-from-s3",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullFromS3.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "674943d74a87ff58662ad8f4",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "CSVResultWriter,ConfigConsts,ConfigReader,FileUtils,SplunkUtil,SplunkWriter,StoreAllArgHandler,StoreToS3,logging,os,os.path,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:StoreAll | imports:CSVResultWriter, ConfigConsts, ConfigReader, FileUtils, SplunkUtil, SplunkWriter, StoreAllArgHandler, StoreToS3 | observability-score:55 | security-score:55",
      "exports": "StoreAll",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3a76589e50633206",
      "framework": "python",
      "imports": "CSVResultWriter,ConfigConsts,ConfigReader,FileUtils,SplunkUtil,SplunkWriter,StoreAllArgHandler,StoreToS3,logging,os,os.path,sys",
      "lines": 181,
      "logic_relevance": "none",
      "name": "StoreAll",
      "normalized_name": "store-all",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/StoreAll.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "49216cc73f3639d63d9745b3",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "datetime,sys",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:fail, parseArgs | imports:datetime, sys | security-score:55",
      "exports": "fail,parseArgs",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "62ca78398175c5ce",
      "framework": "python",
      "imports": "datetime,sys",
      "lines": 110,
      "logic_relevance": "none",
      "name": "PullAllArgHandler",
      "normalized_name": "pull-all-arg-handler",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/PullAllArgHandler.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "67472f450bf8f09bf994dd10",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "CalcS3MD5,ConfigConsts,FileUtils,ProfileUtils,boto,boto.s3.connection,boto.s3.key,datetime,logging,os.path,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:S3Connection | imports:CalcS3MD5, ConfigConsts, FileUtils, ProfileUtils, boto, boto.s3.connection, boto.s3.key, datetime | observability-score:55 | security-score:55",
      "exports": "S3Connection",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "3e7c41f3248896ec",
      "framework": "python",
      "imports": "CalcS3MD5,ConfigConsts,FileUtils,ProfileUtils,boto,boto.s3.connection,boto.s3.key,datetime,logging,os.path,sys",
      "lines": 179,
      "logic_relevance": "none",
      "name": "S3Connection",
      "normalized_name": "s3-connection",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/S3Connection.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ed46d01210dbc28839b3115b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "ConfigConsts,FileUtils,ProfileUtils,datetime,logging,ntpath,os.path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MockBucket, MockKey, S3Connection | imports:ConfigConsts, FileUtils, ProfileUtils, datetime, logging, ntpath, os.path | observability-score:55 | security-score:55",
      "exports": "MockBucket,MockKey,S3Connection",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e4eb94d296a3f9d0",
      "framework": "python",
      "imports": "ConfigConsts,FileUtils,ProfileUtils,datetime,logging,ntpath,os.path",
      "lines": 163,
      "logic_relevance": "none",
      "name": "MockS3Connection",
      "normalized_name": "mock-s3-connection",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/MockS3Connection.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "615b5edc46d5b5318f7bc864",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "46628540ace5b8a2",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "readme",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/readme.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "43e7a6d57149e0d2afb74d62",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "Crypto,Crypto.Cipher,base64,hashlib,os,os.path",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:AESCipher, deleteAllFiles, getAllFiles | imports:Crypto, Crypto.Cipher, base64, hashlib, os, os.path | security-score:55",
      "exports": "AESCipher,deleteAllFiles,getAllFiles",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6703b7c4abb616e9",
      "framework": "python",
      "imports": "Crypto,Crypto.Cipher,base64,hashlib,os,os.path",
      "lines": 88,
      "logic_relevance": "none",
      "name": "encrypt_sample",
      "normalized_name": "encrypt-sample",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/encrypt_sample.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4d9ccd0d831ec284f752479d",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "FileUtils,logging.handlers,os.path,sys",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CustomFileLogger | imports:FileUtils, logging.handlers, os.path, sys | observability-score:55",
      "exports": "CustomFileLogger",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e88af47b30549a3e",
      "framework": "python",
      "imports": "FileUtils,logging.handlers,os.path,sys",
      "lines": 27,
      "logic_relevance": "none",
      "name": "CustomLogger",
      "normalized_name": "custom-logger",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CustomLogger.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "ad3baef22dc17bbb18e2a2e1",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "binascii,hashlib,os.path",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:md5sum | imports:binascii, hashlib, os.path | security-score:55",
      "exports": "md5sum",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "73c2b647107f000a",
      "framework": "python",
      "imports": "binascii,hashlib,os.path",
      "lines": 47,
      "logic_relevance": "none",
      "name": "CalcS3MD5",
      "normalized_name": "calc-s3-md5",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/CalcS3MD5.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "460efbeb9bd57139559c54cf",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "Crypto,Crypto.Cipher,Crypto.PublicKey,FileUtils,base64,logging",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:RSACipher | imports:Crypto, Crypto.Cipher, Crypto.PublicKey, FileUtils, base64, logging | observability-score:55 | security-score:55",
      "exports": "RSACipher",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "fb30df57a59c5dfa",
      "framework": "python",
      "imports": "Crypto,Crypto.Cipher,Crypto.PublicKey,FileUtils,base64,logging",
      "lines": 100,
      "logic_relevance": "none",
      "name": "RSACipher",
      "normalized_name": "rsacipher",
      "package_manager": "python",
      "path": "pipeline/cookbooks/brakeman_python/files/default/brakeman_python/RSACipher.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4b207fb18995c5e53a6c580d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "464748a69ee02b45",
      "framework": "unknown",
      "imports": "",
      "lines": 285,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apache2/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "6994c84d886660f2149950de",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f4a26caa69fb92a1",
      "framework": "unknown",
      "imports": "",
      "lines": 368,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apache2/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "36b105ed41cdc1da765d519d",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "45d53d3a30af2653",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apache2/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "7b962838ff2a52b1bfb05c58",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "90581ddc9ce0dd27",
      "framework": "unknown",
      "imports": "",
      "lines": 595,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apache2/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "0a74e791d87b403f1eba76a7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f95fa76ed8c9660",
      "framework": "unknown",
      "imports": "",
      "lines": 257,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apache2/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "cf8692a3f48a432fc1ee42d7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "abdde8b24f8941b3",
      "framework": "unknown",
      "imports": "",
      "lines": 82,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apache2/test/kitchen/cookbooks/apache2_test/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "89f3743c219c5aa3d76ebcbe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9f299f447b57c330",
      "framework": "unknown",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/yum/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,discovery",
      "component_id": "f6adc1ed6ed95aeef72310db",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b468b4fe6bd0fd47",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/yum/metadata.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "42ffb48f786f51b1252d8510",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f5b51254ac88e4b5",
      "framework": "unknown",
      "imports": "",
      "lines": 225,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/yum/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "3a6b3d69e98ec8aac99eba92",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6437ca90b308a89a",
      "framework": "unknown",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/nginx/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "27536bd73009c25411c06e9d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ced9210c4df4a630",
      "framework": "unknown",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/nginx/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "dae921dd82b2b60be08b7b1b",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "45d53d3a30af2653",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/nginx/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "8208eb981edc8698a288a5bd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4c4ce7ba3a2bf333",
      "framework": "unknown",
      "imports": "",
      "lines": 418,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/nginx/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "2d3504c9cc43da03e965a8ff",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f95fa76ed8c9660",
      "framework": "unknown",
      "imports": "",
      "lines": 257,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/nginx/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7ad8b4ec7444460944ba9aa5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f4ec290d00e7b6fd",
      "framework": "unknown",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/runit/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation",
      "component_id": "356cba44fe81366885083a63",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "74da23b402a5fd14",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/runit/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "a1821f4bcd46db35aca72c8b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "137a372eb933d556",
      "framework": "unknown",
      "imports": "",
      "lines": 422,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/runit/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4ed7e289de0e187de9efe30b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f220ce4e09bc48e8",
      "framework": "unknown",
      "imports": "",
      "lines": 183,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apt/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,discovery,automation",
      "component_id": "51e7fecaf3cdc99192b97888",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c258935f9139eb3c",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apt/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "10066f7745d5465f9e4f002e",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "e2c7c338f4e050d2",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apt/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "e4b7880cd161ae9187f7a98c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "36dc451c27b9b6be",
      "framework": "unknown",
      "imports": "",
      "lines": 255,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apt/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "d4e0200cf5260ed55e28e967",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a72407982d4fd536",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/apt/test/cookbooks/apt_test/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,backend,observability",
      "component_id": "0a00600f190db5c7919f135c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5a762f19daa0220b",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/chef_handler/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,discovery",
      "component_id": "c19b908679feaa58bfcdf8c9",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "50f9792484a95c07",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/chef_handler/metadata.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,backend,observability,security",
      "component_id": "84457bf1e724ec99947644aa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9fc7ab70c35ece3",
      "framework": "unknown",
      "imports": "",
      "lines": 103,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/chef_handler/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "ad2c8fa93dc000f299ea305c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e4d12a9720109968",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/phantomjs/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security,discovery",
      "component_id": "ad67e110cca04a72f3a3f0a9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "08971b2f00f2b39c",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/phantomjs/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "d9334b53f783cb7b7658c60c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "55da871d5e3e6655",
      "framework": "unknown",
      "imports": "",
      "lines": 129,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/phantomjs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "56b87e3344e0677edf52f11a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "14f232ac61f2fe94",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,discovery",
      "component_id": "a341f90914cceccb1522d09d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "47c203b07956808e",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4157af743d297f816421eeb8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b55cdf2a10b759db",
      "framework": "unknown",
      "imports": "",
      "lines": 357,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/aws/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "4b0ca07266a3be1665096573",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0bd315c9bc96d4fc",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/7-zip/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,discovery,automation",
      "component_id": "40b69177c9e7e317e2ee5fc5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "4ee4b220e0de2bbc",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/7-zip/metadata.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "57679c4070d3e8be78c8ec59",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fbbd9b1e66cfcc9f",
      "framework": "unknown",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/7-zip/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ccf24251390e1cac51ebfb5b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "fa96dc66ba4fc274",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,discovery,automation",
      "component_id": "71e74712222eeca5ce692fd9",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "22523036740bef9a",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "metadata",
      "normalized_name": "metadata",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/metadata.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "114d04c966a8f3445658d627",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "45d53d3a30af2653",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "TESTING",
      "normalized_name": "testing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/TESTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "335e6f0075d4f84d7250f201",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "a3eb60c56b197c80",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "TODO",
      "normalized_name": "todo",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/TODO.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9b0b0965364ae9b5550308a2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dbf3fbda4e38e375",
      "framework": "unknown",
      "imports": "",
      "lines": 266,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "b8369c133b6ce09f1f0d29d0",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8f95fa76ed8c9660",
      "framework": "unknown",
      "imports": "",
      "lines": 257,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "182c025201e067aa55fe2935",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "200fdbce759bcbcf",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "pipeline/cookbooks/jenkins/test/cookbooks/jenkins-test/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "8974988013a33b6ef0b649b8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4125c8a357713ebd",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "xsociety_vmware",
      "normalized_name": "xsociety-vmware",
      "package_manager": "python",
      "path": "pipeline/Packer/xsociety_vmware.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8ec849f2ccc91678f5757244",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "40ba25d14b1832db",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "xsociety",
      "normalized_name": "xsociety",
      "package_manager": "python",
      "path": "pipeline/Packer/xsociety.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3af6f1d176e6e43199ce26dd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "40ba25d14b1832db",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "xsociety_aws",
      "normalized_name": "xsociety-aws",
      "package_manager": "python",
      "path": "pipeline/Packer/xsociety_aws.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "69bc46e85606c514e2e71dcd",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "getopt,libs.config,libs.db,os,pyqrcode,re,subprocess,sys,time,urllib2,xml.etree.ElementTree",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:agentcommand, androidbackdoor, androidnotbackdoor, check_apache, connectmodem, handshake, ismodem, list_agent_commands | imports:getopt, libs.config, libs.db, os, pyqrcode, re, subprocess, sys | security-score:55 | ai-score:45",
      "exports": "agentcommand,androidbackdoor,androidnotbackdoor,check_apache,connectmodem,handshake,ismodem,list_agent_commands,list_agent_parameters,list_live_agents,list_results,main,make_files,makebitly,makeclientside,makeqrcode,new_make_files,sendcommandhttp,sendnfc,sendsms,startlistener,usage",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "48f075c860d244de",
      "framework": "python",
      "imports": "getopt,libs.config,libs.db,os,pyqrcode,re,subprocess,sys,time,urllib2,xml.etree.ElementTree",
      "lines": 2382,
      "logic_relevance": "none",
      "name": "xsociety",
      "normalized_name": "xsociety",
      "package_manager": "python",
      "path": "archive/xsociety.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "f10dde99f42c537690bb3aa2",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "getopt,libs.config,libs.db,os,pyqrcode,re,subprocess,sys,time,urllib2,xml.etree.ElementTree",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:agentcommand, androidbackdoor, androidnotbackdoor, check_apache, connectmodem, handshake, ismodem, list_agent_commands | imports:getopt, libs.config, libs.db, os, pyqrcode, re, subprocess, sys | security-score:55 | ai-score:45",
      "exports": "agentcommand,androidbackdoor,androidnotbackdoor,check_apache,connectmodem,handshake,ismodem,list_agent_commands,list_agent_parameters,list_live_agents,list_results,main,make_files,makebitly,makeclientside,makeqrcode,new_make_files,sendcommandhttp,sendnfc,sendsms,startlistener,usage",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f09d50ee34182010",
      "framework": "python",
      "imports": "getopt,libs.config,libs.db,os,pyqrcode,re,subprocess,sys,time,urllib2,xml.etree.ElementTree",
      "lines": 2382,
      "logic_relevance": "none",
      "name": "xsociety2",
      "normalized_name": "xsociety2",
      "package_manager": "python",
      "path": "archive/xsociety2.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e14f0b79b37301cb346c6a59",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "argparse,libs.config,libs.db,logging,os,pathlib,pyqrcode,re,shutil,subprocess,sys,time,urllib.error,urllib.request,xml.etree.ElementTree",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:agent_command, android_backdoor, android_not_backdoor, build_and_inject, check_apache, connect_modem, create_campaign, create_stub_class | imports:argparse, libs.config, libs.db, logging, os, pathlib, pyqrcode, re | observability-score:55 | security-score:55",
      "exports": "agent_command,android_backdoor,android_not_backdoor,build_and_inject,check_apache,connect_modem,create_campaign,create_stub_class,deliver_attack,get_modem_info,handle_agent_attack,inject_manifest,is_modem,list_agents,list_agents_from_dir,list_campaigns,make_bitly,make_clientside,make_files,make_qr_code,parse_parameters,report_results,run_campaign,send_agent_command,send_command_http,send_nfc,send_sms,setup_agent_attack,setup_basic_attack,setup_harvester_attack,setup_parser,setup_pwn_attack,sign_apk,start_listener,update_strings",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4c677feac6ed5f7e",
      "framework": "python",
      "imports": "argparse,libs.config,libs.db,logging,os,pathlib,pyqrcode,re,shutil,subprocess,sys,time,urllib.error,urllib.request,xml.etree.ElementTree",
      "lines": 788,
      "logic_relevance": "none",
      "name": "harvester",
      "normalized_name": "harvester",
      "package_manager": "python",
      "path": "archive/harvester.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "8ead3b41c3f51c68aa880778",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "configparser,os",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:get_candidate_paths, load_config, select_xsociety_loc | imports:configparser, os | security-score:55",
      "exports": "get_candidate_paths,load_config,select_xsociety_loc",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7ebe9374cfc5d92c",
      "framework": "python",
      "imports": "configparser,os",
      "lines": 54,
      "logic_relevance": "none",
      "name": "config_loader",
      "normalized_name": "config-loader",
      "package_manager": "python",
      "path": "xsociety/config_loader.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "44971990ebe27c765727dc1c",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "logging,pathlib,xsociety_config,xsociety_utils",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:list_live_agents, list_results, report_results | imports:logging, pathlib, xsociety_config, xsociety_utils | observability-score:55 | security-score:55",
      "exports": "list_live_agents,list_results,report_results",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "707be1af9974fb2d",
      "framework": "python",
      "imports": "logging,pathlib,xsociety_config,xsociety_utils",
      "lines": 46,
      "logic_relevance": "none",
      "name": "xsociety_report",
      "normalized_name": "xsociety-report",
      "package_manager": "python",
      "path": "xsociety/xsociety_report.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "766f71a0ce7718f9d72fc0b3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "logging,os,pathlib,subprocess,time,typing,xml.etree.ElementTree,xsociety_agent,xsociety_config,xsociety_utils",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:connect_modem, is_modem_connected, make_files, run_campaign, setup_agent_run | imports:logging, os, pathlib, subprocess, time, typing, xml.etree.ElementTree, xsociety_agent | observability-score:55 | security-score:55",
      "exports": "connect_modem,is_modem_connected,make_files,run_campaign,setup_agent_run",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "dc2410fd39c06410",
      "framework": "python",
      "imports": "logging,os,pathlib,subprocess,time,typing,xml.etree.ElementTree,xsociety_agent,xsociety_config,xsociety_utils",
      "lines": 182,
      "logic_relevance": "none",
      "name": "xsociety_run",
      "normalized_name": "xsociety-run",
      "package_manager": "python",
      "path": "xsociety/xsociety_run.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "30fd204363a722924037962a",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "PIL,android.app.Activity,argparse,bs4,colorama,configparser,logging,lxml,os,pathlib,pyfiglet,pyperclip,pyqrcode,re,subprocess,sys,tqdm,typing,xml.etree.ElementTree",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ColoredFormatter, android_backdoor, android_not_backdoor, create_campaign, generate_qr_code, list_campaigns, load_config, main | imports:PIL, android.app.Activity, argparse, bs4, colorama, configparser, logging, lxml | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "ColoredFormatter,android_backdoor,android_not_backdoor,create_campaign,generate_qr_code,list_campaigns,load_config,main,make_clientside,normalize_path,parse_args,print_sample_config,set_attribute,setup_agent_attack,setup_basic_attack,setup_harvester_attack,setup_pwn_attack,validate_xml",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c22fef41555da94a",
      "framework": "python",
      "imports": "PIL,android.app.Activity,argparse,bs4,colorama,configparser,logging,lxml,os,pathlib,pyfiglet,pyperclip,pyqrcode,re,subprocess,sys,tqdm,typing,xml.etree.ElementTree",
      "lines": 674,
      "logic_relevance": "none",
      "name": "xsociety_campaign",
      "normalized_name": "xsociety-campaign",
      "package_manager": "python",
      "path": "xsociety/xsociety_campaign.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "71c9b0d250688599f37009a4",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "argparse,logging,sys,xsociety_agent,xsociety_campaign,xsociety_report,xsociety_run",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:build_parser, main | imports:argparse, logging, sys, xsociety_agent, xsociety_campaign, xsociety_report, xsociety_run | observability-score:55",
      "exports": "build_parser,main",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "532ed49982636572",
      "framework": "python",
      "imports": "argparse,logging,sys,xsociety_agent,xsociety_campaign,xsociety_report,xsociety_run",
      "lines": 134,
      "logic_relevance": "none",
      "name": "xsociety_main",
      "normalized_name": "xsociety-main",
      "package_manager": "python",
      "path": "xsociety/xsociety_main.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "0a7ab0a6575cda4e93c22592",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "logging,pathlib,pyqrcode,requests,subprocess,xsociety_config,xsociety_run",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:make_bitly, make_qrcode, normalize_path, send_command_http, send_nfc, send_sms | imports:logging, pathlib, pyqrcode, requests, subprocess, xsociety_config, xsociety_run | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "make_bitly,make_qrcode,normalize_path,send_command_http,send_nfc,send_sms",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "276c65be74afa8ea",
      "framework": "python",
      "imports": "logging,pathlib,pyqrcode,requests,subprocess,xsociety_config,xsociety_run",
      "lines": 66,
      "logic_relevance": "primary",
      "name": "xsociety_utils",
      "normalized_name": "xsociety-utils",
      "package_manager": "python",
      "path": "xsociety/xsociety_utils.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "a39960b5dc527d189390af06",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "logging,typing",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Config | imports:logging, typing | observability-score:55 | security-score:55",
      "exports": "Config",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "a8f140bced33468f",
      "framework": "python",
      "imports": "logging,typing",
      "lines": 40,
      "logic_relevance": "none",
      "name": "xsociety_config",
      "normalized_name": "xsociety-config",
      "package_manager": "python",
      "path": "xsociety/xsociety_config.py",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "8dbb51ac8ec0e4e986dc0293",
      "component_kind": "agent",
      "confidence": 90,
      "dependency_roots": "logging,os,pathlib,subprocess,typing,xml.etree.ElementTree,xsociety_config,xsociety_utils",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:agent_command, agent_execute, android_backdoor, list_agent_commands, start_listener | imports:logging, os, pathlib, subprocess, typing, xml.etree.ElementTree, xsociety_config, xsociety_utils | ai-score:75 | observability-score:55 | security-score:55",
      "exports": "agent_command,agent_execute,android_backdoor,list_agent_commands,start_listener",
      "extension": ".py",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "c8ca319d2db258cf",
      "framework": "python",
      "imports": "logging,os,pathlib,subprocess,typing,xml.etree.ElementTree,xsociety_config,xsociety_utils",
      "lines": 116,
      "logic_relevance": "none",
      "name": "xsociety_agent",
      "normalized_name": "xsociety-agent",
      "package_manager": "python",
      "path": "xsociety/xsociety_agent.py",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security",
      "component_id": "e3486d8fe4aa664d683ee17e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "argparse,mp4,socket,struct,sys",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:build_rop, create_mp4, make_chunk, make_stco, make_stsc, make_stsc_entry, make_stsz, make_stts | imports:argparse, mp4, socket, struct, sys | security-score:55",
      "exports": "build_rop,create_mp4,make_chunk,make_stco,make_stsc,make_stsc_entry,make_stsz,make_stts",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0e31d69e26f243e6",
      "framework": "python",
      "imports": "argparse,mp4,socket,struct,sys",
      "lines": 392,
      "logic_relevance": "none",
      "name": "mp4",
      "normalized_name": "mp4",
      "package_manager": "python",
      "path": "exploits/Android/mp4.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "cf375ff269d3abb350870897",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4315e50edae9f41",
      "framework": "css",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "xsociety_custom",
      "normalized_name": "xsociety-custom",
      "package_manager": "python",
      "path": "html/css/xsociety_custom.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,ai",
      "component_id": "91a2f4975bc5860f5bb807f9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9aaa30d3ebc72f03",
      "framework": "css",
      "imports": "",
      "lines": 354,
      "logic_relevance": "none",
      "name": "sb-admin-2",
      "normalized_name": "sb-admin-2",
      "package_manager": "python",
      "path": "html/css/sb-admin-2.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,ai",
      "component_id": "eabb9829c908f4c144c69618",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9aaa30d3ebc72f03",
      "framework": "css",
      "imports": "",
      "lines": 354,
      "logic_relevance": "none",
      "name": "xsociety",
      "normalized_name": "xsociety",
      "package_manager": "python",
      "path": "html/css/xsociety.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "9b770a7d61031102281d7556",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "56ce419afae15f49",
      "framework": "css",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "timeline",
      "normalized_name": "timeline",
      "package_manager": "python",
      "path": "html/css/timeline.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "style",
      "component_id": "d05854b374bbcfd9a439c199",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for testing; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6a967a6323464177",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "python",
      "path": "html/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,ai",
      "component_id": "a596665cc8bf352ca941a41c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a084b1e730016387",
      "framework": "css",
      "imports": "",
      "lines": 366,
      "logic_relevance": "none",
      "name": "sb-admin-2",
      "normalized_name": "sb-admin-2",
      "package_manager": "python",
      "path": "html/less/sb-admin-2.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "a36af6f9ada9c8673f96f01e",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bd8b08b7f363dc6a",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "python",
      "path": "html/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "e7e56a42db3ab8153ca6dd14",
      "component_kind": "observability-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3cc868a89cea0f30",
      "framework": "unknown",
      "imports": "",
      "lines": 1242,
      "logic_relevance": "none",
      "name": "flot-data",
      "normalized_name": "flot-data",
      "package_manager": "python",
      "path": "html/js/flot-data.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "70d7f0440e3d4a4e0722523b",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "56aaab5855e4cdba",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "morris-data",
      "normalized_name": "morris-data",
      "package_manager": "python",
      "path": "html/js/morris-data.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "6dc43ad73c37ddc9182b931f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2bee4f0d0eac811b",
      "framework": "unknown",
      "imports": "",
      "lines": 654,
      "logic_relevance": "none",
      "name": "History",
      "normalized_name": "history",
      "package_manager": "python",
      "path": "html/components/mocha/History.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "90a2757a7fd8edd74d233b98",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1bcd92ba4773fc48",
      "framework": "unknown",
      "imports": "",
      "lines": 172,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/mocha/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "991c83b3545fb6fd62ee9473",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6bb2a46eabcef2d5",
      "framework": "css",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "mocha",
      "normalized_name": "mocha",
      "package_manager": "python",
      "path": "html/components/mocha/mocha.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "429ccdcfa349903c54c50e79",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "browser,growl,jade,mocha",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Base, Context, Doc, Dot, EventEmitter, F, HTML, HTMLCov | imports:../browser/progress, ../ms, ../suite, ../test, ../utils, ./base, ./bdd, ./context | security-score:55 | uses-env",
      "exports": "Base,Context,Doc,Dot,EventEmitter,F,HTML,HTMLCov,Hook,JSONCov,JSONReporter,Landing,List,Markdown,Min,Mocha,NyanCat,Progress,Runnable,Runner,Spec,Suite,TAP,Test,XUnit",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "283eb32fcbfeb553",
      "framework": "unknown",
      "imports": "../browser/progress,../ms,../suite,../test,../utils,./base,./bdd,./context,./doc,./dot,./exports,./hook,./html,./html-cov,./interfaces,./json,./json-cov,./json-stream,./landing,./list,./markdown,./min,./ms,./nyan,./progress,./qunit,./reporters,./runnable,./runner,./spec,./suite,./tap,./tdd,./test,./utils,./xunit,browser/debug,browser/diff,browser/events,browser/fs,browser/path,browser/tty,growl,jade,mocha",
      "lines": 5812,
      "logic_relevance": "none",
      "name": "mocha",
      "normalized_name": "mocha",
      "package_manager": "python",
      "path": "html/components/mocha/mocha.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "observability,security",
      "component_id": "9bcd2a40b9b0f309fb6ee60a",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,load-grunt-tasks,npm-shrinkwrap,path,time-grunt",
      "description": "Observability component for discovery; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./grunt/bs-commonjs-generator.js, ./grunt/bs-glyphicons-data-generator.js, ./grunt/bs-lessdoc-parser.js, ./grunt/bs-raw-files-generator.js, fs, load-grunt-tasks, npm-shrinkwrap, path | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9e788cd6e2b6a19",
      "framework": "unknown",
      "imports": "./grunt/bs-commonjs-generator.js,./grunt/bs-glyphicons-data-generator.js,./grunt/bs-lessdoc-parser.js,./grunt/bs-raw-files-generator.js,fs,load-grunt-tasks,npm-shrinkwrap,path,time-grunt",
      "lines": 533,
      "logic_relevance": "none",
      "name": "Gruntfile",
      "normalized_name": "gruntfile",
      "package_manager": "python",
      "path": "html/components/bootstrap/Gruntfile.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "3fec5dfd43b88c1255a707d0",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a55c6c47ab3bf3ca",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "CHANGELOG",
      "normalized_name": "changelog",
      "package_manager": "python",
      "path": "html/components/bootstrap/CHANGELOG.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "security,automation",
      "component_id": "f99f1471f27b7a85e9e2fb3a",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "acd24465ea22ef10",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "python",
      "path": "html/components/bootstrap/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "bdeb1c2f6a4870345ce27af6",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9af80a4c8e71dd38",
      "framework": "unknown",
      "imports": "",
      "lines": 139,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/bootstrap/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9ce8e15b17cbf3e4655c886c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "8bbb8a03e6cd3018",
      "framework": "unknown",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "python",
      "path": "html/components/bootstrap/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "3d84411f694677f2bd4c2398",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b32356374e5cbe13",
      "framework": "css",
      "imports": "",
      "lines": 613,
      "logic_relevance": "none",
      "name": "forms",
      "normalized_name": "forms",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/forms.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "11099aa9bb72e84e90486fb2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f6034c1e380bf944",
      "framework": "css",
      "imports": "",
      "lines": 55,
      "logic_relevance": "secondary",
      "name": "utilities",
      "normalized_name": "utilities",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/utilities.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "64ce0f8a43ac96c69265e410",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea99b5e866e74642",
      "framework": "css",
      "imports": "",
      "lines": 242,
      "logic_relevance": "none",
      "name": "navs",
      "normalized_name": "navs",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/navs.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "a963326aecd58632078ad16e",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e939f4d9361dbda8",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "component-animations",
      "normalized_name": "component-animations",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/component-animations.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,logic",
      "component_id": "0824c3dfda69d15751357b1d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "82faef37dbded5a6",
      "framework": "css",
      "imports": "",
      "lines": 194,
      "logic_relevance": "secondary",
      "name": "responsive-utilities",
      "normalized_name": "responsive-utilities",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/responsive-utilities.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "04e70fea6f4d825ae8eab041",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e600ef88ebc68dda",
      "framework": "css",
      "imports": "",
      "lines": 84,
      "logic_relevance": "none",
      "name": "grid",
      "normalized_name": "grid",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/grid.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "98e1b9a725cee92cf450dea9",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1cc333c9046b9d4e",
      "framework": "css",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "breadcrumbs",
      "normalized_name": "breadcrumbs",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/breadcrumbs.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "d989621a3a7a0d9b624e0c8f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f172c116446499c7",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "media",
      "normalized_name": "media",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/media.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,ui",
      "component_id": "71cf73b7974d3db281241e22",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72291d5821b6f373",
      "framework": "css",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/carousel.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "236be43a13e9ad3c4a780311",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b365798cc3ccc1a8",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "print",
      "normalized_name": "print",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/print.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "92472b008c6e920a109965b0",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1d2fd98609869e83",
      "framework": "css",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "buttons",
      "normalized_name": "buttons",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "79c82f7f0623f166c5e43971",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d7e285f2e823c722",
      "framework": "css",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "list-group",
      "normalized_name": "list-group",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/list-group.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "style,automation",
      "component_id": "9882551eb20c4f9c7aff6bec",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d88586bdad2cd397",
      "framework": "css",
      "imports": "",
      "lines": 660,
      "logic_relevance": "none",
      "name": "navbar",
      "normalized_name": "navbar",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/navbar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,integration",
      "component_id": "63ab638ceb341bccbc89bf79",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | integration-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3152290f4ea80ea5",
      "framework": "css",
      "imports": "",
      "lines": 244,
      "logic_relevance": "none",
      "name": "button-groups",
      "normalized_name": "button-groups",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/button-groups.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "143345f0bbd319b95220064d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "81417d06a65ee59b",
      "framework": "css",
      "imports": "",
      "lines": 87,
      "logic_relevance": "none",
      "name": "progress-bars",
      "normalized_name": "progress-bars",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/progress-bars.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "cbb4fa74dfe73e119277d46b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "07e2c9ceffdfcffa",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/bootstrap.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "7702bb97e823115f10f6bbe0",
      "component_kind": "stylesheet",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "exports:&:before { content: \"\\e170\"; | style-score:100 | observability-score:55 | security-score:55",
      "exports": "&:before { content: \"\\e170\";",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "049201f884fda3dd",
      "framework": "css",
      "imports": "",
      "lines": 305,
      "logic_relevance": "none",
      "name": "glyphicons",
      "normalized_name": "glyphicons",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/glyphicons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "445bd96dfcbd1c14384c6fd5",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b499f784fee9f9fe",
      "framework": "css",
      "imports": "",
      "lines": 869,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style",
      "component_id": "2aa5e2f7c776ba6b14369ed6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d98e5144917146bf",
      "framework": "css",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "responsive-embed",
      "normalized_name": "responsive-embed",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/responsive-embed.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "6ca1b3ac22bd1f724c21094b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ad35c2a47ba07322",
      "framework": "css",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "jumbotron",
      "normalized_name": "jumbotron",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/jumbotron.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "a2b75373c9a5d506e90f05fc",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "50bd00d003e31fbb",
      "framework": "css",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "badges",
      "normalized_name": "badges",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/badges.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability",
      "component_id": "ca2309b36eb4f6194cb5b1de",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d069dbbe6d3a4390",
      "framework": "css",
      "imports": "",
      "lines": 89,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/pagination.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "e6a674ffcd995e9ec87a6ad0",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8e7904979425cb35",
      "framework": "css",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "pager",
      "normalized_name": "pager",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/pager.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,integration",
      "component_id": "80eb0af9ac81b6e684f7c804",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | integration-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "32255f43c4bbc480",
      "framework": "css",
      "imports": "",
      "lines": 171,
      "logic_relevance": "none",
      "name": "input-groups",
      "normalized_name": "input-groups",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/input-groups.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "style,automation",
      "component_id": "96723127130577dcab11bac9",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b9434ada20d4fb5e",
      "framework": "css",
      "imports": "",
      "lines": 302,
      "logic_relevance": "none",
      "name": "type",
      "normalized_name": "type",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/type.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "45686103d35e79ac0963a3c8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cf0109dd08fdb24d",
      "framework": "css",
      "imports": "",
      "lines": 424,
      "logic_relevance": "none",
      "name": "normalize",
      "normalized_name": "normalize",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/normalize.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "style,automation",
      "component_id": "be2f3a2f0c8d50fd70354982",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | automation-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4fc47977def5aaa5",
      "framework": "css",
      "imports": "",
      "lines": 291,
      "logic_relevance": "none",
      "name": "theme",
      "normalized_name": "theme",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/theme.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "3ad59c78828e0c1fcbcf9297",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c95264fc75f2eb08",
      "framework": "css",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "code",
      "normalized_name": "code",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/code.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "17fe09fc8296ef255f256ae2",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "87e9879c7e6dec71",
      "framework": "css",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "thumbnails",
      "normalized_name": "thumbnails",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/thumbnails.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ec17023aabe93f77a5915dab",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "faafe8a60b749209",
      "framework": "css",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "labels",
      "normalized_name": "labels",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/labels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "bd0df52cf6defc121a3f6aa1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8752cb6b680b0e8f",
      "framework": "css",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/alerts.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "a612285b12f697e7652819bf",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c90955b6a9aa6478",
      "framework": "css",
      "imports": "",
      "lines": 216,
      "logic_relevance": "none",
      "name": "dropdowns",
      "normalized_name": "dropdowns",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/dropdowns.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "263b7fdb63d8c63faa9a7609",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a40753faa609dc60",
      "framework": "css",
      "imports": "",
      "lines": 131,
      "logic_relevance": "none",
      "name": "popovers",
      "normalized_name": "popovers",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/popovers.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f36bb25463a84d97e3f2ff64",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "48e8b334504d224e",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "wells",
      "normalized_name": "wells",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/wells.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "db5976c5397a44798724b884",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fcf4691aaf1f56e0",
      "framework": "css",
      "imports": "",
      "lines": 161,
      "logic_relevance": "none",
      "name": "scaffolding",
      "normalized_name": "scaffolding",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/scaffolding.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "ff384e60989c634b3cd01a61",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3f64698fd0aeead",
      "framework": "css",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "tables",
      "normalized_name": "tables",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/tables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "55b28089ec0299caf5ca6621",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "75d84db07a329480",
      "framework": "css",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "modals",
      "normalized_name": "modals",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/modals.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ead916585944e6da0b3bcbae",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "219d6a5f9da25ac7",
      "framework": "css",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "82b11e6a1e47b02cbf190654",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2fd6f373ff01b2a9",
      "framework": "css",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "close",
      "normalized_name": "close",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/close.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,ui",
      "component_id": "7aec5acab49ef0a97db8ed20",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "52f3f302069ba7ea",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/tooltip.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e4952430fd44f32222611f8b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0f7c7e3f433075e7",
      "framework": "css",
      "imports": "",
      "lines": 271,
      "logic_relevance": "none",
      "name": "panels",
      "normalized_name": "panels",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/panels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style",
      "component_id": "6968325f0d12ac76d232b6aa",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "88ac5cb8c5ba5fc0",
      "framework": "css",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "forms",
      "normalized_name": "forms",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/forms.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "7fccc9f7569316e775d62c6f",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c946c47d0aece91a",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "text-emphasis",
      "normalized_name": "text-emphasis",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/text-emphasis.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "ce4f9377cf8c7cbf100c792a",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ab36bdc7fb86b18b",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "nav-vertical-align",
      "normalized_name": "nav-vertical-align",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/nav-vertical-align.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "a8728ca42e44ca7740b72051",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fbc0a73ea2a8e232",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "table-row",
      "normalized_name": "table-row",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/table-row.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "f467407b43c1d52f4f61a302",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "00e995f96bf4750f",
      "framework": "css",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "hide-text",
      "normalized_name": "hide-text",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/hide-text.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "0f314c4b386b483bbec0b70d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "826083699b74b936",
      "framework": "css",
      "imports": "",
      "lines": 122,
      "logic_relevance": "none",
      "name": "grid",
      "normalized_name": "grid",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/grid.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "style",
      "component_id": "fb3484eff324daef637d914d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for testing; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5b157b8b8aab78a",
      "framework": "css",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "gradients",
      "normalized_name": "gradients",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/gradients.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "8751723c17c88cd5935bfb4b",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8043f8d3ab4d8d3c",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "nav-divider",
      "normalized_name": "nav-divider",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/nav-divider.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "a9106018ec2b5bed0435db44",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e21cdfbc6c54c9c4",
      "framework": "css",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "buttons",
      "normalized_name": "buttons",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/buttons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "655be822d5fc8d8d82daf311",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "17ba7c9250459ecf",
      "framework": "css",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "list-group",
      "normalized_name": "list-group",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/list-group.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "16a355dce76ee9e20bf3044b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5bc36f8b6451ac06",
      "framework": "css",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "image",
      "normalized_name": "image",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/image.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "9f3d36aaf9bada1dd7484f34",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "699ed793530ccf11",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "reset-filter",
      "normalized_name": "reset-filter",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/reset-filter.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "c8c9cf096f6b20855a54b874",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6aade69b4f606ff0",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "text-overflow",
      "normalized_name": "text-overflow",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/text-overflow.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "0fcc758d3c7160d498d6c6ea",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "731273ad4146e5cc",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "size",
      "normalized_name": "size",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/size.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "7903afdb75f4a038b7d3c531",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a9353308b82c8c56",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "background-variant",
      "normalized_name": "background-variant",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/background-variant.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability",
      "component_id": "106c7bb5c53b75d9a6b715ff",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4ae2ad8ff292532c",
      "framework": "css",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "pagination",
      "normalized_name": "pagination",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/pagination.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "game",
      "categories": "style",
      "component_id": "b0596bf2cab3387d67bcb6dd",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for game; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "42a5bfd1e72a04ce",
      "framework": "css",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "center-block",
      "normalized_name": "center-block",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/center-block.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e42e0e2cc4602987cff4ea80",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7800de23d032f3c5",
      "framework": "css",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "responsive-visibility",
      "normalized_name": "responsive-visibility",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/responsive-visibility.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "62be6444a285c454e972134d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b434d897ac8d38e0",
      "framework": "css",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "labels",
      "normalized_name": "labels",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/labels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style",
      "component_id": "3b3eebe1827aa94667e0c4b8",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "14e252cd9ad3c15d",
      "framework": "css",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "grid-framework",
      "normalized_name": "grid-framework",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/grid-framework.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ca448bb150e0b02ea5d8a263",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e69871b5803835bb",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "border-radius",
      "normalized_name": "border-radius",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/border-radius.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ab85cc1ee4f69801b335ca2f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "755e6753a8260789",
      "framework": "css",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "clearfix",
      "normalized_name": "clearfix",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/clearfix.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "0543b948e4ae7783f8f8bfb4",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7e43cf5bd7958467",
      "framework": "css",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "opacity",
      "normalized_name": "opacity",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/opacity.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "24fb264e2e84cd61a728ab7f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "71c8c0b6e22a2d41",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "alerts",
      "normalized_name": "alerts",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/alerts.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "2feba9ee97cf602bed4474bb",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e3e441c81bfe1f3c",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "progress-bar",
      "normalized_name": "progress-bar",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/progress-bar.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "style,ai",
      "component_id": "f7d43d021e1709ce56e69739",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for analytics; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | ai-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1b507204935e0395",
      "framework": "css",
      "imports": "",
      "lines": 227,
      "logic_relevance": "none",
      "name": "vendor-prefixes",
      "normalized_name": "vendor-prefixes",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/vendor-prefixes.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "cf8973bb3188daee90a2b153",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1b75fdfcd489845b",
      "framework": "css",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "reset-text",
      "normalized_name": "reset-text",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/reset-text.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "8ef28452201b0a3a9815f876",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b6132814f56a8f43",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "resize",
      "normalized_name": "resize",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/resize.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e4e6d15701e74d19c98c4e9b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "315dc3f8368bd42e",
      "framework": "css",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "panels",
      "normalized_name": "panels",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/panels.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "1adc8b320d504cee0807a829",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dee41df40f2fc5fc",
      "framework": "css",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "tab-focus",
      "normalized_name": "tab-focus",
      "package_manager": "python",
      "path": "html/components/bootstrap/less/mixins/tab-focus.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0adf65c1b88e5771bfa2aadc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4c4992c0cea541a0",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "transition",
      "normalized_name": "transition",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/transition.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,security",
      "component_id": "53671ea4a18052295238a01a",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3bc9620928f72c4e",
      "framework": "unknown",
      "imports": "",
      "lines": 514,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/tooltip.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "57ba25806c0f7874b652b3a8",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Plugin | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "92d4c20f5350f2ba",
      "framework": "unknown",
      "imports": "",
      "lines": 165,
      "logic_relevance": "none",
      "name": "dropdown",
      "normalized_name": "dropdown",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/dropdown.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui",
      "component_id": "4ec76b07661d882340260c0a",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9eafe4728dfc7e52",
      "framework": "unknown",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/popover.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui",
      "component_id": "02d40d7c8bac5d17bac9e207",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bf5bf7c66a7596b4",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/alert.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui",
      "component_id": "5bbe2b6c95d29ec1e796d045",
      "component_kind": "ui-primitive",
      "confidence": 80,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "318791b8d45a0840",
      "framework": "unknown",
      "imports": "",
      "lines": 120,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/button.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,security",
      "component_id": "3619a530a378e55a61e43d4f",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Plugin | ui-score:70 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "8267c3df279fd9d3",
      "framework": "unknown",
      "imports": "",
      "lines": 237,
      "logic_relevance": "none",
      "name": "carousel",
      "normalized_name": "carousel",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/carousel.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "036de1d7b2d1ccfad57e24ac",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Plugin | observability-score:55 | security-score:55",
      "exports": "Plugin",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d52795b36f7aca99",
      "framework": "unknown",
      "imports": "",
      "lines": 337,
      "logic_relevance": "none",
      "name": "modal",
      "normalized_name": "modal",
      "package_manager": "python",
      "path": "html/components/bootstrap/js/modal.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f93254b5d44a36614e93228e",
      "component_kind": "parser",
      "confidence": 100,
      "dependency_roots": "markdown-it",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:Parser, Section, SectionDocstring, SubSection, Tokenizer, VarDocstring, Variable | imports:markdown-it | logic-score:85 | security-score:55",
      "exports": "Parser,Section,SectionDocstring,SubSection,Tokenizer,VarDocstring,Variable",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9f8d81b2d193d645",
      "framework": "unknown",
      "imports": "markdown-it",
      "lines": 237,
      "logic_relevance": "primary",
      "name": "bs-lessdoc-parser",
      "normalized_name": "bs-lessdoc-parser",
      "package_manager": "python",
      "path": "html/components/bootstrap/grunt/bs-lessdoc-parser.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "37f9750a3a211af767614c21",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae916717b904ad85",
      "framework": "unknown",
      "imports": "fs",
      "lines": 42,
      "logic_relevance": "none",
      "name": "bs-glyphicons-data-generator",
      "normalized_name": "bs-glyphicons-data-generator",
      "package_manager": "python",
      "path": "html/components/bootstrap/grunt/bs-glyphicons-data-generator.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "442546082f80f685e483a31c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "btoa,fs,glob",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:btoa, fs, glob | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a11df2b53aa237ec",
      "framework": "unknown",
      "imports": "btoa,fs,glob",
      "lines": 44,
      "logic_relevance": "none",
      "name": "bs-raw-files-generator",
      "normalized_name": "bs-raw-files-generator",
      "package_manager": "python",
      "path": "html/components/bootstrap/grunt/bs-raw-files-generator.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ebea58386b3b52287d922f27",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "fs,path",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, path | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "267348239e8a2a1d",
      "framework": "unknown",
      "imports": "fs,path",
      "lines": 30,
      "logic_relevance": "none",
      "name": "bs-commonjs-generator",
      "normalized_name": "bs-commonjs-generator",
      "package_manager": "python",
      "path": "html/components/bootstrap/grunt/bs-commonjs-generator.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "de2565bc9bccec776c7a118a",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".ps1",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e1c3c9eca85c42dd",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "MyGet",
      "normalized_name": "my-get",
      "package_manager": "python",
      "path": "html/components/bootstrap/nuget/MyGet.ps1",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "9bdadbc5f84500198b7a13c2",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f9e0046c359ed339",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "make",
      "normalized_name": "make",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/make.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "process",
      "component_id": "ee1c3cbf96f11cc5cb0fcffb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f49dc3317febf580",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0113621a4e2071f23b6d1375",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c46a1ddf3c0645e2",
      "framework": "unknown",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "ellipses",
      "normalized_name": "ellipses",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/ellipses.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "97a570f049d0a27f230efdf3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "541caa7b92a6cb46",
      "framework": "next-react",
      "imports": "",
      "lines": 130,
      "logic_relevance": "none",
      "name": "scrolling",
      "normalized_name": "scrolling",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/scrolling.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability,security",
      "component_id": "b4d8ca02dc920190610c1380",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5ce58300ed61fce9",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "select",
      "normalized_name": "select",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/select.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0f8ae87f09d68113d7f74232",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "be4866de6ae2ad9c",
      "framework": "next-react",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "four_button",
      "normalized_name": "four-button",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/four_button.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability,security",
      "component_id": "b37edc3618145b7ef02df1cd",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "99c416f3b20a9905",
      "framework": "next-react",
      "imports": "",
      "lines": 220,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/input.js",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fbc451bd7017c1fafa935afb",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "97ccba1220d9b661",
      "framework": "next-react",
      "imports": "",
      "lines": 137,
      "logic_relevance": "none",
      "name": "extjs",
      "normalized_name": "extjs",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/extjs.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "9b49ba0940c21fdb44453e23",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "949378c54f340a7a",
      "framework": "unknown",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "dataTables.jPaginator",
      "normalized_name": "data-tables-j-paginator",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/pagination/jPaginator/dataTables.jPaginator.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b35016e46a4f72bdb3dde9dd",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8406dc2990835512",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "range_numbers",
      "normalized_name": "range-numbers",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/filtering/row-based/range_numbers.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "11ab8df0f28ecb468c9ee6ad",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "83c16c4d72042cbf",
      "framework": "unknown",
      "imports": "",
      "lines": 168,
      "logic_relevance": "none",
      "name": "TableTools.ShowSelectedOnly",
      "normalized_name": "table-tools-show-selected-only",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/filtering/row-based/TableTools.ShowSelectedOnly.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "130ff0235fd9cfab1de90fc8",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f7340c251e39ff49",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "range_dates",
      "normalized_name": "range-dates",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/filtering/row-based/range_dates.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "524be597d6ea6d16c6360ed8",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "96be080a435bd46c",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "html",
      "normalized_name": "html",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/filtering/type-based/html.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "09ce1c7f64311140284c56d7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dab0f525df96d0f6",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "accent-neutralise",
      "normalized_name": "accent-neutralise",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/filtering/type-based/accent-neutralise.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ddebc834bfc75a56d3b2b693",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2191bf486a9e31d4",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "phoneNumber",
      "normalized_name": "phone-number",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/filtering/type-based/phoneNumber.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "2a413e355888638714a1f082",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1de793c3a97161e0",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui.min",
      "normalized_name": "data-tables-jqueryui-min",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "3901f186f6312a33921f846f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c42d3cd45d31a409",
      "framework": "css",
      "imports": "",
      "lines": 414,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "679223de5adbff039cc71d4d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dc3f56543da4311f",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 156,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "3720954951ae00e3261be968",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a77d8ad1f4528caa",
      "framework": "css",
      "imports": "",
      "lines": 523,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "1f8eddcde266a88d13df9336",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3ed73d8be7a85bea",
      "framework": "next-react",
      "imports": "",
      "lines": 150,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "style",
      "component_id": "0698812ce1d45da313050122",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for shipping; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7d5ba5d70c746e07",
      "framework": "css",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "dadb117965e7e6b860a2553b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f2fcf631c05c66ac",
      "framework": "css",
      "imports": "",
      "lines": 314,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a80484bbd4a858c1c606dddf",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5ede5d045b085ce0",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap.min",
      "normalized_name": "data-tables-bootstrap-min",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6df8470837d491919139b144",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8e32a2b9358177cc",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "5ef0e71d20c841f89e72b899",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3326b7fcc05e2be8",
      "framework": "css",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "60c2e085c7f76845908e2b44",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6cf90de3609f7b38",
      "framework": "css",
      "imports": "",
      "lines": 216,
      "logic_relevance": "none",
      "name": "dataTables.foundation",
      "normalized_name": "data-tables-foundation",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/foundation/dataTables.foundation.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e20fa2aa2ab36e75da8c1476",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1312655859bfabbe",
      "framework": "css",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "dataTables.fontAwesome",
      "normalized_name": "data-tables-font-awesome",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/integration/font-awesome/dataTables.fontAwesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ef696db1bc9cd81b961035b1",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a2d3b125a47e1e31",
      "framework": "unknown",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "dataTables.alphabetSearch",
      "normalized_name": "data-tables-alphabet-search",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "fac842ea6fe84b8b12e63b3c",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73b619064f928b67",
      "framework": "unknown",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "dataTables.alphabetSearch.min",
      "normalized_name": "data-tables-alphabet-search-min",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "6f5931908fc096025d51ef1f",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "124c23f4f44824fa",
      "framework": "css",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "dataTables.alphabetSearch",
      "normalized_name": "data-tables-alphabet-search",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3e9407882cec07087ce2ca3b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "10b9d045939171c1",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "dataTables.searchHighlight",
      "normalized_name": "data-tables-search-highlight",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "3b3c8bb8a70e19e38d04acc0",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2931446d224f9499",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "dataTables.searchHighlight",
      "normalized_name": "data-tables-search-highlight",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "533095f2e297a7818aed9556",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4fb50b42dbe8e9ae",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "dataTables.lengthLinks",
      "normalized_name": "data-tables-length-links",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "f262bbeae0ad636cd8b04bed",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "baaf624ffbd05e61",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "dataTables.lengthLinks",
      "normalized_name": "data-tables-length-links",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "98c1e67d3fbf864f7e21da4f",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "00dc16be32a5ccd1",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "numeric-comma",
      "normalized_name": "numeric-comma",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/numeric-comma.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "646b55d549698e76c94a48b3",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0db5dc7456cb568b",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "num-html",
      "normalized_name": "num-html",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/num-html.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "5cb8caa43c111ff614f1f59e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9598fcce4481dab1",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "file-size",
      "normalized_name": "file-size",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/file-size.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3a51aec605eb5fa7c1d2fa8a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0caa79c87d0c0243",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "currency",
      "normalized_name": "currency",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/currency.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "67973f405926a79f219ab2de",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb2c366d24c33347",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "date-uk",
      "normalized_name": "date-uk",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/date-uk.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9d635ad4af2f9ce04ee59d66",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1fa4b27b052c7362",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "ip-address",
      "normalized_name": "ip-address",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/ip-address.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "012d2161b7b0733a180b722b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7c6b91e40c791e55",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "formatted-num",
      "normalized_name": "formatted-num",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/type-detection/formatted-num.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e541759adf1b53a88e2fb7ea",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d214fb631b6796db",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "date-euro",
      "normalized_name": "date-euro",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/date-euro.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "50931c4bc8bf0ba787d88cf9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "77ee47e1ebdf32c6",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "numeric-comma",
      "normalized_name": "numeric-comma",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/numeric-comma.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2acd9c68222bb63f9eba1b5b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f228037356d91ae2",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "monthYear",
      "normalized_name": "month-year",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/monthYear.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "3f6d7182d20d8434812546dc",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "acb6196a363052cd",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "datetime-moment",
      "normalized_name": "datetime-moment",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/datetime-moment.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "659e7e70a1757a1afa3942a2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ece3fdf24ca2a4f6",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "chinese-string",
      "normalized_name": "chinese-string",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/chinese-string.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8e0d22ebc0fe64c3bbfb010b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2a3ae8699f530709",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "anti-the",
      "normalized_name": "anti-the",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/anti-the.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "75c4c6707d796369a5b768ef",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7fadc14119699f0d",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "title-numeric",
      "normalized_name": "title-numeric",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/title-numeric.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "adfbb042db921bb92614baca",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a77add5fc842d5f1",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "stringMonthYear",
      "normalized_name": "string-month-year",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/stringMonthYear.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "fc10c406bba0a5483b2a6735",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6c67b0a6aae234df",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "num-html",
      "normalized_name": "num-html",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/num-html.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ca6e61de6ab86e1bf37c6cb4",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "50d3a714d69f3f85",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "title-string",
      "normalized_name": "title-string",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/title-string.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d7b9d3e98951cf81a9dfaa3d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a3adac265f3c5140",
      "framework": "unknown",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "time",
      "normalized_name": "time",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/time.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "16d0d9b526969fcf455edba1",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d199b69886ed285",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "percent",
      "normalized_name": "percent",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/percent.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "8463135eca84d7225de11881",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8d7b14408b5fb457",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "file-size",
      "normalized_name": "file-size",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/file-size.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "1e8b9ac0df2781d9944971f0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3b028a55e8901497",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "formatted-numbers",
      "normalized_name": "formatted-numbers",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/formatted-numbers.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "b2721f693a612db7ada18007",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c7e0401b94829afa",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "natural",
      "normalized_name": "natural",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/natural.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "794be543c8899e6abb38da0d",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "163881aa71abf0f3",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "date-eu",
      "normalized_name": "date-eu",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/date-eu.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b9377f0c01be7602187563e2",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f1817cd02fe20b29",
      "framework": "unknown",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "datetime-us",
      "normalized_name": "datetime-us",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/datetime-us.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "530d66721e96506bab3e93b2",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d82de363baaa69d2",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "signed-num",
      "normalized_name": "signed-num",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/signed-num.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c688634e7a9f7df0d4246bd0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b0d6c33cc6234c62",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "alt-string",
      "normalized_name": "alt-string",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/alt-string.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c6ddfe855a1822a9d2df38b9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b23d4fbbc1cf989d",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "turkish-string",
      "normalized_name": "turkish-string",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/turkish-string.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "cd174626423a0ac2907435a7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9ccbbdeb69b5f82a",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "currency",
      "normalized_name": "currency",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/currency.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "d1d900888c9dd50896cbb4c1",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a251f441fa004ff6",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "enum",
      "normalized_name": "enum",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/enum.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "56485018d506b5e209f7653b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d287812468cdf5cc",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "date-uk",
      "normalized_name": "date-uk",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/date-uk.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6ca2e304a45f01cf6f16906c",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "db2eb511563d8a71",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "ip-address",
      "normalized_name": "ip-address",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/ip-address.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "06f75f08a1fa8c00f9cbc3e7",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "3a7bc7c1a947f365",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "scientific",
      "normalized_name": "scientific",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/scientific.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "448ad13b9d95377be87aa6da",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8df377ab9db42f43",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "date-dd-MMM-yyyy",
      "normalized_name": "date-dd-mmm-yyyy",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/date-dd-MMM-yyyy.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "422fcf4cc8b519a10dcbda43",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5831de4f733ef551",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "date-de",
      "normalized_name": "date-de",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/date-de.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "33a94d818275bef80a62c282",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GetUniCode | observability-score:55 | security-score:55",
      "exports": "GetUniCode",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f4d45d9219c6b904",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "persian",
      "normalized_name": "persian",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/persian.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "07cbc67db15ce4a4cde59b71",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09a49f8316e84bf4",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "dom-select",
      "normalized_name": "dom-select",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/custom-data-source/dom-select.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d12a42f2b6850a37ce1e4b81",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b578be92f468a3ef",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "dom-text",
      "normalized_name": "dom-text",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/custom-data-source/dom-text.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c0866c9bb13888dad8f55f4e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0b5f6f33ab025ecf",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "dom-checkbox",
      "normalized_name": "dom-checkbox",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/sorting/custom-data-source/dom-checkbox.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "6163d232bc64a0093a046dfb",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eff004530dd317be",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fnFindCellRowIndexes",
      "normalized_name": "fn-find-cell-row-indexes",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnFindCellRowIndexes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "1eef4dc18c2e1cc65cda9d5b",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1c2c21088a74067a",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "fnDataUpdate",
      "normalized_name": "fn-data-update",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnDataUpdate.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "90ea33a7c6f2f6e588c0dee8",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "4e6ed8a51910f86b",
      "framework": "unknown",
      "imports": "",
      "lines": 74,
      "logic_relevance": "none",
      "name": "fnAddTr",
      "normalized_name": "fn-add-tr",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnAddTr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "848c23579e59c468941f132f",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c1f5a28bd41fdeab",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "fnAddDataAndDisplay",
      "normalized_name": "fn-add-data-and-display",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnAddDataAndDisplay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "6d32209d7fbc04504d70f483",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "1b4ccba25c3d99db",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "fnFilterAll",
      "normalized_name": "fn-filter-all",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnFilterAll.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "481b636256ff56327622dd43",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "de3412bf44ffa4b0",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "fnDisplayStart",
      "normalized_name": "fn-display-start",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnDisplayStart.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "76453dec7c4735c990a30224",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cdc8f6312f3e16be",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fnFindCellRowNodes",
      "normalized_name": "fn-find-cell-row-nodes",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnFindCellRowNodes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "c0f78febc0a47d5e994a4cec",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "51e52b4223b34438",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "fnStandingRedraw",
      "normalized_name": "fn-standing-redraw",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnStandingRedraw.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "571581b8b1c933e58489cad2",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "cfae5dd53ad2b296",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "fnGetHiddenNodes",
      "normalized_name": "fn-get-hidden-nodes",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnGetHiddenNodes.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "17f8681ca7a228f6f9e01dde",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d77ccac87b03ec13",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "fnSortNeutral",
      "normalized_name": "fn-sort-neutral",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnSortNeutral.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "4bf47fb052ac6660652e5175",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b0ba9bcb7876e0b0",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "fnPagingInfo",
      "normalized_name": "fn-paging-info",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnPagingInfo.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8247878172943552ba70dcbe",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "c0610da9bd5ef1e1",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "fnReloadAjax",
      "normalized_name": "fn-reload-ajax",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnReloadAjax.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "fa8fb43e8139178601455547",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "b8b7b3abd7d3cc22",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "column().title()",
      "normalized_name": "column-title",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/column().title().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "9fe014639429509db54a8a6e",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "79af78ba8be4b331",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "columns().order()",
      "normalized_name": "columns-order",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/columns().order().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "af06df3b7434147a8ad5da7e",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8c950fe7a9a3a81e",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "fnColumnIndexToVisible",
      "normalized_name": "fn-column-index-to-visible",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnColumnIndexToVisible.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "ac2c9d6c6c2aab31f2129797",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "fe6ef3269172a5d9",
      "framework": "unknown",
      "imports": "",
      "lines": 46,
      "logic_relevance": "none",
      "name": "fnDisplayRow",
      "normalized_name": "fn-display-row",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnDisplayRow.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a24391051540b58f4a8e767b",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f8ea6a7fbc7abe43",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "page.jumpToData()",
      "normalized_name": "page-jump-to-data",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/page.jumpToData().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "665078a95ca139fe80714463",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "eb5017f2905b7f43",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "fnFilterClear",
      "normalized_name": "fn-filter-clear",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnFilterClear.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "411200bd361bcaed04e0e1a6",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "04f290be07b4804d",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "fnProcessingIndicator",
      "normalized_name": "fn-processing-indicator",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnProcessingIndicator.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,security,automation",
      "component_id": "435b077b77da47d1c1138533",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "126a1b1b48c91240",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "fnVisibleToColumnIndex",
      "normalized_name": "fn-visible-to-column-index",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnVisibleToColumnIndex.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "dd72dff9b24d9a4c297c07d7",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "20906b98ead671c5",
      "framework": "unknown",
      "imports": "",
      "lines": 83,
      "logic_relevance": "none",
      "name": "fnGetColumnData",
      "normalized_name": "fn-get-column-data",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnGetColumnData.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0286c85af30ab885e5024fd0",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3a3f9eef83ad1c46",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "fnGetTds",
      "normalized_name": "fn-get-tds",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnGetTds.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "6769f04d39b2d65b0d389893",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "34470e83570d904e",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "fnFakeRowspan",
      "normalized_name": "fn-fake-rowspan",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnFakeRowspan.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "bf0eefcada88ed5047e28a8d",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "baf1836cbdc79c14",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "fnLengthChange",
      "normalized_name": "fn-length-change",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnLengthChange.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "391af8adf2cf4204326b4440",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "45f287229be37c4b",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "average()",
      "normalized_name": "average",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/average().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "382501b1ca74783f9bd194aa",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "3b4843a964967f52",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "fnGetColumnIndex",
      "normalized_name": "fn-get-column-index",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnGetColumnIndex.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "2bea0c40cad7c8c7a2178868",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "d8a59b15ecdce02a",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "fnGetAdjacentTr",
      "normalized_name": "fn-get-adjacent-tr",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnGetAdjacentTr.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "4faa843233ce35476cb9a863",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "20922c380a6db88a",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "fnSetFilteringDelay",
      "normalized_name": "fn-set-filtering-delay",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnSetFilteringDelay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "8d8a5d86d31441467ad956b1",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "47fe3d8dcc6ae294",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "fnFilterOnReturn",
      "normalized_name": "fn-filter-on-return",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnFilterOnReturn.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "83136b0256e1f025d1154ad3",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "20ce4e0b3928b19b",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "sum()",
      "normalized_name": "sum",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/sum().js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "c96283cc0478ead3a74ff4d4",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "f9b660c63598ffa6",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "fnGetTd",
      "normalized_name": "fn-get-td",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnGetTd.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "fb28f51408e373c8b4f8692a",
      "component_kind": "api-route",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "775ca342d8c7b5ea",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "fnMultiFilter",
      "normalized_name": "fn-multi-filter",
      "package_manager": "python",
      "path": "html/components/datatables-plugins/api/fnMultiFilter.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "security,automation",
      "component_id": "5a760d1eed61718bc61618c5",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "601bff4cf4984bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "python",
      "path": "html/components/datatables/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "1a328e32135e03c2cf057429",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0ab4603834bc154e",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/datatables/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,security",
      "component_id": "786ee40497b243dab5896d6a",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "9cf82184374b5c1a",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "Contributing",
      "normalized_name": "contributing",
      "package_manager": "python",
      "path": "html/components/datatables/Contributing.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "9cf1de4a363acd5888b931a0",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c6a873f21550ed80",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "python",
      "path": "html/components/datatables/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "f1ac9b545385290f27efa9eb",
      "component_kind": "design-token",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fc8e3aa67522614c",
      "framework": "css",
      "imports": "",
      "lines": 416,
      "logic_relevance": "none",
      "name": "jquery.dataTables_themeroller",
      "normalized_name": "jquery-data-tables-themeroller",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/jquery.dataTables_themeroller.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "0b0e806e188bc52f30edad46",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e3ca55aaf15f1d5",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.foundation.min",
      "normalized_name": "data-tables-foundation-min",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/dataTables.foundation.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "4605af9d48d6fe896f5cc6b6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f8097c9b6906513b",
      "framework": "css",
      "imports": "",
      "lines": 453,
      "logic_relevance": "none",
      "name": "jquery.dataTables",
      "normalized_name": "jquery-data-tables",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/jquery.dataTables.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d7c84f1a95a78c49aef7f837",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cfce00f125355d73",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap.min",
      "normalized_name": "data-tables-bootstrap-min",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/dataTables.bootstrap.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "9ef48a02a78b85665ef1ec1e",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "392b0ecde0b46bc6",
      "framework": "css",
      "imports": "",
      "lines": 482,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/dataTables.jqueryui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ccd6b5067640c774e5481df3",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "46e131c356d8a0bc",
      "framework": "css",
      "imports": "",
      "lines": 187,
      "logic_relevance": "none",
      "name": "dataTables.bootstrap",
      "normalized_name": "data-tables-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/dataTables.bootstrap.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "d5e127ad74881db8afa718f4",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "741d5a82d8150b77",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui.min",
      "normalized_name": "data-tables-jqueryui-min",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/dataTables.jqueryui.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "ef0a44aee6979d720f3539b7",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6b6eefe0c095ac62",
      "framework": "css",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "dataTables.foundation",
      "normalized_name": "data-tables-foundation",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/dataTables.foundation.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "07e4917b44bbe446a366b659",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "36216a0843be5d08",
      "framework": "css",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "jquery.dataTables.min",
      "normalized_name": "jquery-data-tables-min",
      "package_manager": "python",
      "path": "html/components/datatables/media/css/jquery.dataTables.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4012c190495a05a48315ff1a",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "datatables.net",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables.net | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4dcd6530132e878a",
      "framework": "unknown",
      "imports": "datatables.net",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui.min",
      "normalized_name": "data-tables-jqueryui-min",
      "package_manager": "python",
      "path": "html/components/datatables/media/js/dataTables.jqueryui.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "observability,ai",
      "component_id": "7996d60b20af7459a4ad2a4b",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "jquery",
      "description": "Observability component for i18n; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Aa, Ab, B, Bb, C, Cb, Db, F | imports:jquery | observability-score:55 | ai-score:45",
      "exports": "Aa,Ab,B,Bb,C,Cb,Db,F,Fa,Fb,Ga,Gb,Ha,Hb,I,Ia,Ib,J,Ja,Jb,K,Ka,Kb,La,Lb,Ma,N,Na,Nb,O,Oa,Pa,Q,Qa,R,Ra,Sa,T,Ta,U,Va,W,Wa,Y,Z",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "60a6c9a3dfdc6708",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 164,
      "logic_relevance": "none",
      "name": "jquery.dataTables.min",
      "normalized_name": "jquery-data-tables-min",
      "package_manager": "python",
      "path": "html/components/datatables/media/js/jquery.dataTables.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "1305ef6528a8dc58464a78a5",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DataTable | imports:jquery | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "DataTable",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b4aad371510bfe21",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 15212,
      "logic_relevance": "none",
      "name": "jquery.dataTables",
      "normalized_name": "jquery-data-tables",
      "package_manager": "python",
      "path": "html/components/datatables/media/js/jquery.dataTables.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "cafeb9c7c2f2c81971a733b2",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "datatables.net",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables.net | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ccf45338dfffe211",
      "framework": "unknown",
      "imports": "datatables.net",
      "lines": 164,
      "logic_relevance": "none",
      "name": "dataTables.jqueryui",
      "normalized_name": "data-tables-jqueryui",
      "package_manager": "python",
      "path": "html/components/datatables/media/js/dataTables.jqueryui.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "d817e9b925a42ca912233a5d",
      "component_kind": "automation-config",
      "confidence": 85,
      "dependency_roots": "+i+",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Aa, Ba, D, Ea, Fa, G, I, J | imports:+i+ | automation-score:45",
      "exports": "Aa,Ba,D,Ea,Fa,G,I,J,La,Lb,Mb,Nb,O,Ob,P,Pb,Q,R,Ua,Va,Vb,Wa,Xa,Ya,Za,Zb",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "329ab92b9276ef4e",
      "framework": "unknown",
      "imports": "+i+",
      "lines": 5,
      "logic_relevance": "none",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "python",
      "path": "html/components/datatables/media/js/jquery.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "82232f241a70fd5b5cf9a75e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ea76ef7bc7b56402",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "python",
      "path": "html/components/jquery/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "e4710a887b7e7ec78f9d6c68",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "44254c9a91a4647b",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "MIT-LICENSE",
      "normalized_name": "mit-license",
      "package_manager": "python",
      "path": "html/components/jquery/MIT-LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,security,automation",
      "component_id": "be44fe80a9c9a476f91a7e16",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6595452949a517af",
      "framework": "unknown",
      "imports": "",
      "lines": 502,
      "logic_relevance": "primary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "python",
      "path": "html/components/jquery/src/core.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "3780fb399c4ea6bc71d857b5",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "734cf15094e43297",
      "framework": "unknown",
      "imports": "",
      "lines": 868,
      "logic_relevance": "none",
      "name": "event",
      "normalized_name": "event",
      "package_manager": "python",
      "path": "html/components/jquery/src/event.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9638140be534afebcbf4b2da",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Animation | security-score:55",
      "exports": "Animation",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "07e71b13c94c8fd2",
      "framework": "unknown",
      "imports": "",
      "lines": 648,
      "logic_relevance": "none",
      "name": "effects",
      "normalized_name": "effects",
      "package_manager": "python",
      "path": "html/components/jquery/src/effects.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,security",
      "component_id": "fe14d7f9bcd4982ca5d8c3ac",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f836d9efb6b1435d",
      "framework": "unknown",
      "imports": "",
      "lines": 142,
      "logic_relevance": "none",
      "name": "queue",
      "normalized_name": "queue",
      "package_manager": "python",
      "path": "html/components/jquery/src/queue.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "151628f181f8593348831568",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f429bb94b5122863",
      "framework": "unknown",
      "imports": "",
      "lines": 580,
      "logic_relevance": "none",
      "name": "manipulation",
      "normalized_name": "manipulation",
      "package_manager": "python",
      "path": "html/components/jquery/src/manipulation.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "301ecc743902cadffa1d4a5d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3fb3da072cb10dfb",
      "framework": "unknown",
      "imports": "",
      "lines": 111,
      "logic_relevance": "none",
      "name": "serialize",
      "normalized_name": "serialize",
      "package_manager": "python",
      "path": "html/components/jquery/src/serialize.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9ec020c5692763ec10def14d",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": " + prev + ",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports: + prev +  | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d02537a932ccd995",
      "framework": "unknown",
      "imports": " + prev + ",
      "lines": 786,
      "logic_relevance": "none",
      "name": "ajax",
      "normalized_name": "ajax",
      "package_manager": "python",
      "path": "html/components/jquery/src/ajax.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "security",
      "component_id": "75ea92c31c50dfc623ac782d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for testing; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "89fc475808ae5d20",
      "framework": "unknown",
      "imports": "",
      "lines": 178,
      "logic_relevance": "none",
      "name": "data",
      "normalized_name": "data",
      "package_manager": "python",
      "path": "html/components/jquery/src/data.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "3603023e9243bb7fe9f571b1",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:jquery | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "73361e6a95c7c074",
      "framework": "unknown",
      "imports": "jquery",
      "lines": 44,
      "logic_relevance": "none",
      "name": "intro",
      "normalized_name": "intro",
      "package_manager": "python",
      "path": "html/components/jquery/src/intro.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ai",
      "component_id": "42274dfb65f90a72eb6a9807",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for commerce; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "561ec80d9a6463d2",
      "framework": "unknown",
      "imports": "",
      "lines": 450,
      "logic_relevance": "none",
      "name": "css",
      "normalized_name": "css",
      "package_manager": "python",
      "path": "html/components/jquery/src/css.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,security",
      "component_id": "b6fc3806c2235f6161a7e58b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cf0bbe2e1c31d3fc",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "primary",
      "name": "access",
      "normalized_name": "access",
      "package_manager": "python",
      "path": "html/components/jquery/src/core/access.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "bf0ac85c07fbc8f58d091d0d",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09252291b1240987",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "primary",
      "name": "init",
      "normalized_name": "init",
      "package_manager": "python",
      "path": "html/components/jquery/src/core/init.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "037239f06f6c8dfae7e4e26d",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e9366d726af79b36",
      "framework": "unknown",
      "imports": "",
      "lines": 97,
      "logic_relevance": "primary",
      "name": "ready",
      "normalized_name": "ready",
      "package_manager": "python",
      "path": "html/components/jquery/src/core/ready.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "257a519695a67e8f904b5308",
      "component_kind": "parser",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "baffe256354551ff",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "parseHTML",
      "normalized_name": "parse-html",
      "package_manager": "python",
      "path": "html/components/jquery/src/core/parseHTML.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "62a926942068014165120c39",
      "component_kind": "business-logic",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:60",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9b43f23099792a26",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "rsingleTag",
      "normalized_name": "rsingle-tag",
      "package_manager": "python",
      "path": "html/components/jquery/src/core/var/rsingleTag.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "82839de36cf2a87326585826",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ae90d38f9c451845",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "getStyles",
      "normalized_name": "get-styles",
      "package_manager": "python",
      "path": "html/components/jquery/src/css/var/getStyles.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "33e3bb4650e8e0fae848a084",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c6916ab5abce89fc",
      "framework": "unknown",
      "imports": "",
      "lines": 161,
      "logic_relevance": "none",
      "name": "val",
      "normalized_name": "val",
      "package_manager": "python",
      "path": "html/components/jquery/src/attributes/val.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "8d1b137c6f8c171394625072",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0161a3eac5b69fc2",
      "framework": "unknown",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "prop",
      "normalized_name": "prop",
      "package_manager": "python",
      "path": "html/components/jquery/src/attributes/prop.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "backend",
      "component_id": "da01ab1e4c4e36cf7a683e8e",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for workflow; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "718cf6233695c164",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "delay",
      "normalized_name": "delay",
      "package_manager": "python",
      "path": "html/components/jquery/src/queue/delay.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "40ba240cd64ead9979d6acc6",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:Tween | automation-score:45",
      "exports": "Tween",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e6f11d5f4d737a75",
      "framework": "unknown",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "Tween",
      "normalized_name": "tween",
      "package_manager": "python",
      "path": "html/components/jquery/src/effects/Tween.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "security,automation",
      "component_id": "947c9a5ddb94468b0a598d8a",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Data | security-score:55 | automation-score:45",
      "exports": "Data",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0ab0d56948ac6f30",
      "framework": "unknown",
      "imports": "",
      "lines": 181,
      "logic_relevance": "none",
      "name": "Data",
      "normalized_name": "data",
      "package_manager": "python",
      "path": "html/components/jquery/src/data/Data.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "security",
      "component_id": "6f6885e4c1cf445b5cdcf929",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for seo-and-metadata; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "9cf5691d0b5424c7",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "alias",
      "normalized_name": "alias",
      "package_manager": "python",
      "path": "html/components/jquery/src/event/alias.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "00b41315fb0f80c0e0c2ccf7",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "869ecf70293309bf",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "script",
      "normalized_name": "script",
      "package_manager": "python",
      "path": "html/components/jquery/src/ajax/script.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "5d2227c43796d59263195ab7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "549a414f54204b07",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "load",
      "normalized_name": "load",
      "package_manager": "python",
      "path": "html/components/jquery/src/ajax/load.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "observability,security,automation",
      "component_id": "3c7eeb4aa9714b9cac5459e3",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e1db30ef0b473457",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "xhr",
      "normalized_name": "xhr",
      "package_manager": "python",
      "path": "html/components/jquery/src/ajax/xhr.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "71bf5e66ccb28dcd35bfc1d1",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "deb76bf0a2ab6219",
      "framework": "unknown",
      "imports": "",
      "lines": 506,
      "logic_relevance": "none",
      "name": "jquery.flot.tooltip.source",
      "normalized_name": "jquery-flot-tooltip-source",
      "package_manager": "python",
      "path": "html/components/flot.tooltip/js/jquery.flot.tooltip.source.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "92a552e43fdfdf71dd55626b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:A, AA, AD, C, G, H, N, P | observability-score:55",
      "exports": "A,AA,AD,C,G,H,N,P,Q,R,S,T,V,W,X,Y",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f98cb332c803a746",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "excanvas.min",
      "normalized_name": "excanvas-min",
      "package_manager": "python",
      "path": "html/components/flot.tooltip/js/excanvas.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c5b1e5ead9e6283370eba95b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "46a837215f3c4942",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "jquery.flot.tooltip.min",
      "normalized_name": "jquery-flot-tooltip-min",
      "package_manager": "python",
      "path": "html/components/flot.tooltip/js/jquery.flot.tooltip.min.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fbfcd3c11479679adb6233d9",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0a689d8c0ec792f",
      "framework": "unknown",
      "imports": "",
      "lines": 517,
      "logic_relevance": "none",
      "name": "jquery.flot.tooltip",
      "normalized_name": "jquery-flot-tooltip",
      "package_manager": "python",
      "path": "html/components/flot.tooltip/js/jquery.flot.tooltip.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "10a46830c03ca12589c2cc76",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Canvas, Plot | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Canvas,Plot",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7b931f273c38b12",
      "framework": "unknown",
      "imports": "",
      "lines": 3168,
      "logic_relevance": "none",
      "name": "jquery.flot",
      "normalized_name": "jquery-flot",
      "package_manager": "python",
      "path": "html/components/flot.tooltip/js/jquery.flot.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "7f34a0a8452de1b000757b83",
      "component_kind": "security-module",
      "confidence": 85,
      "dependency_roots": "matchdep",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:matchdep | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "00c5175917af4fc2",
      "framework": "unknown",
      "imports": "matchdep",
      "lines": 90,
      "logic_relevance": "none",
      "name": "Gruntfile",
      "normalized_name": "gruntfile",
      "package_manager": "python",
      "path": "html/components/morrisjs/Gruntfile.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security",
      "component_id": "483d54ffdc5fd13c48d137ec",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Area, Bar, Donut, DonutSegment, EventEmitter, Grid, Hover, Line | observability-score:55 | security-score:55",
      "exports": "Area,Bar,Donut,DonutSegment,EventEmitter,Grid,Hover,Line",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "71007be4311a0db9",
      "framework": "unknown",
      "imports": "",
      "lines": 1892,
      "logic_relevance": "none",
      "name": "morris",
      "normalized_name": "morris",
      "package_manager": "python",
      "path": "html/components/morrisjs/morris.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "5391fdd270ed5480ff12cc0e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b331eeb1aa336d07",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "morris",
      "normalized_name": "morris",
      "package_manager": "python",
      "path": "html/components/morrisjs/morris.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "8fab423cf71cd72e01864cbf",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "d2b83656d7c9a375",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "morris.min",
      "normalized_name": "morris-min",
      "package_manager": "python",
      "path": "html/components/morrisjs/morris.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "901103098a0e571c534492b1",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bcc29d163e2f0e40",
      "framework": "unknown",
      "imports": "",
      "lines": 234,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/morrisjs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "ead0a3bb6f23b82ff7371681",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b478842fc55c8624",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "python",
      "path": "html/components/morrisjs/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,logic",
      "component_id": "b0bf32e1f012e10c2c92fc32",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:45",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9e8d1b8c192a1a8a",
      "framework": "css",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "morris.core",
      "normalized_name": "morris-core",
      "package_manager": "python",
      "path": "html/components/morrisjs/less/morris.core.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "security,process",
      "component_id": "01f0a57a21ea5939fe1bcaa7",
      "component_kind": "security-module",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Security component for shipping; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:./examples | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf964a8c9647afab",
      "framework": "unknown",
      "imports": "./examples",
      "lines": 66,
      "logic_relevance": "none",
      "name": "visual_specs",
      "normalized_name": "visual-specs",
      "package_manager": "python",
      "path": "html/components/morrisjs/spec/viz/visual_specs.js",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,process",
      "component_id": "5cb808befe27313742d9fcb5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | process-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cc4cb3a9c59f93e8",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "run",
      "normalized_name": "run",
      "package_manager": "python",
      "path": "html/components/morrisjs/spec/viz/run.sh",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,process",
      "component_id": "489c6be465ddd8c20cdc7e75",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,webpage",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, webpage | observability-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6100b3a9d872df05",
      "framework": "unknown",
      "imports": "fs,webpage",
      "lines": 56,
      "logic_relevance": "none",
      "name": "examples",
      "normalized_name": "examples",
      "package_manager": "python",
      "path": "html/components/morrisjs/spec/viz/examples.js",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "ba6aa2b7bd4f395ac71101ce",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "08cf6b51c71e55be",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "secondary",
      "name": "example",
      "normalized_name": "example",
      "package_manager": "python",
      "path": "html/components/morrisjs/examples/lib/example.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "7c02038048ca37d07db6a883",
      "component_kind": "business-logic",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "69089edc3f17563f",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "primary",
      "name": "example",
      "normalized_name": "example",
      "package_manager": "python",
      "path": "html/components/morrisjs/examples/lib/example.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "e3932c7311e7e9c7593d575b",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9931d4a47df2181e",
      "framework": "unknown",
      "imports": "",
      "lines": 345,
      "logic_relevance": "none",
      "name": "jquery.flot.canvas",
      "normalized_name": "jquery-flot-canvas",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.canvas.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8b465568bd59c421498a05c6",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a582c832adc7138a",
      "framework": "unknown",
      "imports": "",
      "lines": 432,
      "logic_relevance": "none",
      "name": "jquery.flot.time",
      "normalized_name": "jquery-flot-time",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.time.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "8220a920c4ef0b9079f276aa",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "211d89f46c3bf348",
      "framework": "unknown",
      "imports": "",
      "lines": 1498,
      "logic_relevance": "none",
      "name": "API",
      "normalized_name": "api",
      "package_manager": "python",
      "path": "html/components/flot/API.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "195a2a1a9fcba748fd07b549",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "a3e45f52fb5c3f2b",
      "framework": "unknown",
      "imports": "",
      "lines": 226,
      "logic_relevance": "none",
      "name": "jquery.flot.fillbetween",
      "normalized_name": "jquery-flot-fillbetween",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.fillbetween.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "ad566e443d3828fe1775adfe",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "09da5c94edc26c5d",
      "framework": "unknown",
      "imports": "",
      "lines": 180,
      "logic_relevance": "none",
      "name": "jquery.colorhelpers",
      "normalized_name": "jquery-colorhelpers",
      "package_manager": "python",
      "path": "html/components/flot/jquery.colorhelpers.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "3e456c20865978d0d6308b0b",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6e81664b28ea795c",
      "framework": "unknown",
      "imports": "",
      "lines": 190,
      "logic_relevance": "none",
      "name": "jquery.flot.categories",
      "normalized_name": "jquery-flot-categories",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.categories.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "d2d18fb49f6b5c34f8cfd90f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "84d45f9eb87d746c",
      "framework": "unknown",
      "imports": "",
      "lines": 1026,
      "logic_relevance": "none",
      "name": "NEWS",
      "normalized_name": "news",
      "package_manager": "python",
      "path": "html/components/flot/NEWS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "eda6adcaf7a82db777641488",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "e679f5afacdb2fd2",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "python",
      "path": "html/components/flot/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "898930b5dbb8d1eb9a2f5e06",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8119b5d127f5f289",
      "framework": "unknown",
      "imports": "",
      "lines": 188,
      "logic_relevance": "none",
      "name": "jquery.flot.stack",
      "normalized_name": "jquery-flot-stack",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.stack.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "a09b125c7ba11cf1b6dbea54",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8b9f5146f324ab0f",
      "framework": "unknown",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "jquery.flot.resize",
      "normalized_name": "jquery-flot-resize",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.resize.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "process",
      "component_id": "f368cd91432593f3bd8a6b29",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "6cad8be31b88f21e",
      "framework": "unknown",
      "imports": "",
      "lines": 75,
      "logic_relevance": "none",
      "name": "FAQ",
      "normalized_name": "faq",
      "package_manager": "python",
      "path": "html/components/flot/FAQ.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "0923434d92a535f3cafed27d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7c4fc3cb19f8148f",
      "framework": "unknown",
      "imports": "",
      "lines": 353,
      "logic_relevance": "none",
      "name": "jquery.flot.errorbars",
      "normalized_name": "jquery-flot-errorbars",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.errorbars.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "process,observability,automation",
      "component_id": "5c6238c70dbb1bee34719931",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for i18n; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ce61ca7c75580333",
      "framework": "unknown",
      "imports": "",
      "lines": 110,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/flot/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "1be2686146a7a3f52c4138da",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6c85f6c1ebe4b4d",
      "framework": "unknown",
      "imports": "",
      "lines": 360,
      "logic_relevance": "none",
      "name": "jquery.flot.selection",
      "normalized_name": "jquery-flot-selection",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.selection.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "3f4fabadae2d82afdf56e8ec",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "94102bae1c36489a",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "flot.jquery",
      "normalized_name": "flot-jquery",
      "package_manager": "python",
      "path": "html/components/flot/flot.jquery.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "6b9dea9d8fe461ff58ffea44",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "67313e781ff843a1",
      "framework": "unknown",
      "imports": "",
      "lines": 71,
      "logic_relevance": "none",
      "name": "jquery.flot.symbol",
      "normalized_name": "jquery-flot-symbol",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.symbol.js",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability",
      "component_id": "e929da2174db12e52bd5de9b",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:B, D, E, F, G, I, J, K | observability-score:55",
      "exports": "B,D,E,F,G,I,J,K,M,O,P,Q,R,S,T,U,V,W,Y",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6201dbbd9beb94d8",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "excanvas.min",
      "normalized_name": "excanvas-min",
      "package_manager": "python",
      "path": "html/components/flot/excanvas.min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,automation",
      "component_id": "677a0b48982c0079a8d8ce6f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "adae908cb95453c3",
      "framework": "unknown",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "PLUGINS",
      "normalized_name": "plugins",
      "package_manager": "python",
      "path": "html/components/flot/PLUGINS.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "56f23de75ab128e9e7aad020",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a574de48eb9f27ba",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "CONTRIBUTING",
      "normalized_name": "contributing",
      "package_manager": "python",
      "path": "html/components/flot/CONTRIBUTING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c42cb3fa8350f22312362f92",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5c19fde427cf06e6",
      "framework": "unknown",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "jquery.flot.crosshair",
      "normalized_name": "jquery-flot-crosshair",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.crosshair.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "99ae6b2fac361ddd618f93f2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "46c11661df6074b1",
      "framework": "unknown",
      "imports": "",
      "lines": 820,
      "logic_relevance": "none",
      "name": "jquery.flot.pie",
      "normalized_name": "jquery-flot-pie",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.pie.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "e7d49b547a7e19da9e8b2c55",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "52cb566b16d84314",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "python",
      "path": "html/components/flot/LICENSE.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "a134468bca33a86ce15a195d",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Canvas, Plot | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Canvas,Plot",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7b931f273c38b12",
      "framework": "unknown",
      "imports": "",
      "lines": 3168,
      "logic_relevance": "none",
      "name": "jquery.flot",
      "normalized_name": "jquery-flot",
      "package_manager": "python",
      "path": "html/components/flot/jquery.flot.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "observability,security,automation",
      "component_id": "f37dc1f8fc29d353b2a39717",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": " + prev + ",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Animation, Sizzle, Tween | imports: + prev +  | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Animation,Sizzle,Tween",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "756d7dfac4a35bb5",
      "framework": "unknown",
      "imports": " + prev + ",
      "lines": 9472,
      "logic_relevance": "none",
      "name": "jquery",
      "normalized_name": "jquery",
      "package_manager": "python",
      "path": "html/components/flot/jquery.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "7d269c3539af92eb882a487a",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9a8312e8db493651",
      "framework": "css",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "examples",
      "normalized_name": "examples",
      "package_manager": "python",
      "path": "html/components/flot/examples/examples.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "d30c2a90493fae545bad0df8",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fdb9aa82e56cee5d",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "jquery-ui.min",
      "normalized_name": "jquery-ui-min",
      "package_manager": "python",
      "path": "html/components/flot/examples/shared/jquery-ui/jquery-ui.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "security",
      "component_id": "23b6de7b3ba485919fb65154",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for i18n; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "380280a54a2643d7",
      "framework": "unknown",
      "imports": "",
      "lines": 893,
      "logic_relevance": "none",
      "name": "date",
      "normalized_name": "date",
      "package_manager": "python",
      "path": "html/components/flot/examples/axes-time-zones/date.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e33231898e97ee3ca1f95714",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19552b09fa5b9f93",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "yearistype",
      "normalized_name": "yearistype",
      "package_manager": "python",
      "path": "html/components/flot/examples/axes-time-zones/tz/yearistype.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "b75850ae8b565e13707f3c45",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7c3c7ecbc744ad40",
      "framework": "unknown",
      "imports": "",
      "lines": 65,
      "logic_relevance": "none",
      "name": "Gruntfile",
      "normalized_name": "gruntfile",
      "package_manager": "python",
      "path": "html/components/metisMenu/Gruntfile.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "6838b728073f12ced75bb858",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b5f4081ea190949e",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "python",
      "path": "html/components/metisMenu/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "2881beba7d24f20aba9eceec",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5f5192ef1facf29f",
      "framework": "unknown",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/metisMenu/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "040e2c6895488b06d809bb15",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "252b1f0ae2688bc9",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "python",
      "path": "html/components/metisMenu/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "57d88dc14dd1d43565250eba",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e55e67921690e27e",
      "framework": "css",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "metisMenu",
      "normalized_name": "metis-menu",
      "package_manager": "python",
      "path": "html/components/metisMenu/src/metisMenu.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "15f38dff78bb656fe866ca64",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "35ef3ccf429aada3",
      "framework": "css",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "python",
      "path": "html/components/bootstrap-social/bootstrap-social.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "4ca0262a043f7fb34aaf4e6b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1944e827fa96fe9b",
      "framework": "css",
      "imports": "",
      "lines": 114,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "python",
      "path": "html/components/bootstrap-social/bootstrap-social.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "ee5eb968f742401aadf29f11",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "66395c6bed34bacd",
      "framework": "css",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "bootstrap-social",
      "normalized_name": "bootstrap-social",
      "package_manager": "python",
      "path": "html/components/bootstrap-social/bootstrap-social.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "34d918750440da166f882c39",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "99c67cd176ffb085",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/bootstrap-social/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "process,automation",
      "component_id": "f9a3cf18dbe2a6fa3b4624e5",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "13299aa1733a9691",
      "framework": "unknown",
      "imports": "",
      "lines": 310,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/holderjs/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "editor",
      "categories": "security,automation",
      "component_id": "1f4550c465ad3d839ec0d218",
      "component_kind": "security-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:E, S | security-score:55 | automation-score:45",
      "exports": "E,S",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f3d5ffe74e4682e0",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "holder",
      "normalized_name": "holder",
      "package_manager": "python",
      "path": "html/components/holderjs/holder.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "fd4591e95038045e423dd1e2",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "0556d2a760ef806a",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "python",
      "path": "html/components/holderjs/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fd4abf246e7953b1a7353ee5",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "gulp,gulp-concat,gulp-header,gulp-jshint,gulp-todo,gulp-uglify,gulp-util,moment",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:./package.json, gulp, gulp-concat, gulp-header, gulp-jshint, gulp-todo, gulp-uglify, gulp-util | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "5485279ce9a74aff",
      "framework": "unknown",
      "imports": "./package.json,gulp,gulp-concat,gulp-header,gulp-jshint,gulp-todo,gulp-uglify,gulp-util,moment",
      "lines": 63,
      "logic_relevance": "none",
      "name": "gulpfile",
      "normalized_name": "gulpfile",
      "package_manager": "python",
      "path": "html/components/holderjs/gulpfile.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "56eb9623fffa35f8dca3686a",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "84825aa35f520891",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "composer",
      "normalized_name": "composer",
      "package_manager": "python",
      "path": "html/components/holderjs/composer.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation,ai",
      "component_id": "9d85853a2eebb1e49e73b2f3",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:DOMContentLoaded | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "DOMContentLoaded",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "6d5c2550af8fd21f",
      "framework": "unknown",
      "imports": "",
      "lines": 160,
      "logic_relevance": "none",
      "name": "ondomready",
      "normalized_name": "ondomready",
      "package_manager": "python",
      "path": "html/components/holderjs/src/ondomready.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "93161af4b787b3d49b1991d8",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbbfbf96a42a7d45",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "augment",
      "normalized_name": "augment",
      "package_manager": "python",
      "path": "html/components/holderjs/src/augment.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "security",
      "component_id": "737ac48a92bd1d73fb30f39e",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:CSSStyleDeclaration | security-score:55",
      "exports": "CSSStyleDeclaration",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8431b3b476c028da",
      "framework": "unknown",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "polyfills",
      "normalized_name": "polyfills",
      "package_manager": "python",
      "path": "html/components/holderjs/src/polyfills.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "security,automation,ai",
      "component_id": "fec6174cdf5074a66bed2352",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2583362640220dc4",
      "framework": "unknown",
      "imports": "",
      "lines": 1533,
      "logic_relevance": "none",
      "name": "holder",
      "normalized_name": "holder",
      "package_manager": "python",
      "path": "html/components/holderjs/src/holder.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "fbbd65989a4d703cfc67db0a",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Calendar, GenCell, NewCssCal, RenderCssCal | observability-score:55",
      "exports": "Calendar,GenCell,NewCssCal,RenderCssCal",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "30003055c1a8f80b",
      "framework": "unknown",
      "imports": "",
      "lines": 1341,
      "logic_relevance": "none",
      "name": "datetimepicker_css",
      "normalized_name": "datetimepicker-css",
      "package_manager": "python",
      "path": "html/components/datetimepicker/datetimepicker_css.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d86fbbcd2ab64f545f04708b",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "eve",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Animation, CubicBezierAtTime, Matrix, R | imports:eve | observability-score:55 | security-score:55",
      "exports": "Animation,CubicBezierAtTime,Matrix,R",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d381e055f31f1b3",
      "framework": "unknown",
      "imports": "eve",
      "lines": 8239,
      "logic_relevance": "none",
      "name": "raphael",
      "normalized_name": "raphael",
      "package_manager": "python",
      "path": "html/components/raphael/raphael.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "3e871647a054521e3485e75f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4cafcc8112392ea7",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "license",
      "normalized_name": "license",
      "package_manager": "python",
      "path": "html/components/raphael/license.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability",
      "component_id": "3e106ee572144d6418197534",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "eve",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:eve | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1a4f9dcdce24576a",
      "framework": "unknown",
      "imports": "eve",
      "lines": 11,
      "logic_relevance": "none",
      "name": "raphael-min",
      "normalized_name": "raphael-min",
      "package_manager": "python",
      "path": "html/components/raphael/raphael-min.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security",
      "component_id": "8242f3bfe9b8c3e4fb48431e",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bbe95334e5606980",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "python",
      "path": "html/components/font-awesome/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "0280c1b818112b61801ea1cf",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "295074933a25ae5d",
      "framework": "css",
      "imports": "",
      "lines": 1672,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "python",
      "path": "html/components/font-awesome/css/font-awesome.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security",
      "component_id": "b7cd0d6bde4b16109ef47dff",
      "component_kind": "stylesheet",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0fb1bbca73646e8e",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "font-awesome.min",
      "normalized_name": "font-awesome-min",
      "package_manager": "python",
      "path": "html/components/font-awesome/css/font-awesome.min.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "d0e7590f6176372fa5eae045",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d3bda122ac1cef54",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "extras",
      "normalized_name": "extras",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/extras.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "1f7108ce55014895a9f466dd",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "024abb930e6669f2",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "list",
      "normalized_name": "list",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/list.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "1c1ac4ddc26cafa306c65e83",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3f9de6c3e0f1a2bc",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "stacked",
      "normalized_name": "stacked",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/stacked.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "75c8755e792b17146d8e7d88",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | logic-score:70",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ce72f5281bef5dd3",
      "framework": "css",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "core",
      "normalized_name": "core",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/core.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "3e4e1b10bf308acb6b045f7e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0ef853a3192742d2",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/fixed-width.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "style,security",
      "component_id": "61ae423b55195a7b61e4ecde",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for i18n; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4c1d0005082819f5",
      "framework": "css",
      "imports": "",
      "lines": 561,
      "logic_relevance": "none",
      "name": "variables",
      "normalized_name": "variables",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/variables.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "5486fab89d793f3335f62c0d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d67df95488eec84d",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/rotated-flipped.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "a26e48de898521494493bdd2",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0d2df0e16912e9a8",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/font-awesome.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "df5ef390db97421b830c13b2",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "5b2ac38c565fa862",
      "framework": "css",
      "imports": "",
      "lines": 552,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/icons.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "034f335ac83d2319d92f287c",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100 | security-score:55",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "3b7755a14ef8bcea",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "spinning",
      "normalized_name": "spinning",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/spinning.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "8b99b8fdeebf271b1c0616c2",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "734059c501fbfcf1",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "path",
      "normalized_name": "path",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/path.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0b3f16ef5ebd943b273ecb2d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8b19915b40da6b30",
      "framework": "css",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/bordered-pulled.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "6ccd1d37f8ea619c6997c215",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "dfc79d4325804e9a",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "larger",
      "normalized_name": "larger",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/larger.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "1a75113754dabba362efc22f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:100",
      "exports": "",
      "extension": ".less",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2dfab6727fc349dd",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "mixins",
      "normalized_name": "mixins",
      "package_manager": "python",
      "path": "html/components/font-awesome/less/mixins.less",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e8aecbcbaf30487e28082255",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "70f33fd079ab7085",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_stacked",
      "normalized_name": "stacked",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_stacked.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "style,security",
      "component_id": "bd3bf2fd10b122744ef52394",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for i18n; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d13f63eeb78883ad",
      "framework": "css",
      "imports": "",
      "lines": 561,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "8fe624aab6f9c8ac176bac15",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "eade12ba6170d5f8",
      "framework": "css",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "font-awesome",
      "normalized_name": "font-awesome",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/font-awesome.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "faf10986753eb469f035997b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff0686d76acde358",
      "framework": "css",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "_rotated-flipped",
      "normalized_name": "rotated-flipped",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_rotated-flipped.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "86e92853a0956b83fbf039cf",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2e58e1d173847da8",
      "framework": "css",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "_path",
      "normalized_name": "path",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_path.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "121ef890a12b828d14b77291",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1eaa8e0de764447a",
      "framework": "css",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "_extras",
      "normalized_name": "extras",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_extras.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ef0ce588e2f4b31e8170282b",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5430a6695febcd9",
      "framework": "css",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "_list",
      "normalized_name": "list",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_list.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "1bc4c3b7c7aac2c38fe1d6f6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "fb4e8e7d5d03074d",
      "framework": "css",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "_larger",
      "normalized_name": "larger",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_larger.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style,security",
      "component_id": "522595f05ea15e41aaa76c0a",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0f4323e24d48ac42",
      "framework": "css",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "_spinning",
      "normalized_name": "spinning",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_spinning.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,logic",
      "component_id": "7cdcbd232d785737b8a3795d",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | logic-score:70",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6c0236931542eb34",
      "framework": "css",
      "imports": "",
      "lines": 11,
      "logic_relevance": "secondary",
      "name": "_core",
      "normalized_name": "core",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_core.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "0ef273cb76610a4876d6bd93",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "69778bf1ceaa41f8",
      "framework": "css",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "_mixins",
      "normalized_name": "mixins",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_mixins.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "media",
      "categories": "style,security",
      "component_id": "ee1df8d3b05f290f5c470861",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for media; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8f31b2b0c9dbb7dd",
      "framework": "css",
      "imports": "",
      "lines": 552,
      "logic_relevance": "none",
      "name": "_icons",
      "normalized_name": "icons",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_icons.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e33c5209d89098e3881149a8",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b8b0b3478e04e868",
      "framework": "css",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "_fixed-width",
      "normalized_name": "fixed-width",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_fixed-width.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "03447e4d07b52824b967e754",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8bc541c2ea0766bd",
      "framework": "css",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "_bordered-pulled",
      "normalized_name": "bordered-pulled",
      "package_manager": "python",
      "path": "html/components/font-awesome/scss/_bordered-pulled.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "df125ab78dc809aade577877",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "55a0ad154571a094",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "make",
      "normalized_name": "make",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/make.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "testing",
      "categories": "process,automation",
      "component_id": "4d11f04e32cea75668315a61",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "8313d97a6b0462c5",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "Readme",
      "normalized_name": "readme",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/Readme.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "0fa6591ee0501962a36aad63",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "da4e1020ae97c095",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "License",
      "normalized_name": "license",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/License.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "fa68a7b248a7d396d1f2f65e",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f62c890484debf0d",
      "framework": "css",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "responsive.bootstrap",
      "normalized_name": "responsive-bootstrap",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/css/responsive.bootstrap.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "5d4d0f7a35e64e79d7579c87",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "327786608ea2a1a5",
      "framework": "css",
      "imports": "",
      "lines": 157,
      "logic_relevance": "none",
      "name": "responsive.dataTables",
      "normalized_name": "responsive-data-tables",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/css/responsive.dataTables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "ee441c39ef6edf2e41c773ae",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ed8471afe336ad45",
      "framework": "css",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "responsive.foundation",
      "normalized_name": "responsive-foundation",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/css/responsive.foundation.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "c342f14e8a1c235d5fd679cd",
      "component_kind": "stylesheet",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ea2fde479a5e6cc2",
      "framework": "css",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "responsive.jqueryui",
      "normalized_name": "responsive-jqueryui",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/css/responsive.jqueryui.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "894b14ba5346a8b361b1e49c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "datatables,jquery",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:datatables, jquery | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f0ac951d5cc5da4f",
      "framework": "unknown",
      "imports": "datatables,jquery",
      "lines": 873,
      "logic_relevance": "none",
      "name": "dataTables.responsive",
      "normalized_name": "data-tables-responsive",
      "package_manager": "python",
      "path": "html/components/datatables-responsive/js/dataTables.responsive.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "572b5faeafad53d790ce2d9d",
      "component_kind": "backend-module",
      "confidence": 80,
      "dependency_roots": "MySQLdb,psycopg2,warnings",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DB, DBException, MySQL, Postgre | imports:MySQLdb, psycopg2, warnings | backend-score:55",
      "exports": "DB,DBException,MySQL,Postgre",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1d9d38af7bd4821f",
      "framework": "python",
      "imports": "MySQLdb,psycopg2,warnings",
      "lines": 96,
      "logic_relevance": "none",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "python",
      "path": "libs/db.py",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "security",
      "component_id": "17c3aeefc9d8698ee857bb5a",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "ConfigParser",
      "description": "Security component for logic; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Config, FakeSecHead | imports:ConfigParser | security-score:55",
      "exports": "Config,FakeSecHead",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "0531697e1415d098",
      "framework": "python",
      "imports": "ConfigParser",
      "lines": 19,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "python",
      "path": "libs/config.py",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "606996eb19b09dca0501e1db",
      "component_kind": "utility",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a5d2da433cebd018",
      "framework": "python",
      "imports": "",
      "lines": 0,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "python",
      "path": "libs/utils.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ed9c2ff9f5e068fb7bf27eca",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "1a76960cc06f6076",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "bootstrap",
      "normalized_name": "bootstrap",
      "package_manager": "python",
      "path": "ansible/bootstrap/bootstrap.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "1435502b6cae2aba49351163",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9954ac6d08555fd4",
      "framework": "unknown",
      "imports": "",
      "lines": 77,
      "logic_relevance": "none",
      "name": "create-tree",
      "normalized_name": "create-tree",
      "package_manager": "python",
      "path": "ansible/host-config/create-tree.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,security",
      "component_id": "4cdbee9e2ca4c3ce79f02307",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | security-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b062d997e1306662",
      "framework": "unknown",
      "imports": "",
      "lines": 51,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "python",
      "path": "ansible/roles/xsociety_setup/tasks/main.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process",
      "component_id": "134f8dc9dfc55bc8b2ffe1bf",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9d28f3345f50cb69",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "proguard-project",
      "normalized_name": "proguard-project",
      "package_manager": "python",
      "path": "APKs/AndroidAgentBAK/proguard-project.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__xsociety",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation",
      "component_id": "bf96c2960b83c9b70f7dc4a7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".bat",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f4f428c5626b3d90",
      "framework": "unknown",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "gradlew",
      "normalized_name": "gradlew",
      "package_manager": "python",
      "path": "APKs/AndroidAgentBAK/gradlew.bat",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__xsociety",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "fbaeae307aa4cfb84a5b811f",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | observability-score:55",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3aaff199a4fe83a4",
      "framework": "unknown",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "034ca47c6f61386c79a63f3b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "170c75a6cd69a4c9",
      "framework": "unknown",
      "imports": "",
      "lines": 61,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "9e32546743b464e0b3093ecf",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7107d065210bd921",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,ai",
      "component_id": "cbea68980bad0736c77c27e3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fcee94c1a1478b23",
      "framework": "unknown",
      "imports": "",
      "lines": 169,
      "logic_relevance": "none",
      "name": "tclConfig",
      "normalized_name": "tcl-config",
      "package_manager": "unknown",
      "path": "tools/lib64/tclConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "a42999d2ee92a44d400b1162",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a3210c14cba9aea",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "tclooConfig",
      "normalized_name": "tcloo-config",
      "package_manager": "unknown",
      "path": "tools/lib64/tclooConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "85e7036421c9a75c61aee112",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "52e8c89a94798ee8",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "allkeys",
      "normalized_name": "allkeys",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/Unicode/Collate/allkeys.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,automation,ai",
      "component_id": "eebfeaa2ea6f3d7b764dd57d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3490fb3785180b58",
      "framework": "unknown",
      "imports": "",
      "lines": 864,
      "logic_relevance": "none",
      "name": "keys",
      "normalized_name": "keys",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/Unicode/Collate/keys.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "a5ff493b76960a90e8b9fff8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "292171a0a1c13d7e",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "none",
      "name": "BidiBrackets",
      "normalized_name": "bidi-brackets",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/BidiBrackets.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "41a8282543b715d1f3043a1b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9ca521224e08d306",
      "framework": "unknown",
      "imports": "",
      "lines": 197,
      "logic_relevance": "none",
      "name": "PropertyAliases",
      "normalized_name": "property-aliases",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/PropertyAliases.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "100ea7aa461c461db8fe8375",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f6acead8f84df5c7",
      "framework": "unknown",
      "imports": "",
      "lines": 1226,
      "logic_relevance": "none",
      "name": "IndicSyllabicCategory",
      "normalized_name": "indic-syllabic-category",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/IndicSyllabicCategory.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,observability,security",
      "component_id": "92ce2c5c2e445cab9756a8a7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16ef6d6d74f2d3fc",
      "framework": "unknown",
      "imports": "",
      "lines": 763,
      "logic_relevance": "none",
      "name": "EmojiSources",
      "normalized_name": "emoji-sources",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/EmojiSources.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "e6084eec4647154e39fc9931",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "27d00082f053c10b",
      "framework": "unknown",
      "imports": "",
      "lines": 276,
      "logic_relevance": "none",
      "name": "CJKRadicals",
      "normalized_name": "cjkradicals",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/CJKRadicals.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "4ea3298904400fa2f4f974e5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "6b204c3727b77699",
      "framework": "unknown",
      "imports": "",
      "lines": 3328,
      "logic_relevance": "none",
      "name": "LineBreak",
      "normalized_name": "line-break",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/LineBreak.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process",
      "component_id": "8b4c1e1bcdcaf4690fb707a6",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c8ed526f70443535",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "none",
      "name": "Jamo",
      "normalized_name": "jamo",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/Jamo.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "cf30591fcf0b80ecda3629d2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3e255ccdff4b00cf",
      "framework": "unknown",
      "imports": "",
      "lines": 9706,
      "logic_relevance": "none",
      "name": "DNormalizationProps",
      "normalized_name": "dnormalization-props",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/DNormalizationProps.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "46098c44b72aa07cd03e3af1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7d514a779ee4baf9",
      "framework": "unknown",
      "imports": "",
      "lines": 697,
      "logic_relevance": "none",
      "name": "IndicPositionalCategory",
      "normalized_name": "indic-positional-category",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/IndicPositionalCategory.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "9a7329fb1e84e9b501bfebcf",
      "component_kind": "specification",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9947a0e86f27353",
      "framework": "unknown",
      "imports": "",
      "lines": 281,
      "logic_relevance": "none",
      "name": "SpecialCasing",
      "normalized_name": "special-casing",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/SpecialCasing.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "2c2fde0b49741d35a16422d2",
      "component_kind": "automation-config",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "5d427e7d7cbc6fd9",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "e90a1fd3455dab16bb74dc10",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "983810c739b56b9f",
      "framework": "unknown",
      "imports": "",
      "lines": 858,
      "logic_relevance": "none",
      "name": "HangulSyllableType",
      "normalized_name": "hangul-syllable-type",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/HangulSyllableType.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "87152a93c255fc5982e7b896",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5ae1649a42ed8ae8",
      "framework": "unknown",
      "imports": "",
      "lines": 316,
      "logic_relevance": "none",
      "name": "Blocks",
      "normalized_name": "blocks",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/Blocks.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "517036cbaa31c6eb76380fd8",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3b3c34887396a956",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "DCoreProperties",
      "normalized_name": "dcore-properties",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/DCoreProperties.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "72fe90e859b4030f7b4d0432",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "33ce6b93fd0a0fb2",
      "framework": "unknown",
      "imports": "",
      "lines": 6023,
      "logic_relevance": "none",
      "name": "Index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/Index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "5b758a626139b52af9df1249",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "97b43ed3f4b80572",
      "framework": "unknown",
      "imports": "",
      "lines": 1495,
      "logic_relevance": "none",
      "name": "CaseFolding",
      "normalized_name": "case-folding",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/CaseFolding.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "fb03384f98fc81cf70454199",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f28caf260635cebf",
      "framework": "unknown",
      "imports": "",
      "lines": 2199,
      "logic_relevance": "none",
      "name": "VerticalOrientation",
      "normalized_name": "vertical-orientation",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/VerticalOrientation.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "process,automation",
      "component_id": "636a7dfeb802b87c5cdb571d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "eedcf6932b4081ee",
      "framework": "unknown",
      "imports": "",
      "lines": 208,
      "logic_relevance": "none",
      "name": "CompositionExclusions",
      "normalized_name": "composition-exclusions",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/CompositionExclusions.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "f55ae3f9303b627bebc4478d",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4e84b47918732373",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "NormalizationCorrections",
      "normalized_name": "normalization-corrections",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/NormalizationCorrections.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,process,observability,security,ai",
      "component_id": "2be101f11c6adafa474f9af5",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | process-score:65 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d02e24e4c516e909",
      "framework": "unknown",
      "imports": "",
      "lines": 2693,
      "logic_relevance": "none",
      "name": "Scripts",
      "normalized_name": "scripts",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/Scripts.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "dcbd4b0ee4a8cf3f2e330e9d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f2357d2bd3526b9e",
      "framework": "unknown",
      "imports": "",
      "lines": 561,
      "logic_relevance": "none",
      "name": "NameAliases",
      "normalized_name": "name-aliases",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/NameAliases.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,security,automation",
      "component_id": "361a6037ccdcbe1235d7e52b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c3e6bd1e58b6400",
      "framework": "unknown",
      "imports": "",
      "lines": 565,
      "logic_relevance": "none",
      "name": "NamedSequences",
      "normalized_name": "named-sequences",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/NamedSequences.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "bb91e0d0d0ef72bb88f24e41",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "5a1a47229d37f945",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "UnicodeData",
      "normalized_name": "unicode-data",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/UnicodeData.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "ff23b03dad306fa09550e531",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "90e48995643f45b0",
      "framework": "unknown",
      "imports": "",
      "lines": 1650,
      "logic_relevance": "none",
      "name": "DAge",
      "normalized_name": "dage",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/DAge.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "6f24658720d9d9bac77c73f3",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f2695cc42989a79",
      "framework": "unknown",
      "imports": "",
      "lines": 606,
      "logic_relevance": "none",
      "name": "BidiMirroring",
      "normalized_name": "bidi-mirroring",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/BidiMirroring.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "e9790c715f38d674b9649412",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ff4404ec64f308bd",
      "framework": "unknown",
      "imports": "",
      "lines": 809,
      "logic_relevance": "none",
      "name": "ArabicShaping",
      "normalized_name": "arabic-shaping",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/ArabicShaping.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "ea2656b15eb2b0bdd7c3ebcb",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "75859c6192c6e054",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "NamedSqProv",
      "normalized_name": "named-sq-prov",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/NamedSqProv.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "70b03c099beae438d572d7e6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "58dbf8fedbd5bf67",
      "framework": "unknown",
      "imports": "",
      "lines": 1618,
      "logic_relevance": "none",
      "name": "PropList",
      "normalized_name": "prop-list",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/PropList.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "e38a62caa689727b3aa5c5b6",
      "component_kind": "process-document",
      "confidence": 45,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7e9ff2ef4828f911",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "ReadMe",
      "normalized_name": "read-me",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/ReadMe.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "3a72a490b9837fab24330715",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "57f570c41ba66f49",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "NamesList",
      "normalized_name": "names-list",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/NamesList.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "531b3fd548d3260fb2ac623f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3fd0d744a816ddfd",
      "framework": "unknown",
      "imports": "",
      "lines": 501,
      "logic_relevance": "none",
      "name": "ScriptExtensions",
      "normalized_name": "script-extensions",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/ScriptExtensions.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "6ac74e8932d107fb6c8bde20",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a6b0467c3cc7aa4e",
      "framework": "unknown",
      "imports": "",
      "lines": 1496,
      "logic_relevance": "none",
      "name": "PropValueAliases",
      "normalized_name": "prop-value-aliases",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/PropValueAliases.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,automation",
      "component_id": "6a3cfc21b21caa462c2563fd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40cab5ecba6dd6df",
      "framework": "unknown",
      "imports": "",
      "lines": 1200,
      "logic_relevance": "none",
      "name": "StandardizedVariants",
      "normalized_name": "standardized-variants",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/StandardizedVariants.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "8508edb27f432ef6ba8a01a3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "9f34e2d3ea27ca82",
      "framework": "unknown",
      "imports": "",
      "lines": 2382,
      "logic_relevance": "none",
      "name": "EastAsianWidth",
      "normalized_name": "east-asian-width",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/EastAsianWidth.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "837912eaf783d1a1d301e75d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a3c0839826a30166",
      "framework": "unknown",
      "imports": "",
      "lines": 2314,
      "logic_relevance": "none",
      "name": "DBidiClass",
      "normalized_name": "dbidi-class",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DBidiClass.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "b1170b07be46fd39c87696fc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e343113719b660bd",
      "framework": "unknown",
      "imports": "",
      "lines": 2368,
      "logic_relevance": "none",
      "name": "DEastAsianWidth",
      "normalized_name": "deast-asian-width",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DEastAsianWidth.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "3cac847cf581921ab53bfc4e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "be0f129691d479aa",
      "framework": "unknown",
      "imports": "",
      "lines": 3565,
      "logic_relevance": "none",
      "name": "DLineBreak",
      "normalized_name": "dline-break",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DLineBreak.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "b788d7eebc5d5fc9cf1a1527",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "db7fd6a5e6f068c4",
      "framework": "unknown",
      "imports": "",
      "lines": 2538,
      "logic_relevance": "none",
      "name": "DCombiningClass",
      "normalized_name": "dcombining-class",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DCombiningClass.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "64319a14b9cc71f0f5c1b833",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d788b9362ec7681e",
      "framework": "unknown",
      "imports": "",
      "lines": 702,
      "logic_relevance": "none",
      "name": "DJoinGroup",
      "normalized_name": "djoin-group",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DJoinGroup.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "35b63fdac8a3287c0eabf2ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "280afe22f6c4d565",
      "framework": "unknown",
      "imports": "",
      "lines": 231,
      "logic_relevance": "none",
      "name": "DBinaryProperties",
      "normalized_name": "dbinary-properties",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DBinaryProperties.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "dbbc7099e00aeec51e4cd0c8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "8204c07a7c217bdf",
      "framework": "unknown",
      "imports": "",
      "lines": 1015,
      "logic_relevance": "none",
      "name": "DDecompositionType",
      "normalized_name": "ddecomposition-type",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DDecompositionType.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "b0642aa270f7409d6bc6ce20",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e3a319527153b0c6",
      "framework": "unknown",
      "imports": "",
      "lines": 2252,
      "logic_relevance": "none",
      "name": "DNumValues",
      "normalized_name": "dnum-values",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DNumValues.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "f87a7b96192ad42878b4836b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "07c55b0ed7271fe1",
      "framework": "unknown",
      "imports": "",
      "lines": 3928,
      "logic_relevance": "none",
      "name": "DGeneralCategory",
      "normalized_name": "dgeneral-category",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DGeneralCategory.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "00ab99566478b5c7b1a078ad",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ebbea3c93eeb7431",
      "framework": "unknown",
      "imports": "",
      "lines": 496,
      "logic_relevance": "none",
      "name": "DJoinType",
      "normalized_name": "djoin-type",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DJoinType.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7058b896e5c7f9cd1d57946c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92449d354d9f6b6f",
      "framework": "unknown",
      "imports": "",
      "lines": 260,
      "logic_relevance": "none",
      "name": "DNumType",
      "normalized_name": "dnum-type",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/extracted/DNumType.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "02e7cfa3cf67298c4f8166d9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c207e8ebd06ee591",
      "framework": "unknown",
      "imports": "",
      "lines": 1359,
      "logic_relevance": "none",
      "name": "WordBreakProperty",
      "normalized_name": "word-break-property",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/WordBreakProperty.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "1d840628192a2eb63236198b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "95789f62e3b1e781",
      "framework": "unknown",
      "imports": "",
      "lines": 2085,
      "logic_relevance": "none",
      "name": "WBTest",
      "normalized_name": "wbtest",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/WBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "31784a5e1ff5724593dc9bb3",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "0ea0441dadd9698a",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "LBTest",
      "normalized_name": "lbtest",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/LBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "7d1448440e969030b3945a4a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "718d174957712410",
      "framework": "unknown",
      "imports": "",
      "lines": 850,
      "logic_relevance": "none",
      "name": "GCBTest",
      "normalized_name": "gcbtest",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/GCBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c57728a9c8b8c59308ad4690",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3b66caefc4fa877d",
      "framework": "unknown",
      "imports": "",
      "lines": 1475,
      "logic_relevance": "none",
      "name": "GraphemeBreakProperty",
      "normalized_name": "grapheme-break-property",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/GraphemeBreakProperty.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "d968fee813c5af0a7ce153cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e45fa8195bb413b9",
      "framework": "unknown",
      "imports": "",
      "lines": 2710,
      "logic_relevance": "none",
      "name": "SentenceBreakProperty",
      "normalized_name": "sentence-break-property",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/SentenceBreakProperty.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "e2f7902952b14893a6abe921",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "eacc03e39dddc60c",
      "framework": "unknown",
      "imports": "",
      "lines": 530,
      "logic_relevance": "none",
      "name": "SBTest",
      "normalized_name": "sbtest",
      "package_manager": "unknown",
      "path": "tools/lib64/perl5/5.28.0/unicore/auxiliary/SBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "de14386bb93f0895566d6e15",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f13a2884bd495549",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "itclConfig",
      "normalized_name": "itcl-config",
      "package_manager": "unknown",
      "path": "tools/lib64/itcl4.1.1/itclConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "8d7a0e12f074fcc8b5745405",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9532582de0496725",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "tdbcConfig",
      "normalized_name": "tdbc-config",
      "package_manager": "unknown",
      "path": "tools/lib64/tdbc1.0.6/tdbcConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "eabb21449530c42dfe136e6e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f5b622d276c03f1a",
      "framework": "unknown",
      "imports": "",
      "lines": 514,
      "logic_relevance": "none",
      "name": "fixinc",
      "normalized_name": "fixinc",
      "package_manager": "unknown",
      "path": "tools/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/install-tools/fixinc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "4263d76e078bf81662fb5f85",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f5b622d276c03f1a",
      "framework": "unknown",
      "imports": "",
      "lines": 514,
      "logic_relevance": "none",
      "name": "fixinc",
      "normalized_name": "fixinc",
      "package_manager": "unknown",
      "path": "tools/libexec/gcc/x86_64-lfs-linux-gnu/8.2.0/install-tools/fixinc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "e2c09407b55667feed1f8742",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ac312effe6d50989",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/drm/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d561215923de4892c2d934c0",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dc92d2121629fabe",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/misc/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "9d0920a294996753f329e32c",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7f6922c31b4a2a8c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/asm-generic/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "93279cef288c313d6e9c6077",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cb93ea9803de5379",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/xen/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation",
      "component_id": "415666de4a9df8680dd580d9",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "49fca5cc6f1a01a0",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/video/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "c630684b9d7d415e74e81af3",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7799fada1f4ef2ec",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/asm/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "88745c5e7823058cdfc2441a",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b2881b6cc6ccb052",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/scsi/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "0173fc643c040bc6b808ba19",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d664c94245238ffd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/scsi/fc/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "b9926741a8400989777da5d7",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f561bce6c2a077d5",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/rdma/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1e664cd35cd9a564b4b6bffa",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d12324706156f600",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/rdma/hfi/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security",
      "component_id": "ba008af235f2f4e87545bdf9",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "572703c88db2dac0",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "10b88fbc587dd366697e14e6",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3a5460dc2033eb04",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/netfilter_ipv6/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "b972f702bb08340daba121cf",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8032c4cc4f4f311b",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/mmc/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "a01114e65c5822975e588e33",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b101e4b647be7ec",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/can/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "e28a9083c6902bede39a981c",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "52bb29ec351fae83",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/hdlc/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "c55d978cddd1b715c3c609f4",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6348fd74c2bdf4d4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/nfsd/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "9328290298ff635544152f5b",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5fdc886983d69d57",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/byteorder/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation",
      "component_id": "2c8c9757cdefe37cfa780376",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af18c00d2aba7379",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/dvb/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1f5d2206f658763d9a5763ea",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d57ade40cc34c551",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/sched/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ade5bcc05cc8234bd69ca9e5",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "770f0c1d369b5912",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/netfilter/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1c1a31c58addd2bfde18c6ea",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d07c15d5fc2da92e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/netfilter/ipset/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation",
      "component_id": "ab2c5aba86b67f8840c8b484",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "394185f9fd592c1c",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/usb/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "c818e42e4f6b71df7fd0c501",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e04f85b819c41572",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/isdn/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d1be4a53a25ec92795de9ee5",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2441c1d6d06116bd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/spi/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "3e23cc2e99f5f097c186bd09",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9108399ccda6b4fd",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/cifs/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4fe858db0d8296778d2fe872",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0956bd1f0178c0c6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/netfilter_ipv4/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "4017f878a3bc4e8b72d117a2",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8f061363ba0796d5",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/sunrpc/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ef8b3f2993528b559ac02f46",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e2fd0f4ccab19944",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/netfilter_bridge/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "b5e7ef08d7eab884955803f9",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "368b2b32bdd96ba4",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/caif/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "369b599b79f95ac3b67a16c9",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d09295bd4e670ece",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/android/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "880674471bebb0ff1ded0c03",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ace691587e9ef870",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/raid/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "c0aa82e8e3303a34b9801345",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0bdb327d90a7c363",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/wimax/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "1691f9b62de527547408c32e",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d589c7b8623263ca",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/genwqe/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "33cb886408792a3916e69095",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9cc48ed4ab4aa06",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/tc_act/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "079ffba483c3621dc52549af",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "49345753971412b3",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/iio/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d89f88241ae4b230850032ca",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "601f43d4d5c55c7e",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/hsi/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "a0f823a9a6bdf35f781ad6aa",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "51936f15f907bf50",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/netfilter_arp/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d7f7c79794cf209582da9736",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f2bc42d1088827a5",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/linux/tc_ematch/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "e8c397bd7c2a8178b47d8c94",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3856ecf0bb67ad57",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/mtd/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "auth-and-keys",
      "categories": "automation,security",
      "component_id": "05bb2fa9f4194a854d11ddb9",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for auth-and-keys; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "807775bef5c2c707",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "..install",
      "normalized_name": "install",
      "package_manager": "unknown",
      "path": "tools/include/sound/..install.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "af8b0d46742bf13a25f27b4c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "70621a3b586d3d52",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "gawk",
      "normalized_name": "gawk",
      "package_manager": "unknown",
      "path": "tools/etc/profile.d/gawk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,backend",
      "component_id": "fad35e83a4ded47e6bd39e2e",
      "component_kind": "automation-config",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | backend-score:55",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "912b82f311a5df77",
      "framework": "unknown",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "tools/var/db/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "9ede1240266066c6cf49ef4b",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "gdb,libstdcxx.v6,os,os.path,sys",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:gdb, libstdcxx.v6, os, os.path, sys | logic-score:45",
      "exports": "",
      "extension": ".py",
      "extraction_status": "catalog-only",
      "file_hash": "e24f457a6a1483e4",
      "framework": "python",
      "imports": "gdb,libstdcxx.v6,os,os.path,sys",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "libstdc++.so.6.0.25-gdb",
      "normalized_name": "libstdc-so-6-0-25-gdb",
      "package_manager": "unknown",
      "path": "tools/lib/libstdc++.so.6.0.25-gdb.py",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation,logic,ai",
      "component_id": "58a447c57f151b2e9b85513b",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fcee94c1a1478b23",
      "framework": "unknown",
      "imports": "",
      "lines": 169,
      "logic_relevance": "secondary",
      "name": "tclConfig",
      "normalized_name": "tcl-config",
      "package_manager": "unknown",
      "path": "tools/lib/tclConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic",
      "component_id": "fbe3e830a98095b29681be97",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a3210c14cba9aea",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "secondary",
      "name": "tclooConfig",
      "normalized_name": "tcloo-config",
      "package_manager": "unknown",
      "path": "tools/lib/tclooConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "c407a37fcba9cddd5f867949",
      "component_kind": "business-logic",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "catalog-only",
      "file_hash": "27c4c4cd45a58dd9",
      "framework": "unknown",
      "imports": "",
      "lines": 92,
      "logic_relevance": "primary",
      "name": "distroprefs",
      "normalized_name": "distroprefs",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/CPAN/Kwalify/distroprefs.yml",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "9a1482c0954b71f913445d3d",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "418e9ab0c93e566d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "allkeys",
      "normalized_name": "allkeys",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/Unicode/Collate/allkeys.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,observability,security,logic,automation,ai",
      "component_id": "3b1d49701e7570ea8b28dea3",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3490fb3785180b58",
      "framework": "unknown",
      "imports": "",
      "lines": 864,
      "logic_relevance": "secondary",
      "name": "keys",
      "normalized_name": "keys",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/Unicode/Collate/keys.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,logic,observability,automation",
      "component_id": "91c36227355fca1c70e122b5",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "292171a0a1c13d7e",
      "framework": "unknown",
      "imports": "",
      "lines": 185,
      "logic_relevance": "secondary",
      "name": "BidiBrackets",
      "normalized_name": "bidi-brackets",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/BidiBrackets.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,logic,observability",
      "component_id": "26c7deff8bc9b4676b136c69",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9ca521224e08d306",
      "framework": "unknown",
      "imports": "",
      "lines": 197,
      "logic_relevance": "secondary",
      "name": "PropertyAliases",
      "normalized_name": "property-aliases",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/PropertyAliases.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "9e55a91ca405339647530259",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f6acead8f84df5c7",
      "framework": "unknown",
      "imports": "",
      "lines": 1226,
      "logic_relevance": "secondary",
      "name": "IndicSyllabicCategory",
      "normalized_name": "indic-syllabic-category",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/IndicSyllabicCategory.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic,process,observability,security",
      "component_id": "f05782284185fc545aff5768",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "16ef6d6d74f2d3fc",
      "framework": "unknown",
      "imports": "",
      "lines": 763,
      "logic_relevance": "primary",
      "name": "EmojiSources",
      "normalized_name": "emoji-sources",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/EmojiSources.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,process",
      "component_id": "0ce9de5caebbaa5b574c0856",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "27d00082f053c10b",
      "framework": "unknown",
      "imports": "",
      "lines": 276,
      "logic_relevance": "primary",
      "name": "CJKRadicals",
      "normalized_name": "cjkradicals",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/CJKRadicals.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,logic,automation",
      "component_id": "c6cb33458a404a30e12aa809",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "6b204c3727b77699",
      "framework": "unknown",
      "imports": "",
      "lines": 3328,
      "logic_relevance": "secondary",
      "name": "LineBreak",
      "normalized_name": "line-break",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/LineBreak.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "process,logic",
      "component_id": "d52006cdd18bf29975a7ef77",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for seo-and-metadata; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c8ed526f70443535",
      "framework": "unknown",
      "imports": "",
      "lines": 93,
      "logic_relevance": "secondary",
      "name": "Jamo",
      "normalized_name": "jamo",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/Jamo.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,process,observability",
      "component_id": "e063f578ba309f3dc22cb942",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3e255ccdff4b00cf",
      "framework": "unknown",
      "imports": "",
      "lines": 9706,
      "logic_relevance": "primary",
      "name": "DNormalizationProps",
      "normalized_name": "dnormalization-props",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/DNormalizationProps.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic,ai",
      "component_id": "288a51666f01b6ed7d3028c2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7d514a779ee4baf9",
      "framework": "unknown",
      "imports": "",
      "lines": 697,
      "logic_relevance": "secondary",
      "name": "IndicPositionalCategory",
      "normalized_name": "indic-positional-category",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/IndicPositionalCategory.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,logic,observability,automation",
      "component_id": "68a75289e213df7a04264101",
      "component_kind": "specification",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e9947a0e86f27353",
      "framework": "unknown",
      "imports": "",
      "lines": 281,
      "logic_relevance": "secondary",
      "name": "SpecialCasing",
      "normalized_name": "special-casing",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/SpecialCasing.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic",
      "component_id": "caa823b9f12fc2b9839c8f82",
      "component_kind": "automation-config",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85 | logic-score:45",
      "exports": "",
      "extension": "Makefile",
      "extraction_status": "catalog-only",
      "file_hash": "5d427e7d7cbc6fd9",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "Makefile",
      "normalized_name": "makefile",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/Makefile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "e663b6a437e2e90e48045944",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "983810c739b56b9f",
      "framework": "unknown",
      "imports": "",
      "lines": 858,
      "logic_relevance": "secondary",
      "name": "HangulSyllableType",
      "normalized_name": "hangul-syllable-type",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/HangulSyllableType.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,logic,observability,automation",
      "component_id": "4a22582294f11e2ff796d6fb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5ae1649a42ed8ae8",
      "framework": "unknown",
      "imports": "",
      "lines": 316,
      "logic_relevance": "secondary",
      "name": "Blocks",
      "normalized_name": "blocks",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/Blocks.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "81d4c1532ac7f71f272040b0",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d72a854224adb393",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "DCoreProperties",
      "normalized_name": "dcore-properties",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/DCoreProperties.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,logic,automation",
      "component_id": "7a73388381be372f67c47531",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "33ce6b93fd0a0fb2",
      "framework": "unknown",
      "imports": "",
      "lines": 6023,
      "logic_relevance": "secondary",
      "name": "Index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/Index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,logic,observability,automation",
      "component_id": "3bfa94bdd9e12f7feec714fc",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "97b43ed3f4b80572",
      "framework": "unknown",
      "imports": "",
      "lines": 1495,
      "logic_relevance": "secondary",
      "name": "CaseFolding",
      "normalized_name": "case-folding",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/CaseFolding.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,security,automation",
      "component_id": "125fead7b3822aeee2c5e8c4",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f28caf260635cebf",
      "framework": "unknown",
      "imports": "",
      "lines": 2199,
      "logic_relevance": "primary",
      "name": "VerticalOrientation",
      "normalized_name": "vertical-orientation",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/VerticalOrientation.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "shipping",
      "categories": "logic,process,automation",
      "component_id": "24a19352f0fdd9e8004cd5d9",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "eedcf6932b4081ee",
      "framework": "unknown",
      "imports": "",
      "lines": 208,
      "logic_relevance": "primary",
      "name": "CompositionExclusions",
      "normalized_name": "composition-exclusions",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/CompositionExclusions.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,process",
      "component_id": "65072348100a72ad221fbacc",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "4e84b47918732373",
      "framework": "unknown",
      "imports": "",
      "lines": 52,
      "logic_relevance": "primary",
      "name": "NormalizationCorrections",
      "normalized_name": "normalization-corrections",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/NormalizationCorrections.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,logic,process,observability,security,ai",
      "component_id": "42c7908b4ca7bee13fa9a584",
      "component_kind": "automation-config",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | logic-score:70 | process-score:65 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d02e24e4c516e909",
      "framework": "unknown",
      "imports": "",
      "lines": 2693,
      "logic_relevance": "secondary",
      "name": "Scripts",
      "normalized_name": "scripts",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/Scripts.txt",
      "primary_category": "automation",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "logic,process,automation",
      "component_id": "0916f588e2f0574cb475c346",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for discovery; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f2357d2bd3526b9e",
      "framework": "unknown",
      "imports": "",
      "lines": 561,
      "logic_relevance": "primary",
      "name": "NameAliases",
      "normalized_name": "name-aliases",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/NameAliases.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "logic,process,security,automation",
      "component_id": "cc09350d4a4549bfdd839408",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6c3e6bd1e58b6400",
      "framework": "unknown",
      "imports": "",
      "lines": 565,
      "logic_relevance": "primary",
      "name": "NamedSequences",
      "normalized_name": "named-sequences",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/NamedSequences.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "95f7cfac616f9da13d979625",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "07b59cb84c5ae27a",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "UnicodeData",
      "normalized_name": "unicode-data",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/UnicodeData.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,logic,automation",
      "component_id": "e35039800de6eab293346add",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "90e48995643f45b0",
      "framework": "unknown",
      "imports": "",
      "lines": 1650,
      "logic_relevance": "secondary",
      "name": "DAge",
      "normalized_name": "dage",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/DAge.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,logic",
      "component_id": "be9a263524c65d8b41f46052",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f2695cc42989a79",
      "framework": "unknown",
      "imports": "",
      "lines": 606,
      "logic_relevance": "secondary",
      "name": "BidiMirroring",
      "normalized_name": "bidi-mirroring",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/BidiMirroring.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,automation",
      "component_id": "2fd73b30e3bdd1f6fbe9eae7",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "ff4404ec64f308bd",
      "framework": "unknown",
      "imports": "",
      "lines": 809,
      "logic_relevance": "primary",
      "name": "ArabicShaping",
      "normalized_name": "arabic-shaping",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/ArabicShaping.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,logic",
      "component_id": "9dd2e2c361f7c3f95bb0dd74",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "75859c6192c6e054",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "secondary",
      "name": "NamedSqProv",
      "normalized_name": "named-sq-prov",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/NamedSqProv.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic,ai",
      "component_id": "6453cbcdaa272c081654fafa",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "58dbf8fedbd5bf67",
      "framework": "unknown",
      "imports": "",
      "lines": 1618,
      "logic_relevance": "secondary",
      "name": "PropList",
      "normalized_name": "prop-list",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/PropList.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "6ba8bac57572523bcc905a97",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "7e9ff2ef4828f911",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "secondary",
      "name": "ReadMe",
      "normalized_name": "read-me",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/ReadMe.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,logic",
      "component_id": "0a19e3950bb9bd7658cbb85b",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "9636fc7846796d2d",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "NamesList",
      "normalized_name": "names-list",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/NamesList.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,logic",
      "component_id": "5378a2ef918150984cac6aef",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3fd0d744a816ddfd",
      "framework": "unknown",
      "imports": "",
      "lines": 501,
      "logic_relevance": "secondary",
      "name": "ScriptExtensions",
      "normalized_name": "script-extensions",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/ScriptExtensions.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,logic,observability,ai",
      "component_id": "6a6d37542580b8e994018367",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a6b0467c3cc7aa4e",
      "framework": "unknown",
      "imports": "",
      "lines": 1496,
      "logic_relevance": "secondary",
      "name": "PropValueAliases",
      "normalized_name": "prop-value-aliases",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/PropValueAliases.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "process,logic,automation",
      "component_id": "66b837fbcd16cfad34c57ec9",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:45 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "40cab5ecba6dd6df",
      "framework": "unknown",
      "imports": "",
      "lines": 1200,
      "logic_relevance": "secondary",
      "name": "StandardizedVariants",
      "normalized_name": "standardized-variants",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/StandardizedVariants.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,logic,automation",
      "component_id": "cf99e34f2f06d0744c73581f",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "9f34e2d3ea27ca82",
      "framework": "unknown",
      "imports": "",
      "lines": 2382,
      "logic_relevance": "secondary",
      "name": "EastAsianWidth",
      "normalized_name": "east-asian-width",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/EastAsianWidth.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,automation",
      "component_id": "a1d86ceb050e1fda2308ffe2",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a3c0839826a30166",
      "framework": "unknown",
      "imports": "",
      "lines": 2314,
      "logic_relevance": "primary",
      "name": "DBidiClass",
      "normalized_name": "dbidi-class",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DBidiClass.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,logic,automation",
      "component_id": "c51935dd1d3981be246a0b19",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e343113719b660bd",
      "framework": "unknown",
      "imports": "",
      "lines": 2368,
      "logic_relevance": "secondary",
      "name": "DEastAsianWidth",
      "normalized_name": "deast-asian-width",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DEastAsianWidth.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "2a96907bf2534dfad2b55648",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "be0f129691d479aa",
      "framework": "unknown",
      "imports": "",
      "lines": 3565,
      "logic_relevance": "secondary",
      "name": "DLineBreak",
      "normalized_name": "dline-break",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DLineBreak.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,security,automation",
      "component_id": "a78a43250e13b40b9a5f3785",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "db7fd6a5e6f068c4",
      "framework": "unknown",
      "imports": "",
      "lines": 2538,
      "logic_relevance": "primary",
      "name": "DCombiningClass",
      "normalized_name": "dcombining-class",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DCombiningClass.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,logic,automation",
      "component_id": "7bf3c74a08d73248d7f4fec2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d788b9362ec7681e",
      "framework": "unknown",
      "imports": "",
      "lines": 702,
      "logic_relevance": "secondary",
      "name": "DJoinGroup",
      "normalized_name": "djoin-group",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DJoinGroup.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,logic,observability",
      "component_id": "052a80d093229a067c150fe2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | logic-score:70 | observability-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "280afe22f6c4d565",
      "framework": "unknown",
      "imports": "",
      "lines": 231,
      "logic_relevance": "secondary",
      "name": "DBinaryProperties",
      "normalized_name": "dbinary-properties",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DBinaryProperties.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,automation",
      "component_id": "c190714ff4dfc7299568b1dc",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "8204c07a7c217bdf",
      "framework": "unknown",
      "imports": "",
      "lines": 1015,
      "logic_relevance": "primary",
      "name": "DDecompositionType",
      "normalized_name": "ddecomposition-type",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DDecompositionType.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,logic,automation",
      "component_id": "8ef5535879745fa458bff9bb",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e3a319527153b0c6",
      "framework": "unknown",
      "imports": "",
      "lines": 2252,
      "logic_relevance": "secondary",
      "name": "DNumValues",
      "normalized_name": "dnum-values",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DNumValues.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "7adbb0c0f619f64abf397bab",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "07c55b0ed7271fe1",
      "framework": "unknown",
      "imports": "",
      "lines": 3928,
      "logic_relevance": "secondary",
      "name": "DGeneralCategory",
      "normalized_name": "dgeneral-category",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DGeneralCategory.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,process,observability,automation",
      "component_id": "e3e36ae011cae562eb0c68a0",
      "component_kind": "business-logic",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:70 | process-score:65 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ebbea3c93eeb7431",
      "framework": "unknown",
      "imports": "",
      "lines": 496,
      "logic_relevance": "primary",
      "name": "DJoinType",
      "normalized_name": "djoin-type",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DJoinType.txt",
      "primary_category": "logic",
      "process_relevance": "secondary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "228135b8abbb5f9bc8a6296b",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92449d354d9f6b6f",
      "framework": "unknown",
      "imports": "",
      "lines": 260,
      "logic_relevance": "secondary",
      "name": "DNumType",
      "normalized_name": "dnum-type",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/extracted/DNumType.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,logic,automation",
      "component_id": "fed79c0ad39e6195f67782c2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "c207e8ebd06ee591",
      "framework": "unknown",
      "imports": "",
      "lines": 1359,
      "logic_relevance": "secondary",
      "name": "WordBreakProperty",
      "normalized_name": "word-break-property",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/WordBreakProperty.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "3a17617c4800c58887304817",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "95789f62e3b1e781",
      "framework": "unknown",
      "imports": "",
      "lines": 2085,
      "logic_relevance": "secondary",
      "name": "WBTest",
      "normalized_name": "wbtest",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/WBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process,logic",
      "component_id": "71250b80de81b9bbe080baeb",
      "component_kind": "process-document",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "a36e576cfced5075",
      "framework": "unknown",
      "imports": "",
      "lines": 0,
      "logic_relevance": "secondary",
      "name": "LBTest",
      "normalized_name": "lbtest",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/LBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "2b73fbb737fc44c1d702c900",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "718d174957712410",
      "framework": "unknown",
      "imports": "",
      "lines": 850,
      "logic_relevance": "secondary",
      "name": "GCBTest",
      "normalized_name": "gcbtest",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/GCBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,logic,automation,ai",
      "component_id": "91cdfe2ba9f971d1c41a47c2",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | logic-score:45 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "3b66caefc4fa877d",
      "framework": "unknown",
      "imports": "",
      "lines": 1475,
      "logic_relevance": "secondary",
      "name": "GraphemeBreakProperty",
      "normalized_name": "grapheme-break-property",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/GraphemeBreakProperty.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,logic,automation",
      "component_id": "5a1da96552e08a27ddf99d15",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "e45fa8195bb413b9",
      "framework": "unknown",
      "imports": "",
      "lines": 2710,
      "logic_relevance": "secondary",
      "name": "SentenceBreakProperty",
      "normalized_name": "sentence-break-property",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/SentenceBreakProperty.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,logic",
      "component_id": "7cf085530849fb47683bc926",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | logic-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "eacc03e39dddc60c",
      "framework": "unknown",
      "imports": "",
      "lines": 530,
      "logic_relevance": "secondary",
      "name": "SBTest",
      "normalized_name": "sbtest",
      "package_manager": "unknown",
      "path": "tools/lib/perl5/5.28.0/unicore/auxiliary/SBTest.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic",
      "component_id": "1f9660b0a82ece1ef32caba5",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f13a2884bd495549",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "secondary",
      "name": "itclConfig",
      "normalized_name": "itcl-config",
      "package_manager": "unknown",
      "path": "tools/lib/itcl4.1.1/itclConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,logic",
      "component_id": "32e9a81d2438e425404cbb05",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9532582de0496725",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "secondary",
      "name": "tdbcConfig",
      "normalized_name": "tdbc-config",
      "package_manager": "unknown",
      "path": "tools/lib/tdbc1.0.6/tdbcConfig.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "49eabbac03480bd9341df3e2",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "gdb,gdb.printing,gdb.types,itertools,re,sys",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:FilteringTypePrinter, NodeIteratorPrinter, Printer, RbtreeIterator, RxPrinter, SharedPointerPrinter, SingleObjContainerPrinter, SmartPtrIterator | imports:gdb, gdb.printing, gdb.types, itertools, re, sys | automation-score:45",
      "exports": "FilteringTypePrinter,NodeIteratorPrinter,Printer,RbtreeIterator,RxPrinter,SharedPointerPrinter,SingleObjContainerPrinter,SmartPtrIterator,StdBitsetPrinter,StdDebugIteratorPrinter,StdDequeIteratorPrinter,StdDequePrinter,StdExpAnyPrinter,StdExpOptionalPrinter,StdExpPathPrinter,StdExpStringViewPrinter,StdForwardListPrinter,StdFwdListIteratorPrinter,StdHashtableIterator,StdListIteratorPrinter,StdListPrinter,StdMapPrinter,StdNodeHandlePrinter,StdRbtreeIteratorPrinter,StdSetPrinter,StdSlistIteratorPrinter,StdSlistPrinter,StdStackOrQueuePrinter,StdStringPrinter,StdTuplePrinter,StdVariantPrinter,StdVectorIteratorPrinter,StdVectorPrinter,TemplateTypePrinter,Tr1HashtableIterator,Tr1UnorderedMapPrinter,Tr1UnorderedSetPrinter,UniquePointerPrinter,add_one_template_type_printer,add_one_type_printer,build_libstdcxx_dictionary,find_type,get_template_arg_list,get_value_from_Rb_tree_node,get_value_from_aligned_membuf,get_value_from_list_node,is_specialization_of,num_elements,register_libstdcxx_printers,register_type_printers,strip_inline_namespaces,strip_versioned_namespace",
      "extension": ".py",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9d87417e9974ac7d",
      "framework": "python",
      "imports": "gdb,gdb.printing,gdb.types,itertools,re,sys",
      "lines": 1758,
      "logic_relevance": "none",
      "name": "printers",
      "normalized_name": "printers",
      "package_manager": "unknown",
      "path": "tools/share/gcc-8.2.0/python/libstdcxx/v6/printers.py",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e9ad1667c25c81121ffb1ed9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1c0ee983d42b6fd0",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "2.create-ramdisk",
      "normalized_name": "2-create-ramdisk",
      "package_manager": "unknown",
      "path": "image/2.create-ramdisk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "93484cbcbe3ef24b1bd4ccb6",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "19fed4aed74777a3",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "image",
      "normalized_name": "image",
      "package_manager": "unknown",
      "path": "image/image.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "9d9ec697440e9f713b13dc53",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "af22755acc60c07d",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "3.build-iso",
      "normalized_name": "3-build-iso",
      "package_manager": "unknown",
      "path": "image/3.build-iso.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "04964875f41c6522565b488a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "86ed5a3bdfc75ae4",
      "framework": "unknown",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "1.configure-syslinux",
      "normalized_name": "1-configure-syslinux",
      "package_manager": "unknown",
      "path": "image/1.configure-syslinux.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "da868e6295d3650af8d7c04b",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ea050c52ac6c67cd",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "chapter-6",
      "normalized_name": "chapter-6",
      "package_manager": "unknown",
      "path": "book/chapter-6.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "8ee01f29cc54f995191e7a41",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0e7967309b0ec8f4",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "chapter-7",
      "normalized_name": "chapter-7",
      "package_manager": "unknown",
      "path": "book/chapter-7.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "7fa98d5798e9ce9b76d49ff9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fe6cba2d4e7d5ab5",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "book",
      "normalized_name": "book",
      "package_manager": "unknown",
      "path": "book/book.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "6bbf6749f741989cebbdd502",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "988067e9f04a882a",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "chapter-7-chroot",
      "normalized_name": "chapter-7-chroot",
      "package_manager": "unknown",
      "path": "book/chapter-7-chroot.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "942eef8e17c1ad9faf6e7ab6",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8a36e64064dc0d87",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "chapter-3",
      "normalized_name": "chapter-3",
      "package_manager": "unknown",
      "path": "book/chapter-3.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "741207240f16716de25083fe",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b79d8a2eb0b58275",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "chapter-8",
      "normalized_name": "chapter-8",
      "package_manager": "unknown",
      "path": "book/chapter-8.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "611257f0fb232f8534cc6856",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf86a3ceb96c261a",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "chapter-9",
      "normalized_name": "chapter-9",
      "package_manager": "unknown",
      "path": "book/chapter-9.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "08a2bfaa0b3764e98d7c04aa",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9095d72cdabcd2ac",
      "framework": "unknown",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "chapter-6-chroot",
      "normalized_name": "chapter-6-chroot",
      "package_manager": "unknown",
      "path": "book/chapter-6-chroot.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ea23062b24e8cf00583f374d",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "df08b215d4fa71cb",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "chapter-8-chroot",
      "normalized_name": "chapter-8-chroot",
      "package_manager": "unknown",
      "path": "book/chapter-8-chroot.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "56c33cdbd1b21c3c8eec310b",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ab2b4aceb8e6600f",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "library-check",
      "normalized_name": "library-check",
      "package_manager": "unknown",
      "path": "book/library-check.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "91667b504f5a3d2a9c0b2a1b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "98883e7f3058db8a",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "version-check",
      "normalized_name": "version-check",
      "package_manager": "unknown",
      "path": "book/version-check.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c248cc3121b497c740887d22",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "782b3d477b52abf1",
      "framework": "unknown",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "chapter-9-chroot",
      "normalized_name": "chapter-9-chroot",
      "package_manager": "unknown",
      "path": "book/chapter-9-chroot.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "b2e6749ef0448007131aafdd",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ad59ba60add0afdb",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "chapter-5",
      "normalized_name": "chapter-5",
      "package_manager": "unknown",
      "path": "book/chapter-5.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "356ec71452f8986294821053",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for ai; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b1ed3193a3aaea3f",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "7.x-configure-bash",
      "normalized_name": "7-x-configure-bash",
      "package_manager": "unknown",
      "path": "book/chapter-7/7.x-configure-bash.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "22a39ba89b6f8b8d6c66542d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "970901186d3fa716",
      "framework": "unknown",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "7.4-manage-devices",
      "normalized_name": "7-4-manage-devices",
      "package_manager": "unknown",
      "path": "book/chapter-7/7.4-manage-devices.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "6880db3d07363a4440921c46",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "60dd00df26a9a6c5",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "7.5-configure-network",
      "normalized_name": "7-5-configure-network",
      "package_manager": "unknown",
      "path": "book/chapter-7/7.5-configure-network.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "1fc614d8a9b8219668b4ee57",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "18605f0cf4e3f8fa",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "7.2-make-lfs-bootscripts",
      "normalized_name": "7-2-make-lfs-bootscripts",
      "package_manager": "unknown",
      "path": "book/chapter-7/7.2-make-lfs-bootscripts.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "071f815e4c11567ad7812293",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b24f66fbc8af8e0",
      "framework": "unknown",
      "imports": "",
      "lines": 144,
      "logic_relevance": "none",
      "name": "7.6-configure-systemv",
      "normalized_name": "7-6-configure-systemv",
      "package_manager": "unknown",
      "path": "book/chapter-7/7.6-configure-systemv.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "1c9d2442da159916b19314d3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e1c0e48f9480f75f",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "9.1-the-end",
      "normalized_name": "9-1-the-end",
      "package_manager": "unknown",
      "path": "book/chapter-9/9.1-the-end.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c30eb76ec5767acb219c0c5c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "eeca8856e84e6c8a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "9.x-cleanup",
      "normalized_name": "9-x-cleanup",
      "package_manager": "unknown",
      "path": "book/chapter-9/9.x-cleanup.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "7359c3962a96187b452c95b6",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "834add5f82f6f504",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "8.2-create-fstab",
      "normalized_name": "8-2-create-fstab",
      "package_manager": "unknown",
      "path": "book/chapter-8/8.2-create-fstab.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "42865b31d38d4ae661ba7ff3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1615f626d734c932",
      "framework": "unknown",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "8.3-make-linux-kernel",
      "normalized_name": "8-3-make-linux-kernel",
      "package_manager": "unknown",
      "path": "book/chapter-8/8.3-make-linux-kernel.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "becf012bf4361f8980802534",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d4287faeca2e5987",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "8.4-setup-grub",
      "normalized_name": "8-4-setup-grub",
      "package_manager": "unknown",
      "path": "book/chapter-8/8.4-setup-grub.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e6b1a24fbd6f67cb5bf7ec30",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3461d5834d4e95a6",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "6.48-make-libelf",
      "normalized_name": "6-48-make-libelf",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.48-make-libelf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "ab45ca8f10efc9ab0992577b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "28ef2906e5cbcb00",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "6.29-make-psmisc",
      "normalized_name": "6-29-make-psmisc",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.29-make-psmisc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "fb03fb6eac82589eaf02e8b0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "39126f8dd46fc57b",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "6.64-make-gzip",
      "normalized_name": "6-64-make-gzip",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.64-make-gzip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "06daf1363af103a3c65d953f",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4143c5e1127b1b30",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "6.32-make-flex",
      "normalized_name": "6-32-make-flex",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.32-make-flex.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation,security",
      "component_id": "6a7f9c645a8a4bcc670d8bbc",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23eef19ef1dff5dd",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "6.37-make-gperf",
      "normalized_name": "6-37-make-gperf",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.37-make-gperf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "03a0faec9ef677ba2d3e0db3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "aca05cab0fbf704c",
      "framework": "unknown",
      "imports": "",
      "lines": 63,
      "logic_relevance": "none",
      "name": "6.6-create-essentials",
      "normalized_name": "6-6-create-essentials",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.6-create-essentials.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "2004f47a68f0fbe9228fa337",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8284dfb37616e541",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "6.22-make-bzip2",
      "normalized_name": "6-22-make-bzip2",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.22-make-bzip2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "8e0a1f70a4c4ff6f0ff13809",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "66e2747b0fae7478",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "6.38-make-expat",
      "normalized_name": "6-38-make-expat",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.38-make-expat.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "2f036251b9e606c1f6db4338",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "357c321f0b60deca",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "6.53-make-meson",
      "normalized_name": "6-53-make-meson",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.53-make-meson.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "975e452ecaf6ed547c398433",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "710efa6c021c7c81",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "6.51-make-python",
      "normalized_name": "6-51-make-python",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.51-make-python.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "5db0bcac3ed8c5d4e31a4c97",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bbb5788bec6404dc",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "6.80-clean",
      "normalized_name": "6-80-clean",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.80-clean.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "e258b9b4fb8888b54c4ec71c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5dd35d214697526b",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "6.15-make-bc",
      "normalized_name": "6-15-make-bc",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.15-make-bc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "84dd017004473b329cda9f2f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e221466ece5d3c6",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "6.10-adjust-toolchain",
      "normalized_name": "6-10-adjust-toolchain",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.10-adjust-toolchain.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c639ea5187f0c926547d8ec2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6b338e92ee7be79d",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "6.62-make-grub",
      "normalized_name": "6-62-make-grub",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.62-make-grub.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,security,ai",
      "component_id": "807b9bd868b78ffe60c6e38c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a4c040008623030e",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "6.70-make-sysklogd",
      "normalized_name": "6-70-make-sysklogd",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.70-make-sysklogd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ca2a4fd2bf124e35159aeeac",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bdc31b2cc0365749",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "6.39-make-inetutils",
      "normalized_name": "6-39-make-inetutils",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.39-make-inetutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "916d920ddb223480a7118449",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e904f199971f08e5",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "6.58-make-diffutils",
      "normalized_name": "6-58-make-diffutils",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.58-make-diffutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "19e6725be8e629ad07f4ce23",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d3d7dd8de33a5c5e",
      "framework": "unknown",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "6.72-make-eudev",
      "normalized_name": "6-72-make-eudev",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.72-make-eudev.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "1e8dad0c3707fe673d3e028b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "68e02600d1283a98",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "6.2-prepare-vkfs",
      "normalized_name": "6-2-prepare-vkfs",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.2-prepare-vkfs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "6b4444ad4cfec1892155d6cf",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "70baadb65995b511",
      "framework": "unknown",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "6.20-make-shadow",
      "normalized_name": "6-20-make-shadow",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.20-make-shadow.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "workflow",
      "categories": "automation,ai",
      "component_id": "2029a79781a7931ae4faabd4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for workflow; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "23223b536c4e7c94",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "6.52-make-ninja",
      "normalized_name": "6-52-make-ninja",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.52-make-ninja.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0cd6a805441f43dd03b4c7b8",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ce63816416b8fd80",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "6.11-make-zlib",
      "normalized_name": "6-11-make-zlib",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.11-make-zlib.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "182f8c2a3c3bc2f78aef2445",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "18a0e5bd492f86a0",
      "framework": "unknown",
      "imports": "",
      "lines": 42,
      "logic_relevance": "none",
      "name": "6.40-make-perl",
      "normalized_name": "6-40-make-perl",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.40-make-perl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "990e3a9014bd828eee28d451",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "113190ebf87bd48e",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "6.8-make-man-pages",
      "normalized_name": "6-8-make-man-pages",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.8-make-man-pages.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "b606c1f87c2a77f54f7b6b78",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "21f46d52cc3a90bf",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "6.7-make-linux-api-headers",
      "normalized_name": "6-7-make-linux-api-headers",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.7-make-linux-api-headers.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "8306d7160a8e4c232244941d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3e16d10f745329d8",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "6.30-make-iana-etc",
      "normalized_name": "6-30-make-iana-etc",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.30-make-iana-etc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e1dc281a02b4fa1e8b1451d1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2bf64c5477ab50dc",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "6.60-make-findutils",
      "normalized_name": "6-60-make-findutils",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.60-make-findutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e3b7a19f3c7becd148b3727d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "426663d8f3c7abae",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "6.35-make-libtool",
      "normalized_name": "6-35-make-libtool",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.35-make-libtool.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "09bc4b7c1337efc6b566aa00",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1b741b45464fa48c",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "6.19-make-mpc",
      "normalized_name": "6-19-make-mpc",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.19-make-mpc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "044175ca043a7a02f0e09988",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "86c2af45ae45b21e",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "6.14-make-m4",
      "normalized_name": "6-14-make-m4",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.14-make-m4.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "3adedbc13c6cd7cc076a5abd",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1534dcab36829d10",
      "framework": "unknown",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "6.55-make-e2fsprogs",
      "normalized_name": "6-55-make-e2fsprogs",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.55-make-e2fsprogs.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9922508311f815296c0fd5a1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "18c8b14e8f21d9eb",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "6.17-make-gmp",
      "normalized_name": "6-17-make-gmp",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.17-make-gmp.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,observability",
      "component_id": "a094aca53a58bb62b5027dc3",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f1e4a94c329d7927",
      "framework": "unknown",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "6.54-make-procps-ng",
      "normalized_name": "6-54-make-procps-ng",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.54-make-procps-ng.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "40162faf2285b649334247cc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "120c6d2eb260d9ca",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "6.16-make-binutils",
      "normalized_name": "6-16-make-binutils",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.16-make-binutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "1ce77d9915b8aecb61a1af0c",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "71a2640d7dff5ade",
      "framework": "unknown",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "6.21-make-gcc",
      "normalized_name": "6-21-make-gcc",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.21-make-gcc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "092a2cb3d53d7fe670bbe71e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "71784d90aca37efa",
      "framework": "unknown",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "6.76-make-texinfo",
      "normalized_name": "6-76-make-texinfo",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.76-make-texinfo.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "ac6e60ae745c13199e9e7ff4",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fb3c1f6640d868aa",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "6.49-make-libffi",
      "normalized_name": "6-49-make-libffi",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.49-make-libffi.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "fbe530784199e2632fac75e9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "223f3382b8dd9232",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "6.31-make-bison",
      "normalized_name": "6-31-make-bison",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.31-make-bison.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "01c450f74ecabd48d18197ef",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3d4571ea62713716",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "6.23-make-pkg-config",
      "normalized_name": "6-23-make-pkg-config",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.23-make-pkg-config.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "42c5fe121c9e0f6d779fed99",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "daa2029b00c2862f",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "6.36-make-gdbm",
      "normalized_name": "6-36-make-gdbm",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.36-make-gdbm.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "87dddd24c2c6cbe4957ffe6a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "02589db1518f90fc",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "6.42-make-intltool",
      "normalized_name": "6-42-make-intltool",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.42-make-intltool.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0cb4b5b9e306c6d0f8532a16",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4fd25900aa201ac5",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "6.69-make-patch",
      "normalized_name": "6-69-make-patch",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.69-make-patch.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "e9e6d880c638472768f05761",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "efd333922daab0a7",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "6.28-make-sed",
      "normalized_name": "6-28-make-sed",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.28-make-sed.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,logic",
      "component_id": "d42f41e32dfc6dca5bd0a0f2",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | logic-score:70",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "12ffd82ec2ee405c",
      "framework": "unknown",
      "imports": "",
      "lines": 27,
      "logic_relevance": "secondary",
      "name": "6.41-make-xml-parser",
      "normalized_name": "6-41-make-xml-parser",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.41-make-xml-parser.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "d86d5e3bbe9c881a17e4c075",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "1f7376cdf8e9e266",
      "framework": "unknown",
      "imports": "",
      "lines": 60,
      "logic_relevance": "none",
      "name": "6.24-make-ncurses",
      "normalized_name": "6-24-make-ncurses",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.24-make-ncurses.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0aaef3a973f65a055d4c76d6",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9a76d3a1adeb9f93",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "6.12-make-file",
      "normalized_name": "6-12-make-file",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.12-make-file.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0e2dc531a0eaf6ea42872d14",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f437ca81bdb780c9",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "6.33-make-grep",
      "normalized_name": "6-33-make-grep",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.33-make-grep.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "170d5fc650bd861d2d40d3fa",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e2855733be9d9a2b",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "6.57-make-check",
      "normalized_name": "6-57-make-check",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.57-make-check.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "cebb7bf6da3bb1500b6ee985",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "93dc2dd1d36d25be",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "6.50-make-openssl",
      "normalized_name": "6-50-make-openssl",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.50-make-openssl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "810e0957ff53caea2e66b91d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0c4e5e2e6aac51f9",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "6.71-make-sysvinit",
      "normalized_name": "6-71-make-sysvinit",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.71-make-sysvinit.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,security",
      "component_id": "6c1044ef1c162c27587be9ed",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | security-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7e0818b50d35b3b4",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "6.66-make-kbd",
      "normalized_name": "6-66-make-kbd",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.66-make-kbd.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "0e59b77c07ee5421249c6c4a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "ef2c61c887fec534",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "6.46-make-kmod",
      "normalized_name": "6-46-make-kmod",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.46-make-kmod.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "64a8c1814435b01a323558d2",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c7e1319b15abbee4",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "6.34-make-bash",
      "normalized_name": "6-34-make-bash",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.34-make-bash.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4d10a76d6eec55a03f3f2b30",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e047d39a8adc7f51",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "6.59-make-gawk",
      "normalized_name": "6-59-make-gawk",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.59-make-gawk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "analytics",
      "categories": "automation",
      "component_id": "6d2b982e355926fd61acd336",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for analytics; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "802483b7f3272d90",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "6.27-make-libcap",
      "normalized_name": "6-27-make-libcap",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.27-make-libcap.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "59f9f9cd996def020ecf50f1",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9fbd9d98acab1de2",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "6.56-make-coreutils",
      "normalized_name": "6-56-make-coreutils",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.56-make-coreutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "d84b75f5e5e78ae5dd5820f5",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "01d049dbf121d074",
      "framework": "unknown",
      "imports": "",
      "lines": 34,
      "logic_relevance": "none",
      "name": "6.26-make-acl",
      "normalized_name": "6-26-make-acl",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.26-make-acl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "650e3ba7cf005c0edc9016dc",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8e1430958f53c074",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "6.67-make-libpipeline",
      "normalized_name": "6-67-make-libpipeline",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.67-make-libpipeline.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "d7fb898e300bdef4f6b01492",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "934b281013e1f439",
      "framework": "unknown",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "6.77-make-vim",
      "normalized_name": "6-77-make-vim",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.77-make-vim.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "f12141f87b4a185df5cd3317",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8aee494d167907d0",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "6.43-make-autoconf",
      "normalized_name": "6-43-make-autoconf",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.43-make-autoconf.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "838287567fc15b0451d5cbc7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "59e853c02c7728d2",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "6.18-make-mpfr",
      "normalized_name": "6-18-make-mpfr",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.18-make-mpfr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0cc0bae43dfb9e4d05c8a302",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4d54d08ca2a3aeb8",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "6.44-make-automake",
      "normalized_name": "6-44-make-automake",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.44-make-automake.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability,ai",
      "component_id": "c3e60189f61b7c23090c72c8",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "53bef6464d1dab9f",
      "framework": "unknown",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "6.73-make-util-linux",
      "normalized_name": "6-73-make-util-linux",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.73-make-util-linux.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5116b713518a5a8e27c10b17",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e92d9977bb1ac737",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "6.13-make-readline",
      "normalized_name": "6-13-make-readline",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.13-make-readline.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "413460a123c9d1fef390e257",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "5ad8b8b0b8c1ca5b",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "6.5-create-directories",
      "normalized_name": "6-5-create-directories",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.5-create-directories.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation,backend",
      "component_id": "7eff43ea54d88cc087d7791f",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "d87b407ea7ffe8cb",
      "framework": "unknown",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "6.74-make-man-db",
      "normalized_name": "6-74-make-man-db",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.74-make-man-db.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "4cd1649045a18d17c3cc8678",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f21c97f88b97da0c",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "6.63-make-less",
      "normalized_name": "6-63-make-less",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.63-make-less.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "02a5544e07c8432b47b3291a",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "87738dd53468f881",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "6.45-make-xz",
      "normalized_name": "6-45-make-xz",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.45-make-xz.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "742e8036c4ab4b02ec7e7b3b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c94d227f18db409e",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "6.25-make-attr",
      "normalized_name": "6-25-make-attr",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.25-make-attr.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "72cac18f9d98228dc7d801db",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "379501be8cb9d553",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "6.65-make-iproute2",
      "normalized_name": "6-65-make-iproute2",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.65-make-iproute2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "7b1bcdf6837e9dbbbc7974ca",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "70bead028de2681e",
      "framework": "unknown",
      "imports": "",
      "lines": 136,
      "logic_relevance": "none",
      "name": "6.9-make-glibc",
      "normalized_name": "6-9-make-glibc",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.9-make-glibc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation,ai",
      "component_id": "2f71688e7e25234aaea71f04",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e0affe2cbb2d9ac9",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "6.47-make-gettext",
      "normalized_name": "6-47-make-gettext",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.47-make-gettext.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "10514fd12e2abc2e75e1b5f7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "088130346042ad4e",
      "framework": "unknown",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "6.75-make-tar",
      "normalized_name": "6-75-make-tar",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.75-make-tar.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "580f2763ee80b6c70cdfead9",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bb52991012d69223",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "6.61-make-groff",
      "normalized_name": "6-61-make-groff",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.61-make-groff.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "174f190f9dfebfd4f46fb5d6",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c4aba070cc8fa7ee",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "6.68-make-make",
      "normalized_name": "6-68-make-make",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.68-make-make.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "d0b687663b6e0182f49872a8",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "536717e3e7fe515d",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "6.79-strip",
      "normalized_name": "6-79-strip",
      "package_manager": "unknown",
      "path": "book/chapter-6/6.79-strip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c528f43512f1d526e7610fe1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "758ff9d9ba98a3b9",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "3.1-download-tools",
      "normalized_name": "3-1-download-tools",
      "package_manager": "unknown",
      "path": "book/chapter-3/3.1-download-tools.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "75856ee1582ce0a2a63b307e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7ecfe8e58b8d91cf",
      "framework": "unknown",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "5.15-make-ncurses",
      "normalized_name": "5-15-make-ncurses",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.15-make-ncurses.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "f445f6db8435a1cc92079259",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e26f7ecbb2b453ae",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "5.7-make-glibc",
      "normalized_name": "5-7-make-glibc",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.7-make-glibc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5e953cb276b5499dfb382211",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b0ea52adbe284749",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "5.4-make-binutils",
      "normalized_name": "5-4-make-binutils",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.4-make-binutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "3699011b49c5e320ad21bfac",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "78d746b9cc721756",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "5.16-make-bash",
      "normalized_name": "5-16-make-bash",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.16-make-bash.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "4ef2bfced910ed57c4ba7c22",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "698fe4c1f00ad301",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "5.12-make-expect",
      "normalized_name": "5-12-make-expect",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.12-make-expect.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "e56ee7a312a5ede7d45b344d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b5ed0053bc552535",
      "framework": "unknown",
      "imports": "",
      "lines": 73,
      "logic_relevance": "none",
      "name": "5.10-make-gcc",
      "normalized_name": "5-10-make-gcc",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.10-make-gcc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "583dd38642485bb1500931aa",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2644c183339ce85f",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "5.6-make-linux-api-headers",
      "normalized_name": "5-6-make-linux-api-headers",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.6-make-linux-api-headers.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "7beffe7ac1f20f4dc32b39a3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "c04e86d09995b650",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "5.26-make-gzip",
      "normalized_name": "5-26-make-gzip",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.26-make-gzip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "eee44ab45c23662a8f41f631",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "8b39992e156ca61c",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.30-make-sed",
      "normalized_name": "5-30-make-sed",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.30-make-sed.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "4e8c75225a9d321a4999b2d0",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "960196706435e612",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "5.22-make-findutils",
      "normalized_name": "5-22-make-findutils",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.22-make-findutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "662bccd843222a578eaa4e7c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bf0697a35e410894",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "5.14-make-m4",
      "normalized_name": "5-14-make-m4",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.14-make-m4.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "39d24c1e395f85f5134fa9fe",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e9ff6619bc7ecab2",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.35-strip",
      "normalized_name": "5-35-strip",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.35-strip.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "bff2a0f8af0c141ebd55f7a7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "656033dbd018ae1c",
      "framework": "unknown",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "5.33-make-util-linux",
      "normalized_name": "5-33-make-util-linux",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.33-make-util-linux.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "ece92c9475907eb5b635ecb7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "cf5eddaebcea30d9",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.23-make-gawk",
      "normalized_name": "5-23-make-gawk",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.23-make-gawk.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "3736ddf2d0fb111400d860c1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4aa7104ae9dea2e6",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "5.8-make-libstdc",
      "normalized_name": "5-8-make-libstdc",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.8-make-libstdc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "25afa83883a022ec30f41daa",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a75b846b973a03b3",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "5.19-make-coreutils",
      "normalized_name": "5-19-make-coreutils",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.19-make-coreutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "751db4d735c9d96f08fb84dd",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "58ed2167731d78a7",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "5.29-make-perl",
      "normalized_name": "5-29-make-perl",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.29-make-perl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "9f8529b9e1d24ab371a6321e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3802130bc0e1e357",
      "framework": "unknown",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "5.9-make-binutils",
      "normalized_name": "5-9-make-binutils",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.9-make-binutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "78cef3f89bd2f00704bbdda3",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b4df58af0ebefd11",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "5.20-make-diffutils",
      "normalized_name": "5-20-make-diffutils",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.20-make-diffutils.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "4d7b51a3488a7235649f65f1",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b75002ca9c4b5c11",
      "framework": "unknown",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "5.5-make-gcc",
      "normalized_name": "5-5-make-gcc",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.5-make-gcc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "2553a14a724a2ce4360ae30c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2b336b0034858c6c",
      "framework": "unknown",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "5.34-make-xz",
      "normalized_name": "5-34-make-xz",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.34-make-xz.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation,ai",
      "component_id": "40b18d544fa64377354b7bc4",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | ai-score:45",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "075da1d3a8dc5b80",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "5.24-make-gettext",
      "normalized_name": "5-24-make-gettext",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.24-make-gettext.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "i18n",
      "categories": "automation",
      "component_id": "ae907a95846cb4a3451c919d",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for i18n; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bf04434233bb23cf",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "5.11-make-tcl",
      "normalized_name": "5-11-make-tcl",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.11-make-tcl.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "0db1024b253b04032fdeed5b",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "83ea4b7c6658ebf1",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "5.27-make-make",
      "normalized_name": "5-27-make-make",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.27-make-make.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "d4432c3082c78d2dfb06e616",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2c5bdd3bbcb5fc9c",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "5.21-make-file",
      "normalized_name": "5-21-make-file",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.21-make-file.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "cfa1907e2e8a58e832b751a6",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "724eaafd9da241e1",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "5.13-make-dejagnu",
      "normalized_name": "5-13-make-dejagnu",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.13-make-dejagnu.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "5918a7cf44ac8826effc79f7",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "30f6698763181137",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.32-make-texinfo",
      "normalized_name": "5-32-make-texinfo",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.32-make-texinfo.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "7bdeb89d509908390f7e6c21",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e85b596088b49d56",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "5.28-make-patch",
      "normalized_name": "5-28-make-patch",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.28-make-patch.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "logic",
      "categories": "automation",
      "component_id": "ff89d14787f7b41517e1675c",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for logic; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "9d6295f455a46783",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "5.17-make-bison",
      "normalized_name": "5-17-make-bison",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.17-make-bison.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "99d706a432a026356d700931",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "00c57a2b0f2f638b",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.31-make-tar",
      "normalized_name": "5-31-make-tar",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.31-make-tar.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "76db020f005735c475f7fe3e",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "b2d7d9ca4bad7e88",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.18-make-bzip2",
      "normalized_name": "5-18-make-bzip2",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.18-make-bzip2.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "e36b03889166b85997637dbf",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:125",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0ff614e5fec512ad",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "5.25-make-grep",
      "normalized_name": "5-25-make-grep",
      "package_manager": "unknown",
      "path": "book/chapter-5/5.25-make-grep.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "mbarbine__zornixOS",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "7bde74585e6224dce27cf702",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6158b41b19e71fdd",
      "framework": "react",
      "imports": "",
      "lines": 4208,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "73a330dc39619fda312b26ae",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@deskthing/cli",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@deskthing/cli | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0de718a2b6e6548b",
      "framework": "react",
      "imports": "@deskthing/cli",
      "lines": 32,
      "logic_relevance": "none",
      "name": "deskthing.config",
      "normalized_name": "deskthing-config",
      "package_manager": "pnpm",
      "path": "deskthing.config.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "b0d2c08a1e75a7e473eead96",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "645f12c5f8a58b10",
      "framework": "react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "58d38ad5a4ccbf00ad3872f9",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a544f8b1f9b4eaf",
      "framework": "react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "tsconfig.server",
      "normalized_name": "tsconfig-server",
      "package_manager": "pnpm",
      "path": "tsconfig.server.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f5d1e2c758e5a2dae51da36f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@deskthing/server,@deskthing/types",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./fortune, @deskthing/server, @deskthing/types | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "84682044b2c86677",
      "framework": "react",
      "imports": "./fortune,@deskthing/server,@deskthing/types",
      "lines": 77,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "server/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "i18n",
      "categories": "backend,automation",
      "component_id": "c383e4d4be2f46ec87403766",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@deskthing/server",
      "description": "Backend component for i18n; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:FortuneService | imports:../src/data/fortunes, @deskthing/server | backend-score:55 | automation-score:45",
      "exports": "FortuneService",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6e537f6d06156fb2",
      "framework": "react",
      "imports": "../src/data/fortunes,@deskthing/server",
      "lines": 128,
      "logic_relevance": "none",
      "name": "fortune",
      "normalized_name": "fortune",
      "package_manager": "pnpm",
      "path": "server/fortune.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "security,discovery",
      "component_id": "39e4ee64c583114494430c65",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for discovery; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "2d76c7b40070fe7f",
      "framework": "react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "pnpm",
      "path": "deskthing/manifest.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "ad74833eb2e559a7f6e570a3",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./components/FortuneCard/FortuneCard, ./components/Header/Header, ./data/fortunes, ./stores, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f652ae9cc7e24269",
      "framework": "react",
      "imports": "./components/FortuneCard/FortuneCard,./components/Header/Header,./data/fortunes,./stores,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/App.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "623f004e07536d1e403afff6",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "react,react-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:./App, react, react-dom/client | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e2c40c96abd6835b",
      "framework": "react",
      "imports": "./App,react,react-dom/client",
      "lines": 10,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "pnpm",
      "path": "src/main.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "1d7fe6ce9ac87eb107798013",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "da79a82a59285390",
      "framework": "react",
      "imports": "",
      "lines": 107,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "src/index.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "a86bd64997a4a9f87af6f358",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "@deskthing/client,@deskthing/types",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SettingsStore | imports:@deskthing/client, @deskthing/types | logic-score:85",
      "exports": "SettingsStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "382396d921a35ab7",
      "framework": "react",
      "imports": "@deskthing/client,@deskthing/types",
      "lines": 83,
      "logic_relevance": "primary",
      "name": "settingsStore",
      "normalized_name": "settings-store",
      "package_manager": "pnpm",
      "path": "src/stores/settingsStore.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "ffa3c1e02c385c4b2229d94d",
      "component_kind": "state-store",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FortuneStore | imports:./fortuneStore | logic-score:45",
      "exports": "FortuneStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ffff1bc61ae71eed",
      "framework": "react",
      "imports": "./fortuneStore",
      "lines": 1,
      "logic_relevance": "primary",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "src/stores/index.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic",
      "component_id": "e9ed3fad682cfca1c27c1dca",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "@deskthing/client,@deskthing/types",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:FortuneStore | imports:../data/fortunes, @deskthing/client, @deskthing/types | logic-score:85",
      "exports": "FortuneStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5705c6e111312a6e",
      "framework": "react",
      "imports": "../data/fortunes,@deskthing/client,@deskthing/types",
      "lines": 61,
      "logic_relevance": "primary",
      "name": "fortuneStore",
      "normalized_name": "fortune-store",
      "package_manager": "pnpm",
      "path": "src/stores/fortuneStore.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "5bc6334478f0a884f777fb4a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:FortuneCard | imports:../../data/fortunes | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "FortuneCard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "44b542050385d7e6",
      "framework": "react",
      "imports": "../../data/fortunes",
      "lines": 31,
      "logic_relevance": "none",
      "name": "FortuneCard",
      "normalized_name": "fortune-card",
      "package_manager": "pnpm",
      "path": "src/components/FortuneCard/FortuneCard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "7b394295aa693ae0dcb5ffef",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "628e04e456b7835f",
      "framework": "react",
      "imports": "",
      "lines": 99,
      "logic_relevance": "none",
      "name": "fortunecard",
      "normalized_name": "fortunecard",
      "package_manager": "pnpm",
      "path": "src/components/FortuneCard/fortunecard.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "3790b8ba2e84f198d9bf45c4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:../../stores/settingsStore, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1f276d732b85de84",
      "framework": "react",
      "imports": "../../stores/settingsStore,react",
      "lines": 43,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/components/Header/Header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "0d39356ed093378134541e7c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cdd0e02abc02e764",
      "framework": "react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "none",
      "name": "header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/components/Header/header.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "03d42f1977bda4b7d8561e10",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Fortune, FortuneCategory, FortuneData, fortunes, secretFortune | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "Fortune,FortuneCategory,FortuneData,fortunes,secretFortune",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0c030f633702c2e0",
      "framework": "react",
      "imports": "",
      "lines": 121,
      "logic_relevance": "none",
      "name": "fortunes",
      "normalized_name": "fortunes",
      "package_manager": "pnpm",
      "path": "src/data/fortunes.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__DeskThing-FortuneCookie",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "29bd4a2515917ff9eaf8302c",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "334359b90efed75d",
      "framework": "react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "a5bd13bbd8e38be78af3040e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ccc90dcf5f8eb45b",
      "framework": "react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,security,automation",
      "component_id": "5ed2da4c9c9bfae7ad96c01f",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@vercel/analytics,framer-motion,react,react-router-dom",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:./components/Footer, ./components/NavBar, ./pages/About, ./pages/Contact, ./pages/Home, ./pages/Services, @vercel/analytics/react, framer-motion | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ba5358e1f0615faf",
      "framework": "react",
      "imports": "./components/Footer,./components/NavBar,./pages/About,./pages/Contact,./pages/Home,./pages/Services,@vercel/analytics/react,framer-motion,react,react-router-dom",
      "lines": 31,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "src/App.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "bd1ecccab270cf6ac7207edd",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "react,react-dom,react-router-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:./App, react, react-dom/client, react-router-dom | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "de6c21ccece1eb4e",
      "framework": "react",
      "imports": "./App,react,react-dom/client,react-router-dom",
      "lines": 13,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "src/main.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "04f3ab80efa399e663a7b8f6",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ce09f4f421ef33ce",
      "framework": "react",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "App",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "src/App.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "e11e1d1b5c2089c4e93a1bd4",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a7938196d3e52b21",
      "framework": "react",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "src/index.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "c2055d23746612ea5f92ce3c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "8fbde5083d540abc",
      "framework": "react",
      "imports": "",
      "lines": 101,
      "logic_relevance": "none",
      "name": "global",
      "normalized_name": "global",
      "package_manager": "unknown",
      "path": "src/styles/global.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "74baa9eb8763d2d2ef77cc8e",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "013dc4f91be07b2b",
      "framework": "react",
      "imports": "react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "Hero",
      "normalized_name": "hero",
      "package_manager": "unknown",
      "path": "src/components/Hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6243d7a77040ffcbf3b41621",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react,react-icons,react-router-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:react, react-icons/fa, react-router-dom | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "315ce84f1af9a1b1",
      "framework": "react",
      "imports": "react,react-icons/fa,react-router-dom",
      "lines": 30,
      "logic_relevance": "none",
      "name": "NavBar",
      "normalized_name": "nav-bar",
      "package_manager": "unknown",
      "path": "src/components/NavBar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "6863d73615ce0212aac735a2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "framer-motion,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "imports:framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "98ca1536ec6adba9",
      "framework": "react",
      "imports": "framer-motion,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "PageTransition",
      "normalized_name": "page-transition",
      "package_manager": "unknown",
      "path": "src/components/PageTransition.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style,security",
      "component_id": "b5188afd79acac28cdde29ab",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "810af0e6b2890a7c",
      "framework": "react",
      "imports": "",
      "lines": 47,
      "logic_relevance": "none",
      "name": "Hero",
      "normalized_name": "hero",
      "package_manager": "unknown",
      "path": "src/components/Hero.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability",
      "component_id": "fbe2b635ce1d8e53533c8e92",
      "component_kind": "stylesheet",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "abae52a0df2f6f12",
      "framework": "react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "NavBar",
      "normalized_name": "nav-bar",
      "package_manager": "unknown",
      "path": "src/components/NavBar.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "363711d8939d8731d6e1751d",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react,react-icons,react-router-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react, react-icons/fa, react-router-dom | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23a31fa2357b77a5",
      "framework": "react",
      "imports": "react,react-icons/fa,react-router-dom",
      "lines": 31,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "src/components/Footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "4311c479066596a0168dc08c",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "a2b0cbe35761cff6",
      "framework": "react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "src/components/Footer.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7639a0bc543a5425786171e6",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "react,react-router-dom",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Hero, ../components/PageTransition, react, react-router-dom | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "50a7a7163e07de22",
      "framework": "react",
      "imports": "../components/Hero,../components/PageTransition,react,react-router-dom",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Home",
      "normalized_name": "home",
      "package_manager": "unknown",
      "path": "src/pages/Home.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "2b70acafe16de4d05e58c40c",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/PageTransition, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d8ee96c51008294c",
      "framework": "react",
      "imports": "../components/PageTransition,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "Contact",
      "normalized_name": "contact",
      "package_manager": "unknown",
      "path": "src/pages/Contact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "frontend,ui,backend,observability,security,automation",
      "component_id": "27e70da202b90d13fd7547f8",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/PageTransition, react | frontend-score:115 | ui-score:70 | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8f163e7d34a95305",
      "framework": "react",
      "imports": "../components/PageTransition,react",
      "lines": 49,
      "logic_relevance": "none",
      "name": "Services",
      "normalized_name": "services",
      "package_manager": "unknown",
      "path": "src/pages/Services.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "7f2668844b5ce03d871b49b1",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/PageTransition, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6ed67aa7ef205923",
      "framework": "react",
      "imports": "../components/PageTransition,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "About",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "src/pages/About.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__barbine-worldwide-legacy",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "process",
      "component_id": "df8239b0aa3a8db300d72406",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "cd714fe9ce7274e4",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__demo-repository",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "d49b937a4f7b7f501ce4a818",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:CONFIG | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "CONFIG",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa3e4b8d154c3054",
      "framework": "unknown",
      "imports": "",
      "lines": 218,
      "logic_relevance": "none",
      "name": "checkin",
      "normalized_name": "checkin",
      "package_manager": "unknown",
      "path": "checkin.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__hope-auto-checkin",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "70f0925cf5175b1301afc7ce",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3c1991e8666e2b8b",
      "framework": "unknown",
      "imports": "",
      "lines": 67,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__hope-auto-checkin",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "1da33cfda0cbf59a9bf86c06",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ba9643955bfcb045",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "unknown",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__hope-auto-checkin",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d55a4ccf84ee6133e8cc3082",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "346a1325ae9758a9",
      "framework": "unknown",
      "imports": "",
      "lines": 66,
      "logic_relevance": "none",
      "name": "prod-checklist",
      "normalized_name": "prod-checklist",
      "package_manager": "npm",
      "path": "prod-checklist.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c618cdc6808af28f21ebd7bd",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "2086f9aea6006dec",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "test_passport",
      "normalized_name": "test-passport",
      "package_manager": "npm",
      "path": "test_passport.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "commerce",
      "categories": "automation",
      "component_id": "f443387160f4225f17472019",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for commerce; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "4dd304df3220f11e",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "npm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "ea3340526aaa5489e3db01dd",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "41e480d048bee4ac",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "df165b782f569f3d31b0c628",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "66b09f07c6514af5",
      "framework": "unknown",
      "imports": "",
      "lines": 7000,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "observability,security",
      "component_id": "62c1232c43095067def69d6a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for ai; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "800f195d6668ae72",
      "framework": "unknown",
      "imports": "",
      "lines": 98,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "f4c11228e811a5d4ac81a348",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:50",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0556f7b5757db13e",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "npm",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a26f20e2e6101b82706eb869",
      "component_kind": "observability-module",
      "confidence": 60,
      "dependency_roots": "assert",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:assert | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1827959e3e1d4984",
      "framework": "unknown",
      "imports": "assert",
      "lines": 5,
      "logic_relevance": "none",
      "name": "test_injection",
      "normalized_name": "test-injection",
      "package_manager": "npm",
      "path": "test_injection.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "78772e3e95633ab8fa8918cb",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "body-parser,chalk,compression,connect-mongo,dotenv,errorhandler,express,express-flash,express-rate-limit,express-session,express-status-monitor,helmet,lusca,mongoose,morgan,multer,passport,path,sass-middleware",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MongoStore | imports:./config/passport, ./controllers/api, ./controllers/contact, ./controllers/home, ./controllers/user, body-parser, chalk, compression | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "MongoStore",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dd1dfaae544ecacc",
      "framework": "unknown",
      "imports": "./config/passport,./controllers/api,./controllers/contact,./controllers/home,./controllers/user,body-parser,chalk,compression,connect-mongo,dotenv,errorhandler,express,express-flash,express-rate-limit,express-session,express-status-monitor,helmet,lusca,mongoose,morgan,multer,passport,path,sass-middleware",
      "lines": 319,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "npm",
      "path": "app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,ai,security,automation",
      "component_id": "bd7d21965a043281361ba907",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:120 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e579e3b97434f389",
      "framework": "unknown",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "ROADMAP_CHAT_SDK",
      "normalized_name": "roadmap-chat-sdk",
      "package_manager": "npm",
      "path": "ROADMAP_CHAT_SDK.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "85a0decaefdd31bb35be9b70",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "ba9643955bfcb045",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "SECURITY",
      "normalized_name": "security",
      "package_manager": "npm",
      "path": "SECURITY.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "ai,logic",
      "component_id": "f7d0ed6da511fb3fdbf9ae2b",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "chai,sinon",
      "description": "AI component for shipping; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:User, UserMock | imports:../models/User, chai, sinon | ai-score:120 | logic-score:60",
      "exports": "User,UserMock",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "e667f98ee1652f8a",
      "framework": "unknown",
      "imports": "../models/User,chai,sinon",
      "lines": 145,
      "logic_relevance": "secondary",
      "name": "models",
      "normalized_name": "models",
      "package_manager": "npm",
      "path": "test/models.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "f6f64555e1209dda498d04a5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "nock,supertest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../app.js, nock, supertest | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8eafed808aba4680",
      "framework": "unknown",
      "imports": "../app.js,nock,supertest",
      "lines": 132,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "npm",
      "path": "test/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "ee856fea165b4168d0534fbe",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "axios,lodash,moment,passport,passport-facebook,passport-github2,passport-google-oauth,passport-instagram,passport-linkedin-oauth2,passport-local,passport-oauth,passport-oauth2-refresh,passport-openid,passport-snapchat,passport-twitch-new,passport-twitter",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:User | imports:../models/User, axios, lodash, moment, passport, passport-facebook, passport-github2, passport-google-oauth | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "User",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "82726f13115a29cb",
      "framework": "unknown",
      "imports": "../models/User,axios,lodash,moment,passport,passport-facebook,passport-github2,passport-google-oauth,passport-instagram,passport-linkedin-oauth2,passport-local,passport-oauth,passport-oauth2-refresh,passport-openid,passport-snapchat,passport-twitch-new,passport-twitter",
      "lines": 777,
      "logic_relevance": "none",
      "name": "passport",
      "normalized_name": "passport",
      "package_manager": "npm",
      "path": "config/passport.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ai,logic,backend,security",
      "component_id": "9a15bcdb5c65bd156f5ca8d7",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for auth-and-keys; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | logic-score:70 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "ef8f92ee2801b6e0",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "secondary",
      "name": "model-config",
      "normalized_name": "model-config",
      "package_manager": "npm",
      "path": "server/model-config.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,ai",
      "component_id": "c97582ecf9a870ff52302a95",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "loopback,loopback-boot",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:loopback, loopback-boot | backend-score:55 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f56c7ce876ae1bc3",
      "framework": "unknown",
      "imports": "loopback,loopback-boot",
      "lines": 34,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "npm",
      "path": "server/server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,security",
      "component_id": "19bafac96f0e183a952f5341",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "e42148e809d5ec4e",
      "framework": "unknown",
      "imports": "",
      "lines": 22,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "npm",
      "path": "server/config.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "f18801c4cf73625a5dff27d2",
      "component_kind": "middleware",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "840eec041c1d94cb",
      "framework": "unknown",
      "imports": "",
      "lines": 10,
      "logic_relevance": "none",
      "name": "middleware.development",
      "normalized_name": "middleware-development",
      "package_manager": "npm",
      "path": "server/middleware.development.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "7adc71b2f797e74e83554b10",
      "component_kind": "middleware",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "34e67945797bb35d",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "npm",
      "path": "server/middleware.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "d92fe688377cb9b5919ba021",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3737a3a12d6256e4",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "datasources",
      "normalized_name": "datasources",
      "package_manager": "npm",
      "path": "server/datasources.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "backend,ai",
      "component_id": "86abece59660cb3b2ed00304",
      "component_kind": "backend-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Backend component for shipping; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e5f87b48dfa37096",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "component-config",
      "normalized_name": "component-config",
      "package_manager": "npm",
      "path": "server/component-config.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "9763e58030bd40599a6c9e5f",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f5b5000dd2009762",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "root",
      "normalized_name": "root",
      "package_manager": "npm",
      "path": "server/boot/root.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0cbb0c14b3ba805656f8099a",
      "component_kind": "auth-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7b6a3d1dedde4caf",
      "framework": "unknown",
      "imports": "",
      "lines": 11,
      "logic_relevance": "none",
      "name": "authentication",
      "normalized_name": "authentication",
      "package_manager": "npm",
      "path": "server/boot/authentication.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,logic,observability,security",
      "component_id": "4fb803ae07d961366fbc8e60",
      "component_kind": "ai-integration",
      "confidence": 90,
      "dependency_roots": "bcrypt,crypto,mongoose",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:User | imports:bcrypt, crypto, mongoose | ai-score:120 | logic-score:85 | observability-score:55 | security-score:55",
      "exports": "User",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "9fc00f520bb7c395",
      "framework": "unknown",
      "imports": "bcrypt,crypto,mongoose",
      "lines": 76,
      "logic_relevance": "secondary",
      "name": "User",
      "normalized_name": "user",
      "package_manager": "npm",
      "path": "models/User.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "style,security",
      "component_id": "4e9b721cde39a0abe370ba05",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for auth-and-keys; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d03f2cd133ceb22b",
      "framework": "css",
      "imports": "",
      "lines": 13477,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "npm",
      "path": "public/css/main.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style",
      "component_id": "7abe353e4e8ecb458c76af49",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "edd2b03b6c149c27",
      "framework": "css",
      "imports": "",
      "lines": 184,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "npm",
      "path": "public/css/main.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "6fd05d905dfb49db92c1e573",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "e0ab327c08061ada",
      "framework": "css",
      "imports": "",
      "lines": 57,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "npm",
      "path": "public/css/themes/default/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "61b5cb5a76f18bd386176d0f",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d2112c582b73747e",
      "framework": "css",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "_default",
      "normalized_name": "default",
      "package_manager": "npm",
      "path": "public/css/themes/default/_default.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "910e517e0dc6cfea6a191e1f",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f793cf954362ef15",
      "framework": "css",
      "imports": "",
      "lines": 68,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "npm",
      "path": "public/css/themes/modern/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "fdfd9ee34ed0e45dcdb76ff7",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "84a1ca10fc792f4e",
      "framework": "css",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "_modern",
      "normalized_name": "modern",
      "package_manager": "npm",
      "path": "public/css/themes/modern/_modern.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "e0605f428d422f52aede6585",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "9cd1df6b0c971ae6",
      "framework": "css",
      "imports": "",
      "lines": 248,
      "logic_relevance": "none",
      "name": "_flatly",
      "normalized_name": "flatly",
      "package_manager": "npm",
      "path": "public/css/themes/flatly/_flatly.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "3d30a1d887b20f57c81d4ad2",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".scss",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7995d3bcc36268ea",
      "framework": "css",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "_variables",
      "normalized_name": "variables",
      "package_manager": "npm",
      "path": "public/css/themes/flatly/_variables.scss",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9511bd94cfd4713af88ea072",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b50858cd4269c77f",
      "framework": "unknown",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "npm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "47090a74589801a14b118799",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0f32212498cc8c3d",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "npm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "2333229bd6a85f9b7c48c002",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "06dbbc6e485a4d30",
      "framework": "unknown",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "npm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "2d2e5e8f0c0531e1d010ca14",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "crypto,lodash,mailchecker,nodemailer,passport,util,validator",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:User | imports:../models/User, crypto, lodash, mailchecker, nodemailer, passport, util, validator | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env",
      "exports": "User",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0a8021bb02b9aa3",
      "framework": "unknown",
      "imports": "../models/User,crypto,lodash,mailchecker,nodemailer,passport,util,validator",
      "lines": 548,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "npm",
      "path": "controllers/user.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "f315e1096b37b7310edf9728",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "05ee52f509f2bda8",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "home",
      "normalized_name": "home",
      "package_manager": "npm",
      "path": "controllers/home.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "04dc2d9619633f24c01fa48f",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "nodemailer,validator",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:nodemailer, validator | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c6e3a69964595ab6",
      "framework": "unknown",
      "imports": "nodemailer,validator",
      "lines": 73,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "npm",
      "path": "controllers/contact.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,security,automation,ai",
      "component_id": "dffaf6bc843324367e554262",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@octokit/rest,axios,cheerio,clockwork,fbgraph,googleapis,instagram-node,lastfm,lob,node-quickbooks,paypal-rest-sdk,sanitize-html,stripe,tumblr.js,twilio,twit,util,validator",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:CHART_CACHE_DURATION, GITHUB_CACHE_DURATION, LASTFM_CACHE_DURATION, NYT_CACHE_DURATION, Quickbooks, T, Twit | imports:@octokit/rest, axios, cheerio, clockwork, fbgraph, googleapis, instagram-node, lastfm | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "CHART_CACHE_DURATION,GITHUB_CACHE_DURATION,LASTFM_CACHE_DURATION,NYT_CACHE_DURATION,Quickbooks,T,Twit",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a8a7e2c80ce45564",
      "framework": "unknown",
      "imports": "@octokit/rest,axios,cheerio,clockwork,fbgraph,googleapis,instagram-node,lastfm,lob,node-quickbooks,paypal-rest-sdk,sanitize-html,stripe,tumblr.js,twilio,twit,util,validator",
      "lines": 945,
      "logic_relevance": "none",
      "name": "api",
      "normalized_name": "api",
      "package_manager": "npm",
      "path": "controllers/api.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "05b6bf46bd8e998101d1bc63",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "73163984fec07463",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "client/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__js_mongo_app_boilerplate",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "security,automation",
      "component_id": "6033e24f35d3df8e13cf2bc9",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | uses-env",
      "exports": "",
      "extension": ".mjs",
      "extraction_status": "catalog-only",
      "file_hash": "71540ab08dc12cce",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "npm",
      "path": "next.config.mjs",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "880aa8e2f6e25418cc6b7ebf",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0e7c428f4eab498d",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README_PH3AR",
      "normalized_name": "readme-ph3-ar",
      "package_manager": "npm",
      "path": "README_PH3AR.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "process,automation",
      "component_id": "ad331a3b1ee8b636c4cfd5d8",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "11994b30b08107f7",
      "framework": "next-react",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "npm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "e92eef68fedfc48e7ea27a39",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a8a3025ff21eff8",
      "framework": "next-react",
      "imports": "",
      "lines": 12371,
      "logic_relevance": "none",
      "name": "package-lock",
      "normalized_name": "package-lock",
      "package_manager": "npm",
      "path": "package-lock.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "11e58ffe617c230071546922",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "3f23a27779f1ff1e",
      "framework": "next-react",
      "imports": "",
      "lines": 72,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "npm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "799a2315aff4b73c0fb6cc1e",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "35643607fdc654c2",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "tsconfig",
      "normalized_name": "tsconfig",
      "package_manager": "npm",
      "path": "tsconfig.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "39b5a5e9489a6fcbafaf9803",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "multer",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:upload | imports:multer | backend-score:55",
      "exports": "upload",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "43f4f6baab063073",
      "framework": "next-react",
      "imports": "multer",
      "lines": 8,
      "logic_relevance": "none",
      "name": "uploadMiddleware",
      "normalized_name": "upload-middleware",
      "package_manager": "npm",
      "path": "middleware/uploadMiddleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "89b28ee8019206ea3b8fcc17",
      "component_kind": "middleware",
      "confidence": 75,
      "dependency_roots": "next,next-auth",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:next-auth/jwt, next/server | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6903392a61f6f71e",
      "framework": "next-react",
      "imports": "next-auth/jwt,next/server",
      "lines": 34,
      "logic_relevance": "none",
      "name": "authMiddleware",
      "normalized_name": "auth-middleware",
      "package_manager": "npm",
      "path": "middleware/authMiddleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "38c89a12be73b38c9d23c33b",
      "component_kind": "auth",
      "confidence": 65,
      "dependency_roots": "next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next-auth, next-auth/jwt | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "33afb5ca48aefd74",
      "framework": "next-react",
      "imports": "next-auth,next-auth/jwt",
      "lines": 25,
      "logic_relevance": "none",
      "name": "next-auth.d",
      "normalized_name": "next-auth-d",
      "package_manager": "npm",
      "path": "types/next-auth.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "observability,automation",
      "component_id": "fffad437f24bab1eb7921f56",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for commerce; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Campaign, MailItem, Payment, Recipient, Transaction, UserProfile | observability-score:55 | automation-score:45",
      "exports": "Campaign,MailItem,Payment,Recipient,Transaction,UserProfile",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b78a2348b1912b0f",
      "framework": "next-react",
      "imports": "",
      "lines": 108,
      "logic_relevance": "none",
      "name": "index.d",
      "normalized_name": "index-d",
      "package_manager": "npm",
      "path": "types/index.d.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "93b12b3dd71e2f5714517584",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/types,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrackingTable | imports:../utils/supabaseClient, @/types, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TrackingTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "39e535d20685c318",
      "framework": "next-react",
      "imports": "../utils/supabaseClient,@/types,react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "TrackingTable",
      "normalized_name": "tracking-table",
      "package_manager": "npm",
      "path": "archive/TrackingTable.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "72ce97ea1630ad19814bab36",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:./TrackingTable, react | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb19f233c2432d06",
      "framework": "next-react",
      "imports": "./TrackingTable,react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "archive/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security",
      "component_id": "8bb57b86fce18713c5c73375",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "next,next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../pages/layout, next-auth/react, next/router, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b7168298198aaf88",
      "framework": "next-react",
      "imports": "../../pages/layout,next-auth/react,next/router,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "npm",
      "path": "archive/dashboards/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "ef64994dc57e6c8902a2dcc2",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../components/CampaignForm, ../../components/MailItem, react | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e9b2158b32f173a9",
      "framework": "next-react",
      "imports": "../../components/CampaignForm,../../components/MailItem,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "archive/dashboards/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security,logic",
      "component_id": "4f9b84f142fea0808c04a980",
      "component_kind": "security-module",
      "confidence": 85,
      "dependency_roots": "@supabase/supabase-js",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:supabase | imports:@supabase/supabase-js | security-score:55 | logic-score:45 | uses-env",
      "exports": "supabase",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8a941f10143d1363",
      "framework": "next-react",
      "imports": "@supabase/supabase-js",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "supabaseClient",
      "normalized_name": "supabase-client",
      "package_manager": "npm",
      "path": "utils/supabaseClient.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,observability",
      "component_id": "fc815eae55c77fe06cb6b81f",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "fs,pdfkit,uuid",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./supabaseClient, fs, pdfkit, uuid | logic-score:60 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "224476e0468fc42e",
      "framework": "next-react",
      "imports": "./supabaseClient,fs,pdfkit,uuid",
      "lines": 75,
      "logic_relevance": "primary",
      "name": "pdfUtils",
      "normalized_name": "pdf-utils",
      "package_manager": "npm",
      "path": "utils/pdfUtils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "a0689bc27d85644d7a9d0ee2",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "axios",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:stannpClient | imports:axios | logic-score:60 | security-score:55 | uses-env",
      "exports": "stannpClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6e414135e8c220b5",
      "framework": "next-react",
      "imports": "axios",
      "lines": 21,
      "logic_relevance": "primary",
      "name": "stannpClient",
      "normalized_name": "stannp-client",
      "package_manager": "npm",
      "path": "utils/stannpClient.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "integration,security,logic",
      "component_id": "c352c08f26cc0574f9b5faae",
      "component_kind": "integration-module",
      "confidence": 85,
      "dependency_roots": "stripe",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:stripe | imports:stripe | integration-score:55 | security-score:55 | logic-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e07d01b458d9528",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 7,
      "logic_relevance": "secondary",
      "name": "stripeClient",
      "normalized_name": "stripe-client",
      "package_manager": "npm",
      "path": "utils/stripeClient.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic,security",
      "component_id": "df69b7e0450b412180d317c8",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "axios",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addRecipient, createMail | imports:axios | logic-score:60 | security-score:55 | uses-env",
      "exports": "addRecipient,createMail",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3da01ce6d59edffb",
      "framework": "next-react",
      "imports": "axios",
      "lines": 22,
      "logic_relevance": "primary",
      "name": "stannpApi",
      "normalized_name": "stannp-api",
      "package_manager": "npm",
      "path": "utils/stannpApi.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "bf5f458e60bbb3de7d57a478",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:log | logic-score:60 | observability-score:55 | uses-env",
      "exports": "log",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a08acefdcec5098e",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "npm",
      "path": "utils/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "2a3734a0e997bb95aef5aeed",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./supabaseClient, next | logic-score:60 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "9395c68622c9fc28",
      "framework": "next-react",
      "imports": "./supabaseClient,next",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "npm",
      "path": "utils/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "75ee88b683297cf963a4b136",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "4277ba1d78512efe",
      "framework": "next-react",
      "imports": "",
      "lines": 135,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "npm",
      "path": "supabase/config.toml",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "63f3054b3dfc07ddbb492eb6",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c5bad1f19791ba7e",
      "framework": "next-react",
      "imports": "",
      "lines": 213,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "npm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "199d3a53958867e311ddd000",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NavBar | imports:next/link, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "NavBar",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "86722834ea0bdf99",
      "framework": "next-react",
      "imports": "next/link,react",
      "lines": 125,
      "logic_relevance": "none",
      "name": "NavBar",
      "normalized_name": "nav-bar",
      "package_manager": "npm",
      "path": "components/NavBar.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "0d7ea3b73a1e65bf259bf672",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../hooks/useUploader, ../utils/logger, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5d6dff6600f71a71",
      "framework": "next-react",
      "imports": "../hooks/useUploader,../utils/logger,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "UploadForm",
      "normalized_name": "upload-form",
      "package_manager": "npm",
      "path": "components/UploadForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "6bbdab387deef32312a1d543",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:next/image, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d7725129ccbb487d",
      "framework": "next-react",
      "imports": "next/image,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "FilePreview",
      "normalized_name": "file-preview",
      "package_manager": "npm",
      "path": "components/FilePreview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "i18n",
      "categories": "frontend,ui,observability,security",
      "component_id": "8c32a5f6ed8841c908af050d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "axios,react",
      "description": "Frontend component for i18n; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrackingDashboard | imports:axios, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TrackingDashboard",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0aaae3184168b5d3",
      "framework": "next-react",
      "imports": "axios,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "TrackingDashboard",
      "normalized_name": "tracking-dashboard",
      "package_manager": "npm",
      "path": "components/TrackingDashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "d842052379aaa5ebbb2ad86c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../utils/logger, next/router, react | frontend-score:115 | ui-score:70 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7b8eaf9ec0fe6152",
      "framework": "next-react",
      "imports": "../utils/logger,next/router,react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "CampaignForm",
      "normalized_name": "campaign-form",
      "package_manager": "npm",
      "path": "components/CampaignForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "3600e1c930f3e963a2471eed",
      "component_kind": "editor-feature",
      "confidence": 85,
      "dependency_roots": "next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:next/image, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "33688aee30015a63",
      "framework": "next-react",
      "imports": "next/image,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "Editor",
      "normalized_name": "editor",
      "package_manager": "npm",
      "path": "components/Editor.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,ai",
      "component_id": "6e7e0e199bb5399837c67d9b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "axios,react,react-hook-form",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientForm | imports:axios, react, react-hook-form | frontend-score:115 | ui-score:70 | ai-score:45",
      "exports": "RecipientForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4818cc5f551be4b2",
      "framework": "next-react",
      "imports": "axios,react,react-hook-form",
      "lines": 136,
      "logic_relevance": "none",
      "name": "RecipientForm",
      "normalized_name": "recipient-form",
      "package_manager": "npm",
      "path": "components/RecipientForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "a8f0a77bde29362d5f5c1020",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dcb86652cd9d625e",
      "framework": "next-react",
      "imports": "react",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "npm",
      "path": "components/Footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "f2876e8cbb9a7e9eb1485491",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "axios,next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:FileUpload | imports:./FilePreview, axios, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "FileUpload",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "474d3f81891078c0",
      "framework": "next-react",
      "imports": "./FilePreview,axios,next/navigation,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "FileUpload",
      "normalized_name": "file-upload",
      "package_manager": "npm",
      "path": "components/FileUpload.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "06cb4edfb29d9808487bda8b",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:next/image, react | frontend-score:115 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23fd3d5eb6239227",
      "framework": "next-react",
      "imports": "next/image,react",
      "lines": 23,
      "logic_relevance": "none",
      "name": "MailPreview",
      "normalized_name": "mail-preview",
      "package_manager": "npm",
      "path": "components/MailPreview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "frontend,ui,automation",
      "component_id": "cb3d5a125d4e0c128e17b4df",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:MailItem | imports:react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "MailItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "362e14b13e912bcc",
      "framework": "next-react",
      "imports": "react",
      "lines": 14,
      "logic_relevance": "none",
      "name": "MailItem",
      "normalized_name": "mail-item",
      "package_manager": "npm",
      "path": "components/MailItem.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "b7d2e52e7c39ed0895b7c47d",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "axios,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientList | imports:axios, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RecipientList",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e680ad4636a9add5",
      "framework": "next-react",
      "imports": "axios,react",
      "lines": 53,
      "logic_relevance": "none",
      "name": "RecipientList",
      "normalized_name": "recipient-list",
      "package_manager": "npm",
      "path": "components/RecipientList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "frontend,ui,automation",
      "component_id": "d42d931370ab752953e8addc",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "axios,react,react-hook-form",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:CampaignForm | imports:axios, react, react-hook-form | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "CampaignForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9240e980265a18bd",
      "framework": "next-react",
      "imports": "axios,react,react-hook-form",
      "lines": 36,
      "logic_relevance": "none",
      "name": "CampaignList",
      "normalized_name": "campaign-list",
      "package_manager": "npm",
      "path": "components/CampaignList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "e71130594ab5e64b867a427a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,@radix-ui/react-alert-dialog,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay | imports:@/components/ui/button, @/lib/utils, @radix-ui/react-alert-dialog, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "AlertDialog,AlertDialogAction,AlertDialogCancel,AlertDialogContent,AlertDialogDescription,AlertDialogFooter,AlertDialogHeader,AlertDialogOverlay,AlertDialogPortal,AlertDialogTitle,AlertDialogTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "311bede35f785d7b",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/lib/utils,@radix-ui/react-alert-dialog,react",
      "lines": 139,
      "logic_relevance": "none",
      "name": "alert-dialog",
      "normalized_name": "alert-dialog",
      "package_manager": "npm",
      "path": "components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "3286820203ae452f290109b3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69b727226bb034f1",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "npm",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "efd1ce7920f9bd9100983638",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-label,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Label | imports:@/lib/utils, @radix-ui/react-label, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Label",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e69cfc27d78c9ef3",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-label,class-variance-authority,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "label",
      "normalized_name": "label",
      "package_manager": "npm",
      "path": "components/ui/label.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "e13b1f4242046fb35477fa2a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Alert, AlertDescription, AlertTitle | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Alert,AlertDescription,AlertTitle",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5950ac01377e7eed",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "alert",
      "normalized_name": "alert",
      "package_manager": "npm",
      "path": "components/ui/alert.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "8cd80fa4f10e306c38238fcf",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-separator,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | imports:@/lib/utils, @radix-ui/react-separator, react | ui-score:140 | frontend-score:115",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "c956c4cca4b8442f",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-separator,react",
      "lines": 29,
      "logic_relevance": "none",
      "name": "separator",
      "normalized_name": "separator",
      "package_manager": "npm",
      "path": "components/ui/separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "6f53ed89a4fd9b4e3aaef5ff",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "c2012a19ab3876fb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "npm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "4ea16e8030b82394b4586bce",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input, InputProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input,InputProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3742f91614572bcb",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "npm",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "884b2e41c49383ce952d48c7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@supabase/auth-helpers-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsForm | imports:../../types, ../../utils/supabaseClient, @supabase/auth-helpers-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SettingsForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a3793a07aff3d81c",
      "framework": "next-react",
      "imports": "../../types,../../utils/supabaseClient,@supabase/auth-helpers-react,react",
      "lines": 76,
      "logic_relevance": "none",
      "name": "SettingsForm",
      "normalized_name": "settings-form",
      "package_manager": "npm",
      "path": "components/settings/SettingsForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "a0f48931c7df9c3d085a41c5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@stripe/stripe-js,@supabase/auth-helpers-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:CreditsPage | imports:../../utils/supabaseClient, @stripe/stripe-js, @supabase/auth-helpers-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | uses-env",
      "exports": "CreditsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e17a82befc0bc64e",
      "framework": "next-react",
      "imports": "../../utils/supabaseClient,@stripe/stripe-js,@supabase/auth-helpers-react,react",
      "lines": 66,
      "logic_relevance": "none",
      "name": "CreditsPage",
      "normalized_name": "credits-page",
      "package_manager": "npm",
      "path": "components/payments/CreditsPage.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c6a4ffde43608bf3ada6125f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginForm | imports:../../utils/supabaseClient, @/components/ui/button, @/components/ui/card, @/components/ui/input, next/router, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LoginForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "17d67b91b7488419",
      "framework": "next-react",
      "imports": "../../utils/supabaseClient,@/components/ui/button,@/components/ui/card,@/components/ui/input,next/router,react",
      "lines": 91,
      "logic_relevance": "none",
      "name": "LoginForm",
      "normalized_name": "login-form",
      "package_manager": "npm",
      "path": "components/auth/LoginForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "a1d181d3e6c8f33c67977c9f",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@vercel/analytics,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignUpForm | imports:../../utils/supabaseClient, @/components/ui/button, @/components/ui/card, @/components/ui/input, @vercel/analytics/react, next/router, react | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "SignUpForm",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6ec2ba7e6a01bdc1",
      "framework": "next-react",
      "imports": "../../utils/supabaseClient,@/components/ui/button,@/components/ui/card,@/components/ui/input,@vercel/analytics/react,next/router,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "SignUpForm",
      "normalized_name": "sign-up-form",
      "package_manager": "npm",
      "path": "components/auth/SignUpForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "bc4de4320b28de9d0536df11",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@/components,@/utils,next,next-auth,next-themes,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/ui/button, @/components/ui/card, @/utils/supabaseClient, next-auth/react, next-themes, next/link, next/router, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2aeb7271f3acd5fc",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/utils/supabaseClient,next-auth/react,next-themes,next/link,next/router,react",
      "lines": 68,
      "logic_relevance": "none",
      "name": "SignOut",
      "normalized_name": "sign-out",
      "package_manager": "npm",
      "path": "components/auth/SignOut.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "761881567892a6d7a076a9b7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@supabase/auth-helpers-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComposeMail | imports:../../types, ../../utils/stannpClient, ../../utils/supabaseClient, @supabase/auth-helpers-react, next/router, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ComposeMail",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0ac72a3f9715fa1a",
      "framework": "next-react",
      "imports": "../../types,../../utils/stannpClient,../../utils/supabaseClient,@supabase/auth-helpers-react,next/router,react",
      "lines": 219,
      "logic_relevance": "none",
      "name": "ComposeMail",
      "normalized_name": "compose-mail",
      "package_manager": "npm",
      "path": "components/mail/ComposeMail.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "02e79b6c11d9dd6a34991294",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@supabase/auth-helpers-react,next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../utils/supabaseClient, @supabase/auth-helpers-react, next/router, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "493040a896377a55",
      "framework": "next-react",
      "imports": "../../utils/supabaseClient,@supabase/auth-helpers-react,next/router,react",
      "lines": 170,
      "logic_relevance": "none",
      "name": "RecipientForm",
      "normalized_name": "recipient-form",
      "package_manager": "npm",
      "path": "components/recipients/RecipientForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "57351e8a65004ef8652d0487",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@supabase/auth-helpers-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientList | imports:../../types, ../../utils/supabaseClient, ./RecipientForm, @supabase/auth-helpers-react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "RecipientList",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0bead1550436261b",
      "framework": "next-react",
      "imports": "../../types,../../utils/supabaseClient,./RecipientForm,@supabase/auth-helpers-react,react",
      "lines": 85,
      "logic_relevance": "none",
      "name": "RecipientList",
      "normalized_name": "recipient-list",
      "package_manager": "npm",
      "path": "components/recipients/RecipientList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "5945b58c12db610df6520f12",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "@supabase/auth-helpers-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../../types, ../../utils/supabaseClient, @supabase/auth-helpers-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "7b1f51e8e1912bb3",
      "framework": "next-react",
      "imports": "../../types,../../utils/supabaseClient,@supabase/auth-helpers-react,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "CampaignForm",
      "normalized_name": "campaign-form",
      "package_manager": "npm",
      "path": "components/campaigns/CampaignForm.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "459ac866106776afffb3ea99",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@supabase/auth-helpers-react,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:CampaignList | imports:../../types, ../../utils/supabaseClient, ./CampaignForm, @supabase/auth-helpers-react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "CampaignList",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5d9fcdaf92a0e710",
      "framework": "next-react",
      "imports": "../../types,../../utils/supabaseClient,./CampaignForm,@supabase/auth-helpers-react,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "CampaignList",
      "normalized_name": "campaign-list",
      "package_manager": "npm",
      "path": "components/campaigns/CampaignList.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,discovery,automation",
      "component_id": "f661e36f168daf91eeb1ff2b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "15cd2cde137f581d",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "npm",
      "path": "public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "af17e2e11a426b9ae2d3bd90",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "61bad969db6584cc",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "npm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "6cf00265a2310e3118eac4ab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "89b05eee5651ea81",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "npm",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "a279d6b8b6c63ac60553e10c",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useUploader | imports:../utils/logger, react | observability-score:55",
      "exports": "useUploader",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "de0ca860d709fb8c",
      "framework": "next-react",
      "imports": "../utils/logger,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "useUploader",
      "normalized_name": "use-uploader",
      "package_manager": "npm",
      "path": "hooks/useUploader.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d151756ba100ed320fe7e13f",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@/types,@/utils,next,next-auth,react",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:useAuth | imports:@/types, @/utils/supabaseClient, next-auth, next-auth/react, next/router, react | observability-score:55 | security-score:55",
      "exports": "useAuth",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "60ea51bcca406c13",
      "framework": "next-react",
      "imports": "@/types,@/utils/supabaseClient,next-auth,next-auth/react,next/router,react",
      "lines": 101,
      "logic_relevance": "none",
      "name": "useAuth",
      "normalized_name": "use-auth",
      "package_manager": "npm",
      "path": "hooks/useAuth.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "e4abfd1b669923c2d7556dd3",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "daf3419a948c8197",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "npm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,ai",
      "component_id": "618e3c90dfdb554b80e1495e",
      "component_kind": "business-logic",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:logDebug, logError, logInfo, logWarn | logic-score:85 | observability-score:55 | ai-score:45 | uses-env",
      "exports": "logDebug,logError,logInfo,logWarn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0dd9aee609e0002d",
      "framework": "next-react",
      "imports": "",
      "lines": 89,
      "logic_relevance": "primary",
      "name": "logger",
      "normalized_name": "logger",
      "package_manager": "npm",
      "path": "lib/logger.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "2d0300b63ad99f24373ab2ff",
      "component_kind": "schema-validation",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateFileSize, validateFileType | logic-score:85",
      "exports": "validateFileSize,validateFileType",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3c6aafe39be5fb79",
      "framework": "next-react",
      "imports": "",
      "lines": 12,
      "logic_relevance": "primary",
      "name": "validators",
      "normalized_name": "validators",
      "package_manager": "npm",
      "path": "lib/validators.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "cabb4ab5e9d7239a96d65974",
      "component_kind": "business-logic",
      "confidence": 85,
      "dependency_roots": "axios",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./auth, axios | logic-score:60 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "cf3018295ebbace0",
      "framework": "next-react",
      "imports": "./auth,axios",
      "lines": 38,
      "logic_relevance": "primary",
      "name": "apiClient",
      "normalized_name": "api-client",
      "package_manager": "npm",
      "path": "lib/apiClient.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "f5435676d091da936060c89b",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "next,nookies",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getToken, removeToken, setToken | imports:next, nookies | logic-score:85 | security-score:55 | uses-env",
      "exports": "getToken,removeToken,setToken",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "765b2837e7aa476e",
      "framework": "next-react",
      "imports": "next,nookies",
      "lines": 72,
      "logic_relevance": "primary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "npm",
      "path": "lib/auth.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "68a5cb5791bdd6b3aa81ebf4",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "axios",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:STANNP_API_KEY, STANNP_BASE_URL | imports:axios | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "STANNP_API_KEY,STANNP_BASE_URL",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "22cf595726a0259d",
      "framework": "next-react",
      "imports": "axios",
      "lines": 144,
      "logic_relevance": "primary",
      "name": "stannp",
      "normalized_name": "stannp",
      "package_manager": "npm",
      "path": "lib/stannp.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "61bf1a766305f65c8c2bfde4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@/lib,@/utils,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/stannp, @/utils/auth, @/utils/supabaseClient, next | backend-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "082d83c543e50e6e",
      "framework": "next-react",
      "imports": "@/lib/stannp,@/utils/auth,@/utils/supabaseClient,next",
      "lines": 89,
      "logic_relevance": "none",
      "name": "sendMail",
      "normalized_name": "send-mail",
      "package_manager": "npm",
      "path": "api/sendMail.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,automation",
      "component_id": "1e6617f22a2dbe91d588686f",
      "component_kind": "webhook-handler",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../utils/logger, next | backend-score:55 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "52af91f8ae777d1d",
      "framework": "next-react",
      "imports": "../utils/logger,next",
      "lines": 35,
      "logic_relevance": "none",
      "name": "webhook",
      "normalized_name": "webhook",
      "package_manager": "npm",
      "path": "api/webhook.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "38b09d623dd1b43d248bd389",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "@next-auth/supabase-adapter,next,next-auth",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@next-auth/supabase-adapter, next, next-auth, next-auth/jwt, next-auth/providers/email, next-auth/providers/github, next-auth/providers/google | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6513f4f1fb5cdec7",
      "framework": "next-react",
      "imports": "@next-auth/supabase-adapter,next,next-auth,next-auth/jwt,next-auth/providers/email,next-auth/providers/github,next-auth/providers/google",
      "lines": 80,
      "logic_relevance": "none",
      "name": "[...nextauth]",
      "normalized_name": "nextauth",
      "package_manager": "npm",
      "path": "api/auth/[...nextauth].ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability",
      "component_id": "41485b7fd6af72fb30896883",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,pdfkit,uuid",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../utils/supabaseClient, fs, next, pdfkit, uuid | backend-score:55 | observability-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8ab8a6776ae6cf8c",
      "framework": "next-react",
      "imports": "../../utils/supabaseClient,fs,next,pdfkit,uuid",
      "lines": 75,
      "logic_relevance": "none",
      "name": "generate",
      "normalized_name": "generate",
      "package_manager": "npm",
      "path": "api/pdf/generate.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "e3b3f1bd7499d9a8cecb7c32",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../utils/auth, ../../utils/stannpClient, ../../utils/supabaseClient, next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2f2a0d1fa245c7fc",
      "framework": "next-react",
      "imports": "../../utils/auth,../../utils/stannpClient,../../utils/supabaseClient,next",
      "lines": 48,
      "logic_relevance": "none",
      "name": "cancel-mail",
      "normalized_name": "cancel-mail",
      "package_manager": "npm",
      "path": "api/stannp/cancel-mail.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "a6a98a99c66c0828d90a37a2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../utils/stannpClient, next | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "277b31277defc28a",
      "framework": "next-react",
      "imports": "../../utils/stannpClient,next",
      "lines": 23,
      "logic_relevance": "none",
      "name": "validate-address",
      "normalized_name": "validate-address",
      "package_manager": "npm",
      "path": "api/stannp/validate-address.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "14452dc5446ab5f1b3bbf680",
      "component_kind": "api-route",
      "confidence": 90,
      "dependency_roots": "axios,next,next-auth",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ALLOWED_ENDPOINTS, POST | imports:axios, next-auth/react, next/server | backend-score:125 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "ALLOWED_ENDPOINTS,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "82fe01fc35c1c90f",
      "framework": "next-react",
      "imports": "axios,next-auth/react,next/server",
      "lines": 41,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "npm",
      "path": "api/stannp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "general",
      "categories": "backend,integration,observability,automation",
      "component_id": "baba593432e007c2528a5f9c",
      "component_kind": "webhook-handler",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../utils/supabaseClient, next | backend-score:55 | integration-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "990976345613a08f",
      "framework": "next-react",
      "imports": "../../utils/supabaseClient,next",
      "lines": 17,
      "logic_relevance": "none",
      "name": "webhook",
      "normalized_name": "webhook",
      "package_manager": "npm",
      "path": "api/stannp/webhook.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "d3a0ba2cccb3f7ad850964be",
      "component_kind": "webhook-handler",
      "confidence": 90,
      "dependency_roots": "@supabase/supabase-js,micro,next,stripe",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@supabase/supabase-js, micro, next, stripe | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d881747def6528dc",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,micro,next,stripe",
      "lines": 73,
      "logic_relevance": "none",
      "name": "stripe",
      "normalized_name": "stripe",
      "package_manager": "npm",
      "path": "api/webhooks/stripe.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,integration,observability",
      "component_id": "70edb52cf95e9394a76a812a",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../../utils/stripeClient, next | backend-score:55 | integration-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9033862d1ecf3ada",
      "framework": "next-react",
      "imports": "../../utils/stripeClient,next",
      "lines": 35,
      "logic_relevance": "none",
      "name": "create-checkout-session",
      "normalized_name": "create-checkout-session",
      "package_manager": "npm",
      "path": "api/stripe/create-checkout-session.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "e96f7d2618f13ffb9f7c5d7a",
      "component_kind": "webhook-handler",
      "confidence": 90,
      "dependency_roots": "micro,next,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:../../utils/stripeClient, ../../utils/supabaseClient, micro, next, stripe | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "336feb3bf2e0d37c",
      "framework": "next-react",
      "imports": "../../utils/stripeClient,../../utils/supabaseClient,micro,next,stripe",
      "lines": 73,
      "logic_relevance": "none",
      "name": "webhook",
      "normalized_name": "webhook",
      "package_manager": "npm",
      "path": "api/stripe/webhook.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "automation,ai",
      "component_id": "4f618114eb1278144bc3e726",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "1611712d8f7105ae",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "npm",
      "path": ".vscode/settings.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "e6fac0bbfb3e24351f52b896",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SettingsPage | imports:../components/settings/SettingsForm, next/head | frontend-score:115 | ui-score:55",
      "exports": "SettingsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5dcabd56f1f5c074",
      "framework": "next-react",
      "imports": "../components/settings/SettingsForm,next/head",
      "lines": 17,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "npm",
      "path": "pages/settings.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,automation,ui",
      "component_id": "77c602374d0bf7a5b2378240",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:ComposePage | imports:../components/mail/ComposeMail, next/head | frontend-score:115 | automation-score:95 | ui-score:55",
      "exports": "ComposePage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1cac14c08b53bffb",
      "framework": "next-react",
      "imports": "../components/mail/ComposeMail,next/head",
      "lines": 17,
      "logic_relevance": "none",
      "name": "compose",
      "normalized_name": "compose",
      "package_manager": "npm",
      "path": "pages/compose.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "da281c2fd59165905e6720af",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@/components,next,next-themes",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SITE_URL | imports:@/components/NavBar, @/components/ui/button, @/components/ui/card, @/components/ui/separator, next, next-themes, next/head, next/image | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "SITE_URL",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "28db737a847964f6",
      "framework": "next-react",
      "imports": "@/components/NavBar,@/components/ui/button,@/components/ui/card,@/components/ui/separator,next,next-themes,next/head,next/image,next/link",
      "lines": 125,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "npm",
      "path": "pages/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation",
      "component_id": "46395402816c1f457ac9ed23",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@supabase/auth-helpers-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:../types, ../utils/supabaseClient, @/components/ui/alert, @/components/ui/button, @/components/ui/card, @supabase/auth-helpers-react, next/head, next/link | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5285d0ad9851d781",
      "framework": "next-react",
      "imports": "../types,../utils/supabaseClient,@/components/ui/alert,@/components/ui/button,@/components/ui/card,@supabase/auth-helpers-react,next/head,next/link,next/router,react",
      "lines": 172,
      "logic_relevance": "none",
      "name": "dashboard",
      "normalized_name": "dashboard",
      "package_manager": "npm",
      "path": "pages/dashboard.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "8c92bc6160b5a3a102c93b54",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:CampaignsPage | imports:../components/campaigns/CampaignList, next/head | frontend-score:115 | ui-score:55",
      "exports": "CampaignsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4dc968043a027c4c",
      "framework": "next-react",
      "imports": "../components/campaigns/CampaignList,next/head",
      "lines": 17,
      "logic_relevance": "none",
      "name": "campaigns",
      "normalized_name": "campaigns",
      "package_manager": "npm",
      "path": "pages/campaigns.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui,security",
      "component_id": "42a0aa0433cda9a6c5e61086",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next,react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "exports:SITE_URL | imports:next, next/head, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SITE_URL",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0cfa927ca2de25a7",
      "framework": "next-react",
      "imports": "next,next/head,react",
      "lines": 126,
      "logic_relevance": "none",
      "name": "contact",
      "normalized_name": "contact",
      "package_manager": "npm",
      "path": "pages/contact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "a04d6214f7cd6bb894f61c15",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:TrackingPage | imports:../components/TrackingDashboard, next/head | frontend-score:115 | ui-score:55",
      "exports": "TrackingPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0f1d1df5dad02fbd",
      "framework": "next-react",
      "imports": "../components/TrackingDashboard,next/head",
      "lines": 17,
      "logic_relevance": "none",
      "name": "tracking",
      "normalized_name": "tracking",
      "package_manager": "npm",
      "path": "pages/tracking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "8db5058514cdce2c6964394b",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientsPage | imports:../components/recipients/RecipientList, next/head | frontend-score:115 | ui-score:55",
      "exports": "RecipientsPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "dd5cdfc2ec65c9cf",
      "framework": "next-react",
      "imports": "../components/recipients/RecipientList,next/head",
      "lines": 17,
      "logic_relevance": "none",
      "name": "recipients",
      "normalized_name": "recipients",
      "package_manager": "npm",
      "path": "pages/recipients.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "336546a74b41f6c6363be8f7",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Credits | imports:../components/payments/CreditsPage | frontend-score:85 | ui-score:55",
      "exports": "Credits",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c6afe31f1120b7b5",
      "framework": "next-react",
      "imports": "../components/payments/CreditsPage",
      "lines": 10,
      "logic_relevance": "none",
      "name": "credit",
      "normalized_name": "credit",
      "package_manager": "npm",
      "path": "pages/credit.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "5881eb0abc60e44ff80e61cc",
      "component_kind": "layout",
      "confidence": 75,
      "dependency_roots": "next,next-auth,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:../components/Footer, ../components/NavBar, next-auth/react, next/font/google, next/head, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b623b52300899d15",
      "framework": "next-react",
      "imports": "../components/Footer,../components/NavBar,next-auth/react,next/font/google,next/head,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "npm",
      "path": "pages/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "discovery",
      "categories": "frontend,ui,security,automation",
      "component_id": "26cd27368f3b7a279f6bf78d",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@supabase/auth-helpers-react,@supabase/supabase-js,@vercel/analytics,next,next-themes,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:DEFAULT_DESCRIPTION, MyApp, SITE_NAME, SITE_URL | imports:../utils/supabaseClient, @supabase/auth-helpers-react, @supabase/supabase-js, @vercel/analytics/react, next-themes, next/app, next/head, next/script | frontend-score:115 | ui-score:70 | security-score:55 | automation-score:45",
      "exports": "DEFAULT_DESCRIPTION,MyApp,SITE_NAME,SITE_URL",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "95e86ecc57431ac1",
      "framework": "next-react",
      "imports": "../utils/supabaseClient,@supabase/auth-helpers-react,@supabase/supabase-js,@vercel/analytics/react,next-themes,next/app,next/head,next/script,react",
      "lines": 89,
      "logic_relevance": "none",
      "name": "_app",
      "normalized_name": "app",
      "package_manager": "npm",
      "path": "pages/_app.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "02769c24df121fdbcd36d891",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SITE_URL | imports:next, next/head | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SITE_URL",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "936a82acaeda5d7a",
      "framework": "next-react",
      "imports": "next,next/head",
      "lines": 40,
      "logic_relevance": "none",
      "name": "about",
      "normalized_name": "about",
      "package_manager": "npm",
      "path": "pages/about.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "443902501f1e3cfdf40f1596",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,next,next-auth,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, next-auth/react, next/head, next/router, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d495f3edf8818193",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,next-auth/react,next/head,next/router,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "npm",
      "path": "pages/auth/login.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security",
      "component_id": "0c083dee47edb9510ef03a3d",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/components/ui/button, @/components/ui/card, @/components/ui/input, @/components/ui/label, @/utils/supabaseClient, next/head, next/router, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7f62934b08d5e828",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/components/ui/input,@/components/ui/label,@/utils/supabaseClient,next/head,next/router,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "signup",
      "normalized_name": "signup",
      "package_manager": "npm",
      "path": "pages/auth/signup.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "166fb0fe732ae980317470e4",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignOutPage | imports:../../components/auth/SignOut, next/head, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "SignOutPage",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "a1c611fac37200c9",
      "framework": "next-react",
      "imports": "../../components/auth/SignOut,next/head,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "sign-out",
      "normalized_name": "sign-out",
      "package_manager": "npm",
      "path": "pages/auth/sign-out.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "2f6569369e932e752165f382",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:next/link, next/router | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "45713271420bff3d",
      "framework": "next-react",
      "imports": "next/link,next/router",
      "lines": 26,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "npm",
      "path": "pages/auth/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "59cc98003977f2cc3547a356",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "534de9a03d47823c",
      "framework": "next-react",
      "imports": "next/link",
      "lines": 24,
      "logic_relevance": "none",
      "name": "verify",
      "normalized_name": "verify",
      "package_manager": "npm",
      "path": "pages/auth/verify.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "c1e5dcfa43dd79e192a8e22a",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:RecipientsPage | imports:../../components/RecipientForm, ../../components/RecipientList, react | frontend-score:115 | ui-score:70",
      "exports": "RecipientsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ad0250f24dbf46c0",
      "framework": "next-react",
      "imports": "../../components/RecipientForm,../../components/RecipientList,react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "pages/recipients/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "5c74cb91fba41d61b2c9e07e",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:CampaignsPage | imports:../../components/CampaignForm, ../../components/CampaignList, react | frontend-score:115 | ui-score:70",
      "exports": "CampaignsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "351fc23e4302e8ef",
      "framework": "next-react",
      "imports": "../../components/CampaignForm,../../components/CampaignList,react",
      "lines": 16,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "pages/campaigns/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "cdc0e6032fae28d48a144dd2",
      "component_kind": "page",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:UploadPage | imports:../../components/FileUpload, react | frontend-score:115 | ui-score:70",
      "exports": "UploadPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "607cc1ab8815d9ab",
      "framework": "next-react",
      "imports": "../../components/FileUpload,react",
      "lines": 14,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "npm",
      "path": "pages/upload/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mailthing-webby",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "0db2baca09d45e78bcb91fb9",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:./components/Footer, ./components/Header, next, next/font/google | frontend-score:115 | ui-score:55",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "eac6c6cf9f3d5452",
      "framework": "next-react",
      "imports": "./components/Footer,./components/Header,next,next/font/google",
      "lines": 29,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui",
      "component_id": "08a5470e59d8cc20e1e46082",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:Home | imports:./components/About, ./components/Booking, ./components/Contact, ./components/Hero, ./components/Newsletter, ./components/PerformanceShowcase, ./components/SocialFeed, ./components/Testimonials | frontend-score:85 | ui-score:55",
      "exports": "Home",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "690fd0cd9c5ec66c",
      "framework": "next-react",
      "imports": "./components/About,./components/Booking,./components/Contact,./components/Hero,./components/Newsletter,./components/PerformanceShowcase,./components/SocialFeed,./components/Testimonials",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "fc6ee3d7a58b7325a5e4a6c5",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:Newsletter | imports:@/components/ui/button, @/components/ui/input | frontend-score:85 | ui-score:55",
      "exports": "Newsletter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d644b85ca3aac897",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input",
      "lines": 27,
      "logic_relevance": "none",
      "name": "Newsletter",
      "normalized_name": "newsletter",
      "package_manager": "unknown",
      "path": "app/components/Newsletter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,security",
      "component_id": "a5d2a693be99e0224d0e2bb3",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Hero | imports:@/components/ui/button, framer-motion, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "Hero",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cb6ae239e0ffe01f",
      "framework": "next-react",
      "imports": "@/components/ui/button,framer-motion,react",
      "lines": 71,
      "logic_relevance": "none",
      "name": "Hero",
      "normalized_name": "hero",
      "package_manager": "unknown",
      "path": "app/components/Hero.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui,security",
      "component_id": "09c415bfb26a0fc8ab8be719",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "framer-motion,next,react",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:PerformanceShowcase | imports:framer-motion, next/image, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "PerformanceShowcase",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "11c40abb8ca5f4e5",
      "framework": "next-react",
      "imports": "framer-motion,next/image,react",
      "lines": 90,
      "logic_relevance": "none",
      "name": "PerformanceShowcase",
      "normalized_name": "performance-showcase",
      "package_manager": "unknown",
      "path": "app/components/PerformanceShowcase.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "d51991e2afa622da687d3f81",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Booking | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea, framer-motion, react | frontend-score:115 | ui-score:70",
      "exports": "Booking",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "489083e2466237f5",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea,framer-motion,react",
      "lines": 74,
      "logic_relevance": "none",
      "name": "Booking",
      "normalized_name": "booking",
      "package_manager": "unknown",
      "path": "app/components/Booking.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "frontend,ui",
      "component_id": "ecd95d28306b17defcd10be6",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components",
      "description": "Frontend component for shipping; review as feature component, provider, page, or hook.",
      "evidence": "exports:Contact | imports:@/components/ui/button, @/components/ui/input, @/components/ui/textarea | frontend-score:85 | ui-score:55",
      "exports": "Contact",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2fb6ed6fe3f3f2ce",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/input,@/components/ui/textarea",
      "lines": 49,
      "logic_relevance": "none",
      "name": "Contact",
      "normalized_name": "contact",
      "package_manager": "unknown",
      "path": "app/components/Contact.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "3280e2e6832396950f9eacc4",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "lucide-react,next",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer | imports:lucide-react, next/link | frontend-score:115 | ui-score:55",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "31b8c95c6ad289f1",
      "framework": "next-react",
      "imports": "lucide-react,next/link",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "unknown",
      "path": "app/components/Footer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "ff01eb3942011c1f02341296",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b6557562eaf156fa",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "Testimonials",
      "normalized_name": "testimonials",
      "package_manager": "unknown",
      "path": "app/components/Testimonials.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,ui,security,discovery",
      "component_id": "fff6365def2d656cf9ba3516",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,framer-motion,lucide-react,react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:SocialFeed | imports:@/components/ui/button, framer-motion, lucide-react, react | frontend-score:115 | ui-score:70 | security-score:55 | discovery-score:55",
      "exports": "SocialFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dee7b7d48f163bc6",
      "framework": "next-react",
      "imports": "@/components/ui/button,framer-motion,lucide-react,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "SocialFeed",
      "normalized_name": "social-feed",
      "package_manager": "unknown",
      "path": "app/components/SocialFeed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "4d3a74011617bbd0df0a71f2",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react,three",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:MermaidWorld | imports:react, three, three/examples/jsm/objects/Sky, three/examples/jsm/objects/Water | frontend-score:115 | ui-score:70",
      "exports": "MermaidWorld",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dabc01b06dce5d03",
      "framework": "next-react",
      "imports": "react,three,three/examples/jsm/objects/Sky,three/examples/jsm/objects/Water",
      "lines": 93,
      "logic_relevance": "none",
      "name": "MermaidWorld",
      "normalized_name": "mermaid-world",
      "package_manager": "unknown",
      "path": "app/components/MermaidWorld.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "frontend,ui",
      "component_id": "01727bbbf5af8c26b4981f07",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "Frontend component for testing; review as feature component, provider, page, or hook.",
      "evidence": "exports:Header | imports:@/components/ui/button, next/link | frontend-score:115 | ui-score:55",
      "exports": "Header",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "296fed9384245b71",
      "framework": "next-react",
      "imports": "@/components/ui/button,next/link",
      "lines": 26,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "unknown",
      "path": "app/components/Header.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "cf926b1a846765f309f1782c",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d3f1ff8c86e7a742",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "About",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "app/components/About.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__mermaid-www",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "design-system",
      "categories": "observability,automation",
      "component_id": "b3ec49570d1cd3aa5f0caa75",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for design-system; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4153b3bfc6fb270f",
      "framework": "svelte",
      "imports": "",
      "lines": 2903,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "0887c64a3fae00132b9b171e",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1bcb254b963e987f",
      "framework": "svelte",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "pnpm",
      "path": "LICENSE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "9594421559ba223ae80474cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "70a629b0f8d84e3f",
      "framework": "svelte",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "editor",
      "categories": "automation",
      "component_id": "bfb17129d6e241a388b5b05e",
      "component_kind": "automation-config",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for editor; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a4c13efc328b622d",
      "framework": "svelte",
      "imports": "",
      "lines": 35,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability",
      "component_id": "ee63a3c1ef35f42f728247b8",
      "component_kind": "state-store",
      "confidence": 90,
      "dependency_roots": "$utils,svelte",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cart, cartQuantity, getCartItems, search | imports:$utils/shopify, ./utils/shopify.js, svelte/store | logic-score:85 | observability-score:55",
      "exports": "cart,cartQuantity,getCartItems,search",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "5b7488742d2c4408",
      "framework": "svelte",
      "imports": "$utils/shopify,./utils/shopify.js,svelte/store",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "store",
      "normalized_name": "store",
      "package_manager": "pnpm",
      "path": "src/store.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "9ae935f2b918e13f88f6147b",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "cc1a7ad0d019ddb1",
      "framework": "svelte",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "src/app.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "9b1912f89eba4955598ba05c",
      "component_kind": "security-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "325d80fda5236e5f",
      "framework": "svelte",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "global.d",
      "normalized_name": "global-d",
      "package_manager": "pnpm",
      "path": "src/global.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,integration,observability,security",
      "component_id": "4c5e3276056d789ff2e73d07",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "logic-score:85 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "76ebadc261d5eb45",
      "framework": "svelte",
      "imports": "",
      "lines": 402,
      "logic_relevance": "primary",
      "name": "shopify",
      "normalized_name": "shopify",
      "package_manager": "pnpm",
      "path": "src/utils/shopify.js",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "0234935e1ac109976ffd2f9f",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$components,svelte",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/Icons.svelte, svelte/transition | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8bf40b8d9b86fd78",
      "framework": "svelte",
      "imports": "$components/Icons.svelte,svelte/transition",
      "lines": 41,
      "logic_relevance": "none",
      "name": "DescriptionToggle",
      "normalized_name": "description-toggle",
      "package_manager": "pnpm",
      "path": "src/components/DescriptionToggle.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "a71ff028dd949583947e01c2",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app,$components,svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores, $components/Icons.svelte, $components/SearchBar.svelte, ../store, svelte | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "710182d90bbe9946",
      "framework": "svelte",
      "imports": "$app/stores,$components/Icons.svelte,$components/SearchBar.svelte,../store,svelte",
      "lines": 127,
      "logic_relevance": "none",
      "name": "Header",
      "normalized_name": "header",
      "package_manager": "pnpm",
      "path": "src/components/Header.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "07b65aa2cf4322419c00aa9b",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "0804140b2eae9259",
      "framework": "svelte",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "src/components/Footer.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend,security",
      "component_id": "91b293d2e0b2a905055e907a",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "d33a15685e819712",
      "framework": "svelte",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "Carousel",
      "normalized_name": "carousel",
      "package_manager": "pnpm",
      "path": "src/components/Carousel.svelte",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,observability",
      "component_id": "a54cb2205cc0b2d503fee9f0",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5278628c73ceadc8",
      "framework": "svelte",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "Icons",
      "normalized_name": "icons",
      "package_manager": "pnpm",
      "path": "src/components/Icons.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "326d3a0fbf09b15948a3fed9",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "svelte",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:./Icons.svelte, svelte | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "ec896adc3dd8edc6",
      "framework": "svelte",
      "imports": "./Icons.svelte,svelte",
      "lines": 170,
      "logic_relevance": "none",
      "name": "ShoppingCart",
      "normalized_name": "shopping-cart",
      "package_manager": "pnpm",
      "path": "src/components/ShoppingCart.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "22f1cb23e5456ab2717dcc82",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$app",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/navigation, $app/stores, ./Icons.svelte | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3a7c63fc1792c47b",
      "framework": "svelte",
      "imports": "$app/navigation,$app/stores,./Icons.svelte",
      "lines": 40,
      "logic_relevance": "none",
      "name": "SearchBar",
      "normalized_name": "search-bar",
      "package_manager": "pnpm",
      "path": "src/components/SearchBar.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "b1c57f4c1f802c3aa906eabf",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9ae94f41865d8987",
      "framework": "svelte",
      "imports": "",
      "lines": 50,
      "logic_relevance": "none",
      "name": "GridTile",
      "normalized_name": "grid-tile",
      "package_manager": "pnpm",
      "path": "src/components/GridTile.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "a8dc4c82ea6a7f74c54e0fa7",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "$components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/GridTile.svelte | frontend-score:85 | ui-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ef6e0b043ac2e25b",
      "framework": "svelte",
      "imports": "$components/GridTile.svelte",
      "lines": 40,
      "logic_relevance": "none",
      "name": "ThreeItemGrid",
      "normalized_name": "three-item-grid",
      "package_manager": "pnpm",
      "path": "src/components/ThreeItemGrid.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "5a08de73a8b6495d143e4a85",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/Carousel.svelte, $components/ThreeItemGrid.svelte, ./$types | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1f65de97067c7b47",
      "framework": "svelte",
      "imports": "$components/Carousel.svelte,$components/ThreeItemGrid.svelte,./$types",
      "lines": 46,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,backend",
      "component_id": "805913195dd0a12cdee9a6b1",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "$components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/Icons.svelte | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d71e6cf28a7be5a9",
      "framework": "svelte",
      "imports": "$components/Icons.svelte",
      "lines": 22,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "src/routes/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "5287c401dcccd6415a7281f8",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "$utils,@sveltejs/kit",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:$utils/shopify, ./$types, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "974d389835635191",
      "framework": "svelte",
      "imports": "$utils/shopify,./$types,@sveltejs/kit",
      "lines": 17,
      "logic_relevance": "none",
      "name": "+page.server",
      "normalized_name": "page-server",
      "package_manager": "pnpm",
      "path": "src/routes/+page.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,backend,security",
      "component_id": "824b04b4ff6b1c1f81358034",
      "component_kind": "layout",
      "confidence": 75,
      "dependency_roots": "$components,$utils,svelte",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/Footer.svelte, $components/Header.svelte, $components/ShoppingCart.svelte, $utils/shopify, ../store, svelte | frontend-score:85 | ui-score:55 | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ab630b952d2092c2",
      "framework": "svelte",
      "imports": "$components/Footer.svelte,$components/Header.svelte,$components/ShoppingCart.svelte,$utils/shopify,../store,svelte",
      "lines": 116,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/routes/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "85e14f083daffcea2af67ea6",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@sveltejs/kit",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PATCH, POST, PUT | imports:../../utils/shopify.js, @sveltejs/kit | backend-score:125 | observability-score:55 | next-route-handler",
      "exports": "PATCH,POST,PUT",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a9681be1501825b",
      "framework": "svelte",
      "imports": "../../utils/shopify.js,@sveltejs/kit",
      "lines": 31,
      "logic_relevance": "none",
      "name": "+server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "src/routes/cart.json/+server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend,observability",
      "component_id": "7b43950c476947222a074dd0",
      "component_kind": "feature-ui",
      "confidence": 70,
      "dependency_roots": "$app",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a449c2710de1a77e",
      "framework": "svelte",
      "imports": "$app/stores",
      "lines": 5,
      "logic_relevance": "none",
      "name": "+error",
      "normalized_name": "error",
      "package_manager": "pnpm",
      "path": "src/routes/product/+error.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability,security",
      "component_id": "530c67f04ad9161c96dc7927",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "imports:$components/DescriptionToggle.svelte, $components/GridTile.svelte, $components/Icons.svelte, ../../../store.js, ./$types | frontend-score:60 | ui-score:55 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "de9ad059d9d5f14c",
      "framework": "svelte",
      "imports": "$components/DescriptionToggle.svelte,$components/GridTile.svelte,$components/Icons.svelte,../../../store.js,./$types",
      "lines": 235,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/product/[handle]/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "31c309940fbf231227a1eef2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "$utils,@sveltejs/kit",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:$utils/shopify, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "62f89afd560634f2",
      "framework": "svelte",
      "imports": "$utils/shopify,@sveltejs/kit",
      "lines": 25,
      "logic_relevance": "none",
      "name": "+page.server",
      "normalized_name": "page-server",
      "package_manager": "pnpm",
      "path": "src/routes/product/[handle]/+page.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "9bedb58c40ba24611fc8fda5",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app,$components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores, $components/GridTile.svelte, ./$types | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "974b6ec15a6f54ca",
      "framework": "svelte",
      "imports": "$app/stores,$components/GridTile.svelte,./$types",
      "lines": 34,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/search/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "08eff91d21d2035a8f07e049",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "$utils,@sveltejs/kit",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:$utils/shopify, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bb0289592d970218",
      "framework": "svelte",
      "imports": "$utils/shopify,@sveltejs/kit",
      "lines": 20,
      "logic_relevance": "none",
      "name": "+page.server",
      "normalized_name": "page-server",
      "package_manager": "pnpm",
      "path": "src/routes/search/+page.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,observability",
      "component_id": "f7f132c634b283f2d63321d2",
      "component_kind": "layout",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:85 | ui-score:55 | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "catalog-only",
      "file_hash": "9474b1de9dbb8fea",
      "framework": "svelte",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "+layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "src/routes/search/+layout.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,backend",
      "component_id": "d4803865415de5c189564aa5",
      "component_kind": "page",
      "confidence": 75,
      "dependency_roots": "$app,$components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "imports:$app/stores, $components/GridTile.svelte, ./$types | frontend-score:60 | ui-score:55 | backend-score:55",
      "exports": "",
      "extension": ".svelte",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0e919433689bdd51",
      "framework": "svelte",
      "imports": "$app/stores,$components/GridTile.svelte,./$types",
      "lines": 40,
      "logic_relevance": "none",
      "name": "+page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "src/routes/search/[collection]/+page.svelte",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability",
      "component_id": "688fecbe95e031e5e193bfe3",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "$utils,@sveltejs/kit",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:$utils/shopify, @sveltejs/kit | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "02397de96faf8974",
      "framework": "svelte",
      "imports": "$utils/shopify,@sveltejs/kit",
      "lines": 19,
      "logic_relevance": "none",
      "name": "+page.server",
      "normalized_name": "page-server",
      "package_manager": "pnpm",
      "path": "src/routes/search/[collection]/+page.server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__newdittyswag-commerce",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "integration,security,automation",
      "component_id": "c7e2be8d856b68538b6e5de2",
      "component_kind": "integration-module",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55 | security-score:55 | automation-score:50",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "54e3885bbe9b0279",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "unknown",
      "path": "vercel.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation,ai",
      "component_id": "33e7fd1629606801fa3e1ae9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "body-parser,express",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:PORT | imports:body-parser, express | backend-score:90 | observability-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "PORT",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "fb87e39f1e19a8d3",
      "framework": "next-react",
      "imports": "body-parser,express",
      "lines": 30,
      "logic_relevance": "none",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "unknown",
      "path": "server.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "88dd3063f917eb73eed61bbd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5e3415a93f8b24c6",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "README_FOXIO",
      "normalized_name": "readme-foxio",
      "package_manager": "unknown",
      "path": "README_FOXIO.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "48c25cc7b4eee72e8639194d",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "nextra",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:nextra | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "c4e31d2aa466b8fe",
      "framework": "next-react",
      "imports": "nextra",
      "lines": 72,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "unknown",
      "path": "next.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "3b72c37be665aa65efff917b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a18ecbc0e0eb37d4",
      "framework": "next-react",
      "imports": "",
      "lines": 52,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "db535086eb8efe4c739571d0",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45 | model-provider",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "b169f0aeef251325",
      "framework": "next-react",
      "imports": "",
      "lines": 85,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "702edc8ec8e8347b943abfa2",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Footer, Logo | imports:next-themes, next/image, react | frontend-score:90 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "Footer,Logo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f0ef990f2a4021bf",
      "framework": "next-react",
      "imports": "next-themes,next/image,react",
      "lines": 153,
      "logic_relevance": "none",
      "name": "theme.config",
      "normalized_name": "theme-config",
      "package_manager": "unknown",
      "path": "theme.config.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "84303359b999e429744a43b5",
      "component_kind": "parser",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:PcapNGParser | logic-score:70",
      "exports": "PcapNGParser",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "626b5cf1198cc9e5",
      "framework": "next-react",
      "imports": "",
      "lines": 5,
      "logic_relevance": "primary",
      "name": "pcap-ng-parser.d",
      "normalized_name": "pcap-ng-parser-d",
      "package_manager": "unknown",
      "path": "types/pcap-ng-parser.d.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security,ai",
      "component_id": "d6c0ce72e4d80b6ba7ff9703",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "ee82e45ffd1c8ab4",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "global.d",
      "normalized_name": "global-d",
      "package_manager": "unknown",
      "path": "types/global.d.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "ea52282c470d8389921073ff",
      "component_kind": "feature-ui",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "frontend-score:60 | ui-score:55 | uses-env",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aef8ab909c1fa89c",
      "framework": "next-react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "theme-config",
      "normalized_name": "theme-config",
      "package_manager": "unknown",
      "path": "config/theme-config.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "c9ca155df0d82c9e689f862f",
      "component_kind": "auth",
      "confidence": 80,
      "dependency_roots": "next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:authOptions | imports:next-auth, next-auth/providers/google | security-score:55 | uses-env",
      "exports": "authOptions",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "0611814ed01ff369",
      "framework": "next-react",
      "imports": "next-auth,next-auth/providers/google",
      "lines": 17,
      "logic_relevance": "none",
      "name": "auth-config",
      "normalized_name": "auth-config",
      "package_manager": "unknown",
      "path": "config/auth-config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d97fb59dd8809be2fbfe6789",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "abaf40b26c7feb96",
      "framework": "next-react",
      "imports": "",
      "lines": 2010,
      "logic_relevance": "none",
      "name": "JA4-complete-and-JA4S-DRAFT",
      "normalized_name": "ja4-complete-and-ja4-s-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4-complete-and-JA4S-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c0520867d25c6da445871967",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "4e977d7bd6506de3",
      "framework": "next-react",
      "imports": "",
      "lines": 440,
      "logic_relevance": "none",
      "name": "JA4H-DRAFT",
      "normalized_name": "ja4-h-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4H-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "1b97ff6bc93a2f0760520442",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "64b11cb545bf49e8",
      "framework": "next-react",
      "imports": "",
      "lines": 1594,
      "logic_relevance": "none",
      "name": "ja4ssh-x",
      "normalized_name": "ja4ssh-x",
      "package_manager": "unknown",
      "path": "Drafts/ja4ssh-x.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process,observability,security",
      "component_id": "9610b3469ecb3323aac1fe84",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:TestJA4Fingerprint | process-score:100 | observability-score:55 | security-score:55",
      "exports": "TestJA4Fingerprint",
      "extension": ".mdx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "523ec85f08a47458",
      "framework": "next-react",
      "imports": "",
      "lines": 975,
      "logic_relevance": "none",
      "name": "JA4+-Advanced-Draft",
      "normalized_name": "ja4-advanced-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4+-Advanced-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "process,security",
      "component_id": "678f71ebe1bf0c6f191929bf",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for security; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "c3871724aef46a39",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "LABS-Draft",
      "normalized_name": "labs-draft",
      "package_manager": "unknown",
      "path": "Drafts/LABS-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c47094cc2e7ded6c5116fde2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a8523573bd66ccb0",
      "framework": "next-react",
      "imports": "",
      "lines": 482,
      "logic_relevance": "none",
      "name": "JA4S-DRAFT",
      "normalized_name": "ja4-s-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4S-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "34ef2d04eec064ee5d42510f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8098f7a3df425624",
      "framework": "next-react",
      "imports": "",
      "lines": 86,
      "logic_relevance": "none",
      "name": "JA4TCPServer-FPRINTING-DRAFT",
      "normalized_name": "ja4-tcpserver-fprinting-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4TCPServer-FPRINTING-DRAFT.MDX",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "176ea2e5c1e8379773f28df6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "aa0944c55929cb65",
      "framework": "next-react",
      "imports": "",
      "lines": 600,
      "logic_relevance": "none",
      "name": "Calculations-Final-Draft",
      "normalized_name": "calculations-final-draft",
      "package_manager": "unknown",
      "path": "Drafts/Calculations-Final-Draft.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation",
      "component_id": "5c6c48ee313d201b206a87fb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f28d1a8d3d7502cd",
      "framework": "next-react",
      "imports": "",
      "lines": 205,
      "logic_relevance": "none",
      "name": "JA4-Overview",
      "normalized_name": "ja4-overview",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Overview.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "50f0d4c658ae3439cefd0b56",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6f191b10e413323f",
      "framework": "next-react",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4-Calculations-DRAFT",
      "normalized_name": "ja4-calculations-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Calculations-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "d8cd580bc6fc58abfff11d20",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "f92bdaab057eb2ca",
      "framework": "next-react",
      "imports": "",
      "lines": 1104,
      "logic_relevance": "none",
      "name": "JA4+ Suite Deep Dive",
      "normalized_name": "ja4-suite-deep-dive",
      "package_manager": "unknown",
      "path": "Drafts/JA4+ Suite Deep Dive.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security",
      "component_id": "87149a42f2b415a524dd08fe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "257ac69dacfe200f",
      "framework": "next-react",
      "imports": "",
      "lines": 572,
      "logic_relevance": "none",
      "name": "JA4-Calc2",
      "normalized_name": "ja4-calc2",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Calc2.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,observability,security",
      "component_id": "48f468f7d71d6de1b4b789bc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "a105567354f91730",
      "framework": "next-react",
      "imports": "",
      "lines": 90,
      "logic_relevance": "none",
      "name": "JA4TCPScan-DRAFT",
      "normalized_name": "ja4-tcpscan-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4TCPScan-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "d6560e59904a0f7a5696c1b4",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "nextra-theme-docs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:../../components/ThreatSimulator, nextra-theme-docs | process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "94f3329fb666ee6a",
      "framework": "next-react",
      "imports": "../../components/ThreatSimulator,nextra-theme-docs",
      "lines": 107,
      "logic_relevance": "none",
      "name": "DetectionLab2",
      "normalized_name": "detection-lab2",
      "package_manager": "unknown",
      "path": "Drafts/DetectionLab2.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "59f7a993a2a8d4fedcc79fc2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "66630d59905ecd7e",
      "framework": "next-react",
      "imports": "",
      "lines": 251,
      "logic_relevance": "none",
      "name": "JA4X",
      "normalized_name": "ja4-x",
      "package_manager": "unknown",
      "path": "Drafts/JA4X.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c5ca5c68c85dc0634e3aca9a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b2ec0bd19d92914e",
      "framework": "next-react",
      "imports": "",
      "lines": 387,
      "logic_relevance": "none",
      "name": "JA4L-DRAFT",
      "normalized_name": "ja4-l-draft",
      "package_manager": "unknown",
      "path": "Drafts/JA4L-DRAFT.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "c9a01017c31e6b9b982b7aa2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cfbc5d5868531560",
      "framework": "next-react",
      "imports": "",
      "lines": 162,
      "logic_relevance": "none",
      "name": "Beginner_Lab_1",
      "normalized_name": "beginner-lab-1",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Beginner_Lab_1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "8950890ffa922f1d927e7189",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "nextra-theme-docs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:../../../components/Terminal, nextra-theme-docs | process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dc257933a3e200d8",
      "framework": "next-react",
      "imports": "../../../components/Terminal,nextra-theme-docs",
      "lines": 85,
      "logic_relevance": "none",
      "name": "Beginner_Lab_0",
      "normalized_name": "beginner-lab-0",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Beginner_Lab_0.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ba85f42fa3e303d895404610",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ca4cb4c77e9139d8",
      "framework": "next-react",
      "imports": "",
      "lines": 166,
      "logic_relevance": "none",
      "name": "Lab0",
      "normalized_name": "lab0",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Lab0.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "4399192754e83a7ca100b460",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0a790e0e7e118772",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "Lab1",
      "normalized_name": "lab1",
      "package_manager": "unknown",
      "path": "Drafts/Archive/Beginner_Labs/Lab1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "cc753277489439627075409c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6efa5331ea2ba342",
      "framework": "next-react",
      "imports": "",
      "lines": 210,
      "logic_relevance": "none",
      "name": "JA4S",
      "normalized_name": "ja4-s",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4S.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "084a48fc5d3d22a0513223a6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08f43a39484012f9",
      "framework": "next-react",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "JA4T",
      "normalized_name": "ja4-t",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4T.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "5844321461a7c7716be4c108",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5d74d7e53105fa14",
      "framework": "next-react",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4TS",
      "normalized_name": "ja4-ts",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4TS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "e6f12c5b4307a457eaa4c55d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "3dcb3842edb8f241",
      "framework": "next-react",
      "imports": "",
      "lines": 145,
      "logic_relevance": "none",
      "name": "JA4LS",
      "normalized_name": "ja4-ls",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4LS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "4c7b5b8fb5ecbc12e74b3edc",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dbb17f22cb0eb432",
      "framework": "next-react",
      "imports": "",
      "lines": 270,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "a54943fc6104d777f7788f6a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "e0cae198960c7ec7",
      "framework": "next-react",
      "imports": "",
      "lines": 1453,
      "logic_relevance": "none",
      "name": "JA4-Techniques",
      "normalized_name": "ja4-techniques",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4-Techniques.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "c336cbbc6430197a3a0aa5a3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "76d17619b2b4187e",
      "framework": "next-react",
      "imports": "",
      "lines": 423,
      "logic_relevance": "none",
      "name": "JA4TSCAN",
      "normalized_name": "ja4-tscan",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4TSCAN.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "8aa1054c37d40413313ef212",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "48f956f3f59c7d35",
      "framework": "next-react",
      "imports": "",
      "lines": 177,
      "logic_relevance": "none",
      "name": "JA4SSH",
      "normalized_name": "ja4-ssh",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4SSH.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "429a3284352545f3a2b00ee4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "01e4f30e77696a49",
      "framework": "next-react",
      "imports": "",
      "lines": 156,
      "logic_relevance": "none",
      "name": "JA4L",
      "normalized_name": "ja4-l",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4L.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "23655518db386d96857be888",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "238f1ece6e244d44",
      "framework": "next-react",
      "imports": "",
      "lines": 1049,
      "logic_relevance": "none",
      "name": "JA4X",
      "normalized_name": "ja4-x",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4X.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ad4d01db633deaf1f43fcc0b",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0edce8adad302bd4",
      "framework": "next-react",
      "imports": "",
      "lines": 434,
      "logic_relevance": "none",
      "name": "JA4H",
      "normalized_name": "ja4-h",
      "package_manager": "unknown",
      "path": "Drafts/JA4-Deep-Dive/JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "aed303881bd38a498e703ce4",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d4938997f6076be7",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "f22b1e7e7d01dba5f463df76",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d24d7506f54911ea",
      "framework": "next-react",
      "imports": "",
      "lines": 233,
      "logic_relevance": "none",
      "name": "Labs",
      "normalized_name": "labs",
      "package_manager": "unknown",
      "path": "Drafts/Root/Labs.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "f0079a72c708f5adf35358bd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "ab224dc123a81efb",
      "framework": "next-react",
      "imports": "",
      "lines": 1460,
      "logic_relevance": "none",
      "name": "JA4-Techniques",
      "normalized_name": "ja4-techniques",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4-Techniques.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "692a0e65578368f023489088",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "61e17d0805cde900",
      "framework": "next-react",
      "imports": "",
      "lines": 97,
      "logic_relevance": "none",
      "name": "About",
      "normalized_name": "about",
      "package_manager": "unknown",
      "path": "Drafts/Root/About.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "ada1de5cc421ba035a9a46fa",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "b7d26ac17c7d4d95",
      "framework": "next-react",
      "imports": "",
      "lines": 476,
      "logic_relevance": "none",
      "name": "Integrations",
      "normalized_name": "integrations",
      "package_manager": "unknown",
      "path": "Drafts/Root/Integrations.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "c87ad7d45c836e141d8ab9d6",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "73faae5f334590fb",
      "framework": "next-react",
      "imports": "",
      "lines": 113,
      "logic_relevance": "none",
      "name": "JA4+",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "Drafts/Root/JA4+.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "28fa44bb64f6af70e43470ab",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "8567b1e2d37fdd93",
      "framework": "next-react",
      "imports": "",
      "lines": 286,
      "logic_relevance": "none",
      "name": "Intermediate-JA4T-Lab2",
      "normalized_name": "intermediate-ja4-t-lab2",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/Intermediate-JA4T-Lab2.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "44e5af4fff379662982a6680",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "029ba9bf9d937fe6",
      "framework": "next-react",
      "imports": "",
      "lines": 294,
      "logic_relevance": "none",
      "name": "JA4S-Intermediate",
      "normalized_name": "ja4-s-intermediate",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/JA4S-Intermediate.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "65ddc1d2c5eee0a07a9f65cb",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c7e774b04a372741",
      "framework": "next-react",
      "imports": "",
      "lines": 117,
      "logic_relevance": "none",
      "name": "Intermediate-Lab1",
      "normalized_name": "intermediate-lab1",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/Intermediate-Lab1.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "ded5f8af8ee9ef4e432f9ea9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d3aae80ff90a544a",
      "framework": "next-react",
      "imports": "",
      "lines": 267,
      "logic_relevance": "none",
      "name": "JA4H-Intermediate",
      "normalized_name": "ja4-h-intermediate",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/JA4H-Intermediate.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,observability,security,ai",
      "component_id": "6649a5aaa870504084a7d05c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "1e96850145303f59",
      "framework": "next-react",
      "imports": "",
      "lines": 176,
      "logic_relevance": "none",
      "name": "JA4T-Lab",
      "normalized_name": "ja4-t-lab",
      "package_manager": "unknown",
      "path": "Drafts/Advanced-Labs/JA4T-Lab.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "logic,integration,automation",
      "component_id": "dab8d22ab1981a122177f35b",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getWebhookData, setWebhookData | logic-score:85 | integration-score:55 | automation-score:45",
      "exports": "getWebhookData,setWebhookData",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "97ba9e0f2f4ef3d4",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "primary",
      "name": "webhookdata",
      "normalized_name": "webhookdata",
      "package_manager": "unknown",
      "path": "utils/webhookdata.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "e6684bfa8ddd5131b1152f7b",
      "component_kind": "utility",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:validateEnv | logic-score:85 | uses-env",
      "exports": "validateEnv",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "6ef910cfc978427d",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "validateEnv",
      "normalized_name": "validate-env",
      "package_manager": "unknown",
      "path": "utils/validateEnv.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "652309cd41d0a259b8541269",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@sentry/nextjs",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:captureException, capturePerformance, initSentry | imports:@sentry/nextjs | process-score:100 | observability-score:55 | uses-env",
      "exports": "captureException,capturePerformance,initSentry",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "92fbcc3011cf39f4",
      "framework": "next-react",
      "imports": "@sentry/nextjs",
      "lines": 30,
      "logic_relevance": "none",
      "name": "sentry-setup",
      "normalized_name": "sentry-setup",
      "package_manager": "unknown",
      "path": "integrations/sentry-setup.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "b93227bd6dc5917cbd421248",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:captureException, capturePerformance, initSentry | observability-score:55",
      "exports": "captureException,capturePerformance,initSentry",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "06212baadd925faf",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "sentry",
      "normalized_name": "sentry",
      "package_manager": "unknown",
      "path": "integrations/sentry.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "107890c592c1d11d7c419153",
      "component_kind": "observability-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:GA_TRACKING_ID, event, isGAEnabled, pageview | observability-score:55 | uses-env",
      "exports": "GA_TRACKING_ID,event,isGAEnabled,pageview",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8331a431324f1aca",
      "framework": "next-react",
      "imports": "",
      "lines": 39,
      "logic_relevance": "none",
      "name": "google-analytics",
      "normalized_name": "google-analytics",
      "package_manager": "unknown",
      "path": "integrations/google-analytics.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "2069546538720c268d449e92",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f4cc8f4ca1a85ec8",
      "framework": "next-react",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Modal.module",
      "normalized_name": "modal-module",
      "package_manager": "unknown",
      "path": "styles/Modal.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "b306e7f26cbee438a5bf4007",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f7514023c85a3391",
      "framework": "next-react",
      "imports": "",
      "lines": 27,
      "logic_relevance": "none",
      "name": "collapsesidebar.module",
      "normalized_name": "collapsesidebar-module",
      "package_manager": "unknown",
      "path": "styles/collapsesidebar.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "b20e4b86d38c49b31023965b",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "665410adc1dfd540",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "pcap-viewer.module",
      "normalized_name": "pcap-viewer-module",
      "package_manager": "unknown",
      "path": "styles/pcap-viewer.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "c612725d3a95f575348f9a2d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c48b5b38c6d14ab5",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "ErrorBoundary.module",
      "normalized_name": "error-boundary-module",
      "package_manager": "unknown",
      "path": "styles/ErrorBoundary.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security,ai",
      "component_id": "e8148895fcfaefa4fe99190f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c0ccd355db7ea8f5",
      "framework": "next-react",
      "imports": "",
      "lines": 211,
      "logic_relevance": "none",
      "name": "labs.module",
      "normalized_name": "labs-module",
      "package_manager": "unknown",
      "path": "styles/labs.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,observability,ai",
      "component_id": "6c1285de5ce07f265fa153c1",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "92db89a5f146c096",
      "framework": "next-react",
      "imports": "",
      "lines": 275,
      "logic_relevance": "none",
      "name": "terminal.module",
      "normalized_name": "terminal-module",
      "package_manager": "unknown",
      "path": "styles/terminal.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "4e4eb1cb1dbaf16378696251",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "69baf52af02bba76",
      "framework": "next-react",
      "imports": "",
      "lines": 460,
      "logic_relevance": "none",
      "name": "ThreatSimulator.module",
      "normalized_name": "threat-simulator-module",
      "package_manager": "unknown",
      "path": "styles/ThreatSimulator.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "038e5be6bc2dd985e371cb71",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0b6eb5dd849741b7",
      "framework": "next-react",
      "imports": "",
      "lines": 383,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "unknown",
      "path": "styles/main.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "style",
      "component_id": "ffebadcce7ea31b6ba4a018d",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for logic; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "6ed6d0345bbe294a",
      "framework": "next-react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "counters.module",
      "normalized_name": "counters-module",
      "package_manager": "unknown",
      "path": "styles/counters.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,security",
      "component_id": "213568003ec6643b8e8eec03",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "0aafa6a5bd847b5d",
      "framework": "next-react",
      "imports": "",
      "lines": 40,
      "logic_relevance": "none",
      "name": "ThreatQuiz.module",
      "normalized_name": "threat-quiz-module",
      "package_manager": "unknown",
      "path": "styles/ThreatQuiz.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "style,security,ai",
      "component_id": "205f709f93ae21d1ffd5b0be",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for discovery; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c1a6b1e0ba6f3ca7",
      "framework": "next-react",
      "imports": "",
      "lines": 164,
      "logic_relevance": "none",
      "name": "QuizModeModal.module",
      "normalized_name": "quiz-mode-modal-module",
      "package_manager": "unknown",
      "path": "styles/QuizModeModal.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "395ac62779a321f4ae7d2355",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "23f32e97ed162af6",
      "framework": "next-react",
      "imports": "",
      "lines": 54,
      "logic_relevance": "none",
      "name": "integrations.module",
      "normalized_name": "integrations-module",
      "package_manager": "unknown",
      "path": "styles/integrations.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,observability",
      "component_id": "6aaeefb4f05919d495c5e9ec",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "d5fce1ede29b203d",
      "framework": "next-react",
      "imports": "",
      "lines": 418,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style,ai",
      "component_id": "fdefdc8fdf871320ee1c8c9f",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ai-score:45 | model-provider",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "59660a2136b38f48",
      "framework": "next-react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "OpenAIPrompt.module",
      "normalized_name": "open-aiprompt-module",
      "package_manager": "unknown",
      "path": "styles/OpenAIPrompt.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "b02c62301347e45a3355bd73",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "b207df52a05744a9",
      "framework": "next-react",
      "imports": "",
      "lines": 143,
      "logic_relevance": "none",
      "name": "FingerprintSearchAndScore.module",
      "normalized_name": "fingerprint-search-and-score-module",
      "package_manager": "unknown",
      "path": "styles/FingerprintSearchAndScore.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,security",
      "component_id": "25ad0164d7044da526cf1564",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5e5e34284cdcd6fe",
      "framework": "next-react",
      "imports": "react",
      "lines": 47,
      "logic_relevance": "none",
      "name": "PcapSelector",
      "normalized_name": "pcap-selector",
      "package_manager": "unknown",
      "path": "components/PcapSelector.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,ai",
      "component_id": "10c62c719f28e822670e3a78",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:UnifiedTerminal | imports:../styles/terminal.module.css, ./TerminalOutput.js, ./quizmode.js, react | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "UnifiedTerminal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "dde2bb8f4559d1bc",
      "framework": "next-react",
      "imports": "../styles/terminal.module.css,./TerminalOutput.js,./quizmode.js,react",
      "lines": 221,
      "logic_relevance": "none",
      "name": "LabTerminal",
      "normalized_name": "lab-terminal",
      "package_manager": "unknown",
      "path": "components/LabTerminal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "f87a6a373c0b8c96d3d41b31",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Arkime | imports:react | frontend-score:55 | observability-score:55",
      "exports": "Arkime",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "e76a9303ff70b86d",
      "framework": "next-react",
      "imports": "react",
      "lines": 18,
      "logic_relevance": "none",
      "name": "arkime-login",
      "normalized_name": "arkime-login",
      "package_manager": "unknown",
      "path": "components/arkime-login.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,observability",
      "component_id": "a0c921c1893c682bdef6258c",
      "component_kind": "feature-ui",
      "confidence": 85,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5aae532ea0643e03",
      "framework": "next-react",
      "imports": "react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "PcapViewer",
      "normalized_name": "pcap-viewer",
      "package_manager": "unknown",
      "path": "components/PcapViewer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2ef9e97088ba01c2208ecfb5",
      "component_kind": "observability-module",
      "confidence": 100,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:TerminalOutput | imports:../data/fingerprints.json, ../data/mappings.json, ../data/traffic.json | observability-score:55 | security-score:55",
      "exports": "TerminalOutput",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "431db2835270f185",
      "framework": "next-react",
      "imports": "../data/fingerprints.json,../data/mappings.json,../data/traffic.json",
      "lines": 422,
      "logic_relevance": "none",
      "name": "TerminalOutput",
      "normalized_name": "terminal-output",
      "package_manager": "unknown",
      "path": "components/TerminalOutput.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "d829394b7bfec9c659efff71",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:MyApp | imports:../styles/counters.module.css, react | frontend-score:115 | ui-score:70",
      "exports": "MyApp",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4ae775350f7fa637",
      "framework": "next-react",
      "imports": "../styles/counters.module.css,react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "counters",
      "normalized_name": "counters",
      "package_manager": "unknown",
      "path": "components/counters.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,security",
      "component_id": "61be87ac1696708efdfbd556",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "axios,cookie,react",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArkimeEmbed | imports:axios, cookie, react | frontend-score:55 | security-score:55",
      "exports": "ArkimeEmbed",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "efa90bd239a4fe00",
      "framework": "next-react",
      "imports": "axios,cookie,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "arkime_leg",
      "normalized_name": "arkime-leg",
      "package_manager": "unknown",
      "path": "components/arkime_leg.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security,ai",
      "component_id": "4ca3f7157564da21d6c27592",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react,react-window",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Row, UnifiedTerminal | imports:../styles/terminal.module.css, ./TerminalOutput, ./ThreatSimulator, ./quizmode, react, react-window | frontend-score:55 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "Row,UnifiedTerminal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ec85cf1e5ec8ffd6",
      "framework": "next-react",
      "imports": "../styles/terminal.module.css,./TerminalOutput,./ThreatSimulator,./quizmode,react,react-window",
      "lines": 385,
      "logic_relevance": "none",
      "name": "Terminal",
      "normalized_name": "terminal",
      "package_manager": "unknown",
      "path": "components/Terminal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,security",
      "component_id": "58e233511065d1e14cf2fa4c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "prop-types,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintDetection | imports:../styles/labs.module.css, prop-types, react | frontend-score:55 | security-score:55",
      "exports": "FingerprintDetection",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7c81e0a9a92043b",
      "framework": "next-react",
      "imports": "../styles/labs.module.css,prop-types,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "FingerprintDetection",
      "normalized_name": "fingerprint-detection",
      "package_manager": "unknown",
      "path": "components/FingerprintDetection.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "ddd3480f1c04ebcaff430399",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react,react-icons,recharts",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:COLORS, Notification, ThreatSimulator | imports:../data/fingerprints.json, ../data/mappings.json, ../data/threatsDetails.json, ../styles/ThreatSimulator.module.css, ./Modal, ./Terminal, ./quizzes/ThreatQuiz, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "COLORS,Notification,ThreatSimulator",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "088e59c61bc375d7",
      "framework": "next-react",
      "imports": "../data/fingerprints.json,../data/mappings.json,../data/threatsDetails.json,../styles/ThreatSimulator.module.css,./Modal,./Terminal,./quizzes/ThreatQuiz,react,react-icons/fa,recharts",
      "lines": 656,
      "logic_relevance": "none",
      "name": "ThreatSimulator",
      "normalized_name": "threat-simulator",
      "package_manager": "unknown",
      "path": "components/ThreatSimulator.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "frontend,security",
      "component_id": "b3e1e5888db6ede48de14df8",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "prop-types,react",
      "description": "Frontend component for workflow; review as feature component, provider, page, or hook.",
      "evidence": "exports:FingerprintDetection | imports:../styles/labs.module.css, prop-types, react | frontend-score:55 | security-score:55",
      "exports": "FingerprintDetection",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e7c81e0a9a92043b",
      "framework": "next-react",
      "imports": "../styles/labs.module.css,prop-types,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "fingerprints",
      "normalized_name": "fingerprints",
      "package_manager": "unknown",
      "path": "components/fingerprints.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "b2890b9906ba09c38cf2b643",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArkimeLogin | imports:react | frontend-score:55 | observability-score:55",
      "exports": "ArkimeLogin",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "4be7cd2891bd3e26",
      "framework": "next-react",
      "imports": "react",
      "lines": 38,
      "logic_relevance": "none",
      "name": "Arkime",
      "normalized_name": "arkime",
      "package_manager": "unknown",
      "path": "components/Arkime.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend",
      "component_id": "a5fe07361d8c048b74492237",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuizModeModal | imports:../styles/QuizModeModal.module.css, react | frontend-score:55",
      "exports": "QuizModeModal",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03c49044a0a1faf9",
      "framework": "next-react",
      "imports": "../styles/QuizModeModal.module.css,react",
      "lines": 116,
      "logic_relevance": "none",
      "name": "quizModeModal",
      "normalized_name": "quiz-mode-modal",
      "package_manager": "unknown",
      "path": "components/quizModeModal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability",
      "component_id": "a08228b010b42862ed2084ac",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "prop-types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ErrorBoundary | imports:../styles/ErrorBoundary.module.css, prop-types, react | frontend-score:55 | observability-score:55",
      "exports": "ErrorBoundary",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "0de3f97fe2f8905e",
      "framework": "next-react",
      "imports": "../styles/ErrorBoundary.module.css,prop-types,react",
      "lines": 45,
      "logic_relevance": "none",
      "name": "ErrorBoundary",
      "normalized_name": "error-boundary",
      "package_manager": "unknown",
      "path": "components/ErrorBoundary.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend",
      "component_id": "80b4f756aeeb7ca95348f128",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Counter | imports:react | frontend-score:55",
      "exports": "Counter",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e08d253c5cb71da4",
      "framework": "next-react",
      "imports": "react",
      "lines": 24,
      "logic_relevance": "none",
      "name": "Counter",
      "normalized_name": "counter",
      "package_manager": "unknown",
      "path": "components/Counter.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "12b270d689f00bdc89ffdbff",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:QuizMode | imports:../styles/terminal.module.css, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "QuizMode",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "592797a4371e8264",
      "framework": "next-react",
      "imports": "../styles/terminal.module.css,react",
      "lines": 290,
      "logic_relevance": "none",
      "name": "quizmode",
      "normalized_name": "quizmode",
      "package_manager": "unknown",
      "path": "components/quizmode.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,security,automation,ai",
      "component_id": "0800fd0f790dbae56fce94f6",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntegrationList | imports:react | frontend-score:55 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "IntegrationList",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "b9f738d9298a3757",
      "framework": "next-react",
      "imports": "react",
      "lines": 121,
      "logic_relevance": "none",
      "name": "IntegrationList",
      "normalized_name": "integration-list",
      "package_manager": "unknown",
      "path": "components/IntegrationList.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,security",
      "component_id": "06c6386abbc1dc32260a2def",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next,next-themes,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Logo | imports:next-themes, next/image, react | frontend-score:55 | observability-score:55 | security-score:55",
      "exports": "Logo",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "07df072caed358fb",
      "framework": "next-react",
      "imports": "next-themes,next/image,react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "Logo",
      "normalized_name": "logo",
      "package_manager": "unknown",
      "path": "components/Logo.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend",
      "component_id": "94529a6ba7b82443e8a5c29d",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:Modal | imports:../styles/Modal.module.css, react | frontend-score:55",
      "exports": "Modal",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "24a8f0814931ac7b",
      "framework": "next-react",
      "imports": "../styles/Modal.module.css,react",
      "lines": 19,
      "logic_relevance": "none",
      "name": "Modal",
      "normalized_name": "modal",
      "package_manager": "unknown",
      "path": "components/Modal.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ai",
      "component_id": "dc705bbaf1c06965ef4af899",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "axios,react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:OpenAIPrompt | imports:../styles/OpenAIPrompt.module.css, axios, react | frontend-score:55 | ai-score:45 | model-provider",
      "exports": "OpenAIPrompt",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "ca4b2cf213f21641",
      "framework": "next-react",
      "imports": "../styles/OpenAIPrompt.module.css,axios,react",
      "lines": 127,
      "logic_relevance": "none",
      "name": "OpenAIPrompt",
      "normalized_name": "open-aiprompt",
      "package_manager": "unknown",
      "path": "components/OpenAIPrompt.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "frontend,security",
      "component_id": "eddd03e29f1dce98fb521c02",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for security; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThreatQuiz | imports:../../styles/ThreatQuiz.module.css, react | frontend-score:55 | security-score:55",
      "exports": "ThreatQuiz",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f1110f6fc502d0e",
      "framework": "next-react",
      "imports": "../../styles/ThreatQuiz.module.css,react",
      "lines": 136,
      "logic_relevance": "none",
      "name": "ThreatQuiz",
      "normalized_name": "threat-quiz",
      "package_manager": "unknown",
      "path": "components/quizzes/ThreatQuiz.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "backend,observability,security",
      "component_id": "2ad17225907c1ebef5bf61da",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for security; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handler | imports:next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "handler",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ed225811160c5cc6",
      "framework": "next-react",
      "imports": "next",
      "lines": 63,
      "logic_relevance": "none",
      "name": "[labId]",
      "normalized_name": "lab-id",
      "package_manager": "unknown",
      "path": "api/labs/[labId].ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "backend,observability,security",
      "component_id": "b492ae01fe661def840be1bf",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "next",
      "description": "Backend component for commerce; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:handler | imports:next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "handler",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "daa2ce9103171047",
      "framework": "next-react",
      "imports": "next",
      "lines": 53,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "api/labs/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "0eec2caaad86472996212f50",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "axios,cookie",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:axios, cookie | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "527436ba205c03dd",
      "framework": "next-react",
      "imports": "axios,cookie",
      "lines": 76,
      "logic_relevance": "none",
      "name": "authenticate",
      "normalized_name": "authenticate",
      "package_manager": "unknown",
      "path": "api/arkime/authenticate.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "45e7dfc06de1ee1f0e1dc023",
      "component_kind": "auth-module",
      "confidence": 75,
      "dependency_roots": "bcrypt,jsonwebtoken,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:bcrypt, jsonwebtoken, next | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6b08eba1dda955fc",
      "framework": "next-react",
      "imports": "bcrypt,jsonwebtoken,next",
      "lines": 33,
      "logic_relevance": "none",
      "name": "login",
      "normalized_name": "login",
      "package_manager": "unknown",
      "path": "api/auth/login.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "f5da19422d54dc928d1eac9d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b2697cffff1ae0ca",
      "framework": "next-react",
      "imports": "fs,next,path",
      "lines": 29,
      "logic_relevance": "none",
      "name": "get-pcap-file",
      "normalized_name": "get-pcap-file",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/get-pcap-file.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend,observability",
      "component_id": "5b11be5f60834761a5aaa2ec",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "15cbb196c42e76f5",
      "framework": "next-react",
      "imports": "fs,next,path",
      "lines": 25,
      "logic_relevance": "none",
      "name": "get-pcap-files",
      "normalized_name": "get-pcap-files",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/get-pcap-files.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "87561e6f707d054e23a627d1",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "127b316379019c51",
      "framework": "next-react",
      "imports": "fs,next,path",
      "lines": 23,
      "logic_relevance": "none",
      "name": "get-suspicious",
      "normalized_name": "get-suspicious",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/get-suspicious.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "765c6e3bb6cdf40f157c1e10",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path,pcap-ng-parser",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path, pcap-ng-parser | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "e0ae16f595b33d26",
      "framework": "next-react",
      "imports": "fs,next,path,pcap-ng-parser",
      "lines": 38,
      "logic_relevance": "none",
      "name": "parse-pcap-file",
      "normalized_name": "parse-pcap-file",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/parse-pcap-file.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,observability",
      "component_id": "fdd79544cab6ad97ec222a4d",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "fs,next,path",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:fs, next, path | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "bb1ef1c0e9de89ba",
      "framework": "next-react",
      "imports": "fs,next,path",
      "lines": 37,
      "logic_relevance": "none",
      "name": "save-suspicious",
      "normalized_name": "save-suspicious",
      "package_manager": "unknown",
      "path": "api/pcap-viewer/save-suspicious.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,ui,backend,security,ai",
      "component_id": "7c143ae13d865a06fcdb0909",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "react",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:JA4GPTTest | imports:react | frontend-score:90 | ui-score:70 | backend-score:55 | security-score:55 | ai-score:45",
      "exports": "JA4GPTTest",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b1616af804b571da",
      "framework": "next-react",
      "imports": "react",
      "lines": 75,
      "logic_relevance": "none",
      "name": "ja4gpt-test",
      "normalized_name": "ja4gpt-test",
      "package_manager": "unknown",
      "path": "api/ja4gpt/ja4gpt-test.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "cec886b748ceaef10af19172",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "axios,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:OpenAIError | imports:axios, next | backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | uses-env | model-provider",
      "exports": "OpenAIError",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "c41a79581d661bff",
      "framework": "next-react",
      "imports": "axios,next",
      "lines": 103,
      "logic_relevance": "none",
      "name": "ask-ja4gpt",
      "normalized_name": "ask-ja4gpt",
      "package_manager": "unknown",
      "path": "api/ja4gpt/ask-ja4gpt.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,backend,observability,security",
      "component_id": "7ec0d05e542fec6a30607c09",
      "component_kind": "prompt-template",
      "confidence": 90,
      "dependency_roots": "axios",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:OpenAIError | imports:axios | ai-score:120 | backend-score:55 | observability-score:55 | security-score:55 | uses-env | model-provider",
      "exports": "OpenAIError",
      "extension": ".js",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "6cc2aa14e820aab0",
      "framework": "next-react",
      "imports": "axios",
      "lines": 107,
      "logic_relevance": "none",
      "name": "openai-prompt",
      "normalized_name": "openai-prompt",
      "package_manager": "unknown",
      "path": "api/openai/openai-prompt.js",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "security,automation",
      "component_id": "ad12e98fd5e51148df9c0aaa",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "106ef755c1c471ba",
      "framework": "next-react",
      "imports": "",
      "lines": 835,
      "logic_relevance": "none",
      "name": "mappings",
      "normalized_name": "mappings",
      "package_manager": "unknown",
      "path": "data/mappings.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "24c07474410845bc02bedb8d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "63f4f903b97a40a6",
      "framework": "next-react",
      "imports": "",
      "lines": 148,
      "logic_relevance": "none",
      "name": "threatsDetails",
      "normalized_name": "threats-details",
      "package_manager": "unknown",
      "path": "data/threatsDetails.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "security",
      "categories": "security",
      "component_id": "44aa4bab5a95d6830d234c96",
      "component_kind": "fingerprinting",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8b39bd0cd54ea495",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "ja4-fingerprints",
      "normalized_name": "ja4-fingerprints",
      "package_manager": "unknown",
      "path": "data/ja4-fingerprints.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7398837f4d0d3509fe6e8d04",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "79d2147e54e0745c",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "_meta",
      "normalized_name": "meta",
      "package_manager": "unknown",
      "path": "pages/_meta.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,observability,automation",
      "component_id": "80ef32bfc520a611cc1d4996",
      "component_kind": "frontend-feature",
      "confidence": 90,
      "dependency_roots": "@mdx-js/react,@vercel/analytics,next,next-themes,prop-types,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:MyApp | imports:../components/ErrorBoundary, ../components/MDXProviderWrapper, ../utils/validateEnv, @mdx-js/react, @vercel/analytics/react, next-themes, next/router, prop-types | frontend-score:55 | observability-score:55 | automation-score:45",
      "exports": "MyApp",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "265935f87e90d9c5",
      "framework": "next-react",
      "imports": "../components/ErrorBoundary,../components/MDXProviderWrapper,../utils/validateEnv,@mdx-js/react,@vercel/analytics/react,next-themes,next/router,prop-types,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "_app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "pages/_app.js",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "1c5ba6ea7c1f8c90a79dee85",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "6a5553d3cf89c29c",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "pages/index.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "f888213b86485427cb56606f",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7654f425305ad5a5",
      "framework": "next-react",
      "imports": "",
      "lines": 394,
      "logic_relevance": "none",
      "name": "JA3-&-JA4",
      "normalized_name": "ja3-ja4",
      "package_manager": "unknown",
      "path": "pages/About JA4/JA3-&-JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process,security",
      "component_id": "f543924b9eb21075b6e5eba1",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "534c1fa5fd06fa00",
      "framework": "next-react",
      "imports": "",
      "lines": 147,
      "logic_relevance": "none",
      "name": "JA4-Algorithm",
      "normalized_name": "ja4-algorithm",
      "package_manager": "unknown",
      "path": "pages/About JA4/JA4-Algorithm.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "process,observability,security",
      "component_id": "e9f419004aac31b8f690cbe5",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for editor; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "f4607e527e192a92",
      "framework": "next-react",
      "imports": "",
      "lines": 259,
      "logic_relevance": "none",
      "name": "JA4-Wireshark-Plugin",
      "normalized_name": "ja4-wireshark-plugin",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4-Wireshark-Plugin.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "2329cef224a500b6edeff988",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "f6dbcfe039225942",
      "framework": "next-react",
      "imports": "",
      "lines": 210,
      "logic_relevance": "none",
      "name": "JA4S",
      "normalized_name": "ja4-s",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4S.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "1ed97100505282042550dc82",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e6ced309c91869fd",
      "framework": "next-react",
      "imports": "",
      "lines": 332,
      "logic_relevance": "none",
      "name": "JA4T",
      "normalized_name": "ja4-t",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4T.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "63459c20f7f48c7a06df7840",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7a47ac22bb14d407",
      "framework": "next-react",
      "imports": "",
      "lines": 407,
      "logic_relevance": "none",
      "name": "JA4TS",
      "normalized_name": "ja4-ts",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4TS.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "da3e85a02efaec318f0164fe",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "913a10a6122d4482",
      "framework": "next-react",
      "imports": "",
      "lines": 280,
      "logic_relevance": "none",
      "name": "JA4",
      "normalized_name": "ja4",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "1937b636224502c13ea73b00",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d1198c08f9fa8eb3",
      "framework": "next-react",
      "imports": "",
      "lines": 423,
      "logic_relevance": "none",
      "name": "JA4TSCAN",
      "normalized_name": "ja4-tscan",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4TSCAN.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,ai",
      "component_id": "19af248be48ef2fe557d6540",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "d874922e12780a4f",
      "framework": "next-react",
      "imports": "",
      "lines": 179,
      "logic_relevance": "none",
      "name": "JA4SSH",
      "normalized_name": "ja4-ssh",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4SSH.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "a9d6cf5784171ea1fcf62a05",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e463fa267040ac66",
      "framework": "next-react",
      "imports": "",
      "lines": 435,
      "logic_relevance": "none",
      "name": "JA4H",
      "normalized_name": "ja4-h",
      "package_manager": "unknown",
      "path": "pages/Quick-Labs/JA4/JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "15c3fd6466f2ce595521db9a",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ec7fd82aed90c7e9",
      "framework": "next-react",
      "imports": "",
      "lines": 94,
      "logic_relevance": "none",
      "name": "Advanced-Labs-Overview",
      "normalized_name": "advanced-labs-overview",
      "package_manager": "unknown",
      "path": "pages/Advanced-Labs/Advanced-Labs-Overview.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "bbca12afaa00e88bc2ddd23d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "catalog-only",
      "file_hash": "192c7faf4fa647d4",
      "framework": "next-react",
      "imports": "",
      "lines": 564,
      "logic_relevance": "none",
      "name": "Advaced-Labs",
      "normalized_name": "advaced-labs",
      "package_manager": "unknown",
      "path": "pages/Advanced-Labs/Advaced-Labs.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,observability,security,automation,ai",
      "component_id": "6402d93b5149492e802a3a53",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".mdx",
      "extraction_status": "shared-process-candidate",
      "file_hash": "5827656d6b9aeb92",
      "framework": "next-react",
      "imports": "",
      "lines": 138,
      "logic_relevance": "none",
      "name": "CapturingTraffic_JA4H",
      "normalized_name": "capturing-traffic-ja4-h",
      "package_manager": "unknown",
      "path": "pages/Advanced-Labs/CapturingTraffic_JA4H.mdx",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "ee698925aee5fd410f0a18e5",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2ea27be8ccbbc5b9",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "config.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "process,observability,security",
      "component_id": "592dcb2bfda590d14919f786",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for discovery; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Module | process-score:145 | observability-score:55 | security-score:55",
      "exports": "Module",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0aafba8081febd95",
      "framework": "unknown",
      "imports": "",
      "lines": 135,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "5de61e48fd576e557c45ddbf",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "catalog-only",
      "file_hash": "d8572830d0a3cd2a",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "blah",
      "normalized_name": "blah",
      "package_manager": "unknown",
      "path": "blah.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "eec1d13febad89cfd206d3aa",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8e29e92b4f41182",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "run",
      "normalized_name": "run",
      "package_manager": "unknown",
      "path": "run.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "5396685ce7acc079d20bb071",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2c380c1bf0c32bfb",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "unknown",
      "path": ".jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "aae30bd04a93c53bb8ec0b11",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f19eb2ed1426ce93",
      "framework": "unknown",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "prod",
      "normalized_name": "prod",
      "package_manager": "unknown",
      "path": "dummy-server/prod.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "92368fb2024ccd0e02d2ca50",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "61331fc6fe3e8643",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "dev",
      "normalized_name": "dev",
      "package_manager": "unknown",
      "path": "dummy-server/dev.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0fe5a827104a1deeb5c81190",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ae4fb26bbc98d85d",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "dummy-server/package.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "e33a930b8c50048b461c0299",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c69408773617a913",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "tsconfig",
      "normalized_name": "tsconfig",
      "package_manager": "unknown",
      "path": "dummy-server/tsconfig.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "3201facf9ec633f1d7d6d535",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@glideapps/ts-necessities,readline",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@glideapps/ts-necessities, readline | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "21381fd6222ae52d",
      "framework": "unknown",
      "imports": "@glideapps/ts-necessities,readline",
      "lines": 103,
      "logic_relevance": "none",
      "name": "dummy-data",
      "normalized_name": "dummy-data",
      "package_manager": "unknown",
      "path": "dummy-server/src/dummy-data.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "41f749d60f42d7aa1e4309f0",
      "component_kind": "backend-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "cf5dbf5e9c44b073",
      "framework": "unknown",
      "imports": "",
      "lines": 5,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "dummy-server/src/config.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "7898336b14a393b03729fbf9",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "@glideapps/ts-necessities,readline",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:initKeyboardInput, makeDummyData | imports:@glideapps/ts-necessities, readline | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "initKeyboardInput,makeDummyData",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d60dc5e0f14db59b",
      "framework": "unknown",
      "imports": "@glideapps/ts-necessities,readline",
      "lines": 124,
      "logic_relevance": "none",
      "name": "dummy-data",
      "normalized_name": "dummy-data",
      "package_manager": "unknown",
      "path": "dummy-server/src/dummy-data.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security",
      "component_id": "f322f454140b420b1aec451c",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "@glideapps/ts-necessities,express,fs",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:./dummy-data, @glideapps/ts-necessities, express, fs | backend-score:90 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "89d032ab02e27684",
      "framework": "unknown",
      "imports": "./dummy-data,@glideapps/ts-necessities,express,fs",
      "lines": 71,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "dummy-server/src/index.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9ea975da8de19b18f1043ccf",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "2ea27be8ccbbc5b9",
      "framework": "unknown",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "unknown",
      "path": "actions_runner/config.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "game",
      "categories": "automation",
      "component_id": "18d7a259a4a50d1f34500da4",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for game; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "31bab4500a7d0beb",
      "framework": "unknown",
      "imports": "",
      "lines": 53,
      "logic_relevance": "none",
      "name": "run-helper",
      "normalized_name": "run-helper",
      "package_manager": "unknown",
      "path": "actions_runner/run-helper.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "6f3ec9f30027b4459eae3430",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".cmd",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8e29e92b4f41182",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "run",
      "normalized_name": "run",
      "package_manager": "unknown",
      "path": "actions_runner/run.cmd",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "4e645c6814c51b5e14339067",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "child_process",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:child_process | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "31086c82ea6ed84d",
      "framework": "unknown",
      "imports": "child_process",
      "lines": 13,
      "logic_relevance": "none",
      "name": "macos-run-invoker",
      "normalized_name": "macos-run-invoker",
      "package_manager": "unknown",
      "path": "actions_runner/bin/macos-run-invoker.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "backend",
      "component_id": "0ffd2b26b8e407ca9fac3fbe",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for seo-and-metadata; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ba0dfc027d7d1cf8",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "Runner.Worker.runtimeconfig",
      "normalized_name": "runner-worker-runtimeconfig",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.Worker.runtimeconfig.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "78038388f062e7fb598344b2",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0220aa47709f0284",
      "framework": "unknown",
      "imports": "",
      "lines": 1976,
      "logic_relevance": "none",
      "name": "Runner.Plugins.deps",
      "normalized_name": "runner-plugins-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.Plugins.deps.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "672f0498f69cf29e65876656",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "dc5bbf26aec202c1",
      "framework": "unknown",
      "imports": "",
      "lines": 2961,
      "logic_relevance": "none",
      "name": "Runner.PluginHost.deps",
      "normalized_name": "runner-plugin-host-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.PluginHost.deps.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "1026949f6618abad110c9a07",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "6548b26ad6ba80b7",
      "framework": "unknown",
      "imports": "",
      "lines": 233,
      "logic_relevance": "none",
      "name": "installdependencies",
      "normalized_name": "installdependencies",
      "package_manager": "unknown",
      "path": "actions_runner/bin/installdependencies.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "9ab44b6bf2b8ba587330dc6a",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2497c78ae2ce1cac",
      "framework": "unknown",
      "imports": "",
      "lines": 1981,
      "logic_relevance": "none",
      "name": "Runner.Common.deps",
      "normalized_name": "runner-common-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.Common.deps.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "eb292ce5a3e660db529b0532",
      "component_kind": "script",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "f1764753e9b1eaab",
      "framework": "unknown",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "runsvc",
      "normalized_name": "runsvc",
      "package_manager": "unknown",
      "path": "actions_runner/bin/runsvc.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "ee5d64b84ab2596cc2f6fbd4",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3dceee04832ff055",
      "framework": "unknown",
      "imports": "",
      "lines": 1926,
      "logic_relevance": "none",
      "name": "Sdk.deps",
      "normalized_name": "sdk-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Sdk.deps.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "91378537fcf37edb08ec3108",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "8706e00ed6824502",
      "framework": "unknown",
      "imports": "",
      "lines": 3003,
      "logic_relevance": "none",
      "name": "Runner.Listener.deps",
      "normalized_name": "runner-listener-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.Listener.deps.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,observability,security,ai",
      "component_id": "3bd4a9d98f148b71313db5e3",
      "component_kind": "backend-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55 | observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "aa1733659e304ac8",
      "framework": "unknown",
      "imports": "",
      "lines": 2988,
      "logic_relevance": "none",
      "name": "Runner.Worker.deps",
      "normalized_name": "runner-worker-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.Worker.deps.json",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "02464941e41fc0e27cf05307",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "761dbe876538c43b",
      "framework": "unknown",
      "imports": "",
      "lines": 1962,
      "logic_relevance": "none",
      "name": "Runner.Sdk.deps",
      "normalized_name": "runner-sdk-deps",
      "package_manager": "unknown",
      "path": "actions_runner/bin/Runner.Sdk.deps.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "2c8ceb7d1cef7b777be807c1",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "fs,http,https",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:fs, http, https | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "769dd6508501ab47",
      "framework": "unknown",
      "imports": "fs,http,https",
      "lines": 115,
      "logic_relevance": "none",
      "name": "downloadCert",
      "normalized_name": "download-cert",
      "package_manager": "unknown",
      "path": "actions_runner/bin/checkScripts/downloadCert.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "ab94258844c4179c10b6d737",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "http,https",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:http, https | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "1aa56bd89e207c39",
      "framework": "unknown",
      "imports": "http,https",
      "lines": 75,
      "logic_relevance": "none",
      "name": "makeWebRequest",
      "normalized_name": "make-web-request",
      "package_manager": "unknown",
      "path": "actions_runner/bin/checkScripts/makeWebRequest.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "security",
      "component_id": "e800c4a18ebc91741f386f33",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "assert,crypto,events,fs,http,https,net,os,path,stream,tls,util",
      "description": "Security component for analytics; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:BasicCredentialHandler, BearerCredentialHandler, CMD_STRING, Command, DNS, DefaultGlobber, ExponentialBackoffCeiling, ExponentialBackoffTimeSlice | imports:assert, crypto, events, fs, http, https, net, os | security-score:55 | uses-env",
      "exports": "BasicCredentialHandler,BearerCredentialHandler,CMD_STRING,Command,DNS,DefaultGlobber,ExponentialBackoffCeiling,ExponentialBackoffTimeSlice,HttpClient,HttpClientError,HttpClientResponse,HttpRedirectCodes,HttpResponseRetryCodes,IS_WINDOWS,Minimatch,OidcClient,Path,Pattern,PersonalAccessTokenCredentialHandler,RetryableHttpVerbs,SearchState,Summary,TunnelingAgent,URL",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3b85e7f532b8ab05",
      "framework": "unknown",
      "imports": "assert,crypto,events,fs,http,https,net,os,path,stream,tls,util",
      "lines": 5063,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "actions_runner/bin/hashFiles/index.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 15
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation,backend",
      "component_id": "e1f309d9cc08c4d06c6189fd",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | backend-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a51493a8be89f1f6",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "start-server",
      "normalized_name": "start-server",
      "package_manager": "unknown",
      "path": "client/start-server.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "5efd87dc08cb7d7a46157e44",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bb79f688fbb93d5f",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "index-fix",
      "normalized_name": "index-fix",
      "package_manager": "unknown",
      "path": "client/index-fix.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "029f852fc3a3b6e85fc29d6b",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "fcab0bf44ff1c808",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dev-fix",
      "normalized_name": "dev-fix",
      "package_manager": "unknown",
      "path": "client/dev-fix.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "c33169039bee01b973e41733",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "894547ea2535323e",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "prod",
      "normalized_name": "prod",
      "package_manager": "unknown",
      "path": "client/prod.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "999d38b904f4c78648420ec4",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "3774f8d7ab4aedd6",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "dev",
      "normalized_name": "dev",
      "package_manager": "unknown",
      "path": "client/dev.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "297081c8281263f1d75e1b8b",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "830e1a3c034d8cdc",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "client/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "741674313996fc8caf07adb8",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a204bd84d7a47caa",
      "framework": "react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "client/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "44fdf4d0e477bb9caf088dc7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45 | cron-or-schedule",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "ee5021b4ec01ecf4",
      "framework": "unknown",
      "imports": "",
      "lines": 279,
      "logic_relevance": "none",
      "name": "config (2)",
      "normalized_name": "config-2",
      "package_manager": "unknown",
      "path": "client/public/config (2).json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "03ad1579f7aff3ce6368c8f0",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "bdf3da75acb4c437",
      "framework": "unknown",
      "imports": "",
      "lines": 25,
      "logic_relevance": "none",
      "name": "manifest",
      "normalized_name": "manifest",
      "package_manager": "unknown",
      "path": "client/public/manifest.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "442afe5eb5dbffae7c8cf485",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "90d24bc3bf698ac1",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "client/public/robots.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "11250ef2d8a67b4e073cf365",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "react,react-dom",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "imports:./app, react, react-dom | frontend-score:90 | ui-score:70",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fea86e92a6d522c1",
      "framework": "react",
      "imports": "./app,react,react-dom",
      "lines": 11,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "client/src/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "55cbc6c0724160a3e7ad5f9e",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "lodash,react,styled-components,tone",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:App, GlobalStyle | imports:./app-styles, ./components/modules/module-renderer, ./config, ./modules/types, ./sounds, ./stats, lodash, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "App,GlobalStyle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "fe4af520a009bdc8",
      "framework": "react",
      "imports": "./app-styles,./components/modules/module-renderer,./config,./modules/types,./sounds,./stats,lodash,react,styled-components,tone",
      "lines": 213,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "unknown",
      "path": "client/src/app.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "c99c60782a2177c15f6b9775",
      "component_kind": "utility",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./utils | logic-score:60",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "141d1d1d0319245e",
      "framework": "unknown",
      "imports": "./utils",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "utils.test",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "client/src/utils.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "97208897293f379014809629",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "styled-components",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AppContainer | imports:styled-components | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "AppContainer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "f72cd4d26f783f27",
      "framework": "react",
      "imports": "styled-components",
      "lines": 114,
      "logic_relevance": "none",
      "name": "app-styles",
      "normalized_name": "app-styles",
      "package_manager": "unknown",
      "path": "client/src/app-styles.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "7723403966a6bce8c761adad",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@glideapps/ts-necessities",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Queue, StatSnapshot, Stats, getFailureStats | imports:@glideapps/ts-necessities | observability-score:55 | security-score:55",
      "exports": "Queue,StatSnapshot,Stats,getFailureStats",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "30f571e28a441fd2",
      "framework": "unknown",
      "imports": "@glideapps/ts-necessities",
      "lines": 172,
      "logic_relevance": "none",
      "name": "stats",
      "normalized_name": "stats",
      "package_manager": "unknown",
      "path": "client/src/stats.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "logic",
      "component_id": "4210ad475e5e03e231cc999f",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "@glideapps/ts-necessities,lodash",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:clamp, randomItem, randomItems, roundToNearestMultiple, roundUpToMultiple, scale | imports:@glideapps/ts-necessities, lodash | logic-score:85",
      "exports": "clamp,randomItem,randomItems,roundToNearestMultiple,roundUpToMultiple,scale",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "c738121737cfb9c8",
      "framework": "unknown",
      "imports": "@glideapps/ts-necessities,lodash",
      "lines": 45,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "client/src/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "b08c2e2afd525bc9fdc4183e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "071d48a664426695",
      "framework": "css",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "client/src/index.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8e2ae3171d11c1691bbbd84b",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "tone",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:SoundScene | imports:./config, ./modules/arpeggiator, ./modules/chord-sampler, ./modules/chord-synth, ./modules/error-glitch, ./modules/event-melody, ./modules/event-one-shot, ./modules/looper | observability-score:55 | automation-score:45",
      "exports": "SoundScene",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2b870326df759c12",
      "framework": "unknown",
      "imports": "./config,./modules/arpeggiator,./modules/chord-sampler,./modules/chord-synth,./modules/error-glitch,./modules/event-melody,./modules/event-one-shot,./modules/looper,./modules/types,./stats,./utils,tone",
      "lines": 124,
      "logic_relevance": "none",
      "name": "sounds",
      "normalized_name": "sounds",
      "package_manager": "unknown",
      "path": "client/src/sounds.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6b6fc73d093f042c8b260461",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModuleRenderer | imports:../../modules/types, ./meter, ./module-renderer-styles, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "ModuleRenderer",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "5c0ce304ac27cc97",
      "framework": "react",
      "imports": "../../modules/types,./meter,./module-renderer-styles,react",
      "lines": 35,
      "logic_relevance": "none",
      "name": "module-renderer",
      "normalized_name": "module-renderer",
      "package_manager": "unknown",
      "path": "client/src/components/modules/module-renderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "67537ed2b32fa4312f17d3ee",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react,tone",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Meter | imports:./meter-renderer, react, tone | frontend-score:115 | ui-score:70",
      "exports": "Meter",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9e3742d9967f55b2",
      "framework": "react",
      "imports": "./meter-renderer,react,tone",
      "lines": 29,
      "logic_relevance": "none",
      "name": "meter",
      "normalized_name": "meter",
      "package_manager": "unknown",
      "path": "client/src/components/modules/meter.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "6ba0d09c72307472cdf74bda",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "styled-components",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModuleRendererContainer | imports:styled-components | frontend-score:85 | ui-score:55",
      "exports": "ModuleRendererContainer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "897890197d8ae461",
      "framework": "react",
      "imports": "styled-components",
      "lines": 23,
      "logic_relevance": "none",
      "name": "module-renderer-styles",
      "normalized_name": "module-renderer-styles",
      "package_manager": "unknown",
      "path": "client/src/components/modules/module-renderer-styles.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "fa04aea6d8a9d0b2382697a1",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "lodash,tone",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ErrorGlitchModule | imports:../config, ../stats, ../utils, ./types, lodash, tone | observability-score:55 | automation-score:45",
      "exports": "ErrorGlitchModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "197fd0aa9af982eb",
      "framework": "unknown",
      "imports": "../config,../stats,../utils,./types,lodash,tone",
      "lines": 230,
      "logic_relevance": "none",
      "name": "error-glitch",
      "normalized_name": "error-glitch",
      "package_manager": "unknown",
      "path": "client/src/modules/error-glitch.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "c89809b6c6f8d4322dfe5bc2",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@tonaljs/tonal,lodash,tone",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EventMelodyModule | imports:../config, ../stats, ./melody, ./types, @tonaljs/tonal, lodash, tone | observability-score:55",
      "exports": "EventMelodyModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "b00d82bc6aaeb851",
      "framework": "unknown",
      "imports": "../config,../stats,./melody,./types,@tonaljs/tonal,lodash,tone",
      "lines": 147,
      "logic_relevance": "none",
      "name": "event-melody",
      "normalized_name": "event-melody",
      "package_manager": "unknown",
      "path": "client/src/modules/event-melody.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,automation",
      "component_id": "8970d3383d920b086b0975c9",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "@glideapps/ts-necessities,lodash,tone",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:EventOneShotModule | imports:../config, ../stats, ../utils, ./base-module, ./types, @glideapps/ts-necessities, lodash, tone | observability-score:55 | automation-score:45",
      "exports": "EventOneShotModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6e90f9ed04ebd117",
      "framework": "unknown",
      "imports": "../config,../stats,../utils,./base-module,./types,@glideapps/ts-necessities,lodash,tone",
      "lines": 68,
      "logic_relevance": "none",
      "name": "event-one-shot",
      "normalized_name": "event-one-shot",
      "package_manager": "unknown",
      "path": "client/src/modules/event-one-shot.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "media",
      "categories": "automation",
      "component_id": "faa43602546ceecee9b129cd",
      "component_kind": "automation-config",
      "confidence": 80,
      "dependency_roots": "tone",
      "description": "Automation component for media; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "exports:ChordSampleBackgroundModule | imports:../config, ../stats, ../utils, ./base-module, ./types, tone | automation-score:45",
      "exports": "ChordSampleBackgroundModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "df1ea614f257f959",
      "framework": "unknown",
      "imports": "../config,../stats,../utils,./base-module,./types,tone",
      "lines": 42,
      "logic_relevance": "none",
      "name": "chord-sampler",
      "normalized_name": "chord-sampler",
      "package_manager": "unknown",
      "path": "client/src/modules/chord-sampler.ts",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "145202f7c1df1312fd9240d3",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "lodash,tone",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:LooperModule | imports:../config, ../stats, ../utils, ./types, lodash, tone | observability-score:55",
      "exports": "LooperModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "96d84613be597798",
      "framework": "unknown",
      "imports": "../config,../stats,../utils,./types,lodash,tone",
      "lines": 73,
      "logic_relevance": "none",
      "name": "looper",
      "normalized_name": "looper",
      "package_manager": "unknown",
      "path": "client/src/modules/looper.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "0a929e9cca60431ff1f6e0f1",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "tone",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Logger, Module, PlaySettings | imports:../stats, tone | observability-score:55",
      "exports": "Logger,Module,PlaySettings",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "8bf761ef4d96c6ee",
      "framework": "unknown",
      "imports": "../stats,tone",
      "lines": 69,
      "logic_relevance": "none",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "unknown",
      "path": "client/src/modules/types.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__ph3ar_radio_backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "0a4b6c069ff734a2e0e23f7a",
      "component_kind": "middleware",
      "confidence": 85,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config, middleware | imports:@/lib/auth | backend-score:55 | security-score:55",
      "exports": "config,middleware",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c2984bb0dd0a05b6",
      "framework": "next-react",
      "imports": "@/lib/auth",
      "lines": 6,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "unknown",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "055721c34cb0bf607709c314",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "e4f76a7a19ef2989",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "LICENSE",
      "normalized_name": "license",
      "package_manager": "unknown",
      "path": "LICENSE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "security",
      "categories": "security,automation",
      "component_id": "2156b8d596cb3cf121afbb7d",
      "component_kind": "security-module",
      "confidence": 75,
      "dependency_roots": "next",
      "description": "Security component for security; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "415a0e589c2336b2",
      "framework": "next-react",
      "imports": "next",
      "lines": 53,
      "logic_relevance": "none",
      "name": "next.config",
      "normalized_name": "next-config",
      "package_manager": "unknown",
      "path": "next.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "17d5497843f5bd3584bdde51",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "47b83f7d5ff2f1f0",
      "framework": "next-react",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "security",
      "component_id": "c2a50a7867db07d0a9adcf74",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for commerce; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "030823d5ae24eabe",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate",
      "lines": 78,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "unknown",
      "path": "tailwind.config.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "ai",
      "categories": "process,security,automation",
      "component_id": "70dcae1bb37118a6a14283b1",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "be40964e1254acba",
      "framework": "next-react",
      "imports": "",
      "lines": 29,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "unknown",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "1e9aa99a4b5708b092ff1206",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "961a2a2ffe0bbd0a",
      "framework": "next-react",
      "imports": "",
      "lines": 55,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "7c21f872bc3334e49db60a7e",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "d2c8bfe6b4d0f3b9",
      "framework": "next-react",
      "imports": "next",
      "lines": 12,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,observability,discovery",
      "component_id": "d52163efbb8f41e66b8aff02",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | observability-score:55 | discovery-score:55",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "be94c92ad4c825ba",
      "framework": "next-react",
      "imports": "next",
      "lines": 19,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "unknown",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security,automation",
      "component_id": "e4a865878f41350f2c289d11",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@vercel/analytics",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:@vercel/analytics/react | frontend-score:85 | ui-score:55 | security-score:55 | automation-score:45",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "aaf44d5516d0df56",
      "framework": "next-react",
      "imports": "@vercel/analytics/react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "15b52b4fc5f058f71e635f00",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "1fbd29803ffa829c",
      "framework": "next-react",
      "imports": "",
      "lines": 92,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "1f57e1f19b66afff3f8fb017",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../sitemap, vitest | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6a269d2f9d722e24",
      "framework": "next-react",
      "imports": "../sitemap,vitest",
      "lines": 11,
      "logic_relevance": "none",
      "name": "sitemap.test",
      "normalized_name": "sitemap",
      "package_manager": "unknown",
      "path": "app/__tests__/sitemap.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,discovery",
      "component_id": "156e5b9280cc60f4d5ae810c",
      "component_kind": "observability-module",
      "confidence": 85,
      "dependency_roots": "vitest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:../robots, vitest | observability-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "6b403e2cdfdf5c04",
      "framework": "next-react",
      "imports": "../robots,vitest",
      "lines": 19,
      "logic_relevance": "none",
      "name": "robots.test",
      "normalized_name": "robots",
      "package_manager": "unknown",
      "path": "app/__tests__/robots.test.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security,automation",
      "component_id": "5289147361bd890299956aca",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:dynamic | imports:@/lib/auth, @/lib/db | backend-score:125 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler",
      "exports": "dynamic",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "0480613d86628ddb",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db",
      "lines": 123,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/seed/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,security",
      "component_id": "a6044c2e225b803af9cc7802",
      "component_kind": "api-route",
      "confidence": 80,
      "dependency_roots": "@/lib",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:@/lib/auth | backend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "39b5c5ac91cf61e4",
      "framework": "next-react",
      "imports": "@/lib/auth",
      "lines": 2,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/auth/[...nextauth]/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,security",
      "component_id": "e81736e11f9139cb375a4e18",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/lib/auth, next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5e8f2bcf6f9b0856",
      "framework": "next-react",
      "imports": "@/lib/auth,next/server",
      "lines": 18,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "unknown",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "809cd3d6cc2e09f01585438b",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Product | imports:./actions, @/components/ui/badge, @/components/ui/button, @/components/ui/dropdown-menu, @/components/ui/table, @/lib/db, lucide-react, next/image | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "Product",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "748354564f13acb3",
      "framework": "next-react",
      "imports": "./actions,@/components/ui/badge,@/components/ui/button,@/components/ui/dropdown-menu,@/components/ui/table,@/lib/db,lucide-react,next/image",
      "lines": 71,
      "logic_relevance": "none",
      "name": "product",
      "normalized_name": "product",
      "package_manager": "unknown",
      "path": "app/(dashboard)/product.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c03432c1a059af6da0d2eb93",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:User | imports:@/components/ui/button, @/components/ui/dropdown-menu, @/lib/auth, next/image, next/link | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "User",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b7e2b336b10a92a4",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/dropdown-menu,@/lib/auth,next/image,next/link",
      "lines": 61,
      "logic_relevance": "none",
      "name": "user",
      "normalized_name": "user",
      "package_manager": "unknown",
      "path": "app/(dashboard)/user.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "18cc7367909eb0ad6e92de01",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:SearchInput | imports:@/components/icons, @/components/ui/input, lucide-react, next/navigation, react | frontend-score:115 | ui-score:70",
      "exports": "SearchInput",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6fe25eea29c3a5db",
      "framework": "next-react",
      "imports": "@/components/icons,@/components/ui/input,lucide-react,next/navigation,react",
      "lines": 59,
      "logic_relevance": "none",
      "name": "search",
      "normalized_name": "search",
      "package_manager": "unknown",
      "path": "app/(dashboard)/search.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "26a8f333a0c6895eb3e61fb7",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,next,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductsTable | imports:./product, @/components/icons, @/components/ui/button, @/components/ui/card, @/components/ui/table, @/lib/db, lucide-react, next/navigation | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ProductsTable",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "1e01524843e69631",
      "framework": "next-react",
      "imports": "./product,@/components/icons,@/components/ui/button,@/components/ui/card,@/components/ui/table,@/lib/db,lucide-react,next/navigation,react",
      "lines": 185,
      "logic_relevance": "none",
      "name": "products-table",
      "normalized_name": "products-table",
      "package_manager": "unknown",
      "path": "app/(dashboard)/products-table.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,security",
      "component_id": "271d397d056af14fa632ef21",
      "component_kind": "frontend-feature",
      "confidence": 85,
      "dependency_roots": "@/lib,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "imports:@/lib/auth, @/lib/db, next/cache | frontend-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d5c0b819d4a63d3e",
      "framework": "next-react",
      "imports": "@/lib/auth,@/lib/db,next/cache",
      "lines": 25,
      "logic_relevance": "none",
      "name": "actions",
      "normalized_name": "actions",
      "package_manager": "unknown",
      "path": "app/(dashboard)/actions.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "314b8ffb04bed2b31785fb65",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DashboardLayout | imports:./nav-item, ./providers, ./search, ./user, @/components/icons, @/components/ui/breadcrumb, @/components/ui/button, @/components/ui/sheet | frontend-score:115 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "DashboardLayout",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6dd50618aa0969c2",
      "framework": "next-react",
      "imports": "./nav-item,./providers,./search,./user,@/components/icons,@/components/ui/breadcrumb,@/components/ui/button,@/components/ui/sheet,@/components/ui/tooltip,lucide-react,next/link",
      "lines": 190,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "unknown",
      "path": "app/(dashboard)/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "035665936106cb930fcc0234",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Error | imports:@/components/ui/button, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "Error",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "5b1686e04635ec80",
      "framework": "next-react",
      "imports": "@/components/ui/button,react",
      "lines": 33,
      "logic_relevance": "none",
      "name": "error",
      "normalized_name": "error",
      "package_manager": "unknown",
      "path": "app/(dashboard)/error.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "9b185ceeac1990515fdfa64a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,clsx,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:NavItem | imports:@/components/ui/tooltip, clsx, next/link, next/navigation | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "NavItem",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "86f99b7a3bcaa7de",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip,clsx,next/link,next/navigation",
      "lines": 42,
      "logic_relevance": "none",
      "name": "nav-item",
      "normalized_name": "nav-item",
      "package_manager": "unknown",
      "path": "app/(dashboard)/nav-item.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e62534360412cc2e25909a03",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ProductsPage | imports:./products-table, @/components/ui/button, @/components/ui/tabs, @/lib/db, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55",
      "exports": "ProductsPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "a332f5feeeb886ff",
      "framework": "next-react",
      "imports": "./products-table,@/components/ui/button,@/components/ui/tabs,@/lib/db,lucide-react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/(dashboard)/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "b3da7a8843e7e484af21322f",
      "component_kind": "ui-provider",
      "confidence": 95,
      "dependency_roots": "@/components",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Providers | imports:@/components/ui/tooltip | frontend-score:85 | ui-score:55",
      "exports": "Providers",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "4c389c1f49074b5c",
      "framework": "next-react",
      "imports": "@/components/ui/tooltip",
      "lines": 7,
      "logic_relevance": "none",
      "name": "providers",
      "normalized_name": "providers",
      "package_manager": "unknown",
      "path": "app/(dashboard)/providers.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "bf2117e26dfba42fb2768b9a",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomersPage | imports:@/components/ui/button, @/components/ui/card, lucide-react | frontend-score:115 | ui-score:55",
      "exports": "CustomersPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "23c85d5ef4a8d227",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,lucide-react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/(dashboard)/customers/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9c39ee3648c3807399a8cec7",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LoginPage | imports:@/components/ui/button, @/components/ui/card, @/lib/auth | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "LoginPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9abb4dcab475d7db",
      "framework": "next-react",
      "imports": "@/components/ui/button,@/components/ui/card,@/lib/auth",
      "lines": 37,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "unknown",
      "path": "app/login/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,automation",
      "component_id": "4e6d03b6e74b71f055ca720a",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Logo, SearchIcon, SettingsIcon, Spinner, UsersIcon, VercelLogo | frontend-score:85 | ui-score:55 | observability-score:55 | automation-score:45",
      "exports": "Logo,SearchIcon,SettingsIcon,Spinner,UsersIcon,VercelLogo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "3e54874f950ee188",
      "framework": "next-react",
      "imports": "",
      "lines": 126,
      "logic_relevance": "none",
      "name": "icons",
      "normalized_name": "icons",
      "package_manager": "unknown",
      "path": "components/icons.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "97d2415886347d11736a9963",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tabs,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tabs, TabsContent, TabsList, TabsTrigger | imports:@/lib/utils, @radix-ui/react-tabs, react | ui-score:140 | frontend-score:115",
      "exports": "Tabs,TabsContent,TabsList,TabsTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0a16955983c96c27",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tabs,react",
      "lines": 55,
      "logic_relevance": "none",
      "name": "tabs",
      "normalized_name": "tabs",
      "package_manager": "unknown",
      "path": "components/ui/tabs.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "fd54d5bab1ee0aca5ea8f209",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "8bad317eca5b7489",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "card",
      "normalized_name": "card",
      "package_manager": "unknown",
      "path": "components/ui/card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "90c45271a268f27dcd3ed8ac",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal | imports:@/lib/utils, @radix-ui/react-dialog, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Sheet,SheetClose,SheetContent,SheetDescription,SheetFooter,SheetHeader,SheetOverlay,SheetPortal,SheetTitle,SheetTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9051eb9d885a18c0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dialog,class-variance-authority,lucide-react,react",
      "lines": 140,
      "logic_relevance": "none",
      "name": "sheet",
      "normalized_name": "sheet",
      "package_manager": "unknown",
      "path": "components/ui/sheet.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "96ebcd9445b781605e599e30",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-tooltip,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:@/lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e4c39a17833122e0",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-tooltip,react",
      "lines": 30,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "b22bffc0a103e31e5e522716",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator | imports:@/lib/utils, @radix-ui/react-slot, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "Breadcrumb,BreadcrumbEllipsis,BreadcrumbItem,BreadcrumbLink,BreadcrumbList,BreadcrumbPage,BreadcrumbSeparator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "abb80a6662087bdb",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,lucide-react,react",
      "lines": 115,
      "logic_relevance": "none",
      "name": "breadcrumb",
      "normalized_name": "breadcrumb",
      "package_manager": "unknown",
      "path": "components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "37a36f72e46ce054b72fd641",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Badge, BadgeProps, badgeVariants | imports:@/lib/utils, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Badge,BadgeProps,badgeVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "db977d821af56ae3",
      "framework": "next-react",
      "imports": "@/lib/utils,class-variance-authority,react",
      "lines": 36,
      "logic_relevance": "none",
      "name": "badge",
      "normalized_name": "badge",
      "package_manager": "unknown",
      "path": "components/ui/badge.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "e26a3e88e47f1a6332b6908b",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Table,TableBody,TableCaption,TableCell,TableFooter,TableHead,TableHeader,TableRow",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1da243956282c040",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "table",
      "normalized_name": "table",
      "package_manager": "unknown",
      "path": "components/ui/table.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "b9edd1f24ef468bd3dd46e51",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, ButtonProps, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,ButtonProps,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1b50d4f5f404544a",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "unknown",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "a9392313491a1bb1ccdb0370",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-dropdown-menu,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup | imports:@/lib/utils, @radix-ui/react-dropdown-menu, lucide-react, react | ui-score:140 | frontend-score:115 | observability-score:55",
      "exports": "DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3820b8586480cbfd",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-dropdown-menu,lucide-react,react",
      "lines": 200,
      "logic_relevance": "none",
      "name": "dropdown-menu",
      "normalized_name": "dropdown-menu",
      "package_manager": "unknown",
      "path": "components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "ab12b80e2677cf8f26fd7e89",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input, InputProps | imports:@/lib/utils, react | ui-score:140 | frontend-score:115",
      "exports": "Input,InputProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "12dfcb1bdcc2779a",
      "framework": "next-react",
      "imports": "@/lib/utils,react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "input",
      "normalized_name": "input",
      "package_manager": "unknown",
      "path": "components/ui/input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,discovery,automation",
      "component_id": "2601b8db770986165137d43c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2afcd28fe2bdceeb",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "unknown",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,security,discovery",
      "component_id": "3c8e612e43f1dc25459e28ec",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "08b9b9b5f89bb1d8",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "unknown",
      "path": "public/llms-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ai,observability,security",
      "component_id": "d014dd48738fb3c2950d8ce8",
      "component_kind": "ai-integration",
      "confidence": 65,
      "dependency_roots": "",
      "description": "AI component for observability; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:120 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "fd48d150d853f0dc",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "ai-plugin",
      "normalized_name": "ai-plugin",
      "package_manager": "unknown",
      "path": "public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "b303dc06ea4fc1fd08865cee",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "bf86ebdc6c05c9f0",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "unknown",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "process",
      "component_id": "49b318b39f482b5ee8a489a4",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for commerce; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "389a338b1a22c7b9",
      "framework": "next-react",
      "imports": "",
      "lines": 6,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "unknown",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "7a79033e6907871a3036de60",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:db | process-score:100 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "db",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "479d896126318505",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "unknown",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "1df599cab25b1aa948720e28",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "51bbf14cd1f84f49",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,logic,observability,security",
      "component_id": "33e5d99abf480b5fa6635f0e",
      "component_kind": "backend-module",
      "confidence": 100,
      "dependency_roots": "@neondatabase/serverless,drizzle-orm,drizzle-zod,next",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:SelectProduct, db, insertProductSchema, products, statusEnum | imports:@neondatabase/serverless, drizzle-orm, drizzle-orm/neon-http, drizzle-orm/pg-core, drizzle-zod, next/cache | backend-score:90 | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "SelectProduct,db,insertProductSchema,products,statusEnum",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0f9d5dee1a19c240",
      "framework": "next-react",
      "imports": "@neondatabase/serverless,drizzle-orm,drizzle-orm/neon-http,drizzle-orm/pg-core,drizzle-zod,next/cache",
      "lines": 99,
      "logic_relevance": "secondary",
      "name": "db",
      "normalized_name": "db",
      "package_manager": "unknown",
      "path": "lib/db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security,logic",
      "component_id": "c2520162f1704caa7229bf56",
      "component_kind": "auth",
      "confidence": 80,
      "dependency_roots": "next-auth",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:next-auth, next-auth/providers/github | security-score:55 | logic-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3d4094f5befcbb9d",
      "framework": "next-react",
      "imports": "next-auth,next-auth/providers/github",
      "lines": 6,
      "logic_relevance": "secondary",
      "name": "auth",
      "normalized_name": "auth",
      "package_manager": "unknown",
      "path": "lib/auth.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "ai",
      "component_id": "698d9cc55af3a73e6c148acf",
      "component_kind": "ai-integration",
      "confidence": 50,
      "dependency_roots": "",
      "description": "AI component for ai; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "ai-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "784e025ab0e7552f",
      "framework": "next-react",
      "imports": "",
      "lines": 8,
      "logic_relevance": "none",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "unknown",
      "path": ".vscode/settings.json",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "ph3ar__platphorm-admin-dashboard",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "787bff1943d82171e34b9a5e",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "637fa511df4cc2e8",
      "framework": "next-react",
      "imports": "",
      "lines": 4153,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation",
      "component_id": "50c6c7ea401d1fc78ba239b4",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "946c6a7e12e9f217",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,backend,observability,security,automation",
      "component_id": "453f99de5fa86edb84b5582c",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "next",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:playNewSound | imports:next/server | process-score:100 | backend-score:70 | observability-score:55 | security-score:55 | automation-score:45 | next-route-handler | cron-or-schedule",
      "exports": "playNewSound",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0652e4e299c3e58e",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 161,
      "logic_relevance": "none",
      "name": "EDITING",
      "normalized_name": "editing",
      "package_manager": "pnpm",
      "path": "EDITING.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "c7fe3633141cacb52b29f8dd",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "9985afbc90b779b9",
      "framework": "next-react",
      "imports": "",
      "lines": 69,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d8f8bd6b238b07214a4e9dd5",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "f5c91c4f4aa46fc1",
      "framework": "next-react",
      "imports": "",
      "lines": 76,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui",
      "component_id": "f1e568617861a949ee39a45f",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootLayout, metadata | imports:next, next/font/google, react | frontend-score:115 | ui-score:70",
      "exports": "RootLayout,metadata",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "b85f7a2f7f3330b1",
      "framework": "next-react",
      "imports": "next,next/font/google,react",
      "lines": 46,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "c597b5f87d5ce765aa185fca",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,lucide-react,react,tone",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:PH3ARRadio | imports:@/components/api-docs, @/components/audio-visualizer, @/components/event-feed, @/components/module-toggle, @/components/ui/button, @/components/ui/slider, @/lib/sound-modules, @/lib/types | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "PH3ARRadio",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "53a1be52d4222640",
      "framework": "next-react",
      "imports": "@/components/api-docs,@/components/audio-visualizer,@/components/event-feed,@/components/module-toggle,@/components/ui/button,@/components/ui/slider,@/lib/sound-modules,@/lib/types,lucide-react,react,tone",
      "lines": 301,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "448816e847cc80205a9d7618",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "2523851db40e840f",
      "framework": "next-react",
      "imports": "",
      "lines": 153,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "app/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,frontend,observability,security",
      "component_id": "69b5f93f848d0ce0a465ec19",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/lib,next,zod",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:DELETE, EventPayloadSchema, EventSchema, GET, MAX_EVENTS, POST | imports:@/lib/types, next/server, zod | backend-score:160 | frontend-score:55 | observability-score:55 | security-score:55 | uses-env | next-route-handler",
      "exports": "DELETE,EventPayloadSchema,EventSchema,GET,MAX_EVENTS,POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "5a5f1e8e098166b4",
      "framework": "next-react",
      "imports": "@/lib/types,next/server,zod",
      "lines": 135,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/events/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend,observability,security",
      "component_id": "01ca27267b41634c7aa5bdb2",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/events/route, vitest | backend-score:55 | observability-score:55 | security-score:55 | uses-env",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "360472a1a061b70d",
      "framework": "next-react",
      "imports": "../app/api/events/route,vitest",
      "lines": 92,
      "logic_relevance": "none",
      "name": "api-events-delete.test",
      "normalized_name": "api-events-delete",
      "package_manager": "pnpm",
      "path": "tests/api-events-delete.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "7dab50067a5467e4c19a7c49",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/events/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c7f68bbdc6718a79",
      "framework": "next-react",
      "imports": "../app/api/events/route,vitest",
      "lines": 26,
      "logic_relevance": "none",
      "name": "api-events-post.test",
      "normalized_name": "api-events-post",
      "package_manager": "pnpm",
      "path": "tests/api-events-post.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "backend,observability",
      "component_id": "3c218e58a374841957bb2804",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "vitest",
      "description": "Backend component for analytics; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app/api/events/route, vitest | backend-score:55 | observability-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "58053c8536db51b2",
      "framework": "next-react",
      "imports": "../app/api/events/route,vitest",
      "lines": 14,
      "logic_relevance": "none",
      "name": "api-events.test",
      "normalized_name": "api-events",
      "package_manager": "pnpm",
      "path": "tests/api-events.test.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "85b20535bdae688dd43cd68e",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7f30dbe34b65246e",
      "framework": "next-react",
      "imports": "",
      "lines": 125,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "pnpm",
      "path": "styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "43aea60f8d3cd39761c1a0ce",
      "component_kind": "ui-provider",
      "confidence": 100,
      "dependency_roots": "next-themes,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:ThemeProvider | imports:next-themes, react | frontend-score:115 | ui-score:70",
      "exports": "ThemeProvider",
      "extension": ".tsx",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "7c1edcfa7a0614bf",
      "framework": "next-react",
      "imports": "next-themes,react",
      "lines": 11,
      "logic_relevance": "none",
      "name": "theme-provider",
      "normalized_name": "theme-provider",
      "package_manager": "pnpm",
      "path": "components/theme-provider.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "a540c09c282e665d23cde569",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,@/lib,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:ModuleToggle | imports:@/components/ui/switch, @/lib/sound-modules, react | frontend-score:115 | ui-score:70",
      "exports": "ModuleToggle",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "b6a431d562684713",
      "framework": "next-react",
      "imports": "@/components/ui/switch,@/lib/sound-modules,react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "module-toggle",
      "normalized_name": "module-toggle",
      "package_manager": "pnpm",
      "path": "components/module-toggle.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,discovery,ai",
      "component_id": "fd8aed3df8b8c7ca3ce860ed",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,lucide-react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:EventFeed | imports:@/lib/types, lucide-react | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "EventFeed",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "3d5a5ebca9a67fed",
      "framework": "next-react",
      "imports": "@/lib/types,lucide-react",
      "lines": 110,
      "logic_relevance": "none",
      "name": "event-feed",
      "normalized_name": "event-feed",
      "package_manager": "pnpm",
      "path": "components/event-feed.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,backend,integration,observability,discovery,process",
      "component_id": "c0e1b4fb8d1d0a50b6f4634a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/components,lucide-react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ApiDocs | imports:@/components/ui/button, lucide-react, react | frontend-score:115 | ui-score:70 | backend-score:55 | integration-score:55 | observability-score:55 | discovery-score:55 | process-score:45",
      "exports": "ApiDocs",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0b3f52c171fdcb33",
      "framework": "next-react",
      "imports": "@/components/ui/button,lucide-react,react",
      "lines": 231,
      "logic_relevance": "none",
      "name": "api-docs",
      "normalized_name": "api-docs",
      "package_manager": "pnpm",
      "path": "components/api-docs.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "f8f254f91886d35b759a5c16",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@/lib,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:AudioVisualizer | imports:@/lib/types, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "AudioVisualizer",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "d0fc16e58d92927e",
      "framework": "next-react",
      "imports": "@/lib/types,react",
      "lines": 179,
      "logic_relevance": "none",
      "name": "audio-visualizer",
      "normalized_name": "audio-visualizer",
      "package_manager": "pnpm",
      "path": "components/audio-visualizer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "205083bd412105727aae1b56",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:@/lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "0d000a7ec98386e5",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "pnpm",
      "path": "components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "cb5289af5250dcc0c6b74583",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-switch,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Switch | imports:@/lib/utils, @radix-ui/react-switch, react | ui-score:140 | frontend-score:115",
      "exports": "Switch",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d89650a8b947424",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-switch,react",
      "lines": 31,
      "logic_relevance": "none",
      "name": "switch",
      "normalized_name": "switch",
      "package_manager": "pnpm",
      "path": "components/ui/switch.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "974972f8b83fe47c3bbddc2f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/lib,@radix-ui/react-slot,class-variance-authority,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button, buttonVariants | imports:@/lib/utils, @radix-ui/react-slot, class-variance-authority, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Button,buttonVariants",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "7cb96ee534dedef7",
      "framework": "next-react",
      "imports": "@/lib/utils,@radix-ui/react-slot,class-variance-authority,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "process,security",
      "component_id": "6776553d42b881f1a22b1300",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "dbb8538478348fbe",
      "framework": "next-react",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "398cd804c1dad0860cde1c81",
      "component_kind": "utility",
      "confidence": 85,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e46429536f43f591",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "pnpm",
      "path": "lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "logic,observability,automation,ai",
      "component_id": "a7efd9cfe49648ac545bb285",
      "component_kind": "business-logic",
      "confidence": 100,
      "dependency_roots": "tone",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:AmbientPadModule, BassModule, LofiBeatModule, Module, RhodesModule, RobotEventModule, SystemHealth, VinylCrackleModule | imports:./types, tone | logic-score:85 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "AmbientPadModule,BassModule,LofiBeatModule,Module,RhodesModule,RobotEventModule,SystemHealth,VinylCrackleModule",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "364072f5e7c93e14",
      "framework": "next-react",
      "imports": "./types,tone",
      "lines": 825,
      "logic_relevance": "primary",
      "name": "sound-modules",
      "normalized_name": "sound-modules",
      "package_manager": "pnpm",
      "path": "lib/sound-modules.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "logic",
      "component_id": "464bd77a3c590d63f1de59dd",
      "component_kind": "business-logic",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for analytics; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:EventStore, RobotEvent | logic-score:70",
      "exports": "EventStore,RobotEvent",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "927faa2bfbf92a74",
      "framework": "next-react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "pnpm",
      "path": "lib/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__radio-backend",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "shipping",
      "categories": "automation",
      "component_id": "674d0cc7b359ff2919f19d2d",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for shipping; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "660c5bdb258fa6d7",
      "framework": "unknown",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "unknown",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__renegade-bbs-docker",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation,ai",
      "component_id": "b4807ddc6e26cab569296cb7",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2801f1ea904295ff",
      "framework": "unknown",
      "imports": "",
      "lines": 123,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__renegade-bbs-docker",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "b05d116909bbcc540c521fc6",
      "component_kind": "container-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | observability-score:55",
      "exports": "",
      "extension": ".yml",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "008a578797c83b05",
      "framework": "unknown",
      "imports": "",
      "lines": 64,
      "logic_relevance": "none",
      "name": "docker-compose",
      "normalized_name": "docker-compose",
      "package_manager": "unknown",
      "path": "docker-compose.yml",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__renegade-bbs-docker",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "9d5639c3fc259336d4e7a791",
      "component_kind": "script",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "a8147d18216ab507",
      "framework": "unknown",
      "imports": "",
      "lines": 16,
      "logic_relevance": "none",
      "name": "startup-info",
      "normalized_name": "startup-info",
      "package_manager": "unknown",
      "path": "scripts/startup-info.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__renegade-bbs-docker",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "e7748bd52d51b4a684881b23",
      "component_kind": "script",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:130",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "0f08b5fb814e9c06",
      "framework": "unknown",
      "imports": "",
      "lines": 31,
      "logic_relevance": "none",
      "name": "start-cloudflared",
      "normalized_name": "start-cloudflared",
      "package_manager": "unknown",
      "path": "scripts/start-cloudflared.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__renegade-bbs-docker",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "deployment",
      "categories": "process,automation",
      "component_id": "992de6599278f8a2e7d00f81",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for deployment; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "cd9be3964df04b5a",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "welcome",
      "normalized_name": "welcome",
      "package_manager": "unknown",
      "path": "files/welcome.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__renegade-bbs-docker",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "backend",
      "component_id": "5595afa7cc86e33854e0888d",
      "component_kind": "backend-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Backend component for general; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "backend-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2ceceb2948ef16f7",
      "framework": "next-react",
      "imports": "",
      "lines": 625,
      "logic_relevance": "none",
      "name": "types_db",
      "normalized_name": "types-db",
      "package_manager": "pnpm",
      "path": "types_db.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "9237fc76e27294bfaf1f1987",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fec491dc5206a75e",
      "framework": "next-react",
      "imports": "",
      "lines": 4329,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "backend",
      "component_id": "b2e18612d1b94094cf3b8f6b",
      "component_kind": "middleware",
      "confidence": 80,
      "dependency_roots": "@/utils,next",
      "description": "Backend component for auth-and-keys; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:config | imports:@/utils/supabase/middleware, next/server | backend-score:55",
      "exports": "config",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db68231624f1b843",
      "framework": "next-react",
      "imports": "@/utils/supabase/middleware,next/server",
      "lines": 20,
      "logic_relevance": "none",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "middleware.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "security",
      "component_id": "d14c53e36ffcb02fb41b542d",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "tailwindcss,tailwindcss-animate",
      "description": "Security component for design-system; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "imports:tailwindcss, tailwindcss-animate, tailwindcss/defaultTheme | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "789dd1c156aeea0e",
      "framework": "next-react",
      "imports": "tailwindcss,tailwindcss-animate,tailwindcss/defaultTheme",
      "lines": 40,
      "logic_relevance": "none",
      "name": "tailwind.config",
      "normalized_name": "tailwind-config",
      "package_manager": "pnpm",
      "path": "tailwind.config.js",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process,integration",
      "component_id": "62ae017c5e72f420da57fd5f",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | integration-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "db32fc89e56b1d2e",
      "framework": "next-react",
      "imports": "",
      "lines": 0,
      "logic_relevance": "none",
      "name": "README_STRIPE",
      "normalized_name": "readme-stripe",
      "package_manager": "pnpm",
      "path": "README_STRIPE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation,ai",
      "component_id": "0bc6090289d4faa84df5d32a",
      "component_kind": "process-document",
      "confidence": 65,
      "dependency_roots": "test mode",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:test mode | process-score:145 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "ecc6c9d7504994de",
      "framework": "next-react",
      "imports": "test mode",
      "lines": 259,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,ai",
      "component_id": "8f6973878e43a1070ee09b55",
      "component_kind": "roadmap",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | ai-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "c3a20d289329f817",
      "framework": "next-react",
      "imports": "",
      "lines": 23,
      "logic_relevance": "none",
      "name": "ROADMAP",
      "normalized_name": "roadmap",
      "package_manager": "pnpm",
      "path": "ROADMAP.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "2c516ba698fd2ed8a923296d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "39da34ab690de2a5",
      "framework": "next-react",
      "imports": "",
      "lines": 58,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "frontend,security,discovery",
      "component_id": "074bb200b37ee3c19445efd0",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for ai; review as feature component, provider, page, or hook.",
      "evidence": "exports:robots | imports:next | frontend-score:55 | security-score:55 | discovery-score:55 | uses-env",
      "exports": "robots",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cabd67dc45f35f4d",
      "framework": "next-react",
      "imports": "next",
      "lines": 14,
      "logic_relevance": "none",
      "name": "robots",
      "normalized_name": "robots",
      "package_manager": "pnpm",
      "path": "app/robots.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "discovery",
      "categories": "frontend,discovery",
      "component_id": "a3c80ee4fecf1fdfef07705c",
      "component_kind": "frontend-feature",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Frontend component for discovery; review as feature component, provider, page, or hook.",
      "evidence": "exports:sitemap | imports:next | frontend-score:55 | discovery-score:55 | uses-env",
      "exports": "sitemap",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "9e4f28d9e966ca2c",
      "framework": "next-react",
      "imports": "next",
      "lines": 26,
      "logic_relevance": "none",
      "name": "sitemap",
      "normalized_name": "sitemap",
      "package_manager": "pnpm",
      "path": "app/sitemap.ts",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "seo-and-metadata",
      "categories": "frontend,ui,automation",
      "component_id": "663433dc7ab90eff98033c17",
      "component_kind": "layout",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "Frontend component for seo-and-metadata; review as feature component, provider, page, or hook.",
      "evidence": "exports:metadata | imports:@/components/ui/Footer, @/components/ui/Navbar, @/components/ui/Toasts/toaster, @/utils/helpers, next, react | frontend-score:115 | ui-score:70 | automation-score:45",
      "exports": "metadata",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "c0d8803a922d89a2",
      "framework": "next-react",
      "imports": "@/components/ui/Footer,@/components/ui/Navbar,@/components/ui/Toasts/toaster,@/utils/helpers,next,react",
      "lines": 40,
      "logic_relevance": "none",
      "name": "layout",
      "normalized_name": "layout",
      "package_manager": "pnpm",
      "path": "app/layout.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "da6ff1038c6d4b364b877cf3",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PricingPage | imports:@/components/ui/Pricing/Pricing, @/utils/supabase/queries, @/utils/supabase/server | frontend-score:85 | ui-score:55",
      "exports": "PricingPage",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e6bc944f04fc3728",
      "framework": "next-react",
      "imports": "@/components/ui/Pricing/Pricing,@/utils/supabase/queries,@/utils/supabase/server",
      "lines": 24,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "bcc248e4e57d90b4ab4185f0",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/utils/helpers, @/utils/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "423b6cdfc6f1d88a",
      "framework": "next-react",
      "imports": "@/utils/helpers,@/utils/supabase/server,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/reset_password/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "backend,frontend,observability,security",
      "component_id": "f41f03db2329207db0afca31",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,next",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:@/utils/helpers, @/utils/supabase/server, next/server | backend-score:125 | frontend-score:55 | observability-score:55 | security-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "ac87006a4844d8d9",
      "framework": "next-react",
      "imports": "@/utils/helpers,@/utils/supabase/server,next/server",
      "lines": 36,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/auth/callback/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,ai",
      "component_id": "405c37af1cfa81157f6d716d",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "bdb735da14c35073",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend",
      "component_id": "a48b93603868bed9c737673e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET | imports:next/server | backend-score:125 | frontend-score:55 | next-route-handler",
      "exports": "GET",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "8d77fd609b295f33",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 14,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/.well-known/host-meta/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "frontend,ui,security",
      "component_id": "d9c95194ddd4f27c9291a073",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/utils,next",
      "description": "Frontend component for auth-and-keys; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignIn | imports:@/utils/auth-helpers/settings, next/headers, next/navigation | frontend-score:115 | ui-score:55 | security-score:55",
      "exports": "SignIn",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "4da740e2fddbf1fb",
      "framework": "next-react",
      "imports": "@/utils/auth-helpers/settings,next/headers,next/navigation",
      "lines": 11,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signin/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "89bdf28fec950b796e15d87f",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:SignIn | imports:@/components/icons/Logo, @/components/ui/AuthForms/EmailSignIn, @/components/ui/AuthForms/ForgotPassword, @/components/ui/AuthForms/OauthSignIn, @/components/ui/AuthForms/PasswordSignIn, @/components/ui/AuthForms/Separator, @/components/ui/AuthForms/Signup, @/components/ui/AuthForms/UpdatePassword | frontend-score:115 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "SignIn",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "7a5eed4ee53c4861",
      "framework": "next-react",
      "imports": "@/components/icons/Logo,@/components/ui/AuthForms/EmailSignIn,@/components/ui/AuthForms/ForgotPassword,@/components/ui/AuthForms/OauthSignIn,@/components/ui/AuthForms/PasswordSignIn,@/components/ui/AuthForms/Separator,@/components/ui/AuthForms/Signup,@/components/ui/AuthForms/UpdatePassword,@/components/ui/Card,@/utils/auth-helpers/settings,@/utils/supabase/server,next/headers,next/navigation",
      "lines": 112,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/signin/[id]/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 45
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "mcp",
      "categories": "backend,frontend,integration,observability,ai",
      "component_id": "99c2fe0fa97285b7f257de8b",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "next",
      "description": "Backend component for mcp; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:GET, POST | imports:next/server | backend-score:125 | frontend-score:55 | integration-score:55 | observability-score:55 | ai-score:45 | next-route-handler",
      "exports": "GET,POST",
      "extension": ".ts",
      "extraction_status": "strong-shared-candidate",
      "file_hash": "9e37336320f88579",
      "framework": "next-react",
      "imports": "next/server",
      "lines": 28,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/mcp/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,integration,observability,security,automation",
      "component_id": "56822e270a4de802180ec64e",
      "component_kind": "api-route",
      "confidence": 100,
      "dependency_roots": "@/utils,stripe",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:POST | imports:@/utils/stripe/config, @/utils/supabase/admin, stripe | backend-score:125 | integration-score:55 | observability-score:55 | security-score:55 | automation-score:45 | uses-env | next-route-handler",
      "exports": "POST",
      "extension": ".ts",
      "extraction_status": "review-for-shared-library",
      "file_hash": "46594e21cf26c737",
      "framework": "next-react",
      "imports": "@/utils/stripe/config,@/utils/supabase/admin,stripe",
      "lines": 96,
      "logic_relevance": "none",
      "name": "route",
      "normalized_name": "route",
      "package_manager": "pnpm",
      "path": "app/api/webhooks/route.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "641a5b53f9dbafda241b9cce",
      "component_kind": "page",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:Account | imports:@/components/ui/AccountForms/CustomerPortalForm, @/components/ui/AccountForms/EmailForm, @/components/ui/AccountForms/NameForm, @/utils/supabase/queries, @/utils/supabase/server, next/navigation | frontend-score:115 | ui-score:55",
      "exports": "Account",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76eaf76e8e3fcb23",
      "framework": "next-react",
      "imports": "@/components/ui/AccountForms/CustomerPortalForm,@/components/ui/AccountForms/EmailForm,@/components/ui/AccountForms/NameForm,@/utils/supabase/queries,@/utils/supabase/server,next/navigation",
      "lines": 43,
      "logic_relevance": "none",
      "name": "page",
      "normalized_name": "page",
      "package_manager": "pnpm",
      "path": "app/account/page.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 30
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "commerce",
      "categories": "logic,observability,security,automation",
      "component_id": "9c7ac55aa8a7770168b5b6da",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/types_db",
      "description": "Logic component for commerce; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateTrialEndUnixTimestamp, getErrorRedirect, getStatusRedirect, getURL, postData, toDateTime | imports:@/types_db | logic-score:85 | observability-score:55 | security-score:55 | automation-score:45 | uses-env",
      "exports": "calculateTrialEndUnixTimestamp,getErrorRedirect,getStatusRedirect,getURL,postData,toDateTime",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "01aca39d4ff3321b",
      "framework": "next-react",
      "imports": "@/types_db",
      "lines": 133,
      "logic_relevance": "primary",
      "name": "helpers",
      "normalized_name": "helpers",
      "package_manager": "pnpm",
      "path": "utils/helpers.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "d83bc57eb8524b80c2e3f20d",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "74e8fe9d0d680c44",
      "framework": "next-react",
      "imports": "clsx,tailwind-merge",
      "lines": 6,
      "logic_relevance": "primary",
      "name": "cn",
      "normalized_name": "cn",
      "package_manager": "pnpm",
      "path": "utils/cn.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "9cf7b4eaa79af14bedd6d5d3",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient, updateSession | imports:@supabase/ssr, next/server | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createClient,updateSession",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0d7b352d2267d4df",
      "framework": "next-react",
      "imports": "@supabase/ssr,next/server",
      "lines": 84,
      "logic_relevance": "primary",
      "name": "middleware",
      "normalized_name": "middleware",
      "package_manager": "pnpm",
      "path": "utils/supabase/middleware.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,observability,security",
      "component_id": "c7aa5ac4e0bc50c3d7321f96",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@supabase/supabase-js,react",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getProducts, getSubscription, getUser, getUserDetails | imports:@supabase/supabase-js, react | logic-score:60 | observability-score:55 | security-score:55",
      "exports": "getProducts,getSubscription,getUser,getUserDetails",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "00122ae95eef20b3",
      "framework": "next-react",
      "imports": "@supabase/supabase-js,react",
      "lines": 39,
      "logic_relevance": "primary",
      "name": "queries",
      "normalized_name": "queries",
      "package_manager": "pnpm",
      "path": "utils/supabase/queries.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,observability,security",
      "component_id": "f16822ffba767885c96234ec",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/utils,@supabase/supabase-js,stripe,types_db",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createOrRetrieveCustomer, deletePriceRecord, deleteProductRecord, manageSubscriptionStatusChange, upsertPriceRecord, upsertProductRecord | imports:@/utils/helpers, @/utils/stripe/config, @supabase/supabase-js, stripe, types_db | logic-score:85 | observability-score:55 | security-score:55 | uses-env",
      "exports": "createOrRetrieveCustomer,deletePriceRecord,deleteProductRecord,manageSubscriptionStatusChange,upsertPriceRecord,upsertProductRecord",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ebe4ae5b9954cdc3",
      "framework": "next-react",
      "imports": "@/utils/helpers,@/utils/stripe/config,@supabase/supabase-js,stripe,types_db",
      "lines": 292,
      "logic_relevance": "primary",
      "name": "admin",
      "normalized_name": "admin",
      "package_manager": "pnpm",
      "path": "utils/supabase/admin.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security,logic",
      "component_id": "1992b313dc0f275e606c04f9",
      "component_kind": "security-module",
      "confidence": 85,
      "dependency_roots": "@/types_db,@supabase/ssr",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:createClient | imports:@/types_db, @supabase/ssr | security-score:55 | logic-score:45 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "619aa10d2e3ab3c7",
      "framework": "next-react",
      "imports": "@/types_db,@supabase/ssr",
      "lines": 10,
      "logic_relevance": "secondary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "utils/supabase/client.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,security",
      "component_id": "e5fa05b4e63504d96801c085",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/types_db,@supabase/ssr,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:createClient | imports:@/types_db, @supabase/ssr, next/headers | logic-score:85 | backend-score:55 | security-score:55 | uses-env",
      "exports": "createClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "e8443953f4333f7b",
      "framework": "next-react",
      "imports": "@/types_db,@supabase/ssr,next/headers",
      "lines": 43,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "utils/supabase/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "logic,security,automation",
      "component_id": "a3fe93361af30a5fb3149b0a",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getAuthTypes, getDefaultSignInView, getRedirectMethod, getViewTypes | logic-score:85 | security-score:55 | automation-score:45",
      "exports": "getAuthTypes,getDefaultSignInView,getRedirectMethod,getViewTypes",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "42ea7d68dd7adf6c",
      "framework": "next-react",
      "imports": "",
      "lines": 49,
      "logic_relevance": "primary",
      "name": "settings",
      "normalized_name": "settings",
      "package_manager": "pnpm",
      "path": "utils/auth-helpers/settings.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,security",
      "component_id": "ffa19395b1400ee4060f7995",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/utils,@supabase/supabase-js,next",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./server, @/utils/helpers, @/utils/supabase/client, @supabase/supabase-js, next/dist/shared/lib/app-router-context.shared-runtime | logic-score:85 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fe36dbaf094f84a2",
      "framework": "next-react",
      "imports": "./server,@/utils/helpers,@/utils/supabase/client,@supabase/supabase-js,next/dist/shared/lib/app-router-context.shared-runtime",
      "lines": 44,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "utils/auth-helpers/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "logic,backend,observability,security",
      "component_id": "42bec9881ec8702785d66ddb",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@/utils,next,utils",
      "description": "Logic component for auth-and-keys; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:SignOut | imports:@/utils/supabase/server, next/headers, next/navigation, utils/auth-helpers/settings, utils/helpers | logic-score:60 | backend-score:55 | observability-score:55 | security-score:55",
      "exports": "SignOut",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "fbef5b91e68e1294",
      "framework": "next-react",
      "imports": "@/utils/supabase/server,next/headers,next/navigation,utils/auth-helpers/settings,utils/helpers",
      "lines": 336,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "utils/auth-helpers/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "logic,integration,security",
      "component_id": "b010349a1de79b3592a34396",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "@stripe/stripe-js",
      "description": "Logic component for general; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getStripe | imports:@stripe/stripe-js | logic-score:60 | integration-score:55 | security-score:55 | uses-env",
      "exports": "getStripe",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "95a26d96166949e1",
      "framework": "next-react",
      "imports": "@stripe/stripe-js",
      "lines": 15,
      "logic_relevance": "primary",
      "name": "client",
      "normalized_name": "client",
      "package_manager": "pnpm",
      "path": "utils/stripe/client.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "integration,security,logic,automation",
      "component_id": "483e689cb7f5841bbe48fc6c",
      "component_kind": "integration-module",
      "confidence": 90,
      "dependency_roots": "stripe",
      "description": "Integration component for auth-and-keys; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "exports:stripe | imports:stripe | integration-score:55 | security-score:55 | logic-score:45 | automation-score:45 | uses-env",
      "exports": "stripe",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "3bd26a901a81239d",
      "framework": "next-react",
      "imports": "stripe",
      "lines": 18,
      "logic_relevance": "secondary",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "utils/stripe/config.ts",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "logic,backend,integration,observability,security",
      "component_id": "1c9e120c8d67c25547c8fbfc",
      "component_kind": "utility",
      "confidence": 75,
      "dependency_roots": "@/types_db,@/utils,stripe",
      "description": "Logic component for observability; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:@/types_db, @/utils/helpers, @/utils/stripe/config, @/utils/supabase/admin, @/utils/supabase/server, stripe | logic-score:85 | backend-score:55 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "8b1de6d20e64fe4f",
      "framework": "next-react",
      "imports": "@/types_db,@/utils/helpers,@/utils/stripe/config,@/utils/supabase/admin,@/utils/supabase/server,stripe",
      "lines": 181,
      "logic_relevance": "primary",
      "name": "server",
      "normalized_name": "server",
      "package_manager": "pnpm",
      "path": "utils/stripe/server.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 85
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "observability,security",
      "component_id": "349b95266c982ac3661eef4d",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for auth-and-keys; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".toml",
      "extraction_status": "catalog-only",
      "file_hash": "dcb187d29dde7ee6",
      "framework": "next-react",
      "imports": "",
      "lines": 159,
      "logic_relevance": "none",
      "name": "config",
      "normalized_name": "config",
      "package_manager": "pnpm",
      "path": "supabase/config.toml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "81b7cf3a41b71781a0647f90",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "30e4679d15155c9a",
      "framework": "next-react",
      "imports": "",
      "lines": 59,
      "logic_relevance": "none",
      "name": "main",
      "normalized_name": "main",
      "package_manager": "pnpm",
      "path": "styles/main.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "dd0d33ce734684d7b965ee6f",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/utils",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Navbar | imports:./Navbar.module.css, ./Navlinks, @/utils/supabase/server | ui-score:125 | frontend-score:85 | security-score:55",
      "exports": "Navbar",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1c49aaa6d14aa5aa",
      "framework": "next-react",
      "imports": "./Navbar.module.css,./Navlinks,@/utils/supabase/server",
      "lines": 22,
      "logic_relevance": "none",
      "name": "Navbar",
      "normalized_name": "navbar",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/Navbar.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "5d7439bcabd66b0a105653db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Navlinks | imports:./Navbar.module.css, @/components/icons/Logo, @/utils/auth-helpers/client, @/utils/auth-helpers/server, @/utils/auth-helpers/settings, next/link, next/navigation | ui-score:125 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Navlinks",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "5a4516193cf5d6f1",
      "framework": "next-react",
      "imports": "./Navbar.module.css,@/components/icons/Logo,@/utils/auth-helpers/client,@/utils/auth-helpers/server,@/utils/auth-helpers/settings,next/link,next/navigation",
      "lines": 51,
      "logic_relevance": "none",
      "name": "Navlinks",
      "normalized_name": "navlinks",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/Navlinks.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "a11a3ff8ebfc83a48b0ecb0a",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Navbar | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "79da1fbc7b420464",
      "framework": "next-react",
      "imports": "./Navbar",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability",
      "component_id": "33d55b7698eb42c62b7dfd66",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | observability-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "72f69e2511163b0b",
      "framework": "next-react",
      "imports": "",
      "lines": 19,
      "logic_relevance": "none",
      "name": "Navbar.module",
      "normalized_name": "navbar-module",
      "package_manager": "pnpm",
      "path": "components/ui/Navbar/Navbar.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,automation",
      "component_id": "b24a6d0804238541a7936232",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,next",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Footer | imports:@/components/icons/GitHub, @/components/icons/Logo, next/link | ui-score:125 | frontend-score:115 | observability-score:55 | automation-score:45",
      "exports": "Footer",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dd6811cbde210142",
      "framework": "next-react",
      "imports": "@/components/icons/GitHub,@/components/icons/Logo,next/link",
      "lines": 112,
      "logic_relevance": "none",
      "name": "Footer",
      "normalized_name": "footer",
      "package_manager": "pnpm",
      "path": "components/ui/Footer/Footer.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "7d57470850f94b25538418c1",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Footer | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "003a4e894da1ee5f",
      "framework": "next-react",
      "imports": "./Footer",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Footer/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "062eb1e96374a132eef4e709",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:PasswordSignIn | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "PasswordSignIn",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6eaa22d85207a167",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 88,
      "logic_relevance": "none",
      "name": "PasswordSignIn",
      "normalized_name": "password-sign-in",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/PasswordSignIn.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,integration,observability,security",
      "component_id": "ea1e8f85868616d7c87bfec6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,@supabase/supabase-js,lucide-react,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:OauthSignIn | imports:@/components/ui/Button, @/utils/auth-helpers/client, @supabase/supabase-js, lucide-react, react | ui-score:140 | frontend-score:115 | integration-score:55 | observability-score:55 | security-score:55",
      "exports": "OauthSignIn",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "6b64907dbe44c87a",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@supabase/supabase-js,lucide-react,react",
      "lines": 54,
      "logic_relevance": "none",
      "name": "OauthSignIn",
      "normalized_name": "oauth-sign-in",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/OauthSignIn.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f3be699128aa8508c7c4ac11",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:SignUp | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "SignUp",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "dab67b56c1c522b5",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "Signup",
      "normalized_name": "signup",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/Signup.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "f7d3fe735f179644c0ed27c3",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:UpdatePassword | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "UpdatePassword",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "43a605036bb7998e",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/navigation,react",
      "lines": 65,
      "logic_relevance": "none",
      "name": "UpdatePassword",
      "normalized_name": "update-password",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/UpdatePassword.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "422102b8b8093d69ec0acf98",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Separator | ui-score:125 | frontend-score:85 | observability-score:55",
      "exports": "Separator",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "0741cfc69ab95a8a",
      "framework": "next-react",
      "imports": "",
      "lines": 17,
      "logic_relevance": "none",
      "name": "Separator",
      "normalized_name": "separator",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/Separator.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "daa83a39c68a80ca9f26de8a",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:EmailSignIn | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "EmailSignIn",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "4704796f532ce19b",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 79,
      "logic_relevance": "none",
      "name": "EmailSignIn",
      "normalized_name": "email-sign-in",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/EmailSignIn.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "d3e7af5c2d5cb0691b5c6524",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:ForgotPassword | imports:@/components/ui/Button, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "ForgotPassword",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "9c3d1528069c16c9",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/link,next/navigation,react",
      "lines": 82,
      "logic_relevance": "none",
      "name": "ForgotPassword",
      "normalized_name": "forgot-password",
      "package_manager": "pnpm",
      "path": "components/ui/AuthForms/ForgotPassword.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "3d0d24b810bc19b715bc5386",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Card | imports:react | ui-score:140 | frontend-score:115",
      "exports": "Card",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "32506b8223f122cd",
      "framework": "next-react",
      "imports": "react",
      "lines": 25,
      "logic_relevance": "none",
      "name": "Card",
      "normalized_name": "card",
      "package_manager": "pnpm",
      "path": "components/ui/Card/Card.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "c12b326fc94f1c4837fe3e30",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Card | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "651b69cbd1fb3607",
      "framework": "next-react",
      "imports": "./Card",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Card/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "db8532b88740181074e82243",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Input | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "558c51666fb09734",
      "framework": "next-react",
      "imports": "./Input",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Input/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "ui,frontend",
      "component_id": "e987c642de5b329a0b061d7c",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "classnames,react",
      "description": "UI component for analytics; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Input | imports:./Input.module.css, classnames, react | ui-score:140 | frontend-score:115",
      "exports": "Input",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b198ce966b0bc1b0",
      "framework": "next-react",
      "imports": "./Input.module.css,classnames,react",
      "lines": 37,
      "logic_relevance": "none",
      "name": "Input",
      "normalized_name": "input",
      "package_manager": "pnpm",
      "path": "components/ui/Input/Input.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,ui",
      "component_id": "5719ba59693145244e418470",
      "component_kind": "ui-primitive",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ad1b7110d82df8ef",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "Input.module",
      "normalized_name": "input-module",
      "package_manager": "pnpm",
      "path": "components/ui/Input/Input.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend,observability,security",
      "component_id": "f128f7a0b990e4cdfd10cca6",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,next,react",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toaster | imports:@/components/ui/Toasts/toast, @/components/ui/Toasts/use-toast, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Toaster",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "e852984030e46395",
      "framework": "next-react",
      "imports": "@/components/ui/Toasts/toast,@/components/ui/Toasts/use-toast,next/navigation,react",
      "lines": 69,
      "logic_relevance": "none",
      "name": "toaster",
      "normalized_name": "toaster",
      "package_manager": "pnpm",
      "path": "components/ui/Toasts/toaster.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "ui,frontend",
      "component_id": "a04059a629b4898a6dc605db",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,react",
      "description": "UI component for workflow; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:reducer, toast, useToast | imports:@/components/ui/Toasts/toast, react | ui-score:85 | frontend-score:55",
      "exports": "reducer,toast,useToast",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "300b3da3a4943b67",
      "framework": "next-react",
      "imports": "@/components/ui/Toasts/toast,react",
      "lines": 192,
      "logic_relevance": "none",
      "name": "use-toast",
      "normalized_name": "use-toast",
      "package_manager": "pnpm",
      "path": "components/ui/Toasts/use-toast.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "ae362693e30992c54c631e95",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/utils,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement | imports:@/utils/cn, @radix-ui/react-toast, class-variance-authority, lucide-react, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Toast,ToastAction,ToastClose,ToastDescription,ToastProvider,ToastTitle,ToastViewport,type ToastActionElement,type ToastProps",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1cab29f62a484606",
      "framework": "next-react",
      "imports": "@/utils/cn,@radix-ui/react-toast,class-variance-authority,lucide-react,react",
      "lines": 128,
      "logic_relevance": "none",
      "name": "toast",
      "normalized_name": "toast",
      "package_manager": "pnpm",
      "path": "components/ui/Toasts/toast.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "4a40e10353d45befe38f4339",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:EmailForm | imports:@/components/ui/Button, @/components/ui/Card, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/navigation, react | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "EmailForm",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "13d642b4fd19ded7",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/Card,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/navigation,react",
      "lines": 64,
      "logic_relevance": "none",
      "name": "EmailForm",
      "normalized_name": "email-form",
      "package_manager": "pnpm",
      "path": "components/ui/AccountForms/EmailForm.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "ui,frontend,security",
      "component_id": "324472353b3bd117b74fc4b1",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/utils,next,react",
      "description": "UI component for auth-and-keys; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:NameForm | imports:@/components/ui/Button, @/components/ui/Card, @/utils/auth-helpers/client, @/utils/auth-helpers/server, next/navigation, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "NameForm",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3eaf6d5358444223",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/Card,@/utils/auth-helpers/client,@/utils/auth-helpers/server,next/navigation,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "NameForm",
      "normalized_name": "name-form",
      "package_manager": "pnpm",
      "path": "components/ui/AccountForms/NameForm.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ui,frontend",
      "component_id": "b60e4d37a386a2ba07a627a7",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/types_db,@/utils,next,react",
      "description": "UI component for commerce; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:CustomerPortalForm | imports:@/components/ui/Button, @/components/ui/Card, @/types_db, @/utils/stripe/server, next/link, next/navigation, react | ui-score:140 | frontend-score:115",
      "exports": "CustomerPortalForm",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e10a80918e81f738",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/Card,@/types_db,@/utils/stripe/server,next/link,next/navigation,react",
      "lines": 77,
      "logic_relevance": "none",
      "name": "CustomerPortalForm",
      "normalized_name": "customer-portal-form",
      "package_manager": "pnpm",
      "path": "components/ui/AccountForms/CustomerPortalForm.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability",
      "component_id": "96d7072e44776f191b81ef0e",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:LoadingDots | imports:./LoadingDots.module.css | ui-score:125 | frontend-score:85 | observability-score:55",
      "exports": "LoadingDots",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "398a85c6368a6145",
      "framework": "next-react",
      "imports": "./LoadingDots.module.css",
      "lines": 13,
      "logic_relevance": "none",
      "name": "LoadingDots",
      "normalized_name": "loading-dots",
      "package_manager": "pnpm",
      "path": "components/ui/LoadingDots/LoadingDots.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,ui,observability,security",
      "component_id": "97e00d63bcd82161e1648a76",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "08a265b10b4ffcca",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "LoadingDots.module",
      "normalized_name": "loading-dots-module",
      "package_manager": "pnpm",
      "path": "components/ui/LoadingDots/LoadingDots.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "b67ff2a38b1055342a198189",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./LoadingDots | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "3c3360529638ea1e",
      "framework": "next-react",
      "imports": "./LoadingDots",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/LoadingDots/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,ui",
      "component_id": "fe29b977348d3428a12ace0b",
      "component_kind": "ui-primitive",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | ui-score:70",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "bb8c258ba0d35586",
      "framework": "next-react",
      "imports": "",
      "lines": 32,
      "logic_relevance": "none",
      "name": "Button.module",
      "normalized_name": "button-module",
      "package_manager": "pnpm",
      "path": "components/ui/Button/Button.module.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui",
      "component_id": "07974a88bad11898a841e153",
      "component_kind": "ui-primitive",
      "confidence": 85,
      "dependency_roots": "",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./Button | ui-score:70",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "a65c3c2970dacef3",
      "framework": "next-react",
      "imports": "./Button",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/Button/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 60
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "ui,frontend",
      "component_id": "a0a71b2cd691d4f93b706bad",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,classnames,react,react-merge-refs",
      "description": "UI component for design-system; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Button | imports:./Button.module.css, @/components/ui/LoadingDots, classnames, react, react-merge-refs | ui-score:140 | frontend-score:115",
      "exports": "Button",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "93ed133b7cfa0bf2",
      "framework": "next-react",
      "imports": "./Button.module.css,@/components/ui/LoadingDots,classnames,react,react-merge-refs",
      "lines": 66,
      "logic_relevance": "none",
      "name": "Button",
      "normalized_name": "button",
      "package_manager": "pnpm",
      "path": "components/ui/Button/Button.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "ui,frontend,observability,automation",
      "component_id": "f31b1682491386873e16c274",
      "component_kind": "ui-primitive",
      "confidence": 90,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:LogoCloud | ui-score:125 | frontend-score:85 | observability-score:55 | automation-score:45",
      "exports": "LogoCloud",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "657041d7a4682077",
      "framework": "next-react",
      "imports": "",
      "lines": 56,
      "logic_relevance": "none",
      "name": "LogoCloud",
      "normalized_name": "logo-cloud",
      "package_manager": "pnpm",
      "path": "components/ui/LogoCloud/LogoCloud.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,observability",
      "component_id": "b6c24b20c59f27e6ec4c8612",
      "component_kind": "ui-primitive",
      "confidence": 95,
      "dependency_roots": "",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:default | imports:./LogoCloud | ui-score:70 | observability-score:55",
      "exports": "default",
      "extension": ".ts",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "bdb77b95aef5a3d5",
      "framework": "next-react",
      "imports": "./LogoCloud",
      "lines": 1,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "components/ui/LogoCloud/index.ts",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "ui,frontend,observability,security",
      "component_id": "d757bdd619760658efd5a591",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@/components,@/types_db,@/utils,@supabase/supabase-js,classnames,next,react",
      "description": "UI component for observability; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Pricing | imports:@/components/ui/Button, @/components/ui/LogoCloud, @/types_db, @/utils/helpers, @/utils/stripe/client, @/utils/stripe/server, @supabase/supabase-js, classnames | ui-score:140 | frontend-score:115 | observability-score:55 | security-score:55",
      "exports": "Pricing",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "b83a033dee8531dc",
      "framework": "next-react",
      "imports": "@/components/ui/Button,@/components/ui/LogoCloud,@/types_db,@/utils/helpers,@/utils/stripe/client,@/utils/stripe/server,@supabase/supabase-js,classnames,next/navigation,react",
      "lines": 204,
      "logic_relevance": "none",
      "name": "Pricing",
      "normalized_name": "pricing",
      "package_manager": "pnpm",
      "path": "components/ui/Pricing/Pricing.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui,integration",
      "component_id": "1dc67b17c2c384974291a99b",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:GitHub | frontend-score:85 | ui-score:55 | integration-score:55",
      "exports": "GitHub",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "bf8ff5291ced085b",
      "framework": "next-react",
      "imports": "",
      "lines": 21,
      "logic_relevance": "none",
      "name": "GitHub",
      "normalized_name": "git-hub",
      "package_manager": "pnpm",
      "path": "components/icons/GitHub.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "2b9b92c730878d448c952c73",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:Logo | frontend-score:85 | ui-score:55 | observability-score:55",
      "exports": "Logo",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "69b7df8c352473a2",
      "framework": "next-react",
      "imports": "",
      "lines": 20,
      "logic_relevance": "none",
      "name": "Logo",
      "normalized_name": "logo",
      "package_manager": "pnpm",
      "path": "components/icons/Logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security,discovery,ai",
      "component_id": "21dca24a9c2573a09fff2947",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55 | discovery-score:55 | ai-score:45",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0b1e774ebb76f429",
      "framework": "next-react",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "llms",
      "normalized_name": "llms",
      "package_manager": "pnpm",
      "path": "public/llms.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "process,discovery",
      "component_id": "44196e4c612f5b7a22a02005",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for ai; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | discovery-score:55",
      "exports": "",
      "extension": ".txt",
      "extraction_status": "shared-process-candidate",
      "file_hash": "2c18261269ee43c4",
      "framework": "next-react",
      "imports": "",
      "lines": 7,
      "logic_relevance": "none",
      "name": "llms-index",
      "normalized_name": "llms-index",
      "package_manager": "pnpm",
      "path": "public/llms-index.txt",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "integration",
      "component_id": "8b6e1de62a682156d5d7dd0f",
      "component_kind": "integration-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Integration component for seo-and-metadata; review for shared connector, webhook, API client, or protocol adapter.",
      "evidence": "integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "fc1133469c0600cc",
      "framework": "next-react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "stripe-fixtures",
      "normalized_name": "stripe-fixtures",
      "package_manager": "pnpm",
      "path": "fixtures/stripe-fixtures.json",
      "primary_category": "integration",
      "process_relevance": "none",
      "repo": "ph3ar__stripe-subscription-starter",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "0047ca206e0f18c7a6a5e22b",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".yaml",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "2de3fe740bec1b08",
      "framework": "unknown",
      "imports": "",
      "lines": 2790,
      "logic_relevance": "none",
      "name": "pnpm-lock",
      "normalized_name": "pnpm-lock",
      "package_manager": "pnpm",
      "path": "pnpm-lock.yaml",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "deployment",
      "categories": "automation,integration",
      "component_id": "2393643ed8b0fe8dad83ebf8",
      "component_kind": "deployment-automation",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Automation component for deployment; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:95 | integration-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "dfbfce6f665c59a5",
      "framework": "unknown",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "vercel",
      "normalized_name": "vercel",
      "package_manager": "pnpm",
      "path": "vercel.json",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "8309b49fadbcb7dbdefcd84c",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e7cb73c8df896bb4",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "primary",
      "capability": "observability",
      "categories": "automation,observability",
      "component_id": "cb0ec57e12e67be7eda30029",
      "component_kind": "script",
      "confidence": 60,
      "dependency_roots": "",
      "description": "Automation component for observability; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80 | observability-score:55",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "bec5b3cee618c5f5",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "start_bg",
      "normalized_name": "start-bg",
      "package_manager": "pnpm",
      "path": "start_bg.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "06464301eae4c21a9e69fe90",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7e517622290da308",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "e29fdb1362458aeebe18f290",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c452f8aeb21898ca",
      "framework": "unknown",
      "imports": "",
      "lines": 44,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "54cdd6d668162d29e1021cd5",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "playwright",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:playwright | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "81dab924994b3f25",
      "framework": "unknown",
      "imports": "playwright",
      "lines": 34,
      "logic_relevance": "none",
      "name": "test-ux",
      "normalized_name": "test-ux",
      "package_manager": "pnpm",
      "path": "test-ux.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "355a07648108a09a08460d07",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c3ae1a2b3f614fb",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "start",
      "normalized_name": "start",
      "package_manager": "pnpm",
      "path": "start.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "63d0e9878c9b7808a7ad886e",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "body-parser,express,express-rate-limit,fs,http,https,node-pty,optimist,path,socket.io,yalm",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:body-parser, express, express-rate-limit, fs, http, https, node-pty, optimist | observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "03509f421e49cbbf",
      "framework": "unknown",
      "imports": "body-parser,express,express-rate-limit,fs,http,https,node-pty,optimist,path,socket.io,yalm",
      "lines": 190,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "observability,security,process",
      "component_id": "1abc5a46534d9f4264b3cc3c",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "@playwright/test,path",
      "description": "Observability component for analytics; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:@playwright/test, path | observability-score:55 | security-score:55 | process-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "db789faffb11fedd",
      "framework": "unknown",
      "imports": "@playwright/test,path",
      "lines": 49,
      "logic_relevance": "none",
      "name": "frontend.spec",
      "normalized_name": "frontend",
      "package_manager": "pnpm",
      "path": "test/frontend.spec.js",
      "primary_category": "observability",
      "process_relevance": "secondary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "de4ae20bd0b318c085739b46",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "chai,express,http,proxyquire,sinon,supertest",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:chai, express, http, proxyquire, sinon, supertest | observability-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "7dd4e178392e7579",
      "framework": "unknown",
      "imports": "chai,express,http,proxyquire,sinon,supertest",
      "lines": 101,
      "logic_relevance": "none",
      "name": "app.test",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "test/app.test.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "c775eb4c45336f9789f96eb6",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e7cb73c8df896bb4",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "www_js_terminal/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "process",
      "component_id": "761213c1a6a50734092718e8",
      "component_kind": "process-document",
      "confidence": 40,
      "dependency_roots": "",
      "description": "Process component for general; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "52761433341bbd02",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "www_js_terminal/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "2e45a6db2745a5ed6d8488ce",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "c172fe559626de16",
      "framework": "unknown",
      "imports": "",
      "lines": 36,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "pnpm",
      "path": "www_js_terminal/package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "general",
      "categories": "automation",
      "component_id": "4c8692c01deebddd48f529df",
      "component_kind": "script",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Automation component for general; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:80",
      "exports": "",
      "extension": ".sh",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "7c3ae1a2b3f614fb",
      "framework": "unknown",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "start",
      "normalized_name": "start",
      "package_manager": "pnpm",
      "path": "www_js_terminal/start.sh",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "d075cf3dc74680fd2935db39",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "body-parser,express,fs,http,https,optimist,path,pty.js,socket.io,yalm",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:body-parser, express, fs, http, https, optimist, path, pty.js | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8f047d3ea6ab824e",
      "framework": "unknown",
      "imports": "body-parser,express,fs,http,https,optimist,path,pty.js,socket.io,yalm",
      "lines": 114,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "www_js_terminal/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "primary",
      "capability": "testing",
      "categories": "automation",
      "component_id": "7a529c1fba5017008d5ddee8",
      "component_kind": "container-automation",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Automation component for testing; review for reusable script, workflow, deployment job, or infra automation.",
      "evidence": "automation-score:85",
      "exports": "",
      "extension": "Dockerfile",
      "extraction_status": "shared-automation-candidate",
      "file_hash": "e7cb73c8df896bb4",
      "framework": "unknown",
      "imports": "",
      "lines": 13,
      "logic_relevance": "none",
      "name": "Dockerfile",
      "normalized_name": "dockerfile",
      "package_manager": "pnpm",
      "path": "www_js_terminal/www_js_terminal/Dockerfile",
      "primary_category": "automation",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "9171a84cde89fbd48dd0bb6d",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:110 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "7e517622290da308",
      "framework": "unknown",
      "imports": "",
      "lines": 102,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "pnpm",
      "path": "www_js_terminal/www_js_terminal/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "b32cc6528b65a41c718be215",
      "component_kind": "observability-module",
      "confidence": 75,
      "dependency_roots": "body-parser,express,fs,http,https,optimist,path,pty.js,socket.io,yalm",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "imports:body-parser, express, fs, http, https, optimist, path, pty.js | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "8f047d3ea6ab824e",
      "framework": "unknown",
      "imports": "body-parser,express,fs,http,https,optimist,path,pty.js,socket.io,yalm",
      "lines": 114,
      "logic_relevance": "none",
      "name": "app",
      "normalized_name": "app",
      "package_manager": "pnpm",
      "path": "www_js_terminal/www_js_terminal/app.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "39b13b9f652a8cbc27e2c88f",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76d66a8f6917a2ec",
      "framework": "unknown",
      "imports": "",
      "lines": 17154,
      "logic_relevance": "none",
      "name": "hterm_all",
      "normalized_name": "hterm-all",
      "package_manager": "pnpm",
      "path": "www_js_terminal/public/hterm_all.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "0c6280dce00e1ce88e0ad7e1",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cf59c5e5fc543e1a",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "pnpm",
      "path": "www_js_terminal/public/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "e4c85f793685a1ddce9fee28",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Jutty | observability-score:55 | security-score:55",
      "exports": "Jutty",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "f926fd6cc6aab6f0",
      "framework": "unknown",
      "imports": "",
      "lines": 264,
      "logic_relevance": "none",
      "name": "jutty",
      "normalized_name": "jutty",
      "package_manager": "pnpm",
      "path": "www_js_terminal/public/jutty.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security,ai",
      "component_id": "4688f592b0e6564939e191e7",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | ai-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "76d66a8f6917a2ec",
      "framework": "unknown",
      "imports": "",
      "lines": 17154,
      "logic_relevance": "none",
      "name": "hterm_all",
      "normalized_name": "hterm-all",
      "package_manager": "pnpm",
      "path": "public/hterm_all.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "d338db4c3145566962846166",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "cf59c5e5fc543e1a",
      "framework": "unknown",
      "imports": "",
      "lines": 24,
      "logic_relevance": "none",
      "name": "bower",
      "normalized_name": "bower",
      "package_manager": "pnpm",
      "path": "public/bower.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "047a605709a9e9638a4d2cb4",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Jutty | observability-score:55 | security-score:55",
      "exports": "Jutty",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "cb927f3522edf311",
      "framework": "unknown",
      "imports": "",
      "lines": 350,
      "logic_relevance": "none",
      "name": "jutty",
      "normalized_name": "jutty",
      "package_manager": "pnpm",
      "path": "public/jutty.js",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "analytics",
      "categories": "process,automation",
      "component_id": "2714cc76deef99548b119c39",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for analytics; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "2eef51130254dcb9",
      "framework": "unknown",
      "imports": "",
      "lines": 9,
      "logic_relevance": "none",
      "name": "sentinel",
      "normalized_name": "sentinel",
      "package_manager": "pnpm",
      "path": ".Jules/sentinel.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "24dc27e0f70854f06d94b212",
      "component_kind": "process-document",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:65 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "088dfaeb29c1a890",
      "framework": "unknown",
      "imports": "",
      "lines": 3,
      "logic_relevance": "none",
      "name": "palette",
      "normalized_name": "palette",
      "package_manager": "pnpm",
      "path": ".Jules/palette.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "001a72a6d5c8fb688965e01c",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "78d0a447e1f0eea2",
      "framework": "unknown",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "bolt",
      "normalized_name": "bolt",
      "package_manager": "pnpm",
      "path": ".Jules/bolt.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "backend,observability,automation",
      "component_id": "731abbf52ca62ec59661b6a4",
      "component_kind": "backend-module",
      "confidence": 75,
      "dependency_roots": "",
      "description": "Backend component for observability; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "imports:../app.js | backend-score:55 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".js",
      "extraction_status": "catalog-only",
      "file_hash": "05d0c013111bd2dc",
      "framework": "unknown",
      "imports": "../app.js",
      "lines": 14,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "pnpm",
      "path": "api/index.js",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": false,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "observability",
      "component_id": "5b715ea2413081583c101d3f",
      "component_kind": "observability-module",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Observability component for testing; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "91d1c43004802cd4",
      "framework": "unknown",
      "imports": "",
      "lines": 4,
      "logic_relevance": "none",
      "name": ".last-run",
      "normalized_name": "last-run",
      "package_manager": "pnpm",
      "path": "test-results/.last-run.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "ph3ar__www_js_terminal",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "b67633ded0e8705f7ed3d087",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21d428379a8f0117",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "profile/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-charts__.github",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "471a4bd6b9fbd965136f2ab9",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21d428379a8f0117",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "profile/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__.github",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "workflow",
      "categories": "process,automation",
      "component_id": "77a7de3c5cd3cfedaedfc013",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@process.co/json-graph",
      "description": "Process component for workflow; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:Example | imports:@process.co/json-graph | process-score:145 | automation-score:45",
      "exports": "Example",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "257c9c260d24b010",
      "framework": "react",
      "imports": "@process.co/json-graph",
      "lines": 91,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "security",
      "component_id": "9d6db682a63c60505113d791",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for ai; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:backgroundImage, themeColors | security-score:55",
      "exports": "backgroundImage,themeColors",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "18bb590489ea6726",
      "framework": "react",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "tailwind-proc-theme",
      "normalized_name": "tailwind-proc-theme",
      "package_manager": "unknown",
      "path": "tailwind-proc-theme.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "0ef930dda148e37264bd38ef",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "ff54348cf0a917a1",
      "framework": "react",
      "imports": "",
      "lines": 515,
      "logic_relevance": "none",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "css/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 25
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "frontend,ui",
      "component_id": "db1397135da35aa5132a3a9d",
      "component_kind": "feature-ui",
      "confidence": 75,
      "dependency_roots": "@storybook/react",
      "description": "Frontend component for editor; review as feature component, provider, page, or hook.",
      "evidence": "imports:@storybook/react | frontend-score:60 | ui-score:55",
      "exports": "",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "594176ff17c2002d",
      "framework": "react",
      "imports": "@storybook/react",
      "lines": 21,
      "logic_relevance": "none",
      "name": "preview",
      "normalized_name": "preview",
      "package_manager": "unknown",
      "path": ".storybook/preview.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "security",
      "component_id": "889bad2ba85efa14460dfb7b",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for editor; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:Theme, defaultHandleStyle, theme | security-score:55",
      "exports": "Theme,defaultHandleStyle,theme",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9edea7ca2c1c38a3",
      "framework": "react",
      "imports": "",
      "lines": 30,
      "logic_relevance": "none",
      "name": "theme",
      "normalized_name": "theme",
      "package_manager": "unknown",
      "path": "src/theme.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "ai",
      "component_id": "5ed619adcdabe46169647fc0",
      "component_kind": "ai-integration",
      "confidence": 80,
      "dependency_roots": "elkjs",
      "description": "AI component for commerce; review for provider-neutral adapter, prompt, eval, RAG, agent, or assistant scaffold.",
      "evidence": "exports:LayoutOptions, XYFlowEdge, XYFlowNode | imports:../parser/calculateNodeSize, ../parser/types, ../utils/getDisplayLabel, elkjs/lib/elk.bundled.js | ai-score:45",
      "exports": "LayoutOptions,XYFlowEdge,XYFlowNode",
      "extension": ".ts",
      "extraction_status": "shared-ai-scaffold-candidate",
      "file_hash": "cbe9fca921a39436",
      "framework": "react",
      "imports": "../parser/calculateNodeSize,../parser/types,../utils/getDisplayLabel,elkjs/lib/elk.bundled.js",
      "lines": 116,
      "logic_relevance": "none",
      "name": "getLayoutedElements",
      "normalized_name": "get-layouted-elements",
      "package_manager": "unknown",
      "path": "src/layout/getLayoutedElements.ts",
      "primary_category": "ai",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "logic,security",
      "component_id": "e2c4bd021435d7f0adf9a561",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for shipping; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:getDisplayLabel, isCountOnlyRows | logic-score:85 | security-score:55",
      "exports": "getDisplayLabel,isCountOnlyRows",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "3ce4d29aac42d326",
      "framework": "react",
      "imports": "",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "getDisplayLabel",
      "normalized_name": "get-display-label",
      "package_manager": "unknown",
      "path": "src/utils/getDisplayLabel.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic,security",
      "component_id": "eec179c37d45128513930153",
      "component_kind": "utility",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GetKeyColorOptions, getKeyColor, getValueColor | logic-score:85 | security-score:55",
      "exports": "GetKeyColorOptions,getKeyColor,getValueColor",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "1c6a85da1c5059d6",
      "framework": "react",
      "imports": "",
      "lines": 28,
      "logic_relevance": "primary",
      "name": "getColors",
      "normalized_name": "get-colors",
      "package_manager": "unknown",
      "path": "src/utils/getColors.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "ac92d2cf61c9ba36da6f9eaa",
      "component_kind": "parser",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:calculateNodeSize | logic-score:85",
      "exports": "calculateNodeSize",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "ee225db0a346304a",
      "framework": "react",
      "imports": "",
      "lines": 34,
      "logic_relevance": "primary",
      "name": "calculateNodeSize",
      "normalized_name": "calculate-node-size",
      "package_manager": "unknown",
      "path": "src/parser/calculateNodeSize.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "98cffb5bea09c21997f0e680",
      "component_kind": "parser",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addNodeToGraph | imports:./calculateNodeSize, ./types | logic-score:85",
      "exports": "addNodeToGraph",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "d8a8b90e88937c5c",
      "framework": "react",
      "imports": "./calculateNodeSize,./types",
      "lines": 36,
      "logic_relevance": "primary",
      "name": "addNodeToGraph",
      "normalized_name": "add-node-to-graph",
      "package_manager": "unknown",
      "path": "src/parser/addNodeToGraph.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic",
      "component_id": "0c7e5489b58664d96d7dac1a",
      "component_kind": "parser",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:addEdgeToGraph | imports:./types | logic-score:70",
      "exports": "addEdgeToGraph",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "0af230b6db905574",
      "framework": "react",
      "imports": "./types",
      "lines": 13,
      "logic_relevance": "primary",
      "name": "addEdgeToGraph",
      "normalized_name": "add-edge-to-graph",
      "package_manager": "unknown",
      "path": "src/parser/addEdgeToGraph.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,security",
      "component_id": "1f6cb38e0a20f46ececbe70f",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "jsonc-parser",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:parseJsonToGraph | imports:./addEdgeToGraph, ./addNodeToGraph, ./traverse, ./types, jsonc-parser | logic-score:85 | security-score:55",
      "exports": "parseJsonToGraph",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a477521d49dd8824",
      "framework": "react",
      "imports": "./addEdgeToGraph,./addNodeToGraph,./traverse,./types,jsonc-parser",
      "lines": 57,
      "logic_relevance": "primary",
      "name": "jsonParser",
      "normalized_name": "json-parser",
      "package_manager": "unknown",
      "path": "src/parser/jsonParser.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "logic",
      "component_id": "8bf3f6ce869dfc3e024a4354",
      "component_kind": "parser",
      "confidence": 65,
      "dependency_roots": "vitest",
      "description": "Logic component for testing; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "imports:./jsonParser, vitest | logic-score:85",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a658ed24c3dc9c98",
      "framework": "react",
      "imports": "./jsonParser,vitest",
      "lines": 24,
      "logic_relevance": "primary",
      "name": "jsonParser.test",
      "normalized_name": "json-parser",
      "package_manager": "unknown",
      "path": "src/parser/jsonParser.test.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "seo-and-metadata",
      "categories": "logic,security",
      "component_id": "cca27b69cbc588625c7e1eea",
      "component_kind": "parser",
      "confidence": 90,
      "dependency_roots": "jsonc-parser",
      "description": "Logic component for seo-and-metadata; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:ParserStates, TraverseParams, traverse | imports:./addEdgeToGraph, ./addNodeToGraph, ./calculateNodeSize, ./types, jsonc-parser | logic-score:85 | security-score:55",
      "exports": "ParserStates,TraverseParams,traverse",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "96fe4e09f1e928e1",
      "framework": "react",
      "imports": "./addEdgeToGraph,./addNodeToGraph,./calculateNodeSize,./types,jsonc-parser",
      "lines": 267,
      "logic_relevance": "primary",
      "name": "traverse",
      "normalized_name": "traverse",
      "package_manager": "unknown",
      "path": "src/parser/traverse.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 90
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "logic,security",
      "component_id": "cf818e1dff279dec3fe1e2e3",
      "component_kind": "parser",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Logic component for logic; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:GraphEdge, GraphNode, ParseResult | logic-score:70 | security-score:55",
      "exports": "GraphEdge,GraphNode,ParseResult",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "a1e8bde1b4bd2476",
      "framework": "react",
      "imports": "",
      "lines": 33,
      "logic_relevance": "primary",
      "name": "types",
      "normalized_name": "types",
      "package_manager": "unknown",
      "path": "src/parser/types.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability",
      "component_id": "6e9e3ee812702bc60fdc0c59",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "@mui/material",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:baseTheme | imports:@mui/material/styles | observability-score:55",
      "exports": "baseTheme",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "f8fc3d20b966204e",
      "framework": "react",
      "imports": "@mui/material/styles",
      "lines": 579,
      "logic_relevance": "none",
      "name": "baseTheme",
      "normalized_name": "base-theme",
      "package_manager": "unknown",
      "path": "src/styles/baseTheme.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "14a815279c1667cfeef8d88f",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "4caa0fac861e9ed0",
      "framework": "react",
      "imports": "",
      "lines": 45,
      "logic_relevance": "none",
      "name": "canela",
      "normalized_name": "canela",
      "package_manager": "unknown",
      "path": "src/styles/canela.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "c1109b9230c9010a820a11b1",
      "component_kind": "stylesheet",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "67c38581bc366c66",
      "framework": "react",
      "imports": "",
      "lines": 1,
      "logic_relevance": "none",
      "name": "fonts",
      "normalized_name": "fonts",
      "package_manager": "unknown",
      "path": "src/styles/fonts.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style,security",
      "component_id": "503849ac7f7f08d44f88280d",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f8a01e58f4107849",
      "framework": "react",
      "imports": "",
      "lines": 252,
      "logic_relevance": "none",
      "name": "globals",
      "normalized_name": "globals",
      "package_manager": "unknown",
      "path": "src/styles/globals.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "style",
      "component_id": "e56c30d890491f5391803df0",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for general; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "19bc185a8d88e971",
      "framework": "react",
      "imports": "",
      "lines": 15,
      "logic_relevance": "none",
      "name": "mono",
      "normalized_name": "mono",
      "package_manager": "unknown",
      "path": "src/styles/mono.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "style,observability,security",
      "component_id": "4bbf37f88d7e23e0fa4cea28",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for observability; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | observability-score:55 | security-score:55",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "677c2d578c543250",
      "framework": "react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "monoLisa",
      "normalized_name": "mono-lisa",
      "package_manager": "unknown",
      "path": "src/styles/monoLisa.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "9fc540555fbac6eb0b8cc5f8",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@storybook/react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ArrayRoot, Default, Nested, WithPropertyBlocks | imports:./JsonGraph, @storybook/react | frontend-score:85 | ui-score:55 | observability-score:55 | security-score:55",
      "exports": "ArrayRoot,Default,Nested,WithPropertyBlocks",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "55cc445f269b6bac",
      "framework": "react",
      "imports": "./JsonGraph,@storybook/react",
      "lines": 117,
      "logic_relevance": "none",
      "name": "JsonGraph.stories",
      "normalized_name": "json-graph",
      "package_manager": "unknown",
      "path": "src/components/JsonGraph.stories.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui,observability",
      "component_id": "2ebf09deac47d68ff32c06de",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@fortawesome/pro-regular-svg-icons,@fortawesome/react-fontawesome,@xyflow/react,clsx,react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonGraph, JsonGraphProps | imports:../layout/getLayoutedElements, ../parser/jsonParser, ../store/useJsonGraphStore, ../theme, ./edges/JsonGraphEdge, ./nodes/CustomNode, ./ui/popover, ./ui/slider | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "JsonGraph,JsonGraphProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "331eb59a9e3caa90",
      "framework": "react",
      "imports": "../layout/getLayoutedElements,../parser/jsonParser,../store/useJsonGraphStore,../theme,./edges/JsonGraphEdge,./nodes/CustomNode,./ui/popover,./ui/slider,./ui/tooltip,@fortawesome/pro-regular-svg-icons,@fortawesome/react-fontawesome,@xyflow/react,clsx,react",
      "lines": 320,
      "logic_relevance": "none",
      "name": "JsonGraph",
      "normalized_name": "json-graph",
      "package_manager": "unknown",
      "path": "src/components/JsonGraph.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend,security",
      "component_id": "26d7ba938e18bd0997ce52c4",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-slider,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Slider | imports:../../lib/utils, @radix-ui/react-slider, react | ui-score:140 | frontend-score:115 | security-score:55",
      "exports": "Slider",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "1508884fceae8d6b",
      "framework": "react",
      "imports": "../../lib/utils,@radix-ui/react-slider,react",
      "lines": 63,
      "logic_relevance": "none",
      "name": "slider",
      "normalized_name": "slider",
      "package_manager": "unknown",
      "path": "src/components/ui/slider.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "ui,frontend",
      "component_id": "b846cbbfeb4392cfc1d2e837",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-popover,react",
      "description": "UI component for editor; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Popover, PopoverAnchor, PopoverContent, PopoverTrigger | imports:../../lib/utils, @radix-ui/react-popover, react | ui-score:140 | frontend-score:115",
      "exports": "Popover,PopoverAnchor,PopoverContent,PopoverTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "44d96922b13fa871",
      "framework": "react",
      "imports": "../../lib/utils,@radix-ui/react-popover,react",
      "lines": 48,
      "logic_relevance": "none",
      "name": "popover",
      "normalized_name": "popover",
      "package_manager": "unknown",
      "path": "src/components/ui/popover.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "ui,frontend",
      "component_id": "e2e27a1c2f861e89f839bf78",
      "component_kind": "ui-primitive",
      "confidence": 100,
      "dependency_roots": "@radix-ui/react-tooltip,react",
      "description": "UI component for general; catalog as reusable frontend surface or design-system primitive.",
      "evidence": "exports:Tooltip, TooltipContent, TooltipProvider, TooltipTrigger | imports:../../lib/utils, @radix-ui/react-tooltip, react | ui-score:140 | frontend-score:115",
      "exports": "Tooltip,TooltipContent,TooltipProvider,TooltipTrigger",
      "extension": ".tsx",
      "extraction_status": "shared-ui-candidate",
      "file_hash": "feea9296d48d2357",
      "framework": "react",
      "imports": "../../lib/utils,@radix-ui/react-tooltip,react",
      "lines": 61,
      "logic_relevance": "none",
      "name": "tooltip",
      "normalized_name": "tooltip",
      "package_manager": "unknown",
      "path": "src/components/ui/tooltip.tsx",
      "primary_category": "ui",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "e8a8800e37a2f0a9d3a7e1d0",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TextRenderer, TextRendererProps | imports:react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "TextRenderer,TextRendererProps",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "d87ebe4a5523fa23",
      "framework": "react",
      "imports": "react",
      "lines": 15,
      "logic_relevance": "none",
      "name": "TextRenderer",
      "normalized_name": "text-renderer",
      "package_manager": "unknown",
      "path": "src/components/nodes/TextRenderer.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui,security",
      "component_id": "eecdd3f50f6046f53fc1f235",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:CustomNode | imports:../../theme, ../../utils/getDisplayLabel, ./ObjectNode, ./TextNode, @xyflow/react, react | frontend-score:115 | ui-score:70 | security-score:55",
      "exports": "CustomNode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "6e2568c8892a0b96",
      "framework": "react",
      "imports": "../../theme,../../utils/getDisplayLabel,./ObjectNode,./TextNode,@xyflow/react,react",
      "lines": 52,
      "logic_relevance": "none",
      "name": "CustomNode",
      "normalized_name": "custom-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/CustomNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "19ee12a6dd33e5fb0191a8ca",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LinkBreakButton | imports:../icons, react | frontend-score:115 | ui-score:70 | observability-score:55",
      "exports": "LinkBreakButton",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "51ea7b2323ac1cf3",
      "framework": "react",
      "imports": "../icons,react",
      "lines": 17,
      "logic_relevance": "none",
      "name": "LinkBreakButton",
      "normalized_name": "link-break-button",
      "package_manager": "unknown",
      "path": "src/components/nodes/LinkBreakButton.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "32c781cfe60f6feaba153236",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:RootNode | imports:../../theme, ../../utils/getColors, @xyflow/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "RootNode",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6f0a6250455bf43d",
      "framework": "react",
      "imports": "../../theme,../../utils/getColors,@xyflow/react,react",
      "lines": 39,
      "logic_relevance": "none",
      "name": "RootNode",
      "normalized_name": "root-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/RootNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8136f3470e4e7e0ccc5be090",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:TextNode | imports:../../store/useJsonGraphStore, ../../theme, ../../utils/getColors, ../icons, ./ForeignNodeWrapper, ./LinkBreakButton, ./TextRenderer, @xyflow/react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "TextNode",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "bfc6939f43fa1ed5",
      "framework": "react",
      "imports": "../../store/useJsonGraphStore,../../theme,../../utils/getColors,../icons,./ForeignNodeWrapper,./LinkBreakButton,./TextRenderer,@xyflow/react,react",
      "lines": 97,
      "logic_relevance": "none",
      "name": "TextNode",
      "normalized_name": "text-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/TextNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "010ed349617bb8a9ae14c11a",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:LeafNode | imports:../../theme, ../../utils/getColors, @xyflow/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "LeafNode",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "e47ff80875e533bd",
      "framework": "react",
      "imports": "../../theme,../../utils/getColors,@xyflow/react,react",
      "lines": 57,
      "logic_relevance": "none",
      "name": "LeafNode",
      "normalized_name": "leaf-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/LeafNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "analytics",
      "categories": "frontend,ui",
      "component_id": "488b2a4f34e308bd54690f26",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for analytics; review as feature component, provider, page, or hook.",
      "evidence": "exports:ForeignNodeWrapper, ForeignNodeWrapperProps | imports:react | frontend-score:115 | ui-score:70",
      "exports": "ForeignNodeWrapper,ForeignNodeWrapperProps",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "9b9dcd19d0983b37",
      "framework": "react",
      "imports": "react",
      "lines": 42,
      "logic_relevance": "none",
      "name": "ForeignNodeWrapper",
      "normalized_name": "foreign-node-wrapper",
      "package_manager": "unknown",
      "path": "src/components/nodes/ForeignNodeWrapper.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "frontend,ui",
      "component_id": "03984d5dd8148d861d17ec48",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for commerce; review as feature component, provider, page, or hook.",
      "evidence": "exports:PrimitiveNode | imports:@xyflow/react, react | frontend-score:115 | ui-score:70",
      "exports": "PrimitiveNode",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "fa48919c2651588d",
      "framework": "react",
      "imports": "@xyflow/react,react",
      "lines": 27,
      "logic_relevance": "none",
      "name": "PrimitiveNode",
      "normalized_name": "primitive-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/PrimitiveNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "94a93f746b7ac73e26d9a396",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:IntermediateNode | imports:../../store/useJsonGraphStore, ../../theme, ../../utils/getColors, ./LinkBreakButton, @xyflow/react, react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "IntermediateNode",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "1a19d8e8caf19716",
      "framework": "react",
      "imports": "../../store/useJsonGraphStore,../../theme,../../utils/getColors,./LinkBreakButton,@xyflow/react,react",
      "lines": 58,
      "logic_relevance": "none",
      "name": "IntermediateNode",
      "normalized_name": "intermediate-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/IntermediateNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability,security",
      "component_id": "8d6674da9dda57988040945e",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:ObjectNode | imports:../../store/useJsonGraphStore, ../../theme, ../../utils/getColors, ../icons, ./ForeignNodeWrapper, ./LinkBreakButton, ./TextRenderer, @xyflow/react | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55",
      "exports": "ObjectNode",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6eaeb312e52b6b1c",
      "framework": "react",
      "imports": "../../store/useJsonGraphStore,../../theme,../../utils/getColors,../icons,./ForeignNodeWrapper,./LinkBreakButton,./TextRenderer,@xyflow/react,react",
      "lines": 111,
      "logic_relevance": "none",
      "name": "ObjectNode",
      "normalized_name": "object-node",
      "package_manager": "unknown",
      "path": "src/components/nodes/ObjectNode.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "6357f16cec7a66df63992682",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:LinkIcon | imports:react | frontend-score:115 | ui-score:70",
      "exports": "LinkIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "61ffa7a87eb1a360",
      "framework": "react",
      "imports": "react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "LinkIcon",
      "normalized_name": "link-icon",
      "package_manager": "unknown",
      "path": "src/components/icons/LinkIcon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "frontend,ui",
      "component_id": "70085f540e0d3e9d9592ec32",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "react",
      "description": "Frontend component for general; review as feature component, provider, page, or hook.",
      "evidence": "exports:LinkBreakIcon | imports:react | frontend-score:115 | ui-score:70",
      "exports": "LinkBreakIcon",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "e051fc5cf484cfc1",
      "framework": "react",
      "imports": "react",
      "lines": 22,
      "logic_relevance": "none",
      "name": "LinkBreakIcon",
      "normalized_name": "link-break-icon",
      "package_manager": "unknown",
      "path": "src/components/icons/LinkBreakIcon.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "frontend,ui",
      "component_id": "628b7acc490b2aec48faf4be",
      "component_kind": "feature-ui",
      "confidence": 100,
      "dependency_roots": "@xyflow/react,react",
      "description": "Frontend component for design-system; review as feature component, provider, page, or hook.",
      "evidence": "exports:JsonGraphEdge | imports:../../theme, @xyflow/react, react | frontend-score:115 | ui-score:70",
      "exports": "JsonGraphEdge",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "ca8b0347606a96e7",
      "framework": "react",
      "imports": "../../theme,@xyflow/react,react",
      "lines": 60,
      "logic_relevance": "none",
      "name": "JsonGraphEdge",
      "normalized_name": "json-graph-edge",
      "package_manager": "unknown",
      "path": "src/components/edges/JsonGraphEdge.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "logic",
      "component_id": "e2069ae47895763e1de75f56",
      "component_kind": "utility",
      "confidence": 90,
      "dependency_roots": "clsx,tailwind-merge",
      "description": "Logic component for design-system; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:cn, getImageSrc, useClient | imports:clsx, tailwind-merge | logic-score:85",
      "exports": "cn,getImageSrc,useClient",
      "extension": ".ts",
      "extraction_status": "shared-logic-candidate",
      "file_hash": "54c702d1ab50af2c",
      "framework": "react",
      "imports": "clsx,tailwind-merge",
      "lines": 41,
      "logic_relevance": "primary",
      "name": "utils",
      "normalized_name": "utils",
      "package_manager": "unknown",
      "path": "src/lib/utils.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 95
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "711c14fa7872a7e01b20c609",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "f12f63aa23f67f74",
      "framework": "react",
      "imports": "",
      "lines": 41,
      "logic_relevance": "none",
      "name": "base.shared",
      "normalized_name": "base-shared",
      "package_manager": "unknown",
      "path": "src/themes/base.shared.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "ai",
      "categories": "style",
      "component_id": "59fc891ce875563009820c49",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for ai; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "16c6bd1536b93fdd",
      "framework": "react",
      "imports": "",
      "lines": 70,
      "logic_relevance": "none",
      "name": "doflo",
      "normalized_name": "doflo",
      "package_manager": "unknown",
      "path": "src/themes/doflo.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 80
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "design-system",
      "categories": "style",
      "component_id": "122ff635e58197ee7e6fda46",
      "component_kind": "design-token",
      "confidence": 50,
      "dependency_roots": "",
      "description": "Style component for design-system; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "35cbf109b749d571",
      "framework": "react",
      "imports": "",
      "lines": 2,
      "logic_relevance": "none",
      "name": "fonts",
      "normalized_name": "fonts",
      "package_manager": "unknown",
      "path": "src/themes/fonts.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 75
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style",
      "component_id": "fd8dafa558fefdf2bb91e709",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "7c489afcf7905f93",
      "framework": "react",
      "imports": "",
      "lines": 81,
      "logic_relevance": "none",
      "name": "proc",
      "normalized_name": "proc",
      "package_manager": "unknown",
      "path": "src/themes/proc.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "881ad47dcaad35722f31e1fd",
      "component_kind": "design-token",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "c5c8591297252ded",
      "framework": "react",
      "imports": "",
      "lines": 141,
      "logic_relevance": "none",
      "name": "base",
      "normalized_name": "base",
      "package_manager": "unknown",
      "path": "src/themes/base.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "logic",
      "component_id": "7c07dacd1411c2b1c38a8dcf",
      "component_kind": "state-store",
      "confidence": 80,
      "dependency_roots": "zustand",
      "description": "Logic component for workflow; review for shared parser, validator, transformer, state, scoring, or domain utility.",
      "evidence": "exports:JsonGraphState, getVisibleNodeIds, useJsonGraphStore | imports:zustand | logic-score:85",
      "exports": "JsonGraphState,getVisibleNodeIds,useJsonGraphStore",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "2ce370c62abeae30",
      "framework": "react",
      "imports": "zustand",
      "lines": 46,
      "logic_relevance": "primary",
      "name": "useJsonGraphStore",
      "normalized_name": "use-json-graph-store",
      "package_manager": "unknown",
      "path": "src/store/useJsonGraphStore.ts",
      "primary_category": "logic",
      "process_relevance": "none",
      "repo": "process-co__json-graph",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,automation",
      "component_id": "400b8c5cff6a5051faf01b76",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:100 | observability-score:55 | automation-score:45",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "58cf3903c86f0e4f",
      "framework": "react",
      "imports": "",
      "lines": 173,
      "logic_relevance": "none",
      "name": "DEPENDENCY-RESOLUTION",
      "normalized_name": "dependency-resolution",
      "package_manager": "unknown",
      "path": "DEPENDENCY-RESOLUTION.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "ae5187525273d9939a75461c",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@fortawesome/pro-solid-svg-icons,@fortawesome/react-fontawesome,@process.co/ui",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ConfigUI | imports:@fortawesome/pro-solid-svg-icons, @fortawesome/react-fontawesome, @process.co/ui | process-score:145 | observability-score:55 | security-score:55",
      "exports": "ConfigUI",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "01a64a2500925c76",
      "framework": "react",
      "imports": "@fortawesome/pro-solid-svg-icons,@fortawesome/react-fontawesome,@process.co/ui",
      "lines": 228,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 65
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,ai",
      "component_id": "1e17c82811d5946441fbcf83",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@process.co/ui,@process.co/utilities",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:MyAction | imports:@process.co/ui, @process.co/utilities | process-score:100 | observability-score:55 | ai-score:45",
      "exports": "MyAction",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "de49e76037dc18c3",
      "framework": "react",
      "imports": "@process.co/ui,@process.co/utilities",
      "lines": 176,
      "logic_relevance": "none",
      "name": "MONOREPO-DEV-MODE",
      "normalized_name": "monorepo-dev-mode",
      "package_manager": "unknown",
      "path": "MONOREPO-DEV-MODE.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation",
      "component_id": "0c07adfa049000436ba7e4dc",
      "component_kind": "observability-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "observability-score:55 | security-score:55 | automation-score:45",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "a6d01bd7fa292202",
      "framework": "react",
      "imports": "",
      "lines": 109,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,process,ui,observability,security,automation",
      "component_id": "f9ba6e30b616e609c2da6395",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@process.co/ui,react,react-dom,react-error-boundary",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DevServer, VALUE_STORAGE_KEY | imports:@process.co/ui, @process.co/ui/dev, react, react-dom/client, react-error-boundary | frontend-score:90 | process-score:80 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "DevServer,VALUE_STORAGE_KEY",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "6d6925760a645191",
      "framework": "react",
      "imports": "@process.co/ui,@process.co/ui/dev,react,react-dom/client,react-error-boundary",
      "lines": 492,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": ".process/index.tsx",
      "primary_category": "frontend",
      "process_relevance": "secondary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability,security",
      "component_id": "fe4208d936f54f03a2afe8ae",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@vitejs/plugin-react,child_process,fs,path,util,vite",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:DEBUG | imports:@vitejs/plugin-react, child_process, fs, path, util, vite | process-score:80 | observability-score:55 | security-score:55 | uses-env",
      "exports": "DEBUG",
      "extension": ".cjs",
      "extraction_status": "catalog-only",
      "file_hash": "17e4e4d7a5d5bbbd",
      "framework": "react",
      "imports": "@vitejs/plugin-react,child_process,fs,path,util,vite",
      "lines": 555,
      "logic_relevance": "none",
      "name": "vite.config",
      "normalized_name": "vite-config",
      "package_manager": "unknown",
      "path": ".process/vite.config.cjs",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "commerce",
      "categories": "style,process",
      "component_id": "9367b8284cedddb58d7713aa",
      "component_kind": "stylesheet",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Style component for commerce; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130 | process-score:45",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "87e4a9ff51ebd2af",
      "framework": "react",
      "imports": "",
      "lines": 18,
      "logic_relevance": "none",
      "name": "eds",
      "normalized_name": "eds",
      "package_manager": "unknown",
      "path": ".process/eds.css",
      "primary_category": "style",
      "process_relevance": "secondary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "general",
      "categories": "security,process",
      "component_id": "82b83002e59cfbd998fb5093",
      "component_kind": "security-module",
      "confidence": 65,
      "dependency_roots": "",
      "description": "Security component for general; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55 | process-score:45",
      "exports": "",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "0318c49ae595eda8",
      "framework": "react",
      "imports": "",
      "lines": 26,
      "logic_relevance": "none",
      "name": "vite-env.d",
      "normalized_name": "vite-env-d",
      "package_manager": "unknown",
      "path": ".process/vite-env.d.ts",
      "primary_category": "security",
      "process_relevance": "secondary",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui,observability",
      "component_id": "6bdff8a774cb7c98a3021940",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "fs,ink,meow,path,react",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:App | imports:./logo.js, ./ui.js, fs, ink, meow, path, react | frontend-score:90 | ui-score:70 | observability-score:55",
      "exports": "App",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "82ce54f59c5c5d36",
      "framework": "react",
      "imports": "./logo.js,./ui.js,fs,ink,meow,path,react",
      "lines": 56,
      "logic_relevance": "none",
      "name": "cli",
      "normalized_name": "cli",
      "package_manager": "unknown",
      "path": "src/cli.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "frontend,ui",
      "component_id": "92f5be6e6093538f1bded677",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "fs,ink,path,react,url",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:lengthAsSpace | imports:fs, ink, path, react, url | frontend-score:90 | ui-score:70",
      "exports": "lengthAsSpace",
      "extension": ".tsx",
      "extraction_status": "catalog-only",
      "file_hash": "9181ced2382286da",
      "framework": "react",
      "imports": "fs,ink,path,react,url",
      "lines": 31,
      "logic_relevance": "none",
      "name": "logo",
      "normalized_name": "logo",
      "package_manager": "unknown",
      "path": "src/logo.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "frontend,ui,observability,security,automation,ai",
      "component_id": "6f33e0ab0ad1ef5196e8c901",
      "component_kind": "feature-ui",
      "confidence": 90,
      "dependency_roots": "@process.co/element-dev-support,fs,ink,ink-select-input,path,react,url,vite",
      "description": "Frontend component for observability; review as feature component, provider, page, or hook.",
      "evidence": "exports:DevUI | imports:@process.co/element-dev-support/dist/index.js, fs, ink, ink-select-input, path, react, url, vite | frontend-score:115 | ui-score:70 | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45 | uses-env",
      "exports": "DevUI",
      "extension": ".tsx",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "096ad50a9fc568b6",
      "framework": "react",
      "imports": "@process.co/element-dev-support/dist/index.js,fs,ink,ink-select-input,path,react,url,vite",
      "lines": 685,
      "logic_relevance": "none",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "src/ui.tsx",
      "primary_category": "frontend",
      "process_relevance": "none",
      "repo": "process-co__npm-element-dev-server",
      "reuse_score": 35
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "534dae893b5b9b28baf59ea3",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "@process.co/element-dev-support",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@process.co/element-dev-support | process-score:145",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "0f46fe5ddb252c65",
      "framework": "unknown",
      "imports": "@process.co/element-dev-support",
      "lines": 38,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-dev-support",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "bcd19e106a9a37c14dc7daae",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "45b4bcb8fac912c6",
      "framework": "unknown",
      "imports": "",
      "lines": 43,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__npm-element-dev-support",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "shipping",
      "categories": "process",
      "component_id": "0da2cd29b0c08dd1014e093b",
      "component_kind": "process-document",
      "confidence": 70,
      "dependency_roots": "@process.co/element-types",
      "description": "Process component for shipping; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ExampleApp, ExampleAppInstance | imports:@process.co/element-types | process-score:145",
      "exports": "ExampleApp,ExampleAppInstance",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7bd24c30605ab380",
      "framework": "unknown",
      "imports": "@process.co/element-types",
      "lines": 62,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "a051d1516eabdba71cbe87dd",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "1840474fdd28447d",
      "framework": "unknown",
      "imports": "",
      "lines": 37,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "fa3889d87fc53a15e80cc5bb",
      "component_kind": "observability-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ActionAuthoringContract, ActionContractByFern, ActionPropKeys, AuthoringPropContract, AuthoringPropWireKind, ChildStepsPropertyForBranch, ELEMENT_AUTHORING_CONTRACT_VERSION, ElementAuthoringCatalogContract | observability-score:55 | security-score:55",
      "exports": "ActionAuthoringContract,ActionContractByFern,ActionPropKeys,AuthoringPropContract,AuthoringPropWireKind,ChildStepsPropertyForBranch,ELEMENT_AUTHORING_CONTRACT_VERSION,ElementAuthoringCatalogContract,FernAuthoringShardFileV1,SignalAuthoringContract,SlotBranchAuthoringContract,SlotsAuthoringContract,X",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "cf9817b544d29bd5",
      "framework": "unknown",
      "imports": "",
      "lines": 132,
      "logic_relevance": "none",
      "name": "authoring-contract-types",
      "normalized_name": "authoring-contract-types",
      "package_manager": "unknown",
      "path": "src/authoring-contract-types.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "workflow",
      "categories": "security",
      "component_id": "1d1f4dfb4b0a29aa4d38d973",
      "component_kind": "security-module",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Security component for workflow; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:MaterializedSlotBranch, MaterializedSlotDefinition, MaterializedSlotLayout, materializeSlotDefinition | imports:./slot-definition | security-score:55",
      "exports": "MaterializedSlotBranch,MaterializedSlotDefinition,MaterializedSlotLayout,materializeSlotDefinition",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "ea40943fbcd3fb5e",
      "framework": "unknown",
      "imports": "./slot-definition",
      "lines": 88,
      "logic_relevance": "none",
      "name": "materialize-slot-definition",
      "normalized_name": "materialize-slot-definition",
      "package_manager": "unknown",
      "path": "src/materialize-slot-definition.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "9863667a0c038963dd132c66",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:BuiltinActionSlotsFern, BuiltinActionSlotsRegistry, InferBuiltinActionSlots, builtinActionSlotsRegistry | imports:./slot-definition | observability-score:55 | security-score:55",
      "exports": "BuiltinActionSlotsFern,BuiltinActionSlotsRegistry,InferBuiltinActionSlots,builtinActionSlotsRegistry",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "5dd9d3d5c47c3161",
      "framework": "unknown",
      "imports": "./slot-definition",
      "lines": 36,
      "logic_relevance": "none",
      "name": "builtin-action-slots-registry",
      "normalized_name": "builtin-action-slots-registry",
      "package_manager": "unknown",
      "path": "src/builtin-action-slots-registry.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "54e420c8b3599fced9cd3497",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:ActionAuthoringContract, ActionContractByFern, ActionPropKeys, AuthoringPropContract, AuthoringPropWireKind, ChildStepsPropertyForBranch, ELEMENT_AUTHORING_CONTRACT_VERSION, ElementAuthoringCatalogContract | imports:./materialize-authoring-from-cli-output, ./materialize-slot-definition, ./process-element-cli-output | observability-score:55 | security-score:55",
      "exports": "ActionAuthoringContract,ActionContractByFern,ActionPropKeys,AuthoringPropContract,AuthoringPropWireKind,ChildStepsPropertyForBranch,ELEMENT_AUTHORING_CONTRACT_VERSION,ElementAuthoringCatalogContract,FernAuthoringShardFileV1,SignalAuthoringContract,SlotBranchAuthoringContract,SlotsAuthoringContract,X,authoringCatalogContractFromCliOutput,toAuthoringCatalogContract",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "fa1adcdad6037090",
      "framework": "unknown",
      "imports": "./materialize-authoring-from-cli-output,./materialize-slot-definition,./process-element-cli-output",
      "lines": 243,
      "logic_relevance": "none",
      "name": "authoring-contract",
      "normalized_name": "authoring-contract",
      "package_manager": "unknown",
      "path": "src/authoring-contract.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 50
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "observability,security",
      "component_id": "c342fb1f37825e62f4d3f876",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:MaterializedActionAuthoringEntry, MaterializedAuthoringCatalog, MaterializedPropAuthoring, MaterializedSignalAuthoringEntry, buildProcessActionFern, buildProcessSignalFern, materializeAuthoringCatalogFromCliOutput | imports:./materialize-slot-definition, ./process-element-cli-output | observability-score:55 | security-score:55",
      "exports": "MaterializedActionAuthoringEntry,MaterializedAuthoringCatalog,MaterializedPropAuthoring,MaterializedSignalAuthoringEntry,buildProcessActionFern,buildProcessSignalFern,materializeAuthoringCatalogFromCliOutput",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "42689b9c6f24a024",
      "framework": "unknown",
      "imports": "./materialize-slot-definition,./process-element-cli-output",
      "lines": 157,
      "logic_relevance": "none",
      "name": "materialize-authoring-from-cli-output",
      "normalized_name": "materialize-authoring-from-cli-output",
      "package_manager": "unknown",
      "path": "src/materialize-authoring-from-cli-output.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "logic",
      "categories": "backend,logic",
      "component_id": "ac4605963f719859648d8dea",
      "component_kind": "backend-module",
      "confidence": 90,
      "dependency_roots": "zod",
      "description": "Backend component for logic; review for shared API, service, middleware, or server helper extraction.",
      "evidence": "exports:ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS, zodObjectToContainerExportJsonSchema | imports:zod | backend-score:90 | logic-score:85",
      "exports": "ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS,zodObjectToContainerExportJsonSchema",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "255ba690b25bda73",
      "framework": "unknown",
      "imports": "zod",
      "lines": 23,
      "logic_relevance": "secondary",
      "name": "zod-container-export-json-schema",
      "normalized_name": "zod-container-export-json-schema",
      "package_manager": "unknown",
      "path": "src/zod-container-export-json-schema.ts",
      "primary_category": "backend",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "observability,security,automation,ai",
      "component_id": "a5f53cc54debdff4a29f3bc8",
      "component_kind": "observability-module",
      "confidence": 90,
      "dependency_roots": "zod",
      "description": "Observability component for observability; review for shared tracing, logging, health, or telemetry helper.",
      "evidence": "exports:Action, ActionInstance, ActionMethod, ActionRunOptions, ActionRunParams, DeriveActionInstance, DeriveAppInstance, DeriveSignalInstance | imports:./authoring-contract-types, ./builtin-action-slots-registry, ./platform-loader-type, ./process-element-cli-output, ./slot-definition, ./zod-container-export-json-schema, zod | observability-score:55 | security-score:55 | automation-score:45 | ai-score:45",
      "exports": "Action,ActionInstance,ActionMethod,ActionRunOptions,ActionRunParams,DeriveActionInstance,DeriveAppInstance,DeriveSignalInstance,ELEMENT_AUTHORING_CONTRACT_VERSION,ElementAction,ElementApp,ElementBoolean,ElementIcon,ElementInteger,ElementNumber,ElementObject,ElementSignal,ElementSource,ElementString,ElementTrigger,ElementUIProps,EmitMetadata,FileMetadata,FlowControlExtensions,FlowFunctions,HTTPAuthenticationType,HTTPResponse,HttpInterfaceSchemaWire,IApi,IFile,IdEmitMetadata,JSONValue,ModuleDefinition,ModuleShape,ModuleWithThis,OnChangeOpts,PLATFORM_BOUND_LOADER_TYPE_PREFIXES,ProcessFunctions,ProcessInternalFunctions,ProcessTicket,PropDefinition,PropDefinitionType,PropDefinitionTypes,PropFileDefinitionTypes,PropObjectDefinitionTypes,PropStringDefinitionTypes,PropType,RunReturn,SendConfigEmail,SendConfigEmit,SendConfigHTTP,SendConfigHTTPAuth,SendConfigHTTPKv,SendConfigS3,SendConfigSSE,SendFunctionsWrapper,SendPayload,Signal,SignalEventShape,SignalHostServices,SignalInstance,SignalMethod,SignalRunOptions,SlotTransitionDefinition,Spread,UppercaseHTTPMethod,ValidateEmitPayloadResult,WithThis,ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS,builtinActionSlotsRegistry,defineAction,defineApp,defineSignal,isPlatformBoundLoaderType,type BuiltinActionSlotsFern,type BuiltinActionSlotsRegistry,type InferBuiltinActionSlots,zodObjectToContainerExportJsonSchema",
      "extension": ".ts",
      "extraction_status": "site-specific-or-low-confidence",
      "file_hash": "19266fa6beefb138",
      "framework": "unknown",
      "imports": "./authoring-contract-types,./builtin-action-slots-registry,./platform-loader-type,./process-element-cli-output,./slot-definition,./zod-container-export-json-schema,zod",
      "lines": 712,
      "logic_relevance": "none",
      "name": "index",
      "normalized_name": "index",
      "package_manager": "unknown",
      "path": "src/index.ts",
      "primary_category": "observability",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 40
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "auth-and-keys",
      "categories": "process,security,automation",
      "component_id": "870125c4452d3e3739541697",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "",
      "description": "Process component for auth-and-keys; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ProcessElementActionCliWire, ProcessElementCliOutputWire, ProcessElementPropCliWire, ProcessElementSignalCliWire | imports:./slot-definition | process-score:80 | security-score:55 | automation-score:45",
      "exports": "ProcessElementActionCliWire,ProcessElementCliOutputWire,ProcessElementPropCliWire,ProcessElementSignalCliWire",
      "extension": ".ts",
      "extraction_status": "shared-process-candidate",
      "file_hash": "0aa1ff1d9d38c777",
      "framework": "unknown",
      "imports": "./slot-definition",
      "lines": 85,
      "logic_relevance": "none",
      "name": "process-element-cli-output",
      "normalized_name": "process-element-cli-output",
      "package_manager": "unknown",
      "path": "src/process-element-cli-output.ts",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-element-types",
      "reuse_score": 70
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "21aa8674821e75292780abd3",
      "component_kind": "security-module",
      "confidence": 70,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "exports:PLATFORM_BOUND_LOADER_TYPE_PREFIXES, isPlatformBoundLoaderType | security-score:55",
      "exports": "PLATFORM_BOUND_LOADER_TYPE_PREFIXES,isPlatformBoundLoaderType",
      "extension": ".ts",
      "extraction_status": "catalog-only",
      "file_hash": "4b30b1a1edce0d27",
      "framework": "unknown",
      "imports": "",
      "lines": 14,
      "logic_relevance": "none",
      "name": "platform-loader-type",
      "normalized_name": "platform-loader-type",
      "package_manager": "unknown",
      "path": "src/platform-loader-type.ts",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__npm-element-types",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "testing",
      "categories": "process",
      "component_id": "b59d9690514fe0cad08e2cd2",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "@process.co/utilities",
      "description": "Process component for testing; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "imports:@process.co/utilities | process-score:145",
      "exports": "",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "1e1dd5954ac2f64b",
      "framework": "unknown",
      "imports": "@process.co/utilities",
      "lines": 39,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__npm-utilities",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "770be39526153001acc7ad5f",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "82e6dbd71ee6446c",
      "framework": "unknown",
      "imports": "",
      "lines": 38,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__npm-utilities",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "secondary",
      "capability": "observability",
      "categories": "process,observability,security,automation",
      "component_id": "0ee5d88b982a2bf4e98fc082",
      "component_kind": "process-document",
      "confidence": 80,
      "dependency_roots": "@process.co/ui,switchExpression",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "exports:ConditionalEditor, MyControl | imports:@process.co/ui, @process.co/ui/fields, @process.co/ui/slots, switchExpression | process-score:145 | observability-score:55 | security-score:55 | automation-score:45",
      "exports": "ConditionalEditor,MyControl",
      "extension": ".md",
      "extraction_status": "catalog-only",
      "file_hash": "7bc6eb2bb89b5bb5",
      "framework": "react",
      "imports": "@process.co/ui,@process.co/ui/fields,@process.co/ui/slots,switchExpression",
      "lines": 620,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-co__ui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "auth-and-keys",
      "categories": "security",
      "component_id": "86efd7d36737ebf43e7ec127",
      "component_kind": "security-module",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Security component for auth-and-keys; review for shared auth, key handling, fingerprinting, or trust signal module.",
      "evidence": "security-score:55",
      "exports": "",
      "extension": ".json",
      "extraction_status": "catalog-only",
      "file_hash": "04997e78dbf822d2",
      "framework": "react",
      "imports": "",
      "lines": 91,
      "logic_relevance": "none",
      "name": "package",
      "normalized_name": "package",
      "package_manager": "unknown",
      "path": "package.json",
      "primary_category": "security",
      "process_relevance": "none",
      "repo": "process-co__ui",
      "reuse_score": 55
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "editor",
      "categories": "style",
      "component_id": "33eecbf6b50338c37dd40904",
      "component_kind": "stylesheet",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Style component for editor; review for shared tokens, theme, palette, Tailwind, or global style normalization.",
      "evidence": "style-score:130",
      "exports": "",
      "extension": ".css",
      "extraction_status": "shared-style-candidate",
      "file_hash": "aa9f05343c03b005",
      "framework": "react",
      "imports": "",
      "lines": 2919,
      "logic_relevance": "none",
      "name": "ui",
      "normalized_name": "ui",
      "package_manager": "unknown",
      "path": "css/ui.css",
      "primary_category": "style",
      "process_relevance": "none",
      "repo": "process-co__ui",
      "reuse_score": 20
    },
    {
      "ai_scaffold_recommended": true,
      "automation_relevance": "none",
      "capability": "observability",
      "categories": "process,observability",
      "component_id": "8cdf99679eb1b965c66dbf19",
      "component_kind": "process-document",
      "confidence": 55,
      "dependency_roots": "",
      "description": "Process component for observability; review for reusable SOP, runbook, onboarding, checklist, or operating model.",
      "evidence": "process-score:145 | observability-score:55",
      "exports": "",
      "extension": ".md",
      "extraction_status": "shared-process-candidate",
      "file_hash": "21d428379a8f0117",
      "framework": "unknown",
      "imports": "",
      "lines": 48,
      "logic_relevance": "none",
      "name": "README",
      "normalized_name": "readme",
      "package_manager": "unknown",
      "path": "profile/README.md",
      "primary_category": "process",
      "process_relevance": "primary",
      "repo": "process-partners__.github",
      "reuse_score": 70
    }
  ],
  "duplicates": [
    {
      "component_kind": "process-document",
      "file_count": 436,
      "normalized_name": "readme",
      "paths": "mbarbine__2025-year-in-review-webby:README.md | mbarbine__DCF-Audit-Scripts:README.md | mbarbine__FlaskFlow-www:README.md | mbarbine__JenkinsDB:README.txt | mbarbine__JenkinsDB:Powershell Scripts, Files, and Tasks/Scheduled Tasks/README.txt | mbarbine__JenkinsDB:Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/README.txt | mbarbine__JenkinsDB:Powershell Scripts, Files, and Tasks/Directory Structure/DATA (E DRIVE)/E-Colon-Slash XML/builds/README.txt | mbarbine__JenkinsDB:SQL/Jenkins/README.txt | mbarbine__JenkinsDB:SQL/Jenkins/StoredProcedures/README.txt | mbarbine__JenkinsDB:SQL/Jenkins/Tables/README.txt | mbarbine__JenkinsDB:SQL/Jenkins/SQL Agent Jobs/README.txt | mbarbine__JenkinsDB:SQL/Jenkins/Views/README.txt | mbarbine__Joshs-magnets-landing-page:README.md | mbarbine__LogSlash-w6:README.md | mbarbine__PH3AR-WEBBY:README.md | mbarbine__Scripts:README.md | mbarbine__Scripts:h4x/dagah-ios/README.md | mbarbine__Scripts:h4x/dagah-ios/readme.txt | mbarbine__Scripts:h4x/dagah-modem-bridge/README.md | mbarbine__Scripts:h4x/dagah-server/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/functionalTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/performanceTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Archive/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Resources/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/campaignlabels/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Scripts/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Templates/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/campaigns/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/iOS/profiles/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/guiTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/regressionTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/platformTests/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/readme.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/nginx_reverse_proxy/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/build-essential/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/rsyslog/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/java/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/brakeman_python/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/brakeman_python/files/default/brakeman_python/readme.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/mariadb-master/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apache2/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apache2/test/kitchen/cookbooks/apache2_test/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/yum/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/nginx/README.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/runit/README.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 185,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__DCF-Audit-Scripts, mbarbine__FlaskFlow-www, mbarbine__JenkinsDB, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__Scripts, mbarbine__Starphone-CMS, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__aws-lab, mbarbine__aws-next-k8-cluster-deploy, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beepboopprocess, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__car-service-records, mbarbine__cdf-sanitize, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__docker-terraform-aws-demo, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__email-reading-service-webby, mbarbine__evernote-js, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__foxio-labs, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby"
    },
    {
      "component_kind": "page",
      "file_count": 1354,
      "normalized_name": "page",
      "paths": "mbarbine__2025-year-in-review-webby:app/page.tsx | mbarbine__FlaskFlow-www:app/page.tsx | mbarbine__Joshs-magnets-landing-page:app/page.tsx | mbarbine__LogSlash-w6:app/page.tsx | mbarbine__PH3AR-WEBBY:src/assets/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/contact/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/privacy/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/roadmap/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/faq/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/about/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/watch-this/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/careers/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/jobs/+page.svelte | mbarbine__PH3AR-WEBBY:src/routes/api-docs/+page.svelte | mbarbine__ai-chat-interface-webby:app/page.tsx | mbarbine__ai-chat-interface-webby:app/roadmap/page.tsx | mbarbine__ai-chat-interface-webby:app/faq/page.tsx | mbarbine__ai-chat-interface-webby:app/docs/page.tsx | mbarbine__ai-chat-interface-webby:app/jobs/page.tsx | mbarbine__airrow-commuter-balloon:app/[locale]/page.tsx | mbarbine__airrow-commuter-balloon:app/api/docs/page.tsx | mbarbine__autographed-bibles-webby:app/page.tsx | mbarbine__autographed-bibles-webby:app/success/page.tsx | mbarbine__autographed-bibles-webby:app/faq/page.tsx | mbarbine__autographed-bibles-webby:app/admin/page.tsx | mbarbine__autographed-bibles-webby:app/admin/settings/page.tsx | mbarbine__autographed-bibles-webby:app/admin/edit/[id]/page.tsx | mbarbine__autographed-bibles-webby:app/admin/add/page.tsx | mbarbine__autographed-bibles-webby:app/admin/inventory/page.tsx | mbarbine__autographed-bibles-webby:app/admin/orders/page.tsx | mbarbine__autographed-bibles-webby:app/checkout/[productId]/page.tsx | mbarbine__autographed-bibles-webby:app/reserve/page.tsx | mbarbine__autographed-bibles-webby:app/jobs/page.tsx | mbarbine__autographed-bibles-webby:app/login/page.tsx | mbarbine__automotive-flamethrower-webby:app/page.tsx | mbarbine__automotive-flamethrower-webby:app/api/docs/page.tsx | mbarbine__barbine-worldwide-2025-wwww:app/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/insights/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/contact/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/privacy/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/terms/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/about/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/work/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/work/[slug]/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/advisory/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/cookies/page.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/services/page.tsx | mbarbine__beer-museum-manager-www:app/page.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 153,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__jaydens-therapy-legal-www, mbarbine__job-manager, mbarbine__jts-hvac-gates-www, mbarbine__legacy-platphorm-news, mbarbine__mailthing-api"
    },
    {
      "component_kind": "layout",
      "file_count": 222,
      "normalized_name": "layout",
      "paths": "mbarbine__2025-year-in-review-webby:app/layout.tsx | mbarbine__FlaskFlow-www:app/layout.tsx | mbarbine__Joshs-magnets-landing-page:app/layout.tsx | mbarbine__LogSlash-w6:app/layout.tsx | mbarbine__PH3AR-WEBBY:src/routes/+layout.svelte | mbarbine__ai-chat-interface-webby:app/layout.tsx | mbarbine__airrow-commuter-balloon:app/[locale]/layout.tsx | mbarbine__autographed-bibles-webby:app/layout.tsx | mbarbine__autographed-bibles-webby:app/admin/layout.tsx | mbarbine__automotive-flamethrower-webby:app/layout.tsx | mbarbine__barbine-worldwide-2025-wwww:app/layout.tsx | mbarbine__barbineworldwide-2026-metahack:app/layout.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/layout.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/contact/layout.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/privacy/layout.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/terms/layout.tsx | mbarbine__barbineworldwide-2026-metahack:app/(marketing)/cookies/layout.tsx | mbarbine__beer-museum-manager-www:app/layout.tsx | mbarbine__beer-museum-manager-www:app/museum-admin/layout.tsx | mbarbine__beer-museum-manager-www:app/admin/layout.tsx | mbarbine__biocyber-xr-training-nasa-webby-v0:app/layout.tsx | mbarbine__burrito-dealer-www:app/layout.tsx | mbarbine__calendar-app-webby:app/layout.tsx | mbarbine__calendar-app-webby:app/(dashboard)/layout.tsx | mbarbine__car-service-records:app/layout.tsx | mbarbine__car-service-records:app/garage/layout.tsx | mbarbine__civic-engagement-platform-webby:app/layout.tsx | mbarbine__crafted-virginia-website:app/layout.tsx | mbarbine__desert-bus:app/layout.tsx | mbarbine__dinoblocks-www:app/layout.tsx | mbarbine__doflo-clone:app/layout.tsx | mbarbine__dogstar-cybernetics-webby:app/layout.tsx | mbarbine__drone-reel-webby:app/layout.tsx | mbarbine__email-reading-service-webby:app/layout.tsx | mbarbine__fashion-sadiepass-WWW:app/layout.tsx | mbarbine__fortune-cookie-webby:app/layout.tsx | mbarbine__fortune-cookie-webby-yj:app/layout.tsx | mbarbine__front-runners-webby:app/layout.tsx | mbarbine__game-porting-service-webby:app/layout.tsx | mbarbine__game-porting-service-webby:app/admin/layout.tsx | mbarbine__game-porting-service-webby:app/dashboard/layout.tsx | mbarbine__gamer:app/layout.tsx | mbarbine__glass-blowing-website:app/layout.tsx | mbarbine__global-anti-globalist-club-webby:app/layout.tsx | mbarbine__gta-6-countdown-webby:app/layout.tsx | mbarbine__hot-chocolate-for-profit-webby:app/layout.tsx | mbarbine__ja4-vercel-lab-2:app/layout.tsx | mbarbine__jaydens-therapy-legal-www:app/layout.tsx | mbarbine__jts-hvac-gates-www:app/layout.tsx | mbarbine__legacy-platphorm-news:src/+layout.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 148,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__legacy-platphorm-news, mbarbine__mailthing-api, mbarbine__mailthing-main"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 261,
      "normalized_name": "globals",
      "paths": "mbarbine__2025-year-in-review-webby:app/globals.css | mbarbine__2025-year-in-review-webby:styles/globals.css | mbarbine__FlaskFlow-www:app/globals.css | mbarbine__FlaskFlow-www:styles/globals.css | mbarbine__Joshs-magnets-landing-page:app/globals.css | mbarbine__Joshs-magnets-landing-page:styles/globals.css | mbarbine__LogSlash-w6:app/globals.css | mbarbine__LogSlash-w6:styles/globals.css | mbarbine__ai-chat-interface-webby:app/globals.css | mbarbine__airrow-commuter-balloon:app/globals.css | mbarbine__airrow-commuter-balloon:styles/globals.css | mbarbine__autographed-bibles-webby:app/globals.css | mbarbine__autographed-bibles-webby:styles/globals.css | mbarbine__automotive-flamethrower-webby:app/globals.css | mbarbine__automotive-flamethrower-webby:styles/globals.css | mbarbine__barbine-worldwide-2025-wwww:app/globals.css | mbarbine__barbine-worldwide-2025-wwww:styles/globals.css | mbarbine__barbineworldwide-2026-metahack:app/globals.css | mbarbine__barbineworldwide-2026-metahack:styles/globals.css | mbarbine__beer-museum-manager-www:app/globals.css | mbarbine__beer-museum-manager-www:styles/globals.css | mbarbine__biocyber-xr-training-nasa-webby-v0:app/globals.css | mbarbine__biocyber-xr-training-nasa-webby-v0:styles/globals.css | mbarbine__burrito-dealer-www:app/globals.css | mbarbine__burrito-dealer-www:styles/globals.css | mbarbine__calendar-app-webby:app/globals.css | mbarbine__calendar-app-webby:styles/globals.css | mbarbine__car-service-records:app/globals.css | mbarbine__car-service-records:styles/globals.css | mbarbine__civic-engagement-platform-webby:app/globals.css | mbarbine__civic-engagement-platform-webby:styles/globals.css | mbarbine__crafted-virginia-website:app/globals.css | mbarbine__crafted-virginia-website:styles/globals.css | mbarbine__desert-bus:app/globals.css | mbarbine__desert-bus:styles/globals.css | mbarbine__dinoblocks-www:app/globals.css | mbarbine__dinoblocks-www:styles/globals.css | mbarbine__doflo-clone:app/globals.css | mbarbine__doflo-clone:styles/globals.css | mbarbine__dogstar-cybernetics-webby:app/globals.css | mbarbine__dogstar-cybernetics-webby:styles/globals.css | mbarbine__drone-reel-webby:app/globals.css | mbarbine__drone-reel-webby:styles/globals.css | mbarbine__email-reading-service-webby:app/globals.css | mbarbine__email-reading-service-webby:styles/globals.css | mbarbine__fashion-sadiepass-WWW:app/globals.css | mbarbine__fashion-sadiepass-WWW:styles/globals.css | mbarbine__fortune-cookie-webby:app/globals.css | mbarbine__fortune-cookie-webby-yj:app/globals.css | mbarbine__foxio-labs:styles/globals.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 147,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__foxio-labs, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__jaydens-therapy-legal-www, mbarbine__job-manager, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-api, mbarbine__mailthing-main"
    },
    {
      "component_kind": "observability-module",
      "file_count": 142,
      "normalized_name": "pnpm-lock",
      "paths": "mbarbine__2025-year-in-review-webby:pnpm-lock.yaml | mbarbine__FlaskFlow-www:pnpm-lock.yaml | mbarbine__Joshs-magnets-landing-page:pnpm-lock.yaml | mbarbine__LogSlash-w6:pnpm-lock.yaml | mbarbine__ai-chat-interface-webby:pnpm-lock.yaml | mbarbine__airrow-commuter-balloon:pnpm-lock.yaml | mbarbine__autographed-bibles-webby:pnpm-lock.yaml | mbarbine__automotive-flamethrower-webby:pnpm-lock.yaml | mbarbine__barbine-worldwide-2025-wwww:pnpm-lock.yaml | mbarbine__barbineworldwide-2026-metahack:pnpm-lock.yaml | mbarbine__beer-museum-manager-www:pnpm-lock.yaml | mbarbine__biocyber-xr-training-nasa-webby-v0:pnpm-lock.yaml | mbarbine__burrito-dealer-www:pnpm-lock.yaml | mbarbine__calendar-app-webby:pnpm-lock.yaml | mbarbine__car-service-records:pnpm-lock.yaml | mbarbine__civic-engagement-platform-webby:pnpm-lock.yaml | mbarbine__crafted-virginia-website:pnpm-lock.yaml | mbarbine__desert-bus:pnpm-lock.yaml | mbarbine__dinoblocks-www:pnpm-lock.yaml | mbarbine__doflo-clone:pnpm-lock.yaml | mbarbine__dogstar-cybernetics-webby:pnpm-lock.yaml | mbarbine__drone-reel-webby:pnpm-lock.yaml | mbarbine__evernote-js:pnpm-lock.yaml | mbarbine__fashion-sadiepass-WWW:pnpm-lock.yaml | mbarbine__fortune-cookie-webby:pnpm-lock.yaml | mbarbine__fortune-cookie-webby-yj:pnpm-lock.yaml | mbarbine__front-runners-webby:pnpm-lock.yaml | mbarbine__game-porting-service-webby:pnpm-lock.yaml | mbarbine__gamer:pnpm-lock.yaml | mbarbine__glass-blowing-website:pnpm-lock.yaml | mbarbine__global-anti-globalist-club-webby:pnpm-lock.yaml | mbarbine__gta-6-countdown-webby:pnpm-lock.yaml | mbarbine__hot-chocolate-for-profit-webby:pnpm-lock.yaml | mbarbine__ja4-vercel-lab-2:pnpm-lock.yaml | mbarbine__jaydens-therapy-legal-www:pnpm-lock.yaml | mbarbine__jts-hvac-gates-www:pnpm-lock.yaml | mbarbine__mailthing-api:pnpm-lock.yaml | mbarbine__mailthing-client:pnpm-lock.yaml | mbarbine__mailthing-main:pnpm-lock.yaml | mbarbine__mermaid-community-platform:pnpm-lock.yaml | mbarbine__microwave-stickers-:pnpm-lock.yaml | mbarbine__multiplayer-puzzle-game:pnpm-lock.yaml | mbarbine__my-first-nova-hbackers-preseo:pnpm-lock.yaml | mbarbine__news-api:pnpm-lock.yaml | mbarbine__nextjs-ai-4:pnpm-lock.yaml | mbarbine__nextjs-ai-chatbot:pnpm-lock.yaml | mbarbine__nova-hackers-webby:pnpm-lock.yaml | mbarbine__nuclear-power-plant-webby-NPaaS:pnpm-lock.yaml | mbarbine__onboard-platphorm-boilerplate-repo:pnpm-lock.yaml | mbarbine__ph3ar-admin-dashboard:pnpm-lock.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 142,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__evernote-js, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-api, mbarbine__mailthing-client, mbarbine__mailthing-main, mbarbine__mermaid-community-platform"
    },
    {
      "component_kind": "observability-module",
      "file_count": 139,
      "normalized_name": "package",
      "paths": "mbarbine__2025-year-in-review-webby:package.json | mbarbine__FlaskFlow-www:package.json | mbarbine__Joshs-magnets-landing-page:package.json | mbarbine__LogSlash-w6:package.json | mbarbine__ai-chat-interface-webby:package.json | mbarbine__airrow-commuter-balloon:package.json | mbarbine__autographed-bibles-webby:package.json | mbarbine__automotive-flamethrower-webby:package.json | mbarbine__barbine-worldwide-2025-wwww:package.json | mbarbine__barbineworldwide-2026-metahack:package.json | mbarbine__beer-museum-manager-www:package.json | mbarbine__biocyber-xr-training-nasa-webby-v0:package.json | mbarbine__burrito-dealer-www:package.json | mbarbine__calendar-app-webby:package.json | mbarbine__car-service-records:package.json | mbarbine__civic-engagement-platform-webby:package.json | mbarbine__crafted-virginia-website:package.json | mbarbine__desert-bus:package.json | mbarbine__dinoblocks-www:package.json | mbarbine__doflo-clone:package.json | mbarbine__dogstar-cybernetics-webby:package.json | mbarbine__drone-reel-webby:package.json | mbarbine__email-reading-service-webby:package.json | mbarbine__fashion-sadiepass-WWW:package.json | mbarbine__fortune-cookie-webby:package.json | mbarbine__fortune-cookie-webby-yj:package.json | mbarbine__front-runners-webby:package.json | mbarbine__game-porting-service-webby:package.json | mbarbine__gamer:package.json | mbarbine__glass-blowing-website:package.json | mbarbine__global-anti-globalist-club-webby:package.json | mbarbine__gta-6-countdown-webby:package.json | mbarbine__hot-chocolate-for-profit-webby:package.json | mbarbine__instant-snap-postcard:package.json | mbarbine__jaydens-therapy-legal-www:package.json | mbarbine__jts-hvac-gates-www:package.json | mbarbine__mailthing-main:package.json | mbarbine__mermaid-community-platform:package.json | mbarbine__mermaid-next-www:package.json | mbarbine__microwave-sticker-webby:package.json | mbarbine__microwave-stickers-:package.json | mbarbine__multiplayer-puzzle-game:package.json | mbarbine__my-first-nova-hbackers-preseo:package.json | mbarbine__nextjs-ai-4:package.json | mbarbine__nextjs-ai-chatbot:package.json | mbarbine__nova-hackers-webby:package.json | mbarbine__nuclear-power-plant-webby-NPaaS:package.json | mbarbine__onboard-platphorm-boilerplate-repo:package.json | mbarbine__ph3ar-admin-dashboard:package.json | mbarbine__ph3ar-blog:package.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 139,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 146,
      "normalized_name": "button",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/button.tsx | mbarbine__FlaskFlow-www:components/ui/button.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/button.tsx | mbarbine__LogSlash-w6:components/ui/button.tsx | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/js/button.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/backend/button.js | mbarbine__ai-chat-interface-webby:components/ui/button.tsx | mbarbine__airrow-commuter-balloon:components/ui/button.tsx | mbarbine__autographed-bibles-webby:components/ui/button.tsx | mbarbine__automotive-flamethrower-webby:components/ui/button.tsx | mbarbine__barbine-worldwide-2025-wwww:components/ui/button.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/button.tsx | mbarbine__beer-museum-manager-www:components/ui/button.tsx | mbarbine__biocyber-xr-training-nasa-webby-v0:components/ui/button.tsx | mbarbine__burrito-dealer-www:components/ui/button.tsx | mbarbine__calendar-app-webby:components/ui/button.tsx | mbarbine__car-service-records:components/ui/button.tsx | mbarbine__civic-engagement-platform-webby:components/ui/button.tsx | mbarbine__crafted-virginia-website:components/ui/button.tsx | mbarbine__desert-bus:components/ui/button.tsx | mbarbine__dinoblocks-www:components/ui/button.tsx | mbarbine__doflo-clone:components/ui/button.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/button.tsx | mbarbine__drone-reel-webby:components/ui/button.tsx | mbarbine__email-reading-service-webby:components/ui/button.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/button.tsx | mbarbine__fortune-cookie-webby:components/ui/button.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/button.tsx | mbarbine__front-runners-webby:components/ui/button.tsx | mbarbine__game-porting-service-webby:components/ui/button.tsx | mbarbine__gamer:components/ui/button.tsx | mbarbine__glass-blowing-website:components/ui/button.tsx | mbarbine__gta-6-countdown-webby:components/ui/button.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/button.tsx | mbarbine__instant-snap-postcard:src/components/ui/button.tsx | mbarbine__jaydens-therapy-legal-www:components/ui/button.tsx | mbarbine__jts-hvac-gates-www:components/ui/button.tsx | mbarbine__mailthing-main:components/ui/Button/Button.tsx | mbarbine__mermaid-community-platform:components/ui/button.tsx | mbarbine__mermaid-next-www:components/ui/button.tsx | mbarbine__microwave-sticker-webby:components/ui/button.test.tsx | mbarbine__microwave-sticker-webby:components/ui/button.tsx | mbarbine__microwave-stickers-:components/ui/button.tsx | mbarbine__multiplayer-puzzle-game:components/ui/button.tsx | mbarbine__my-first-nova-hbackers-preseo:components/Button/Button.stories.tsx | mbarbine__my-first-nova-hbackers-preseo:components/Button/Button.tsx | mbarbine__nextjs-ai-4:components/ui/button.tsx | mbarbine__nextjs-ai-chatbot:components/ui/button.tsx | mbarbine__nova-hackers-webby:components/ui/button.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/button.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 136,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby"
    },
    {
      "component_kind": "utility",
      "file_count": 181,
      "normalized_name": "utils",
      "paths": "mbarbine__2025-year-in-review-webby:lib/utils.ts | mbarbine__FlaskFlow-www:lib/utils.ts | mbarbine__Joshs-magnets-landing-page:lib/utils.ts | mbarbine__LogSlash-w6:lib/utils.ts | mbarbine__ai-chat-interface-webby:lib/utils.ts | mbarbine__airrow-commuter-balloon:lib/utils.ts | mbarbine__autographed-bibles-webby:lib/utils.ts | mbarbine__automotive-flamethrower-webby:lib/utils.ts | mbarbine__barbine-worldwide-2025-wwww:lib/utils.ts | mbarbine__barbineworldwide-2026-metahack:__tests__/lib/utils.test.ts | mbarbine__barbineworldwide-2026-metahack:lib/utils.ts | mbarbine__beer-museum-manager-www:lib/utils.ts | mbarbine__biocyber-xr-training-nasa-webby-v0:lib/utils.ts | mbarbine__burrito-dealer-www:lib/utils.ts | mbarbine__calendar-app-webby:__tests__/lib/utils.test.ts | mbarbine__calendar-app-webby:lib/utils.ts | mbarbine__car-service-records:tests/lib/utils.test.ts | mbarbine__car-service-records:lib/utils.ts | mbarbine__civic-engagement-platform-webby:lib/utils.ts | mbarbine__crafted-virginia-website:lib/utils.ts | mbarbine__desert-bus:__tests__/lib/utils.test.ts | mbarbine__desert-bus:lib/utils.ts | mbarbine__dinoblocks-www:lib/utils.ts | mbarbine__doflo-clone:lib/utils.ts | mbarbine__dogstar-cybernetics-webby:lib/utils.ts | mbarbine__drone-reel-webby:lib/utils.ts | mbarbine__email-reading-service-webby:lib/utils.ts | mbarbine__fashion-sadiepass-WWW:lib/utils.ts | mbarbine__fortune-cookie-webby:lib/utils.ts | mbarbine__fortune-cookie-webby-yj:tests/utils.test.ts | mbarbine__fortune-cookie-webby-yj:lib/utils.ts | mbarbine__front-runners-webby:lib/utils.ts | mbarbine__game-porting-service-webby:lib/utils.ts | mbarbine__gamer:lib/utils.ts | mbarbine__glass-blowing-website:lib/utils.ts | mbarbine__global-anti-globalist-club-webby:lib/utils.ts | mbarbine__gta-6-countdown-webby:lib/utils.ts | mbarbine__hot-chocolate-for-profit-webby:lib/utils.ts | mbarbine__instant-snap-postcard:src/lib/utils.ts | mbarbine__jaydens-therapy-legal-www:lib/utils.ts | mbarbine__jts-hvac-gates-www:lib/utils.ts | mbarbine__legacy-platphorm-news:src/utils/utils.ts | mbarbine__lettuce:module-lwe/src/utils.rs | mbarbine__lettuce:ring-lwe/src/utils.rs | mbarbine__mailthing-main:utils/utils.ts | mbarbine__mermaid-community-platform:lib/utils.ts | mbarbine__microwave-sticker-webby:lib/utils.ts | mbarbine__microwave-stickers-:lib/utils.ts | mbarbine__multiplayer-puzzle-game:lib/utils.ts | mbarbine__news-api:src/utils/utils.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 135,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__legacy-platphorm-news, mbarbine__lettuce, mbarbine__mailthing-main, mbarbine__mermaid-community-platform"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 130,
      "normalized_name": "card",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/card.tsx | mbarbine__FlaskFlow-www:components/ui/card.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/card.tsx | mbarbine__ai-chat-interface-webby:components/ui/card.tsx | mbarbine__autographed-bibles-webby:components/ui/card.tsx | mbarbine__automotive-flamethrower-webby:components/ui/card.tsx | mbarbine__barbine-worldwide-2025-wwww:components/ui/card.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/card.tsx | mbarbine__beer-museum-manager-www:components/ui/card.tsx | mbarbine__biocyber-xr-training-nasa-webby-v0:components/ui/card.tsx | mbarbine__burrito-dealer-www:components/ui/card.tsx | mbarbine__calendar-app-webby:components/ui/card.tsx | mbarbine__car-service-records:components/ui/card.tsx | mbarbine__civic-engagement-platform-webby:components/ui/card.tsx | mbarbine__crafted-virginia-website:components/ui/card.tsx | mbarbine__desert-bus:components/ui/card.tsx | mbarbine__dinoblocks-www:components/ui/card.tsx | mbarbine__doflo-clone:components/ui/card.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/card.tsx | mbarbine__drone-reel-webby:components/ui/card.tsx | mbarbine__email-reading-service-webby:components/ui/card.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/card.tsx | mbarbine__fortune-cookie-webby:components/ui/card.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/card.tsx | mbarbine__front-runners-webby:components/ui/card.tsx | mbarbine__game-porting-service-webby:components/ui/card.tsx | mbarbine__gamer:components/ui/card.tsx | mbarbine__glass-blowing-website:components/ui/card.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/card.tsx | mbarbine__instant-snap-postcard:src/components/ui/card.tsx | mbarbine__jaydens-therapy-legal-www:components/ui/card.tsx | mbarbine__jts-hvac-gates-www:components/ui/card.tsx | mbarbine__mailthing-main:components/ui/Card/Card.tsx | mbarbine__mermaid-community-platform:components/ui/card.tsx | mbarbine__microwave-sticker-webby:components/ui/card.tsx | mbarbine__microwave-sticker-webby:components/ui/card.test.tsx | mbarbine__microwave-stickers-:components/ui/card.tsx | mbarbine__multiplayer-puzzle-game:components/ui/card.tsx | mbarbine__nextjs-ai-4:components/ui/card.tsx | mbarbine__nextjs-ai-chatbot:components/ui/card.tsx | mbarbine__nova-hackers-webby:components/ui/card.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/card.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/card.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/card.tsx | mbarbine__ph3ar-chatbot:components/ui/card.tsx | mbarbine__platphorm-404:components/ui/card.tsx | mbarbine__platphorm-agentui:tests/components/card.test.tsx | mbarbine__platphorm-agentui:components/ui/card.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/card.tsx | mbarbine__platphorm-alleycats:components/ui/card.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 126,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby"
    },
    {
      "component_kind": "api-route",
      "file_count": 3089,
      "normalized_name": "route",
      "paths": "mbarbine__FlaskFlow-www:app/api/create-checkout-session/route.ts | mbarbine__Joshs-magnets-landing-page:app/.well-known/llms.txt/route.ts | mbarbine__Joshs-magnets-landing-page:app/api/mcp/route.ts | mbarbine__ai-chat-interface-webby:app/api/health/route.ts | mbarbine__ai-chat-interface-webby:app/api/network/graph/route.ts | mbarbine__ai-chat-interface-webby:app/api/mcp/route.ts | mbarbine__ai-chat-interface-webby:app/api/docs/route.ts | mbarbine__ai-chat-interface-webby:app/api/claws/route.ts | mbarbine__ai-chat-interface-webby:app/api/jobs/route.ts | mbarbine__airrow-commuter-balloon:app/rss.xml/route.ts | mbarbine__airrow-commuter-balloon:app/api/v1/stats/route.ts | mbarbine__airrow-commuter-balloon:app/api/mcp-stats/route.ts | mbarbine__airrow-commuter-balloon:app/api/webhooks/n8n/route.ts | mbarbine__autographed-bibles-webby:app/llms.txt/route.ts | mbarbine__autographed-bibles-webby:app/rss.xml/route.ts | mbarbine__autographed-bibles-webby:app/.well-known/ai-plugin.json/route.ts | mbarbine__autographed-bibles-webby:app/llms-full.txt/route.ts | mbarbine__autographed-bibles-webby:app/api/v1/bibles/route.ts | mbarbine__autographed-bibles-webby:app/api/v1/bibles/[id]/route.ts | mbarbine__autographed-bibles-webby:app/api/bibles/route.ts | mbarbine__autographed-bibles-webby:app/api/bibles/[id]/route.ts | mbarbine__autographed-bibles-webby:app/api/health/route.ts | mbarbine__autographed-bibles-webby:app/api/network/route.ts | mbarbine__autographed-bibles-webby:app/api/network/register/route.ts | mbarbine__autographed-bibles-webby:app/api/mcp/route.ts | mbarbine__autographed-bibles-webby:app/api/docs/route.ts | mbarbine__autographed-bibles-webby:app/api/orders/route.ts | mbarbine__autographed-bibles-webby:app/api/webhooks/stripe/route.ts | mbarbine__autographed-bibles-webby:app/api/openapi.json/route.ts | mbarbine__autographed-bibles-webby:app/api/stats/route.ts | mbarbine__autographed-bibles-webby:app/llms-index.json/route.ts | mbarbine__automotive-flamethrower-webby:app/feed.xml/route.ts | mbarbine__automotive-flamethrower-webby:app/api/v1/route.ts | mbarbine__automotive-flamethrower-webby:app/api/v1/mcp/route.ts | mbarbine__automotive-flamethrower-webby:app/api/health/route.ts | mbarbine__automotive-flamethrower-webby:app/api/network/graph/route.ts | mbarbine__barbineworldwide-2026-metahack:app/llms.txt/route.ts | mbarbine__barbineworldwide-2026-metahack:app/rss.xml/route.ts | mbarbine__barbineworldwide-2026-metahack:app/feed.xml/route.ts | mbarbine__barbineworldwide-2026-metahack:app/llms-full.txt/route.ts | mbarbine__barbineworldwide-2026-metahack:app/llms-index.txt/route.ts | mbarbine__barbineworldwide-2026-metahack:app/api/v1/contact/route.ts | mbarbine__barbineworldwide-2026-metahack:app/api/v1/health/route.ts | mbarbine__barbineworldwide-2026-metahack:app/api/v1/subscribe/route.ts | mbarbine__barbineworldwide-2026-metahack:app/api/docs/route.ts | mbarbine__barbineworldwide-2026-metahack:app/api/events/route.ts | mbarbine__barbineworldwide-2026-metahack:app/api/webhooks/route.ts | mbarbine__beer-museum-manager-www:app/api/auth/logout/route.ts | mbarbine__beer-museum-manager-www:app/api/auth/login/route.ts | mbarbine__beer-museum-manager-www:app/api/admin/exhibits/route.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 125,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__job-manager, mbarbine__mailthing-api, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__my-first-nova-hbackers-preseo, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404"
    },
    {
      "component_kind": "ui-provider",
      "file_count": 132,
      "normalized_name": "theme-provider",
      "paths": "mbarbine__2025-year-in-review-webby:components/theme-provider.tsx | mbarbine__FlaskFlow-www:components/theme-provider.tsx | mbarbine__Joshs-magnets-landing-page:components/theme-provider.tsx | mbarbine__LogSlash-w6:components/theme-provider.tsx | mbarbine__ai-chat-interface-webby:components/theme-provider.tsx | mbarbine__airrow-commuter-balloon:components/theme-provider.tsx | mbarbine__autographed-bibles-webby:components/theme-provider.tsx | mbarbine__automotive-flamethrower-webby:components/theme-provider.tsx | mbarbine__barbine-worldwide-2025-wwww:components/theme-provider.tsx | mbarbine__barbineworldwide-2026-metahack:components/theme-provider.tsx | mbarbine__beer-museum-manager-www:components/theme-provider.tsx | mbarbine__biocyber-xr-training-nasa-webby-v0:components/theme-provider.tsx | mbarbine__burrito-dealer-www:components/theme-provider.tsx | mbarbine__calendar-app-webby:components/theme-provider.tsx | mbarbine__car-service-records:components/theme-provider.tsx | mbarbine__civic-engagement-platform-webby:components/theme-provider.tsx | mbarbine__crafted-virginia-website:components/theme-provider.tsx | mbarbine__desert-bus:components/theme-provider.tsx | mbarbine__dinoblocks-www:components/theme-provider.tsx | mbarbine__doflo-clone:components/theme-provider.tsx | mbarbine__dogstar-cybernetics-webby:components/theme-provider.tsx | mbarbine__drone-reel-webby:components/theme-provider.tsx | mbarbine__email-reading-service-webby:components/theme-provider.tsx | mbarbine__fashion-sadiepass-WWW:components/theme-provider.tsx | mbarbine__fortune-cookie-webby:components/theme-provider.tsx | mbarbine__fortune-cookie-webby-yj:tests/theme-provider.test.tsx | mbarbine__fortune-cookie-webby-yj:components/theme-provider.tsx | mbarbine__front-runners-webby:components/theme-provider.tsx | mbarbine__game-porting-service-webby:components/theme-provider.tsx | mbarbine__gamer:components/theme-provider.tsx | mbarbine__glass-blowing-website:components/theme-provider.tsx | mbarbine__global-anti-globalist-club-webby:components/theme-provider.tsx | mbarbine__gta-6-countdown-webby:components/theme-provider.tsx | mbarbine__hot-chocolate-for-profit-webby:components/theme-provider.tsx | mbarbine__jaydens-therapy-legal-www:components/theme-provider.tsx | mbarbine__jts-hvac-gates-www:components/theme-provider.tsx | mbarbine__mermaid-community-platform:components/theme-provider.tsx | mbarbine__microwave-sticker-webby:components/theme-provider.tsx | mbarbine__microwave-stickers-:components/theme-provider.tsx | mbarbine__multiplayer-puzzle-game:components/theme-provider.tsx | mbarbine__nextjs-ai-4:components/theme-provider.tsx | mbarbine__nextjs-ai-chatbot:components/theme-provider.tsx | mbarbine__nova-hackers-webby:components/theme-provider.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/theme-provider.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/theme-provider.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/theme-provider.test.tsx | mbarbine__ph3ar-chatbot:components/theme-provider.tsx | mbarbine__platphorm-404:components/theme-provider.tsx | mbarbine__platphorm-agentui:tests/components/theme-provider.test.tsx | mbarbine__platphorm-agentui:tests/components/providers/theme-provider.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 124,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 125,
      "normalized_name": "input",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/input.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/input.tsx | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/src/input/input.js | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/pagination/input.js | mbarbine__ai-chat-interface-webby:components/ui/input.tsx | mbarbine__airrow-commuter-balloon:components/ui/input.tsx | mbarbine__autographed-bibles-webby:components/ui/input.tsx | mbarbine__automotive-flamethrower-webby:components/ui/input.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/input.tsx | mbarbine__beer-museum-manager-www:components/ui/input.tsx | mbarbine__burrito-dealer-www:components/ui/input.tsx | mbarbine__calendar-app-webby:components/ui/input.tsx | mbarbine__car-service-records:components/ui/input.tsx | mbarbine__civic-engagement-platform-webby:components/ui/input.tsx | mbarbine__crafted-virginia-website:components/ui/input.tsx | mbarbine__desert-bus:components/ui/input.tsx | mbarbine__dinoblocks-www:components/ui/input.tsx | mbarbine__doflo-clone:components/ui/input.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/input.tsx | mbarbine__drone-reel-webby:components/ui/input.tsx | mbarbine__email-reading-service-webby:components/ui/input.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/input.tsx | mbarbine__fortune-cookie-webby:components/ui/input.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/input.tsx | mbarbine__front-runners-webby:components/ui/input.tsx | mbarbine__game-porting-service-webby:components/ui/input.tsx | mbarbine__gamer:components/ui/input.tsx | mbarbine__glass-blowing-website:components/ui/input.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/input.tsx | mbarbine__instant-snap-postcard:src/components/ui/input.tsx | mbarbine__jaydens-therapy-legal-www:components/ui/input.tsx | mbarbine__mailthing-main:components/ui/Input/Input.tsx | mbarbine__mermaid-community-platform:components/ui/input.tsx | mbarbine__mermaid-next-www:components/ui/input.tsx | mbarbine__microwave-sticker-webby:components/ui/input.test.tsx | mbarbine__microwave-sticker-webby:components/ui/input.tsx | mbarbine__microwave-stickers-:components/ui/input.tsx | mbarbine__multiplayer-puzzle-game:components/ui/input.tsx | mbarbine__nextjs-ai-4:components/ui/input.tsx | mbarbine__nextjs-ai-chatbot:components/ui/input.tsx | mbarbine__nova-hackers-webby:components/ui/input.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/input.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/input.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/input.tsx | mbarbine__ph3ar-chatbot:components/ui/input.tsx | mbarbine__platphorm-404:components/ui/input.tsx | mbarbine__platphorm-agentui:tests/components/input.test.tsx | mbarbine__platphorm-agentui:components/ui/input.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/input.tsx | mbarbine__platphorm-alleycats:components/ui/input.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 120,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 119,
      "normalized_name": "badge",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/badge.tsx | mbarbine__FlaskFlow-www:components/ui/badge.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/badge.tsx | mbarbine__LogSlash-w6:components/ui/badge.tsx | mbarbine__ai-chat-interface-webby:components/ui/badge.tsx | mbarbine__autographed-bibles-webby:components/ui/badge.tsx | mbarbine__automotive-flamethrower-webby:components/ui/badge.tsx | mbarbine__barbine-worldwide-2025-wwww:components/ui/badge.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/badge.tsx | mbarbine__beer-museum-manager-www:components/ui/badge.tsx | mbarbine__burrito-dealer-www:components/ui/badge.tsx | mbarbine__calendar-app-webby:components/ui/badge.tsx | mbarbine__car-service-records:components/ui/badge.tsx | mbarbine__civic-engagement-platform-webby:components/ui/badge.tsx | mbarbine__crafted-virginia-website:components/ui/badge.tsx | mbarbine__desert-bus:components/ui/badge.tsx | mbarbine__dinoblocks-www:components/ui/badge.tsx | mbarbine__doflo-clone:components/ui/badge.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/badge.tsx | mbarbine__drone-reel-webby:components/ui/badge.tsx | mbarbine__email-reading-service-webby:components/ui/badge.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/badge.tsx | mbarbine__fortune-cookie-webby:components/ui/badge.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/badge.tsx | mbarbine__game-porting-service-webby:components/ui/badge.tsx | mbarbine__gamer:components/ui/badge.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/badge.tsx | mbarbine__instant-snap-postcard:src/components/ui/badge.tsx | mbarbine__jaydens-therapy-legal-www:components/ui/badge.tsx | mbarbine__jts-hvac-gates-www:components/ui/badge.tsx | mbarbine__mermaid-community-platform:components/ui/badge.tsx | mbarbine__microwave-sticker-webby:components/ui/badge.test.tsx | mbarbine__microwave-sticker-webby:components/ui/badge.tsx | mbarbine__microwave-stickers-:components/ui/badge.tsx | mbarbine__multiplayer-puzzle-game:components/ui/badge.tsx | mbarbine__nova-hackers-webby:components/ui/badge.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/badge.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/badge.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/badge.tsx | mbarbine__platphorm-404:components/ui/badge.tsx | mbarbine__platphorm-agentui:components/ui/badge.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/badge.tsx | mbarbine__platphorm-alleycats:components/ui/badge.tsx | mbarbine__platphorm-ascii:components/ui/badge.tsx | mbarbine__platphorm-auction-vice:components/ui/badge.tsx | mbarbine__platphorm-base:components/ui/badge.tsx | mbarbine__platphorm-bbs:components/ui/badge.tsx | mbarbine__platphorm-browserops:components/ui/badge.tsx | mbarbine__platphorm-cobol:components/ui/badge.tsx | mbarbine__platphorm-codex:components/ui/badge.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 115,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-agentui"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 107,
      "normalized_name": "select",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/select.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/select.tsx | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/pagination/select.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/select.test.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/grid/columns/select.test.js | mbarbine__ai-chat-interface-webby:components/ui/select.tsx | mbarbine__autographed-bibles-webby:components/ui/select.tsx | mbarbine__automotive-flamethrower-webby:components/ui/select.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/select.tsx | mbarbine__beer-museum-manager-www:components/ui/select.tsx | mbarbine__calendar-app-webby:components/ui/select.tsx | mbarbine__car-service-records:components/ui/select.tsx | mbarbine__civic-engagement-platform-webby:components/ui/select.tsx | mbarbine__crafted-virginia-website:components/ui/select.tsx | mbarbine__desert-bus:components/ui/select.tsx | mbarbine__doflo-clone:components/ui/select.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/select.tsx | mbarbine__drone-reel-webby:components/ui/select.tsx | mbarbine__email-reading-service-webby:components/ui/select.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/select.tsx | mbarbine__fortune-cookie-webby:components/ui/select.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/select.tsx | mbarbine__game-porting-service-webby:components/ui/select.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/select.tsx | mbarbine__instant-snap-postcard:src/components/ui/select.tsx | mbarbine__mermaid-community-platform:components/ui/select.tsx | mbarbine__microwave-sticker-webby:components/ui/select.test.tsx | mbarbine__microwave-sticker-webby:components/ui/select.tsx | mbarbine__microwave-stickers-:components/ui/select.tsx | mbarbine__multiplayer-puzzle-game:components/ui/select.tsx | mbarbine__nextjs-ai-4:components/ui/select.tsx | mbarbine__nextjs-ai-chatbot:components/ui/select.tsx | mbarbine__nova-hackers-webby:components/ui/select.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/select.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/select.tsx | mbarbine__ph3ar-chatbot:components/ui/select.tsx | mbarbine__platphorm-404:components/ui/select.tsx | mbarbine__platphorm-agentui:components/ui/select.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/select.tsx | mbarbine__platphorm-alleycats:components/ui/select.tsx | mbarbine__platphorm-ascii:components/ui/select.tsx | mbarbine__platphorm-auction-vice:components/ui/select.tsx | mbarbine__platphorm-base:components/ui/select.tsx | mbarbine__platphorm-bbs:components/ui/select.tsx | mbarbine__platphorm-cobol:components/ui/select.tsx | mbarbine__platphorm-codex:components/ui/select.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/select.tsx | mbarbine__platphorm-decks:components/ui/select.tsx | mbarbine__platphorm-desa:components/ui/select.tsx | mbarbine__platphorm-design:components/ui/select.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 103,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 106,
      "normalized_name": "label",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/label.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/label.tsx | mbarbine__ai-chat-interface-webby:components/ui/label.tsx | mbarbine__autographed-bibles-webby:components/ui/label.tsx | mbarbine__automotive-flamethrower-webby:components/ui/label.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/label.tsx | mbarbine__beer-museum-manager-www:components/ui/label.tsx | mbarbine__burrito-dealer-www:components/ui/label.tsx | mbarbine__calendar-app-webby:components/ui/label.tsx | mbarbine__car-service-records:components/ui/label.tsx | mbarbine__civic-engagement-platform-webby:components/ui/label.tsx | mbarbine__crafted-virginia-website:components/ui/label.tsx | mbarbine__desert-bus:components/ui/label.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/label.tsx | mbarbine__drone-reel-webby:components/ui/label.tsx | mbarbine__email-reading-service-webby:components/ui/label.tsx | mbarbine__fortune-cookie-webby:components/ui/label.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/label.tsx | mbarbine__front-runners-webby:components/ui/label.tsx | mbarbine__game-porting-service-webby:components/ui/label.tsx | mbarbine__gamer:components/ui/label.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/label.tsx | mbarbine__instant-snap-postcard:src/components/ui/label.tsx | mbarbine__jaydens-therapy-legal-www:components/ui/label.tsx | mbarbine__mermaid-community-platform:components/ui/label.tsx | mbarbine__microwave-sticker-webby:components/ui/label.tsx | mbarbine__microwave-sticker-webby:components/ui/label.test.tsx | mbarbine__microwave-stickers-:components/ui/label.tsx | mbarbine__multiplayer-puzzle-game:components/ui/label.tsx | mbarbine__nextjs-ai-4:components/ui/label.tsx | mbarbine__nextjs-ai-chatbot:components/ui/label.tsx | mbarbine__nova-hackers-webby:components/ui/label.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/label.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/label.tsx | mbarbine__ph3ar-chatbot:components/ui/label.tsx | mbarbine__platphorm-404:components/ui/label.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/label.tsx | mbarbine__platphorm-alleycats:components/ui/label.tsx | mbarbine__platphorm-ascii:components/ui/label.tsx | mbarbine__platphorm-auction-vice:components/ui/label.tsx | mbarbine__platphorm-base:components/ui/label.tsx | mbarbine__platphorm-bbs:components/ui/label.tsx | mbarbine__platphorm-cobol:components/ui/label.tsx | mbarbine__platphorm-codex:components/ui/label.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/label.tsx | mbarbine__platphorm-decks:components/ui/label.tsx | mbarbine__platphorm-desa:components/ui/label.tsx | mbarbine__platphorm-design:components/ui/label.tsx | mbarbine__platphorm-dictionary:components/ui/label.tsx | mbarbine__platphorm-emoji:components/ui/label.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 103,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 106,
      "normalized_name": "textarea",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/textarea.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/textarea.tsx | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/textarea.test.js | mbarbine__ai-chat-interface-webby:components/ui/textarea.tsx | mbarbine__airrow-commuter-balloon:components/ui/textarea.tsx | mbarbine__autographed-bibles-webby:components/ui/textarea.tsx | mbarbine__automotive-flamethrower-webby:components/ui/textarea.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/textarea.tsx | mbarbine__beer-museum-manager-www:components/ui/textarea.tsx | mbarbine__burrito-dealer-www:components/ui/textarea.tsx | mbarbine__calendar-app-webby:components/ui/textarea.tsx | mbarbine__car-service-records:components/ui/textarea.tsx | mbarbine__civic-engagement-platform-webby:components/ui/textarea.tsx | mbarbine__crafted-virginia-website:components/ui/textarea.tsx | mbarbine__desert-bus:components/ui/textarea.tsx | mbarbine__doflo-clone:components/ui/textarea.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/textarea.tsx | mbarbine__drone-reel-webby:components/ui/textarea.tsx | mbarbine__email-reading-service-webby:components/ui/textarea.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/textarea.tsx | mbarbine__fortune-cookie-webby:components/ui/textarea.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/textarea.tsx | mbarbine__game-porting-service-webby:components/ui/textarea.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/textarea.tsx | mbarbine__instant-snap-postcard:src/components/ui/textarea.tsx | mbarbine__jaydens-therapy-legal-www:components/ui/textarea.tsx | mbarbine__mermaid-community-platform:components/ui/textarea.tsx | mbarbine__mermaid-next-www:components/ui/textarea.tsx | mbarbine__microwave-sticker-webby:components/ui/textarea.test.tsx | mbarbine__microwave-sticker-webby:components/ui/textarea.tsx | mbarbine__microwave-stickers-:components/ui/textarea.tsx | mbarbine__multiplayer-puzzle-game:components/ui/textarea.tsx | mbarbine__nextjs-ai-4:components/ui/textarea.tsx | mbarbine__nextjs-ai-chatbot:components/ui/textarea.tsx | mbarbine__nova-hackers-webby:components/ui/textarea.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/textarea.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/textarea.tsx | mbarbine__ph3ar-chatbot:components/ui/textarea.tsx | mbarbine__platphorm-404:components/ui/textarea.tsx | mbarbine__platphorm-alleycats:components/ui/textarea.tsx | mbarbine__platphorm-ascii:components/ui/textarea.tsx | mbarbine__platphorm-auction-vice:components/ui/textarea.tsx | mbarbine__platphorm-base:components/ui/textarea.tsx | mbarbine__platphorm-bbs:components/ui/textarea.tsx | mbarbine__platphorm-cobol:components/ui/textarea.tsx | mbarbine__platphorm-codex:components/ui/textarea.tsx | mbarbine__platphorm-decks:components/ui/textarea.tsx | mbarbine__platphorm-desa:components/ui/textarea.tsx | mbarbine__platphorm-design:components/ui/textarea.tsx | mbarbine__platphorm-dictionary:components/ui/textarea.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 103,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 104,
      "normalized_name": "tooltip",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/tooltip.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/tooltip.tsx | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/js/tooltip.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/tooltip.js | mbarbine__ai-chat-interface-webby:components/ui/tooltip.tsx | mbarbine__autographed-bibles-webby:components/ui/tooltip.tsx | mbarbine__automotive-flamethrower-webby:components/ui/tooltip.tsx | mbarbine__barbine-worldwide-2025-wwww:components/ui/tooltip.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/tooltip.tsx | mbarbine__calendar-app-webby:components/ui/tooltip.tsx | mbarbine__car-service-records:components/ui/tooltip.tsx | mbarbine__civic-engagement-platform-webby:components/ui/tooltip.tsx | mbarbine__crafted-virginia-website:components/ui/tooltip.tsx | mbarbine__desert-bus:components/ui/tooltip.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/tooltip.tsx | mbarbine__drone-reel-webby:components/ui/tooltip.tsx | mbarbine__email-reading-service-webby:components/ui/tooltip.tsx | mbarbine__fortune-cookie-webby:components/ui/tooltip.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/tooltip.tsx | mbarbine__game-porting-service-webby:components/ui/tooltip.tsx | mbarbine__gamer:components/ui/tooltip.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/tooltip.tsx | mbarbine__instant-snap-postcard:src/components/ui/tooltip.tsx | mbarbine__microwave-sticker-webby:components/ui/tooltip.tsx | mbarbine__microwave-sticker-webby:components/ui/tooltip.test.tsx | mbarbine__microwave-stickers-:components/ui/tooltip.tsx | mbarbine__multiplayer-puzzle-game:components/ui/tooltip.tsx | mbarbine__my-first-nova-hbackers-preseo:components/Tooltip/Tooltip.tsx | mbarbine__nextjs-ai-4:components/ui/tooltip.tsx | mbarbine__nextjs-ai-chatbot:components/ui/tooltip.tsx | mbarbine__nova-hackers-webby:components/ui/tooltip.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/tooltip.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/tooltip.tsx | mbarbine__ph3ar-chatbot:components/ui/tooltip.tsx | mbarbine__platphorm-404:components/ui/tooltip.tsx | mbarbine__platphorm-agentui:components/ui/tooltip.tsx | mbarbine__platphorm-alleycats:components/ui/tooltip.tsx | mbarbine__platphorm-ascii:components/ui/tooltip.tsx | mbarbine__platphorm-auction-vice:components/ui/tooltip.tsx | mbarbine__platphorm-base:components/ui/tooltip.tsx | mbarbine__platphorm-bbs:components/ui/tooltip.tsx | mbarbine__platphorm-cobol:components/ui/tooltip.tsx | mbarbine__platphorm-codex:components/ui/tooltip.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/tooltip.tsx | mbarbine__platphorm-decks:components/ui/tooltip.tsx | mbarbine__platphorm-desa:components/ui/tooltip.tsx | mbarbine__platphorm-design:components/ui/tooltip.tsx | mbarbine__platphorm-dictionary:components/ui/tooltip.tsx | mbarbine__platphorm-emoji:components/ui/tooltip.tsx | mbarbine__platphorm-finance:components/ui/tooltip.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 101,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__my-first-nova-hbackers-preseo, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 98,
      "normalized_name": "dropdown-menu",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/dropdown-menu.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/dropdown-menu.tsx | mbarbine__ai-chat-interface-webby:components/ui/dropdown-menu.tsx | mbarbine__autographed-bibles-webby:components/ui/dropdown-menu.tsx | mbarbine__automotive-flamethrower-webby:components/ui/dropdown-menu.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/dropdown-menu.tsx | mbarbine__beer-museum-manager-www:components/ui/dropdown-menu.tsx | mbarbine__burrito-dealer-www:components/ui/dropdown-menu.tsx | mbarbine__calendar-app-webby:components/ui/dropdown-menu.tsx | mbarbine__car-service-records:components/ui/dropdown-menu.tsx | mbarbine__civic-engagement-platform-webby:components/ui/dropdown-menu.tsx | mbarbine__crafted-virginia-website:components/ui/dropdown-menu.tsx | mbarbine__desert-bus:components/ui/dropdown-menu.tsx | mbarbine__doflo-clone:components/ui/dropdown-menu.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/dropdown-menu.tsx | mbarbine__drone-reel-webby:components/ui/dropdown-menu.tsx | mbarbine__email-reading-service-webby:components/ui/dropdown-menu.tsx | mbarbine__fortune-cookie-webby:components/ui/dropdown-menu.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/dropdown-menu.tsx | mbarbine__game-porting-service-webby:components/ui/dropdown-menu.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/dropdown-menu.tsx | mbarbine__instant-snap-postcard:src/components/ui/dropdown-menu.tsx | mbarbine__microwave-sticker-webby:components/ui/dropdown-menu.test.tsx | mbarbine__microwave-sticker-webby:components/ui/dropdown-menu.tsx | mbarbine__microwave-stickers-:components/ui/dropdown-menu.tsx | mbarbine__multiplayer-puzzle-game:components/ui/dropdown-menu.tsx | mbarbine__nextjs-ai-4:components/ui/dropdown-menu.tsx | mbarbine__nextjs-ai-chatbot:components/ui/dropdown-menu.tsx | mbarbine__nova-hackers-webby:components/ui/dropdown-menu.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/dropdown-menu.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/dropdown-menu.tsx | mbarbine__ph3ar-chatbot:components/ui/dropdown-menu.tsx | mbarbine__platphorm-404:components/ui/dropdown-menu.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/dropdown-menu.tsx | mbarbine__platphorm-alleycats:components/ui/dropdown-menu.tsx | mbarbine__platphorm-ascii:components/ui/dropdown-menu.tsx | mbarbine__platphorm-auction-vice:components/ui/dropdown-menu.tsx | mbarbine__platphorm-base:components/ui/dropdown-menu.tsx | mbarbine__platphorm-bbs:components/ui/dropdown-menu.tsx | mbarbine__platphorm-cobol:components/ui/dropdown-menu.tsx | mbarbine__platphorm-codex:components/ui/dropdown-menu.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/dropdown-menu.tsx | mbarbine__platphorm-decks:components/ui/dropdown-menu.tsx | mbarbine__platphorm-desa:components/ui/dropdown-menu.tsx | mbarbine__platphorm-design:components/ui/dropdown-menu.tsx | mbarbine__platphorm-dictionary:components/ui/dropdown-menu.tsx | mbarbine__platphorm-emoji:components/ui/dropdown-menu.tsx | mbarbine__platphorm-finance:components/ui/dropdown-menu.tsx | mbarbine__platphorm-fingerprint-service:components/ui/dropdown-menu.tsx | mbarbine__platphorm-insights:components/ui/dropdown-menu.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 96,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 97,
      "normalized_name": "tabs",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/tabs.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/tabs.tsx | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/tabs/tabs.js | mbarbine__ai-chat-interface-webby:components/ui/tabs.tsx | mbarbine__autographed-bibles-webby:components/ui/tabs.tsx | mbarbine__automotive-flamethrower-webby:components/ui/tabs.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/tabs.tsx | mbarbine__beer-museum-manager-www:components/ui/tabs.tsx | mbarbine__calendar-app-webby:components/ui/tabs.tsx | mbarbine__car-service-records:components/ui/tabs.tsx | mbarbine__civic-engagement-platform-webby:components/ui/tabs.tsx | mbarbine__crafted-virginia-website:components/ui/tabs.tsx | mbarbine__desert-bus:components/ui/tabs.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/tabs.tsx | mbarbine__drone-reel-webby:components/ui/tabs.tsx | mbarbine__email-reading-service-webby:components/ui/tabs.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/tabs.tsx | mbarbine__fortune-cookie-webby:components/ui/tabs.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/tabs.tsx | mbarbine__game-porting-service-webby:components/ui/tabs.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/tabs.tsx | mbarbine__instant-snap-postcard:src/components/ui/tabs.tsx | mbarbine__microwave-sticker-webby:components/ui/tabs.tsx | mbarbine__microwave-sticker-webby:components/ui/tabs.test.tsx | mbarbine__microwave-stickers-:components/ui/tabs.tsx | mbarbine__multiplayer-puzzle-game:components/ui/tabs.tsx | mbarbine__nova-hackers-webby:components/ui/tabs.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/tabs.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/tabs.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/tabs.tsx | mbarbine__platphorm-404:components/ui/tabs.tsx | mbarbine__platphorm-agentui:components/ui/tabs.tsx | mbarbine__platphorm-alleycats:components/ui/tabs.tsx | mbarbine__platphorm-ascii:components/ui/tabs.tsx | mbarbine__platphorm-auction-vice:components/ui/tabs.tsx | mbarbine__platphorm-base:components/ui/tabs.tsx | mbarbine__platphorm-bbs:components/ui/tabs.tsx | mbarbine__platphorm-cobol:components/ui/tabs.tsx | mbarbine__platphorm-codex:components/ui/tabs.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/tabs.tsx | mbarbine__platphorm-decks:components/ui/tabs.tsx | mbarbine__platphorm-desa:components/ui/tabs.tsx | mbarbine__platphorm-design:components/ui/tabs.tsx | mbarbine__platphorm-dictionary:components/ui/tabs.tsx | mbarbine__platphorm-emoji:components/ui/tabs.tsx | mbarbine__platphorm-finance:components/ui/tabs.tsx | mbarbine__platphorm-fingerprint-service:components/ui/tabs.tsx | mbarbine__platphorm-insights:components/ui/tabs.tsx | mbarbine__platphorm-jobs:components/ui/tabs.tsx | mbarbine__platphorm-json:components/ui/tabs.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 95,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 103,
      "normalized_name": "sidebar",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/sidebar.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/sidebar.tsx | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/dashboard/controllers/sidebar.js | mbarbine__ai-chat-interface-webby:components/ui/sidebar.tsx | mbarbine__airrow-commuter-balloon:components/sidebar.tsx | mbarbine__autographed-bibles-webby:components/ui/sidebar.tsx | mbarbine__automotive-flamethrower-webby:components/Sidebar.tsx | mbarbine__automotive-flamethrower-webby:components/ui/sidebar.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/sidebar.tsx | mbarbine__beer-museum-manager-www:components/admin/sidebar.tsx | mbarbine__calendar-app-webby:components/ui/sidebar.tsx | mbarbine__car-service-records:components/ui/sidebar.tsx | mbarbine__civic-engagement-platform-webby:components/ui/sidebar.tsx | mbarbine__crafted-virginia-website:components/ui/sidebar.tsx | mbarbine__desert-bus:components/ui/sidebar.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/sidebar.tsx | mbarbine__drone-reel-webby:components/ui/sidebar.tsx | mbarbine__email-reading-service-webby:components/ui/sidebar.tsx | mbarbine__fashion-sadiepass-WWW:components/sidebar.tsx | mbarbine__fortune-cookie-webby:components/ui/sidebar.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/sidebar.tsx | mbarbine__game-porting-service-webby:components/ui/sidebar.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/sidebar.tsx | mbarbine__instant-snap-postcard:src/components/ui/sidebar.tsx | mbarbine__microwave-sticker-webby:components/ui/sidebar.test.tsx | mbarbine__microwave-sticker-webby:components/ui/sidebar.tsx | mbarbine__microwave-stickers-:components/ui/sidebar.tsx | mbarbine__multiplayer-puzzle-game:components/ui/sidebar.tsx | mbarbine__nextjs-ai-4:components/ui/sidebar.tsx | mbarbine__nextjs-ai-chatbot:components/ui/sidebar.tsx | mbarbine__nova-hackers-webby:components/ui/sidebar.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/sidebar.tsx | mbarbine__ph3ar-chatbot:components/ui/sidebar.tsx | mbarbine__platphorm-404:components/ui/sidebar.tsx | mbarbine__platphorm-agentui:components/layout/sidebar.tsx | mbarbine__platphorm-alleycats:components/ui/sidebar.tsx | mbarbine__platphorm-ascii:components/ui/sidebar.tsx | mbarbine__platphorm-auction-vice:components/ui/sidebar.tsx | mbarbine__platphorm-auction-vice:components/layout/sidebar.tsx | mbarbine__platphorm-base:components/ui/sidebar.tsx | mbarbine__platphorm-base:components/layout/sidebar.tsx | mbarbine__platphorm-bbs:components/ui/sidebar.tsx | mbarbine__platphorm-bbs:components/bbs/sidebar.tsx | mbarbine__platphorm-browserops:components/layout/sidebar.tsx | mbarbine__platphorm-cobol:components/ui/sidebar.tsx | mbarbine__platphorm-codex:components/ui/sidebar.tsx | mbarbine__platphorm-decks:components/ui/sidebar.tsx | mbarbine__platphorm-desa:components/ui/sidebar.tsx | mbarbine__platphorm-design:components/ui/sidebar.tsx | mbarbine__platphorm-dictionary:components/ui/sidebar.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 94,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 96,
      "normalized_name": "separator",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/separator.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/separator.tsx | mbarbine__ai-chat-interface-webby:components/ui/separator.tsx | mbarbine__autographed-bibles-webby:components/ui/separator.tsx | mbarbine__automotive-flamethrower-webby:components/ui/separator.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/separator.tsx | mbarbine__beer-museum-manager-www:components/ui/separator.tsx | mbarbine__calendar-app-webby:components/ui/separator.tsx | mbarbine__car-service-records:components/ui/separator.tsx | mbarbine__civic-engagement-platform-webby:components/ui/separator.tsx | mbarbine__crafted-virginia-website:components/ui/separator.tsx | mbarbine__desert-bus:components/ui/separator.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/separator.tsx | mbarbine__drone-reel-webby:components/ui/separator.tsx | mbarbine__email-reading-service-webby:components/ui/separator.tsx | mbarbine__fortune-cookie-webby:components/ui/separator.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/separator.tsx | mbarbine__game-porting-service-webby:components/ui/separator.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/separator.tsx | mbarbine__instant-snap-postcard:src/components/ui/separator.tsx | mbarbine__mailthing-main:components/ui/AuthForms/Separator.tsx | mbarbine__microwave-sticker-webby:components/ui/separator.test.tsx | mbarbine__microwave-sticker-webby:components/ui/separator.tsx | mbarbine__microwave-stickers-:components/ui/separator.tsx | mbarbine__multiplayer-puzzle-game:components/ui/separator.tsx | mbarbine__nextjs-ai-4:components/ui/separator.tsx | mbarbine__nextjs-ai-chatbot:components/ui/separator.tsx | mbarbine__nova-hackers-webby:components/ui/separator.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/separator.tsx | mbarbine__ph3ar-chatbot:components/ui/separator.tsx | mbarbine__platphorm-404:components/ui/separator.tsx | mbarbine__platphorm-alleycats:components/ui/separator.tsx | mbarbine__platphorm-ascii:components/ui/separator.tsx | mbarbine__platphorm-auction-vice:components/ui/separator.tsx | mbarbine__platphorm-base:components/ui/separator.tsx | mbarbine__platphorm-bbs:components/ui/separator.tsx | mbarbine__platphorm-cobol:components/ui/separator.tsx | mbarbine__platphorm-codex:components/ui/separator.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/separator.tsx | mbarbine__platphorm-decks:components/ui/separator.tsx | mbarbine__platphorm-desa:components/ui/separator.tsx | mbarbine__platphorm-design:components/ui/separator.tsx | mbarbine__platphorm-dictionary:components/ui/separator.tsx | mbarbine__platphorm-emoji:components/ui/separator.tsx | mbarbine__platphorm-finance:components/ui/separator.tsx | mbarbine__platphorm-fingerprint-service:components/ui/separator.tsx | mbarbine__platphorm-insights:components/ui/separator.tsx | mbarbine__platphorm-jobs:components/ui/separator.tsx | mbarbine__platphorm-json:components/ui/separator.tsx | mbarbine__platphorm-jules:components/ui/separator.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 94,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 95,
      "normalized_name": "skeleton",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/skeleton.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/skeleton.tsx | mbarbine__ai-chat-interface-webby:components/ui/skeleton.tsx | mbarbine__autographed-bibles-webby:components/ui/skeleton.tsx | mbarbine__automotive-flamethrower-webby:components/ui/skeleton.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/skeleton.tsx | mbarbine__calendar-app-webby:components/ui/skeleton.tsx | mbarbine__car-service-records:components/ui/skeleton.tsx | mbarbine__civic-engagement-platform-webby:components/ui/skeleton.tsx | mbarbine__crafted-virginia-website:components/ui/skeleton.tsx | mbarbine__desert-bus:components/ui/skeleton.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/skeleton.tsx | mbarbine__drone-reel-webby:components/ui/skeleton.tsx | mbarbine__email-reading-service-webby:components/ui/skeleton.tsx | mbarbine__fortune-cookie-webby:components/ui/skeleton.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/skeleton.tsx | mbarbine__game-porting-service-webby:components/ui/skeleton.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/skeleton.tsx | mbarbine__instant-snap-postcard:src/components/ui/skeleton.tsx | mbarbine__microwave-sticker-webby:components/ui/skeleton.test.tsx | mbarbine__microwave-sticker-webby:components/ui/skeleton.tsx | mbarbine__microwave-stickers-:components/ui/skeleton.tsx | mbarbine__multiplayer-puzzle-game:components/ui/skeleton.tsx | mbarbine__nextjs-ai-4:components/ui/skeleton.tsx | mbarbine__nextjs-ai-chatbot:components/ui/skeleton.tsx | mbarbine__nova-hackers-webby:components/ui/skeleton.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/skeleton.tsx | mbarbine__ph3ar-chatbot:components/ui/skeleton.tsx | mbarbine__platphorm-404:components/ui/skeleton.tsx | mbarbine__platphorm-agentui:components/ui/skeleton.tsx | mbarbine__platphorm-alleycats:components/ui/skeleton.tsx | mbarbine__platphorm-ascii:components/ui/skeleton.tsx | mbarbine__platphorm-auction-vice:components/ui/skeleton.tsx | mbarbine__platphorm-base:components/ui/skeleton.tsx | mbarbine__platphorm-bbs:components/ui/skeleton.tsx | mbarbine__platphorm-cobol:components/ui/skeleton.tsx | mbarbine__platphorm-codex:components/ui/skeleton.tsx | mbarbine__platphorm-decks:components/ui/skeleton.tsx | mbarbine__platphorm-desa:components/ui/skeleton.tsx | mbarbine__platphorm-design:components/ui/skeleton.tsx | mbarbine__platphorm-dictionary:components/ui/skeleton.tsx | mbarbine__platphorm-emoji:components/ui/skeleton.tsx | mbarbine__platphorm-finance:components/ui/skeleton.tsx | mbarbine__platphorm-fingerprint-service:components/ui/skeleton.tsx | mbarbine__platphorm-insights:components/ui/skeleton.tsx | mbarbine__platphorm-jobs:components/ui/skeleton.tsx | mbarbine__platphorm-json:components/ui/skeleton.tsx | mbarbine__platphorm-jules:components/ui/skeleton.tsx | mbarbine__platphorm-kanban:components/ui/skeleton.tsx | mbarbine__platphorm-keys:components/ui/skeleton.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 93,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 95,
      "normalized_name": "alert",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/alert.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/alert.tsx | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/js/alert.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/modal/alert.test.js | mbarbine__ai-chat-interface-webby:components/ui/alert.tsx | mbarbine__autographed-bibles-webby:components/ui/alert.tsx | mbarbine__automotive-flamethrower-webby:components/ui/alert.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/alert.tsx | mbarbine__beer-museum-manager-www:components/ui/alert.tsx | mbarbine__calendar-app-webby:components/ui/alert.tsx | mbarbine__car-service-records:components/ui/alert.tsx | mbarbine__civic-engagement-platform-webby:components/ui/alert.tsx | mbarbine__crafted-virginia-website:components/ui/alert.tsx | mbarbine__desert-bus:components/ui/alert.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/alert.tsx | mbarbine__drone-reel-webby:components/ui/alert.tsx | mbarbine__email-reading-service-webby:components/ui/alert.tsx | mbarbine__fortune-cookie-webby:components/ui/alert.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/alert.tsx | mbarbine__game-porting-service-webby:components/ui/alert.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/alert.tsx | mbarbine__instant-snap-postcard:src/components/ui/alert.tsx | mbarbine__microwave-sticker-webby:components/ui/alert.tsx | mbarbine__microwave-sticker-webby:components/ui/alert.test.tsx | mbarbine__microwave-stickers-:components/ui/alert.tsx | mbarbine__multiplayer-puzzle-game:components/ui/alert.tsx | mbarbine__nova-hackers-webby:components/ui/alert.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/alert.tsx | mbarbine__ph3ar-blog:src/app/_components/alert.tsx | mbarbine__platphorm-404:components/ui/alert.tsx | mbarbine__platphorm-alleycats:components/ui/alert.tsx | mbarbine__platphorm-ascii:components/ui/alert.tsx | mbarbine__platphorm-auction-vice:components/ui/alert.tsx | mbarbine__platphorm-base:components/ui/alert.tsx | mbarbine__platphorm-bbs:components/ui/alert.tsx | mbarbine__platphorm-cobol:components/ui/alert.tsx | mbarbine__platphorm-codex:components/ui/alert.tsx | mbarbine__platphorm-decks:components/ui/alert.tsx | mbarbine__platphorm-desa:components/ui/alert.tsx | mbarbine__platphorm-design:components/ui/alert.tsx | mbarbine__platphorm-dictionary:components/ui/alert.tsx | mbarbine__platphorm-emoji:components/ui/alert.tsx | mbarbine__platphorm-finance:components/ui/alert.tsx | mbarbine__platphorm-fingerprint-service:components/ui/alert.tsx | mbarbine__platphorm-insights:components/ui/alert.tsx | mbarbine__platphorm-jobs:components/ui/alert.tsx | mbarbine__platphorm-json:components/ui/alert.tsx | mbarbine__platphorm-jules:components/ui/alert.tsx | mbarbine__platphorm-kanban:components/ui/alert.tsx | mbarbine__platphorm-keys:components/ui/alert.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 92,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 95,
      "normalized_name": "toast",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/toast.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/toast.tsx | mbarbine__ai-chat-interface-webby:components/ui/toast.tsx | mbarbine__autographed-bibles-webby:components/ui/toast.tsx | mbarbine__automotive-flamethrower-webby:components/ui/toast.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/toast.tsx | mbarbine__beer-museum-manager-www:components/ui/toast.tsx | mbarbine__calendar-app-webby:components/ui/toast.tsx | mbarbine__car-service-records:components/ui/toast.tsx | mbarbine__civic-engagement-platform-webby:components/ui/toast.tsx | mbarbine__crafted-virginia-website:components/ui/toast.tsx | mbarbine__desert-bus:components/ui/toast.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/toast.tsx | mbarbine__drone-reel-webby:components/ui/toast.tsx | mbarbine__email-reading-service-webby:components/ui/toast.tsx | mbarbine__fortune-cookie-webby:components/ui/toast.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/toast.tsx | mbarbine__game-porting-service-webby:components/ui/toast.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/toast.tsx | mbarbine__instant-snap-postcard:src/components/ui/toast.tsx | mbarbine__mailthing-main:components/ui/Toasts/toast.tsx | mbarbine__microwave-sticker-webby:components/ui/toast.tsx | mbarbine__microwave-stickers-:components/ui/toast.tsx | mbarbine__multiplayer-puzzle-game:components/ui/toast.tsx | mbarbine__nova-hackers-webby:components/ui/toast.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/toast.tsx | mbarbine__ph3ar-chatbot:components/toast.tsx | mbarbine__platphorm-404:components/ui/toast.tsx | mbarbine__platphorm-agentui:tests/components/toast.test.tsx | mbarbine__platphorm-agentui:tests/components/ui/toast.test.tsx | mbarbine__platphorm-agentui:components/ui/toast.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/toast.tsx | mbarbine__platphorm-alleycats:components/ui/toast.tsx | mbarbine__platphorm-ascii:components/ui/toast.tsx | mbarbine__platphorm-auction-vice:components/ui/toast.tsx | mbarbine__platphorm-base:components/ui/toast.tsx | mbarbine__platphorm-bbs:components/ui/toast.tsx | mbarbine__platphorm-cobol:components/ui/toast.tsx | mbarbine__platphorm-codex:components/ui/toast.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/toast.tsx | mbarbine__platphorm-decks:components/ui/toast.tsx | mbarbine__platphorm-desa:components/ui/toast.tsx | mbarbine__platphorm-design:components/ui/toast.tsx | mbarbine__platphorm-dictionary:components/ui/toast.tsx | mbarbine__platphorm-emoji:components/ui/toast.tsx | mbarbine__platphorm-finance:components/ui/toast.tsx | mbarbine__platphorm-fingerprint-service:components/ui/toast.tsx | mbarbine__platphorm-insights:components/ui/toast.tsx | mbarbine__platphorm-jobs:components/ui/toast.tsx | mbarbine__platphorm-json:components/ui/toast.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 92,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 94,
      "normalized_name": "sheet",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/sheet.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/sheet.tsx | mbarbine__ai-chat-interface-webby:components/ui/sheet.tsx | mbarbine__autographed-bibles-webby:components/ui/sheet.tsx | mbarbine__automotive-flamethrower-webby:components/ui/sheet.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/sheet.tsx | mbarbine__beer-museum-manager-www:components/ui/sheet.tsx | mbarbine__calendar-app-webby:components/ui/sheet.tsx | mbarbine__car-service-records:components/ui/sheet.tsx | mbarbine__civic-engagement-platform-webby:components/ui/sheet.tsx | mbarbine__crafted-virginia-website:components/ui/sheet.tsx | mbarbine__desert-bus:components/ui/sheet.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/sheet.tsx | mbarbine__drone-reel-webby:components/ui/sheet.tsx | mbarbine__email-reading-service-webby:components/ui/sheet.tsx | mbarbine__fortune-cookie-webby:components/ui/sheet.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/sheet.tsx | mbarbine__game-porting-service-webby:components/ui/sheet.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/sheet.tsx | mbarbine__instant-snap-postcard:src/components/ui/sheet.tsx | mbarbine__microwave-sticker-webby:components/ui/sheet.tsx | mbarbine__microwave-sticker-webby:components/ui/sheet.test.tsx | mbarbine__microwave-stickers-:components/ui/sheet.tsx | mbarbine__multiplayer-puzzle-game:components/ui/sheet.tsx | mbarbine__nextjs-ai-4:components/ui/sheet.tsx | mbarbine__nextjs-ai-chatbot:components/ui/sheet.tsx | mbarbine__nova-hackers-webby:components/ui/sheet.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/sheet.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/sheet.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/sheet.tsx | mbarbine__ph3ar-chatbot:components/ui/sheet.tsx | mbarbine__platphorm-404:components/ui/sheet.tsx | mbarbine__platphorm-alleycats:components/ui/sheet.tsx | mbarbine__platphorm-ascii:components/ui/sheet.tsx | mbarbine__platphorm-auction-vice:components/ui/sheet.tsx | mbarbine__platphorm-base:components/ui/sheet.tsx | mbarbine__platphorm-bbs:components/ui/sheet.tsx | mbarbine__platphorm-cobol:components/ui/sheet.tsx | mbarbine__platphorm-codex:components/ui/sheet.tsx | mbarbine__platphorm-decks:components/ui/sheet.tsx | mbarbine__platphorm-desa:components/ui/sheet.tsx | mbarbine__platphorm-design:components/ui/sheet.tsx | mbarbine__platphorm-dictionary:components/ui/sheet.tsx | mbarbine__platphorm-emoji:components/ui/sheet.tsx | mbarbine__platphorm-finance:components/ui/sheet.tsx | mbarbine__platphorm-fingerprint-service:components/ui/sheet.tsx | mbarbine__platphorm-insights:components/ui/sheet.tsx | mbarbine__platphorm-jobs:components/ui/sheet.tsx | mbarbine__platphorm-json:components/ui/sheet.tsx | mbarbine__platphorm-jules:components/ui/sheet.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 92,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "process-document",
      "file_count": 91,
      "normalized_name": "bolt",
      "paths": "mbarbine__2025-year-in-review-webby:.jules/bolt.md | mbarbine__ai-chat-interface-webby:.jules/bolt.md | mbarbine__airrow-commuter-balloon:.jules/bolt.md | mbarbine__calendar-app-webby:.jules/bolt.md | mbarbine__civic-engagement-platform-webby:.jules/bolt.md | mbarbine__crafted-virginia-website:.Jules/bolt.md | mbarbine__desert-bus:.Jules/bolt.md | mbarbine__drone-reel-webby:.Jules/bolt.md | mbarbine__email-reading-service-webby:.jules/bolt.md | mbarbine__fashion-sadiepass-WWW:.Jules/bolt.md | mbarbine__fortune-cookie-webby-yj:.jules/bolt.md | mbarbine__game-porting-service-webby:.jules/bolt.md | mbarbine__global-anti-globalist-club-webby:.Jules/bolt.md | mbarbine__gta-6-countdown-webby:.Jules/bolt.md | mbarbine__hot-chocolate-for-profit-webby:.jules/bolt.md | mbarbine__ja4-vercel-lab-2:.jules/bolt.md | mbarbine__legacy-platphorm-news:.jules/bolt.md | mbarbine__mermaid-community-platform:.jules/bolt.md | mbarbine__microwave-sticker-webby:.jules/bolt.md | mbarbine__nova-hackers-webby:.jules/bolt.md | mbarbine__nuclear-power-plant-webby-NPaaS:.jules/bolt.md | mbarbine__onboard-platphorm-boilerplate-repo:.Jules/bolt.md | mbarbine__platphorm-404:.jules/bolt.md | mbarbine__platphorm-agentui:.jules/bolt.md | mbarbine__platphorm-ai-photo-enrichment:.jules/bolt.md | mbarbine__platphorm-base:.jules/bolt.md | mbarbine__platphorm-browserops:.jules/bolt.md | mbarbine__platphorm-business-EmployerServicesIncorporated:.jules/bolt.md | mbarbine__platphorm-cobol:.Jules/bolt.md | mbarbine__platphorm-codex:.Jules/bolt.md | mbarbine__platphorm-decks:.jules/bolt.md | mbarbine__platphorm-desa:.Jules/bolt.md | mbarbine__platphorm-dictionary:.Jules/bolt.md | mbarbine__platphorm-emoji:.Jules/bolt.md | mbarbine__platphorm-evals:.jules/bolt.md | mbarbine__platphorm-insights:.Jules/bolt.md | mbarbine__platphorm-jobs:.jules/bolt.md | mbarbine__platphorm-json:.Jules/bolt.md | mbarbine__platphorm-jules:.jules/bolt.md | mbarbine__platphorm-kanban:.jules/bolt.md | mbarbine__platphorm-keys:.Jules/bolt.md | mbarbine__platphorm-layout:.Jules/bolt.md | mbarbine__platphorm-mcp:.jules/bolt.md | mbarbine__platphorm-mini-games-webby:.Jules/bolt.md | mbarbine__platphorm-monitor:.Jules/bolt.md | mbarbine__platphorm-msi-editor:.Jules/bolt.md | mbarbine__platphorm-newdittyswag-www:.jules/bolt.md | mbarbine__platphorm-news-alt-theme:.jules/bolt.md | mbarbine__platphorm-onboard:.jules/bolt.md | mbarbine__platphorm-openclaw:.Jules/bolt.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 91,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__calendar-app-webby, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__legacy-platphorm-news, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 94,
      "normalized_name": "dialog",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/dialog.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/dialog.tsx | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/addon/dialog/dialog.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/dialog.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/js/dialog.js | mbarbine__ai-chat-interface-webby:components/ui/dialog.tsx | mbarbine__autographed-bibles-webby:components/ui/dialog.tsx | mbarbine__automotive-flamethrower-webby:components/ui/dialog.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/dialog.tsx | mbarbine__calendar-app-webby:components/ui/dialog.tsx | mbarbine__car-service-records:components/ui/dialog.tsx | mbarbine__civic-engagement-platform-webby:components/ui/dialog.tsx | mbarbine__crafted-virginia-website:components/ui/dialog.tsx | mbarbine__desert-bus:components/ui/dialog.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/dialog.tsx | mbarbine__drone-reel-webby:components/ui/dialog.tsx | mbarbine__email-reading-service-webby:components/ui/dialog.tsx | mbarbine__fortune-cookie-webby:components/ui/dialog.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/dialog.tsx | mbarbine__game-porting-service-webby:components/ui/dialog.tsx | mbarbine__gamer:components/ui/dialog.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/dialog.tsx | mbarbine__instant-snap-postcard:src/components/ui/dialog.tsx | mbarbine__microwave-sticker-webby:components/ui/dialog.test.tsx | mbarbine__microwave-sticker-webby:components/ui/dialog.tsx | mbarbine__microwave-stickers-:components/ui/dialog.tsx | mbarbine__multiplayer-puzzle-game:components/ui/dialog.tsx | mbarbine__nova-hackers-webby:components/ui/dialog.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/dialog.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/dialog.tsx | mbarbine__platphorm-404:components/ui/dialog.tsx | mbarbine__platphorm-agentui:components/ui/dialog.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/dialog.tsx | mbarbine__platphorm-alleycats:components/ui/dialog.tsx | mbarbine__platphorm-ascii:components/ui/dialog.tsx | mbarbine__platphorm-auction-vice:components/ui/dialog.tsx | mbarbine__platphorm-base:components/ui/dialog.tsx | mbarbine__platphorm-bbs:components/ui/dialog.tsx | mbarbine__platphorm-cobol:components/ui/dialog.tsx | mbarbine__platphorm-codex:components/ui/dialog.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/dialog.tsx | mbarbine__platphorm-decks:components/ui/dialog.tsx | mbarbine__platphorm-desa:components/ui/dialog.tsx | mbarbine__platphorm-design:components/ui/dialog.tsx | mbarbine__platphorm-dictionary:components/ui/dialog.tsx | mbarbine__platphorm-emoji:components/ui/dialog.tsx | mbarbine__platphorm-finance:components/ui/dialog.tsx | mbarbine__platphorm-fingerprint-service:components/ui/dialog.tsx | mbarbine__platphorm-insights:components/ui/dialog.tsx | mbarbine__platphorm-jobs:components/ui/dialog.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 90,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 90,
      "normalized_name": "avatar",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/avatar.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/avatar.tsx | mbarbine__ai-chat-interface-webby:components/ui/avatar.tsx | mbarbine__autographed-bibles-webby:components/ui/avatar.tsx | mbarbine__automotive-flamethrower-webby:components/ui/avatar.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/avatar.tsx | mbarbine__beer-museum-manager-www:components/ui/avatar.tsx | mbarbine__calendar-app-webby:components/ui/avatar.tsx | mbarbine__car-service-records:components/ui/avatar.tsx | mbarbine__civic-engagement-platform-webby:components/ui/avatar.tsx | mbarbine__crafted-virginia-website:components/ui/avatar.tsx | mbarbine__desert-bus:components/ui/avatar.tsx | mbarbine__doflo-clone:components/ui/avatar.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/avatar.tsx | mbarbine__drone-reel-webby:components/ui/avatar.tsx | mbarbine__email-reading-service-webby:components/ui/avatar.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/avatar.tsx | mbarbine__fortune-cookie-webby:components/ui/avatar.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/avatar.tsx | mbarbine__game-porting-service-webby:components/ui/avatar.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/avatar.tsx | mbarbine__instant-snap-postcard:src/components/ui/avatar.tsx | mbarbine__microwave-sticker-webby:components/ui/avatar.tsx | mbarbine__microwave-sticker-webby:components/ui/avatar.test.tsx | mbarbine__microwave-stickers-:components/ui/avatar.tsx | mbarbine__multiplayer-puzzle-game:components/ui/avatar.tsx | mbarbine__nova-hackers-webby:components/ui/avatar.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/avatar.tsx | mbarbine__ph3ar-blog:src/app/_components/avatar.tsx | mbarbine__platphorm-404:components/ui/avatar.tsx | mbarbine__platphorm-agentui:components/ui/avatar.tsx | mbarbine__platphorm-alleycats:components/ui/avatar.tsx | mbarbine__platphorm-ascii:components/ui/avatar.tsx | mbarbine__platphorm-auction-vice:components/ui/avatar.tsx | mbarbine__platphorm-base:components/ui/avatar.tsx | mbarbine__platphorm-bbs:components/ui/avatar.tsx | mbarbine__platphorm-cobol:components/ui/avatar.tsx | mbarbine__platphorm-codex:components/ui/avatar.tsx | mbarbine__platphorm-decks:components/ui/avatar.tsx | mbarbine__platphorm-desa:components/ui/avatar.tsx | mbarbine__platphorm-design:components/ui/avatar.tsx | mbarbine__platphorm-dictionary:components/ui/avatar.tsx | mbarbine__platphorm-emoji:components/ui/avatar.tsx | mbarbine__platphorm-finance:components/ui/avatar.tsx | mbarbine__platphorm-fingerprint-service:components/ui/avatar.tsx | mbarbine__platphorm-insights:components/ui/avatar.tsx | mbarbine__platphorm-jobs:components/ui/avatar.tsx | mbarbine__platphorm-json:components/ui/avatar.tsx | mbarbine__platphorm-jules:components/ui/avatar.tsx | mbarbine__platphorm-kanban:components/ui/avatar.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 88,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 89,
      "normalized_name": "progress",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/progress.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/progress.tsx | mbarbine__ai-chat-interface-webby:components/ui/progress.tsx | mbarbine__autographed-bibles-webby:components/ui/progress.tsx | mbarbine__automotive-flamethrower-webby:components/ui/progress.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/progress.tsx | mbarbine__beer-museum-manager-www:components/ui/progress.tsx | mbarbine__calendar-app-webby:components/ui/progress.tsx | mbarbine__car-service-records:components/ui/progress.tsx | mbarbine__civic-engagement-platform-webby:components/ui/progress.tsx | mbarbine__crafted-virginia-website:components/ui/progress.tsx | mbarbine__desert-bus:components/ui/progress.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/progress.tsx | mbarbine__drone-reel-webby:components/ui/progress.tsx | mbarbine__email-reading-service-webby:components/ui/progress.tsx | mbarbine__fortune-cookie-webby:components/ui/progress.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/progress.tsx | mbarbine__game-porting-service-webby:components/ui/progress.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/progress.tsx | mbarbine__instant-snap-postcard:src/components/ui/progress.tsx | mbarbine__microwave-sticker-webby:components/ui/progress.test.tsx | mbarbine__microwave-sticker-webby:components/ui/progress.tsx | mbarbine__microwave-stickers-:components/ui/progress.tsx | mbarbine__msicrafter:retro/progress.go | mbarbine__multiplayer-puzzle-game:components/ui/progress.tsx | mbarbine__nova-hackers-webby:components/ui/progress.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/progress.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/progress.tsx | mbarbine__platphorm-404:components/ui/progress.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/progress.tsx | mbarbine__platphorm-alleycats:components/ui/progress.tsx | mbarbine__platphorm-ascii:components/ui/progress.tsx | mbarbine__platphorm-auction-vice:components/ui/progress.tsx | mbarbine__platphorm-base:components/ui/progress.tsx | mbarbine__platphorm-bbs:components/ui/progress.tsx | mbarbine__platphorm-cobol:components/ui/progress.tsx | mbarbine__platphorm-codex:components/ui/progress.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/progress.tsx | mbarbine__platphorm-decks:components/ui/progress.tsx | mbarbine__platphorm-desa:components/ui/progress.tsx | mbarbine__platphorm-design:components/ui/progress.tsx | mbarbine__platphorm-dictionary:components/ui/progress.tsx | mbarbine__platphorm-emoji:components/ui/progress.tsx | mbarbine__platphorm-finance:components/ui/progress.tsx | mbarbine__platphorm-fingerprint-service:components/ui/progress.tsx | mbarbine__platphorm-insights:components/ui/progress.tsx | mbarbine__platphorm-jobs:components/ui/progress.tsx | mbarbine__platphorm-json:components/ui/progress.tsx | mbarbine__platphorm-jules:components/ui/progress.tsx | mbarbine__platphorm-kanban:components/ui/progress.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 87,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__msicrafter, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 89,
      "normalized_name": "switch",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/switch.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/switch.tsx | mbarbine__ai-chat-interface-webby:components/ui/switch.tsx | mbarbine__autographed-bibles-webby:components/ui/switch.tsx | mbarbine__automotive-flamethrower-webby:components/ui/switch.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/switch.tsx | mbarbine__beer-museum-manager-www:components/ui/switch.tsx | mbarbine__calendar-app-webby:components/ui/switch.tsx | mbarbine__car-service-records:components/ui/switch.tsx | mbarbine__civic-engagement-platform-webby:components/ui/switch.tsx | mbarbine__crafted-virginia-website:components/ui/switch.tsx | mbarbine__desert-bus:components/ui/switch.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/switch.tsx | mbarbine__drone-reel-webby:components/ui/switch.tsx | mbarbine__email-reading-service-webby:components/ui/switch.tsx | mbarbine__fortune-cookie-webby:components/ui/switch.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/switch.tsx | mbarbine__game-porting-service-webby:components/ui/switch.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/switch.tsx | mbarbine__instant-snap-postcard:src/components/ui/switch.tsx | mbarbine__microwave-sticker-webby:components/ui/switch.test.tsx | mbarbine__microwave-sticker-webby:components/ui/switch.tsx | mbarbine__microwave-stickers-:components/ui/switch.tsx | mbarbine__multiplayer-puzzle-game:components/ui/switch.tsx | mbarbine__nova-hackers-webby:components/ui/switch.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/switch.tsx | mbarbine__platphorm-404:components/ui/switch.tsx | mbarbine__platphorm-ai-photo-enrichment:components/ui/switch.tsx | mbarbine__platphorm-alleycats:components/ui/switch.tsx | mbarbine__platphorm-ascii:components/ui/switch.tsx | mbarbine__platphorm-auction-vice:components/ui/switch.tsx | mbarbine__platphorm-base:components/ui/switch.tsx | mbarbine__platphorm-bbs:components/ui/switch.tsx | mbarbine__platphorm-cobol:components/ui/switch.tsx | mbarbine__platphorm-codex:components/ui/switch.tsx | mbarbine__platphorm-decks:components/ui/switch.tsx | mbarbine__platphorm-desa:components/ui/switch.tsx | mbarbine__platphorm-design:components/ui/switch.tsx | mbarbine__platphorm-dictionary:components/ui/switch.tsx | mbarbine__platphorm-emoji:components/ui/switch.tsx | mbarbine__platphorm-finance:components/ui/switch.tsx | mbarbine__platphorm-fingerprint-service:components/ui/switch.tsx | mbarbine__platphorm-insights:components/ui/switch.tsx | mbarbine__platphorm-jobs:components/ui/switch.tsx | mbarbine__platphorm-json:components/ui/switch.tsx | mbarbine__platphorm-jules:components/ui/switch.tsx | mbarbine__platphorm-kanban:components/ui/switch.tsx | mbarbine__platphorm-keys:components/ui/switch.tsx | mbarbine__platphorm-layout:components/ui/switch.tsx | mbarbine__platphorm-mcp:components/ui/switch.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 87,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 89,
      "normalized_name": "table",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/table.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/table.tsx | mbarbine__ai-chat-interface-webby:components/ui/table.tsx | mbarbine__autographed-bibles-webby:components/ui/table.tsx | mbarbine__automotive-flamethrower-webby:components/ui/table.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/table.tsx | mbarbine__beer-museum-manager-www:components/ui/table.tsx | mbarbine__calendar-app-webby:components/ui/table.tsx | mbarbine__car-service-records:components/ui/table.tsx | mbarbine__civic-engagement-platform-webby:components/ui/table.tsx | mbarbine__crafted-virginia-website:components/ui/table.tsx | mbarbine__desert-bus:components/ui/table.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/table.tsx | mbarbine__drone-reel-webby:components/ui/table.tsx | mbarbine__email-reading-service-webby:components/ui/table.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/table.tsx | mbarbine__fortune-cookie-webby:components/ui/table.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/table.tsx | mbarbine__game-porting-service-webby:components/ui/table.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/table.tsx | mbarbine__instant-snap-postcard:src/components/ui/table.tsx | mbarbine__microwave-sticker-webby:components/ui/table.tsx | mbarbine__microwave-sticker-webby:components/ui/table.test.tsx | mbarbine__microwave-stickers-:components/ui/table.tsx | mbarbine__multiplayer-puzzle-game:components/ui/table.tsx | mbarbine__nova-hackers-webby:components/ui/table.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/table.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/table.tsx | mbarbine__platphorm-404:components/ui/table.tsx | mbarbine__platphorm-alleycats:components/ui/table.tsx | mbarbine__platphorm-ascii:components/ui/table.tsx | mbarbine__platphorm-auction-vice:components/ui/table.tsx | mbarbine__platphorm-base:components/ui/table.tsx | mbarbine__platphorm-bbs:components/ui/table.tsx | mbarbine__platphorm-cobol:components/ui/table.tsx | mbarbine__platphorm-codex:components/ui/table.tsx | mbarbine__platphorm-decks:components/ui/table.tsx | mbarbine__platphorm-desa:components/ui/table.tsx | mbarbine__platphorm-design:components/ui/table.tsx | mbarbine__platphorm-dictionary:components/ui/table.tsx | mbarbine__platphorm-emoji:components/ui/table.tsx | mbarbine__platphorm-finance:components/ui/table.tsx | mbarbine__platphorm-fingerprint-service:components/ui/table.tsx | mbarbine__platphorm-insights:components/ui/table.tsx | mbarbine__platphorm-jobs:components/ui/table.tsx | mbarbine__platphorm-json:components/ui/table.tsx | mbarbine__platphorm-jules:components/ui/table.tsx | mbarbine__platphorm-kanban:components/ui/table.tsx | mbarbine__platphorm-keys:components/ui/table.tsx | mbarbine__platphorm-layout:components/ui/table.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 87,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji"
    },
    {
      "component_kind": "process-document",
      "file_count": 87,
      "normalized_name": "palette",
      "paths": "mbarbine__ai-chat-interface-webby:.jules/palette.md | mbarbine__airrow-commuter-balloon:.jules/palette.md | mbarbine__automotive-flamethrower-webby:.jules/palette.md | mbarbine__biocyber-xr-training-nasa-webby-v0:.Jules/palette.md | mbarbine__calendar-app-webby:.jules/palette.md | mbarbine__crafted-virginia-website:.Jules/palette.md | mbarbine__desert-bus:.Jules/palette.md | mbarbine__dogstar-cybernetics-webby:.jules/palette.md | mbarbine__drone-reel-webby:.Jules/palette.md | mbarbine__fashion-sadiepass-WWW:.Jules/palette.md | mbarbine__fortune-cookie-webby-yj:.jules/palette.md | mbarbine__front-runners-webby:.jules/palette.md | mbarbine__game-porting-service-webby:.jules/palette.md | mbarbine__glass-blowing-website:.Jules/palette.md | mbarbine__global-anti-globalist-club-webby:.Jules/palette.md | mbarbine__gta-6-countdown-webby:.Jules/palette.md | mbarbine__hot-chocolate-for-profit-webby:.jules/palette.md | mbarbine__ja4-vercel-lab-2:.jules/palette.md | mbarbine__legacy-platphorm-news:.jules/palette.md | mbarbine__mermaid-community-platform:.jules/palette.md | mbarbine__nova-hackers-webby:.jules/palette.md | mbarbine__nuclear-power-plant-webby-NPaaS:.jules/palette.md | mbarbine__onboard-platphorm-boilerplate-repo:.Jules/palette.md | mbarbine__ph3ar-admin-dashboard:.Jules/palette.md | mbarbine__platphorm-agentui:.jules/palette.md | mbarbine__platphorm-base:.jules/palette.md | mbarbine__platphorm-browserops:.jules/palette.md | mbarbine__platphorm-business-EmployerServicesIncorporated:.jules/palette.md | mbarbine__platphorm-cobol:.Jules/palette.md | mbarbine__platphorm-codex:.Jules/palette.md | mbarbine__platphorm-content-showback-dashboard:.jules/palette.md | mbarbine__platphorm-decks:.jules/palette.md | mbarbine__platphorm-desa:.Jules/palette.md | mbarbine__platphorm-dictionary:.Jules/palette.md | mbarbine__platphorm-emoji:.Jules/palette.md | mbarbine__platphorm-evals:.jules/palette.md | mbarbine__platphorm-insights:.Jules/palette.md | mbarbine__platphorm-jobs:.jules/palette.md | mbarbine__platphorm-json:.Jules/palette.md | mbarbine__platphorm-jules:.jules/palette.md | mbarbine__platphorm-kanban:.jules/palette.md | mbarbine__platphorm-keys:.Jules/palette.md | mbarbine__platphorm-layout:.Jules/palette.md | mbarbine__platphorm-mcp:.jules/palette.md | mbarbine__platphorm-mini-games-webby:.Jules/palette.md | mbarbine__platphorm-monitor:.Jules/palette.md | mbarbine__platphorm-msi-editor:.Jules/palette.md | mbarbine__platphorm-news-alt-theme:.jules/palette.md | mbarbine__platphorm-onboard:.jules/palette.md | mbarbine__platphorm-openclaw:.Jules/palette.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 87,
      "repos": "mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__calendar-app-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__legacy-platphorm-news, mbarbine__mermaid-community-platform, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 88,
      "normalized_name": "accordion",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/accordion.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/accordion.tsx | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js | mbarbine__ai-chat-interface-webby:components/ui/accordion.tsx | mbarbine__autographed-bibles-webby:components/ui/accordion.tsx | mbarbine__automotive-flamethrower-webby:components/ui/accordion.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/accordion.tsx | mbarbine__calendar-app-webby:components/ui/accordion.tsx | mbarbine__car-service-records:components/ui/accordion.tsx | mbarbine__civic-engagement-platform-webby:components/ui/accordion.tsx | mbarbine__crafted-virginia-website:components/ui/accordion.tsx | mbarbine__desert-bus:components/ui/accordion.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/accordion.tsx | mbarbine__drone-reel-webby:components/ui/accordion.tsx | mbarbine__email-reading-service-webby:components/ui/accordion.tsx | mbarbine__fortune-cookie-webby:components/ui/accordion.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/accordion.tsx | mbarbine__front-runners-webby:components/ui/accordion.tsx | mbarbine__game-porting-service-webby:components/ui/accordion.tsx | mbarbine__global-anti-globalist-club-webby:components/ui/accordion.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/accordion.tsx | mbarbine__instant-snap-postcard:src/components/ui/accordion.tsx | mbarbine__microwave-sticker-webby:components/ui/accordion.tsx | mbarbine__microwave-sticker-webby:components/ui/accordion.test.tsx | mbarbine__microwave-stickers-:components/ui/accordion.tsx | mbarbine__multiplayer-puzzle-game:components/ui/accordion.tsx | mbarbine__nova-hackers-webby:components/ui/accordion.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/accordion.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/accordion.tsx | mbarbine__platphorm-404:components/ui/accordion.tsx | mbarbine__platphorm-alleycats:components/ui/accordion.tsx | mbarbine__platphorm-ascii:components/ui/accordion.tsx | mbarbine__platphorm-auction-vice:components/ui/accordion.tsx | mbarbine__platphorm-base:components/ui/accordion.tsx | mbarbine__platphorm-bbs:components/ui/accordion.tsx | mbarbine__platphorm-cobol:components/ui/accordion.tsx | mbarbine__platphorm-codex:components/ui/accordion.tsx | mbarbine__platphorm-decks:components/ui/accordion.tsx | mbarbine__platphorm-desa:components/ui/accordion.tsx | mbarbine__platphorm-design:components/ui/accordion.tsx | mbarbine__platphorm-dictionary:components/ui/accordion.tsx | mbarbine__platphorm-emoji:components/ui/accordion.tsx | mbarbine__platphorm-finance:components/ui/accordion.tsx | mbarbine__platphorm-fingerprint-service:components/ui/accordion.tsx | mbarbine__platphorm-insights:components/ui/accordion.tsx | mbarbine__platphorm-jobs:components/ui/accordion.tsx | mbarbine__platphorm-json:components/ui/accordion.tsx | mbarbine__platphorm-jules:components/ui/accordion.tsx | mbarbine__platphorm-kanban:components/ui/accordion.tsx | mbarbine__platphorm-keys:components/ui/accordion.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 86,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 88,
      "normalized_name": "checkbox",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/checkbox.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/checkbox.tsx | mbarbine__ai-chat-interface-webby:components/ui/checkbox.tsx | mbarbine__autographed-bibles-webby:components/ui/checkbox.tsx | mbarbine__automotive-flamethrower-webby:components/ui/checkbox.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/checkbox.tsx | mbarbine__beer-museum-manager-www:components/ui/checkbox.tsx | mbarbine__calendar-app-webby:components/ui/checkbox.tsx | mbarbine__car-service-records:components/ui/checkbox.tsx | mbarbine__civic-engagement-platform-webby:components/ui/checkbox.tsx | mbarbine__crafted-virginia-website:components/ui/checkbox.tsx | mbarbine__desert-bus:components/ui/checkbox.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/checkbox.tsx | mbarbine__drone-reel-webby:components/ui/checkbox.tsx | mbarbine__email-reading-service-webby:components/ui/checkbox.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/checkbox.tsx | mbarbine__fortune-cookie-webby:components/ui/checkbox.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/checkbox.tsx | mbarbine__game-porting-service-webby:components/ui/checkbox.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/checkbox.tsx | mbarbine__instant-snap-postcard:src/components/ui/checkbox.tsx | mbarbine__mermaid-community-platform:components/ui/checkbox.tsx | mbarbine__microwave-sticker-webby:components/ui/checkbox.test.tsx | mbarbine__microwave-sticker-webby:components/ui/checkbox.tsx | mbarbine__microwave-stickers-:components/ui/checkbox.tsx | mbarbine__multiplayer-puzzle-game:components/ui/checkbox.tsx | mbarbine__nova-hackers-webby:components/ui/checkbox.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/ui/checkbox.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/checkbox.tsx | mbarbine__platphorm-404:components/ui/checkbox.tsx | mbarbine__platphorm-alleycats:components/ui/checkbox.tsx | mbarbine__platphorm-ascii:components/ui/checkbox.tsx | mbarbine__platphorm-auction-vice:components/ui/checkbox.tsx | mbarbine__platphorm-base:components/ui/checkbox.tsx | mbarbine__platphorm-bbs:components/ui/checkbox.tsx | mbarbine__platphorm-cobol:components/ui/checkbox.tsx | mbarbine__platphorm-codex:components/ui/checkbox.tsx | mbarbine__platphorm-decks:components/ui/checkbox.tsx | mbarbine__platphorm-desa:components/ui/checkbox.tsx | mbarbine__platphorm-design:components/ui/checkbox.tsx | mbarbine__platphorm-dictionary:components/ui/checkbox.tsx | mbarbine__platphorm-emoji:components/ui/checkbox.tsx | mbarbine__platphorm-finance:components/ui/checkbox.tsx | mbarbine__platphorm-fingerprint-service:components/ui/checkbox.tsx | mbarbine__platphorm-insights:components/ui/checkbox.tsx | mbarbine__platphorm-jobs:components/ui/checkbox.tsx | mbarbine__platphorm-json:components/ui/checkbox.tsx | mbarbine__platphorm-jules:components/ui/checkbox.tsx | mbarbine__platphorm-kanban:components/ui/checkbox.tsx | mbarbine__platphorm-keys:components/ui/checkbox.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 86,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 87,
      "normalized_name": "slider",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/slider.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/slider.tsx | mbarbine__ai-chat-interface-webby:components/ui/slider.tsx | mbarbine__autographed-bibles-webby:components/ui/slider.tsx | mbarbine__automotive-flamethrower-webby:components/ui/slider.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/slider.tsx | mbarbine__calendar-app-webby:components/ui/slider.tsx | mbarbine__car-service-records:components/ui/slider.tsx | mbarbine__civic-engagement-platform-webby:components/ui/slider.tsx | mbarbine__crafted-virginia-website:components/ui/slider.tsx | mbarbine__desert-bus:components/ui/slider.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/slider.tsx | mbarbine__drone-reel-webby:components/ui/slider.tsx | mbarbine__email-reading-service-webby:components/ui/slider.tsx | mbarbine__fashion-sadiepass-WWW:components/ui/slider.tsx | mbarbine__fortune-cookie-webby:components/ui/slider.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/slider.tsx | mbarbine__game-porting-service-webby:components/ui/slider.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/slider.tsx | mbarbine__instant-snap-postcard:src/components/ui/slider.tsx | mbarbine__microwave-sticker-webby:components/ui/slider.tsx | mbarbine__microwave-sticker-webby:components/ui/slider.test.tsx | mbarbine__microwave-stickers-:components/ui/slider.tsx | mbarbine__multiplayer-puzzle-game:components/ui/slider.tsx | mbarbine__nova-hackers-webby:components/ui/slider.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/slider.tsx | mbarbine__platphorm-404:components/ui/slider.tsx | mbarbine__platphorm-alleycats:components/ui/slider.tsx | mbarbine__platphorm-ascii:components/ui/slider.tsx | mbarbine__platphorm-auction-vice:components/ui/slider.tsx | mbarbine__platphorm-base:components/ui/slider.tsx | mbarbine__platphorm-bbs:components/ui/slider.tsx | mbarbine__platphorm-cobol:components/ui/slider.tsx | mbarbine__platphorm-codex:components/ui/slider.tsx | mbarbine__platphorm-decks:components/ui/slider.tsx | mbarbine__platphorm-desa:components/ui/slider.tsx | mbarbine__platphorm-design:components/ui/slider.tsx | mbarbine__platphorm-dictionary:components/ui/slider.tsx | mbarbine__platphorm-emoji:components/ui/slider.tsx | mbarbine__platphorm-finance:components/ui/slider.tsx | mbarbine__platphorm-fingerprint-service:components/ui/slider.tsx | mbarbine__platphorm-insights:components/ui/slider.tsx | mbarbine__platphorm-jobs:components/ui/slider.tsx | mbarbine__platphorm-json:components/ui/slider.tsx | mbarbine__platphorm-jules:components/ui/slider.tsx | mbarbine__platphorm-kanban:components/ui/slider.tsx | mbarbine__platphorm-keys:components/ui/slider.tsx | mbarbine__platphorm-layout:components/ui/slider.tsx | mbarbine__platphorm-mcp:components/ui/slider.tsx | mbarbine__platphorm-msi-editor:components/ui/slider.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 85,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 86,
      "normalized_name": "toaster",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/toaster.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/toaster.tsx | mbarbine__ai-chat-interface-webby:components/ui/toaster.tsx | mbarbine__autographed-bibles-webby:components/ui/toaster.tsx | mbarbine__automotive-flamethrower-webby:components/ui/toaster.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/toaster.tsx | mbarbine__calendar-app-webby:components/ui/toaster.tsx | mbarbine__car-service-records:components/ui/toaster.tsx | mbarbine__civic-engagement-platform-webby:components/ui/toaster.tsx | mbarbine__crafted-virginia-website:components/ui/toaster.tsx | mbarbine__desert-bus:components/ui/toaster.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/toaster.tsx | mbarbine__drone-reel-webby:components/ui/toaster.tsx | mbarbine__email-reading-service-webby:components/ui/toaster.tsx | mbarbine__fortune-cookie-webby:components/ui/toaster.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/toaster.tsx | mbarbine__game-porting-service-webby:components/ui/toaster.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/toaster.tsx | mbarbine__instant-snap-postcard:src/components/ui/toaster.tsx | mbarbine__mailthing-main:components/ui/Toasts/toaster.tsx | mbarbine__microwave-sticker-webby:components/ui/toaster.tsx | mbarbine__microwave-stickers-:components/ui/toaster.tsx | mbarbine__multiplayer-puzzle-game:components/ui/toaster.tsx | mbarbine__nova-hackers-webby:components/ui/toaster.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/toaster.tsx | mbarbine__platphorm-404:components/ui/toaster.tsx | mbarbine__platphorm-alleycats:components/ui/toaster.tsx | mbarbine__platphorm-ascii:components/ui/toaster.tsx | mbarbine__platphorm-auction-vice:components/ui/toaster.tsx | mbarbine__platphorm-base:components/ui/toaster.tsx | mbarbine__platphorm-bbs:components/ui/toaster.tsx | mbarbine__platphorm-cobol:components/ui/toaster.tsx | mbarbine__platphorm-codex:components/ui/toaster.tsx | mbarbine__platphorm-decks:components/ui/toaster.tsx | mbarbine__platphorm-desa:components/ui/toaster.tsx | mbarbine__platphorm-design:components/ui/toaster.tsx | mbarbine__platphorm-dictionary:components/ui/toaster.tsx | mbarbine__platphorm-emoji:components/ui/toaster.tsx | mbarbine__platphorm-finance:components/ui/toaster.tsx | mbarbine__platphorm-fingerprint-service:components/ui/toaster.tsx | mbarbine__platphorm-insights:components/ui/toaster.tsx | mbarbine__platphorm-jobs:components/ui/toaster.tsx | mbarbine__platphorm-json:components/ui/toaster.tsx | mbarbine__platphorm-jules:components/ui/toaster.tsx | mbarbine__platphorm-kanban:components/ui/toaster.tsx | mbarbine__platphorm-keys:components/ui/toaster.tsx | mbarbine__platphorm-layout:components/ui/toaster.tsx | mbarbine__platphorm-mcp:components/ui/toaster.tsx | mbarbine__platphorm-msi-editor:components/ui/toaster.tsx | mbarbine__platphorm-openclaw:components/ui/toaster.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 85,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 157,
      "normalized_name": "chart",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/chart.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/chart.tsx | mbarbine__Scripts:h4x/dagah-server/html/js/chartjs/Chart.js | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/document-uploader/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/template-storage/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/config/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/processing/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/dispatcher/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/feedback/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms-generation/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/tiller/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nlp/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-web/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/portfolio/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patenthub/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis-ui/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/fs/Chart.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/template-storage/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/config/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/processing/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/feedback/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nlp/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/portfolio/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patenthub/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/fs/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/Chart.yaml",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 84,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 89,
      "normalized_name": "breadcrumb",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/breadcrumb.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/breadcrumb.tsx | mbarbine__ai-chat-interface-webby:components/ui/breadcrumb.tsx | mbarbine__autographed-bibles-webby:components/ui/breadcrumb.tsx | mbarbine__automotive-flamethrower-webby:components/ui/breadcrumb.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/breadcrumb.tsx | mbarbine__calendar-app-webby:components/ui/breadcrumb.tsx | mbarbine__car-service-records:components/ui/breadcrumb.tsx | mbarbine__civic-engagement-platform-webby:components/ui/breadcrumb.tsx | mbarbine__crafted-virginia-website:components/ui/breadcrumb.tsx | mbarbine__desert-bus:components/ui/breadcrumb.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/breadcrumb.tsx | mbarbine__drone-reel-webby:components/ui/breadcrumb.tsx | mbarbine__email-reading-service-webby:components/ui/breadcrumb.tsx | mbarbine__fortune-cookie-webby:components/ui/breadcrumb.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/breadcrumb.tsx | mbarbine__game-porting-service-webby:components/ui/breadcrumb.tsx | mbarbine__hot-chocolate-for-profit-webby:components/breadcrumb.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/breadcrumb.tsx | mbarbine__hot-chocolate-for-profit-webby:__tests__/breadcrumb.test.tsx | mbarbine__instant-snap-postcard:src/components/ui/breadcrumb.tsx | mbarbine__microwave-sticker-webby:components/ui/breadcrumb.test.tsx | mbarbine__microwave-sticker-webby:components/ui/breadcrumb.tsx | mbarbine__microwave-stickers-:components/ui/breadcrumb.tsx | mbarbine__multiplayer-puzzle-game:components/ui/breadcrumb.tsx | mbarbine__nova-hackers-webby:components/ui/breadcrumb.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/breadcrumb.tsx | mbarbine__ph3ar-admin-dashboard:components/ui/breadcrumb.tsx | mbarbine__platphorm-404:components/ui/breadcrumb.tsx | mbarbine__platphorm-alleycats:components/ui/breadcrumb.tsx | mbarbine__platphorm-ascii:components/ui/breadcrumb.tsx | mbarbine__platphorm-auction-vice:components/ui/breadcrumb.tsx | mbarbine__platphorm-base:components/ui/breadcrumb.tsx | mbarbine__platphorm-bbs:components/ui/breadcrumb.tsx | mbarbine__platphorm-cobol:components/ui/breadcrumb.tsx | mbarbine__platphorm-codex:components/ui/breadcrumb.tsx | mbarbine__platphorm-decks:components/ui/breadcrumb.tsx | mbarbine__platphorm-desa:components/ui/breadcrumb.tsx | mbarbine__platphorm-design:components/ui/breadcrumb.tsx | mbarbine__platphorm-dictionary:components/ui/breadcrumb.tsx | mbarbine__platphorm-emoji:components/ui/breadcrumb.tsx | mbarbine__platphorm-finance:components/ui/breadcrumb.tsx | mbarbine__platphorm-fingerprint-service:components/ui/breadcrumb.tsx | mbarbine__platphorm-insights:components/ui/breadcrumb.tsx | mbarbine__platphorm-jobs:components/ui/breadcrumb.tsx | mbarbine__platphorm-json:components/ui/breadcrumb.tsx | mbarbine__platphorm-jules:components/ui/breadcrumb.tsx | mbarbine__platphorm-kanban:components/ui/breadcrumb.tsx | mbarbine__platphorm-keys:components/ui/breadcrumb.tsx | mbarbine__platphorm-layout:components/ui/breadcrumb.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 84,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 86,
      "normalized_name": "alert-dialog",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/alert-dialog.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/alert-dialog.tsx | mbarbine__ai-chat-interface-webby:components/ui/alert-dialog.tsx | mbarbine__autographed-bibles-webby:components/ui/alert-dialog.tsx | mbarbine__automotive-flamethrower-webby:components/ui/alert-dialog.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/alert-dialog.tsx | mbarbine__calendar-app-webby:components/ui/alert-dialog.tsx | mbarbine__car-service-records:components/ui/alert-dialog.tsx | mbarbine__civic-engagement-platform-webby:components/ui/alert-dialog.tsx | mbarbine__crafted-virginia-website:components/ui/alert-dialog.tsx | mbarbine__desert-bus:components/ui/alert-dialog.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/alert-dialog.tsx | mbarbine__drone-reel-webby:components/ui/alert-dialog.tsx | mbarbine__email-reading-service-webby:components/ui/alert-dialog.tsx | mbarbine__fortune-cookie-webby:components/ui/alert-dialog.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/alert-dialog.tsx | mbarbine__game-porting-service-webby:components/ui/alert-dialog.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/alert-dialog.tsx | mbarbine__instant-snap-postcard:src/components/ui/alert-dialog.tsx | mbarbine__microwave-sticker-webby:components/ui/alert-dialog.tsx | mbarbine__microwave-sticker-webby:components/ui/alert-dialog.test.tsx | mbarbine__microwave-stickers-:components/ui/alert-dialog.tsx | mbarbine__multiplayer-puzzle-game:components/ui/alert-dialog.tsx | mbarbine__nextjs-ai-4:components/ui/alert-dialog.tsx | mbarbine__nextjs-ai-chatbot:components/ui/alert-dialog.tsx | mbarbine__nova-hackers-webby:components/ui/alert-dialog.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/alert-dialog.tsx | mbarbine__ph3ar-chatbot:components/ui/alert-dialog.tsx | mbarbine__platphorm-404:components/ui/alert-dialog.tsx | mbarbine__platphorm-alleycats:components/ui/alert-dialog.tsx | mbarbine__platphorm-ascii:components/ui/alert-dialog.tsx | mbarbine__platphorm-auction-vice:components/ui/alert-dialog.tsx | mbarbine__platphorm-base:components/ui/alert-dialog.tsx | mbarbine__platphorm-bbs:components/ui/alert-dialog.tsx | mbarbine__platphorm-cobol:components/ui/alert-dialog.tsx | mbarbine__platphorm-codex:components/ui/alert-dialog.tsx | mbarbine__platphorm-decks:components/ui/alert-dialog.tsx | mbarbine__platphorm-desa:components/ui/alert-dialog.tsx | mbarbine__platphorm-design:components/ui/alert-dialog.tsx | mbarbine__platphorm-dictionary:components/ui/alert-dialog.tsx | mbarbine__platphorm-emoji:components/ui/alert-dialog.tsx | mbarbine__platphorm-finance:components/ui/alert-dialog.tsx | mbarbine__platphorm-fingerprint-service:components/ui/alert-dialog.tsx | mbarbine__platphorm-insights:components/ui/alert-dialog.tsx | mbarbine__platphorm-jobs:components/ui/alert-dialog.tsx | mbarbine__platphorm-json:components/ui/alert-dialog.tsx | mbarbine__platphorm-jules:components/ui/alert-dialog.tsx | mbarbine__platphorm-kanban:components/ui/alert-dialog.tsx | mbarbine__platphorm-keys:components/ui/alert-dialog.tsx | mbarbine__platphorm-layout:components/ui/alert-dialog.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 84,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 85,
      "normalized_name": "popover",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/popover.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/popover.tsx | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/js/popover.js | mbarbine__ai-chat-interface-webby:components/ui/popover.tsx | mbarbine__autographed-bibles-webby:components/ui/popover.tsx | mbarbine__automotive-flamethrower-webby:components/ui/popover.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/popover.tsx | mbarbine__calendar-app-webby:components/ui/popover.tsx | mbarbine__car-service-records:components/ui/popover.tsx | mbarbine__civic-engagement-platform-webby:components/ui/popover.tsx | mbarbine__crafted-virginia-website:components/ui/popover.tsx | mbarbine__desert-bus:components/ui/popover.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/popover.tsx | mbarbine__drone-reel-webby:components/ui/popover.tsx | mbarbine__email-reading-service-webby:components/ui/popover.tsx | mbarbine__fortune-cookie-webby:components/ui/popover.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/popover.tsx | mbarbine__game-porting-service-webby:components/ui/popover.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/popover.tsx | mbarbine__instant-snap-postcard:src/components/ui/popover.tsx | mbarbine__microwave-sticker-webby:components/ui/popover.tsx | mbarbine__microwave-sticker-webby:components/ui/popover.test.tsx | mbarbine__microwave-stickers-:components/ui/popover.tsx | mbarbine__multiplayer-puzzle-game:components/ui/popover.tsx | mbarbine__nova-hackers-webby:components/ui/popover.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/popover.tsx | mbarbine__platphorm-404:components/ui/popover.tsx | mbarbine__platphorm-alleycats:components/ui/popover.tsx | mbarbine__platphorm-ascii:components/ui/popover.tsx | mbarbine__platphorm-auction-vice:components/ui/popover.tsx | mbarbine__platphorm-base:components/ui/popover.tsx | mbarbine__platphorm-bbs:components/ui/popover.tsx | mbarbine__platphorm-cobol:components/ui/popover.tsx | mbarbine__platphorm-codex:components/ui/popover.tsx | mbarbine__platphorm-decks:components/ui/popover.tsx | mbarbine__platphorm-desa:components/ui/popover.tsx | mbarbine__platphorm-design:components/ui/popover.tsx | mbarbine__platphorm-dictionary:components/ui/popover.tsx | mbarbine__platphorm-emoji:components/ui/popover.tsx | mbarbine__platphorm-finance:components/ui/popover.tsx | mbarbine__platphorm-fingerprint-service:components/ui/popover.tsx | mbarbine__platphorm-insights:components/ui/popover.tsx | mbarbine__platphorm-jobs:components/ui/popover.tsx | mbarbine__platphorm-json:components/ui/popover.tsx | mbarbine__platphorm-jules:components/ui/popover.tsx | mbarbine__platphorm-kanban:components/ui/popover.tsx | mbarbine__platphorm-keys:components/ui/popover.tsx | mbarbine__platphorm-layout:components/ui/popover.tsx | mbarbine__platphorm-mcp:components/ui/popover.tsx | mbarbine__platphorm-msi-editor:components/ui/popover.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 83,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 84,
      "normalized_name": "carousel",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/carousel.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/carousel.tsx | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/js/carousel.js | mbarbine__ai-chat-interface-webby:components/ui/carousel.tsx | mbarbine__autographed-bibles-webby:components/ui/carousel.tsx | mbarbine__automotive-flamethrower-webby:components/ui/carousel.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/carousel.tsx | mbarbine__calendar-app-webby:components/ui/carousel.tsx | mbarbine__car-service-records:components/ui/carousel.tsx | mbarbine__civic-engagement-platform-webby:components/ui/carousel.tsx | mbarbine__crafted-virginia-website:components/ui/carousel.tsx | mbarbine__desert-bus:components/ui/carousel.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/carousel.tsx | mbarbine__drone-reel-webby:components/ui/carousel.tsx | mbarbine__email-reading-service-webby:components/ui/carousel.tsx | mbarbine__fortune-cookie-webby:components/ui/carousel.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/carousel.tsx | mbarbine__game-porting-service-webby:components/ui/carousel.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/carousel.tsx | mbarbine__instant-snap-postcard:src/components/ui/carousel.tsx | mbarbine__microwave-sticker-webby:components/ui/carousel.tsx | mbarbine__microwave-stickers-:components/ui/carousel.tsx | mbarbine__multiplayer-puzzle-game:components/ui/carousel.tsx | mbarbine__nova-hackers-webby:components/ui/carousel.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/carousel.tsx | mbarbine__platphorm-404:components/ui/carousel.tsx | mbarbine__platphorm-alleycats:components/ui/carousel.tsx | mbarbine__platphorm-ascii:components/ui/carousel.tsx | mbarbine__platphorm-auction-vice:components/ui/carousel.tsx | mbarbine__platphorm-base:components/ui/carousel.tsx | mbarbine__platphorm-bbs:components/ui/carousel.tsx | mbarbine__platphorm-cobol:components/ui/carousel.tsx | mbarbine__platphorm-codex:components/ui/carousel.tsx | mbarbine__platphorm-decks:components/ui/carousel.tsx | mbarbine__platphorm-desa:components/ui/carousel.tsx | mbarbine__platphorm-design:components/ui/carousel.tsx | mbarbine__platphorm-dictionary:components/ui/carousel.tsx | mbarbine__platphorm-emoji:components/ui/carousel.tsx | mbarbine__platphorm-finance:components/ui/carousel.tsx | mbarbine__platphorm-fingerprint-service:components/ui/carousel.tsx | mbarbine__platphorm-insights:components/ui/carousel.tsx | mbarbine__platphorm-jobs:components/ui/carousel.tsx | mbarbine__platphorm-json:components/ui/carousel.tsx | mbarbine__platphorm-jules:components/ui/carousel.tsx | mbarbine__platphorm-kanban:components/ui/carousel.tsx | mbarbine__platphorm-keys:components/ui/carousel.tsx | mbarbine__platphorm-layout:components/ui/carousel.tsx | mbarbine__platphorm-mcp:components/ui/carousel.tsx | mbarbine__platphorm-msi-editor:components/ui/carousel.tsx | mbarbine__platphorm-openclaw:components/ui/carousel.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 83,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 84,
      "normalized_name": "scroll-area",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/scroll-area.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/scroll-area.tsx | mbarbine__autographed-bibles-webby:components/ui/scroll-area.tsx | mbarbine__automotive-flamethrower-webby:components/ui/scroll-area.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/scroll-area.tsx | mbarbine__beer-museum-manager-www:components/ui/scroll-area.tsx | mbarbine__calendar-app-webby:components/ui/scroll-area.tsx | mbarbine__car-service-records:components/ui/scroll-area.tsx | mbarbine__civic-engagement-platform-webby:components/ui/scroll-area.tsx | mbarbine__crafted-virginia-website:components/ui/scroll-area.tsx | mbarbine__desert-bus:components/ui/scroll-area.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/scroll-area.tsx | mbarbine__drone-reel-webby:components/ui/scroll-area.tsx | mbarbine__email-reading-service-webby:components/ui/scroll-area.tsx | mbarbine__fortune-cookie-webby:components/ui/scroll-area.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/scroll-area.tsx | mbarbine__game-porting-service-webby:components/ui/scroll-area.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/scroll-area.tsx | mbarbine__instant-snap-postcard:src/components/ui/scroll-area.tsx | mbarbine__microwave-sticker-webby:components/ui/scroll-area.test.tsx | mbarbine__microwave-sticker-webby:components/ui/scroll-area.tsx | mbarbine__microwave-stickers-:components/ui/scroll-area.tsx | mbarbine__multiplayer-puzzle-game:components/ui/scroll-area.tsx | mbarbine__nova-hackers-webby:components/ui/scroll-area.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/scroll-area.tsx | mbarbine__platphorm-404:components/ui/scroll-area.tsx | mbarbine__platphorm-alleycats:components/ui/scroll-area.tsx | mbarbine__platphorm-ascii:components/ui/scroll-area.tsx | mbarbine__platphorm-auction-vice:components/ui/scroll-area.tsx | mbarbine__platphorm-base:components/ui/scroll-area.tsx | mbarbine__platphorm-bbs:components/ui/scroll-area.tsx | mbarbine__platphorm-cobol:components/ui/scroll-area.tsx | mbarbine__platphorm-codex:components/ui/scroll-area.tsx | mbarbine__platphorm-decks:components/ui/scroll-area.tsx | mbarbine__platphorm-desa:components/ui/scroll-area.tsx | mbarbine__platphorm-design:components/ui/scroll-area.tsx | mbarbine__platphorm-dictionary:components/ui/scroll-area.tsx | mbarbine__platphorm-emoji:components/ui/scroll-area.tsx | mbarbine__platphorm-finance:components/ui/scroll-area.tsx | mbarbine__platphorm-fingerprint-service:components/ui/scroll-area.tsx | mbarbine__platphorm-insights:components/ui/scroll-area.tsx | mbarbine__platphorm-jobs:components/ui/scroll-area.tsx | mbarbine__platphorm-json:components/ui/scroll-area.tsx | mbarbine__platphorm-jules:components/ui/scroll-area.tsx | mbarbine__platphorm-kanban:components/ui/scroll-area.tsx | mbarbine__platphorm-keys:components/ui/scroll-area.tsx | mbarbine__platphorm-layout:components/ui/scroll-area.tsx | mbarbine__platphorm-mcp:components/ui/scroll-area.tsx | mbarbine__platphorm-msi-editor:components/ui/scroll-area.tsx | mbarbine__platphorm-openclaw:components/ui/scroll-area.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 82,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 83,
      "normalized_name": "sonner",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/sonner.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/sonner.tsx | mbarbine__ai-chat-interface-webby:components/ui/sonner.tsx | mbarbine__autographed-bibles-webby:components/ui/sonner.tsx | mbarbine__automotive-flamethrower-webby:components/ui/sonner.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/sonner.tsx | mbarbine__calendar-app-webby:components/ui/sonner.tsx | mbarbine__car-service-records:components/ui/sonner.tsx | mbarbine__civic-engagement-platform-webby:components/ui/sonner.tsx | mbarbine__crafted-virginia-website:components/ui/sonner.tsx | mbarbine__desert-bus:components/ui/sonner.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/sonner.tsx | mbarbine__drone-reel-webby:components/ui/sonner.tsx | mbarbine__email-reading-service-webby:components/ui/sonner.tsx | mbarbine__fortune-cookie-webby:components/ui/sonner.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/sonner.tsx | mbarbine__game-porting-service-webby:components/ui/sonner.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/sonner.tsx | mbarbine__instant-snap-postcard:src/components/ui/sonner.tsx | mbarbine__microwave-sticker-webby:components/ui/sonner.tsx | mbarbine__microwave-stickers-:components/ui/sonner.tsx | mbarbine__multiplayer-puzzle-game:components/ui/sonner.tsx | mbarbine__nova-hackers-webby:components/ui/sonner.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/sonner.tsx | mbarbine__platphorm-404:components/ui/sonner.tsx | mbarbine__platphorm-alleycats:components/ui/sonner.tsx | mbarbine__platphorm-ascii:components/ui/sonner.tsx | mbarbine__platphorm-auction-vice:components/ui/sonner.tsx | mbarbine__platphorm-base:components/ui/sonner.tsx | mbarbine__platphorm-bbs:components/ui/sonner.tsx | mbarbine__platphorm-cobol:components/ui/sonner.tsx | mbarbine__platphorm-codex:components/ui/sonner.tsx | mbarbine__platphorm-content-showback-dashboard:components/ui/sonner.tsx | mbarbine__platphorm-decks:components/ui/sonner.tsx | mbarbine__platphorm-desa:components/ui/sonner.tsx | mbarbine__platphorm-design:components/ui/sonner.tsx | mbarbine__platphorm-dictionary:components/ui/sonner.tsx | mbarbine__platphorm-emoji:components/ui/sonner.tsx | mbarbine__platphorm-finance:components/ui/sonner.tsx | mbarbine__platphorm-fingerprint-service:components/ui/sonner.tsx | mbarbine__platphorm-insights:components/ui/sonner.tsx | mbarbine__platphorm-jobs:components/ui/sonner.tsx | mbarbine__platphorm-json:components/ui/sonner.tsx | mbarbine__platphorm-jules:components/ui/sonner.tsx | mbarbine__platphorm-kanban:components/ui/sonner.tsx | mbarbine__platphorm-keys:components/ui/sonner.tsx | mbarbine__platphorm-layout:components/ui/sonner.tsx | mbarbine__platphorm-mcp:components/ui/sonner.tsx | mbarbine__platphorm-msi-editor:components/ui/sonner.tsx | mbarbine__platphorm-openclaw:components/ui/sonner.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 82,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 83,
      "normalized_name": "navigation-menu",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/navigation-menu.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/navigation-menu.tsx | mbarbine__ai-chat-interface-webby:components/ui/navigation-menu.tsx | mbarbine__autographed-bibles-webby:components/ui/navigation-menu.tsx | mbarbine__automotive-flamethrower-webby:components/ui/navigation-menu.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/navigation-menu.tsx | mbarbine__calendar-app-webby:components/ui/navigation-menu.tsx | mbarbine__car-service-records:components/ui/navigation-menu.tsx | mbarbine__civic-engagement-platform-webby:components/ui/navigation-menu.tsx | mbarbine__crafted-virginia-website:components/ui/navigation-menu.tsx | mbarbine__desert-bus:components/ui/navigation-menu.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/navigation-menu.tsx | mbarbine__drone-reel-webby:components/ui/navigation-menu.tsx | mbarbine__email-reading-service-webby:components/ui/navigation-menu.tsx | mbarbine__fortune-cookie-webby:components/ui/navigation-menu.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/navigation-menu.tsx | mbarbine__game-porting-service-webby:components/ui/navigation-menu.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/navigation-menu.tsx | mbarbine__instant-snap-postcard:src/components/ui/navigation-menu.tsx | mbarbine__microwave-sticker-webby:components/ui/navigation-menu.tsx | mbarbine__microwave-sticker-webby:components/ui/navigation-menu.test.tsx | mbarbine__microwave-stickers-:components/ui/navigation-menu.tsx | mbarbine__multiplayer-puzzle-game:components/ui/navigation-menu.tsx | mbarbine__nova-hackers-webby:components/ui/navigation-menu.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/navigation-menu.tsx | mbarbine__platphorm-404:components/ui/navigation-menu.tsx | mbarbine__platphorm-alleycats:components/ui/navigation-menu.tsx | mbarbine__platphorm-ascii:components/ui/navigation-menu.tsx | mbarbine__platphorm-auction-vice:components/ui/navigation-menu.tsx | mbarbine__platphorm-base:components/ui/navigation-menu.tsx | mbarbine__platphorm-bbs:components/ui/navigation-menu.tsx | mbarbine__platphorm-cobol:components/ui/navigation-menu.tsx | mbarbine__platphorm-codex:components/ui/navigation-menu.tsx | mbarbine__platphorm-decks:components/ui/navigation-menu.tsx | mbarbine__platphorm-desa:components/ui/navigation-menu.tsx | mbarbine__platphorm-design:components/ui/navigation-menu.tsx | mbarbine__platphorm-dictionary:components/ui/navigation-menu.tsx | mbarbine__platphorm-emoji:components/ui/navigation-menu.tsx | mbarbine__platphorm-finance:components/ui/navigation-menu.tsx | mbarbine__platphorm-fingerprint-service:components/ui/navigation-menu.tsx | mbarbine__platphorm-insights:components/ui/navigation-menu.tsx | mbarbine__platphorm-jobs:components/ui/navigation-menu.tsx | mbarbine__platphorm-json:components/ui/navigation-menu.tsx | mbarbine__platphorm-jules:components/ui/navigation-menu.tsx | mbarbine__platphorm-kanban:components/ui/navigation-menu.tsx | mbarbine__platphorm-keys:components/ui/navigation-menu.tsx | mbarbine__platphorm-layout:components/ui/navigation-menu.tsx | mbarbine__platphorm-mcp:components/ui/navigation-menu.tsx | mbarbine__platphorm-msi-editor:components/ui/navigation-menu.tsx | mbarbine__platphorm-openclaw:components/ui/navigation-menu.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 81,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 83,
      "normalized_name": "radio-group",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/radio-group.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/radio-group.tsx | mbarbine__ai-chat-interface-webby:components/ui/radio-group.tsx | mbarbine__autographed-bibles-webby:components/ui/radio-group.tsx | mbarbine__automotive-flamethrower-webby:components/ui/radio-group.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/radio-group.tsx | mbarbine__calendar-app-webby:components/ui/radio-group.tsx | mbarbine__car-service-records:components/ui/radio-group.tsx | mbarbine__civic-engagement-platform-webby:components/ui/radio-group.tsx | mbarbine__crafted-virginia-website:components/ui/radio-group.tsx | mbarbine__desert-bus:components/ui/radio-group.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/radio-group.tsx | mbarbine__drone-reel-webby:components/ui/radio-group.tsx | mbarbine__email-reading-service-webby:components/ui/radio-group.tsx | mbarbine__fortune-cookie-webby:components/ui/radio-group.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/radio-group.tsx | mbarbine__game-porting-service-webby:components/ui/radio-group.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/radio-group.tsx | mbarbine__instant-snap-postcard:src/components/ui/radio-group.tsx | mbarbine__microwave-sticker-webby:components/ui/radio-group.tsx | mbarbine__microwave-sticker-webby:components/ui/radio-group.test.tsx | mbarbine__microwave-stickers-:components/ui/radio-group.tsx | mbarbine__multiplayer-puzzle-game:components/ui/radio-group.tsx | mbarbine__nova-hackers-webby:components/ui/radio-group.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/radio-group.tsx | mbarbine__platphorm-404:components/ui/radio-group.tsx | mbarbine__platphorm-alleycats:components/ui/radio-group.tsx | mbarbine__platphorm-ascii:components/ui/radio-group.tsx | mbarbine__platphorm-auction-vice:components/ui/radio-group.tsx | mbarbine__platphorm-base:components/ui/radio-group.tsx | mbarbine__platphorm-bbs:components/ui/radio-group.tsx | mbarbine__platphorm-cobol:components/ui/radio-group.tsx | mbarbine__platphorm-codex:components/ui/radio-group.tsx | mbarbine__platphorm-decks:components/ui/radio-group.tsx | mbarbine__platphorm-desa:components/ui/radio-group.tsx | mbarbine__platphorm-design:components/ui/radio-group.tsx | mbarbine__platphorm-dictionary:components/ui/radio-group.tsx | mbarbine__platphorm-emoji:components/ui/radio-group.tsx | mbarbine__platphorm-finance:components/ui/radio-group.tsx | mbarbine__platphorm-fingerprint-service:components/ui/radio-group.tsx | mbarbine__platphorm-insights:components/ui/radio-group.tsx | mbarbine__platphorm-jobs:components/ui/radio-group.tsx | mbarbine__platphorm-json:components/ui/radio-group.tsx | mbarbine__platphorm-jules:components/ui/radio-group.tsx | mbarbine__platphorm-kanban:components/ui/radio-group.tsx | mbarbine__platphorm-keys:components/ui/radio-group.tsx | mbarbine__platphorm-layout:components/ui/radio-group.tsx | mbarbine__platphorm-mcp:components/ui/radio-group.tsx | mbarbine__platphorm-msi-editor:components/ui/radio-group.tsx | mbarbine__platphorm-news-alt-theme:components/ui/radio-group.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 81,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 83,
      "normalized_name": "toggle",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/toggle.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/toggle.tsx | mbarbine__ai-chat-interface-webby:components/ui/toggle.tsx | mbarbine__autographed-bibles-webby:components/ui/toggle.tsx | mbarbine__automotive-flamethrower-webby:components/ui/toggle.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/toggle.tsx | mbarbine__calendar-app-webby:components/ui/toggle.tsx | mbarbine__car-service-records:components/ui/toggle.tsx | mbarbine__civic-engagement-platform-webby:components/ui/toggle.tsx | mbarbine__crafted-virginia-website:components/ui/toggle.tsx | mbarbine__desert-bus:components/ui/toggle.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/toggle.tsx | mbarbine__drone-reel-webby:components/ui/toggle.tsx | mbarbine__email-reading-service-webby:components/ui/toggle.tsx | mbarbine__fortune-cookie-webby:components/ui/toggle.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/toggle.tsx | mbarbine__game-porting-service-webby:components/ui/toggle.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/toggle.tsx | mbarbine__instant-snap-postcard:src/components/ui/toggle.tsx | mbarbine__microwave-sticker-webby:components/ui/toggle.test.tsx | mbarbine__microwave-sticker-webby:components/ui/toggle.tsx | mbarbine__microwave-stickers-:components/ui/toggle.tsx | mbarbine__multiplayer-puzzle-game:components/ui/toggle.tsx | mbarbine__nova-hackers-webby:components/ui/toggle.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/toggle.tsx | mbarbine__platphorm-404:components/ui/toggle.tsx | mbarbine__platphorm-alleycats:components/ui/toggle.tsx | mbarbine__platphorm-ascii:components/ui/toggle.tsx | mbarbine__platphorm-auction-vice:components/ui/toggle.tsx | mbarbine__platphorm-base:components/ui/toggle.tsx | mbarbine__platphorm-bbs:components/ui/toggle.tsx | mbarbine__platphorm-cobol:components/ui/toggle.tsx | mbarbine__platphorm-codex:components/ui/toggle.tsx | mbarbine__platphorm-decks:components/ui/toggle.tsx | mbarbine__platphorm-desa:components/ui/toggle.tsx | mbarbine__platphorm-design:components/ui/toggle.tsx | mbarbine__platphorm-dictionary:components/ui/toggle.tsx | mbarbine__platphorm-emoji:components/ui/toggle.tsx | mbarbine__platphorm-finance:components/ui/toggle.tsx | mbarbine__platphorm-fingerprint-service:components/ui/toggle.tsx | mbarbine__platphorm-insights:components/ui/toggle.tsx | mbarbine__platphorm-jobs:components/ui/toggle.tsx | mbarbine__platphorm-json:components/ui/toggle.tsx | mbarbine__platphorm-jules:components/ui/toggle.tsx | mbarbine__platphorm-kanban:components/ui/toggle.tsx | mbarbine__platphorm-keys:components/ui/toggle.tsx | mbarbine__platphorm-layout:components/ui/toggle.tsx | mbarbine__platphorm-mcp:components/ui/toggle.tsx | mbarbine__platphorm-msi-editor:components/ui/toggle.tsx | mbarbine__platphorm-onboard:components/ui/toggle.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 81,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "form",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/form.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/form.tsx | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/form.test.js | mbarbine__ai-chat-interface-webby:components/ui/form.tsx | mbarbine__autographed-bibles-webby:components/ui/form.tsx | mbarbine__automotive-flamethrower-webby:components/ui/form.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/form.tsx | mbarbine__calendar-app-webby:components/ui/form.tsx | mbarbine__car-service-records:components/ui/form.tsx | mbarbine__civic-engagement-platform-webby:components/ui/form.tsx | mbarbine__crafted-virginia-website:components/ui/form.tsx | mbarbine__desert-bus:components/ui/form.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/form.tsx | mbarbine__drone-reel-webby:components/ui/form.tsx | mbarbine__email-reading-service-webby:components/ui/form.tsx | mbarbine__fortune-cookie-webby:components/ui/form.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/form.tsx | mbarbine__game-porting-service-webby:components/ui/form.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/form.tsx | mbarbine__instant-snap-postcard:src/components/ui/form.tsx | mbarbine__microwave-sticker-webby:components/ui/form.tsx | mbarbine__microwave-stickers-:components/ui/form.tsx | mbarbine__multiplayer-puzzle-game:components/ui/form.tsx | mbarbine__nova-hackers-webby:components/ui/form.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/form.tsx | mbarbine__platphorm-404:components/ui/form.tsx | mbarbine__platphorm-alleycats:components/ui/form.tsx | mbarbine__platphorm-ascii:components/ui/form.tsx | mbarbine__platphorm-auction-vice:components/ui/form.tsx | mbarbine__platphorm-base:components/ui/form.tsx | mbarbine__platphorm-bbs:components/ui/form.tsx | mbarbine__platphorm-cobol:components/ui/form.tsx | mbarbine__platphorm-codex:components/ui/form.tsx | mbarbine__platphorm-decks:components/ui/form.tsx | mbarbine__platphorm-desa:components/ui/form.tsx | mbarbine__platphorm-design:components/ui/form.tsx | mbarbine__platphorm-dictionary:components/ui/form.tsx | mbarbine__platphorm-emoji:components/ui/form.tsx | mbarbine__platphorm-finance:components/ui/form.tsx | mbarbine__platphorm-fingerprint-service:components/ui/form.tsx | mbarbine__platphorm-insights:components/ui/form.tsx | mbarbine__platphorm-jobs:components/ui/form.tsx | mbarbine__platphorm-json:components/ui/form.tsx | mbarbine__platphorm-jules:components/ui/form.tsx | mbarbine__platphorm-kanban:components/ui/form.tsx | mbarbine__platphorm-keys:components/ui/form.tsx | mbarbine__platphorm-layout:components/ui/form.tsx | mbarbine__platphorm-mcp:components/ui/form.tsx | mbarbine__platphorm-msi-editor:components/ui/form.tsx | mbarbine__platphorm-openclaw:components/ui/form.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 81,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 84,
      "normalized_name": "calendar",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/calendar.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/calendar.tsx | mbarbine__ai-chat-interface-webby:components/ui/calendar.tsx | mbarbine__autographed-bibles-webby:components/ui/calendar.tsx | mbarbine__automotive-flamethrower-webby:components/ui/calendar.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/calendar.tsx | mbarbine__calendar-app-webby:components/ui/calendar.tsx | mbarbine__car-service-records:components/ui/calendar.tsx | mbarbine__civic-engagement-platform-webby:components/ui/calendar.tsx | mbarbine__crafted-virginia-website:components/ui/calendar.tsx | mbarbine__desert-bus:components/ui/calendar.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/calendar.tsx | mbarbine__drone-reel-webby:components/ui/calendar.tsx | mbarbine__email-reading-service-webby:components/ui/calendar.tsx | mbarbine__fortune-cookie-webby:components/ui/calendar.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/calendar.tsx | mbarbine__game-porting-service-webby:components/ui/calendar.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/calendar.tsx | mbarbine__instant-snap-postcard:src/components/ui/calendar.tsx | mbarbine__microwave-sticker-webby:components/ui/calendar.tsx | mbarbine__microwave-sticker-webby:components/ui/calendar.test.tsx | mbarbine__microwave-stickers-:components/ui/calendar.tsx | mbarbine__multiplayer-puzzle-game:components/ui/calendar.tsx | mbarbine__nova-hackers-webby:components/ui/calendar.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/calendar.tsx | mbarbine__platphorm-404:components/ui/calendar.tsx | mbarbine__platphorm-alleycats:components/ui/calendar.tsx | mbarbine__platphorm-ascii:components/ui/calendar.tsx | mbarbine__platphorm-auction-vice:components/ui/calendar.tsx | mbarbine__platphorm-base:components/ui/calendar.tsx | mbarbine__platphorm-bbs:components/ui/calendar.tsx | mbarbine__platphorm-cobol:components/ui/calendar.tsx | mbarbine__platphorm-codex:components/ui/calendar.tsx | mbarbine__platphorm-decks:components/ui/calendar.tsx | mbarbine__platphorm-desa:components/ui/calendar.tsx | mbarbine__platphorm-design:components/ui/calendar.tsx | mbarbine__platphorm-dictionary:components/ui/calendar.tsx | mbarbine__platphorm-emoji:components/ui/calendar.tsx | mbarbine__platphorm-finance:components/ui/calendar.tsx | mbarbine__platphorm-fingerprint-service:components/ui/calendar.tsx | mbarbine__platphorm-insights:components/ui/calendar.tsx | mbarbine__platphorm-jobs:components/ui/calendar.tsx | mbarbine__platphorm-json:components/ui/calendar.tsx | mbarbine__platphorm-jules:components/ui/calendar.tsx | mbarbine__platphorm-kanban:components/ui/calendar.tsx | mbarbine__platphorm-kanban:__tests__/api/calendar.test.ts | mbarbine__platphorm-keys:components/ui/calendar.tsx | mbarbine__platphorm-layout:components/ui/calendar.tsx | mbarbine__platphorm-mcp:components/ui/calendar.tsx | mbarbine__platphorm-msi-editor:components/ui/calendar.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "aspect-ratio",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/aspect-ratio.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/aspect-ratio.tsx | mbarbine__ai-chat-interface-webby:components/ui/aspect-ratio.tsx | mbarbine__autographed-bibles-webby:components/ui/aspect-ratio.tsx | mbarbine__automotive-flamethrower-webby:components/ui/aspect-ratio.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/aspect-ratio.tsx | mbarbine__calendar-app-webby:components/ui/aspect-ratio.tsx | mbarbine__car-service-records:components/ui/aspect-ratio.tsx | mbarbine__civic-engagement-platform-webby:components/ui/aspect-ratio.tsx | mbarbine__crafted-virginia-website:components/ui/aspect-ratio.tsx | mbarbine__desert-bus:components/ui/aspect-ratio.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/aspect-ratio.tsx | mbarbine__drone-reel-webby:components/ui/aspect-ratio.tsx | mbarbine__email-reading-service-webby:components/ui/aspect-ratio.tsx | mbarbine__fortune-cookie-webby:components/ui/aspect-ratio.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/aspect-ratio.tsx | mbarbine__game-porting-service-webby:components/ui/aspect-ratio.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/aspect-ratio.tsx | mbarbine__instant-snap-postcard:src/components/ui/aspect-ratio.tsx | mbarbine__microwave-sticker-webby:components/ui/aspect-ratio.tsx | mbarbine__microwave-sticker-webby:components/ui/aspect-ratio.test.tsx | mbarbine__microwave-stickers-:components/ui/aspect-ratio.tsx | mbarbine__multiplayer-puzzle-game:components/ui/aspect-ratio.tsx | mbarbine__nova-hackers-webby:components/ui/aspect-ratio.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/aspect-ratio.tsx | mbarbine__platphorm-404:components/ui/aspect-ratio.tsx | mbarbine__platphorm-alleycats:components/ui/aspect-ratio.tsx | mbarbine__platphorm-ascii:components/ui/aspect-ratio.tsx | mbarbine__platphorm-auction-vice:components/ui/aspect-ratio.tsx | mbarbine__platphorm-base:components/ui/aspect-ratio.tsx | mbarbine__platphorm-bbs:components/ui/aspect-ratio.tsx | mbarbine__platphorm-cobol:components/ui/aspect-ratio.tsx | mbarbine__platphorm-codex:components/ui/aspect-ratio.tsx | mbarbine__platphorm-decks:components/ui/aspect-ratio.tsx | mbarbine__platphorm-desa:components/ui/aspect-ratio.tsx | mbarbine__platphorm-design:components/ui/aspect-ratio.tsx | mbarbine__platphorm-dictionary:components/ui/aspect-ratio.tsx | mbarbine__platphorm-emoji:components/ui/aspect-ratio.tsx | mbarbine__platphorm-finance:components/ui/aspect-ratio.tsx | mbarbine__platphorm-fingerprint-service:components/ui/aspect-ratio.tsx | mbarbine__platphorm-insights:components/ui/aspect-ratio.tsx | mbarbine__platphorm-jobs:components/ui/aspect-ratio.tsx | mbarbine__platphorm-json:components/ui/aspect-ratio.tsx | mbarbine__platphorm-jules:components/ui/aspect-ratio.tsx | mbarbine__platphorm-kanban:components/ui/aspect-ratio.tsx | mbarbine__platphorm-keys:components/ui/aspect-ratio.tsx | mbarbine__platphorm-layout:components/ui/aspect-ratio.tsx | mbarbine__platphorm-mcp:components/ui/aspect-ratio.tsx | mbarbine__platphorm-msi-editor:components/ui/aspect-ratio.tsx | mbarbine__platphorm-openclaw:components/ui/aspect-ratio.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "pagination",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/pagination.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/pagination.tsx | mbarbine__ai-chat-interface-webby:components/ui/pagination.tsx | mbarbine__autographed-bibles-webby:components/ui/pagination.tsx | mbarbine__automotive-flamethrower-webby:components/ui/pagination.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/pagination.tsx | mbarbine__calendar-app-webby:components/ui/pagination.tsx | mbarbine__car-service-records:components/ui/pagination.tsx | mbarbine__civic-engagement-platform-webby:components/ui/pagination.tsx | mbarbine__crafted-virginia-website:components/ui/pagination.tsx | mbarbine__desert-bus:components/ui/pagination.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/pagination.tsx | mbarbine__drone-reel-webby:components/ui/pagination.tsx | mbarbine__email-reading-service-webby:components/ui/pagination.tsx | mbarbine__fortune-cookie-webby:components/ui/pagination.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/pagination.tsx | mbarbine__game-porting-service-webby:components/ui/pagination.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/pagination.tsx | mbarbine__instant-snap-postcard:src/components/ui/pagination.tsx | mbarbine__microwave-sticker-webby:components/ui/pagination.tsx | mbarbine__microwave-sticker-webby:components/ui/pagination.test.tsx | mbarbine__microwave-stickers-:components/ui/pagination.tsx | mbarbine__multiplayer-puzzle-game:components/ui/pagination.tsx | mbarbine__nova-hackers-webby:components/ui/pagination.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/pagination.tsx | mbarbine__platphorm-404:components/ui/pagination.tsx | mbarbine__platphorm-alleycats:components/ui/pagination.tsx | mbarbine__platphorm-ascii:components/ui/pagination.tsx | mbarbine__platphorm-auction-vice:components/ui/pagination.tsx | mbarbine__platphorm-base:components/ui/pagination.tsx | mbarbine__platphorm-bbs:components/ui/pagination.tsx | mbarbine__platphorm-cobol:components/ui/pagination.tsx | mbarbine__platphorm-codex:components/ui/pagination.tsx | mbarbine__platphorm-decks:components/ui/pagination.tsx | mbarbine__platphorm-desa:components/ui/pagination.tsx | mbarbine__platphorm-design:components/ui/pagination.tsx | mbarbine__platphorm-dictionary:components/ui/pagination.tsx | mbarbine__platphorm-emoji:components/ui/pagination.tsx | mbarbine__platphorm-finance:components/ui/pagination.tsx | mbarbine__platphorm-fingerprint-service:components/ui/pagination.tsx | mbarbine__platphorm-insights:components/ui/pagination.tsx | mbarbine__platphorm-jobs:components/ui/pagination.tsx | mbarbine__platphorm-json:components/ui/pagination.tsx | mbarbine__platphorm-jules:components/ui/pagination.tsx | mbarbine__platphorm-kanban:components/ui/pagination.tsx | mbarbine__platphorm-keys:components/ui/pagination.tsx | mbarbine__platphorm-layout:components/ui/pagination.tsx | mbarbine__platphorm-mcp:components/ui/pagination.tsx | mbarbine__platphorm-msi-editor:components/ui/pagination.tsx | mbarbine__platphorm-openclaw:components/ui/pagination.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "input-otp",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/input-otp.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/input-otp.tsx | mbarbine__ai-chat-interface-webby:components/ui/input-otp.tsx | mbarbine__autographed-bibles-webby:components/ui/input-otp.tsx | mbarbine__automotive-flamethrower-webby:components/ui/input-otp.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/input-otp.tsx | mbarbine__calendar-app-webby:components/ui/input-otp.tsx | mbarbine__car-service-records:components/ui/input-otp.tsx | mbarbine__civic-engagement-platform-webby:components/ui/input-otp.tsx | mbarbine__crafted-virginia-website:components/ui/input-otp.tsx | mbarbine__desert-bus:components/ui/input-otp.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/input-otp.tsx | mbarbine__drone-reel-webby:components/ui/input-otp.tsx | mbarbine__email-reading-service-webby:components/ui/input-otp.tsx | mbarbine__fortune-cookie-webby:components/ui/input-otp.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/input-otp.tsx | mbarbine__game-porting-service-webby:components/ui/input-otp.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/input-otp.tsx | mbarbine__instant-snap-postcard:src/components/ui/input-otp.tsx | mbarbine__microwave-sticker-webby:components/ui/input-otp.test.tsx | mbarbine__microwave-sticker-webby:components/ui/input-otp.tsx | mbarbine__microwave-stickers-:components/ui/input-otp.tsx | mbarbine__multiplayer-puzzle-game:components/ui/input-otp.tsx | mbarbine__nova-hackers-webby:components/ui/input-otp.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/input-otp.tsx | mbarbine__platphorm-404:components/ui/input-otp.tsx | mbarbine__platphorm-alleycats:components/ui/input-otp.tsx | mbarbine__platphorm-ascii:components/ui/input-otp.tsx | mbarbine__platphorm-auction-vice:components/ui/input-otp.tsx | mbarbine__platphorm-base:components/ui/input-otp.tsx | mbarbine__platphorm-bbs:components/ui/input-otp.tsx | mbarbine__platphorm-cobol:components/ui/input-otp.tsx | mbarbine__platphorm-codex:components/ui/input-otp.tsx | mbarbine__platphorm-decks:components/ui/input-otp.tsx | mbarbine__platphorm-desa:components/ui/input-otp.tsx | mbarbine__platphorm-design:components/ui/input-otp.tsx | mbarbine__platphorm-dictionary:components/ui/input-otp.tsx | mbarbine__platphorm-emoji:components/ui/input-otp.tsx | mbarbine__platphorm-finance:components/ui/input-otp.tsx | mbarbine__platphorm-fingerprint-service:components/ui/input-otp.tsx | mbarbine__platphorm-insights:components/ui/input-otp.tsx | mbarbine__platphorm-jobs:components/ui/input-otp.tsx | mbarbine__platphorm-json:components/ui/input-otp.tsx | mbarbine__platphorm-jules:components/ui/input-otp.tsx | mbarbine__platphorm-kanban:components/ui/input-otp.tsx | mbarbine__platphorm-keys:components/ui/input-otp.tsx | mbarbine__platphorm-layout:components/ui/input-otp.tsx | mbarbine__platphorm-mcp:components/ui/input-otp.tsx | mbarbine__platphorm-msi-editor:components/ui/input-otp.tsx | mbarbine__platphorm-openclaw:components/ui/input-otp.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "hover-card",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/hover-card.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/hover-card.tsx | mbarbine__ai-chat-interface-webby:components/ui/hover-card.tsx | mbarbine__autographed-bibles-webby:components/ui/hover-card.tsx | mbarbine__automotive-flamethrower-webby:components/ui/hover-card.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/hover-card.tsx | mbarbine__calendar-app-webby:components/ui/hover-card.tsx | mbarbine__car-service-records:components/ui/hover-card.tsx | mbarbine__civic-engagement-platform-webby:components/ui/hover-card.tsx | mbarbine__crafted-virginia-website:components/ui/hover-card.tsx | mbarbine__desert-bus:components/ui/hover-card.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/hover-card.tsx | mbarbine__drone-reel-webby:components/ui/hover-card.tsx | mbarbine__email-reading-service-webby:components/ui/hover-card.tsx | mbarbine__fortune-cookie-webby:components/ui/hover-card.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/hover-card.tsx | mbarbine__game-porting-service-webby:components/ui/hover-card.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/hover-card.tsx | mbarbine__instant-snap-postcard:src/components/ui/hover-card.tsx | mbarbine__microwave-sticker-webby:components/ui/hover-card.tsx | mbarbine__microwave-sticker-webby:components/ui/hover-card.test.tsx | mbarbine__microwave-stickers-:components/ui/hover-card.tsx | mbarbine__multiplayer-puzzle-game:components/ui/hover-card.tsx | mbarbine__nova-hackers-webby:components/ui/hover-card.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/hover-card.tsx | mbarbine__platphorm-404:components/ui/hover-card.tsx | mbarbine__platphorm-alleycats:components/ui/hover-card.tsx | mbarbine__platphorm-ascii:components/ui/hover-card.tsx | mbarbine__platphorm-auction-vice:components/ui/hover-card.tsx | mbarbine__platphorm-base:components/ui/hover-card.tsx | mbarbine__platphorm-bbs:components/ui/hover-card.tsx | mbarbine__platphorm-cobol:components/ui/hover-card.tsx | mbarbine__platphorm-codex:components/ui/hover-card.tsx | mbarbine__platphorm-decks:components/ui/hover-card.tsx | mbarbine__platphorm-desa:components/ui/hover-card.tsx | mbarbine__platphorm-design:components/ui/hover-card.tsx | mbarbine__platphorm-dictionary:components/ui/hover-card.tsx | mbarbine__platphorm-emoji:components/ui/hover-card.tsx | mbarbine__platphorm-finance:components/ui/hover-card.tsx | mbarbine__platphorm-fingerprint-service:components/ui/hover-card.tsx | mbarbine__platphorm-insights:components/ui/hover-card.tsx | mbarbine__platphorm-jobs:components/ui/hover-card.tsx | mbarbine__platphorm-json:components/ui/hover-card.tsx | mbarbine__platphorm-jules:components/ui/hover-card.tsx | mbarbine__platphorm-kanban:components/ui/hover-card.tsx | mbarbine__platphorm-keys:components/ui/hover-card.tsx | mbarbine__platphorm-layout:components/ui/hover-card.tsx | mbarbine__platphorm-mcp:components/ui/hover-card.tsx | mbarbine__platphorm-msi-editor:components/ui/hover-card.tsx | mbarbine__platphorm-openclaw:components/ui/hover-card.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "resizable",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/resizable.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/resizable.tsx | mbarbine__ai-chat-interface-webby:components/ui/resizable.tsx | mbarbine__autographed-bibles-webby:components/ui/resizable.tsx | mbarbine__automotive-flamethrower-webby:components/ui/resizable.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/resizable.tsx | mbarbine__calendar-app-webby:components/ui/resizable.tsx | mbarbine__car-service-records:components/ui/resizable.tsx | mbarbine__civic-engagement-platform-webby:components/ui/resizable.tsx | mbarbine__crafted-virginia-website:components/ui/resizable.tsx | mbarbine__desert-bus:components/ui/resizable.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/resizable.tsx | mbarbine__drone-reel-webby:components/ui/resizable.tsx | mbarbine__email-reading-service-webby:components/ui/resizable.tsx | mbarbine__fortune-cookie-webby:components/ui/resizable.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/resizable.tsx | mbarbine__game-porting-service-webby:components/ui/resizable.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/resizable.tsx | mbarbine__instant-snap-postcard:src/components/ui/resizable.tsx | mbarbine__microwave-sticker-webby:components/ui/resizable.tsx | mbarbine__microwave-sticker-webby:components/ui/resizable.test.tsx | mbarbine__microwave-stickers-:components/ui/resizable.tsx | mbarbine__multiplayer-puzzle-game:components/ui/resizable.tsx | mbarbine__nova-hackers-webby:components/ui/resizable.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/resizable.tsx | mbarbine__platphorm-404:components/ui/resizable.tsx | mbarbine__platphorm-alleycats:components/ui/resizable.tsx | mbarbine__platphorm-ascii:components/ui/resizable.tsx | mbarbine__platphorm-auction-vice:components/ui/resizable.tsx | mbarbine__platphorm-base:components/ui/resizable.tsx | mbarbine__platphorm-bbs:components/ui/resizable.tsx | mbarbine__platphorm-cobol:components/ui/resizable.tsx | mbarbine__platphorm-codex:components/ui/resizable.tsx | mbarbine__platphorm-decks:components/ui/resizable.tsx | mbarbine__platphorm-desa:components/ui/resizable.tsx | mbarbine__platphorm-design:components/ui/resizable.tsx | mbarbine__platphorm-dictionary:components/ui/resizable.tsx | mbarbine__platphorm-emoji:components/ui/resizable.tsx | mbarbine__platphorm-finance:components/ui/resizable.tsx | mbarbine__platphorm-fingerprint-service:components/ui/resizable.tsx | mbarbine__platphorm-insights:components/ui/resizable.tsx | mbarbine__platphorm-jobs:components/ui/resizable.tsx | mbarbine__platphorm-json:components/ui/resizable.tsx | mbarbine__platphorm-jules:components/ui/resizable.tsx | mbarbine__platphorm-kanban:components/ui/resizable.tsx | mbarbine__platphorm-keys:components/ui/resizable.tsx | mbarbine__platphorm-layout:components/ui/resizable.tsx | mbarbine__platphorm-mcp:components/ui/resizable.tsx | mbarbine__platphorm-msi-editor:components/ui/resizable.tsx | mbarbine__platphorm-openclaw:components/ui/resizable.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "drawer",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/drawer.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/drawer.tsx | mbarbine__ai-chat-interface-webby:components/ui/drawer.tsx | mbarbine__autographed-bibles-webby:components/ui/drawer.tsx | mbarbine__automotive-flamethrower-webby:components/ui/drawer.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/drawer.tsx | mbarbine__calendar-app-webby:components/ui/drawer.tsx | mbarbine__car-service-records:components/ui/drawer.tsx | mbarbine__civic-engagement-platform-webby:components/ui/drawer.tsx | mbarbine__crafted-virginia-website:components/ui/drawer.tsx | mbarbine__desert-bus:components/ui/drawer.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/drawer.tsx | mbarbine__drone-reel-webby:components/ui/drawer.tsx | mbarbine__email-reading-service-webby:components/ui/drawer.tsx | mbarbine__fortune-cookie-webby:components/ui/drawer.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/drawer.tsx | mbarbine__game-porting-service-webby:components/ui/drawer.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/drawer.tsx | mbarbine__instant-snap-postcard:src/components/ui/drawer.tsx | mbarbine__microwave-sticker-webby:components/ui/drawer.tsx | mbarbine__microwave-sticker-webby:components/ui/drawer.test.tsx | mbarbine__microwave-stickers-:components/ui/drawer.tsx | mbarbine__multiplayer-puzzle-game:components/ui/drawer.tsx | mbarbine__nova-hackers-webby:components/ui/drawer.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/drawer.tsx | mbarbine__platphorm-404:components/ui/drawer.tsx | mbarbine__platphorm-alleycats:components/ui/drawer.tsx | mbarbine__platphorm-ascii:components/ui/drawer.tsx | mbarbine__platphorm-auction-vice:components/ui/drawer.tsx | mbarbine__platphorm-base:components/ui/drawer.tsx | mbarbine__platphorm-bbs:components/ui/drawer.tsx | mbarbine__platphorm-cobol:components/ui/drawer.tsx | mbarbine__platphorm-codex:components/ui/drawer.tsx | mbarbine__platphorm-decks:components/ui/drawer.tsx | mbarbine__platphorm-desa:components/ui/drawer.tsx | mbarbine__platphorm-design:components/ui/drawer.tsx | mbarbine__platphorm-dictionary:components/ui/drawer.tsx | mbarbine__platphorm-emoji:components/ui/drawer.tsx | mbarbine__platphorm-finance:components/ui/drawer.tsx | mbarbine__platphorm-fingerprint-service:components/ui/drawer.tsx | mbarbine__platphorm-insights:components/ui/drawer.tsx | mbarbine__platphorm-jobs:components/ui/drawer.tsx | mbarbine__platphorm-json:components/ui/drawer.tsx | mbarbine__platphorm-jules:components/ui/drawer.tsx | mbarbine__platphorm-kanban:components/ui/drawer.tsx | mbarbine__platphorm-keys:components/ui/drawer.tsx | mbarbine__platphorm-layout:components/ui/drawer.tsx | mbarbine__platphorm-mcp:components/ui/drawer.tsx | mbarbine__platphorm-msi-editor:components/ui/drawer.tsx | mbarbine__platphorm-openclaw:components/ui/drawer.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "command",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/command.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/command.tsx | mbarbine__ai-chat-interface-webby:components/ui/command.tsx | mbarbine__autographed-bibles-webby:components/ui/command.tsx | mbarbine__automotive-flamethrower-webby:components/ui/command.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/command.tsx | mbarbine__calendar-app-webby:components/ui/command.tsx | mbarbine__car-service-records:components/ui/command.tsx | mbarbine__civic-engagement-platform-webby:components/ui/command.tsx | mbarbine__crafted-virginia-website:components/ui/command.tsx | mbarbine__desert-bus:components/ui/command.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/command.tsx | mbarbine__drone-reel-webby:components/ui/command.tsx | mbarbine__email-reading-service-webby:components/ui/command.tsx | mbarbine__fortune-cookie-webby:components/ui/command.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/command.tsx | mbarbine__game-porting-service-webby:components/ui/command.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/command.tsx | mbarbine__instant-snap-postcard:src/components/ui/command.tsx | mbarbine__microwave-sticker-webby:components/ui/command.tsx | mbarbine__microwave-sticker-webby:components/ui/command.test.tsx | mbarbine__microwave-stickers-:components/ui/command.tsx | mbarbine__multiplayer-puzzle-game:components/ui/command.tsx | mbarbine__nova-hackers-webby:components/ui/command.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/command.tsx | mbarbine__platphorm-404:components/ui/command.tsx | mbarbine__platphorm-alleycats:components/ui/command.tsx | mbarbine__platphorm-ascii:components/ui/command.tsx | mbarbine__platphorm-auction-vice:components/ui/command.tsx | mbarbine__platphorm-base:components/ui/command.tsx | mbarbine__platphorm-bbs:components/ui/command.tsx | mbarbine__platphorm-cobol:components/ui/command.tsx | mbarbine__platphorm-codex:components/ui/command.tsx | mbarbine__platphorm-decks:components/ui/command.tsx | mbarbine__platphorm-desa:components/ui/command.tsx | mbarbine__platphorm-design:components/ui/command.tsx | mbarbine__platphorm-dictionary:components/ui/command.tsx | mbarbine__platphorm-emoji:components/ui/command.tsx | mbarbine__platphorm-finance:components/ui/command.tsx | mbarbine__platphorm-fingerprint-service:components/ui/command.tsx | mbarbine__platphorm-insights:components/ui/command.tsx | mbarbine__platphorm-jobs:components/ui/command.tsx | mbarbine__platphorm-json:components/ui/command.tsx | mbarbine__platphorm-jules:components/ui/command.tsx | mbarbine__platphorm-kanban:components/ui/command.tsx | mbarbine__platphorm-keys:components/ui/command.tsx | mbarbine__platphorm-layout:components/ui/command.tsx | mbarbine__platphorm-mcp:components/ui/command.tsx | mbarbine__platphorm-msi-editor:components/ui/command.tsx | mbarbine__platphorm-openclaw:components/ui/command.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "toggle-group",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/toggle-group.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/toggle-group.tsx | mbarbine__ai-chat-interface-webby:components/ui/toggle-group.tsx | mbarbine__autographed-bibles-webby:components/ui/toggle-group.tsx | mbarbine__automotive-flamethrower-webby:components/ui/toggle-group.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/toggle-group.tsx | mbarbine__calendar-app-webby:components/ui/toggle-group.tsx | mbarbine__car-service-records:components/ui/toggle-group.tsx | mbarbine__civic-engagement-platform-webby:components/ui/toggle-group.tsx | mbarbine__crafted-virginia-website:components/ui/toggle-group.tsx | mbarbine__desert-bus:components/ui/toggle-group.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/toggle-group.tsx | mbarbine__drone-reel-webby:components/ui/toggle-group.tsx | mbarbine__email-reading-service-webby:components/ui/toggle-group.tsx | mbarbine__fortune-cookie-webby:components/ui/toggle-group.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/toggle-group.tsx | mbarbine__game-porting-service-webby:components/ui/toggle-group.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/toggle-group.tsx | mbarbine__instant-snap-postcard:src/components/ui/toggle-group.tsx | mbarbine__microwave-sticker-webby:components/ui/toggle-group.tsx | mbarbine__microwave-sticker-webby:components/ui/toggle-group.test.tsx | mbarbine__microwave-stickers-:components/ui/toggle-group.tsx | mbarbine__multiplayer-puzzle-game:components/ui/toggle-group.tsx | mbarbine__nova-hackers-webby:components/ui/toggle-group.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/toggle-group.tsx | mbarbine__platphorm-404:components/ui/toggle-group.tsx | mbarbine__platphorm-alleycats:components/ui/toggle-group.tsx | mbarbine__platphorm-ascii:components/ui/toggle-group.tsx | mbarbine__platphorm-auction-vice:components/ui/toggle-group.tsx | mbarbine__platphorm-base:components/ui/toggle-group.tsx | mbarbine__platphorm-bbs:components/ui/toggle-group.tsx | mbarbine__platphorm-cobol:components/ui/toggle-group.tsx | mbarbine__platphorm-codex:components/ui/toggle-group.tsx | mbarbine__platphorm-decks:components/ui/toggle-group.tsx | mbarbine__platphorm-desa:components/ui/toggle-group.tsx | mbarbine__platphorm-design:components/ui/toggle-group.tsx | mbarbine__platphorm-dictionary:components/ui/toggle-group.tsx | mbarbine__platphorm-emoji:components/ui/toggle-group.tsx | mbarbine__platphorm-finance:components/ui/toggle-group.tsx | mbarbine__platphorm-fingerprint-service:components/ui/toggle-group.tsx | mbarbine__platphorm-insights:components/ui/toggle-group.tsx | mbarbine__platphorm-jobs:components/ui/toggle-group.tsx | mbarbine__platphorm-json:components/ui/toggle-group.tsx | mbarbine__platphorm-jules:components/ui/toggle-group.tsx | mbarbine__platphorm-kanban:components/ui/toggle-group.tsx | mbarbine__platphorm-keys:components/ui/toggle-group.tsx | mbarbine__platphorm-layout:components/ui/toggle-group.tsx | mbarbine__platphorm-mcp:components/ui/toggle-group.tsx | mbarbine__platphorm-msi-editor:components/ui/toggle-group.tsx | mbarbine__platphorm-openclaw:components/ui/toggle-group.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "menubar",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/menubar.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/menubar.tsx | mbarbine__ai-chat-interface-webby:components/ui/menubar.tsx | mbarbine__autographed-bibles-webby:components/ui/menubar.tsx | mbarbine__automotive-flamethrower-webby:components/ui/menubar.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/menubar.tsx | mbarbine__calendar-app-webby:components/ui/menubar.tsx | mbarbine__car-service-records:components/ui/menubar.tsx | mbarbine__civic-engagement-platform-webby:components/ui/menubar.tsx | mbarbine__crafted-virginia-website:components/ui/menubar.tsx | mbarbine__desert-bus:components/ui/menubar.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/menubar.tsx | mbarbine__drone-reel-webby:components/ui/menubar.tsx | mbarbine__email-reading-service-webby:components/ui/menubar.tsx | mbarbine__fortune-cookie-webby:components/ui/menubar.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/menubar.tsx | mbarbine__game-porting-service-webby:components/ui/menubar.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/menubar.tsx | mbarbine__instant-snap-postcard:src/components/ui/menubar.tsx | mbarbine__microwave-sticker-webby:components/ui/menubar.test.tsx | mbarbine__microwave-sticker-webby:components/ui/menubar.tsx | mbarbine__microwave-stickers-:components/ui/menubar.tsx | mbarbine__multiplayer-puzzle-game:components/ui/menubar.tsx | mbarbine__nova-hackers-webby:components/ui/menubar.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/menubar.tsx | mbarbine__platphorm-404:components/ui/menubar.tsx | mbarbine__platphorm-alleycats:components/ui/menubar.tsx | mbarbine__platphorm-ascii:components/ui/menubar.tsx | mbarbine__platphorm-auction-vice:components/ui/menubar.tsx | mbarbine__platphorm-base:components/ui/menubar.tsx | mbarbine__platphorm-bbs:components/ui/menubar.tsx | mbarbine__platphorm-cobol:components/ui/menubar.tsx | mbarbine__platphorm-codex:components/ui/menubar.tsx | mbarbine__platphorm-decks:components/ui/menubar.tsx | mbarbine__platphorm-desa:components/ui/menubar.tsx | mbarbine__platphorm-design:components/ui/menubar.tsx | mbarbine__platphorm-dictionary:components/ui/menubar.tsx | mbarbine__platphorm-emoji:components/ui/menubar.tsx | mbarbine__platphorm-finance:components/ui/menubar.tsx | mbarbine__platphorm-fingerprint-service:components/ui/menubar.tsx | mbarbine__platphorm-insights:components/ui/menubar.tsx | mbarbine__platphorm-jobs:components/ui/menubar.tsx | mbarbine__platphorm-json:components/ui/menubar.tsx | mbarbine__platphorm-jules:components/ui/menubar.tsx | mbarbine__platphorm-kanban:components/ui/menubar.tsx | mbarbine__platphorm-keys:components/ui/menubar.tsx | mbarbine__platphorm-layout:components/ui/menubar.tsx | mbarbine__platphorm-mcp:components/ui/menubar.tsx | mbarbine__platphorm-msi-editor:components/ui/menubar.tsx | mbarbine__platphorm-openclaw:components/ui/menubar.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "collapsible",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/collapsible.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/collapsible.tsx | mbarbine__ai-chat-interface-webby:components/ui/collapsible.tsx | mbarbine__autographed-bibles-webby:components/ui/collapsible.tsx | mbarbine__automotive-flamethrower-webby:components/ui/collapsible.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/collapsible.tsx | mbarbine__calendar-app-webby:components/ui/collapsible.tsx | mbarbine__car-service-records:components/ui/collapsible.tsx | mbarbine__civic-engagement-platform-webby:components/ui/collapsible.tsx | mbarbine__crafted-virginia-website:components/ui/collapsible.tsx | mbarbine__desert-bus:components/ui/collapsible.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/collapsible.tsx | mbarbine__drone-reel-webby:components/ui/collapsible.tsx | mbarbine__email-reading-service-webby:components/ui/collapsible.tsx | mbarbine__fortune-cookie-webby:components/ui/collapsible.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/collapsible.tsx | mbarbine__game-porting-service-webby:components/ui/collapsible.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/collapsible.tsx | mbarbine__instant-snap-postcard:src/components/ui/collapsible.tsx | mbarbine__microwave-sticker-webby:components/ui/collapsible.test.tsx | mbarbine__microwave-sticker-webby:components/ui/collapsible.tsx | mbarbine__microwave-stickers-:components/ui/collapsible.tsx | mbarbine__multiplayer-puzzle-game:components/ui/collapsible.tsx | mbarbine__nova-hackers-webby:components/ui/collapsible.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/collapsible.tsx | mbarbine__platphorm-404:components/ui/collapsible.tsx | mbarbine__platphorm-alleycats:components/ui/collapsible.tsx | mbarbine__platphorm-ascii:components/ui/collapsible.tsx | mbarbine__platphorm-auction-vice:components/ui/collapsible.tsx | mbarbine__platphorm-base:components/ui/collapsible.tsx | mbarbine__platphorm-bbs:components/ui/collapsible.tsx | mbarbine__platphorm-cobol:components/ui/collapsible.tsx | mbarbine__platphorm-codex:components/ui/collapsible.tsx | mbarbine__platphorm-decks:components/ui/collapsible.tsx | mbarbine__platphorm-desa:components/ui/collapsible.tsx | mbarbine__platphorm-design:components/ui/collapsible.tsx | mbarbine__platphorm-dictionary:components/ui/collapsible.tsx | mbarbine__platphorm-emoji:components/ui/collapsible.tsx | mbarbine__platphorm-finance:components/ui/collapsible.tsx | mbarbine__platphorm-fingerprint-service:components/ui/collapsible.tsx | mbarbine__platphorm-insights:components/ui/collapsible.tsx | mbarbine__platphorm-jobs:components/ui/collapsible.tsx | mbarbine__platphorm-json:components/ui/collapsible.tsx | mbarbine__platphorm-jules:components/ui/collapsible.tsx | mbarbine__platphorm-kanban:components/ui/collapsible.tsx | mbarbine__platphorm-keys:components/ui/collapsible.tsx | mbarbine__platphorm-layout:components/ui/collapsible.tsx | mbarbine__platphorm-mcp:components/ui/collapsible.tsx | mbarbine__platphorm-msi-editor:components/ui/collapsible.tsx | mbarbine__platphorm-openclaw:components/ui/collapsible.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 82,
      "normalized_name": "context-menu",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/context-menu.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/context-menu.tsx | mbarbine__ai-chat-interface-webby:components/ui/context-menu.tsx | mbarbine__autographed-bibles-webby:components/ui/context-menu.tsx | mbarbine__automotive-flamethrower-webby:components/ui/context-menu.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/context-menu.tsx | mbarbine__calendar-app-webby:components/ui/context-menu.tsx | mbarbine__car-service-records:components/ui/context-menu.tsx | mbarbine__civic-engagement-platform-webby:components/ui/context-menu.tsx | mbarbine__crafted-virginia-website:components/ui/context-menu.tsx | mbarbine__desert-bus:components/ui/context-menu.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/context-menu.tsx | mbarbine__drone-reel-webby:components/ui/context-menu.tsx | mbarbine__email-reading-service-webby:components/ui/context-menu.tsx | mbarbine__fortune-cookie-webby:components/ui/context-menu.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/context-menu.tsx | mbarbine__game-porting-service-webby:components/ui/context-menu.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/context-menu.tsx | mbarbine__instant-snap-postcard:src/components/ui/context-menu.tsx | mbarbine__microwave-sticker-webby:components/ui/context-menu.test.tsx | mbarbine__microwave-sticker-webby:components/ui/context-menu.tsx | mbarbine__microwave-stickers-:components/ui/context-menu.tsx | mbarbine__multiplayer-puzzle-game:components/ui/context-menu.tsx | mbarbine__nova-hackers-webby:components/ui/context-menu.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/context-menu.tsx | mbarbine__platphorm-404:components/ui/context-menu.tsx | mbarbine__platphorm-alleycats:components/ui/context-menu.tsx | mbarbine__platphorm-ascii:components/ui/context-menu.tsx | mbarbine__platphorm-auction-vice:components/ui/context-menu.tsx | mbarbine__platphorm-base:components/ui/context-menu.tsx | mbarbine__platphorm-bbs:components/ui/context-menu.tsx | mbarbine__platphorm-cobol:components/ui/context-menu.tsx | mbarbine__platphorm-codex:components/ui/context-menu.tsx | mbarbine__platphorm-decks:components/ui/context-menu.tsx | mbarbine__platphorm-desa:components/ui/context-menu.tsx | mbarbine__platphorm-design:components/ui/context-menu.tsx | mbarbine__platphorm-dictionary:components/ui/context-menu.tsx | mbarbine__platphorm-emoji:components/ui/context-menu.tsx | mbarbine__platphorm-finance:components/ui/context-menu.tsx | mbarbine__platphorm-fingerprint-service:components/ui/context-menu.tsx | mbarbine__platphorm-insights:components/ui/context-menu.tsx | mbarbine__platphorm-jobs:components/ui/context-menu.tsx | mbarbine__platphorm-json:components/ui/context-menu.tsx | mbarbine__platphorm-jules:components/ui/context-menu.tsx | mbarbine__platphorm-kanban:components/ui/context-menu.tsx | mbarbine__platphorm-keys:components/ui/context-menu.tsx | mbarbine__platphorm-layout:components/ui/context-menu.tsx | mbarbine__platphorm-mcp:components/ui/context-menu.tsx | mbarbine__platphorm-msi-editor:components/ui/context-menu.tsx | mbarbine__platphorm-openclaw:components/ui/context-menu.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 80,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 78,
      "normalized_name": "use-toast",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/use-toast.ts | mbarbine__Joshs-magnets-landing-page:components/ui/use-toast.ts | mbarbine__ai-chat-interface-webby:components/ui/use-toast.ts | mbarbine__autographed-bibles-webby:components/ui/use-toast.ts | mbarbine__automotive-flamethrower-webby:components/ui/use-toast.ts | mbarbine__barbineworldwide-2026-metahack:components/ui/use-toast.ts | mbarbine__calendar-app-webby:components/ui/use-toast.ts | mbarbine__car-service-records:components/ui/use-toast.ts | mbarbine__civic-engagement-platform-webby:components/ui/use-toast.ts | mbarbine__crafted-virginia-website:components/ui/use-toast.ts | mbarbine__desert-bus:components/ui/use-toast.ts | mbarbine__dogstar-cybernetics-webby:components/ui/use-toast.ts | mbarbine__drone-reel-webby:components/ui/use-toast.ts | mbarbine__email-reading-service-webby:components/ui/use-toast.ts | mbarbine__fortune-cookie-webby:components/ui/use-toast.ts | mbarbine__fortune-cookie-webby-yj:components/ui/use-toast.ts | mbarbine__game-porting-service-webby:components/ui/use-toast.ts | mbarbine__hot-chocolate-for-profit-webby:components/ui/use-toast.ts | mbarbine__instant-snap-postcard:src/components/ui/use-toast.ts | mbarbine__mailthing-main:components/ui/Toasts/use-toast.ts | mbarbine__microwave-sticker-webby:components/ui/use-toast.ts | mbarbine__microwave-stickers-:components/ui/use-toast.ts | mbarbine__multiplayer-puzzle-game:components/ui/use-toast.ts | mbarbine__nova-hackers-webby:components/ui/use-toast.ts | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/use-toast.ts | mbarbine__platphorm-404:components/ui/use-toast.ts | mbarbine__platphorm-alleycats:components/ui/use-toast.ts | mbarbine__platphorm-ascii:components/ui/use-toast.ts | mbarbine__platphorm-auction-vice:components/ui/use-toast.ts | mbarbine__platphorm-bbs:components/ui/use-toast.ts | mbarbine__platphorm-cobol:components/ui/use-toast.ts | mbarbine__platphorm-codex:components/ui/use-toast.ts | mbarbine__platphorm-decks:components/ui/use-toast.ts | mbarbine__platphorm-design:components/ui/use-toast.ts | mbarbine__platphorm-emoji:components/ui/use-toast.ts | mbarbine__platphorm-finance:components/ui/use-toast.ts | mbarbine__platphorm-fingerprint-service:components/ui/use-toast.ts | mbarbine__platphorm-insights:components/ui/use-toast.ts | mbarbine__platphorm-jobs:components/ui/use-toast.ts | mbarbine__platphorm-json:components/ui/use-toast.ts | mbarbine__platphorm-jules:components/ui/use-toast.ts | mbarbine__platphorm-kanban:components/ui/use-toast.ts | mbarbine__platphorm-keys:components/ui/use-toast.ts | mbarbine__platphorm-layout:components/ui/use-toast.ts | mbarbine__platphorm-mcp:components/ui/use-toast.ts | mbarbine__platphorm-msi-editor:components/ui/use-toast.ts | mbarbine__platphorm-openclaw:components/ui/use-toast.ts | mbarbine__platphorm-opencontent:components/ui/use-toast.ts | mbarbine__platphorm-opendocs:components/ui/use-toast.ts | mbarbine__platphorm-paperboy:components/ui/use-toast.ts",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 77,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 77,
      "normalized_name": "sitemap",
      "paths": "mbarbine__airrow-commuter-balloon:app/sitemap.ts | mbarbine__autographed-bibles-webby:app/sitemap.ts | mbarbine__automotive-flamethrower-webby:app/sitemap.ts | mbarbine__barbineworldwide-2026-metahack:app/sitemap.ts | mbarbine__beer-museum-manager-www:app/sitemap.ts | mbarbine__calendar-app-webby:app/sitemap.ts | mbarbine__car-service-records:app/sitemap.ts | mbarbine__drone-reel-webby:app/sitemap.ts | mbarbine__email-reading-service-webby:app/sitemap.ts | mbarbine__fortune-cookie-webby-yj:app/sitemap.ts | mbarbine__game-porting-service-webby:app/sitemap.ts | mbarbine__global-anti-globalist-club-webby:app/sitemap.ts | mbarbine__gta-6-countdown-webby:app/sitemap.ts | mbarbine__hot-chocolate-for-profit-webby:app/sitemap.ts | mbarbine__microwave-stickers-:app/sitemap.ts | mbarbine__ph3ar-admin-dashboard:app/sitemap.ts | mbarbine__ph3ar-blog:src/app/sitemap.ts | mbarbine__platphorm-agentui:app/sitemap.ts | mbarbine__platphorm-alleycats:app/sitemap.ts | mbarbine__platphorm-ascii:app/sitemap.ts | mbarbine__platphorm-auction-vice:app/sitemap.ts | mbarbine__platphorm-bbs:app/sitemap.ts | mbarbine__platphorm-business-EmployerServicesIncorporated:src/app/sitemap.ts | mbarbine__platphorm-cobol:app/sitemap.ts | mbarbine__platphorm-codex:app/sitemap.ts | mbarbine__platphorm-content-showback-dashboard:app/sitemap.ts | mbarbine__platphorm-decks:app/sitemap.ts | mbarbine__platphorm-desa:app/sitemap.ts | mbarbine__platphorm-design:app/sitemap.ts | mbarbine__platphorm-dictionary:app/sitemap.ts | mbarbine__platphorm-emoji:app/sitemap.ts | mbarbine__platphorm-fingerprint-service:app/sitemap.ts | mbarbine__platphorm-insights:app/sitemap.ts | mbarbine__platphorm-jobs:app/sitemap.ts | mbarbine__platphorm-json:app/sitemap.ts | mbarbine__platphorm-kanban:app/sitemap.ts | mbarbine__platphorm-keys:app/sitemap.ts | mbarbine__platphorm-mcp:app/sitemap.ts | mbarbine__platphorm-mini-games-webby:app/sitemap.ts | mbarbine__platphorm-monitor:app/sitemap.ts | mbarbine__platphorm-msi-editor:app/sitemap.ts | mbarbine__platphorm-onboard:app/sitemap.ts | mbarbine__platphorm-openclaw:app/sitemap.ts | mbarbine__platphorm-podcasts:app/sitemap.ts | mbarbine__platphorm-polymaths:app/sitemap.ts | mbarbine__platphorm-quake:app/sitemap.ts | mbarbine__platphorm-radio-backend:app/sitemap.ts | mbarbine__platphorm-reader:app/sitemap.ts | mbarbine__platphorm-real-estate:app/sitemap.ts | mbarbine__platphorm-real-estate-NAD:app/sitemap.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 77,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-stickers-, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 74,
      "normalized_name": "use-mobile",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/use-mobile.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/use-mobile.tsx | mbarbine__ai-chat-interface-webby:components/ui/use-mobile.tsx | mbarbine__autographed-bibles-webby:components/ui/use-mobile.tsx | mbarbine__automotive-flamethrower-webby:components/ui/use-mobile.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/use-mobile.tsx | mbarbine__calendar-app-webby:components/ui/use-mobile.tsx | mbarbine__car-service-records:components/ui/use-mobile.tsx | mbarbine__civic-engagement-platform-webby:components/ui/use-mobile.tsx | mbarbine__crafted-virginia-website:components/ui/use-mobile.tsx | mbarbine__desert-bus:components/ui/use-mobile.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/use-mobile.tsx | mbarbine__drone-reel-webby:components/ui/use-mobile.tsx | mbarbine__email-reading-service-webby:components/ui/use-mobile.tsx | mbarbine__fortune-cookie-webby:components/ui/use-mobile.tsx | mbarbine__fortune-cookie-webby-yj:components/ui/use-mobile.tsx | mbarbine__game-porting-service-webby:components/ui/use-mobile.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/use-mobile.tsx | mbarbine__microwave-sticker-webby:components/ui/use-mobile.tsx | mbarbine__microwave-stickers-:components/ui/use-mobile.tsx | mbarbine__multiplayer-puzzle-game:components/ui/use-mobile.tsx | mbarbine__nova-hackers-webby:components/ui/use-mobile.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/use-mobile.tsx | mbarbine__platphorm-404:components/ui/use-mobile.tsx | mbarbine__platphorm-alleycats:components/ui/use-mobile.tsx | mbarbine__platphorm-ascii:components/ui/use-mobile.tsx | mbarbine__platphorm-auction-vice:components/ui/use-mobile.tsx | mbarbine__platphorm-base:components/ui/use-mobile.tsx | mbarbine__platphorm-bbs:components/ui/use-mobile.tsx | mbarbine__platphorm-cobol:components/ui/use-mobile.tsx | mbarbine__platphorm-codex:components/ui/use-mobile.tsx | mbarbine__platphorm-decks:components/ui/use-mobile.tsx | mbarbine__platphorm-design:components/ui/use-mobile.tsx | mbarbine__platphorm-emoji:components/ui/use-mobile.tsx | mbarbine__platphorm-finance:components/ui/use-mobile.tsx | mbarbine__platphorm-fingerprint-service:components/ui/use-mobile.tsx | mbarbine__platphorm-jobs:components/ui/use-mobile.tsx | mbarbine__platphorm-json:components/ui/use-mobile.tsx | mbarbine__platphorm-jules:components/ui/use-mobile.tsx | mbarbine__platphorm-kanban:components/ui/use-mobile.tsx | mbarbine__platphorm-keys:components/ui/use-mobile.tsx | mbarbine__platphorm-layout:components/ui/use-mobile.tsx | mbarbine__platphorm-mcp:components/ui/use-mobile.tsx | mbarbine__platphorm-msi-editor:components/ui/use-mobile.tsx | mbarbine__platphorm-openclaw:components/ui/use-mobile.tsx | mbarbine__platphorm-opencontent:components/ui/use-mobile.tsx | mbarbine__platphorm-opendocs:components/ui/use-mobile.tsx | mbarbine__platphorm-paperboy:components/ui/use-mobile.tsx | mbarbine__platphorm-podcasts:components/ui/use-mobile.tsx | mbarbine__platphorm-polymaths:components/ui/use-mobile.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 74,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "process-document",
      "file_count": 74,
      "normalized_name": "sentinel",
      "paths": "mbarbine__airrow-commuter-balloon:.jules/sentinel.md | mbarbine__autographed-bibles-webby:.jules/sentinel.md | mbarbine__automotive-flamethrower-webby:.jules/sentinel.md | mbarbine__biocyber-xr-training-nasa-webby-v0:.Jules/sentinel.md | mbarbine__calendar-app-webby:.jules/sentinel.md | mbarbine__civic-engagement-platform-webby:.jules/sentinel.md | mbarbine__desert-bus:.Jules/sentinel.md | mbarbine__dogstar-cybernetics-webby:.jules/sentinel.md | mbarbine__drone-reel-webby:.Jules/sentinel.md | mbarbine__email-reading-service-webby:.jules/sentinel.md | mbarbine__fashion-sadiepass-WWW:.Jules/sentinel.md | mbarbine__fortune-cookie-webby-yj:.jules/sentinel.md | mbarbine__front-runners-webby:.jules/sentinel.md | mbarbine__game-porting-service-webby:.jules/sentinel.md | mbarbine__gta-6-countdown-webby:.Jules/sentinel.md | mbarbine__hot-chocolate-for-profit-webby:.jules/sentinel.md | mbarbine__ja4-vercel-lab-2:.jules/sentinel.md | mbarbine__mermaid-community-platform:.jules/sentinel.md | mbarbine__nova-hackers-webby:.jules/sentinel.md | mbarbine__nuclear-power-plant-webby-NPaaS:.jules/sentinel.md | mbarbine__onboard-platphorm-boilerplate-repo:.Jules/sentinel.md | mbarbine__platphorm-404:.jules/sentinel.md | mbarbine__platphorm-agentui:.jules/sentinel.md | mbarbine__platphorm-ai-photo-enrichment:.jules/sentinel.md | mbarbine__platphorm-base:.jules/sentinel.md | mbarbine__platphorm-cobol:.Jules/sentinel.md | mbarbine__platphorm-content-showback-dashboard:.jules/sentinel.md | mbarbine__platphorm-decks:.jules/sentinel.md | mbarbine__platphorm-desa:.Jules/sentinel.md | mbarbine__platphorm-dictionary:.Jules/sentinel.md | mbarbine__platphorm-emoji:.Jules/sentinel.md | mbarbine__platphorm-evals:.jules/sentinel.md | mbarbine__platphorm-insights:.Jules/sentinel.md | mbarbine__platphorm-jobs:.jules/sentinel.md | mbarbine__platphorm-kanban:.jules/sentinel.md | mbarbine__platphorm-keys:.Jules/sentinel.md | mbarbine__platphorm-layout:.Jules/sentinel.md | mbarbine__platphorm-mcp:.jules/sentinel.md | mbarbine__platphorm-monitor:.Jules/sentinel.md | mbarbine__platphorm-msi-editor:.Jules/sentinel.md | mbarbine__platphorm-newdittyswag-www:.jules/sentinel.md | mbarbine__platphorm-news-alt-theme:.jules/sentinel.md | mbarbine__platphorm-onboard:.jules/sentinel.md | mbarbine__platphorm-openclaw:.Jules/sentinel.md | mbarbine__platphorm-opendocs:.jules/sentinel.md | mbarbine__platphorm-podcasts:.Jules/sentinel.md | mbarbine__platphorm-politics:.Jules/sentinel.md | mbarbine__platphorm-polymarket-rss-feed:.Jules/sentinel.md | mbarbine__platphorm-quake:.Jules/sentinel.md | mbarbine__platphorm-reader:.jules/sentinel.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 74,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__calendar-app-webby, mbarbine__civic-engagement-platform-webby, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__mermaid-community-platform, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-base, mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 72,
      "normalized_name": "spinner",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/spinner.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/spinner.tsx | mbarbine__Scripts:SORT/OpsClick_UI/src/js/components/spinner.js | mbarbine__ai-chat-interface-webby:components/ui/spinner.tsx | mbarbine__autographed-bibles-webby:components/ui/spinner.tsx | mbarbine__automotive-flamethrower-webby:components/ui/spinner.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/spinner.tsx | mbarbine__calendar-app-webby:components/ui/spinner.tsx | mbarbine__car-service-records:components/ui/spinner.tsx | mbarbine__civic-engagement-platform-webby:components/ui/spinner.tsx | mbarbine__crafted-virginia-website:components/ui/spinner.tsx | mbarbine__desert-bus:components/ui/spinner.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/spinner.tsx | mbarbine__game-porting-service-webby:components/ui/spinner.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/spinner.tsx | mbarbine__microwave-sticker-webby:components/ui/spinner.test.tsx | mbarbine__microwave-sticker-webby:components/ui/spinner.tsx | mbarbine__multiplayer-puzzle-game:components/ui/spinner.tsx | mbarbine__nova-hackers-webby:components/ui/spinner.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/spinner.tsx | mbarbine__platphorm-404:components/ui/spinner.tsx | mbarbine__platphorm-agentui:components/ui/spinner.tsx | mbarbine__platphorm-alleycats:components/ui/spinner.tsx | mbarbine__platphorm-ascii:components/ui/spinner.tsx | mbarbine__platphorm-auction-vice:components/ui/spinner.tsx | mbarbine__platphorm-base:components/ui/spinner.tsx | mbarbine__platphorm-bbs:components/ui/spinner.tsx | mbarbine__platphorm-cobol:components/ui/spinner.tsx | mbarbine__platphorm-codex:components/ui/spinner.tsx | mbarbine__platphorm-decks:components/ui/spinner.tsx | mbarbine__platphorm-desa:components/ui/spinner.tsx | mbarbine__platphorm-design:components/ui/spinner.tsx | mbarbine__platphorm-dictionary:components/ui/spinner.tsx | mbarbine__platphorm-finance:components/ui/spinner.tsx | mbarbine__platphorm-fingerprint-service:components/ui/spinner.tsx | mbarbine__platphorm-insights:components/ui/spinner.tsx | mbarbine__platphorm-jobs:components/ui/spinner.tsx | mbarbine__platphorm-json:components/ui/spinner.tsx | mbarbine__platphorm-jules:components/ui/spinner.tsx | mbarbine__platphorm-kanban:components/ui/spinner.tsx | mbarbine__platphorm-keys:components/ui/spinner.tsx | mbarbine__platphorm-layout:components/ui/spinner.tsx | mbarbine__platphorm-mcp:components/ui/spinner.tsx | mbarbine__platphorm-msi-editor:components/ui/spinner.tsx | mbarbine__platphorm-onboard:components/ui/spinner.tsx | mbarbine__platphorm-openclaw:components/ui/spinner.tsx | mbarbine__platphorm-opencontent:components/ui/spinner.tsx | mbarbine__platphorm-opendocs:components/ui/spinner.tsx | mbarbine__platphorm-paperboy:components/ui/spinner.tsx | mbarbine__platphorm-podcasts:components/ui/spinner.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 71,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 75,
      "normalized_name": "footer",
      "paths": "mbarbine__FlaskFlow-www:components/footer.tsx | mbarbine__Joshs-magnets-landing-page:components/footer.tsx | mbarbine__LogSlash-w6:components/footer.tsx | mbarbine__PH3AR-WEBBY:src/lib/Footer.svelte | mbarbine__airrow-commuter-balloon:components/footer.tsx | mbarbine__automotive-flamethrower-webby:components/footer.tsx | mbarbine__barbineworldwide-2026-metahack:components/layout/footer.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/layout/footer.test.tsx | mbarbine__calendar-app-webby:components/layout/footer.tsx | mbarbine__crafted-virginia-website:components/footer.tsx | mbarbine__dogstar-cybernetics-webby:components/layout/footer.tsx | mbarbine__drone-reel-webby:components/layout/footer.tsx | mbarbine__email-reading-service-webby:components/footer.tsx | mbarbine__fashion-sadiepass-WWW:components/footer.tsx | mbarbine__front-runners-webby:components/footer.tsx | mbarbine__glass-blowing-website:components/footer.tsx | mbarbine__global-anti-globalist-club-webby:components/footer.tsx | mbarbine__gta-6-countdown-webby:components/footer.tsx | mbarbine__hot-chocolate-for-profit-webby:components/footer.tsx | mbarbine__jaydens-therapy-legal-www:components/footer.tsx | mbarbine__legacy-platphorm-news:src/components/Footer.svelte | mbarbine__mermaid-next-www:components/Footer.tsx | mbarbine__news-api:src/components/Footer.svelte | mbarbine__nuclear-power-plant-webby-NPaaS:components/footer.tsx | mbarbine__platphorm-agentui:tests/components/footer.test.tsx | mbarbine__platphorm-agentui:components/layout/footer.tsx | mbarbine__platphorm-auction-vice:components/layout/footer.tsx | mbarbine__platphorm-base:components/layout/footer.tsx | mbarbine__platphorm-bbs:components/bbs/footer.tsx | mbarbine__platphorm-browserops:components/layout/footer.tsx | mbarbine__platphorm-cobol:components/footer.tsx | mbarbine__platphorm-desa:components/layout/footer.tsx | mbarbine__platphorm-desa:components/layout/__tests__/footer.test.tsx | mbarbine__platphorm-dictionary:components/footer.tsx | mbarbine__platphorm-fingerprint-service:components/layout/footer.tsx | mbarbine__platphorm-insights:components/layout/footer.tsx | mbarbine__platphorm-json:components/layout/footer.tsx | mbarbine__platphorm-keys:components/layout/footer.tsx | mbarbine__platphorm-layout:components/layout/footer.tsx | mbarbine__platphorm-mcp:components/layout/footer.tsx | mbarbine__platphorm-mini-games-webby:components/layout/footer.tsx | mbarbine__platphorm-monitor:components/layout/footer.tsx | mbarbine__platphorm-newdittyswag-www:components/footer.tsx | mbarbine__platphorm-onboard:components/layout/footer.tsx | mbarbine__platphorm-politics:components/footer.tsx | mbarbine__platphorm-portfolio-webby:components/footer.tsx | mbarbine__platphorm-quake:components/layout/footer.tsx | mbarbine__platphorm-quake:__tests__/components/layout/footer.test.tsx | mbarbine__platphorm-real-estate-NAD:components/layout/footer.tsx | mbarbine__platphorm-real-estate-property-evaluation:components/footer.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 70,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__crafted-virginia-website, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__jaydens-therapy-legal-www, mbarbine__legacy-platphorm-news, mbarbine__mermaid-next-www, mbarbine__news-api, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-newdittyswag-www"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 70,
      "normalized_name": "field",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/field.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/field.tsx | mbarbine__ai-chat-interface-webby:components/ui/field.tsx | mbarbine__autographed-bibles-webby:components/ui/field.tsx | mbarbine__automotive-flamethrower-webby:components/ui/field.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/field.tsx | mbarbine__calendar-app-webby:components/ui/field.tsx | mbarbine__car-service-records:components/ui/field.tsx | mbarbine__civic-engagement-platform-webby:components/ui/field.tsx | mbarbine__crafted-virginia-website:components/ui/field.tsx | mbarbine__desert-bus:components/ui/field.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/field.tsx | mbarbine__game-porting-service-webby:components/ui/field.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/field.tsx | mbarbine__microwave-sticker-webby:components/ui/field.tsx | mbarbine__microwave-sticker-webby:components/ui/field.test.tsx | mbarbine__multiplayer-puzzle-game:components/ui/field.tsx | mbarbine__nova-hackers-webby:components/ui/field.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/field.tsx | mbarbine__platphorm-404:components/ui/field.tsx | mbarbine__platphorm-alleycats:components/ui/field.tsx | mbarbine__platphorm-ascii:components/ui/field.tsx | mbarbine__platphorm-auction-vice:components/ui/field.tsx | mbarbine__platphorm-base:components/ui/field.tsx | mbarbine__platphorm-bbs:components/ui/field.tsx | mbarbine__platphorm-cobol:components/ui/field.tsx | mbarbine__platphorm-codex:components/ui/field.tsx | mbarbine__platphorm-decks:components/ui/field.tsx | mbarbine__platphorm-desa:components/ui/field.tsx | mbarbine__platphorm-design:components/ui/field.tsx | mbarbine__platphorm-dictionary:components/ui/field.tsx | mbarbine__platphorm-finance:components/ui/field.tsx | mbarbine__platphorm-fingerprint-service:components/ui/field.tsx | mbarbine__platphorm-insights:components/ui/field.tsx | mbarbine__platphorm-jobs:components/ui/field.tsx | mbarbine__platphorm-json:components/ui/field.tsx | mbarbine__platphorm-jules:components/ui/field.tsx | mbarbine__platphorm-kanban:components/ui/field.tsx | mbarbine__platphorm-keys:components/ui/field.tsx | mbarbine__platphorm-layout:components/ui/field.tsx | mbarbine__platphorm-mcp:components/ui/field.tsx | mbarbine__platphorm-msi-editor:components/ui/field.tsx | mbarbine__platphorm-onboard:components/ui/field.tsx | mbarbine__platphorm-openclaw:components/ui/field.tsx | mbarbine__platphorm-opencontent:components/ui/field.tsx | mbarbine__platphorm-opendocs:components/ui/field.tsx | mbarbine__platphorm-paperboy:components/ui/field.tsx | mbarbine__platphorm-podcasts:components/ui/field.tsx | mbarbine__platphorm-polymaths:components/ui/field.tsx | mbarbine__platphorm-quake:components/ui/field.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 69,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 70,
      "normalized_name": "item",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/item.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/item.tsx | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/components/collection/item.test.js | mbarbine__ai-chat-interface-webby:components/ui/item.tsx | mbarbine__autographed-bibles-webby:components/ui/item.tsx | mbarbine__automotive-flamethrower-webby:components/ui/item.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/item.tsx | mbarbine__calendar-app-webby:components/ui/item.tsx | mbarbine__car-service-records:components/ui/item.tsx | mbarbine__civic-engagement-platform-webby:components/ui/item.tsx | mbarbine__crafted-virginia-website:components/ui/item.tsx | mbarbine__desert-bus:components/ui/item.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/item.tsx | mbarbine__game-porting-service-webby:components/ui/item.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/item.tsx | mbarbine__microwave-sticker-webby:components/ui/item.tsx | mbarbine__microwave-sticker-webby:components/ui/item.test.tsx | mbarbine__multiplayer-puzzle-game:components/ui/item.tsx | mbarbine__nova-hackers-webby:components/ui/item.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/item.tsx | mbarbine__platphorm-404:components/ui/item.tsx | mbarbine__platphorm-alleycats:components/ui/item.tsx | mbarbine__platphorm-ascii:components/ui/item.tsx | mbarbine__platphorm-auction-vice:components/ui/item.tsx | mbarbine__platphorm-base:components/ui/item.tsx | mbarbine__platphorm-bbs:components/ui/item.tsx | mbarbine__platphorm-cobol:components/ui/item.tsx | mbarbine__platphorm-codex:components/ui/item.tsx | mbarbine__platphorm-decks:components/ui/item.tsx | mbarbine__platphorm-desa:components/ui/item.tsx | mbarbine__platphorm-design:components/ui/item.tsx | mbarbine__platphorm-dictionary:components/ui/item.tsx | mbarbine__platphorm-finance:components/ui/item.tsx | mbarbine__platphorm-fingerprint-service:components/ui/item.tsx | mbarbine__platphorm-insights:components/ui/item.tsx | mbarbine__platphorm-jobs:components/ui/item.tsx | mbarbine__platphorm-json:components/ui/item.tsx | mbarbine__platphorm-jules:components/ui/item.tsx | mbarbine__platphorm-kanban:components/ui/item.tsx | mbarbine__platphorm-keys:components/ui/item.tsx | mbarbine__platphorm-layout:components/ui/item.tsx | mbarbine__platphorm-mcp:components/ui/item.tsx | mbarbine__platphorm-msi-editor:components/ui/item.tsx | mbarbine__platphorm-openclaw:components/ui/item.tsx | mbarbine__platphorm-opencontent:components/ui/item.tsx | mbarbine__platphorm-opendocs:components/ui/item.tsx | mbarbine__platphorm-paperboy:components/ui/item.tsx | mbarbine__platphorm-podcasts:components/ui/item.tsx | mbarbine__platphorm-polymaths:components/ui/item.tsx | mbarbine__platphorm-quake:components/ui/item.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 69,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 69,
      "normalized_name": "button-group",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/button-group.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/button-group.tsx | mbarbine__ai-chat-interface-webby:components/ui/button-group.tsx | mbarbine__autographed-bibles-webby:components/ui/button-group.tsx | mbarbine__automotive-flamethrower-webby:components/ui/button-group.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/button-group.tsx | mbarbine__calendar-app-webby:components/ui/button-group.tsx | mbarbine__car-service-records:components/ui/button-group.tsx | mbarbine__civic-engagement-platform-webby:components/ui/button-group.tsx | mbarbine__crafted-virginia-website:components/ui/button-group.tsx | mbarbine__desert-bus:components/ui/button-group.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/button-group.tsx | mbarbine__game-porting-service-webby:components/ui/button-group.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/button-group.tsx | mbarbine__microwave-sticker-webby:components/ui/button-group.tsx | mbarbine__microwave-sticker-webby:components/ui/button-group.test.tsx | mbarbine__multiplayer-puzzle-game:components/ui/button-group.tsx | mbarbine__nova-hackers-webby:components/ui/button-group.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/button-group.tsx | mbarbine__platphorm-404:components/ui/button-group.tsx | mbarbine__platphorm-alleycats:components/ui/button-group.tsx | mbarbine__platphorm-ascii:components/ui/button-group.tsx | mbarbine__platphorm-auction-vice:components/ui/button-group.tsx | mbarbine__platphorm-base:components/ui/button-group.tsx | mbarbine__platphorm-bbs:components/ui/button-group.tsx | mbarbine__platphorm-cobol:components/ui/button-group.tsx | mbarbine__platphorm-codex:components/ui/button-group.tsx | mbarbine__platphorm-decks:components/ui/button-group.tsx | mbarbine__platphorm-desa:components/ui/button-group.tsx | mbarbine__platphorm-design:components/ui/button-group.tsx | mbarbine__platphorm-dictionary:components/ui/button-group.tsx | mbarbine__platphorm-finance:components/ui/button-group.tsx | mbarbine__platphorm-fingerprint-service:components/ui/button-group.tsx | mbarbine__platphorm-insights:components/ui/button-group.tsx | mbarbine__platphorm-jobs:components/ui/button-group.tsx | mbarbine__platphorm-json:components/ui/button-group.tsx | mbarbine__platphorm-jules:components/ui/button-group.tsx | mbarbine__platphorm-kanban:components/ui/button-group.tsx | mbarbine__platphorm-keys:components/ui/button-group.tsx | mbarbine__platphorm-layout:components/ui/button-group.tsx | mbarbine__platphorm-mcp:components/ui/button-group.tsx | mbarbine__platphorm-msi-editor:components/ui/button-group.tsx | mbarbine__platphorm-openclaw:components/ui/button-group.tsx | mbarbine__platphorm-opencontent:components/ui/button-group.tsx | mbarbine__platphorm-opendocs:components/ui/button-group.tsx | mbarbine__platphorm-paperboy:components/ui/button-group.tsx | mbarbine__platphorm-podcasts:components/ui/button-group.tsx | mbarbine__platphorm-polymaths:components/ui/button-group.tsx | mbarbine__platphorm-quake:components/ui/button-group.tsx | mbarbine__platphorm-reader:components/ui/button-group.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 68,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 69,
      "normalized_name": "input-group",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/input-group.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/input-group.tsx | mbarbine__ai-chat-interface-webby:components/ui/input-group.tsx | mbarbine__autographed-bibles-webby:components/ui/input-group.tsx | mbarbine__automotive-flamethrower-webby:components/ui/input-group.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/input-group.tsx | mbarbine__calendar-app-webby:components/ui/input-group.tsx | mbarbine__car-service-records:components/ui/input-group.tsx | mbarbine__civic-engagement-platform-webby:components/ui/input-group.tsx | mbarbine__crafted-virginia-website:components/ui/input-group.tsx | mbarbine__desert-bus:components/ui/input-group.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/input-group.tsx | mbarbine__game-porting-service-webby:components/ui/input-group.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/input-group.tsx | mbarbine__microwave-sticker-webby:components/ui/input-group.tsx | mbarbine__microwave-sticker-webby:components/ui/input-group.test.tsx | mbarbine__multiplayer-puzzle-game:components/ui/input-group.tsx | mbarbine__nova-hackers-webby:components/ui/input-group.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/input-group.tsx | mbarbine__platphorm-404:components/ui/input-group.tsx | mbarbine__platphorm-alleycats:components/ui/input-group.tsx | mbarbine__platphorm-ascii:components/ui/input-group.tsx | mbarbine__platphorm-auction-vice:components/ui/input-group.tsx | mbarbine__platphorm-base:components/ui/input-group.tsx | mbarbine__platphorm-bbs:components/ui/input-group.tsx | mbarbine__platphorm-cobol:components/ui/input-group.tsx | mbarbine__platphorm-codex:components/ui/input-group.tsx | mbarbine__platphorm-decks:components/ui/input-group.tsx | mbarbine__platphorm-desa:components/ui/input-group.tsx | mbarbine__platphorm-design:components/ui/input-group.tsx | mbarbine__platphorm-dictionary:components/ui/input-group.tsx | mbarbine__platphorm-finance:components/ui/input-group.tsx | mbarbine__platphorm-fingerprint-service:components/ui/input-group.tsx | mbarbine__platphorm-insights:components/ui/input-group.tsx | mbarbine__platphorm-jobs:components/ui/input-group.tsx | mbarbine__platphorm-json:components/ui/input-group.tsx | mbarbine__platphorm-jules:components/ui/input-group.tsx | mbarbine__platphorm-kanban:components/ui/input-group.tsx | mbarbine__platphorm-keys:components/ui/input-group.tsx | mbarbine__platphorm-layout:components/ui/input-group.tsx | mbarbine__platphorm-mcp:components/ui/input-group.tsx | mbarbine__platphorm-msi-editor:components/ui/input-group.tsx | mbarbine__platphorm-openclaw:components/ui/input-group.tsx | mbarbine__platphorm-opencontent:components/ui/input-group.tsx | mbarbine__platphorm-opendocs:components/ui/input-group.tsx | mbarbine__platphorm-paperboy:components/ui/input-group.tsx | mbarbine__platphorm-podcasts:components/ui/input-group.tsx | mbarbine__platphorm-polymaths:components/ui/input-group.tsx | mbarbine__platphorm-quake:components/ui/input-group.tsx | mbarbine__platphorm-reader:components/ui/input-group.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 68,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 69,
      "normalized_name": "empty",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/empty.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/empty.tsx | mbarbine__ai-chat-interface-webby:components/ui/empty.tsx | mbarbine__autographed-bibles-webby:components/ui/empty.tsx | mbarbine__automotive-flamethrower-webby:components/ui/empty.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/empty.tsx | mbarbine__calendar-app-webby:components/ui/empty.tsx | mbarbine__car-service-records:components/ui/empty.tsx | mbarbine__civic-engagement-platform-webby:components/ui/empty.tsx | mbarbine__crafted-virginia-website:components/ui/empty.tsx | mbarbine__desert-bus:components/ui/empty.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/empty.tsx | mbarbine__game-porting-service-webby:components/ui/empty.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/empty.tsx | mbarbine__microwave-sticker-webby:components/ui/empty.test.tsx | mbarbine__microwave-sticker-webby:components/ui/empty.tsx | mbarbine__multiplayer-puzzle-game:components/ui/empty.tsx | mbarbine__nova-hackers-webby:components/ui/empty.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/empty.tsx | mbarbine__platphorm-404:components/ui/empty.tsx | mbarbine__platphorm-alleycats:components/ui/empty.tsx | mbarbine__platphorm-ascii:components/ui/empty.tsx | mbarbine__platphorm-auction-vice:components/ui/empty.tsx | mbarbine__platphorm-base:components/ui/empty.tsx | mbarbine__platphorm-bbs:components/ui/empty.tsx | mbarbine__platphorm-cobol:components/ui/empty.tsx | mbarbine__platphorm-codex:components/ui/empty.tsx | mbarbine__platphorm-decks:components/ui/empty.tsx | mbarbine__platphorm-desa:components/ui/empty.tsx | mbarbine__platphorm-design:components/ui/empty.tsx | mbarbine__platphorm-dictionary:components/ui/empty.tsx | mbarbine__platphorm-finance:components/ui/empty.tsx | mbarbine__platphorm-fingerprint-service:components/ui/empty.tsx | mbarbine__platphorm-insights:components/ui/empty.tsx | mbarbine__platphorm-jobs:components/ui/empty.tsx | mbarbine__platphorm-json:components/ui/empty.tsx | mbarbine__platphorm-jules:components/ui/empty.tsx | mbarbine__platphorm-kanban:components/ui/empty.tsx | mbarbine__platphorm-keys:components/ui/empty.tsx | mbarbine__platphorm-layout:components/ui/empty.tsx | mbarbine__platphorm-mcp:components/ui/empty.tsx | mbarbine__platphorm-msi-editor:components/ui/empty.tsx | mbarbine__platphorm-openclaw:components/ui/empty.tsx | mbarbine__platphorm-opencontent:components/ui/empty.tsx | mbarbine__platphorm-opendocs:components/ui/empty.tsx | mbarbine__platphorm-paperboy:components/ui/empty.tsx | mbarbine__platphorm-podcasts:components/ui/empty.tsx | mbarbine__platphorm-polymaths:components/ui/empty.tsx | mbarbine__platphorm-quake:components/ui/empty.tsx | mbarbine__platphorm-reader:components/ui/empty.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 68,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 69,
      "normalized_name": "kbd",
      "paths": "mbarbine__2025-year-in-review-webby:components/ui/kbd.tsx | mbarbine__Joshs-magnets-landing-page:components/ui/kbd.tsx | mbarbine__ai-chat-interface-webby:components/ui/kbd.tsx | mbarbine__autographed-bibles-webby:components/ui/kbd.tsx | mbarbine__automotive-flamethrower-webby:components/ui/kbd.tsx | mbarbine__barbineworldwide-2026-metahack:components/ui/kbd.tsx | mbarbine__calendar-app-webby:components/ui/kbd.tsx | mbarbine__car-service-records:components/ui/kbd.tsx | mbarbine__civic-engagement-platform-webby:components/ui/kbd.tsx | mbarbine__crafted-virginia-website:components/ui/kbd.tsx | mbarbine__desert-bus:components/ui/kbd.tsx | mbarbine__dogstar-cybernetics-webby:components/ui/kbd.tsx | mbarbine__game-porting-service-webby:components/ui/kbd.tsx | mbarbine__hot-chocolate-for-profit-webby:components/ui/kbd.tsx | mbarbine__microwave-sticker-webby:components/ui/kbd.test.tsx | mbarbine__microwave-sticker-webby:components/ui/kbd.tsx | mbarbine__multiplayer-puzzle-game:components/ui/kbd.tsx | mbarbine__nova-hackers-webby:components/ui/kbd.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/ui/kbd.tsx | mbarbine__platphorm-404:components/ui/kbd.tsx | mbarbine__platphorm-alleycats:components/ui/kbd.tsx | mbarbine__platphorm-ascii:components/ui/kbd.tsx | mbarbine__platphorm-auction-vice:components/ui/kbd.tsx | mbarbine__platphorm-base:components/ui/kbd.tsx | mbarbine__platphorm-bbs:components/ui/kbd.tsx | mbarbine__platphorm-cobol:components/ui/kbd.tsx | mbarbine__platphorm-codex:components/ui/kbd.tsx | mbarbine__platphorm-decks:components/ui/kbd.tsx | mbarbine__platphorm-desa:components/ui/kbd.tsx | mbarbine__platphorm-design:components/ui/kbd.tsx | mbarbine__platphorm-dictionary:components/ui/kbd.tsx | mbarbine__platphorm-finance:components/ui/kbd.tsx | mbarbine__platphorm-fingerprint-service:components/ui/kbd.tsx | mbarbine__platphorm-insights:components/ui/kbd.tsx | mbarbine__platphorm-jobs:components/ui/kbd.tsx | mbarbine__platphorm-json:components/ui/kbd.tsx | mbarbine__platphorm-jules:components/ui/kbd.tsx | mbarbine__platphorm-kanban:components/ui/kbd.tsx | mbarbine__platphorm-keys:components/ui/kbd.tsx | mbarbine__platphorm-layout:components/ui/kbd.tsx | mbarbine__platphorm-mcp:components/ui/kbd.tsx | mbarbine__platphorm-msi-editor:components/ui/kbd.tsx | mbarbine__platphorm-openclaw:components/ui/kbd.tsx | mbarbine__platphorm-opencontent:components/ui/kbd.tsx | mbarbine__platphorm-opendocs:components/ui/kbd.tsx | mbarbine__platphorm-paperboy:components/ui/kbd.tsx | mbarbine__platphorm-podcasts:components/ui/kbd.tsx | mbarbine__platphorm-polymaths:components/ui/kbd.tsx | mbarbine__platphorm-quake:components/ui/kbd.tsx | mbarbine__platphorm-reader:components/ui/kbd.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 68,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 58,
      "normalized_name": "robots",
      "paths": "mbarbine__airrow-commuter-balloon:app/robots.ts | mbarbine__autographed-bibles-webby:app/robots.ts | mbarbine__barbineworldwide-2026-metahack:app/robots.ts | mbarbine__calendar-app-webby:app/robots.ts | mbarbine__car-service-records:app/robots.ts | mbarbine__drone-reel-webby:app/robots.ts | mbarbine__email-reading-service-webby:app/robots.ts | mbarbine__game-porting-service-webby:app/robots.ts | mbarbine__gta-6-countdown-webby:app/robots.ts | mbarbine__microwave-stickers-:app/robots.ts | mbarbine__ph3ar-admin-dashboard:app/robots.ts | mbarbine__ph3ar-blog:src/app/robots.ts | mbarbine__platphorm-agentui:app/robots.ts | mbarbine__platphorm-alleycats:app/robots.ts | mbarbine__platphorm-auction-vice:app/robots.ts | mbarbine__platphorm-base:app/robots.ts | mbarbine__platphorm-bbs:app/robots.ts | mbarbine__platphorm-business-EmployerServicesIncorporated:src/app/robots.ts | mbarbine__platphorm-cobol:app/robots.ts | mbarbine__platphorm-content-showback-dashboard:app/robots.ts | mbarbine__platphorm-desa:app/robots.ts | mbarbine__platphorm-design:app/robots.ts | mbarbine__platphorm-dictionary:app/robots.ts | mbarbine__platphorm-emoji:app/robots.ts | mbarbine__platphorm-fingerprint-service:app/robots.ts | mbarbine__platphorm-insights:app/robots.ts | mbarbine__platphorm-kanban:app/robots.ts | mbarbine__platphorm-keys:app/robots.ts | mbarbine__platphorm-mcp:app/robots.ts | mbarbine__platphorm-mini-games-webby:app/robots.ts | mbarbine__platphorm-monitor:app/robots.ts | mbarbine__platphorm-openclaw:app/robots.ts | mbarbine__platphorm-quake:app/robots.ts | mbarbine__platphorm-radio-backend:app/robots.ts | mbarbine__platphorm-real-estate:app/robots.ts | mbarbine__platphorm-register:app/robots.ts | mbarbine__platphorm-space-news:app/robots.ts | mbarbine__platphorm-spec-workbench:app/robots.ts | mbarbine__platphorm-stannp-api-wrapper:app/robots.ts | mbarbine__platphorm-usl:app/robots.ts | mbarbine__platphorm-vercel-atlas:app/robots.ts | mbarbine__platphorm-wrestling-webby:app/robots.ts | mbarbine__platphorm-xml:app/robots.ts | mbarbine__platphorm-zine-reader:app/robots.ts | mbarbine__reflux-site-webby:app/robots.ts | mbarbine__robbie-ds-greens-webby:app/robots.ts | mbarbine__robot-clothing-marketplace:app/robots.ts | mbarbine__scratchcraft:app/robots.ts | mbarbine__spectrum-canine-www:app/robots.ts | mbarbine__starphone-fork-webby:app/robots.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 58,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__microwave-stickers-, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate, mbarbine__platphorm-register, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-usl"
    },
    {
      "component_kind": "observability-module",
      "file_count": 52,
      "normalized_name": "package-lock",
      "paths": "mbarbine__automotive-flamethrower-webby:package-lock.json | mbarbine__barbineworldwide-2026-metahack:package-lock.json | mbarbine__calendar-app-webby:package-lock.json | mbarbine__email-reading-service-webby:package-lock.json | mbarbine__fashion-sadiepass-WWW:package-lock.json | mbarbine__front-runners-webby:package-lock.json | mbarbine__global-anti-globalist-club-webby:package-lock.json | mbarbine__hot-chocolate-for-profit-webby:package-lock.json | mbarbine__instant-snap-postcard:package-lock.json | mbarbine__ja4-sidecar:scripts/tests/package-lock.json | mbarbine__ja4-sidecar:ja4-sniffer/package-lock.json | mbarbine__ja4-sidecar:ja4-cli/package-lock.json | mbarbine__job-manager:package-lock.json | mbarbine__microwave-sticker-webby:package-lock.json | mbarbine__nova-hackers-webby:package-lock.json | mbarbine__ph3ar-web:package-lock.json | mbarbine__platphorm-agentui:package-lock.json | mbarbine__platphorm-ascii:package-lock.json | mbarbine__platphorm-browserops:package-lock.json | mbarbine__platphorm-business-EmployerServicesIncorporated:package-lock.json | mbarbine__platphorm-content-showback-dashboard:package-lock.json | mbarbine__platphorm-desa:package-lock.json | mbarbine__platphorm-design:package-lock.json | mbarbine__platphorm-evals:package-lock.json | mbarbine__platphorm-jobs:package-lock.json | mbarbine__platphorm-jules:package-lock.json | mbarbine__platphorm-keys:package-lock.json | mbarbine__platphorm-mcp:package-lock.json | mbarbine__platphorm-mini-games-webby:package-lock.json | mbarbine__platphorm-msi-editor:package-lock.json | mbarbine__platphorm-openclaw:package-lock.json | mbarbine__platphorm-politics:package-lock.json | mbarbine__platphorm-polymaths:package-lock.json | mbarbine__platphorm-reader:package-lock.json | mbarbine__platphorm-real-estate-property-evaluation:package-lock.json | mbarbine__platphorm-shipments:package-lock.json | mbarbine__platphorm-space-news:package-lock.json | mbarbine__platphorm-spec-workbench:package-lock.json | mbarbine__platphorm-stannp-api-wrapper:package-lock.json | mbarbine__platphorm-trace:package-lock.json | mbarbine__platphorm-usl:package-lock.json | mbarbine__platphorm-vercel-atlas:package-lock.json | mbarbine__platphorm-wrestling-webby:package-lock.json | mbarbine__robot-clothing-marketplace:package-lock.json | mbarbine__starphone-fork-webby:package-lock.json | mbarbine__stripper-mug-webby:package-lock.json | mbarbine__uberpidgeons:package-lock.json | mbarbine__uberpidgeons-www:package-lock.json | mbarbine__vanagain-dot-com-prod:package-lock.json | mbarbine__www-demo-biofeedback-app-development:package-lock.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 50,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__ja4-sidecar, mbarbine__job-manager, mbarbine__microwave-sticker-webby, mbarbine__nova-hackers-webby, mbarbine__ph3ar-web, mbarbine__platphorm-agentui, mbarbine__platphorm-ascii, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-jobs, mbarbine__platphorm-jules, mbarbine__platphorm-keys, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-msi-editor, mbarbine__platphorm-openclaw, mbarbine__platphorm-politics, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "middleware",
      "file_count": 58,
      "normalized_name": "middleware",
      "paths": "mbarbine__airrow-commuter-balloon:middleware.ts | mbarbine__beer-museum-manager-www:middleware.ts | mbarbine__burrito-dealer-www:middleware.ts | mbarbine__calendar-app-webby:middleware.ts | mbarbine__calendar-app-webby:__tests__/middleware.test.ts | mbarbine__civic-engagement-platform-webby:middleware.ts | mbarbine__game-porting-service-webby:middleware.ts | mbarbine__hot-chocolate-for-profit-webby:middleware.ts | mbarbine__hot-chocolate-for-profit-webby:__tests__/middleware.test.ts | mbarbine__mailthing-main:middleware.ts | mbarbine__mermaid-community-platform:middleware.ts | mbarbine__nextjs-ai-4:middleware.ts | mbarbine__nextjs-ai-chatbot:middleware.ts | mbarbine__nuclear-power-plant-webby-NPaaS:middleware.ts | mbarbine__ph3ar-admin-dashboard:middleware.ts | mbarbine__ph3ar-blog:src/middleware.ts | mbarbine__ph3ar-chatbot:middleware.ts | mbarbine__platphorm-ai-photo-enrichment:middleware.ts | mbarbine__platphorm-auction-vice:middleware.ts | mbarbine__platphorm-base:middleware.ts | mbarbine__platphorm-bbs:middleware.ts | mbarbine__platphorm-content-showback-dashboard:middleware.ts | mbarbine__platphorm-content-showback-dashboard:__tests__/middleware.test.ts | mbarbine__platphorm-decks:middleware.ts | mbarbine__platphorm-dictionary:middleware.ts | mbarbine__platphorm-jobs:middleware.ts | mbarbine__platphorm-jules:middleware.ts | mbarbine__platphorm-jules:middleware.test.ts | mbarbine__platphorm-layout:middleware.ts | mbarbine__platphorm-news-alt-theme:middleware.ts | mbarbine__platphorm-openclaw:tests/middleware.test.ts | mbarbine__platphorm-opencontent:middleware.ts | mbarbine__platphorm-opencontent:__tests__/unit/middleware.test.ts | mbarbine__platphorm-opendocs:middleware.ts | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/middleware.js | mbarbine__platphorm-podcasts:__tests__/middleware.test.ts | mbarbine__platphorm-politics:middleware.ts | mbarbine__platphorm-radio-backend:middleware.ts | mbarbine__platphorm-real-estate:middleware.ts | mbarbine__platphorm-real-estate-NAD:middleware.ts | mbarbine__platphorm-real-estate-property-evaluation:middleware.ts | mbarbine__platphorm-shipments:middleware.ts | mbarbine__platphorm-shipments:__tests__/middleware/middleware.test.ts | mbarbine__platphorm-spec-workbench:__tests__/middleware.test.ts | mbarbine__platphorm-trace:middleware.ts | mbarbine__platphorm-webhook-simulator:middleware.ts | mbarbine__process-clone:middleware.ts | mbarbine__reflux-site-webby:middleware.ts | mbarbine__robbie-ds-greens-webby:middleware.ts | mbarbine__robbie-ds-greens-webby:middleware.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 49,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__civic-engagement-platform-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__ph3ar-chatbot, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-dictionary, mbarbine__platphorm-jobs, mbarbine__platphorm-jules, mbarbine__platphorm-layout, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-politics, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 54,
      "normalized_name": "header",
      "paths": "mbarbine__Joshs-magnets-landing-page:components/header.test.tsx | mbarbine__Joshs-magnets-landing-page:components/header.tsx | mbarbine__PH3AR-WEBBY:src/lib/Header.svelte | mbarbine__airrow-commuter-balloon:components/header.tsx | mbarbine__automotive-flamethrower-webby:components/header.tsx | mbarbine__beer-museum-manager-www:components/admin/header.tsx | mbarbine__crafted-virginia-website:components/header.tsx | mbarbine__dogstar-cybernetics-webby:components/layout/header.tsx | mbarbine__drone-reel-webby:components/layout/header.tsx | mbarbine__email-reading-service-webby:components/header.tsx | mbarbine__front-runners-webby:components/header.tsx | mbarbine__glass-blowing-website:components/header.tsx | mbarbine__global-anti-globalist-club-webby:components/header.tsx | mbarbine__hot-chocolate-for-profit-webby:components/header.tsx | mbarbine__hot-chocolate-for-profit-webby:__tests__/header.test.tsx | mbarbine__jaydens-therapy-legal-www:components/header.tsx | mbarbine__legacy-platphorm-news:src/components/Header.svelte | mbarbine__mermaid-next-www:components/Header.tsx | mbarbine__news-api:src/components/Header.svelte | mbarbine__platphorm-design:tests/components/design/header.test.tsx | mbarbine__platphorm-design:components/design/header.tsx | mbarbine__platphorm-dictionary:components/header.tsx | mbarbine__platphorm-insights:components/layout/header.tsx | mbarbine__platphorm-json:components/layout/header.tsx | mbarbine__platphorm-jules:components/jules/header.test.tsx | mbarbine__platphorm-jules:components/jules/header.tsx | mbarbine__platphorm-keys:components/layout/header.tsx | mbarbine__platphorm-msi-editor:components/msi/header.tsx | mbarbine__platphorm-newdittyswag-www:components/header.tsx | mbarbine__platphorm-news-alt-theme:components/header.tsx | mbarbine__platphorm-onboard:components/layout/header.tsx | mbarbine__platphorm-openclaw:components/dashboard/header.tsx | mbarbine__platphorm-politics:components/header.tsx | mbarbine__platphorm-portfolio-webby:components/header.tsx | mbarbine__platphorm-real-estate-NAD:components/layout/header.tsx | mbarbine__platphorm-register:components/header.tsx | mbarbine__platphorm-trace:components/layout/header.tsx | mbarbine__platphorm-usl:components/header.tsx | mbarbine__platphorm-xml:components/xml-viewer/header.tsx | mbarbine__platphormnews-www-prod:src/components/Header.svelte | mbarbine__process-clone:components/header.tsx | mbarbine__reflux-site-webby:components/header.tsx | mbarbine__scratchcraft:components/header.tsx | mbarbine__spectrum-canine-www:components/header.tsx | mbarbine__starphone-web-svelte:components/Header.tsx | mbarbine__stripper-mug-webby:components/header.tsx | mbarbine__two-doller-web:components/header.tsx | mbarbine__vanagain-dot-com-prod:components/layout/header.tsx | mbarbine__vanagon-website:components/header.tsx | mbarbine__www-demo-biofeedback-app-development:components/header.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 49,
      "repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__beer-museum-manager-www, mbarbine__crafted-virginia-website, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__front-runners-webby, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__jaydens-therapy-legal-www, mbarbine__legacy-platphorm-news, mbarbine__mermaid-next-www, mbarbine__news-api, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-keys, mbarbine__platphorm-msi-editor, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-politics, mbarbine__platphorm-portfolio-webby, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-register, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__process-clone, mbarbine__reflux-site-webby, mbarbine__scratchcraft, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "roadmap",
      "file_count": 51,
      "normalized_name": "roadmap",
      "paths": "mbarbine__Joshs-magnets-landing-page:ROADMAP.md | mbarbine__autographed-bibles-webby:ROADMAP.md | mbarbine__calendar-app-webby:docs/roadmap.md | mbarbine__desert-bus:ROADMAP.md | mbarbine__fashion-sadiepass-WWW:ROADMAP.md | mbarbine__front-runners-webby:ROADMAP.md | mbarbine__gta-6-countdown-webby:ROADMAP.md | mbarbine__ja4mlab:ROADMAP.md | mbarbine__ph3ar-admin-dashboard:ROADMAP.md | mbarbine__platphorm-agentui:ROADMAP.md | mbarbine__platphorm-bbs:docs/ROADMAP.md | mbarbine__platphorm-browserops:ROADMAP.md | mbarbine__platphorm-business-EmployerServicesIncorporated:ROADMAP.md | mbarbine__platphorm-content-showback-dashboard:ROADMAP.md | mbarbine__platphorm-desa:docs/ROADMAP.md | mbarbine__platphorm-design:ROADMAP.md | mbarbine__platphorm-evals:docs/ROADMAP.md | mbarbine__platphorm-insights:ROADMAP.md | mbarbine__platphorm-jobs:ROADMAP.md | mbarbine__platphorm-json:ROADMAP.md | mbarbine__platphorm-kanban:ROADMAP.md | mbarbine__platphorm-layout:ROADMAP.md | mbarbine__platphorm-mcp:ROADMAP.md | mbarbine__platphorm-mcp:docs/roadmap.md | mbarbine__platphorm-monitor:ROADMAP.md | mbarbine__platphorm-monitor:docs/roadmap.md | mbarbine__platphorm-msi-editor:ROADMAP.md | mbarbine__platphorm-onboard:docs/ROADMAP.md | mbarbine__platphorm-opencontent:ROADMAP.md | mbarbine__platphorm-opendocs:ROADMAP.md | mbarbine__platphorm-politics:ROADMAP.md | mbarbine__platphorm-polymaths:docs/ROADMAP.md | mbarbine__platphorm-quake:ROADMAP.md | mbarbine__platphorm-real-estate:ROADMAP.md | mbarbine__platphorm-real-estate-NAD:ROADMAP.md | mbarbine__platphorm-register:ROADMAP.md | mbarbine__platphorm-shipments:ROADMAP.md | mbarbine__platphorm-shipments:docs/ROADMAP.md | mbarbine__platphorm-spec-workbench:docs/ROADMAP.md | mbarbine__platphorm-stannp-api-wrapper:ROADMAP.md | mbarbine__platphorm-svg-factory:ROADMAP.md | mbarbine__platphorm-trace:tests/roadmap.test.ts | mbarbine__platphorm-vercel-atlas:ROADMAP.md | mbarbine__platphorm-wrestling-webby:ROADMAP.md | mbarbine__platphorm-xml:ROADMAP.md | mbarbine__reflux-site-webby:ROADMAP.md | mbarbine__stripper-mug-webby:ROADMAP.md | mbarbine__threatrelay-webby:ROADMAP.md | mbarbine__vanagain-dot-com-prod:DOCS/ROADMAP.md | ph3ar__platphorm-admin-dashboard:ROADMAP.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 48,
      "repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__gta-6-countdown-webby, mbarbine__ja4mlab, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-politics, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-register, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "container-automation",
      "file_count": 60,
      "normalized_name": "dockerfile",
      "paths": "mbarbine__Scripts:docker/builders/Dockerfile | mbarbine__Scripts:docker/scripts/cleanup/Dockerfile | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/Dockerfile | mbarbine__Scripts:SORT/OpsClick_website/Dockerfile | mbarbine__Scripts:SORT/OpsClick_BE_Pricing/Dockerfile | mbarbine__Scripts:python/Dockerfile | mbarbine__aws-lab:docker/uptime-kuma/Dockerfile | mbarbine__aws-lab:docker/portainer/Dockerfile | mbarbine__aws-lab:docker/deepstack/Dockerfile | mbarbine__aws-lab:docker/privatebin/Dockerfile | mbarbine__aws-lab:docker/haproxy/Dockerfile | mbarbine__aws-next-k8-cluster-deploy:Dockerfile | mbarbine__calendar-app-webby:Dockerfile | mbarbine__cdf-sanitize:Dockerfile | mbarbine__desert-bus:Dockerfile | mbarbine__docker-terraform-aws-demo:Dockerfile | mbarbine__fortune-cookie-webby-yj:Dockerfile | mbarbine__ja4-sidecar:ja4-alerts/Dockerfile | mbarbine__ja4-sidecar:ja4-sniffer/Dockerfile | mbarbine__ja4-sidecar:ja4-cli/Dockerfile | mbarbine__ja4mlab:services/openclaw-runtime/Dockerfile | mbarbine__ja4mlab:services/api-broker/Dockerfile | mbarbine__legacy-platphorm-news:Dockerfile | mbarbine__onboard-platphorm-boilerplate-repo:Dockerfile | mbarbine__ph3ar-web:Dockerfile | mbarbine__platphorm-404:Dockerfile | mbarbine__platphorm-bbs:Dockerfile | mbarbine__platphorm-cobol:Dockerfile | mbarbine__platphorm-desa:Dockerfile | mbarbine__platphorm-fingerprint-service:Dockerfile | mbarbine__platphorm-insights:Dockerfile | mbarbine__platphorm-json:Dockerfile | mbarbine__platphorm-jules:Dockerfile | mbarbine__platphorm-kanban:Dockerfile | mbarbine__platphorm-layout:Dockerfile | mbarbine__platphorm-mcp:Dockerfile | mbarbine__platphorm-mini-games-webby:Dockerfile | mbarbine__platphorm-msi-editor:Dockerfile | mbarbine__platphorm-onboard:Dockerfile | mbarbine__platphorm-openclaw:Dockerfile | mbarbine__platphorm-opencontent:Dockerfile | mbarbine__platphorm-opendocs:Dockerfile | mbarbine__platphorm-polymaths:Dockerfile | mbarbine__platphorm-quake:Dockerfile | mbarbine__platphorm-shipments:Dockerfile | mbarbine__platphorm-space-news:Dockerfile | mbarbine__platphorm-trace:Dockerfile | mbarbine__platphorm-usl:Dockerfile | mbarbine__platphorm-xml:Dockerfile | mbarbine__platphormnews-www-prod:Dockerfile",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 45,
      "repos": "mbarbine__Scripts, mbarbine__aws-lab, mbarbine__aws-next-k8-cluster-deploy, mbarbine__calendar-app-webby, mbarbine__cdf-sanitize, mbarbine__desert-bus, mbarbine__docker-terraform-aws-demo, mbarbine__fortune-cookie-webby-yj, mbarbine__ja4-sidecar, mbarbine__ja4mlab, mbarbine__legacy-platphorm-news, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-web, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__process-clone, mbarbine__wildduck"
    },
    {
      "component_kind": "deployment-automation",
      "file_count": 51,
      "normalized_name": "vercel",
      "paths": "mbarbine__desert-bus:vercel.json | mbarbine__drone-reel-webby:vercel.json | mbarbine__fortune-cookie-webby-yj:vercel.json | mbarbine__fortune-cookie-webby-yj:lib/platform/vercel.ts | mbarbine__front-runners-webby:vercel.json | mbarbine__onboard-platphorm-boilerplate-repo:vercel.json | mbarbine__ph3ar-blog:vercel.json | mbarbine__platphorm-404:vercel.json | mbarbine__platphorm-base:vercel.json | mbarbine__platphorm-bbs:vercel.json | mbarbine__platphorm-browserops:vercel.json | mbarbine__platphorm-browserops:lib/integrations/vercel.ts | mbarbine__platphorm-cobol:vercel.json | mbarbine__platphorm-codex:vercel.json | mbarbine__platphorm-desa:vercel.json | mbarbine__platphorm-desa:lib/platform/vercel.ts | mbarbine__platphorm-dictionary:vercel.json | mbarbine__platphorm-emoji:vercel.json | mbarbine__platphorm-evals:vercel.json | mbarbine__platphorm-fingerprint-service:vercel.json | mbarbine__platphorm-fingerprint-service:lib/fingerprint/modules/vercel.ts | mbarbine__platphorm-fingerprint-service:lib/platform/vercel.ts | mbarbine__platphorm-insights:vercel.json | mbarbine__platphorm-json:vercel.json | mbarbine__platphorm-kanban:vercel.json | mbarbine__platphorm-kanban:__tests__/lib/vercel.test.ts | mbarbine__platphorm-kanban:lib/vercel.ts | mbarbine__platphorm-layout:vercel.json | mbarbine__platphorm-layout:lib/platform/vercel.ts | mbarbine__platphorm-mcp:vercel.json | mbarbine__platphorm-mini-games-webby:vercel.json | mbarbine__platphorm-monitor:vercel.json | mbarbine__platphorm-msi-editor:vercel.json | mbarbine__platphorm-onboard:vercel.json | mbarbine__platphorm-onboard:lib/integrations/vercel.ts | mbarbine__platphorm-opencontent:vercel.json | mbarbine__platphorm-opendocs:vercel.json | mbarbine__platphorm-podcasts:vercel.json | mbarbine__platphorm-podcasts:lib/platform/vercel.ts | mbarbine__platphorm-polymarket-rss-feed:vercel.json | mbarbine__platphorm-polymaths:vercel.json | mbarbine__platphorm-shipments:vercel.json | mbarbine__platphorm-space-news:vercel.json | mbarbine__platphorm-spec-workbench:vercel.json | mbarbine__platphorm-stannp-api-wrapper:vercel.json | mbarbine__platphorm-usl:vercel.json | mbarbine__platphorm-vercel-atlas:vercel.json | mbarbine__platphorm-xml:vercel.json | mbarbine__platphormnews-www-prod:vercel.json | mbarbine__vanagain-dot-com-prod:vercel.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 41,
      "repos": "mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 51,
      "normalized_name": "types",
      "paths": "mbarbine__PH3AR-WEBBY:src/lib/types.ts | mbarbine__calendar-app-webby:lib/types.ts | mbarbine__car-service-records:lib/types.ts | mbarbine__game-porting-service-webby:lib/types.ts | mbarbine__multiplayer-puzzle-game:lib/puzzle/types.ts | mbarbine__platphorm-404:lib/platform/types.ts | mbarbine__platphorm-agentui:lib/db/types.ts | mbarbine__platphorm-base:__tests__/lib/network/types.test.ts | mbarbine__platphorm-base:lib/network/types.ts | mbarbine__platphorm-bbs:lib/bbs/types.ts | mbarbine__platphorm-codex:lib/scroll-engine/types.ts | mbarbine__platphorm-codex:lib/dns/types.ts | mbarbine__platphorm-decks:lib/scroll-engine/types.ts | mbarbine__platphorm-desa:lib/types.ts | mbarbine__platphorm-desa:lib/integrations/platphormnews/types.ts | mbarbine__platphorm-design:lib/design/types.ts | mbarbine__platphorm-emoji:lib/types.ts | mbarbine__platphorm-fingerprint-service:lib/fingerprint/types.ts | mbarbine__platphorm-insights:lib/quality/types.ts | mbarbine__platphorm-json:lib/types.ts | mbarbine__platphorm-jules:lib/types.ts | mbarbine__platphorm-keys:__tests__/lib/types.test.ts | mbarbine__platphorm-keys:lib/keys/types.ts | mbarbine__platphorm-layout:lib/layout/types.ts | mbarbine__platphorm-mcp:lib/mcp/types.ts | mbarbine__platphorm-monitor:lib/mcp/types.ts | mbarbine__platphorm-monitor:lib/mcp/__tests__/types.test.ts | mbarbine__platphorm-newdittyswag-www:lib/shopify/types.ts | mbarbine__platphorm-news-alt-theme:lib/types.ts | mbarbine__platphorm-onboard:lib/registration/types.ts | mbarbine__platphorm-onboard:lib/db/types.ts | mbarbine__platphorm-openclaw:lib/openclaw/mcp/types.ts | mbarbine__platphorm-openclaw:lib/sdk/types.ts | mbarbine__platphorm-podcasts:lib/types.ts | mbarbine__platphorm-podcasts:lib/rss/types.ts | mbarbine__platphorm-podcasts:lib/podcast/types.ts | mbarbine__platphorm-quake:lib/game/maps/types.ts | mbarbine__platphorm-radio-backend:lib/types.ts | mbarbine__platphorm-real-estate-property-evaluation:lib/types.ts | mbarbine__platphorm-real-estate-property-evaluation:lib/zillow-etl/types.ts | mbarbine__platphorm-register:lib/types.ts | mbarbine__platphorm-sandbox:lib/types.ts | mbarbine__platphorm-sandbox:lib/pnn/types.ts | mbarbine__platphorm-sheets:lib/sheets/types.ts | mbarbine__platphorm-space-news:lib/types.ts | mbarbine__platphorm-space-news:lib/space/types.ts | mbarbine__platphorm-trace:lib/trace/types.ts | mbarbine__process-clone:lib/types.ts | mbarbine__stannp-gpt-5-test:lib/types.ts | mbarbine__www-demo-biofeedback-app-development:lib/types.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 39,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__game-porting-service-webby, mbarbine__multiplayer-puzzle-game, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-register, mbarbine__platphorm-sandbox, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__process-clone, mbarbine__stannp-gpt-5-test, mbarbine__www-demo-biofeedback-app-development, ph3ar__radio-backend"
    },
    {
      "component_kind": "security-module",
      "file_count": 38,
      "normalized_name": "next-config",
      "paths": "mbarbine__ai-chat-interface-webby:next.config.mjs | mbarbine__automotive-flamethrower-webby:next.config.mjs | mbarbine__barbineworldwide-2026-metahack:next.config.mjs | mbarbine__biocyber-xr-training-nasa-webby-v0:next.config.mjs | mbarbine__drone-reel-webby:next.config.mjs | mbarbine__email-reading-service-webby:next.config.mjs | mbarbine__foxio-labs:next.config.js | mbarbine__front-runners-webby:next.config.mjs | mbarbine__game-porting-service-webby:next.config.mjs | mbarbine__gta-6-countdown-webby:next.config.mjs | mbarbine__nova-hackers-webby:next.config.mjs | mbarbine__nuclear-power-plant-webby-NPaaS:next.config.mjs | mbarbine__onboard-platphorm-boilerplate-repo:next.config.mjs | mbarbine__platphorm-404:next.config.mjs | mbarbine__platphorm-ascii:next.config.mjs | mbarbine__platphorm-design:next.config.mjs | mbarbine__platphorm-emoji:next.config.mjs | mbarbine__platphorm-kanban:next.config.mjs | mbarbine__platphorm-mcp:next.config.mjs | mbarbine__platphorm-mini-games-webby:next.config.mjs | mbarbine__platphorm-monitor:next.config.mjs | mbarbine__platphorm-opencontent:next.config.mjs | mbarbine__platphorm-opendocs:next.config.mjs | mbarbine__platphorm-polymarket-rss-feed:next.config.mjs | mbarbine__platphorm-quake:next.config.mjs | mbarbine__platphorm-real-estate-property-evaluation:next.config.mjs | mbarbine__platphorm-redteam-arma-landing:next.config.mjs | mbarbine__reflux-site-webby:next.config.js | mbarbine__starphone-fork-webby:next.config.mjs | mbarbine__starphone-web-svelte:next.config.ts | mbarbine__stripper-mug-webby:next.config.mjs | mbarbine__tiktok-clone:next.config.mjs | mbarbine__two-doller-web:next.config.mjs | mbarbine__vanlife-website:next.config.mjs | mbarbine__www-demo-biofeedback-app-development:next.config.mjs | ph3ar__mailthing-webby:next.config.mjs | ph3ar__ph3ar-docs-enhanced-labs:next.config.js | ph3ar__platphorm-admin-dashboard:next.config.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 38,
      "repos": "mbarbine__ai-chat-interface-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__foxio-labs, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__reflux-site-webby, mbarbine__starphone-fork-webby, mbarbine__starphone-web-svelte, mbarbine__stripper-mug-webby, mbarbine__tiktok-clone, mbarbine__two-doller-web, mbarbine__vanlife-website, mbarbine__www-demo-biofeedback-app-development, ph3ar__mailthing-webby, ph3ar__ph3ar-docs-enhanced-labs, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "business-logic",
      "file_count": 41,
      "normalized_name": "auth",
      "paths": "mbarbine__autographed-bibles-webby:lib/auth.ts | mbarbine__calendar-app-webby:__tests__/lib/auth.test.ts | mbarbine__calendar-app-webby:lib/auth.ts | mbarbine__car-service-records:tests/lib/auth.test.ts | mbarbine__car-service-records:lib/auth.ts | mbarbine__desert-bus:lib/auth.ts | mbarbine__fortune-cookie-webby-yj:lib/platform/auth.ts | mbarbine__platphorm-404:lib/platform/auth.ts | mbarbine__platphorm-bbs:lib/actions/auth.ts | mbarbine__platphorm-bbs:lib/bbs/auth.ts | mbarbine__platphorm-browserops:lib/security/auth.ts | mbarbine__platphorm-cobol:lib/auth.ts | mbarbine__platphorm-codex:lib/codex/auth.ts | mbarbine__platphorm-content-showback-dashboard:lib/auth.ts | mbarbine__platphorm-desa:lib/platform/auth.ts | mbarbine__platphorm-evals:lib/api/auth.ts | mbarbine__platphorm-fingerprint-service:lib/platform/auth.ts | mbarbine__platphorm-insights:lib/platform/auth.ts | mbarbine__platphorm-json:lib/auth.ts | mbarbine__platphorm-layout:lib/platform/auth.ts | mbarbine__platphorm-mcp:lib/platform/auth.ts | mbarbine__platphorm-mcp:lib/mcp/auth.ts | mbarbine__platphorm-mini-games-webby:lib/auth.ts | mbarbine__platphorm-monitor:lib/api/auth.ts | mbarbine__platphorm-monitor:lib/api/__tests__/auth.test.ts | mbarbine__platphorm-msi-editor:lib/platform/auth.ts | mbarbine__platphorm-openclaw:lib/auth.ts | mbarbine__platphorm-podcasts:lib/platform/auth.ts | mbarbine__platphorm-polymaths:lib/platphorm/auth.ts | mbarbine__platphorm-quake:lib/platform/auth.ts | mbarbine__platphorm-register:lib/auth.ts | mbarbine__platphorm-sheets:lib/sheets/auth.ts | mbarbine__platphorm-space-news:lib/platform/auth.ts | mbarbine__platphorm-stannp-api-wrapper:lib/auth.test.ts | mbarbine__platphorm-stannp-api-wrapper:lib/auth.ts | mbarbine__platphorm-usl:lib/auth.ts | mbarbine__platphorm-webhook-simulator:lib/api/auth.ts | mbarbine__platphorm-xml:lib/auth.ts | mbarbine__process-clone:lib/auth.ts | mbarbine__vanagain-dot-com-prod:lib/auth.ts | ph3ar__mailthing-webby:lib/auth.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 35,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-usl, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml, mbarbine__process-clone, mbarbine__vanagain-dot-com-prod, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 42,
      "normalized_name": "breadcrumbs",
      "paths": "mbarbine__ai-chat-interface-webby:components/breadcrumbs.tsx | mbarbine__autographed-bibles-webby:components/Breadcrumbs.tsx | mbarbine__automotive-flamethrower-webby:components/breadcrumbs.tsx | mbarbine__barbineworldwide-2026-metahack:components/common/breadcrumbs.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/common/breadcrumbs.test.tsx | mbarbine__drone-reel-webby:components/breadcrumbs.test.tsx | mbarbine__drone-reel-webby:components/breadcrumbs.tsx | mbarbine__front-runners-webby:components/breadcrumbs.tsx | mbarbine__global-anti-globalist-club-webby:components/breadcrumbs.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/breadcrumbs.tsx | mbarbine__platphorm-ascii:components/breadcrumbs.tsx | mbarbine__platphorm-ascii:__tests__/breadcrumbs.test.tsx | mbarbine__platphorm-cobol:components/breadcrumbs.tsx | mbarbine__platphorm-content-showback-dashboard:components/breadcrumbs.tsx | mbarbine__platphorm-dictionary:components/breadcrumbs.tsx | mbarbine__platphorm-fingerprint-service:components/layout/breadcrumbs.tsx | mbarbine__platphorm-insights:components/layout/breadcrumbs.tsx | mbarbine__platphorm-jobs:components/breadcrumbs.tsx | mbarbine__platphorm-json:components/breadcrumbs.tsx | mbarbine__platphorm-json:__tests__/breadcrumbs.test.tsx | mbarbine__platphorm-jules:components/jules/breadcrumbs.test.tsx | mbarbine__platphorm-jules:components/jules/breadcrumbs.tsx | mbarbine__platphorm-layout:components/navigation/Breadcrumbs.tsx | mbarbine__platphorm-mini-games-webby:components/layout/breadcrumbs.tsx | mbarbine__platphorm-monitor:components/layout/breadcrumbs.tsx | mbarbine__platphorm-podcasts:components/Breadcrumbs.tsx | mbarbine__platphorm-polymaths:components/breadcrumbs.tsx | mbarbine__platphorm-polymaths:__tests__/components/breadcrumbs.test.tsx | mbarbine__platphorm-register:components/breadcrumbs.tsx | mbarbine__platphorm-sandbox:components/breadcrumbs.tsx | mbarbine__platphorm-stannp-api-wrapper:components/breadcrumbs.tsx | mbarbine__platphorm-stannp-api-wrapper:__tests__/components/breadcrumbs.test.tsx | mbarbine__platphorm-svg-factory:components/layout/breadcrumbs.tsx | mbarbine__platphorm-usl:components/breadcrumbs.test.tsx | mbarbine__platphorm-usl:components/breadcrumbs.tsx | mbarbine__platphorm-xml:components/navigation/breadcrumbs.tsx | mbarbine__reflux-site-webby:components/breadcrumbs.tsx | mbarbine__robbie-ds-greens-webby:components/layout/breadcrumbs.tsx | mbarbine__starphone-fork-webby:components/breadcrumbs.test.tsx | mbarbine__starphone-fork-webby:components/breadcrumbs.tsx | mbarbine__stripper-mug-webby:components/breadcrumbs.tsx | mbarbine__threatrelay-webby:components/breadcrumbs.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 33,
      "repos": "mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__drone-reel-webby, mbarbine__front-runners-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-ascii, mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-dictionary, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymaths, mbarbine__platphorm-register, mbarbine__platphorm-sandbox, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-svg-factory, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__reflux-site-webby, mbarbine__robbie-ds-greens-webby, mbarbine__starphone-fork-webby, mbarbine__stripper-mug-webby, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 43,
      "normalized_name": "client",
      "paths": "mbarbine__autographed-bibles-webby:lib/supabase/client.ts | mbarbine__beer-museum-manager-www:lib/supabase/client.ts | mbarbine__burrito-dealer-www:lib/supabase/client.ts | mbarbine__civic-engagement-platform-webby:lib/supabase/client.ts | mbarbine__game-porting-service-webby:lib/supabase/client.ts | mbarbine__hot-chocolate-for-profit-webby:lib/supabase/client.ts | mbarbine__mermaid-community-platform:lib/supabase/client.ts | mbarbine__platphorm-ai-photo-enrichment:lib/google-photos/client.ts | mbarbine__platphorm-ai-photo-enrichment:lib/supabase/client.ts | mbarbine__platphorm-auction-vice:lib/supabase/client.ts | mbarbine__platphorm-base:__tests__/lib/trace/client.test.ts | mbarbine__platphorm-base:lib/trace/client.ts | mbarbine__platphorm-bbs:lib/supabase/client.ts | mbarbine__platphorm-browserops:lib/neon/client.ts | mbarbine__platphorm-codex:lib/mcp/client.ts | mbarbine__platphorm-codex:lib/supabase/client.ts | mbarbine__platphorm-decks:lib/mcp/client.ts | mbarbine__platphorm-desa:lib/mcp/client.ts | mbarbine__platphorm-desa:lib/mcp/__tests__/client.test.ts | mbarbine__platphorm-desa:lib/integrations/platphormnews/client.ts | mbarbine__platphorm-desa:lib/integrations/platphormnews/__tests__/client.test.ts | mbarbine__platphorm-evals:lib/neon/client.ts | mbarbine__platphorm-fingerprint-service:lib/supabase/client.ts | mbarbine__platphorm-insights:lib/mcp/client.ts | mbarbine__platphorm-mcp:lib/mcp/client.ts | mbarbine__platphorm-monitor:lib/mcp/client.ts | mbarbine__platphorm-monitor:lib/mcp/__tests__/client.test.ts | mbarbine__platphorm-news-alt-theme:lib/supabase/client.ts | mbarbine__platphorm-onboard:lib/network/client.ts | mbarbine__platphorm-onboard:lib/db/client.ts | mbarbine__platphorm-openclaw:lib/openclaw/mcp/client.ts | mbarbine__platphorm-openclaw:lib/sdk/client.ts | mbarbine__platphorm-podcasts:lib/supabase/client.ts | mbarbine__platphorm-podcasts:lib/supabase/__tests__/client.test.ts | mbarbine__platphorm-politics:lib/supabase/client.ts | mbarbine__platphorm-quake:__tests__/lib/mcp/client.test.ts | mbarbine__platphorm-quake:lib/mcp/client.ts | mbarbine__platphorm-real-estate:lib/supabase/client.ts | mbarbine__platphorm-real-estate-NAD:lib/bridge-api/client.ts | mbarbine__platphorm-sandbox:lib/supabase/client.ts | mbarbine__platphorm-trace:tests/lib/mcp/client.test.ts | mbarbine__platphorm-trace:lib/mcp/client.ts | mbarbine__robot-clothing-marketplace:lib/supabase/client.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 31,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__civic-engagement-platform-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__mermaid-community-platform, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-politics, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-sandbox, mbarbine__platphorm-trace, mbarbine__robot-clothing-marketplace"
    },
    {
      "component_kind": "process-document",
      "file_count": 33,
      "normalized_name": "llms",
      "paths": "mbarbine__PH3AR-WEBBY:static/llms.txt | mbarbine__airrow-commuter-balloon:public/llms.txt | mbarbine__automotive-flamethrower-webby:public/llms.txt | mbarbine__car-service-records:public/llms.txt | mbarbine__fashion-sadiepass-WWW:public/llms.txt | mbarbine__fashion-sadiepass-WWW:public/.well-known/llms.txt | mbarbine__front-runners-webby:public/llms.txt | mbarbine__game-porting-service-webby:public/llms.txt | mbarbine__hot-chocolate-for-profit-webby:public/llms.txt | mbarbine__ph3ar-admin-dashboard:public/llms.txt | mbarbine__ph3ar-admin-dashboard:public/.well-known/llms.txt | mbarbine__ph3ar-blog:public/llms.txt | mbarbine__platphorm-content-showback-dashboard:public/llms.txt | mbarbine__platphorm-decks:public/llms.txt | mbarbine__platphorm-finance:public/llms.txt | mbarbine__platphorm-politics:llms.txt | mbarbine__platphorm-reader:public/llms.txt | mbarbine__platphorm-real-estate:public/.well-known/llms.txt | mbarbine__platphorm-real-estate-property-evaluation:public/llms.txt | mbarbine__platphorm-redteam-arma-landing:public/llms.txt | mbarbine__platphorm-signs:public/llms.txt | mbarbine__platphorm-wrestling-webby:public/llms.txt | mbarbine__robbie-ds-greens-webby:public/llms.txt | mbarbine__robot-clothing-marketplace:public/llms.txt | mbarbine__starphone-fork-webby:public/llms.txt | mbarbine__starphone-web-svelte:public/llms.txt | mbarbine__stripper-mug-webby:public/.well-known/llms.txt | mbarbine__threatrelay-webby:public/llms.txt | mbarbine__two-doller-web:public/llms.txt | mbarbine__vanagain-dot-com-prod:public/llms.txt | mbarbine__vanagain-dot-com-prod:shopify-theme/assets/llms.txt | ph3ar__platphorm-admin-dashboard:public/llms.txt | ph3ar__stripe-subscription-starter:public/llms.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 30,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__car-service-records, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-politics, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-wrestling-webby, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__starphone-fork-webby, mbarbine__starphone-web-svelte, mbarbine__stripper-mug-webby, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, ph3ar__platphorm-admin-dashboard, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "security-module",
      "file_count": 29,
      "normalized_name": "tailwind-config",
      "paths": "mbarbine__ai-chat-interface-webby:tailwind.config.ts | mbarbine__barbine-worldwide-2025-wwww:tailwind.config.ts | mbarbine__burrito-dealer-www:tailwind.config.ts | mbarbine__calendar-app-webby:tailwind.config.js | mbarbine__doflo-clone:tailwind.config.ts | mbarbine__drone-reel-webby:tailwind.config.ts | mbarbine__fortune-cookie-webby:tailwind.config.ts | mbarbine__fortune-cookie-webby-yj:tailwind.config.ts | mbarbine__gamer:tailwind.config.ts | mbarbine__instant-snap-postcard:tailwind.config.ts | mbarbine__mailthing-main:tailwind.config.js | mbarbine__microwave-stickers-:tailwind.config.ts | mbarbine__nova-hackers-webby:tailwind.config.ts | mbarbine__ph3ar-admin-dashboard:tailwind.config.ts | mbarbine__platphorm-emoji:tailwind.config.ts | mbarbine__platphorm-kanban:tailwind.config.ts | mbarbine__platphorm-mini-games-webby:tailwind.config.ts | mbarbine__platphorm-stannp-api-wrapper:tailwind.config.ts | mbarbine__platphorm-vercel-atlas:tailwind.config.ts | mbarbine__platphorm-wrestling-webby:tailwind.config.js | mbarbine__process-clone:tailwind.config.ts | mbarbine__robbie-ds-greens-webby:tailwind.config.ts | mbarbine__scratchcraft:tailwind.config.ts | mbarbine__spectrum-canine-www:tailwind.config.ts | mbarbine__starphone-fork-webby:tailwind.config.ts | mbarbine__tiktok-clone:tailwind.config.ts | mbarbine__vanagain-2025:tailwind.config.ts | ph3ar__platphorm-admin-dashboard:tailwind.config.ts | ph3ar__stripe-subscription-starter:tailwind.config.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 29,
      "repos": "mbarbine__ai-chat-interface-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__doflo-clone, mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__gamer, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-stickers-, mbarbine__nova-hackers-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-emoji, mbarbine__platphorm-kanban, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-wrestling-webby, mbarbine__process-clone, mbarbine__robbie-ds-greens-webby, mbarbine__scratchcraft, mbarbine__spectrum-canine-www, mbarbine__starphone-fork-webby, mbarbine__tiktok-clone, mbarbine__vanagain-2025, ph3ar__platphorm-admin-dashboard, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "process-document",
      "file_count": 32,
      "normalized_name": "robots",
      "paths": "mbarbine__PH3AR-WEBBY:static/robots.txt | mbarbine__Scripts:SORT/OpsClick_UI/public/robots.txt | mbarbine__automotive-flamethrower-webby:public/robots.txt | mbarbine__beer-museum-manager-www:public/robots.txt | mbarbine__fashion-sadiepass-WWW:public/robots.txt | mbarbine__front-runners-webby:public/robots.txt | mbarbine__global-anti-globalist-club-webby:public/robots.txt | mbarbine__hot-chocolate-for-profit-webby:public/robots.txt | mbarbine__instant-snap-postcard:public/robots.txt | mbarbine__legacy-platphorm-news:src/static/robots.txt | mbarbine__news-api:static/robots.txt | mbarbine__news-api:src/static/robots.txt | mbarbine__ph3ar-blog:public/robots.txt | mbarbine__platphorm-content-showback-dashboard:public/robots.txt | mbarbine__platphorm-decks:public/robots.txt | mbarbine__platphorm-finance:public/robots.txt | mbarbine__platphorm-politics:public/robots.txt | mbarbine__platphorm-polymaths:public/robots.txt | mbarbine__platphorm-reader:public/robots.txt | mbarbine__platphorm-real-estate-property-evaluation:public/robots.txt | mbarbine__platphorm-redteam-arma-landing:public/robots.txt | mbarbine__platphorm-signs:public/robots.txt | mbarbine__platphorm-trace:public/robots.txt | mbarbine__starphone-web-svelte:robots.txt | mbarbine__starphone-web-svelte:public/robots.txt | mbarbine__two-doller-web:public/robots.txt | mbarbine__vanagain-dot-com-prod:robots.txt | mbarbine__vanagain-dot-com-prod:public/robots.txt | mbarbine__vanagain-site:robots.txt | mbarbine__vanagain-site:admin/public/robots.txt | ph3ar__mailthing-webby:public/robots.txt | ph3ar__ph3ar_radio_backend:client/public/robots.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 28,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__Scripts, mbarbine__automotive-flamethrower-webby, mbarbine__beer-museum-manager-www, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-politics, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-trace, mbarbine__starphone-web-svelte, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site, ph3ar__mailthing-webby, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "discovery-artifact",
      "file_count": 28,
      "normalized_name": "manifest",
      "paths": "mbarbine__airrow-commuter-balloon:public/manifest.json | mbarbine__beer-museum-manager-www:public/manifest.json | mbarbine__car-service-records:public/manifest.json | mbarbine__gta-6-countdown-webby:public/manifest.json | mbarbine__microwave-stickers-:app/manifest.json | mbarbine__multiplayer-puzzle-game:public/manifest.json | mbarbine__onboard-platphorm-boilerplate-repo:public/manifest.json | mbarbine__platphorm-ascii:public/manifest.json | mbarbine__platphorm-decks:public/manifest.json | mbarbine__platphorm-evals:tests/manifest.test.ts | mbarbine__platphorm-jobs:public/manifest.json | mbarbine__platphorm-json:public/manifest.json | mbarbine__platphorm-jules:public/manifest.json | mbarbine__platphorm-mini-games-webby:public/manifest.json | mbarbine__platphorm-msi-editor:public/manifest.json | mbarbine__platphorm-opencontent:public/manifest.json | mbarbine__platphorm-opendocs:public/manifest.json | mbarbine__platphorm-podcasts:public/manifest.json | mbarbine__platphorm-quake:public/manifest.json | mbarbine__platphorm-reader:public/manifest.json | mbarbine__platphorm-sheets:public/manifest.json | mbarbine__platphorm-signs:public/manifest.json | mbarbine__platphorm-usl:public/manifest.json | mbarbine__platphorm-xml:public/manifest.json | mbarbine__stripper-mug-webby:app/manifest.json | mbarbine__two-doller-web:public/manifest.json | mbarbine__vanagain-site:%PUBLIC_URL%/manifest.json | mbarbine__vanagon-website:public/manifest.json",
      "primary_category": "discovery",
      "recommendation": "Promote to @platphorm/discovery for sitemaps, feeds, OpenAPI, llms, metadata, and robots.",
      "repo_count": 28,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__beer-museum-manager-www, mbarbine__car-service-records, mbarbine__gta-6-countdown-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-ascii, mbarbine__platphorm-decks, mbarbine__platphorm-evals, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-msi-editor, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-sheets, mbarbine__platphorm-signs, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__stripper-mug-webby, mbarbine__two-doller-web, mbarbine__vanagain-site, mbarbine__vanagon-website"
    },
    {
      "component_kind": "business-logic",
      "file_count": 30,
      "normalized_name": "trace",
      "paths": "mbarbine__calendar-app-webby:lib/trace.ts | mbarbine__desert-bus:lib/trace.ts | mbarbine__fortune-cookie-webby-yj:lib/platform/trace.ts | mbarbine__platphorm-404:lib/platform/trace.ts | mbarbine__platphorm-ascii:lib/platform/trace.ts | mbarbine__platphorm-bbs:lib/bbs/trace.ts | mbarbine__platphorm-browserops:lib/integrations/trace.ts | mbarbine__platphorm-cobol:lib/trace.ts | mbarbine__platphorm-codex:lib/codex/trace.ts | mbarbine__platphorm-desa:lib/platform/trace.ts | mbarbine__platphorm-fingerprint-service:lib/platform/trace.ts | mbarbine__platphorm-json:lib/trace.ts | mbarbine__platphorm-layout:lib/types/trace.ts | mbarbine__platphorm-layout:lib/platform/trace.ts | mbarbine__platphorm-mini-games-webby:lib/trace.ts | mbarbine__platphorm-monitor:lib/monitor/trace.ts | mbarbine__platphorm-msi-editor:lib/platform/trace.ts | mbarbine__platphorm-onboard:lib/onboard/trace.ts | mbarbine__platphorm-openclaw:tests/lib/trace.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/integrations/trace.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/trace.test.ts | mbarbine__platphorm-opencontent:lib/trace.ts | mbarbine__platphorm-opendocs:lib/trace.ts | mbarbine__platphorm-podcasts:lib/platform/trace.ts | mbarbine__platphorm-polymarket-rss-feed:lib/trace.ts | mbarbine__platphorm-polymaths:lib/platphorm/trace.ts | mbarbine__platphorm-sheets:lib/sheets/trace.ts | mbarbine__platphorm-space-news:lib/platform/trace.ts | mbarbine__platphorm-vercel-atlas:lib/trace.ts | mbarbine__platphorm-xml:lib/trace.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 27,
      "repos": "mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 27,
      "normalized_name": "manifest",
      "paths": "mbarbine__calendar-app-webby:app/manifest.ts | mbarbine__fortune-cookie-webby-yj:app/manifest.ts | mbarbine__game-porting-service-webby:app/manifest.ts | mbarbine__ph3ar-admin-dashboard:app/manifest.ts | mbarbine__platphorm-alleycats:app/manifest.ts | mbarbine__platphorm-auction-vice:app/manifest.ts | mbarbine__platphorm-base:app/manifest.ts | mbarbine__platphorm-bbs:app/manifest.ts | mbarbine__platphorm-cobol:app/manifest.ts | mbarbine__platphorm-desa:app/manifest.ts | mbarbine__platphorm-design:app/manifest.ts | mbarbine__platphorm-dictionary:app/manifest.ts | mbarbine__platphorm-emoji:app/manifest.ts | mbarbine__platphorm-fingerprint-service:app/manifest.ts | mbarbine__platphorm-insights:app/manifest.ts | mbarbine__platphorm-kanban:app/manifest.ts | mbarbine__platphorm-mcp:app/manifest.ts | mbarbine__platphorm-monitor:app/manifest.ts | mbarbine__platphorm-openclaw:app/manifest.ts | mbarbine__platphorm-redteam-arma-landing:app/manifest.ts | mbarbine__platphorm-register:app/manifest.ts | mbarbine__platphorm-spec-workbench:app/manifest.ts | mbarbine__platphorm-trace:app/manifest.ts | mbarbine__platphorm-wrestling-webby:app/manifest.ts | mbarbine__platphorm-zine-reader:app/manifest.ts | mbarbine__threatrelay-webby:app/manifest.ts | mbarbine__vanlife-website:app/manifest.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 27,
      "repos": "mbarbine__calendar-app-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-alleycats, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-register, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphorm-wrestling-webby, mbarbine__platphorm-zine-reader, mbarbine__threatrelay-webby, mbarbine__vanlife-website"
    },
    {
      "component_kind": "observability-module",
      "file_count": 27,
      "normalized_name": "playwright-config",
      "paths": "mbarbine__email-reading-service-webby:playwright.config.ts | mbarbine__mermaid-next-www:playwright.config.ts | mbarbine__my-first-nova-hbackers-preseo:playwright.config.ts | mbarbine__ph3ar-chatbot:playwright.config.ts | mbarbine__platphorm-404:playwright.config.ts | mbarbine__platphorm-ascii:playwright.config.ts | mbarbine__platphorm-bbs:playwright.config.ts | mbarbine__platphorm-cobol:playwright.config.ts | mbarbine__platphorm-design:playwright.config.ts | mbarbine__platphorm-fingerprint-service:playwright.config.ts | mbarbine__platphorm-jules:playwright.config.ts | mbarbine__platphorm-layout:playwright.config.ts | mbarbine__platphorm-mini-games-webby:playwright.config.ts | mbarbine__platphorm-onboard:playwright.config.ts | mbarbine__platphorm-opencontent:playwright.config.ts | mbarbine__platphorm-opendocs:playwright.config.ts | mbarbine__platphorm-podcasts:playwright.config.ts | mbarbine__platphorm-polymaths:playwright.config.ts | mbarbine__platphorm-quake:playwright.config.ts | mbarbine__platphorm-reader:playwright.config.ts | mbarbine__platphorm-space-news:playwright.config.ts | mbarbine__platphorm-spec-workbench:playwright.config.ts | mbarbine__platphorm-vercel-atlas:playwright.config.ts | mbarbine__platphorm-xml:playwright.config.ts | mbarbine__platphormnews-www-prod:playwright.config.ts | mbarbine__starphone-web-svelte:playwright.config.js | mbarbine__vanagain-dot-com-prod:playwright.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 27,
      "repos": "mbarbine__email-reading-service-webby, mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-design, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-jules, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 34,
      "normalized_name": "discovery",
      "paths": "mbarbine__desert-bus:lib/discovery.ts | mbarbine__fortune-cookie-webby-yj:lib/fortune/discovery.ts | mbarbine__platphorm-404:lib/platform/discovery.ts | mbarbine__platphorm-base:__tests__/lib/network/discovery.test.ts | mbarbine__platphorm-base:lib/network/discovery.ts | mbarbine__platphorm-bbs:lib/bbs/discovery.test.ts | mbarbine__platphorm-bbs:lib/bbs/discovery.ts | mbarbine__platphorm-cobol:lib/discovery.ts | mbarbine__platphorm-codex:lib/codex/discovery.ts | mbarbine__platphorm-desa:lib/platform/discovery.ts | mbarbine__platphorm-desa:lib/mcp/discovery.ts | mbarbine__platphorm-desa:lib/mcp/__tests__/discovery.test.ts | mbarbine__platphorm-design:lib/phorm/discovery.ts | mbarbine__platphorm-emoji:lib/discovery.ts | mbarbine__platphorm-insights:lib/scoring/discovery.ts | mbarbine__platphorm-jobs:lib/discovery.ts | mbarbine__platphorm-json:lib/discovery.ts | mbarbine__platphorm-layout:lib/layout/discovery.ts | mbarbine__platphorm-mini-games-webby:lib/discovery.ts | mbarbine__platphorm-monitor:lib/monitor/discovery.ts | mbarbine__platphorm-msi-editor:lib/platform/discovery.ts | mbarbine__platphorm-openclaw:tests/lib/network/discovery.test.ts | mbarbine__platphorm-openclaw:lib/network/discovery.ts | mbarbine__platphorm-podcasts:lib/platform/discovery.ts | mbarbine__platphorm-podcasts:lib/rss/discovery.ts | mbarbine__platphorm-sheets:lib/sheets/discovery.test.ts | mbarbine__platphorm-sheets:lib/sheets/discovery.ts | mbarbine__platphorm-space-news:lib/space/discovery.ts | mbarbine__platphorm-spec-workbench:lib/platphorm/discovery.ts | mbarbine__platphorm-svg-factory:lib/discovery.ts | mbarbine__platphorm-usl:lib/discovery.test.ts | mbarbine__platphorm-usl:lib/discovery.ts | mbarbine__platphorm-vercel-atlas:lib/discovery.ts | mbarbine__platphorm-xml:lib/discovery.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 26,
      "repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-svg-factory, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 33,
      "normalized_name": "not-found",
      "paths": "mbarbine__barbineworldwide-2026-metahack:app/not-found.tsx | mbarbine__beer-museum-manager-www:app/not-found.tsx | mbarbine__civic-engagement-platform-webby:app/municipality/[id]/not-found.tsx | mbarbine__drone-reel-webby:app/not-found.tsx | mbarbine__fortune-cookie-webby-yj:app/not-found.tsx | mbarbine__front-runners-webby:app/not-found.tsx | mbarbine__gta-6-countdown-webby:app/not-found.tsx | mbarbine__onboard-platphorm-boilerplate-repo:app/not-found.tsx | mbarbine__onboard-platphorm-boilerplate-repo:app/docs/[slug]/not-found.tsx | mbarbine__platphorm-404:app/not-found.tsx | mbarbine__platphorm-auction-vice:app/not-found.tsx | mbarbine__platphorm-base:app/not-found.tsx | mbarbine__platphorm-bbs:app/not-found.tsx | mbarbine__platphorm-dictionary:app/not-found.tsx | mbarbine__platphorm-dictionary:app/[locale]/not-found.tsx | mbarbine__platphorm-jobs:app/not-found.tsx | mbarbine__platphorm-layout:app/[locale]/not-found.tsx | mbarbine__platphorm-mini-games-webby:app/not-found.tsx | mbarbine__platphorm-monitor:app/not-found.tsx | mbarbine__platphorm-monitor:app/(dashboard)/not-found.tsx | mbarbine__platphorm-news-alt-theme:app/not-found.tsx | mbarbine__platphorm-opencontent:app/not-found.tsx | mbarbine__platphorm-opencontent:app/docs/[slug]/not-found.tsx | mbarbine__platphorm-opendocs:app/not-found.tsx | mbarbine__platphorm-opendocs:app/docs/[slug]/not-found.tsx | mbarbine__platphorm-podcasts:app/not-found.tsx | mbarbine__platphorm-polymaths:app/not-found.tsx | mbarbine__platphorm-polymaths:__tests__/components/not-found.test.tsx | mbarbine__platphorm-real-estate-NAD:app/not-found.tsx | mbarbine__platphorm-shipments:app/not-found.tsx | mbarbine__platphorm-shipments:__tests__/components/not-found.test.tsx | mbarbine__platphorm-trace:app/not-found.tsx | mbarbine__process-clone:app/not-found.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 26,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__civic-engagement-platform-webby, mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__gta-6-countdown-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-dictionary, mbarbine__platphorm-jobs, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymaths, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-shipments, mbarbine__platphorm-trace, mbarbine__process-clone"
    },
    {
      "component_kind": "process-document",
      "file_count": 29,
      "normalized_name": "security",
      "paths": "mbarbine__airrow-commuter-balloon:public/.well-known/security.txt | mbarbine__aws-lab:SECURITY.md | mbarbine__beer-museum-manager-www:docs/SECURITY.md | mbarbine__hot-chocolate-for-profit-webby:public/.well-known/security.txt | mbarbine__onboard-platphorm-boilerplate-repo:SECURITY.md | mbarbine__ph3ar-blog:public/.well-known/security.txt | mbarbine__platphorm-bbs:SECURITY.md | mbarbine__platphorm-content-showback-dashboard:public/security.txt | mbarbine__platphorm-content-showback-dashboard:public/.well-known/security.txt | mbarbine__platphorm-decks:public/.well-known/security.txt | mbarbine__platphorm-insights:SECURITY.md | mbarbine__platphorm-kanban:public/.well-known/security.txt | mbarbine__platphorm-mcp:docs/security.md | mbarbine__platphorm-monitor:public/.well-known/security.txt | mbarbine__platphorm-onboard:docs/SECURITY.md | mbarbine__platphorm-opencontent:SECURITY.md | mbarbine__platphorm-opencontent:app/docs/security.md | mbarbine__platphorm-opendocs:SECURITY.md | mbarbine__platphorm-opendocs:app/docs/security.md | mbarbine__platphorm-politics:public/.well-known/security.txt | mbarbine__platphorm-polymarket-rss-feed:SECURITY.md | mbarbine__platphorm-polymaths:SECURITY.md | mbarbine__platphorm-redteam-arma-landing:public/.well-known/security.txt | mbarbine__platphormnews-www-prod:SECURITY.md | mbarbine__threatrelay-webby:SECURITY.md | mbarbine__two-doller-web:public/.well-known/security.txt | mbarbine__vanagain-dot-com-prod:SECURITY.md | ph3ar__hope-auto-checkin:SECURITY.md | ph3ar__js_mongo_app_boilerplate:SECURITY.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 26,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__aws-lab, mbarbine__beer-museum-manager-www, mbarbine__hot-chocolate-for-profit-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-bbs, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-politics, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphormnews-www-prod, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, ph3ar__hope-auto-checkin, ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "business-logic",
      "file_count": 27,
      "normalized_name": "server",
      "paths": "mbarbine__autographed-bibles-webby:lib/supabase/server.ts | mbarbine__beer-museum-manager-www:lib/supabase/server.ts | mbarbine__burrito-dealer-www:lib/supabase/server.ts | mbarbine__civic-engagement-platform-webby:lib/supabase/server.ts | mbarbine__game-porting-service-webby:lib/supabase/server.ts | mbarbine__hot-chocolate-for-profit-webby:lib/supabase/server.ts | mbarbine__mermaid-community-platform:lib/supabase/server.ts | mbarbine__nextjs-ai-4:lib/blocks/server.ts | mbarbine__ph3ar-chatbot:lib/artifacts/server.ts | mbarbine__platphorm-agentui:lib/mcp/server.ts | mbarbine__platphorm-ai-photo-enrichment:lib/supabase/server.ts | mbarbine__platphorm-auction-vice:lib/supabase/server.ts | mbarbine__platphorm-bbs:lib/supabase/server.ts | mbarbine__platphorm-browserops:lib/mcp/server.ts | mbarbine__platphorm-codex:lib/supabase/server.ts | mbarbine__platphorm-evals:lib/mcp/server.ts | mbarbine__platphorm-fingerprint-service:lib/supabase/server.ts | mbarbine__platphorm-mcp:lib/mcp/server.ts | mbarbine__platphorm-news-alt-theme:lib/supabase/server.ts | mbarbine__platphorm-openclaw:lib/openclaw/mcp/server.ts | mbarbine__platphorm-podcasts:lib/supabase/server.ts | mbarbine__platphorm-politics:lib/supabase/server.ts | mbarbine__platphorm-quake:lib/mcp/server.ts | mbarbine__platphorm-real-estate:lib/supabase/server.ts | mbarbine__platphorm-sandbox:lib/supabase/server.ts | mbarbine__platphorm-sandbox:lib/sandbox/server.ts | mbarbine__robot-clothing-marketplace:lib/supabase/server.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 26,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__civic-engagement-platform-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__mermaid-community-platform, mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-codex, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-mcp, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-politics, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate, mbarbine__platphorm-sandbox, mbarbine__robot-clothing-marketplace"
    },
    {
      "component_kind": "business-logic",
      "file_count": 50,
      "normalized_name": "index",
      "paths": "mbarbine__platphorm-auction-vice:lib/integrations/index.ts | mbarbine__platphorm-base:__tests__/lib/network/index.test.ts | mbarbine__platphorm-base:lib/trace/index.ts | mbarbine__platphorm-base:lib/network/index.ts | mbarbine__platphorm-bbs:lib/i18n/index.ts | mbarbine__platphorm-codex:lib/scroll-engine/index.ts | mbarbine__platphorm-decks:lib/scroll-engine/index.ts | mbarbine__platphorm-desa:lib/integrations/platphormnews/index.ts | mbarbine__platphorm-design:lib/design/index.ts | mbarbine__platphorm-design:lib/api/index.ts | mbarbine__platphorm-design:lib/i18n/index.ts | mbarbine__platphorm-evals:lib/mcp/index.ts | mbarbine__platphorm-insights:lib/insights/index.ts | mbarbine__platphorm-insights:lib/quality/index.ts | mbarbine__platphorm-insights:lib/testing/index.ts | mbarbine__platphorm-insights:lib/scoring/index.ts | mbarbine__platphorm-layout:lib/trace/index.ts | mbarbine__platphorm-layout:lib/config/index.ts | mbarbine__platphorm-layout:lib/api/index.ts | mbarbine__platphorm-layout:lib/services/index.ts | mbarbine__platphorm-mcp:lib/mcp/resources/index.ts | mbarbine__platphorm-newdittyswag-www:lib/shopify/index.ts | mbarbine__platphorm-openclaw:tests/lib/cache/index.test.ts | mbarbine__platphorm-openclaw:lib/cache/index.ts | mbarbine__platphorm-openclaw:lib/openclaw/index.ts | mbarbine__platphorm-openclaw:lib/openclaw/schemas/index.ts | mbarbine__platphorm-openclaw:lib/search/index.ts | mbarbine__platphorm-openclaw:lib/sdk/index.ts | mbarbine__platphorm-openclaw:lib/registry/index.ts | mbarbine__platphorm-opencontent:lib/extractors/index.ts | mbarbine__platphorm-podcasts:lib/rss/index.ts | mbarbine__platphorm-podcasts:lib/openapi/index.ts | mbarbine__platphorm-quake:__tests__/lib/game/maps/index.test.ts | mbarbine__platphorm-quake:lib/game/maps/index.ts | mbarbine__platphorm-reader:lib/i18n/index.ts | mbarbine__platphorm-sandbox:lib/pnn/index.ts | mbarbine__platphorm-shipments:lib/types/index.ts | mbarbine__platphorm-signs:lib/i18n/index.ts | mbarbine__platphorm-spec-workbench:lib/generators/clients/index.ts | mbarbine__platphorm-spec-workbench:lib/generators/mcp/index.ts | mbarbine__platphorm-spec-workbench:lib/i18n/index.ts | mbarbine__platphorm-trace:tests/lib/sdk/index.test.ts | mbarbine__platphorm-trace:tests/lib/logging/index.test.ts | mbarbine__platphorm-trace:lib/sdk/index.ts | mbarbine__platphorm-trace:lib/i18n/index.ts | mbarbine__platphorm-trace:lib/logging/index.ts | mbarbine__platphormnews-www-prod:src/lib/i18n/index.ts | mbarbine__robot-clothing-marketplace:lib/i18n/index.ts | mbarbine__vanagain-dot-com-prod:lib/shipping/index.ts | mbarbine__vanagain-dot-com-prod:lib/api/index.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 25,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-sandbox, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphormnews-www-prod, mbarbine__robot-clothing-marketplace, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 25,
      "normalized_name": "health",
      "paths": "mbarbine__PH3AR-WEBBY:src/routes/api/health/health.test.ts | mbarbine__ai-chat-interface-webby:__tests__/api/health.test.ts | mbarbine__barbineworldwide-2026-metahack:__tests__/api/health.test.ts | mbarbine__calendar-app-webby:__tests__/api/v1/health.test.ts | mbarbine__car-service-records:tests/api/health.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/health.test.ts | mbarbine__platphorm-agentui:tests/api/health.test.ts | mbarbine__platphorm-auction-vice:tests/api/health.test.ts | mbarbine__platphorm-base:__tests__/app/api/health.test.ts | mbarbine__platphorm-content-showback-dashboard:__tests__/api/health.test.ts | mbarbine__platphorm-design:tests/api/health.test.ts | mbarbine__platphorm-insights:tests/api/health.test.ts | mbarbine__platphorm-jobs:__tests__/api/health.test.ts | mbarbine__platphorm-kanban:__tests__/api/health.test.ts | mbarbine__platphorm-openclaw:tests/api/health.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/health.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/health.test.ts | mbarbine__platphorm-polymaths:__tests__/api/health.test.ts | mbarbine__platphorm-quake:__tests__/app/api/health.test.ts | mbarbine__platphorm-radio-backend:__tests__/api/health.test.ts | mbarbine__platphorm-reader:tests/api/health.test.ts | mbarbine__platphorm-shipments:__tests__/api/health.test.ts | mbarbine__platphorm-space-news:__tests__/api/health.test.ts | mbarbine__platphorm-spec-workbench:__tests__/api/health.test.ts | mbarbine__platphorm-stannp-api-wrapper:__tests__/api/health.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 25,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__ai-chat-interface-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-design, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "component_kind": "process-document",
      "file_count": 49,
      "normalized_name": "license",
      "paths": "mbarbine__Scripts:h4x/dagah-server/License.txt | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/LICENSE.TXT | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/license.txt | mbarbine__Scripts:h4x/dagah-server/html/js/intro/license.md | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/license.txt | mbarbine__Scripts:h4x/dagah-server/html/components/flot/LICENSE.txt | mbarbine__Scripts:h4x/dagah-server/html/components/raphael/license.txt | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/License.txt | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/LICENSE.txt | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/license.txt | mbarbine__automotive-flamethrower-webby:LICENSE.txt | mbarbine__onboard-platphorm-boilerplate-repo:LICENSE.txt | mbarbine__ph3ar-admin-dashboard:LICENSE.md | mbarbine__platphorm-cobol:LICENSE.txt | mbarbine__platphorm-codex:LICENSE.txt | mbarbine__platphorm-decks:LICENSE.txt | mbarbine__platphorm-desa:LICENSE.txt | mbarbine__platphorm-emoji:LICENSE.txt | mbarbine__platphorm-jules:LICENSE.txt | mbarbine__platphorm-kanban:LICENSE.txt | mbarbine__platphorm-layout:LICENSE.txt | mbarbine__platphorm-mcp:LICENSE.txt | mbarbine__platphorm-mcp:docs/license.md | mbarbine__platphorm-opencontent:LICENSE.txt | mbarbine__platphorm-opendocs:LICENSE.txt | mbarbine__platphorm-polymarket-rss-feed:LICENSE.txt | mbarbine__platphorm-quake:LICENSE.txt | mbarbine__platphorm-reader:LICENSE.txt | mbarbine__platphorm-trace:LICENSE.txt | mbarbine__platphorm-usl:LICENSE.txt | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/social_icons/license.txt | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/simple-line-icons/License.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/license.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/gallery/colorbox/license.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/extensions/Responsive/License.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/extensions/FixedColumns/License.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/extensions/ColReorder/License.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/extensions/ColVis/License.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/LICENSE.md | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/wsc/LICENSE.md | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/scayt/LICENSE.md | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt | mbarbine__xsociety:License.txt | mbarbine__xsociety:html/components/datatables/license.txt | mbarbine__xsociety:html/components/flot/LICENSE.txt | mbarbine__xsociety:html/components/raphael/license.txt | mbarbine__xsociety:html/components/datatables-responsive/License.txt | ph3ar__newdittyswag-commerce:LICENSE.md | ph3ar__platphorm-admin-dashboard:LICENSE.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 24,
      "repos": "mbarbine__Scripts, mbarbine__automotive-flamethrower-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__vanagain-site, mbarbine__xsociety, ph3ar__newdittyswag-commerce, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "process-document",
      "file_count": 37,
      "normalized_name": "contributing",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/java/CONTRIBUTING.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apache2/CONTRIBUTING.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/nginx/CONTRIBUTING.md | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/CONTRIBUTING.md | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/Contributing.md | mbarbine__Scripts:h4x/dagah-server/html/components/flot/CONTRIBUTING.md | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/CONTRIBUTING.md | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CONTRIBUTING.md | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CONTRIBUTING.md | mbarbine__desert-bus:CONTRIBUTING.md | mbarbine__job-manager:CONTRIBUTING.md | mbarbine__lettuce:CONTRIBUTING.md | mbarbine__msicrafter:CONTRIBUTING.md | mbarbine__onboard-platphorm-boilerplate-repo:CONTRIBUTING.md | mbarbine__platphorm-alleycats:CONTRIBUTING.md | mbarbine__platphorm-bbs:CONTRIBUTING.md | mbarbine__platphorm-dictionary:CONTRIBUTING.md | mbarbine__platphorm-insights:CONTRIBUTING.md | mbarbine__platphorm-onboard:docs/CONTRIBUTING.md | mbarbine__platphorm-openclaw:CONTRIBUTING.md | mbarbine__platphorm-opencontent:CONTRIBUTING.md | mbarbine__platphorm-opendocs:CONTRIBUTING.md | mbarbine__platphorm-polymarket-rss-feed:CONTRIBUTING.md | mbarbine__platphorm-polymaths:CONTRIBUTING.md | mbarbine__platphorm-reader:CONTRIBUTING.md | mbarbine__platphorm-real-estate-property-evaluation:CONTRIBUTING.md | mbarbine__platphorm-spec-workbench:CONTRIBUTING.md | mbarbine__platphorm-trace:CONTRIBUTING.md | mbarbine__platphorm-zine-reader:CONTRIBUTING.md | mbarbine__platphormnews-www-prod:CONTRIBUTING.md | mbarbine__threatrelay-webby:CONTRIBUTING.md | mbarbine__xsociety:pipeline/cookbooks/java/CONTRIBUTING.md | mbarbine__xsociety:pipeline/cookbooks/apache2/CONTRIBUTING.md | mbarbine__xsociety:pipeline/cookbooks/nginx/CONTRIBUTING.md | mbarbine__xsociety:pipeline/cookbooks/jenkins/CONTRIBUTING.md | mbarbine__xsociety:html/components/datatables/Contributing.md | mbarbine__xsociety:html/components/flot/CONTRIBUTING.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 24,
      "repos": "mbarbine__Scripts, mbarbine__desert-bus, mbarbine__job-manager, mbarbine__lettuce, mbarbine__msicrafter, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-alleycats, mbarbine__platphorm-bbs, mbarbine__platphorm-dictionary, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphorm-zine-reader, mbarbine__platphormnews-www-prod, mbarbine__threatrelay-webby, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 36,
      "normalized_name": "i18n",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/lib/i18n.test.ts | mbarbine__barbineworldwide-2026-metahack:lib/i18n.ts | mbarbine__drone-reel-webby:lib/i18n.ts | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/i18n.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/i18n.ts | mbarbine__ph3ar-blog:src/lib/i18n.ts | mbarbine__platphorm-agentui:lib/standards/i18n.ts | mbarbine__platphorm-cobol:lib/i18n.ts | mbarbine__platphorm-cobol:lib/i18n.test.ts | mbarbine__platphorm-dictionary:tests/lib/i18n.test.ts | mbarbine__platphorm-dictionary:lib/i18n.ts | mbarbine__platphorm-emoji:lib/i18n.ts | mbarbine__platphorm-insights:lib/scoring/i18n.ts | mbarbine__platphorm-jules:lib/i18n.ts | mbarbine__platphorm-jules:lib/i18n.test.ts | mbarbine__platphorm-onboard:lib/i18n.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/i18n.test.ts | mbarbine__platphorm-opencontent:lib/i18n.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/i18n.test.ts | mbarbine__platphorm-opendocs:lib/i18n.ts | mbarbine__platphorm-podcasts:lib/i18n.ts | mbarbine__platphorm-podcasts:lib/__tests__/i18n.test.ts | mbarbine__platphorm-polymarket-rss-feed:lib/i18n.ts | mbarbine__platphorm-radio-backend:lib/i18n.ts | mbarbine__platphorm-shipments:__tests__/lib/i18n.test.ts | mbarbine__platphorm-shipments:lib/i18n.ts | mbarbine__platphorm-shipments:lib/__tests__/i18n.test.ts | mbarbine__platphorm-trace:tests/lib/i18n.test.ts | mbarbine__platphorm-webhook-simulator:lib/standards/i18n.ts | mbarbine__platphorm-webhook-simulator:lib/standards/i18n.test.ts | mbarbine__platphorm-xml:lib/i18n.ts | mbarbine__platphorm-xml:lib/i18n.test.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/i18n.test.ts | mbarbine__reflux-site-webby:lib/i18n.ts | mbarbine__threatrelay-webby:lib/i18n.ts | mbarbine__vanlife-website:lib/i18n.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 24,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__drone-reel-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-agentui, mbarbine__platphorm-cobol, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-jules, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-radio-backend, mbarbine__platphorm-shipments, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__reflux-site-webby, mbarbine__threatrelay-webby, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 25,
      "normalized_name": "hero-section",
      "paths": "mbarbine__FlaskFlow-www:components/hero-section.tsx | mbarbine__LogSlash-w6:components/hero-section.tsx | mbarbine__airrow-commuter-balloon:components/hero-section.tsx | mbarbine__crafted-virginia-website:components/hero-section.tsx | mbarbine__desert-bus:components/home/hero-section.tsx | mbarbine__jaydens-therapy-legal-www:components/hero-section.tsx | mbarbine__platphorm-cobol:components/home/hero-section.tsx | mbarbine__platphorm-codex:components/cinematic-scroll/hero-section.tsx | mbarbine__platphorm-content-showback-dashboard:components/hero-section.tsx | mbarbine__platphorm-decks:components/cinematic-scroll/hero-section.tsx | mbarbine__platphorm-emoji:components/landing/hero-section.tsx | mbarbine__platphorm-jobs:components/landing/hero-section.tsx | mbarbine__platphorm-mcp:components/mcp/hero-section.tsx | mbarbine__platphorm-polymaths:components/sections/hero-section.tsx | mbarbine__platphorm-portfolio-webby:components/hero-section.tsx | mbarbine__platphorm-quake:components/landing/hero-section.tsx | mbarbine__platphorm-quake:__tests__/components/landing/hero-section.test.tsx | mbarbine__platphorm-redteam-arma-landing:components/hero-section.tsx | mbarbine__platphorm-signs:components/sections/hero-section.tsx | mbarbine__platphorm-space-news:components/hero-section.tsx | mbarbine__platphorm-usl:components/hero-section.tsx | mbarbine__spectrum-canine-www:components/hero-section.tsx | mbarbine__two-doller-web:components/hero-section.tsx | mbarbine__vanagain-dot-com-prod:components/home/hero-section.tsx | mbarbine__vanlife-website:components/hero-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 24,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__LogSlash-w6, mbarbine__airrow-commuter-balloon, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__jaydens-therapy-legal-www, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-mcp, mbarbine__platphorm-polymaths, mbarbine__platphorm-portfolio-webby, mbarbine__platphorm-quake, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-space-news, mbarbine__platphorm-usl, mbarbine__spectrum-canine-www, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 31,
      "normalized_name": "error",
      "paths": "mbarbine__PH3AR-WEBBY:src/routes/+error.svelte | mbarbine__beer-museum-manager-www:app/error.tsx | mbarbine__desert-bus:app/error.tsx | mbarbine__drone-reel-webby:app/error.tsx | mbarbine__fortune-cookie-webby-yj:app/error.tsx | mbarbine__gta-6-countdown-webby:app/error.tsx | mbarbine__legacy-platphorm-news:src/+error.svelte | mbarbine__legacy-platphorm-news:src/routes/+error.svelte | mbarbine__news-api:src/+error.svelte | mbarbine__news-api:src/routes/+error.svelte | mbarbine__ph3ar-admin-dashboard:app/(dashboard)/error.tsx | mbarbine__platphorm-dictionary:app/[locale]/trending/error.tsx | mbarbine__platphorm-layout:app/[locale]/error.tsx | mbarbine__platphorm-mini-games-webby:app/error.tsx | mbarbine__platphorm-monitor:app/error.tsx | mbarbine__platphorm-monitor:app/(dashboard)/error.tsx | mbarbine__platphorm-news-alt-theme:app/error.tsx | mbarbine__platphorm-quake:app/error.tsx | mbarbine__platphorm-real-estate-NAD:app/error.tsx | mbarbine__platphorm-shipments:app/error.tsx | mbarbine__platphormnews-www-prod:src/routes/+error.svelte | mbarbine__process-clone:app/error.tsx | mbarbine__process-clone:auth/error.tsx | mbarbine__vanagain-dot-com-prod:app/[locale]/error.tsx | mbarbine__vanagain-dot-com-prod:app/[locale]/(auth)/error.tsx | mbarbine__vanagain-dot-com-prod:app/[locale]/(store)/error.tsx | mbarbine__vanagain-dot-com-prod:app/admin/error.tsx | ph3ar__mailthing-webby:pages/auth/error.tsx | ph3ar__newdittyswag-commerce:src/routes/+error.svelte | ph3ar__newdittyswag-commerce:src/routes/product/+error.svelte | ph3ar__platphorm-admin-dashboard:app/(dashboard)/error.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 23,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__beer-museum-manager-www, mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__gta-6-countdown-webby, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-dictionary, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-shipments, mbarbine__platphormnews-www-prod, mbarbine__process-clone, mbarbine__vanagain-dot-com-prod, ph3ar__mailthing-webby, ph3ar__newdittyswag-commerce, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 131,
      "normalized_name": "route",
      "paths": "mbarbine__beer-museum-manager-www:app/api/admin/beers/route.ts | mbarbine__beer-museum-manager-www:app/api/events/route.ts | mbarbine__drone-reel-webby:app/api/well-known/webfinger/route.ts | mbarbine__drone-reel-webby:app/api/well-known/security/route.ts | mbarbine__drone-reel-webby:app/api/well-known/network-manifest/route.ts | mbarbine__microwave-sticker-webby:app/api/create-checkout-session/route.test.ts | mbarbine__platphorm-base:__tests__/app/api/v1/jobs/apply/route.test.ts | mbarbine__platphorm-base:__tests__/app/api/network/graph/route.test.ts | mbarbine__platphorm-content-showback-dashboard:app/api/health/route.ts | mbarbine__platphorm-evals:app/api/v1/publish/route.ts | mbarbine__platphorm-jules:app/api/v1/calendar/events/__tests__/route.test.ts | mbarbine__platphorm-jules:app/api/v1/mcp/network/__tests__/route.test.ts | mbarbine__platphorm-jules:app/api/v1/mcp/sites/__tests__/route.test.ts | mbarbine__platphorm-jules:app/api/v1/kanban/tasks/route.test.ts | mbarbine__platphorm-jules:app/api/v1/kanban/board/__tests__/route.test.ts | mbarbine__platphorm-kanban:app/api/v1/projects/sync/route.ts | mbarbine__platphorm-kanban:app/api/v1/network/graph/route.ts | mbarbine__platphorm-kanban:app/api/v1/network/graph/sync/route.ts | mbarbine__platphorm-kanban:app/api/v1/network/sites/route.ts | mbarbine__platphorm-kanban:app/api/v1/network/route-compliance/route.ts | mbarbine__platphorm-kanban:app/api/v1/network/trusted-domains/route.ts | mbarbine__platphorm-kanban:app/api/v1/tests/webhooklab/route.ts | mbarbine__platphorm-kanban:app/api/v1/tests/browserops/route.ts | mbarbine__platphorm-kanban:app/api/v1/tests/sandbox/route.ts | mbarbine__platphorm-kanban:app/api/v1/feeds/route.ts | mbarbine__platphorm-kanban:app/api/v1/feeds/sync/route.ts | mbarbine__platphorm-kanban:app/api/v1/sitemaps/sync/route.ts | mbarbine__platphorm-kanban:app/api/v1/boards/route.ts | mbarbine__platphorm-kanban:app/api/v1/boards/import/route.ts | mbarbine__platphorm-kanban:app/api/v1/columns/[id]/reorder/route.ts | mbarbine__platphorm-kanban:app/api/v1/sync/route.ts | mbarbine__platphorm-kanban:app/api/v1/sync/status/route.ts | mbarbine__platphorm-kanban:app/api/v1/reports/sheets/route.ts | mbarbine__platphorm-kanban:app/api/v1/reports/docs/route.ts | mbarbine__platphorm-kanban:app/api/v1/reports/decks/route.ts | mbarbine__platphorm-layout:app/llms.txt/route.ts | mbarbine__platphorm-layout:app/rss.xml/route.ts | mbarbine__platphorm-layout:app/feed.xml/route.ts | mbarbine__platphorm-layout:app/.well-known/trust.json/route.ts | mbarbine__platphorm-layout:app/.well-known/mcp.json/route.ts | mbarbine__platphorm-layout:app/llms-full.txt/route.ts | mbarbine__platphorm-layout:app/sitemap-index.xml/route.ts | mbarbine__platphorm-layout:app/api/v1/responsive/check/route.ts | mbarbine__platphorm-layout:app/api/v1/viewport/check/route.ts | mbarbine__platphorm-layout:app/api/v1/integrations/browserops/route.ts | mbarbine__platphorm-layout:app/api/v1/integrations/status/route.ts | mbarbine__platphorm-layout:app/api/v1/integrations/docs/route.ts | mbarbine__platphorm-layout:app/api/v1/integrations/decks/route.ts | mbarbine__platphorm-layout:app/api/v1/integrations/phorm/route.ts | mbarbine__platphorm-layout:app/api/v1/layouts/route.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 22,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__drone-reel-webby, mbarbine__microwave-sticker-webby, mbarbine__platphorm-base, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-evals, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 65,
      "normalized_name": "loading",
      "paths": "mbarbine__barbineworldwide-2026-metahack:app/(marketing)/loading.tsx | mbarbine__beer-museum-manager-www:app/loading.tsx | mbarbine__beer-museum-manager-www:app/collection/loading.tsx | mbarbine__beer-museum-manager-www:app/auth/loading.tsx | mbarbine__beer-museum-manager-www:app/auth/register/success/loading.tsx | mbarbine__beer-museum-manager-www:app/auth/onboarding/member/loading.tsx | mbarbine__beer-museum-manager-www:app/museum-admin/loading.tsx | mbarbine__beer-museum-manager-www:app/museum-admin/exhibits/loading.tsx | mbarbine__beer-museum-manager-www:app/museum-admin/events/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/visitors/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/collection/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/education/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/exhibits/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/users/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/events/loading.tsx | mbarbine__beer-museum-manager-www:app/admin/beers/loading.tsx | mbarbine__beer-museum-manager-www:app/dashboard/loading.tsx | mbarbine__beer-museum-manager-www:app/learning-center/loading.tsx | mbarbine__beer-museum-manager-www:app/exhibits/loading.tsx | mbarbine__beer-museum-manager-www:app/events/loading.tsx | mbarbine__civic-engagement-platform-webby:app/loading.tsx | mbarbine__dinoblocks-www:app/loading.tsx | mbarbine__fashion-sadiepass-WWW:app/loading.tsx | mbarbine__fashion-sadiepass-WWW:app/search/loading.tsx | mbarbine__fashion-sadiepass-WWW:app/palettes/loading.tsx | mbarbine__game-porting-service-webby:app/admin/projects/loading.tsx | mbarbine__gta-6-countdown-webby:app/loading.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:app/resources/loading.tsx | mbarbine__platphorm-content-showback-dashboard:app/loading.tsx | mbarbine__platphorm-content-showback-dashboard:app/analytics/loading.tsx | mbarbine__platphorm-dictionary:app/[locale]/trending/loading.tsx | mbarbine__platphorm-jobs:app/loading.tsx | mbarbine__platphorm-monitor:app/(dashboard)/loading.tsx | mbarbine__platphorm-polymaths:app/loading.tsx | mbarbine__platphorm-real-estate:app/(dashboard)/loading.tsx | mbarbine__platphorm-real-estate:app/(dashboard)/properties/loading.tsx | mbarbine__platphorm-real-estate:app/(dashboard)/buyers/loading.tsx | mbarbine__platphorm-real-estate-NAD:app/properties/loading.tsx | mbarbine__platphorm-real-estate-NAD:app/sellers/loading.tsx | mbarbine__platphorm-stannp-api-wrapper:app/history/loading.tsx | mbarbine__platphorm-usl:app/loading.tsx | mbarbine__platphorm-vercel-atlas:app/integrate/loading.tsx | mbarbine__platphorm-vercel-atlas:app/integration/loading.tsx | mbarbine__platphorm-vercel-atlas:app/soc/loading.tsx | mbarbine__platphorm-vercel-atlas:app/soc/firewall/loading.tsx | mbarbine__platphorm-vercel-atlas:app/soc/firewall/new/loading.tsx | mbarbine__platphorm-vercel-atlas:app/soc/alerts/loading.tsx | mbarbine__platphorm-vercel-atlas:app/soc/alerts/[id]/loading.tsx | mbarbine__platphorm-vercel-atlas:app/projects/loading.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 22,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__civic-engagement-platform-webby, mbarbine__dinoblocks-www, mbarbine__fashion-sadiepass-WWW, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-dictionary, mbarbine__platphorm-jobs, mbarbine__platphorm-monitor, mbarbine__platphorm-polymaths, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-wrestling-webby, mbarbine__robot-clothing-marketplace, mbarbine__tiktok-clone, mbarbine__vanagain-2025"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 25,
      "normalized_name": "json-ld",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/common/json-ld.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/common/json-ld.test.tsx | mbarbine__desert-bus:components/json-ld.tsx | mbarbine__hot-chocolate-for-profit-webby:components/json-ld.tsx | mbarbine__platphorm-codex:components/seo/json-ld.tsx | mbarbine__platphorm-decks:components/seo/json-ld.tsx | mbarbine__platphorm-desa:components/seo/json-ld.tsx | mbarbine__platphorm-desa:components/seo/__tests__/json-ld.test.tsx | mbarbine__platphorm-fingerprint-service:components/layout/json-ld.tsx | mbarbine__platphorm-insights:components/seo/json-ld.tsx | mbarbine__platphorm-jobs:components/json-ld.tsx | mbarbine__platphorm-onboard:components/seo/json-ld.tsx | mbarbine__platphorm-openclaw:components/seo/json-ld.tsx | mbarbine__platphorm-polymaths:components/json-ld.tsx | mbarbine__platphorm-reader:tests/components/json-ld.test.tsx | mbarbine__platphorm-reader:components/json-ld.tsx | mbarbine__platphorm-shipments:components/json-ld.tsx | mbarbine__platphorm-signs:components/json-ld.tsx | mbarbine__platphorm-space-news:components/seo/json-ld.tsx | mbarbine__platphorm-trace:components/seo/json-ld.tsx | mbarbine__platphorm-zine-reader:components/json-ld.tsx | mbarbine__platphorm-zine-reader:__tests__/components/json-ld.test.tsx | mbarbine__reflux-site-webby:components/json-ld.tsx | mbarbine__threatrelay-webby:components/json-ld.tsx | mbarbine__vanlife-website:components/json-ld.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 21,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__desert-bus, mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__platphorm-zine-reader, mbarbine__reflux-site-webby, mbarbine__threatrelay-webby, mbarbine__vanlife-website"
    },
    {
      "component_kind": "process-document",
      "file_count": 21,
      "normalized_name": "humans",
      "paths": "mbarbine__automotive-flamethrower-webby:public/humans.txt | mbarbine__email-reading-service-webby:public/humans.txt | mbarbine__fashion-sadiepass-WWW:public/humans.txt | mbarbine__front-runners-webby:public/humans.txt | mbarbine__hot-chocolate-for-profit-webby:public/humans.txt | mbarbine__onboard-platphorm-boilerplate-repo:public/humans.txt | mbarbine__ph3ar-blog:public/.well-known/humans.txt | mbarbine__platphorm-codex:public/humans.txt | mbarbine__platphorm-content-showback-dashboard:public/humans.txt | mbarbine__platphorm-decks:public/humans.txt | mbarbine__platphorm-desa:public/humans.txt | mbarbine__platphorm-insights:public/humans.txt | mbarbine__platphorm-msi-editor:public/humans.txt | mbarbine__platphorm-onboard:public/humans.txt | mbarbine__platphorm-opencontent:public/humans.txt | mbarbine__platphorm-opendocs:public/humans.txt | mbarbine__platphorm-real-estate-property-evaluation:public/humans.txt | mbarbine__platphorm-redteam-arma-landing:public/humans.txt | mbarbine__platphorm-vercel-atlas:public/humans.txt | mbarbine__platphormnews-www-prod:static/humans.txt | mbarbine__robbie-ds-greens-webby:public/humans.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 21,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-insights, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-vercel-atlas, mbarbine__platphormnews-www-prod, mbarbine__robbie-ds-greens-webby"
    },
    {
      "component_kind": "backend-module",
      "file_count": 24,
      "normalized_name": "db",
      "paths": "mbarbine__calendar-app-webby:lib/db.ts | mbarbine__car-service-records:lib/db.ts | mbarbine__multiplayer-puzzle-game:lib/db.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/db.ts | mbarbine__ph3ar-admin-dashboard:lib/db.ts | mbarbine__platphorm-desa:lib/db.ts | mbarbine__platphorm-desa:lib/__tests__/db.test.ts | mbarbine__platphorm-dictionary:lib/db.ts | mbarbine__platphorm-insights:lib/db.ts | mbarbine__platphorm-onboard:lib/db.ts | mbarbine__platphorm-openclaw:lib/db.ts | mbarbine__platphorm-opencontent:lib/db.ts | mbarbine__platphorm-opendocs:lib/db.ts | mbarbine__platphorm-polymarket-rss-feed:tests/unit/db.test.ts | mbarbine__platphorm-polymarket-rss-feed:lib/db.ts | mbarbine__platphorm-register:lib/db.ts | mbarbine__platphorm-shipments:__tests__/lib/db.test.ts | mbarbine__platphorm-shipments:lib/db.ts | mbarbine__platphorm-stannp-api-wrapper:lib/db.ts | mbarbine__platphorm-trace:tests/lib/db.test.ts | mbarbine__platphorm-trace:lib/db.ts | mbarbine__platphorm-vercel-atlas:lib/db.ts | mbarbine__xsociety:libs/db.py | ph3ar__platphorm-admin-dashboard:lib/db.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 20,
      "repos": "mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__multiplayer-puzzle-game, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-register, mbarbine__platphorm-shipments, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-trace, mbarbine__platphorm-vercel-atlas, mbarbine__xsociety, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "process-document",
      "file_count": 21,
      "normalized_name": "llms-full",
      "paths": "mbarbine__PH3AR-WEBBY:static/llms-full.txt | mbarbine__airrow-commuter-balloon:public/llms-full.txt | mbarbine__automotive-flamethrower-webby:public/llms-full.txt | mbarbine__car-service-records:public/llms-full.txt | mbarbine__fashion-sadiepass-WWW:public/llms-full.txt | mbarbine__hot-chocolate-for-profit-webby:public/llms-full.txt | mbarbine__ph3ar-admin-dashboard:public/llms-full.txt | mbarbine__ph3ar-blog:public/llms-full.txt | mbarbine__platphorm-content-showback-dashboard:public/llms-full.txt | mbarbine__platphorm-decks:public/llms-full.txt | mbarbine__platphorm-finance:public/llms-full.txt | mbarbine__platphorm-reader:public/llms-full.txt | mbarbine__platphorm-real-estate-property-evaluation:public/llms-full.txt | mbarbine__platphorm-redteam-arma-landing:public/llms-full.txt | mbarbine__platphorm-signs:public/llms-full.txt | mbarbine__platphorm-trace:public/llms-full.txt | mbarbine__starphone-web-svelte:public/llms-full.txt | mbarbine__threatrelay-webby:public/llms-full.txt | mbarbine__two-doller-web:public/llms-full.txt | mbarbine__vanagain-dot-com-prod:public/llms-full.txt | mbarbine__vanagain-dot-com-prod:shopify-theme/assets/llms-full.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 20,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__car-service-records, mbarbine__fashion-sadiepass-WWW, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-trace, mbarbine__starphone-web-svelte, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 28,
      "normalized_name": "logger",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/logger.test.ts | mbarbine__calendar-app-webby:lib/logger.ts | mbarbine__desert-bus:__tests__/lib/logger.test.ts | mbarbine__desert-bus:lib/logger.ts | mbarbine__drone-reel-webby:lib/logger.ts | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/logger.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/logger.ts | mbarbine__platphorm-insights:tests/lib/logger.test.ts | mbarbine__platphorm-insights:lib/logger.ts | mbarbine__platphorm-kanban:__tests__/lib/logger.test.ts | mbarbine__platphorm-kanban:lib/logger.ts | mbarbine__platphorm-keys:__tests__/lib/logger.test.ts | mbarbine__platphorm-keys:lib/keys/logger.ts | mbarbine__platphorm-monitor:lib/logger.ts | mbarbine__platphorm-monitor:lib/__tests__/logger.test.ts | mbarbine__platphorm-onboard:lib/logger.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/logger.test.ts | mbarbine__platphorm-opencontent:lib/logger.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/logger.test.ts | mbarbine__platphorm-opendocs:lib/logger.ts | mbarbine__platphorm-podcasts:lib/logger.ts | mbarbine__platphorm-polymarket-rss-feed:lib/logger.ts | mbarbine__platphorm-reader:lib/logger.ts | mbarbine__platphorm-shipments:lib/logger.ts | mbarbine__platphorm-spec-workbench:lib/logger.ts | mbarbine__platphorm-vercel-atlas:lib/logger.ts | mbarbine__vanagain-dot-com-prod:lib/logger.ts | ph3ar__mailthing-webby:lib/logger.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 19,
      "repos": "mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-vercel-atlas, mbarbine__vanagain-dot-com-prod, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 27,
      "normalized_name": "fingerprint",
      "paths": "mbarbine__drone-reel-webby:lib/fingerprint.ts | mbarbine__ja4-sidecar:ja4-core/fingerprint.js | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/fingerprint.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/fingerprint.ts | mbarbine__platphorm-agentui:lib/cosmic/fingerprint.ts | mbarbine__platphorm-auction-vice:lib/integrations/fingerprint.ts | mbarbine__platphorm-bbs:lib/auth/fingerprint.test.ts | mbarbine__platphorm-bbs:lib/auth/fingerprint.ts | mbarbine__platphorm-browserops:lib/cosmic/fingerprint.ts | mbarbine__platphorm-evals:lib/cosmic/fingerprint.ts | mbarbine__platphorm-insights:tests/lib/fingerprint.test.ts | mbarbine__platphorm-insights:lib/fingerprint.ts | mbarbine__platphorm-layout:lib/trace/fingerprint.ts | mbarbine__platphorm-onboard:lib/fingerprint.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/fingerprint.test.ts | mbarbine__platphorm-opencontent:lib/fingerprint.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/fingerprint.test.ts | mbarbine__platphorm-opendocs:lib/fingerprint.ts | mbarbine__platphorm-podcasts:lib/fingerprint.ts | mbarbine__platphorm-real-estate-NAD:lib/fingerprint.ts | mbarbine__platphorm-shipments:__tests__/lib/fingerprint.test.ts | mbarbine__platphorm-shipments:lib/fingerprint.ts | mbarbine__platphorm-spec-workbench:lib/platphorm/fingerprint.ts | mbarbine__platphorm-trace:tests/lib/security/fingerprint.test.ts | mbarbine__platphorm-trace:lib/security/fingerprint.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/fingerprint.test.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/fingerprint.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 19,
      "repos": "mbarbine__drone-reel-webby, mbarbine__ja4-sidecar, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "process-document",
      "file_count": 19,
      "normalized_name": "license-faq",
      "paths": "mbarbine__automotive-flamethrower-webby:License FAQ.md | mbarbine__onboard-platphorm-boilerplate-repo:License FAQ.md | mbarbine__platphorm-cobol:License FAQ.md | mbarbine__platphorm-codex:License FAQ.md | mbarbine__platphorm-decks:License FAQ.md | mbarbine__platphorm-desa:License FAQ.md | mbarbine__platphorm-emoji:License FAQ.md | mbarbine__platphorm-jules:License FAQ.md | mbarbine__platphorm-kanban:License FAQ.md | mbarbine__platphorm-layout:License FAQ.md | mbarbine__platphorm-mcp:License FAQ.md | mbarbine__platphorm-onboard:docs/License FAQ.md | mbarbine__platphorm-opencontent:License FAQ.md | mbarbine__platphorm-opendocs:License FAQ.md | mbarbine__platphorm-polymarket-rss-feed:License FAQ.md | mbarbine__platphorm-quake:License FAQ.md | mbarbine__platphorm-reader:License FAQ.md | mbarbine__platphorm-trace:License FAQ.md | mbarbine__platphorm-usl:License FAQ.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 19,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-usl"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 19,
      "normalized_name": "realm-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/realm.schema.json | mbarbine__platphorm-404:public/schemas/realm.schema.json | mbarbine__platphorm-ascii:public/schemas/realm.schema.json | mbarbine__platphorm-dictionary:public/schemas/realm.schema.json | mbarbine__platphorm-evals:platphorm_schemas/realm.schema.json | mbarbine__platphorm-finance:public/schemas/realm.schema.json | mbarbine__platphorm-json:public/schemas/json/realm.schema.json | mbarbine__platphorm-openclaw:public/schemas/realm.schema.json | mbarbine__platphorm-opencontent:public/schemas/realm.schema.json | mbarbine__platphorm-opendocs:public/schemas/realm.schema.json | mbarbine__platphorm-podcasts:public/schemas/realm.schema.json | mbarbine__platphorm-radio-backend:public/schemas/realm.schema.json | mbarbine__platphorm-register:schemas/realm.schema.json | mbarbine__platphorm-sheets:schemas/realm.schema.json | mbarbine__platphorm-svg-factory:public/schemas/realm.schema.json | mbarbine__platphorm-trace:public/schemas/realm.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/realm.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/realm.schema.json | mbarbine__starphone-web-svelte:public/schemas/platphorm/realm.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 19,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 19,
      "normalized_name": "item-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/item.schema.json | mbarbine__platphorm-404:public/schemas/item.schema.json | mbarbine__platphorm-ascii:public/schemas/item.schema.json | mbarbine__platphorm-dictionary:public/schemas/item.schema.json | mbarbine__platphorm-evals:platphorm_schemas/item.schema.json | mbarbine__platphorm-finance:public/schemas/item.schema.json | mbarbine__platphorm-json:public/schemas/json/item.schema.json | mbarbine__platphorm-openclaw:public/schemas/item.schema.json | mbarbine__platphorm-opencontent:public/schemas/item.schema.json | mbarbine__platphorm-opendocs:public/schemas/item.schema.json | mbarbine__platphorm-podcasts:public/schemas/item.schema.json | mbarbine__platphorm-radio-backend:public/schemas/item.schema.json | mbarbine__platphorm-register:schemas/item.schema.json | mbarbine__platphorm-sheets:schemas/item.schema.json | mbarbine__platphorm-svg-factory:public/schemas/item.schema.json | mbarbine__platphorm-trace:public/schemas/item.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/item.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/item.schema.json | mbarbine__starphone-web-svelte:public/schemas/platphorm/item.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 19,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 19,
      "normalized_name": "core-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/core.schema.json | mbarbine__platphorm-404:public/schemas/core.schema.json | mbarbine__platphorm-ascii:public/schemas/core.schema.json | mbarbine__platphorm-dictionary:public/schemas/core.schema.json | mbarbine__platphorm-evals:platphorm_schemas/core.schema.json | mbarbine__platphorm-finance:public/schemas/core.schema.json | mbarbine__platphorm-json:public/schemas/json/core.schema.json | mbarbine__platphorm-openclaw:public/schemas/core.schema.json | mbarbine__platphorm-opencontent:public/schemas/core.schema.json | mbarbine__platphorm-opendocs:public/schemas/core.schema.json | mbarbine__platphorm-podcasts:public/schemas/core.schema.json | mbarbine__platphorm-radio-backend:public/schemas/core.schema.json | mbarbine__platphorm-register:schemas/core.schema.json | mbarbine__platphorm-sheets:schemas/core.schema.json | mbarbine__platphorm-svg-factory:public/schemas/core.schema.json | mbarbine__platphorm-trace:public/schemas/core.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/core.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/core.schema.json | mbarbine__starphone-web-svelte:public/schemas/platphorm/core.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 19,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "business-logic",
      "file_count": 23,
      "normalized_name": "config",
      "paths": "mbarbine__Scripts:h4x/dagah-server/lib/config.py | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/app/config.js | mbarbine__autographed-bibles-webby:lib/i18n/config.ts | mbarbine__hot-chocolate-for-profit-webby:lib/i18n/config.ts | mbarbine__nextjs-ai-4:lib/editor/config.ts | mbarbine__nextjs-ai-chatbot:lib/editor/config.ts | mbarbine__ph3ar-chatbot:lib/editor/config.ts | mbarbine__platphorm-auction-vice:lib/config.ts | mbarbine__platphorm-auction-vice:lib/i18n/config.ts | mbarbine__platphorm-bbs:lib/i18n/config.ts | mbarbine__platphorm-design:lib/i18n/config.ts | mbarbine__platphorm-emoji:lib/config.ts | mbarbine__platphorm-insights:lib/i18n/config.ts | mbarbine__platphorm-onboard:lib/i18n/config.ts | mbarbine__platphorm-openclaw:tests/lib/openclaw/config.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/config.ts | mbarbine__platphorm-polymaths:__tests__/lib/config.test.ts | mbarbine__platphorm-polymaths:lib/platphorm/config.ts | mbarbine__platphorm-shipments:lib/config.ts | mbarbine__platphorm-shipments:lib/__tests__/config.test.ts | mbarbine__platphorm-signs:lib/i18n/config.ts | mbarbine__platphorm-svg-factory:lib/config.ts | mbarbine__platphorm-vercel-atlas:lib/config.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 18,
      "repos": "mbarbine__Scripts, mbarbine__autographed-bibles-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-polymaths, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__platphorm-svg-factory, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "security-module",
      "file_count": 22,
      "normalized_name": "package",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/package.json | mbarbine__Starphone-CMS:package.json | mbarbine__evernote-js:package.json | mbarbine__legacy-platphorm-news:package.json | mbarbine__mailthing:package.json | mbarbine__mailthing-api:package.json | mbarbine__mailthing-client:package.json | mbarbine__news-api:package.json | mbarbine__ph3ar-web:package.json | mbarbine__stannp-nextjs-bp:package.json | mbarbine__xsociety:html/components/bootstrap/package.json | mbarbine__xsociety:html/components/morrisjs/package.json | mbarbine__xsociety:html/components/metisMenu/package.json | mbarbine__xsociety:html/components/holderjs/package.json | ph3ar__ph3ar-docs-enhanced-labs:package.json | ph3ar__ph3ar_radio_backend:client/package.json | ph3ar__www_js_terminal:package.json | ph3ar__www_js_terminal:www_js_terminal/package.json | process-co__npm-element-dev-support:package.json | process-co__npm-element-types:package.json | process-co__npm-utilities:package.json | process-co__ui:package.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 18,
      "repos": "mbarbine__Scripts, mbarbine__Starphone-CMS, mbarbine__evernote-js, mbarbine__legacy-platphorm-news, mbarbine__mailthing, mbarbine__mailthing-api, mbarbine__mailthing-client, mbarbine__news-api, mbarbine__ph3ar-web, mbarbine__stannp-nextjs-bp, mbarbine__xsociety, ph3ar__ph3ar-docs-enhanced-labs, ph3ar__ph3ar_radio_backend, ph3ar__www_js_terminal, process-co__npm-element-dev-support, process-co__npm-element-types, process-co__npm-utilities, process-co__ui"
    },
    {
      "component_kind": "business-logic",
      "file_count": 21,
      "normalized_name": "openapi",
      "paths": "mbarbine__desert-bus:lib/openapi.ts | mbarbine__drone-reel-webby:lib/openapi.ts | mbarbine__fashion-sadiepass-WWW:platphorm_schemas/openapi.yaml | mbarbine__platphorm-ascii:public/schemas/openapi.json | mbarbine__platphorm-ascii:lib/ascii/openapi.ts | mbarbine__platphorm-browserops:lib/standards/openapi.ts | mbarbine__platphorm-desa:lib/platform/openapi.ts | mbarbine__platphorm-dictionary:public/schemas/openapi.json | mbarbine__platphorm-evals:platphorm_schemas/openapi.json | mbarbine__platphorm-evals:lib/discovery/openapi.ts | mbarbine__platphorm-fingerprint-service:lib/discovery/openapi.ts | mbarbine__platphorm-json:lib/openapi.ts | mbarbine__platphorm-layout:lib/layout/openapi.ts | mbarbine__platphorm-mini-games-webby:lib/openapi.ts | mbarbine__platphorm-polymaths:lib/polymaths/openapi.ts | mbarbine__platphorm-sheets:schemas/openapi.json | mbarbine__platphorm-shipments:lib/openapi.ts | mbarbine__platphorm-vercel-atlas:__tests__/lib/openapi.test.ts | mbarbine__platphorm-vercel-atlas:lib/openapi.ts | mbarbine__platphorm-webhook-simulator:public/schemas/openapi.json | mbarbine__platphorm-xml:lib/openapi.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 18,
      "repos": "mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-ascii, mbarbine__platphorm-browserops, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-polymaths, mbarbine__platphorm-sheets, mbarbine__platphorm-shipments, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "process-document",
      "file_count": 18,
      "normalized_name": "license-permissive",
      "paths": "mbarbine__automotive-flamethrower-webby:LICENSE-PERMISSIVE.txt | mbarbine__onboard-platphorm-boilerplate-repo:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-cobol:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-codex:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-decks:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-desa:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-emoji:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-jules:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-kanban:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-layout:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-mcp:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-opencontent:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-opendocs:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-polymarket-rss-feed:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-quake:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-reader:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-trace:LICENSE-PERMISSIVE.txt | mbarbine__platphorm-usl:LICENSE-PERMISSIVE.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 18,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-usl"
    },
    {
      "component_kind": "process-document",
      "file_count": 18,
      "normalized_name": "architecture",
      "paths": "mbarbine__calendar-app-webby:docs/architecture.md | mbarbine__ja4mlab:docs/ARCHITECTURE.md | mbarbine__onboard-platphorm-boilerplate-repo:ARCHITECTURE.md | mbarbine__platphorm-agentui:docs/ARCHITECTURE.md | mbarbine__platphorm-bbs:docs/ARCHITECTURE.md | mbarbine__platphorm-browserops:docs/ARCHITECTURE.md | mbarbine__platphorm-content-showback-dashboard:ARCHITECTURE.md | mbarbine__platphorm-desa:docs/ARCHITECTURE.md | mbarbine__platphorm-design:docs/architecture.md | mbarbine__platphorm-evals:docs/ARCHITECTURE.md | mbarbine__platphorm-mcp:docs/architecture.md | mbarbine__platphorm-onboard:docs/ARCHITECTURE.md | mbarbine__platphorm-opencontent:ARCHITECTURE.md | mbarbine__platphorm-opendocs:ARCHITECTURE.md | mbarbine__platphorm-polymarket-rss-feed:ARCHITECTURE.md | mbarbine__platphorm-polymaths:docs/ARCHITECTURE.md | mbarbine__platphorm-reader:docs/ARCHITECTURE.md | mbarbine__platphorm-spec-workbench:ARCHITECTURE.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 18,
      "repos": "mbarbine__calendar-app-webby, mbarbine__ja4mlab, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 18,
      "normalized_name": "observability-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/observability.schema.json | mbarbine__platphorm-404:public/schemas/observability.schema.json | mbarbine__platphorm-ascii:public/schemas/observability.schema.json | mbarbine__platphorm-dictionary:public/schemas/observability.schema.json | mbarbine__platphorm-evals:platphorm_schemas/observability.schema.json | mbarbine__platphorm-finance:public/schemas/observability.schema.json | mbarbine__platphorm-json:public/schemas/json/observability.schema.json | mbarbine__platphorm-openclaw:public/schemas/observability.schema.json | mbarbine__platphorm-opencontent:public/schemas/observability.schema.json | mbarbine__platphorm-opendocs:public/schemas/observability.schema.json | mbarbine__platphorm-podcasts:public/schemas/observability.schema.json | mbarbine__platphorm-register:schemas/observability.schema.json | mbarbine__platphorm-sheets:schemas/observability.schema.json | mbarbine__platphorm-svg-factory:public/schemas/observability.schema.json | mbarbine__platphorm-trace:public/schemas/observability.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/observability.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/observability.schema.json | mbarbine__starphone-web-svelte:public/schemas/platphorm/observability.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 18,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "observability-module",
      "file_count": 19,
      "normalized_name": "manifest",
      "paths": "mbarbine__barbineworldwide-2026-metahack:public/manifest.json | mbarbine__dogstar-cybernetics-webby:public/manifest.json | mbarbine__drone-reel-webby:public/manifest.json | mbarbine__fashion-sadiepass-WWW:public/manifest.json | mbarbine__front-runners-webby:public/manifest.json | mbarbine__hot-chocolate-for-profit-webby:public/manifest.json | mbarbine__ja4mlab:delivery artifacts/MANIFEST.json | mbarbine__ja4mlab:packages/shared-scenarios/src/manifest.ts | mbarbine__ph3ar-blog:public/.well-known/manifest.json | mbarbine__platphorm-polymaths:public/manifest.json | mbarbine__platphorm-portfolio-webby:public/manifest.json | mbarbine__platphorm-shipments:public/manifest.json | mbarbine__platphorm-space-news:public/manifest.json | mbarbine__platphorm-vercel-atlas:public/manifest.json | mbarbine__starphone-web-svelte:public/manifest.json | mbarbine__starphone-web-svelte:static/manifest.json | mbarbine__vanagain-dot-com-prod:manifest.json | mbarbine__vanagain-site:manifest.json | ph3ar__ph3ar_radio_backend:client/public/manifest.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 17,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4mlab, mbarbine__ph3ar-blog, mbarbine__platphorm-polymaths, mbarbine__platphorm-portfolio-webby, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-vercel-atlas, mbarbine__starphone-web-svelte, mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "ui-hook",
      "file_count": 19,
      "normalized_name": "use-mobile",
      "paths": "mbarbine__drone-reel-webby:hooks/use-mobile.tsx | mbarbine__fortune-cookie-webby:hooks/use-mobile.tsx | mbarbine__fortune-cookie-webby-yj:hooks/use-mobile.tsx | mbarbine__instant-snap-postcard:src/hooks/use-mobile.tsx | mbarbine__microwave-stickers-:hooks/use-mobile.tsx | mbarbine__nextjs-ai-4:hooks/use-mobile.tsx | mbarbine__nextjs-ai-chatbot:hooks/use-mobile.tsx | mbarbine__ph3ar-chatbot:hooks/use-mobile.tsx | mbarbine__platphorm-design:tests/hooks/use-mobile.test.tsx | mbarbine__platphorm-emoji:hooks/use-mobile.tsx | mbarbine__platphorm-jules:hooks/__tests__/use-mobile.test.tsx | mbarbine__platphorm-kanban:__tests__/hooks/use-mobile.test.tsx | mbarbine__process-clone:use-mobile.tsx | mbarbine__process-clone:ui/use-mobile.tsx | mbarbine__process-clone:hooks/use-mobile.tsx | mbarbine__robbie-ds-greens-webby:hooks/use-mobile.tsx | mbarbine__scratchcraft:hooks/use-mobile.tsx | mbarbine__spectrum-canine-www:hooks/use-mobile.tsx | mbarbine__vanagain-2025:hooks/use-mobile.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 17,
      "repos": "mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__instant-snap-postcard, mbarbine__microwave-stickers-, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__process-clone, mbarbine__robbie-ds-greens-webby, mbarbine__scratchcraft, mbarbine__spectrum-canine-www, mbarbine__vanagain-2025"
    },
    {
      "component_kind": "agent",
      "file_count": 17,
      "normalized_name": "agent-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/agent.schema.json | mbarbine__platphorm-404:public/schemas/agent.schema.json | mbarbine__platphorm-ascii:public/schemas/agent.schema.json | mbarbine__platphorm-dictionary:public/schemas/agent.schema.json | mbarbine__platphorm-evals:platphorm_schemas/agent.schema.json | mbarbine__platphorm-finance:public/schemas/agent.schema.json | mbarbine__platphorm-json:public/schemas/json/agent.schema.json | mbarbine__platphorm-openclaw:public/schemas/agent.schema.json | mbarbine__platphorm-opencontent:public/schemas/agent.schema.json | mbarbine__platphorm-opendocs:public/schemas/agent.schema.json | mbarbine__platphorm-podcasts:public/schemas/agent.schema.json | mbarbine__platphorm-register:schemas/agent.schema.json | mbarbine__platphorm-sheets:schemas/agent.schema.json | mbarbine__platphorm-svg-factory:public/schemas/agent.schema.json | mbarbine__platphorm-trace:public/schemas/agent.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/agent.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/agent.schema.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 17,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "process-document",
      "file_count": 51,
      "normalized_name": "changelog",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/build-essential/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/rsyslog/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/java/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/mariadb-master/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apache2/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/yum/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/nginx/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/runit/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apt/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/chef_handler/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/phantomjs/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/7-zip/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/CHANGELOG.md | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/changelog.txt | mbarbine__Scripts:h4x/dagah-server/html/js/intro/changelog.md | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/CHANGELOG.md | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/CHANGELOG.md | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CHANGELOG.md | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CHANGELOG.md | mbarbine__gta-6-countdown-webby:CHANGELOG.md | mbarbine__hot-chocolate-for-profit-webby:public/CHANGELOG.txt | mbarbine__lettuce:CHANGELOG.md | mbarbine__onboard-platphorm-boilerplate-repo:CHANGELOG.md | mbarbine__platphorm-bbs:CHANGELOG.md | mbarbine__platphorm-insights:CHANGELOG.md | mbarbine__platphorm-onboard:docs/CHANGELOG.md | mbarbine__platphorm-opencontent:CHANGELOG.md | mbarbine__platphorm-opendocs:CHANGELOG.md | mbarbine__platphorm-polymarket-rss-feed:CHANGELOG.md | mbarbine__platphorm-polymaths:CHANGELOG.md | mbarbine__platphormnews-www-prod:CHANGELOG.md | mbarbine__stannp-gpt-5-test:docs/CHANGELOG.md | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/fancybox/CHANGELOG.md | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/bootstrap-timepicker/CHANGELOG.md | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/changelog.txt | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/scayt/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/build-essential/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/rsyslog/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/java/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/apache2/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/yum/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/nginx/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/runit/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/apt/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/chef_handler/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/phantomjs/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/aws/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/7-zip/CHANGELOG.md | mbarbine__xsociety:pipeline/cookbooks/jenkins/CHANGELOG.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 16,
      "repos": "mbarbine__Scripts, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__lettuce, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphormnews-www-prod, mbarbine__stannp-gpt-5-test, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 34,
      "normalized_name": "server",
      "paths": "mbarbine__PH3AR-WEBBY:src/routes/rss.xml/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/feed.xml/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/sitemap.xml/+server.ts | mbarbine__evernote-js:server.js | mbarbine__foxio-labs:server.js | mbarbine__ja4-sidecar:ja4-cli/server.js | mbarbine__ja4mlab:services/api-broker/server.mjs | mbarbine__legacy-platphorm-news:src/routes/llms.txt/+server.ts | mbarbine__legacy-platphorm-news:src/routes/sitemap-main.xml/+server.ts | mbarbine__mailthing:src/server.ts | mbarbine__mailthing-api:app/src/server.ts | mbarbine__mailthing-client:src/server.ts | mbarbine__ph3ar-web:server.js | mbarbine__platphorm-mcp:tests/__tests__/server.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/msw/server.ts | mbarbine__platphormnews-www-prod:src/routes/llms.txt/+server.ts | mbarbine__platphormnews-www-prod:src/routes/rss.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/feed.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/.well-known/trust.json/+server.ts | mbarbine__platphormnews-www-prod:src/routes/.well-known/trust-policy.json/+server.ts | mbarbine__platphormnews-www-prod:src/routes/.well-known/security.txt/+server.ts | mbarbine__platphormnews-www-prod:src/routes/llms-full.txt/+server.ts | mbarbine__platphormnews-www-prod:src/routes/atom.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/sitemap-index.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/sitemap-main.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/sitemap.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/sitemap-network.xml/+server.ts | mbarbine__platphormnews-www-prod:src/routes/robots.txt/+server.ts | mbarbine__platphormnews-www-prod:src/routes/llms-index.json/+server.ts | mbarbine__platphormnews-www-prod:src/routes/manifest.webmanifest/+server.ts | mbarbine__platphormnews-www-prod:src/routes/favicon.svg/+server.ts | ph3ar__js_mongo_app_boilerplate:server/server.js | ph3ar__newdittyswag-commerce:src/routes/cart.json/+server.js | ph3ar__ph3ar-docs-enhanced-labs:server.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 16,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__evernote-js, mbarbine__foxio-labs, mbarbine__ja4-sidecar, mbarbine__ja4mlab, mbarbine__legacy-platphorm-news, mbarbine__mailthing, mbarbine__mailthing-api, mbarbine__mailthing-client, mbarbine__ph3ar-web, mbarbine__platphorm-mcp, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphormnews-www-prod, ph3ar__js_mongo_app_boilerplate, ph3ar__newdittyswag-commerce, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 16,
      "normalized_name": "opengraph-image",
      "paths": "mbarbine__airrow-commuter-balloon:app/[locale]/opengraph-image.tsx | mbarbine__autographed-bibles-webby:app/opengraph-image.tsx | mbarbine__calendar-app-webby:app/opengraph-image.tsx | mbarbine__front-runners-webby:app/opengraph-image.tsx | mbarbine__gta-6-countdown-webby:app/opengraph-image.tsx | mbarbine__microwave-stickers-:app/opengraph-image.tsx | mbarbine__platphorm-desa:app/opengraph-image.tsx | mbarbine__platphorm-design:app/opengraph-image.tsx | mbarbine__platphorm-jobs:app/opengraph-image.tsx | mbarbine__platphorm-json:app/opengraph-image.tsx | mbarbine__platphorm-monitor:app/opengraph-image.tsx | mbarbine__platphorm-reader:app/opengraph-image.tsx | mbarbine__platphorm-spec-workbench:app/opengraph-image.tsx | mbarbine__platphorm-stannp-api-wrapper:app/opengraph-image.tsx | mbarbine__two-doller-web:app/opengraph-image.tsx | mbarbine__vanagon-website:app/opengraph-image.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 16,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__front-runners-webby, mbarbine__gta-6-countdown-webby, mbarbine__microwave-stickers-, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-monitor, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__two-doller-web, mbarbine__vanagon-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 16,
      "normalized_name": "route",
      "paths": "mbarbine__airrow-commuter-balloon:app/api/og/route.tsx | mbarbine__calendar-app-webby:app/api/og/route.tsx | mbarbine__onboard-platphorm-boilerplate-repo:app/api/og/route.tsx | mbarbine__ph3ar-blog:api/subscribe/route.tsx | mbarbine__platphorm-alleycats:app/api/og/route.tsx | mbarbine__platphorm-cobol:app/og-image.png/route.tsx | mbarbine__platphorm-insights:app/api/og/route.tsx | mbarbine__platphorm-kanban:app/og/route.tsx | mbarbine__platphorm-layout:app/api/og/route.tsx | mbarbine__platphorm-onboard:app/api/og/route.tsx | mbarbine__platphorm-opencontent:app/api/og/route.tsx | mbarbine__platphorm-opendocs:app/api/og/route.tsx | mbarbine__platphorm-podcasts:app/api/og/route.tsx | mbarbine__platphorm-polymarket-rss-feed:app/api/og/route.tsx | mbarbine__platphorm-redteam-arma-landing:app/api/og/route.tsx | mbarbine__platphorm-zine-reader:app/api/og/route.tsx",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 16,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-alleycats, mbarbine__platphorm-cobol, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 16,
      "normalized_name": "middleware",
      "paths": "mbarbine__beer-museum-manager-www:lib/supabase/middleware.ts | mbarbine__burrito-dealer-www:lib/supabase/middleware.ts | mbarbine__civic-engagement-platform-webby:lib/supabase/middleware.ts | mbarbine__game-porting-service-webby:lib/supabase/middleware.ts | mbarbine__mermaid-community-platform:lib/supabase/middleware.ts | mbarbine__platphorm-ai-photo-enrichment:lib/supabase/middleware.ts | mbarbine__platphorm-auction-vice:lib/supabase/middleware.ts | mbarbine__platphorm-bbs:lib/supabase/middleware.ts | mbarbine__platphorm-design:lib/api/middleware.ts | mbarbine__platphorm-keys:lib/keys/middleware.ts | mbarbine__platphorm-news-alt-theme:lib/supabase/middleware.ts | mbarbine__platphorm-politics:lib/supabase/middleware.ts | mbarbine__platphorm-real-estate:lib/supabase/middleware.ts | mbarbine__platphorm-sandbox:lib/supabase/middleware.ts | mbarbine__platphorm-trace:lib/api/middleware.ts | mbarbine__robot-clothing-marketplace:lib/supabase/middleware.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 16,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__civic-engagement-platform-webby, mbarbine__game-porting-service-webby, mbarbine__mermaid-community-platform, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-design, mbarbine__platphorm-keys, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-politics, mbarbine__platphorm-real-estate, mbarbine__platphorm-sandbox, mbarbine__platphorm-trace, mbarbine__robot-clothing-marketplace"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 16,
      "normalized_name": "podcast-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/podcast.schema.json | mbarbine__platphorm-404:public/schemas/podcast.schema.json | mbarbine__platphorm-ascii:public/schemas/podcast.schema.json | mbarbine__platphorm-dictionary:public/schemas/podcast.schema.json | mbarbine__platphorm-finance:public/schemas/podcast.schema.json | mbarbine__platphorm-json:public/schemas/json/podcast.schema.json | mbarbine__platphorm-openclaw:public/schemas/podcast.schema.json | mbarbine__platphorm-opencontent:public/schemas/podcast.schema.json | mbarbine__platphorm-opendocs:public/schemas/podcast.schema.json | mbarbine__platphorm-podcasts:public/schemas/podcast.schema.json | mbarbine__platphorm-register:schemas/podcast.schema.json | mbarbine__platphorm-sheets:schemas/podcast.schema.json | mbarbine__platphorm-svg-factory:public/schemas/podcast.schema.json | mbarbine__platphorm-trace:public/schemas/overlays/podcast.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/podcast.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/podcast.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 16,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 22,
      "normalized_name": "mcp-client",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/mcp-client.test.ts | mbarbine__calendar-app-webby:lib/mcp-client.ts | mbarbine__platphorm-ascii:lib/mcp-client.ts | mbarbine__platphorm-desa:lib/__tests__/mcp-client.test.ts | mbarbine__platphorm-design:lib/api/mcp-client.ts | mbarbine__platphorm-emoji:lib/mcp-client.ts | mbarbine__platphorm-kanban:__tests__/lib/mcp-client.test.ts | mbarbine__platphorm-kanban:lib/mcp-client.ts | mbarbine__platphorm-msi-editor:lib/mcp-client.ts | mbarbine__platphorm-msi-editor:lib/__tests__/mcp-client.test.ts | mbarbine__platphorm-podcasts:lib/mcp-client.ts | mbarbine__platphorm-radio-backend:lib/mcp-client.ts | mbarbine__platphorm-reader:tests/lib/mcp-client.test.ts | mbarbine__platphorm-reader:lib/mcp-client.ts | mbarbine__platphorm-register:lib/integrations/mcp-client.ts | mbarbine__platphorm-shipments:__tests__/lib/mcp-client.test.ts | mbarbine__platphorm-shipments:lib/mcp-client.ts | mbarbine__platphorm-usl:lib/mcp-client.ts | mbarbine__platphorm-xml:lib/mcp-client.test.ts | mbarbine__platphorm-xml:lib/mcp-client.ts | mbarbine__platphormnews-www-prod:src/lib/mcp-client.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/mcp-client.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 15,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-ascii, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-kanban, mbarbine__platphorm-msi-editor, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__platphorm-register, mbarbine__platphorm-shipments, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 19,
      "normalized_name": "constants",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/constants.test.ts | mbarbine__calendar-app-webby:lib/constants.ts | mbarbine__fortune-cookie-webby-yj:lib/platform/constants.ts | mbarbine__ph3ar-blog:src/lib/constants.ts | mbarbine__ph3ar-chatbot:lib/constants.ts | mbarbine__platphorm-404:lib/platform/constants.ts | mbarbine__platphorm-bbs:lib/bbs/constants.ts | mbarbine__platphorm-cobol:lib/constants.ts | mbarbine__platphorm-desa:lib/platform/constants.ts | mbarbine__platphorm-kanban:__tests__/lib/constants.test.ts | mbarbine__platphorm-kanban:lib/constants.ts | mbarbine__platphorm-mcp:lib/platform/constants.ts | mbarbine__platphorm-monitor:lib/monitor/constants.ts | mbarbine__platphorm-msi-editor:lib/platform/constants.ts | mbarbine__platphorm-newdittyswag-www:lib/shopify/constants.ts | mbarbine__platphorm-quake:__tests__/lib/game/constants.test.ts | mbarbine__platphorm-quake:lib/mcp/constants.ts | mbarbine__platphorm-quake:lib/game/constants.ts | mbarbine__platphorm-trace:lib/platform/constants.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 15,
      "repos": "mbarbine__calendar-app-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__ph3ar-blog, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-quake, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "container-automation",
      "file_count": 18,
      "normalized_name": "docker-compose",
      "paths": "mbarbine__Scripts:docker/compose/docker-compose.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/docker-compose.yml | mbarbine__Scripts:SORT/OpsClick_website/docker-compose.yml | mbarbine__Scripts:SORT/OpsClick_BE_Pricing/docker-compose.yml | mbarbine__aws-lab:docker-compose.yml | mbarbine__cdf-sanitize:docker-compose.yml | mbarbine__docker-terraform-aws-demo:docker-compose.yaml | mbarbine__ja4-sidecar:docker-compose.yml | mbarbine__legacy-platphorm-news:docker-compose.yml | mbarbine__n8n:docker-compose.yml | mbarbine__onboard-platphorm-boilerplate-repo:docker-compose.yml | mbarbine__platphorm-openclaw:docker-compose.yml | mbarbine__platphorm-opencontent:docker-compose.yml | mbarbine__platphorm-opendocs:docker-compose.yml | mbarbine__wildduck:docker-compose.yml | mbarbine__zornixOS:docker-compose.yml | ph3ar__js_mongo_app_boilerplate:docker-compose.yml | ph3ar__renegade-bbs-docker:docker-compose.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 15,
      "repos": "mbarbine__Scripts, mbarbine__aws-lab, mbarbine__cdf-sanitize, mbarbine__docker-terraform-aws-demo, mbarbine__ja4-sidecar, mbarbine__legacy-platphorm-news, mbarbine__n8n, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__wildduck, mbarbine__zornixOS, ph3ar__js_mongo_app_boilerplate, ph3ar__renegade-bbs-docker"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 18,
      "normalized_name": "top-bar",
      "paths": "mbarbine__automotive-flamethrower-webby:components/TopBar.tsx | mbarbine__barbineworldwide-2026-metahack:components/layout/top-bar.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/layout/top-bar.test.tsx | mbarbine__calendar-app-webby:components/layout/top-bar.tsx | mbarbine__platphorm-agentui:components/layout/top-bar.tsx | mbarbine__platphorm-auction-vice:components/layout/top-bar.tsx | mbarbine__platphorm-base:components/layout/top-bar.tsx | mbarbine__platphorm-browserops:components/layout/top-bar.tsx | mbarbine__platphorm-cobol:components/top-bar.tsx | mbarbine__platphorm-layout:components/layout/top-bar.tsx | mbarbine__platphorm-mini-games-webby:components/layout/top-bar.tsx | mbarbine__platphorm-quake:components/layout/top-bar.tsx | mbarbine__platphorm-quake:__tests__/components/layout/top-bar.test.tsx | mbarbine__platphorm-space-news:components/layout/top-bar.tsx | mbarbine__platphorm-spec-workbench:components/layout/top-bar.tsx | mbarbine__platphorm-svg-factory:components/layout/top-bar.tsx | mbarbine__platphorm-webhook-simulator:components/layout/top-bar.test.tsx | mbarbine__platphorm-webhook-simulator:components/layout/top-bar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 15,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-quake, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-svg-factory, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 18,
      "normalized_name": "mcp",
      "paths": "mbarbine__desert-bus:lib/mcp.ts | mbarbine__fortune-cookie-webby-yj:lib/fortune/mcp.ts | mbarbine__platphorm-404:lib/platform/mcp.ts | mbarbine__platphorm-bbs:lib/bbs/mcp.test.ts | mbarbine__platphorm-bbs:lib/bbs/mcp.ts | mbarbine__platphorm-browserops:lib/integrations/mcp.ts | mbarbine__platphorm-codex:lib/codex/mcp.ts | mbarbine__platphorm-json:lib/mcp.ts | mbarbine__platphorm-layout:lib/layout/mcp.ts | mbarbine__platphorm-mini-games-webby:lib/mcp.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/mcp.test.ts | mbarbine__platphorm-opencontent:lib/mcp.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/mcp.test.ts | mbarbine__platphorm-opendocs:lib/mcp.ts | mbarbine__platphorm-polymaths:lib/polymaths/mcp.ts | mbarbine__platphorm-space-news:lib/space/mcp.ts | mbarbine__platphorm-spec-workbench:__tests__/lib/generators/mcp.test.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/mcp.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 15,
      "repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-codex, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 18,
      "normalized_name": "theme-toggle",
      "paths": "mbarbine__mermaid-next-www:components/ThemeToggle.tsx | mbarbine__platphorm-dictionary:components/theme-toggle.tsx | mbarbine__platphorm-emoji:components/theme-toggle.tsx | mbarbine__platphorm-finance:components/theme-toggle.tsx | mbarbine__platphorm-insights:tests/components/layout/theme-toggle.test.tsx | mbarbine__platphorm-insights:components/layout/theme-toggle.tsx | mbarbine__platphorm-jobs:components/theme-toggle.tsx | mbarbine__platphorm-jobs:__tests__/components/theme-toggle.test.tsx | mbarbine__platphorm-kanban:components/theme-toggle.tsx | mbarbine__platphorm-mini-games-webby:components/layout/theme-toggle.tsx | mbarbine__platphorm-newdittyswag-www:components/theme-toggle.tsx | mbarbine__platphorm-polymaths:components/theme-toggle.tsx | mbarbine__platphorm-shipments:components/theme-toggle.tsx | mbarbine__platphorm-shipments:__tests__/components/theme-toggle.test.tsx | mbarbine__platphorm-signs:components/theme-toggle.tsx | mbarbine__platphorm-trace:components/layout/theme-toggle.tsx | mbarbine__starphone-web-svelte:components/ThemeToggle.tsx | mbarbine__threatrelay-webby:components/theme-toggle.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 15,
      "repos": "mbarbine__mermaid-next-www, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-polymaths, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__platphorm-trace, mbarbine__starphone-web-svelte, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 17,
      "normalized_name": "platphorm-universal-schema-pack",
      "paths": "mbarbine__calendar-app-webby:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-404:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-ai-photo-enrichment:schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-base:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-codex:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-finance:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-insights:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-json:public/schemas/json/platphorm-universal-schema-pack.json | mbarbine__platphorm-opencontent:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-opendocs:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-podcasts:schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-podcasts:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-podcasts:lib/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-polymarket-rss-feed:schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-radio-backend:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphorm-svg-factory:public/schemas/platphorm-universal-schema-pack.json | mbarbine__platphormnews-www-prod:src/lib/schemas/platphorm-universal-schema-pack.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 15,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-finance, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-radio-backend, mbarbine__platphorm-svg-factory, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 16,
      "normalized_name": "site-footer",
      "paths": "mbarbine__autographed-bibles-webby:components/site-footer.tsx | mbarbine__beer-museum-manager-www:components/site-footer.tsx | mbarbine__desert-bus:components/home/site-footer.tsx | mbarbine__game-porting-service-webby:components/site-footer.tsx | mbarbine__mermaid-community-platform:components/site-footer.tsx | mbarbine__platphorm-emoji:components/site-footer.tsx | mbarbine__platphorm-jobs:components/site-footer.tsx | mbarbine__platphorm-polymarket-rss-feed:components/site-footer.tsx | mbarbine__platphorm-polymaths:components/site-footer.tsx | mbarbine__platphorm-reader:components/site-footer.tsx | mbarbine__platphorm-shipments:components/site-footer.tsx | mbarbine__platphorm-shipments:__tests__/components/site-footer.test.tsx | mbarbine__platphorm-signs:components/site-footer.tsx | mbarbine__robbie-ds-greens-webby:components/layout/site-footer.tsx | mbarbine__robot-clothing-marketplace:components/site-footer.tsx | mbarbine__threatrelay-webby:components/site-footer.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 15,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__beer-museum-manager-www, mbarbine__desert-bus, mbarbine__game-porting-service-webby, mbarbine__mermaid-community-platform, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "process-document",
      "file_count": 19,
      "normalized_name": "pr-description",
      "paths": "mbarbine__desert-bus:pr-description.md | mbarbine__desert-bus:pr_description.txt | mbarbine__fortune-cookie-webby-yj:pr_description.md | mbarbine__fortune-cookie-webby-yj:pr_description.txt | mbarbine__onboard-platphorm-boilerplate-repo:pr-description.md | mbarbine__platphorm-agentui:pr_description.txt | mbarbine__platphorm-base:pr_description.md | mbarbine__platphorm-jobs:pr_description.md | mbarbine__platphorm-monitor:pr_description.md | mbarbine__platphorm-opencontent:pr_description.md | mbarbine__platphorm-opendocs:pr_description.md | mbarbine__platphorm-trace:pr_description.md | mbarbine__platphorm-vercel-atlas:pr_description.md | mbarbine__platphorm-vercel-atlas:pr_description.txt | mbarbine__platphorm-webhook-simulator:pr_description.txt | mbarbine__platphormnews-www-prod:pr-description.md | mbarbine__platphormnews-www-prod:pr_description.md | mbarbine__vanagain-dot-com-prod:pr_description.md | mbarbine__vanagain-dot-com-prod:pr_description.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 14,
      "repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-jobs, mbarbine__platphorm-monitor, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-trace, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 17,
      "normalized_name": "proxy",
      "paths": "mbarbine__drone-reel-webby:proxy.ts | mbarbine__platphorm-browserops:proxy.ts | mbarbine__platphorm-emoji:proxy.ts | mbarbine__platphorm-insights:proxy.ts | mbarbine__platphorm-kanban:proxy.ts | mbarbine__platphorm-kanban:__tests__/proxy.test.ts | mbarbine__platphorm-mcp:proxy.ts | mbarbine__platphorm-mcp:tests/__tests__/proxy.test.ts | mbarbine__platphorm-mini-games-webby:proxy.ts | mbarbine__platphorm-monitor:proxy.ts | mbarbine__platphorm-openclaw:proxy.js | mbarbine__platphorm-podcasts:proxy.ts | mbarbine__platphorm-reader:proxy.ts | mbarbine__platphorm-reader:tests/proxy.test.ts | mbarbine__platphorm-spec-workbench:proxy.ts | mbarbine__platphorm-usl:proxy.ts | mbarbine__platphorm-vercel-atlas:proxy.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 14,
      "repos": "mbarbine__drone-reel-webby, mbarbine__platphorm-browserops, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 15,
      "normalized_name": "hero",
      "paths": "mbarbine__Joshs-magnets-landing-page:components/hero.tsx | mbarbine__Joshs-magnets-landing-page:components/hero.test.tsx | mbarbine__automotive-flamethrower-webby:components/hero.tsx | mbarbine__dogstar-cybernetics-webby:components/sections/hero.tsx | mbarbine__drone-reel-webby:components/sections/hero.tsx | mbarbine__email-reading-service-webby:components/hero.tsx | mbarbine__front-runners-webby:components/hero.tsx | mbarbine__glass-blowing-website:components/hero.tsx | mbarbine__mermaid-next-www:components/Hero.tsx | mbarbine__platphorm-onboard:components/sections/hero.tsx | mbarbine__scratchcraft:components/hero.tsx | mbarbine__stripper-mug-webby:components/hero.tsx | mbarbine__vanagon-website:components/sections/hero.tsx | ph3ar__barbine-worldwide-legacy:src/components/Hero.tsx | ph3ar__mermaid-www:app/components/Hero.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 14,
      "repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__automotive-flamethrower-webby, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__front-runners-webby, mbarbine__glass-blowing-website, mbarbine__mermaid-next-www, mbarbine__platphorm-onboard, mbarbine__scratchcraft, mbarbine__stripper-mug-webby, mbarbine__vanagon-website, ph3ar__barbine-worldwide-legacy, ph3ar__mermaid-www"
    },
    {
      "component_kind": "backend-module",
      "file_count": 15,
      "normalized_name": "api",
      "paths": "mbarbine__airrow-commuter-balloon:tests/api.test.ts | mbarbine__automotive-flamethrower-webby:tests/api.test.ts | mbarbine__game-porting-service-webby:tests/api.test.mjs | mbarbine__game-porting-service-webby:tests/api.test.ts | mbarbine__ja4-sidecar:config/wildduck/api.toml | mbarbine__mailthing-client:src/api.ts | mbarbine__mailthing-main:.archive/api.ts | mbarbine__ph3ar-blog:api/api.ts | mbarbine__platphorm-podcasts:__tests__/api.test.ts | mbarbine__platphorm-register:tests/api.test.ts | mbarbine__platphorm-sandbox:__tests__/api.test.ts | mbarbine__platphorm-vercel-atlas:__tests__/api.test.ts | mbarbine__reflux-site-webby:tests/api.test.ts | mbarbine__wildduck:archive/wildduck-configs/api.toml | ph3ar__js_mongo_app_boilerplate:controllers/api.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 14,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__game-porting-service-webby, mbarbine__ja4-sidecar, mbarbine__mailthing-client, mbarbine__mailthing-main, mbarbine__ph3ar-blog, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sandbox, mbarbine__platphorm-vercel-atlas, mbarbine__reflux-site-webby, mbarbine__wildduck, ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 15,
      "normalized_name": "site-header",
      "paths": "mbarbine__autographed-bibles-webby:components/site-header.tsx | mbarbine__beer-museum-manager-www:components/site-header.tsx | mbarbine__desert-bus:components/home/site-header.tsx | mbarbine__game-porting-service-webby:components/site-header.tsx | mbarbine__platphorm-emoji:components/site-header.tsx | mbarbine__platphorm-jobs:components/site-header.tsx | mbarbine__platphorm-polymarket-rss-feed:components/site-header.tsx | mbarbine__platphorm-polymaths:components/site-header.tsx | mbarbine__platphorm-reader:components/site-header.tsx | mbarbine__platphorm-shipments:components/site-header.tsx | mbarbine__platphorm-shipments:__tests__/components/site-header.test.tsx | mbarbine__platphorm-signs:components/site-header.tsx | mbarbine__robbie-ds-greens-webby:components/layout/site-header.tsx | mbarbine__robot-clothing-marketplace:components/site-header.tsx | mbarbine__threatrelay-webby:components/site-header.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 14,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__beer-museum-manager-www, mbarbine__desert-bus, mbarbine__game-porting-service-webby, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "process-document",
      "file_count": 14,
      "normalized_name": "api",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/flot/API.md | mbarbine__calendar-app-webby:docs/api.md | mbarbine__onboard-platphorm-boilerplate-repo:API.md | mbarbine__platphorm-bbs:docs/API.md | mbarbine__platphorm-desa:docs/API.md | mbarbine__platphorm-design:docs/api.md | mbarbine__platphorm-mcp:docs/api.md | mbarbine__platphorm-onboard:docs/API.md | mbarbine__platphorm-opencontent:API.md | mbarbine__platphorm-opendocs:API.md | mbarbine__platphorm-polymarket-rss-feed:API.md | mbarbine__platphorm-polymaths:docs/API.md | mbarbine__platphorm-reader:docs/API.md | mbarbine__xsociety:html/components/flot/API.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 14,
      "repos": "mbarbine__Scripts, mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__xsociety"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 14,
      "normalized_name": "docs-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/docs.schema.json | mbarbine__platphorm-404:public/schemas/docs.schema.json | mbarbine__platphorm-dictionary:public/schemas/docs.schema.json | mbarbine__platphorm-finance:public/schemas/docs.schema.json | mbarbine__platphorm-json:public/schemas/json/docs.schema.json | mbarbine__platphorm-opencontent:public/schemas/docs.schema.json | mbarbine__platphorm-opendocs:public/schemas/docs.schema.json | mbarbine__platphorm-podcasts:public/schemas/docs.schema.json | mbarbine__platphorm-register:schemas/docs.schema.json | mbarbine__platphorm-sheets:schemas/docs.schema.json | mbarbine__platphorm-svg-factory:public/schemas/docs.schema.json | mbarbine__platphorm-trace:public/schemas/overlays/docs.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/docs.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/docs.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 14,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 15,
      "normalized_name": "response",
      "paths": "mbarbine__fortune-cookie-webby-yj:lib/platform/response.ts | mbarbine__platphorm-404:lib/platform/response.ts | mbarbine__platphorm-agentui:lib/api/response.ts | mbarbine__platphorm-browserops:lib/api/response.ts | mbarbine__platphorm-evals:lib/api/response.ts | mbarbine__platphorm-fingerprint-service:lib/platform/response.ts | mbarbine__platphorm-layout:lib/api/response.ts | mbarbine__platphorm-monitor:lib/api/response.ts | mbarbine__platphorm-monitor:lib/api/__tests__/response.test.ts | mbarbine__platphorm-msi-editor:lib/platform/response.ts | mbarbine__platphorm-podcasts:lib/platform/response.ts | mbarbine__platphorm-quake:lib/platform/response.ts | mbarbine__platphorm-space-news:lib/platform/response.ts | mbarbine__platphorm-webhook-simulator:lib/api/response.test.ts | mbarbine__platphorm-webhook-simulator:lib/api/response.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 13,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-layout, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-space-news, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "process-document",
      "file_count": 14,
      "normalized_name": "code-of-conduct",
      "paths": "mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CODE_OF_CONDUCT.md | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/CODE_OF_CONDUCT.md | mbarbine__onboard-platphorm-boilerplate-repo:CODE_OF_CONDUCT.md | mbarbine__platphorm-bbs:CODE_OF_CONDUCT.md | mbarbine__platphorm-onboard:docs/CODE_OF_CONDUCT.md | mbarbine__platphorm-openclaw:CODE_OF_CONDUCT.md | mbarbine__platphorm-opencontent:CODE_OF_CONDUCT.md | mbarbine__platphorm-opendocs:CODE_OF_CONDUCT.md | mbarbine__platphorm-polymarket-rss-feed:CODE_OF_CONDUCT.md | mbarbine__platphorm-polymaths:CODE_OF_CONDUCT.md | mbarbine__platphorm-real-estate-property-evaluation:CODE_OF_CONDUCT.md | mbarbine__platphorm-trace:CODE_OF_CONDUCT.md | mbarbine__platphormnews-www-prod:CODE_OF_CONDUCT.md | mbarbine__threatrelay-webby:CODE_OF_CONDUCT.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 13,
      "repos": "mbarbine__Scripts, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-trace, mbarbine__platphormnews-www-prod, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "agent",
      "file_count": 14,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-base:app/.well-known/agents.json/route.ts | mbarbine__platphorm-browserops:app/.well-known/agent.json/route.ts | mbarbine__platphorm-evals:app/.well-known/agents.json/route.ts | mbarbine__platphorm-jules:app/api/v0/agent-run/[id]/route.test.ts | mbarbine__platphorm-jules:app/api/v0/agent-run/[id]/tool-calls/route.test.ts | mbarbine__platphorm-kanban:app/.well-known/agents.json/route.ts | mbarbine__platphorm-layout:app/.well-known/agents.json/route.ts | mbarbine__platphorm-mini-games-webby:app/.well-known/agents.json/route.ts | mbarbine__platphorm-onboard:app/.well-known/agents.json/route.ts | mbarbine__platphorm-opencontent:app/.well-known/agents.json/route.ts | mbarbine__platphorm-podcasts:app/.well-known/agent.json/route.ts | mbarbine__platphorm-quake:app/.well-known/agent.json/route.ts | mbarbine__platphorm-sandbox:app/.well-known/agent.json/route.ts | mbarbine__platphorm-webhook-simulator:app/.well-known/agents.json/route.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 13,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 14,
      "normalized_name": "schema",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/lib/schema.test.ts | mbarbine__barbineworldwide-2026-metahack:lib/schema.ts | mbarbine__desert-bus:__tests__/lib/schema.test.ts | mbarbine__desert-bus:lib/schema.ts | mbarbine__ja4-sidecar:ja4-storage/schema.js | mbarbine__nextjs-ai-4:lib/db/schema.ts | mbarbine__nextjs-ai-chatbot:lib/db/schema.ts | mbarbine__ph3ar-chatbot:lib/db/schema.ts | mbarbine__platphorm-ai-photo-enrichment:__tests__/schemas/schema.test.ts | mbarbine__platphorm-browserops:lib/neon/schema.ts | mbarbine__platphorm-evals:lib/neon/schema.ts | mbarbine__platphorm-spec-workbench:__tests__/db/schema.test.ts | mbarbine__platphorm-webhook-simulator:lib/neon/schema.test.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/schema.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 12,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__desert-bus, mbarbine__ja4-sidecar, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 14,
      "normalized_name": "docs",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/api/docs.test.ts | mbarbine__calendar-app-webby:__tests__/api/docs.test.ts | mbarbine__calendar-app-webby:__tests__/api/v1/docs.test.ts | mbarbine__calendar-app-webby:__tests__/api/v1/integrations/docs.test.ts | mbarbine__platphorm-agentui:tests/api/docs.test.ts | mbarbine__platphorm-base:__tests__/app/api/docs.test.ts | mbarbine__platphorm-design:tests/api/docs.test.ts | mbarbine__platphorm-jobs:__tests__/api/docs.test.ts | mbarbine__platphorm-kanban:__tests__/api/docs.test.ts | mbarbine__platphorm-polymaths:__tests__/api/docs.test.ts | mbarbine__platphorm-quake:__tests__/app/api/docs.test.ts | mbarbine__platphorm-radio-backend:__tests__/api/docs.test.ts | mbarbine__platphorm-spec-workbench:__tests__/api/docs.test.ts | mbarbine__starphone-web-svelte:tests/api/docs.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 12,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-design, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-spec-workbench, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 12,
      "normalized_name": "trace-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/trace.schema.json | mbarbine__platphorm-404:public/schemas/trace.schema.json | mbarbine__platphorm-finance:public/schemas/trace.schema.json | mbarbine__platphorm-json:public/schemas/json/trace.schema.json | mbarbine__platphorm-openclaw:public/schemas/trace.schema.json | mbarbine__platphorm-podcasts:public/schemas/trace.schema.json | mbarbine__platphorm-register:schemas/trace.schema.json | mbarbine__platphorm-sheets:schemas/trace.schema.json | mbarbine__platphorm-svg-factory:public/schemas/trace.schema.json | mbarbine__platphorm-trace:public/schemas/overlays/trace.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/trace.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/trace.schema.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 12,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "ai-eval",
      "file_count": 12,
      "normalized_name": "evals-schema",
      "paths": "mbarbine__fashion-sadiepass-WWW:platphorm_schemas/evals.schema.json | mbarbine__platphorm-404:public/schemas/evals.schema.json | mbarbine__platphorm-dictionary:public/schemas/evals.schema.json | mbarbine__platphorm-finance:public/schemas/evals.schema.json | mbarbine__platphorm-json:public/schemas/json/evals.schema.json | mbarbine__platphorm-podcasts:public/schemas/evals.schema.json | mbarbine__platphorm-register:schemas/evals.schema.json | mbarbine__platphorm-sheets:schemas/evals.schema.json | mbarbine__platphorm-svg-factory:public/schemas/evals.schema.json | mbarbine__platphorm-trace:public/schemas/overlays/evals.schema.json | mbarbine__platphorm-webhook-simulator:public/schemas/evals.schema.json | mbarbine__platphormnews-www-prod:src/lib/schemas/components/evals.schema.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 12,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 12,
      "normalized_name": "next-config",
      "paths": "mbarbine__fortune-cookie-webby-yj:next.config.mjs | mbarbine__mermaid-next-www:next.config.mjs | mbarbine__my-first-nova-hbackers-preseo:next.config.ts | mbarbine__ph3ar-blog:next.config.ts | mbarbine__platphorm-cobol:next.config.mjs | mbarbine__platphorm-layout:next.config.ts | mbarbine__platphorm-openclaw:next.config.mjs | mbarbine__platphorm-trace:next.config.mjs | mbarbine__platphorm-usl:next.config.mjs | mbarbine__threatrelay-webby:next.config.mjs | mbarbine__uberpidgeons:next.config.ts | mbarbine__vanagain-dot-com-prod:next.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 12,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo, mbarbine__ph3ar-blog, mbarbine__platphorm-cobol, mbarbine__platphorm-layout, mbarbine__platphorm-openclaw, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__threatrelay-webby, mbarbine__uberpidgeons, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 17,
      "normalized_name": "network",
      "paths": "mbarbine__platphorm-base:__tests__/lib/network.test.ts | mbarbine__platphorm-codex:lib/codex/network.ts | mbarbine__platphorm-design:lib/phorm/network.ts | mbarbine__platphorm-dictionary:tests/lib/network.test.ts | mbarbine__platphorm-dictionary:lib/network.ts | mbarbine__platphorm-insights:tests/lib/api/network.test.ts | mbarbine__platphorm-insights:lib/api/network.ts | mbarbine__platphorm-jobs:__tests__/lib/network.test.ts | mbarbine__platphorm-jobs:lib/network.ts | mbarbine__platphorm-keys:lib/config/network.ts | mbarbine__platphorm-layout:lib/config/network.ts | mbarbine__platphorm-layout:lib/services/network.ts | mbarbine__platphorm-mcp:lib/mcp/network.ts | mbarbine__platphorm-mcp:lib/mcp/tools/network.ts | mbarbine__platphorm-mcp:lib/mcp/tools/__tests__/network.test.ts | mbarbine__platphorm-polymarket-rss-feed:lib/network.ts | mbarbine__platphorm-vercel-atlas:lib/network.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 11,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "observability-module",
      "file_count": 13,
      "normalized_name": "config",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/js/templates/config.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/text/config.js | mbarbine__ja4-sidecar:config/webmail/config.toml | mbarbine__ja4-vercel-lab-2:supabase/config.toml | mbarbine__mailthing-main:supabase/config.toml | mbarbine__ph3ar-blog:scripts/config.json | mbarbine__platphorm-emoji:tests/config.test.ts | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/cache/config.json | mbarbine__platphormnews-www-prod:src/lib/config.ts | mbarbine__wildduck:archive/webmail-configs/config.toml | mbarbine__wildduck:config/webmail/config.toml | mbarbine__xsociety:config.json | ph3ar__stripe-subscription-starter:supabase/config.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 11,
      "repos": "mbarbine__Scripts, mbarbine__ja4-sidecar, mbarbine__ja4-vercel-lab-2, mbarbine__mailthing-main, mbarbine__ph3ar-blog, mbarbine__platphorm-emoji, mbarbine__platphorm-podcasts, mbarbine__platphormnews-www-prod, mbarbine__wildduck, mbarbine__xsociety, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "process-document",
      "file_count": 13,
      "normalized_name": "deployment",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/processing/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/processing/templates/deployment.yaml | mbarbine__beer-museum-manager-www:docs/DEPLOYMENT.md | mbarbine__desert-bus:DEPLOYMENT.md | mbarbine__platphorm-agentui:DEPLOYMENT.md | mbarbine__platphorm-browserops:DEPLOYMENT.md | mbarbine__platphorm-opencontent:DEPLOYMENT.md | mbarbine__platphorm-opendocs:DEPLOYMENT.md | mbarbine__platphorm-polymarket-rss-feed:DEPLOYMENT.md | mbarbine__platphorm-vercel-atlas:DEPLOYMENT.md | mbarbine__process-clone:DEPLOYMENT.md | mbarbine__robot-clothing-marketplace:DEPLOYMENT.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 11,
      "repos": "mbarbine__Scripts, mbarbine__beer-museum-manager-www, mbarbine__desert-bus, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-vercel-atlas, mbarbine__process-clone, mbarbine__robot-clothing-marketplace"
    },
    {
      "component_kind": "mcp",
      "file_count": 11,
      "normalized_name": "mcp",
      "paths": "mbarbine__automotive-flamethrower-webby:public/.well-known/mcp.json | mbarbine__fashion-sadiepass-WWW:__tests__/mcp.test.ts | mbarbine__ph3ar-admin-dashboard:public/.well-known/mcp.json | mbarbine__platphorm-content-showback-dashboard:__tests__/mcp.test.ts | mbarbine__platphorm-evals:tests/integration/mcp.test.ts | mbarbine__platphorm-mcp:.vscode/mcp.json | mbarbine__platphorm-politics:.well-known/mcp.json | mbarbine__platphorm-space-news:__tests__/mcp/mcp.test.ts | mbarbine__platphormnews-www-prod:.vscode/mcp.json | mbarbine__reflux-site-webby:public/.well-known/mcp.json | mbarbine__vanagain-dot-com-prod:.mcp.json",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 11,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-evals, mbarbine__platphorm-mcp, mbarbine__platphorm-politics, mbarbine__platphorm-space-news, mbarbine__platphormnews-www-prod, mbarbine__reflux-site-webby, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "state-store",
      "file_count": 21,
      "normalized_name": "store",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/core/flux/stores/store.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/dashboard/controllers/store.js | mbarbine__Scripts:SORT/OpsClick_UI/src/js/stores/store.js | mbarbine__calendar-app-webby:__tests__/lib/store.test.ts | mbarbine__calendar-app-webby:lib/store.ts | mbarbine__multiplayer-puzzle-game:lib/puzzle/store.ts | mbarbine__platphorm-browserops:lib/artifacts/store.ts | mbarbine__platphorm-emoji:tests/store.test.ts | mbarbine__platphorm-emoji:lib/store.ts | mbarbine__platphorm-jobs:__tests__/lib/store.test.ts | mbarbine__platphorm-jobs:lib/store.ts | mbarbine__platphorm-json:lib/store.ts | mbarbine__platphorm-monitor:lib/snapshots/store.ts | mbarbine__platphorm-monitor:lib/anomalies/store.ts | mbarbine__platphorm-monitor:lib/__tests__/webhooks/store.test.ts | mbarbine__platphorm-monitor:lib/webhooks/store.ts | mbarbine__platphorm-monitor:lib/webhooks/__tests__/store.test.ts | mbarbine__platphorm-monitor:lib/notifications/store.ts | mbarbine__platphorm-monitor:lib/notifications/__tests__/store.test.ts | mbarbine__platphorm-webhook-simulator:lib/webhooklab/store.ts | ph3ar__newdittyswag-commerce:src/store.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 10,
      "repos": "mbarbine__Scripts, mbarbine__calendar-app-webby, mbarbine__multiplayer-puzzle-game, mbarbine__platphorm-browserops, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-monitor, mbarbine__platphorm-webhook-simulator, ph3ar__newdittyswag-commerce"
    },
    {
      "component_kind": "process-document",
      "file_count": 17,
      "normalized_name": "testing",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/java/TESTING.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apache2/TESTING.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/nginx/TESTING.md | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apt/TESTING.md | mbarbine__platphorm-agentui:.jules/testing.md | mbarbine__platphorm-base:.jules/testing.md | mbarbine__platphorm-bbs:docs/TESTING.md | mbarbine__platphorm-emoji:.Jules/testing.md | mbarbine__platphorm-opencontent:TESTING.md | mbarbine__platphorm-polymaths:docs/TESTING.md | mbarbine__platphorm-reader:docs/TESTING.md | mbarbine__platphorm-vercel-atlas:TESTING.md | mbarbine__xsociety:pipeline/cookbooks/java/TESTING.md | mbarbine__xsociety:pipeline/cookbooks/apache2/TESTING.md | mbarbine__xsociety:pipeline/cookbooks/nginx/TESTING.md | mbarbine__xsociety:pipeline/cookbooks/apt/TESTING.md | mbarbine__xsociety:pipeline/cookbooks/jenkins/TESTING.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 10,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-emoji, mbarbine__platphorm-opencontent, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-vercel-atlas, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 14,
      "normalized_name": "en",
      "paths": "mbarbine__airrow-commuter-balloon:messages/en.json | mbarbine__ph3ar-blog:src/messages/en.json | mbarbine__platphorm-auction-vice:messages/en.json | mbarbine__platphorm-bbs:messages/en.json | mbarbine__platphorm-insights:messages/en.json | mbarbine__platphorm-layout:messages/en.json | mbarbine__platphorm-onboard:messages/en.json | mbarbine__reflux-site-webby:dictionaries/en.json | mbarbine__vanagain-dot-com-prod:messages/en.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/dummy/lang/en.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/en.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/en.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/en.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/en.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 10,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__reflux-site-webby, mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 12,
      "normalized_name": "app",
      "paths": "mbarbine__evernote-js:src/App.tsx | mbarbine__instant-snap-postcard:src/App.tsx | mbarbine__legacy-platphorm-news:src/app.svelte | mbarbine__legacy-platphorm-news:src/routes/app.svelte | mbarbine__mailthing-client:src/App.tsx | mbarbine__news-api:src/app.svelte | mbarbine__news-api:src/routes/app.svelte | mbarbine__turborepo-react-native:apps/native/App.tsx | ph3ar__DeskThing-FortuneCookie:src/App.tsx | ph3ar__barbine-worldwide-legacy:src/App.tsx | ph3ar__mailthing-webby:pages/_app.tsx | ph3ar__ph3ar_radio_backend:client/src/app.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 10,
      "repos": "mbarbine__evernote-js, mbarbine__instant-snap-postcard, mbarbine__legacy-platphorm-news, mbarbine__mailthing-client, mbarbine__news-api, mbarbine__turborepo-react-native, ph3ar__DeskThing-FortuneCookie, ph3ar__barbine-worldwide-legacy, ph3ar__mailthing-webby, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "automation-config",
      "file_count": 11,
      "normalized_name": "package",
      "paths": "mbarbine__PH3AR-WEBBY:package.json | mbarbine__ja4-sidecar:scripts/tests/package.json | mbarbine__ja4-vercel-lab-2:package.json | mbarbine__n8n:workspace/n8n/n8n/.n8n/nodes/package.json | mbarbine__n8n:workspace/n8n/.n8n/nodes/package.json | mbarbine__platphorm-webhook-simulator:package.json | mbarbine__platphormnews-www-prod:package.json | mbarbine__starphone-web-svelte:package.json | mbarbine__uberpidgeons:package.json | ph3ar__barbine-worldwide-legacy:package.json | ph3ar__newdittyswag-commerce:package.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 10,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__ja4-sidecar, mbarbine__ja4-vercel-lab-2, mbarbine__n8n, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte, mbarbine__uberpidgeons, ph3ar__barbine-worldwide-legacy, ph3ar__newdittyswag-commerce"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 10,
      "normalized_name": "ai-plugin",
      "paths": "mbarbine__autographed-bibles-webby:public/.well-known/ai-plugin.json | mbarbine__gta-6-countdown-webby:tests/ai-plugin.test.ts | mbarbine__ph3ar-admin-dashboard:public/.well-known/ai-plugin.json | mbarbine__ph3ar-blog:public/.well-known/ai-plugin.json | mbarbine__platphorm-content-showback-dashboard:public/.well-known/ai-plugin.json | mbarbine__platphorm-monitor:public/.well-known/ai-plugin.json | mbarbine__platphorm-openclaw:tests/.well-known/ai-plugin.test.ts | mbarbine__platphormnews-www-prod:static/.well-known/ai-plugin.json | mbarbine__two-doller-web:public/.well-known/ai-plugin.json | ph3ar__platphorm-admin-dashboard:public/.well-known/ai-plugin.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 10,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__gta-6-countdown-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphormnews-www-prod, mbarbine__two-doller-web, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "health-check",
      "file_count": 10,
      "normalized_name": "health",
      "paths": "mbarbine__autographed-bibles-webby:__tests__/health.test.ts | mbarbine__fashion-sadiepass-WWW:__tests__/health.test.ts | mbarbine__hot-chocolate-for-profit-webby:__tests__/health.test.ts | mbarbine__ja4mlab:packages/shared-http/src/health.ts | mbarbine__nuclear-power-plant-webby-NPaaS:__tests__/health.test.ts | mbarbine__platphorm-alleycats:__tests__/health.test.ts | mbarbine__platphorm-evals:tests/integration/health.test.ts | mbarbine__platphorm-json:__tests__/health.test.ts | mbarbine__platphorm-zine-reader:__tests__/health.test.ts | mbarbine__threatrelay-webby:__tests__/health.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 10,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4mlab, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-alleycats, mbarbine__platphorm-evals, mbarbine__platphorm-json, mbarbine__platphorm-zine-reader, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 10,
      "normalized_name": "model-adapter",
      "paths": "mbarbine__desert-bus:lib/model-adapter.ts | mbarbine__platphorm-cobol:lib/model-adapter.ts | mbarbine__platphorm-emoji:lib/model-adapter.ts | mbarbine__platphorm-json:lib/model-adapter.ts | mbarbine__platphorm-layout:lib/layout/model-adapter.ts | mbarbine__platphorm-mcp:lib/platform/model-adapter.ts | mbarbine__platphorm-mini-games-webby:lib/model-adapter.ts | mbarbine__platphorm-opendocs:lib/model-adapter.ts | mbarbine__platphorm-usl:lib/model-adapter.ts | mbarbine__platphorm-xml:lib/model-adapter.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 10,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-cobol, mbarbine__platphorm-emoji, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-opendocs, mbarbine__platphorm-usl, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "business-logic",
      "file_count": 10,
      "normalized_name": "platform",
      "paths": "mbarbine__platphorm-ascii:lib/ascii/platform.ts | mbarbine__platphorm-cobol:lib/platform.ts | mbarbine__platphorm-design:lib/phorm/platform.ts | mbarbine__platphorm-emoji:lib/platform.ts | mbarbine__platphorm-jobs:lib/platform.ts | mbarbine__platphorm-json:lib/platform.ts | mbarbine__platphorm-onboard:lib/onboard/platform.ts | mbarbine__platphorm-polymarket-rss-feed:lib/platform.ts | mbarbine__platphorm-usl:lib/platform.ts | mbarbine__platphorm-vercel-atlas:lib/platform.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 10,
      "repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-cobol, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-onboard, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "page",
      "file_count": 14,
      "normalized_name": "page",
      "paths": "mbarbine__nextjs-ai-4:app/(chat)/page.tsx | mbarbine__nextjs-ai-4:app/(chat)/chat/[id]/page.tsx | mbarbine__nextjs-ai-chatbot:app/(chat)/page.tsx | mbarbine__nextjs-ai-chatbot:app/(chat)/chat/[id]/page.tsx | mbarbine__ph3ar-chatbot:app/(chat)/page.tsx | mbarbine__ph3ar-chatbot:app/(chat)/chat/[id]/page.tsx | mbarbine__platphorm-agentui:app/(workspace)/dashboard/prompts/page.tsx | mbarbine__platphorm-auction-vice:app/docs/ai-roadmap/page.tsx | mbarbine__platphorm-evals:app/evals/page.tsx | mbarbine__platphorm-openclaw:app/chat/page.tsx | mbarbine__platphorm-openclaw:app/(dashboard)/agent/page.tsx | mbarbine__platphorm-podcasts:app/chat/page.tsx | mbarbine__platphorm-space-news:app/ai/chat/page.tsx | mbarbine__platphorm-space-news:app/ai/summary/page.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 9,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-evals, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-space-news"
    },
    {
      "component_kind": "backend-module",
      "file_count": 11,
      "normalized_name": "index",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/raphael/dev/index.js | mbarbine__Scripts:SORT/OpsClick_UI/routes/index.js | mbarbine__foxio-labs:api/labs/index.ts | mbarbine__platphorm-onboard:lib/db/index.ts | mbarbine__platphorm-openclaw:lib/db/index.ts | mbarbine__vanagain-dot-com-prod:tests/unit/db/index.test.ts | mbarbine__vanagain-dot-com-prod:lib/db/index.ts | ph3ar__DeskThing-FortuneCookie:server/index.ts | ph3ar__ph3ar-docs-enhanced-labs:api/labs/index.ts | ph3ar__ph3ar_radio_backend:dummy-server/src/index.ts | ph3ar__www_js_terminal:api/index.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 9,
      "repos": "mbarbine__Scripts, mbarbine__foxio-labs, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__vanagain-dot-com-prod, ph3ar__DeskThing-FortuneCookie, ph3ar__ph3ar-docs-enhanced-labs, ph3ar__ph3ar_radio_backend, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "business-logic",
      "file_count": 11,
      "normalized_name": "db",
      "paths": "mbarbine__Scripts:h4x/dagah-server/lib/db.py | mbarbine__barbineworldwide-2026-metahack:lib/db.ts | mbarbine__car-service-records:tests/lib/db.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/db.test.ts | mbarbine__platphorm-keys:__tests__/lib/db.test.ts | mbarbine__platphorm-keys:lib/keys/db.ts | mbarbine__platphorm-monitor:lib/db.ts | mbarbine__platphorm-monitor:lib/__tests__/db.test.ts | mbarbine__platphorm-openclaw:tests/lib/db.test.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/db.test.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/db.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 9,
      "repos": "mbarbine__Scripts, mbarbine__barbineworldwide-2026-metahack, mbarbine__car-service-records, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-keys, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 11,
      "normalized_name": "es",
      "paths": "mbarbine__airrow-commuter-balloon:messages/es.json | mbarbine__ph3ar-blog:src/messages/es.json | mbarbine__platphorm-auction-vice:messages/es.json | mbarbine__platphorm-bbs:messages/es.json | mbarbine__platphorm-insights:messages/es.json | mbarbine__platphorm-layout:messages/es.json | mbarbine__platphorm-onboard:messages/es.json | mbarbine__vanagain-dot-com-prod:messages/es.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/es.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/es.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/es.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 9,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 11,
      "normalized_name": "error-boundary",
      "paths": "mbarbine__beer-museum-manager-www:components/error-boundary.tsx | mbarbine__dogstar-cybernetics-webby:components/error-boundary.tsx | mbarbine__fashion-sadiepass-WWW:components/error-boundary.tsx | mbarbine__platphorm-agentui:tests/components/error-boundary.test.tsx | mbarbine__platphorm-agentui:components/error-boundary.tsx | mbarbine__platphorm-reader:components/error-boundary.tsx | mbarbine__platphorm-real-estate-NAD:components/error-boundary.tsx | mbarbine__platphorm-real-estate-NAD:components/providers/error-boundary.tsx | mbarbine__platphorm-shipments:__tests__/components/error-boundary.test.tsx | mbarbine__process-clone:components/error-boundary.tsx | mbarbine__stannp-gpt-5-test:components/error-boundary.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 9,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__dogstar-cybernetics-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-agentui, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-shipments, mbarbine__process-clone, mbarbine__stannp-gpt-5-test"
    },
    {
      "component_kind": "prompt-template",
      "file_count": 11,
      "normalized_name": "prompts",
      "paths": "mbarbine__nextjs-ai-4:lib/ai/prompts.ts | mbarbine__nextjs-ai-chatbot:lib/ai/prompts.ts | mbarbine__ph3ar-chatbot:lib/ai/prompts.ts | mbarbine__platphorm-agentui:lib/mcp/prompts.ts | mbarbine__platphorm-browserops:lib/mcp/prompts.ts | mbarbine__platphorm-evals:lib/mcp/prompts.ts | mbarbine__platphorm-mcp:tests/__tests__/prompts.test.ts | mbarbine__platphorm-mcp:lib/mcp/prompts.ts | mbarbine__platphorm-monitor:lib/mcp/prompts.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/prompts.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/prompts.test.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 9,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "observability-module",
      "file_count": 9,
      "normalized_name": "index",
      "paths": "mbarbine__aws-lab:terraform/lambda/index.js | mbarbine__evernote-js:index.js | mbarbine__instant-snap-postcard:supabase/functions/send-postcard/index.ts | mbarbine__legacy-platphorm-news:src/index.js | mbarbine__mailthing-main:.archive/tracking/index.ts | mbarbine__news-api:src/index.js | mbarbine__platphorm-layout:components/layout/index.ts | mbarbine__platphorm-sandbox:lib/cosmic/index.ts | process-co__npm-element-types:src/index.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 9,
      "repos": "mbarbine__aws-lab, mbarbine__evernote-js, mbarbine__instant-snap-postcard, mbarbine__legacy-platphorm-news, mbarbine__mailthing-main, mbarbine__news-api, mbarbine__platphorm-layout, mbarbine__platphorm-sandbox, process-co__npm-element-types"
    },
    {
      "component_kind": "process-document",
      "file_count": 9,
      "normalized_name": "principles",
      "paths": "mbarbine__calendar-app-webby:docs/principles.md | mbarbine__onboard-platphorm-boilerplate-repo:PRINCIPLES.md | mbarbine__platphorm-mcp:docs/principles.md | mbarbine__platphorm-onboard:docs/PRINCIPLES.md | mbarbine__platphorm-opencontent:PRINCIPLES.md | mbarbine__platphorm-opendocs:PRINCIPLES.md | mbarbine__platphorm-polymarket-rss-feed:PRINCIPLES.md | mbarbine__platphorm-polymaths:docs/PRINCIPLES.md | mbarbine__platphorm-trace:public/principles.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 9,
      "repos": "mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 9,
      "normalized_name": "llms-index",
      "paths": "mbarbine__car-service-records:public/llms-index.json | mbarbine__hot-chocolate-for-profit-webby:public/llms-index.json | mbarbine__ph3ar-blog:public/llms-index.json | mbarbine__platphorm-decks:public/llms-index.json | mbarbine__platphorm-finance:public/llms-index.json | mbarbine__platphorm-reader:public/llms-index.json | mbarbine__platphorm-redteam-arma-landing:public/llms-index.json | mbarbine__platphorm-signs:public/llms-index.json | mbarbine__two-doller-web:public/llms-index.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 9,
      "repos": "mbarbine__car-service-records, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ph3ar-blog, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-reader, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__two-doller-web"
    },
    {
      "component_kind": "openapi",
      "file_count": 9,
      "normalized_name": "openapi",
      "paths": "mbarbine__platphorm-evals:tests/integration/openapi.test.ts | mbarbine__platphorm-finance:public/schemas/openapi.json | mbarbine__platphorm-openclaw:public/openapi.json | mbarbine__platphorm-podcasts:__tests__/openapi.test.ts | mbarbine__platphorm-register:openapi.json | mbarbine__platphorm-trace:public/openapi.json | mbarbine__platphorm-webhook-simulator:public/openapi.json | mbarbine__starphone-web-svelte:public/openapi.json | mbarbine__two-doller-web:public/.well-known/openapi.json",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 9,
      "repos": "mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__starphone-web-svelte, mbarbine__two-doller-web"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 11,
      "normalized_name": "app",
      "paths": "mbarbine__PH3AR-WEBBY:src/app.css | mbarbine__instant-snap-postcard:src/App.css | mbarbine__legacy-platphorm-news:src/app.css | mbarbine__mailthing-client:src/App.css | mbarbine__news-api:src/app.css | mbarbine__vanagain-site:admin/resources/assets/sass/app.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/v1/app.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/app.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/kama/app.css | ph3ar__barbine-worldwide-legacy:src/App.css | ph3ar__newdittyswag-commerce:src/app.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 8,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__instant-snap-postcard, mbarbine__legacy-platphorm-news, mbarbine__mailthing-client, mbarbine__news-api, mbarbine__vanagain-site, ph3ar__barbine-worldwide-legacy, ph3ar__newdittyswag-commerce"
    },
    {
      "component_kind": "business-logic",
      "file_count": 11,
      "normalized_name": "tools",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/tools.js | mbarbine__platphorm-agentui:lib/mcp/tools.ts | mbarbine__platphorm-browserops:lib/mcp/tools.ts | mbarbine__platphorm-evals:lib/mcp/tools.ts | mbarbine__platphorm-insights:lib/mcp/tools.ts | mbarbine__platphorm-monitor:lib/mcp/tools.ts | mbarbine__platphorm-monitor:lib/mcp/__tests__/tools.test.ts | mbarbine__platphorm-openclaw:tests/lib/tools.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/mcp/tools.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/tools.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/tools.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 8,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 11,
      "normalized_name": "route",
      "paths": "mbarbine__gta-6-countdown-webby:app/.well-known/ai-plugin.json/route.ts | mbarbine__platphorm-layout:app/.well-known/ai-plugin.json/route.ts | mbarbine__platphorm-mini-games-webby:app/.well-known/ai-plugin.json/route.ts | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/recommend/route.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/analyze/route.js | mbarbine__platphorm-real-estate:app/api/ai/rank-buyers/route.test.ts | mbarbine__platphorm-real-estate:app/api/ai/filter-properties/route.test.ts | mbarbine__platphorm-space-news:app/ai-plugin.json/route.ts | mbarbine__platphorm-trace:tests/app/api/v1/ai/analyze/route.test.ts | mbarbine__process-clone:app/api/webhooks/email/route.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 8,
      "repos": "mbarbine__gta-6-countdown-webby, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-podcasts, mbarbine__platphorm-real-estate, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 10,
      "normalized_name": "faq",
      "paths": "mbarbine__automotive-flamethrower-webby:tests/faq.test.tsx | mbarbine__automotive-flamethrower-webby:components/faq.tsx | mbarbine__drone-reel-webby:components/sections/faq.test.tsx | mbarbine__drone-reel-webby:components/sections/faq.tsx | mbarbine__front-runners-webby:components/faq.tsx | mbarbine__platphorm-json:__tests__/faq.test.tsx | mbarbine__platphorm-jules:app/(main)/faq/faq.test.tsx | mbarbine__platphorm-kanban:components/faq.tsx | mbarbine__scratchcraft:components/faq.tsx | mbarbine__stripper-mug-webby:components/faq.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 8,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__drone-reel-webby, mbarbine__front-runners-webby, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__scratchcraft, mbarbine__stripper-mug-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 9,
      "normalized_name": "testimonials",
      "paths": "mbarbine__Joshs-magnets-landing-page:components/testimonials.tsx | mbarbine__barbineworldwide-2026-metahack:components/sections/testimonials.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/sections/testimonials.test.tsx | mbarbine__crafted-virginia-website:components/testimonials.tsx | mbarbine__dogstar-cybernetics-webby:components/sections/testimonials.tsx | mbarbine__glass-blowing-website:components/testimonials.tsx | mbarbine__mermaid-next-www:components/Testimonials.tsx | mbarbine__scratchcraft:components/testimonials.tsx | ph3ar__mermaid-www:app/components/Testimonials.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 8,
      "repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__barbineworldwide-2026-metahack, mbarbine__crafted-virginia-website, mbarbine__dogstar-cybernetics-webby, mbarbine__glass-blowing-website, mbarbine__mermaid-next-www, mbarbine__scratchcraft, ph3ar__mermaid-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 8,
      "normalized_name": "cta-section",
      "paths": "mbarbine__LogSlash-w6:components/cta-section.tsx | mbarbine__barbineworldwide-2026-metahack:components/sections/cta-section.tsx | mbarbine__platphorm-content-showback-dashboard:components/cta-section.tsx | mbarbine__platphorm-emoji:components/landing/cta-section.tsx | mbarbine__platphorm-jobs:components/landing/cta-section.tsx | mbarbine__platphorm-polymaths:components/sections/cta-section.tsx | mbarbine__platphorm-signs:components/sections/cta-section.tsx | mbarbine__spectrum-canine-www:components/cta-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 8,
      "repos": "mbarbine__LogSlash-w6, mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-polymaths, mbarbine__platphorm-signs, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 8,
      "normalized_name": "app-sidebar",
      "paths": "mbarbine__calendar-app-webby:components/layout/app-sidebar.tsx | mbarbine__nextjs-ai-4:components/app-sidebar.tsx | mbarbine__nextjs-ai-chatbot:components/app-sidebar.tsx | mbarbine__ph3ar-chatbot:components/app-sidebar.tsx | mbarbine__platphorm-news-alt-theme:components/app-sidebar.tsx | mbarbine__platphorm-real-estate:components/app-sidebar.tsx | mbarbine__platphorm-sandbox:components/app-sidebar.tsx | mbarbine__platphorm-spec-workbench:components/layout/app-sidebar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 8,
      "repos": "mbarbine__calendar-app-webby, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-real-estate, mbarbine__platphorm-sandbox, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "api-route",
      "file_count": 8,
      "normalized_name": "mcp",
      "paths": "mbarbine__calendar-app-webby:__tests__/api/v1/mcp.test.ts | mbarbine__platphorm-agentui:tests/api/mcp.test.ts | mbarbine__platphorm-insights:tests/api/mcp.test.ts | mbarbine__platphorm-kanban:__tests__/api/mcp.test.ts | mbarbine__platphorm-layout:tests/api/mcp.test.ts | mbarbine__platphorm-radio-backend:__tests__/api/mcp.test.ts | mbarbine__platphorm-reader:tests/api/mcp.test.ts | mbarbine__starphone-web-svelte:tests/api/mcp.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 8,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "backend-module",
      "file_count": 12,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-base:__tests__/app/rss.xml/route.test.ts | mbarbine__platphorm-base:__tests__/app/sitemap.xml/route.test.ts | mbarbine__platphorm-layout:app/llms.txt/route.test.ts | mbarbine__platphorm-layout:app/sitemap.xml/route.test.ts | mbarbine__platphorm-layout:app/robots.txt/route.test.ts | mbarbine__platphorm-mcp:tests/__tests__/route.test.ts | mbarbine__platphorm-quake:__tests__/app/llms.txt/route.test.ts | mbarbine__platphorm-quake:__tests__/app/llms-index.json/route.test.ts | mbarbine__platphorm-trace:tests/app/feed.xml/route.test.ts | mbarbine__platphorm-webhook-simulator:app/llms.txt/route.test.ts | mbarbine__platphorm-webhook-simulator:app/feed.xml/route.test.ts | mbarbine__platphorm-xml:app/llms-index.json/route.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 7,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-quake, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "business-logic",
      "file_count": 11,
      "normalized_name": "emoji",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/emoji.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/emoji.ts | mbarbine__platphorm-bbs:lib/api/emoji.ts | mbarbine__platphorm-onboard:lib/emoji.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/emoji.test.ts | mbarbine__platphorm-opencontent:lib/emoji.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/emoji.test.ts | mbarbine__platphorm-opendocs:lib/emoji.ts | mbarbine__platphorm-polymarket-rss-feed:lib/emoji.ts | mbarbine__platphorm-shipments:__tests__/lib/emoji.test.ts | mbarbine__platphorm-shipments:lib/emoji.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 7,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 9,
      "normalized_name": "index",
      "paths": "mbarbine__evernote-js:index.tsx | mbarbine__platphorm-json:components/json-tree/index.tsx | mbarbine__platphorm-layout:components/providers/index.tsx | mbarbine__platphorm-trace:components/lc3rs/index.tsx | mbarbine__platphorm-trace:components/lcars/index.tsx | ph3ar__mailthing-webby:archive/dashboards/index.tsx | ph3ar__mailthing-webby:pages/index.tsx | ph3ar__ph3ar_radio_backend:client/src/index.tsx | process-co__npm-element-dev-server:.process/index.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__evernote-js, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-trace, ph3ar__mailthing-webby, ph3ar__ph3ar_radio_backend, process-co__npm-element-dev-server"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 9,
      "normalized_name": "locale-switcher",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:components/locale-switcher.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/locale-switcher.test.tsx | mbarbine__platphorm-bbs:components/locale-switcher.tsx | mbarbine__platphorm-insights:tests/components/layout/locale-switcher.test.tsx | mbarbine__platphorm-insights:components/layout/locale-switcher.tsx | mbarbine__platphorm-layout:components/layout/locale-switcher.tsx | mbarbine__platphorm-onboard:components/locale-switcher.tsx | mbarbine__platphorm-opencontent:components/locale-switcher.tsx | mbarbine__platphorm-opendocs:components/locale-switcher.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "main",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/styles/main.scss | mbarbine__foxio-labs:styles/main.css | mbarbine__mailthing-client:src/main.css | mbarbine__ph3ar-web:public/main.scss | ph3ar__js_mongo_app_boilerplate:public/css/main.css | ph3ar__js_mongo_app_boilerplate:public/css/main.scss | ph3ar__ph3ar-docs-enhanced-labs:styles/main.css | ph3ar__stripe-subscription-starter:styles/main.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 7,
      "repos": "mbarbine__Scripts, mbarbine__foxio-labs, mbarbine__mailthing-client, mbarbine__ph3ar-web, ph3ar__js_mongo_app_boilerplate, ph3ar__ph3ar-docs-enhanced-labs, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "business-logic",
      "file_count": 8,
      "normalized_name": "rate-limit",
      "paths": "mbarbine__beer-museum-manager-www:lib/rate-limit.ts | mbarbine__platphorm-insights:lib/rate-limit.ts | mbarbine__platphorm-reader:lib/rate-limit.ts | mbarbine__platphorm-register:lib/rate-limit.ts | mbarbine__platphorm-shipments:__tests__/lib/rate-limit.test.ts | mbarbine__platphorm-shipments:lib/rate-limit.ts | mbarbine__platphorm-trace:lib/security/rate-limit.ts | mbarbine__vanagain-dot-com-prod:lib/api/rate-limit.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 7,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-insights, mbarbine__platphorm-reader, mbarbine__platphorm-register, mbarbine__platphorm-shipments, mbarbine__platphorm-trace, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 8,
      "normalized_name": "network",
      "paths": "mbarbine__ph3ar-blog:public/network.json | mbarbine__platphorm-alleycats:__tests__/integration/network.test.ts | mbarbine__platphorm-browserops:types/network.ts | mbarbine__platphorm-browserops:tests-e2e/network.spec.ts | mbarbine__platphorm-mcp:tests/__tests__/network.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/unit/network.test.ts | mbarbine__platphorm-zine-reader:__tests__/integration/network.test.ts | mbarbine__reflux-site-webby:public/network.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 7,
      "repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-alleycats, mbarbine__platphorm-browserops, mbarbine__platphorm-mcp, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-zine-reader, mbarbine__reflux-site-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 8,
      "normalized_name": "env",
      "paths": "mbarbine__platphorm-agentui:lib/config/env.ts | mbarbine__platphorm-browserops:lib/config/env.ts | mbarbine__platphorm-evals:lib/config/env.ts | mbarbine__platphorm-layout:lib/config/env.ts | mbarbine__platphorm-trace:lib/env.ts | mbarbine__platphorm-webhook-simulator:lib/config/env.test.ts | mbarbine__platphorm-webhook-simulator:lib/config/env.ts | mbarbine__process-clone:lib/env.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 7,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-layout, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 7,
      "normalized_name": "features",
      "paths": "mbarbine__FlaskFlow-www:components/features.tsx | mbarbine__Joshs-magnets-landing-page:components/features.tsx | mbarbine__automotive-flamethrower-webby:components/features.tsx | mbarbine__email-reading-service-webby:components/features.tsx | mbarbine__scratchcraft:components/features.tsx | mbarbine__stripper-mug-webby:components/features.tsx | mbarbine__vanagon-website:components/sections/features.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__automotive-flamethrower-webby, mbarbine__email-reading-service-webby, mbarbine__scratchcraft, mbarbine__stripper-mug-webby, mbarbine__vanagon-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 7,
      "normalized_name": "twitter-image",
      "paths": "mbarbine__airrow-commuter-balloon:app/[locale]/twitter-image.tsx | mbarbine__autographed-bibles-webby:app/twitter-image.tsx | mbarbine__gta-6-countdown-webby:app/twitter-image.tsx | mbarbine__platphorm-desa:app/twitter-image.tsx | mbarbine__platphorm-design:app/twitter-image.tsx | mbarbine__platphorm-reader:app/twitter-image.tsx | mbarbine__platphorm-spec-workbench:app/twitter-image.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "products",
      "paths": "mbarbine__autographed-bibles-webby:lib/products.ts | mbarbine__global-anti-globalist-club-webby:lib/products.ts | mbarbine__hot-chocolate-for-profit-webby:lib/products.ts | mbarbine__platphorm-content-showback-dashboard:lib/products.ts | mbarbine__reflux-site-webby:lib/products.ts | mbarbine__robbie-ds-greens-webby:lib/products.ts | mbarbine__vanagain-dot-com-prod:lib/products.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 7,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-content-showback-dashboard, mbarbine__reflux-site-webby, mbarbine__robbie-ds-greens-webby, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 7,
      "normalized_name": "webhooks",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/api/webhooks.test.ts | mbarbine__calendar-app-webby:__tests__/api/v1/webhooks.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/webhooks.test.ts | mbarbine__platphorm-auction-vice:tests/api/webhooks.test.ts | mbarbine__platphorm-jobs:__tests__/api/webhooks.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/webhooks.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/webhooks.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 7,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-auction-vice, mbarbine__platphorm-jobs, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 7,
      "normalized_name": "code-editor",
      "paths": "mbarbine__doflo-clone:components/code-editor.tsx | mbarbine__nextjs-ai-4:components/code-editor.tsx | mbarbine__nextjs-ai-chatbot:components/code-editor.tsx | mbarbine__ph3ar-chatbot:components/code-editor.tsx | mbarbine__platphorm-desa:components/editor/code-editor.tsx | mbarbine__platphorm-sandbox:components/code-editor.tsx | mbarbine__process-clone:components/editor/code-editor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__doflo-clone, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-desa, mbarbine__platphorm-sandbox, mbarbine__process-clone"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "api",
      "paths": "mbarbine__evernote-js:src/lib/api.ts | mbarbine__ph3ar-blog:src/lib/api.ts | mbarbine__platphorm-codex:lib/codex/api.ts | mbarbine__platphorm-desa:lib/__tests__/api.test.ts | mbarbine__platphorm-polymaths:lib/platphorm/api.ts | mbarbine__platphorm-sandbox:lib/types/api.ts | mbarbine__platphorm-shipments:lib/types/api.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 7,
      "repos": "mbarbine__evernote-js, mbarbine__ph3ar-blog, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-polymaths, mbarbine__platphorm-sandbox, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 7,
      "normalized_name": "product-card",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:components/product-card.tsx | mbarbine__platphorm-newdittyswag-www:components/product-card.tsx | mbarbine__reflux-site-webby:components/product-card.tsx | mbarbine__robbie-ds-greens-webby:components/products/product-card.tsx | mbarbine__robot-clothing-marketplace:components/product-card.tsx | mbarbine__vanagain-2025:components/product-card.tsx | mbarbine__vanagain-dot-com-prod:components/products/product-card.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-newdittyswag-www, mbarbine__reflux-site-webby, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__vanagain-2025, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "auth",
      "file_count": 7,
      "normalized_name": "auth",
      "paths": "mbarbine__nextjs-ai-4:app/(auth)/auth.ts | mbarbine__nextjs-ai-chatbot:app/(auth)/auth.ts | mbarbine__ph3ar-admin-dashboard:lib/auth.ts | mbarbine__ph3ar-chatbot:app/(auth)/auth.ts | mbarbine__platphorm-content-showback-dashboard:app/actions/auth.ts | mbarbine__platphorm-space-news:__tests__/unit/auth.test.ts | ph3ar__platphorm-admin-dashboard:lib/auth.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 7,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-space-news, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 7,
      "normalized_name": "icons",
      "paths": "mbarbine__nextjs-ai-4:components/icons.tsx | mbarbine__nextjs-ai-chatbot:components/icons.tsx | mbarbine__ph3ar-admin-dashboard:components/icons.tsx | mbarbine__ph3ar-chatbot:components/icons.tsx | mbarbine__vanlife-website:components/icons.tsx | ph3ar__newdittyswag-commerce:src/components/Icons.svelte | ph3ar__platphorm-admin-dashboard:components/icons.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 7,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__vanlife-website, ph3ar__newdittyswag-commerce, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 17,
      "normalized_name": "index",
      "paths": "mbarbine__mailthing-main:components/ui/Navbar/index.ts | mbarbine__mailthing-main:components/ui/Footer/index.ts | mbarbine__mailthing-main:components/ui/Card/index.ts | mbarbine__mailthing-main:components/ui/Input/index.ts | mbarbine__mailthing-main:components/ui/LoadingDots/index.ts | mbarbine__mailthing-main:components/ui/Button/index.ts | mbarbine__platphorm-agentui:components/ui/index.ts | mbarbine__platphorm-quake:components/ui/chart/index.ts | mbarbine__platphorm-trace:components/ui/sidebar/index.ts | mbarbine__turborepo-react-native:packages/ui/src/index.tsx | ph3ar__stripe-subscription-starter:components/ui/Navbar/index.ts | ph3ar__stripe-subscription-starter:components/ui/Footer/index.ts | ph3ar__stripe-subscription-starter:components/ui/Card/index.ts | ph3ar__stripe-subscription-starter:components/ui/Input/index.ts | ph3ar__stripe-subscription-starter:components/ui/LoadingDots/index.ts | ph3ar__stripe-subscription-starter:components/ui/Button/index.ts | ph3ar__stripe-subscription-starter:components/ui/LogoCloud/index.ts",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 6,
      "repos": "mbarbine__mailthing-main, mbarbine__platphorm-agentui, mbarbine__platphorm-quake, mbarbine__platphorm-trace, mbarbine__turborepo-react-native, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "observability-module",
      "file_count": 13,
      "normalized_name": "app",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/app.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/app.js | mbarbine__Scripts:SORT/OpsClick_UI/src/js/app.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/app.js | mbarbine__ja4mlab:packages/shared-http/src/app.ts | mbarbine__mailthing:src/app.ts | mbarbine__vanagain-site:admin/public/assets/frontend/assets/base/js/app.js | ph3ar__js_mongo_app_boilerplate:app.js | ph3ar__js_mongo_app_boilerplate:test/app.js | ph3ar__www_js_terminal:app.js | ph3ar__www_js_terminal:test/app.test.js | ph3ar__www_js_terminal:www_js_terminal/app.js | ph3ar__www_js_terminal:www_js_terminal/www_js_terminal/app.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 6,
      "repos": "mbarbine__Scripts, mbarbine__ja4mlab, mbarbine__mailthing, mbarbine__vanagain-site, ph3ar__js_mongo_app_boilerplate, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "business-logic",
      "file_count": 10,
      "normalized_name": "analytics",
      "paths": "mbarbine__platphorm-design:lib/analytics.ts | mbarbine__platphorm-jules:lib/analytics.ts | mbarbine__platphorm-jules:lib/analytics.test.ts | mbarbine__platphorm-jules:lib/__tests__/analytics.test.ts | mbarbine__platphorm-mcp:lib/mcp/tools/analytics.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/analytics.test.ts | mbarbine__platphorm-opencontent:lib/analytics.ts | mbarbine__platphorm-reader:tests/lib/analytics.test.ts | mbarbine__platphorm-reader:lib/analytics.ts | mbarbine__platphorm-stannp-api-wrapper:lib/analytics.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__platphorm-design, mbarbine__platphorm-jules, mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent, mbarbine__platphorm-reader, mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 9,
      "normalized_name": "faq-section",
      "paths": "mbarbine__FlaskFlow-www:components/faq-section.tsx | mbarbine__platphorm-polymarket-rss-feed:components/faq-section.tsx | mbarbine__platphorm-polymaths:components/sections/faq-section.tsx | mbarbine__platphorm-polymaths:__tests__/components/faq-section.test.tsx | mbarbine__platphorm-polymaths:__tests__/components/sections/faq-section.test.tsx | mbarbine__platphorm-shipments:components/faq-section.tsx | mbarbine__platphorm-shipments:__tests__/components/faq-section.test.tsx | mbarbine__robbie-ds-greens-webby:components/home/faq-section.tsx | mbarbine__spectrum-canine-www:components/faq-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 6,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-shipments, mbarbine__robbie-ds-greens-webby, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 9,
      "normalized_name": "ph3ar-modal",
      "paths": "mbarbine__nuclear-power-plant-webby-NPaaS:components/ph3ar-modal.tsx | mbarbine__platphorm-insights:tests/components/ph3ar-modal.test.tsx | mbarbine__platphorm-insights:tests/components/layout/ph3ar-modal.test.tsx | mbarbine__platphorm-insights:components/ph3ar-modal.tsx | mbarbine__platphorm-insights:components/layout/ph3ar-modal.tsx | mbarbine__platphorm-kanban:components/ph3ar-modal.tsx | mbarbine__platphorm-monitor:components/shared/ph3ar-modal.tsx | mbarbine__platphorm-xml:components/ph3ar-modal.tsx | mbarbine__vanlife-website:components/ph3ar-modal.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 6,
      "repos": "mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-monitor, mbarbine__platphorm-xml, mbarbine__vanlife-website"
    },
    {
      "component_kind": "business-logic",
      "file_count": 9,
      "normalized_name": "registry",
      "paths": "mbarbine__platphorm-desa:lib/mcp/registry.ts | mbarbine__platphorm-desa:lib/mcp/__tests__/registry.test.ts | mbarbine__platphorm-insights:tests/lib/testing/registry.test.ts | mbarbine__platphorm-insights:lib/quality/registry.ts | mbarbine__platphorm-insights:lib/testing/registry.ts | mbarbine__platphorm-layout:lib/layout/registry.ts | mbarbine__platphorm-mcp:lib/mcp/registry.ts | mbarbine__platphorm-space-news:lib/space/registry.ts | mbarbine__platphorm-spec-workbench:lib/generators/mcp/registry.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__platphorm-desa, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "business-logic",
      "file_count": 8,
      "normalized_name": "storage",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/storage.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/lib/storage.js | mbarbine__car-service-records:lib/storage.ts | mbarbine__platphorm-codex:lib/codex/storage.ts | mbarbine__platphorm-kanban:__tests__/lib/storage.test.ts | mbarbine__platphorm-kanban:lib/storage.ts | mbarbine__platphorm-mini-games-webby:lib/storage.ts | mbarbine__platphorm-trace:lib/trace/storage.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__Scripts, mbarbine__car-service-records, mbarbine__platphorm-codex, mbarbine__platphorm-kanban, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "business-logic",
      "file_count": 8,
      "normalized_name": "events",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/events.js | mbarbine__desert-bus:lib/events.ts | mbarbine__platphorm-insights:tests/lib/analytics/events.test.ts | mbarbine__platphorm-insights:lib/analytics/events.ts | mbarbine__platphorm-jobs:__tests__/lib/events.test.ts | mbarbine__platphorm-jobs:lib/events.ts | mbarbine__platphorm-mcp:lib/mcp/tools/events.ts | mbarbine__platphorm-mini-games-webby:lib/events.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__Scripts, mbarbine__desert-bus, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby"
    },
    {
      "component_kind": "observability-module",
      "file_count": 8,
      "normalized_name": "fr",
      "paths": "mbarbine__airrow-commuter-balloon:messages/fr.json | mbarbine__ph3ar-blog:src/messages/fr.json | mbarbine__platphorm-insights:messages/fr.json | mbarbine__platphorm-layout:messages/fr.json | mbarbine__platphorm-onboard:messages/fr.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/fr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/fr.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 6,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 7,
      "normalized_name": "settings",
      "paths": "mbarbine__Scripts:SORT/OpsClick_website/opsclick/settings.py | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/spec_runner/settings.json | mbarbine__n8n:.vscode/settings.json | mbarbine__ph3ar-blog:.vscode/settings.json | mbarbine__platphorm-opencontent:__tests__/performance/settings.test.ts | mbarbine__platphorm-opendocs:__tests__/performance/settings.test.ts | mbarbine__platphormnews-www-prod:.vscode/settings.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 6,
      "repos": "mbarbine__Scripts, mbarbine__n8n, mbarbine__ph3ar-blog, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "automation-config",
      "file_count": 7,
      "normalized_name": "settings",
      "paths": "mbarbine__Scripts:o365/o365-Scripts/Office 365 for IT Pros/.vscode/settings.json | mbarbine__Scripts:.vscode/settings.json | mbarbine__ja4-vercel-lab-2:.vscode/settings.json | mbarbine__msicrafter:.vscode/settings.json | mbarbine__onboard-platphorm-boilerplate-repo:.vscode/settings.json | mbarbine__platphorm-opendocs:.vscode/settings.json | mbarbine__starphone-web-svelte:.vscode/settings.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 6,
      "repos": "mbarbine__Scripts, mbarbine__ja4-vercel-lab-2, mbarbine__msicrafter, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opendocs, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 7,
      "normalized_name": "dashboard",
      "paths": "mbarbine__beer-museum-manager-www:components/admin/dashboard.tsx | mbarbine__desert-bus:components/desert-bus/dashboard.tsx | mbarbine__desert-bus:__tests__/components/desert-bus/dashboard.test.tsx | mbarbine__ja4-vercel-lab-2:app/components/Dashboard.tsx | mbarbine__platphorm-finance:components/kokonutui/dashboard.tsx | mbarbine__process-clone:__tests__/dashboard.test.tsx | ph3ar__mailthing-webby:pages/dashboard.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 6,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__desert-bus, mbarbine__ja4-vercel-lab-2, mbarbine__platphorm-finance, mbarbine__process-clone, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "metadata",
      "paths": "mbarbine__fortune-cookie-webby-yj:lib/platform/metadata.ts | mbarbine__gta-6-countdown-webby:lib/metadata.ts | mbarbine__platphorm-evals:lib/standards/metadata.ts | mbarbine__platphorm-quake:lib/platform/metadata.ts | mbarbine__platphorm-spec-workbench:lib/platphorm/metadata.ts | mbarbine__platphorm-webhook-simulator:lib/standards/metadata.test.ts | mbarbine__platphorm-webhook-simulator:lib/standards/metadata.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-evals, mbarbine__platphorm-quake, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "schemas",
      "paths": "mbarbine__platphorm-ascii:__tests__/schemas.test.ts | mbarbine__platphorm-dictionary:tests/schemas.test.ts | mbarbine__platphorm-evals:lib/mcp/schemas.ts | mbarbine__platphorm-openclaw:tests/schemas/schemas.test.ts | mbarbine__platphorm-openclaw:tests/lib/schemas.test.ts | mbarbine__platphorm-podcasts:lib/openapi/schemas.ts | mbarbine__platphorm-trace:tests/schemas.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 6,
      "normalized_name": "sitemap",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/app/sitemap.test.ts | mbarbine__email-reading-service-webby:e2e/sitemap.spec.ts | mbarbine__fashion-sadiepass-WWW:__tests__/sitemap.test.ts | mbarbine__platphorm-quake:__tests__/app/sitemap.test.ts | mbarbine__platphorm-trace:tests/app/sitemap.test.ts | ph3ar__platphorm-admin-dashboard:app/__tests__/sitemap.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 6,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-quake, mbarbine__platphorm-trace, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "navigation",
      "paths": "mbarbine__burrito-dealer-www:components/navigation.tsx | mbarbine__nuclear-power-plant-webby-NPaaS:components/navigation.tsx | mbarbine__platphorm-content-showback-dashboard:components/navigation.tsx | mbarbine__platphorm-decks:components/navigation.tsx | mbarbine__platphorm-redteam-arma-landing:components/navigation.tsx | mbarbine__vanlife-website:components/navigation.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 6,
      "repos": "mbarbine__burrito-dealer-www, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-redteam-arma-landing, mbarbine__vanlife-website"
    },
    {
      "component_kind": "automation-config",
      "file_count": 6,
      "normalized_name": "eslint-config",
      "paths": "mbarbine__calendar-app-webby:eslint.config.mjs | mbarbine__fortune-cookie-webby-yj:eslint.config.mjs | mbarbine__platphorm-evals:eslint.config.mjs | mbarbine__platphorm-kanban:eslint.config.mjs | mbarbine__platphorm-opendocs:eslint.config.mjs | mbarbine__platphorm-quake:eslint.config.mjs",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 6,
      "repos": "mbarbine__calendar-app-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-evals, mbarbine__platphorm-kanban, mbarbine__platphorm-opendocs, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "network-discovery",
      "paths": "mbarbine__calendar-app-webby:lib/network-discovery.ts | mbarbine__platphorm-insights:lib/platform/network-discovery.ts | mbarbine__platphorm-jules:lib/server/network-discovery.ts | mbarbine__platphorm-polymarket-rss-feed:lib/network-discovery.ts | mbarbine__platphorm-polymaths:lib/platphorm/network-discovery.ts | mbarbine__platphorm-svg-factory:lib/network-discovery.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-insights, mbarbine__platphorm-jules, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "recent-activity",
      "paths": "mbarbine__car-service-records:components/recent-activity.tsx | mbarbine__civic-engagement-platform-webby:components/municipality/recent-activity.tsx | mbarbine__platphorm-agentui:app/(workspace)/dashboard/components/recent-activity.tsx | mbarbine__platphorm-bbs:components/bbs/recent-activity.tsx | mbarbine__platphorm-monitor:components/dashboard/recent-activity.tsx | mbarbine__platphorm-real-estate-NAD:components/analytics/recent-activity.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 6,
      "repos": "mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-monitor, mbarbine__platphorm-real-estate-NAD"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "about",
      "paths": "mbarbine__dogstar-cybernetics-webby:components/sections/about.tsx | mbarbine__drone-reel-webby:components/sections/about.tsx | mbarbine__front-runners-webby:components/about.tsx | mbarbine__mermaid-next-www:components/About.tsx | ph3ar__mailthing-webby:pages/about.tsx | ph3ar__mermaid-www:app/components/About.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 6,
      "repos": "mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__front-runners-webby, mbarbine__mermaid-next-www, ph3ar__mailthing-webby, ph3ar__mermaid-www"
    },
    {
      "component_kind": "security-module",
      "file_count": 6,
      "normalized_name": "setup",
      "paths": "mbarbine__fortune-cookie-webby-yj:tests/setup.ts | mbarbine__platphorm-auction-vice:tests/setup.ts | mbarbine__platphorm-jobs:__tests__/setup.ts | mbarbine__platphorm-keys:__tests__/setup.ts | mbarbine__platphorm-reader:tests/setup.ts | mbarbine__platphorm-vercel-atlas:__tests__/setup.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 6,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-auction-vice, mbarbine__platphorm-jobs, mbarbine__platphorm-keys, mbarbine__platphorm-reader, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "security",
      "paths": "mbarbine__fortune-cookie-webby-yj:lib/platform/security.ts | mbarbine__platphorm-bbs:lib/bbs/security.ts | mbarbine__platphorm-insights:lib/api/security.ts | mbarbine__platphorm-mcp:lib/mcp/security.ts | mbarbine__platphorm-sheets:lib/sheets/security.ts | mbarbine__platphormnews-www-prod:src/lib/security.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 6,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-mcp, mbarbine__platphorm-sheets, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 6,
      "normalized_name": "model",
      "paths": "mbarbine__fortune-cookie-webby-yj:lib/fortune/model.ts | mbarbine__platphorm-404:lib/platform/model.ts | mbarbine__platphorm-bbs:lib/bbs/model.ts | mbarbine__platphorm-insights:lib/phase2/model.ts | mbarbine__platphorm-msi-editor:lib/platform/model.ts | mbarbine__platphorm-onboard:lib/onboard/model.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 6,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "sitemap",
      "file_count": 6,
      "normalized_name": "sitemap",
      "paths": "mbarbine__gta-6-countdown-webby:tests/sitemap.test.ts | mbarbine__ja4mlab:packages/shared-http/src/sitemap.ts | mbarbine__platphorm-msi-editor:app/sitemap.test.ts | mbarbine__platphorm-openclaw:tests/sitemap.test.ts | mbarbine__platphorm-real-estate-NAD:__tests__/sitemap.test.ts | mbarbine__platphorm-wrestling-webby:__tests__/sitemap.test.ts",
      "primary_category": "discovery",
      "recommendation": "Promote to @platphorm/discovery for sitemaps, feeds, OpenAPI, llms, metadata, and robots.",
      "repo_count": 6,
      "repos": "mbarbine__gta-6-countdown-webby, mbarbine__ja4mlab, mbarbine__platphorm-msi-editor, mbarbine__platphorm-openclaw, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-wrestling-webby"
    },
    {
      "component_kind": "integration-module",
      "file_count": 6,
      "normalized_name": "vercel",
      "paths": "mbarbine__legacy-platphorm-news:src/vercel.json | mbarbine__news-api:src/vercel.json | mbarbine__platphorm-svg-factory:vercel.json | mbarbine__process-clone:vercel.json | mbarbine__starphone-web-svelte:vercel.json | ph3ar__ph3ar-docs-enhanced-labs:vercel.json",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 6,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-svg-factory, mbarbine__process-clone, mbarbine__starphone-web-svelte, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 6,
      "normalized_name": "test-api",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:scripts/test-api.ts | mbarbine__platphorm-dictionary:scripts/test-api.ts | mbarbine__platphorm-opencontent:scripts/test-api.ts | mbarbine__platphorm-opendocs:scripts/test-api.ts | mbarbine__platphorm-real-estate-property-evaluation:test-api.py | mbarbine__vanlife-website:scripts/test-api.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 6,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-dictionary, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__vanlife-website"
    },
    {
      "component_kind": "deployment-automation",
      "file_count": 6,
      "normalized_name": "vercel-metadata",
      "paths": "mbarbine__platphorm-404:lib/platform/vercel-metadata.ts | mbarbine__platphorm-jules:lib/server/vercel-metadata.ts | mbarbine__platphorm-mini-games-webby:lib/vercel-metadata.ts | mbarbine__platphorm-monitor:lib/monitor/vercel-metadata.ts | mbarbine__platphorm-polymarket-rss-feed:lib/vercel-metadata.ts | mbarbine__platphorm-xml:lib/vercel-metadata.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 6,
      "repos": "mbarbine__platphorm-404, mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "observability-module",
      "file_count": 6,
      "normalized_name": "discovery",
      "paths": "mbarbine__platphorm-ascii:__tests__/discovery.test.ts | mbarbine__platphorm-auction-vice:tests/seo/discovery.test.ts | mbarbine__platphorm-evals:tests/integration/discovery.test.ts | mbarbine__platphorm-insights:tests/scoring/discovery.test.ts | mbarbine__platphorm-layout:tests/layout/discovery.test.ts | mbarbine__platphorm-vercel-atlas:__tests__/discovery.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 6,
      "repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "process-document",
      "file_count": 6,
      "normalized_name": "llms-index",
      "paths": "mbarbine__platphorm-content-showback-dashboard:public/llms-index.txt | mbarbine__platphorm-real-estate:public/.well-known/llms-index.txt | mbarbine__platphorm-vercel-atlas:public/llms-index.txt | mbarbine__stripper-mug-webby:public/.well-known/llms-index.txt | ph3ar__platphorm-admin-dashboard:public/llms-index.txt | ph3ar__stripe-subscription-starter:public/llms-index.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 6,
      "repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-real-estate, mbarbine__platphorm-vercel-atlas, mbarbine__stripper-mug-webby, ph3ar__platphorm-admin-dashboard, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "specification",
      "file_count": 20,
      "normalized_name": "requirements",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/requirements.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/requirements.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/requirements.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/requirements.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/requirements.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/requirements.txt | mbarbine__Scripts:python3/requirements.txt | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/requirements.txt | mbarbine__Scripts:SORT/OpsClick_website/requirements.txt | mbarbine__Scripts:SORT/OpsClick_BE_Pricing/requirements.txt | mbarbine__Scripts:python/requirements.txt | mbarbine__Scripts:python/wiki-table-scrape-master/requirements.txt | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/requirements.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patenthub/requirements.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patenthub/requirements.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patenthub/requirements.yaml | mbarbine__cdf-sanitize:requirements.txt | mbarbine__ph3ar-blog:scripts/requirements.txt | mbarbine__platphorm-business-EmployerServicesIncorporated:requirements.txt | mbarbine__xsociety:requirements.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__cdf-sanitize, mbarbine__ph3ar-blog, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 19,
      "normalized_name": "page",
      "paths": "mbarbine__PH3AR-WEBBY:src/routes/+page.js | mbarbine__PH3AR-WEBBY:src/routes/about/+page.js | mbarbine__PH3AR-WEBBY:src/routes/watch-this/page.test.ts | mbarbine__legacy-platphorm-news:src/routes/+page.js | mbarbine__news-api:src/routes/+page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page.js | mbarbine__platphormnews-www-prod:src/routes/top/+page.ts | mbarbine__platphormnews-www-prod:src/routes/ask/+page.ts | mbarbine__platphormnews-www-prod:src/routes/platform/+page.ts | mbarbine__platphormnews-www-prod:src/routes/show/+page.ts | mbarbine__platphormnews-www-prod:src/routes/best/+page.ts | mbarbine__platphormnews-www-prod:src/routes/games/+page.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 5,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-podcasts, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "utility",
      "file_count": 9,
      "normalized_name": "api-helpers",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/api-helpers.test.ts | mbarbine__calendar-app-webby:lib/api-helpers.ts | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/api-helpers.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/api-helpers.ts | mbarbine__platphorm-onboard:lib/api-helpers.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/api-helpers.test.ts | mbarbine__platphorm-opencontent:lib/api-helpers.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/api-helpers.test.ts | mbarbine__platphorm-opendocs:lib/api-helpers.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 8,
      "normalized_name": "validation",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/backend/validation.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/validation/validation.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/prototype/validation.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/tests/lib/mage/validation.test.js | mbarbine__ja4mlab:packages/shared-mcp/src/validation.ts | mbarbine__platphorm-insights:lib/phase2/validation.ts | mbarbine__platphorm-podcasts:__tests__/validation.test.ts | mbarbine__stannp-nextjs-bp:app/utils/validation.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__ja4mlab, mbarbine__platphorm-insights, mbarbine__platphorm-podcasts, mbarbine__stannp-nextjs-bp"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 8,
      "normalized_name": "login",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/login.svelte | mbarbine__legacy-platphorm-news:src/routes/api/auth/login.svelte | mbarbine__mailthing-client:src/components/Login.tsx | mbarbine__mailthing-main:.archive/StannpForms/Login.tsx | mbarbine__news-api:src/login.svelte | mbarbine__news-api:src/routes/login.svelte | mbarbine__news-api:src/routes/api/auth/login.svelte | ph3ar__mailthing-webby:pages/auth/login.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__mailthing-client, mbarbine__mailthing-main, mbarbine__news-api, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "automation-config",
      "file_count": 8,
      "normalized_name": "automation",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/automation.test.ts | mbarbine__platphorm-kanban:__tests__/lib/automation.test.ts | mbarbine__platphorm-kanban:lib/automation.ts | mbarbine__platphorm-openclaw:scripts/automation.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/automation.test.ts | mbarbine__platphorm-opencontent:__tests__/performance/automation.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/automation.test.ts | mbarbine__platphorm-opendocs:__tests__/performance/automation.test.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 5,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-kanban, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 8,
      "normalized_name": "redis",
      "paths": "mbarbine__platphorm-bbs:lib/redis.ts | mbarbine__platphorm-bbs:lib/redis.test.ts | mbarbine__platphorm-mcp:lib/mcp/redis.ts | mbarbine__platphorm-openclaw:tests/lib/redis.test.ts | mbarbine__platphorm-openclaw:lib/redis.ts | mbarbine__platphorm-trace:tests/lib/redis.test.ts | mbarbine__platphorm-trace:lib/redis.ts | mbarbine__vanagain-dot-com-prod:lib/redis.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-mcp, mbarbine__platphorm-openclaw, mbarbine__platphorm-trace, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "process-document",
      "file_count": 7,
      "normalized_name": "faq",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/flot/FAQ.md | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/faq.md | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/docs/faq.md | mbarbine__calendar-app-webby:docs/faq.md | mbarbine__platphorm-podcasts:FAQ.md | mbarbine__platphorm-vercel-atlas:docs/FAQ.md | mbarbine__xsociety:html/components/flot/FAQ.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__calendar-app-webby, mbarbine__platphorm-podcasts, mbarbine__platphorm-vercel-atlas, mbarbine__xsociety"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 7,
      "normalized_name": "models",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/core/models.py | mbarbine__Scripts:SORT/OpsClick_website/sign_up/models.py | mbarbine__nextjs-ai-4:lib/ai/models.ts | mbarbine__nextjs-ai-chatbot:lib/ai/models.ts | mbarbine__ph3ar-chatbot:lib/ai/models.test.ts | mbarbine__ph3ar-chatbot:lib/ai/models.ts | ph3ar__js_mongo_app_boilerplate:test/models.js",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "backend-module",
      "file_count": 7,
      "normalized_name": "database",
      "paths": "mbarbine__Scripts:svs-automation/svs-rails-app/config/database.yml | mbarbine__Scripts:svs-automation/svs-vis-mock/config/database.yml | mbarbine__Scripts:svs-automation/style-guide/test/dummy/config/database.yml | mbarbine__platphorm-auction-vice:types/database.ts | mbarbine__platphorm-podcasts:__tests__/database.test.ts | mbarbine__platphorm-vercel-atlas:__tests__/database.test.ts | mbarbine__stannp-gpt-5-test:lib/database.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-auction-vice, mbarbine__platphorm-podcasts, mbarbine__platphorm-vercel-atlas, mbarbine__stannp-gpt-5-test"
    },
    {
      "component_kind": "parser",
      "file_count": 7,
      "normalized_name": "parser",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/classes/xml/Parser.js | mbarbine__platphorm-podcasts:lib/rss/parser.ts | mbarbine__platphorm-sheets:lib/sheets/parser.test.ts | mbarbine__platphorm-sheets:lib/sheets/parser.ts | mbarbine__platphorm-spec-workbench:lib/spec-engine/parser.ts | mbarbine__platphorm-trace:tests/lib/trace/parser.test.ts | mbarbine__platphorm-trace:lib/trace/parser.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-podcasts, mbarbine__platphorm-sheets, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 7,
      "normalized_name": "pt",
      "paths": "mbarbine__airrow-commuter-balloon:messages/pt.json | mbarbine__platphorm-insights:messages/pt.json | mbarbine__platphorm-layout:messages/pt.json | mbarbine__platphorm-onboard:messages/pt.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/pt.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/pt.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 5,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "jsonld",
      "paths": "mbarbine__desert-bus:lib/jsonld.ts | mbarbine__platphorm-agentui:lib/standards/jsonld.ts | mbarbine__platphorm-bbs:lib/bbs/jsonld.ts | mbarbine__platphorm-quake:__tests__/lib/seo/jsonld.test.ts | mbarbine__platphorm-quake:lib/seo/jsonld.ts | mbarbine__platphormnews-www-prod:src/lib/jsonld.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/jsonld.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "utility",
      "file_count": 7,
      "normalized_name": "logger",
      "paths": "mbarbine__mailthing-client:src/utils/logger.js | mbarbine__mailthing-client:src/utils/logger.ts | mbarbine__mailthing-main:utils/logger.ts | mbarbine__platphorm-evals:lib/utils/logger.ts | mbarbine__platphorm-quake:__tests__/lib/utils/logger.test.ts | mbarbine__platphorm-quake:lib/utils/logger.ts | ph3ar__mailthing-webby:utils/logger.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main, mbarbine__platphorm-evals, mbarbine__platphorm-quake, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "trace-client",
      "paths": "mbarbine__platphorm-agentui:lib/cosmic/trace-client.ts | mbarbine__platphorm-evals:lib/cosmic/trace-client.ts | mbarbine__platphorm-evals:lib/integrations/trace-client.ts | mbarbine__platphorm-register:lib/integrations/trace-client.ts | mbarbine__platphorm-sandbox:lib/cosmic/trace-client.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/trace-client.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/trace-client.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals, mbarbine__platphorm-register, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "resources",
      "paths": "mbarbine__platphorm-agentui:lib/mcp/resources.ts | mbarbine__platphorm-browserops:lib/mcp/resources.ts | mbarbine__platphorm-evals:lib/mcp/resources.ts | mbarbine__platphorm-monitor:lib/mcp/resources.ts | mbarbine__platphorm-monitor:lib/mcp/__tests__/resources.test.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/resources.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/resources.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-monitor, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "correlation",
      "paths": "mbarbine__platphorm-agentui:lib/api/correlation.ts | mbarbine__platphorm-browserops:lib/api/correlation.ts | mbarbine__platphorm-evals:lib/api/correlation.ts | mbarbine__platphorm-sandbox:lib/correlation.ts | mbarbine__platphorm-sandbox:lib/api/correlation.ts | mbarbine__platphorm-webhook-simulator:lib/api/correlation.test.ts | mbarbine__platphorm-webhook-simulator:lib/api/correlation.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "core",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/core.js | mbarbine__msicrafter:core/core.go | mbarbine__platphorm-sandbox:tests/core.test.ts | mbarbine__platphorm-sandbox:lib/sandbox/core.ts | mbarbine__platphorm-spec-workbench:lib/generators/mcp/core.ts | mbarbine__xsociety:html/components/jquery/src/core.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__msicrafter, mbarbine__platphorm-sandbox, mbarbine__platphorm-spec-workbench, mbarbine__xsociety"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "app-shell",
      "paths": "mbarbine__ai-chat-interface-webby:components/app-shell.tsx | mbarbine__ai-chat-interface-webby:__tests__/components/app-shell.test.tsx | mbarbine__car-service-records:components/app-shell.tsx | mbarbine__platphorm-base:components/layout/app-shell.tsx | mbarbine__platphorm-evals:components/layout/app-shell.tsx | mbarbine__platphorm-sandbox:components/app-shell.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__ai-chat-interface-webby, mbarbine__car-service-records, mbarbine__platphorm-base, mbarbine__platphorm-evals, mbarbine__platphorm-sandbox"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "command-palette",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/command-palette.tsx | mbarbine__car-service-records:components/command-palette.tsx | mbarbine__platphorm-agentui:tests/components/layout/command-palette.test.tsx | mbarbine__platphorm-agentui:components/layout/command-palette.tsx | mbarbine__platphorm-jobs:components/dashboard/command-palette.tsx | mbarbine__platphorm-monitor:components/layout/command-palette.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__car-service-records, mbarbine__platphorm-agentui, mbarbine__platphorm-jobs, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "scroll-progress",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/common/scroll-progress.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/common/scroll-progress.test.tsx | mbarbine__platphorm-codex:app/cinematic-scroll-v2/scroll-progress.tsx | mbarbine__platphorm-decks:app/cinematic-scroll-v2/scroll-progress.tsx | mbarbine__platphorm-redteam-arma-landing:components/scroll-progress.tsx | mbarbine__vanlife-website:components/scroll-progress.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-redteam-arma-landing, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "search-bar",
      "paths": "mbarbine__evernote-js:src/components/SearchBar.tsx | mbarbine__legacy-platphorm-news:src/components/SearchBar.svelte | mbarbine__platphorm-dictionary:components/search-bar.tsx | mbarbine__platphorm-dictionary:components/__tests__/search-bar.test.tsx | mbarbine__platphorm-layout:components/layout/search-bar.tsx | ph3ar__newdittyswag-commerce:src/components/SearchBar.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__evernote-js, mbarbine__legacy-platphorm-news, mbarbine__platphorm-dictionary, mbarbine__platphorm-layout, ph3ar__newdittyswag-commerce"
    },
    {
      "component_kind": "process-document",
      "file_count": 6,
      "normalized_name": "custom-dictionary-workspace",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:${workspaceFolder:opendocs-webby}/.cspell/custom-dictionary-workspace.txt | mbarbine__onboard-platphorm-boilerplate-repo:.cspell/custom-dictionary-workspace.txt | mbarbine__ph3ar-blog:.cspell/custom-dictionary-workspace.txt | mbarbine__platphorm-insights:.cspell/custom-dictionary-workspace.txt | mbarbine__platphorm-opendocs:.cspell/custom-dictionary-workspace.txt | mbarbine__wildduck:.cspell/custom-dictionary-workspace.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 5,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-insights, mbarbine__platphorm-opendocs, mbarbine__wildduck"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "session",
      "paths": "mbarbine__platphorm-agentui:lib/auth/session.ts | mbarbine__platphorm-cobol:lib/session.ts | mbarbine__platphorm-cobol:lib/session.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/session.ts | mbarbine__platphorm-real-estate-property-evaluation:lib/auth/session.ts | mbarbine__platphorm-stannp-api-wrapper:lib/session.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-cobol, mbarbine__platphorm-openclaw, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "features-section",
      "paths": "mbarbine__FlaskFlow-www:components/features-section.tsx | mbarbine__airrow-commuter-balloon:components/features-section.tsx | mbarbine__platphorm-cobol:components/home/features-section.tsx | mbarbine__platphorm-jobs:components/landing/features-section.tsx | mbarbine__platphorm-signs:components/sections/features-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__airrow-commuter-balloon, mbarbine__platphorm-cobol, mbarbine__platphorm-jobs, mbarbine__platphorm-signs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "benchmark",
      "paths": "mbarbine__PH3AR-WEBBY:src/benchmark.test.js | mbarbine__platphorm-desa:benchmark.ts | mbarbine__platphorm-jobs:benchmark.mjs | mbarbine__platphorm-kanban:benchmark.ts | mbarbine__platphorm-trace:tests/benchmark.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 5,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__platphorm-desa, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "constants",
      "paths": "mbarbine__Scripts:python/impacket/krb5/constants.py | mbarbine__legacy-platphorm-news:src/constants.js | mbarbine__news-api:src/constants.js | mbarbine__platphorm-monitor:components/firewall/rule-editor/constants.ts | mbarbine__two-doller-web:lib/constants.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-monitor, mbarbine__two-doller-web"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "logger",
      "paths": "mbarbine__Scripts:python/impacket/examples/logger.py | mbarbine__platphorm-podcasts:__tests__/logger.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/unit/logger.test.ts | mbarbine__platphorm-vercel-atlas:__tests__/logger.test.ts | mbarbine__vanagain-dot-com-prod:tests/unit/logger.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 5,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-vercel-atlas, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "icon",
      "paths": "mbarbine__airrow-commuter-balloon:app/icon.tsx | mbarbine__autographed-bibles-webby:app/icon.tsx | mbarbine__calendar-app-webby:app/icon.tsx | mbarbine__platphorm-stannp-api-wrapper:app/icon.tsx | mbarbine__platphorm-svg-factory:app/icon.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "how-it-works",
      "paths": "mbarbine__airrow-commuter-balloon:components/how-it-works.tsx | mbarbine__automotive-flamethrower-webby:components/how-it-works.tsx | mbarbine__email-reading-service-webby:components/how-it-works.tsx | mbarbine__platphorm-content-showback-dashboard:components/how-it-works.tsx | mbarbine__platphorm-onboard:components/sections/how-it-works.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__email-reading-service-webby, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "auth",
      "paths": "mbarbine__autographed-bibles-webby:app/actions/auth.tsx | mbarbine__instant-snap-postcard:src/components/Auth.tsx | mbarbine__legacy-platphorm-news:src/components/Auth.svelte | mbarbine__news-api:src/components/Auth.svelte | mbarbine__platphormnews-www-prod:src/components/Auth.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__instant-snap-postcard, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "discovery-artifact",
      "file_count": 5,
      "normalized_name": "robots",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/app/robots.test.ts | mbarbine__gta-6-countdown-webby:tests/robots.test.ts | mbarbine__ja4mlab:packages/shared-http/src/robots.ts | mbarbine__platphorm-openclaw:tests/robots.test.ts | mbarbine__platphorm-quake:__tests__/app/robots.test.ts",
      "primary_category": "discovery",
      "recommendation": "Promote to @platphorm/discovery for sitemaps, feeds, OpenAPI, llms, metadata, and robots.",
      "repo_count": 5,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__gta-6-countdown-webby, mbarbine__ja4mlab, mbarbine__platphorm-openclaw, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "global-error",
      "paths": "mbarbine__beer-museum-manager-www:app/global-error.tsx | mbarbine__platphorm-layout:app/global-error.tsx | mbarbine__platphorm-quake:app/global-error.tsx | mbarbine__platphorm-real-estate-NAD:app/global-error.tsx | mbarbine__platphorm-shipments:app/global-error.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-layout, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "newsletter",
      "paths": "mbarbine__crafted-virginia-website:components/newsletter.tsx | mbarbine__glass-blowing-website:components/newsletter.tsx | mbarbine__mermaid-next-www:components/Newsletter.tsx | mbarbine__vanagon-website:components/sections/newsletter.tsx | ph3ar__mermaid-www:app/components/Newsletter.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__crafted-virginia-website, mbarbine__glass-blowing-website, mbarbine__mermaid-next-www, mbarbine__vanagon-website, ph3ar__mermaid-www"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "sw",
      "paths": "mbarbine__desert-bus:public/sw.js | mbarbine__fortune-cookie-webby-yj:public/sw.js | mbarbine__platphorm-jules:public/sw.js | mbarbine__platphorm-layout:public/sw.js | mbarbine__platphorm-reader:public/sw.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 5,
      "repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-jules, mbarbine__platphorm-layout, mbarbine__platphorm-reader"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "index",
      "paths": "mbarbine__evernote-js:index.css | mbarbine__instant-snap-postcard:src/index.css | ph3ar__DeskThing-FortuneCookie:src/index.css | ph3ar__barbine-worldwide-legacy:src/index.css | ph3ar__ph3ar_radio_backend:client/src/index.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 5,
      "repos": "mbarbine__evernote-js, mbarbine__instant-snap-postcard, ph3ar__DeskThing-FortuneCookie, ph3ar__barbine-worldwide-legacy, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "integrations",
      "paths": "mbarbine__foxio-labs:Drafts/Root/Integrations.mdx | mbarbine__platphorm-browserops:docs/INTEGRATIONS.md | mbarbine__platphorm-evals:docs/INTEGRATIONS.md | mbarbine__threatrelay-webby:Drafts/Root/Integrations.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Root/Integrations.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 5,
      "repos": "mbarbine__foxio-labs, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "register-network",
      "paths": "mbarbine__global-anti-globalist-club-webby:scripts/register-network.js | mbarbine__platphorm-cobol:scripts/register-network.mjs | mbarbine__platphorm-trace:scripts/register-network.ts | mbarbine__reflux-site-webby:scripts/register-network.js | mbarbine__starphone-fork-webby:scripts/register-network.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 5,
      "repos": "mbarbine__global-anti-globalist-club-webby, mbarbine__platphorm-cobol, mbarbine__platphorm-trace, mbarbine__reflux-site-webby, mbarbine__starphone-fork-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "language-switcher",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:components/language-switcher.tsx | mbarbine__platphorm-cobol:components/language-switcher.tsx | mbarbine__platphorm-polymarket-rss-feed:components/language-switcher.tsx | mbarbine__platphormnews-www-prod:src/components/LanguageSwitcher.svelte | mbarbine__robot-clothing-marketplace:components/language-switcher.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-cobol, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphormnews-www-prod, mbarbine__robot-clothing-marketplace"
    },
    {
      "component_kind": "scheduled-job",
      "file_count": 5,
      "normalized_name": "cron",
      "paths": "mbarbine__ja4-vercel-lab-2:app/pages/api/cron.ts | mbarbine__platphorm-base:__tests__/app/api/cron.test.ts | mbarbine__platphorm-insights:tests/api/cron.test.ts | mbarbine__platphorm-podcasts:__tests__/cron.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/integration/cron.test.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 5,
      "repos": "mbarbine__ja4-vercel-lab-2, mbarbine__platphorm-base, mbarbine__platphorm-insights, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "automation-config",
      "file_count": 5,
      "normalized_name": "version",
      "paths": "mbarbine__ja4mlab:packages/shared-http/src/version.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/version.ts | mbarbine__platphorm-onboard:lib/version.ts | mbarbine__platphorm-opencontent:lib/version.ts | mbarbine__platphorm-opendocs:lib/version.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 5,
      "repos": "mbarbine__ja4mlab, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "security-module",
      "file_count": 5,
      "normalized_name": "use-local-storage",
      "paths": "mbarbine__legacy-platphorm-news:src/hooks/useLocalStorage.ts | mbarbine__news-api:src/hooks/useLocalStorage.ts | mbarbine__platphorm-agentui:hooks/use-local-storage.ts | mbarbine__process-clone:hooks/use-local-storage.ts | mbarbine__stannp-gpt-5-test:hooks/use-local-storage.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 5,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-agentui, mbarbine__process-clone, mbarbine__stannp-gpt-5-test"
    },
    {
      "component_kind": "automation-config",
      "file_count": 5,
      "normalized_name": "next-config",
      "paths": "mbarbine__nextjs-ai-4:next.config.ts | mbarbine__nextjs-ai-chatbot:next.config.ts | mbarbine__ph3ar-admin-dashboard:next.config.ts | mbarbine__ph3ar-chatbot:next.config.ts | mbarbine__platphorm-finance:next.config.mjs",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 5,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-finance"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "version",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/version.test.ts | mbarbine__platphorm-mcp:lib/platform/version.ts | mbarbine__platphorm-monitor:lib/__tests__/version.test.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/version.test.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/version.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "ui-provider",
      "file_count": 5,
      "normalized_name": "providers",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/providers.tsx | mbarbine__platphorm-auction-vice:components/providers.tsx | mbarbine__platphorm-jules:components/providers.tsx | mbarbine__platphorm-zine-reader:components/providers.tsx | ph3ar__platphorm-admin-dashboard:app/(dashboard)/providers.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-auction-vice, mbarbine__platphorm-jules, mbarbine__platphorm-zine-reader, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "http",
      "paths": "mbarbine__platphorm-ascii:lib/platform/http.ts | mbarbine__platphorm-bbs:lib/bbs/http.ts | mbarbine__platphorm-cobol:lib/http.ts | mbarbine__platphorm-layout:lib/platform/http.ts | mbarbine__platphorm-sheets:lib/sheets/http.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-layout, mbarbine__platphorm-sheets"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "pr-body",
      "paths": "mbarbine__platphorm-base:pr_body.txt | mbarbine__platphorm-jules:pr_body.md | mbarbine__platphorm-kanban:pr_body.md | mbarbine__platphorm-monitor:pr_body.txt | mbarbine__platphorm-trace:pr_body.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-monitor, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "topbar",
      "paths": "mbarbine__platphorm-bbs:components/bbs/topbar.tsx | mbarbine__platphorm-desa:components/layout/topbar.tsx | mbarbine__platphorm-fingerprint-service:components/layout/topbar.tsx | mbarbine__platphorm-mcp:components/layout/topbar.tsx | mbarbine__platphorm-monitor:components/layout/topbar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "resources-section",
      "paths": "mbarbine__platphorm-mcp:components/mcp/resources-section.tsx | mbarbine__platphorm-polymarket-rss-feed:resources-section.tsx | mbarbine__platphorm-polymaths:components/sections/resources-section.tsx | mbarbine__platphorm-redteam-arma-landing:components/resources-section.tsx | mbarbine__vanlife-website:components/resources-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 5,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-redteam-arma-landing, mbarbine__vanlife-website"
    },
    {
      "component_kind": "api-route",
      "file_count": 80,
      "normalized_name": "server",
      "paths": "mbarbine__PH3AR-WEBBY:src/routes/api/getRecommendation/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/api/getRecommendation/server.test.ts | mbarbine__PH3AR-WEBBY:src/routes/api/getMediaDetails/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/api/getMediaDetails/server.test.ts | mbarbine__PH3AR-WEBBY:src/routes/api/health/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/api/getMediaDetailsBatch/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/api/getMediaDetailsBatch/server.test.ts | mbarbine__PH3AR-WEBBY:src/routes/api/jobs/generate/+server.ts | mbarbine__PH3AR-WEBBY:src/routes/api/verify-secret/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getJobStories/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getShowStories/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getStoryDetails/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getBestStories/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getTopStories/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getAskStories/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/auth/signup/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/auth/login/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/getLatestNews/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/getTopStories/+server.ts | mbarbine__legacy-platphorm-news:src/routes/api/getNewsDetails/+server.ts | mbarbine__news-api:src/routes/api/hackernews/getJobStories/+server.ts | mbarbine__news-api:src/routes/api/hackernews/getShowStories/+server.ts | mbarbine__news-api:src/routes/api/hackernews/getBestStories/+server.ts | mbarbine__news-api:src/routes/api/hackernews/getTopStories/+server.ts | mbarbine__news-api:src/routes/api/hackernews/getAskStories/+server.ts | mbarbine__news-api:src/routes/api/getLatestNews/+server.ts | mbarbine__news-api:src/routes/api/getNewsDetails/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/capabilities/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/atom/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/health/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/rss-enabled/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/graph/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/graph/sync/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/sites/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/sites/[slug]/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/route-compliance/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/trusted-domains/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/discovery-compliance/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/mcp-enabled/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/network/verticals/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/rss/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/tests/browserops/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/mcp/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/docs/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/search/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/feeds/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/feeds/sync/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/stories/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/stories/top/+server.ts | mbarbine__platphormnews-www-prod:src/routes/api/v1/stories/featured/+server.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "process-document",
      "file_count": 14,
      "normalized_name": "ja4",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4.mdx | mbarbine__foxio-labs:Drafts/Root/JA4.mdx | mbarbine__foxio-labs:Drafts/Root/JA4+.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4.mdx | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4.json | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4.mdx | mbarbine__threatrelay-webby:Drafts/Root/JA4.mdx | mbarbine__threatrelay-webby:Drafts/Root/JA4+.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Root/JA4.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Root/JA4+.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 4,
      "repos": "mbarbine__foxio-labs, mbarbine__ja4mlab, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "integration-module",
      "file_count": 10,
      "normalized_name": "stripe",
      "paths": "mbarbine__autographed-bibles-webby:app/actions/stripe.ts | mbarbine__autographed-bibles-webby:__tests__/stripe.test.ts | mbarbine__autographed-bibles-webby:lib/stripe.ts | mbarbine__hot-chocolate-for-profit-webby:app/actions/stripe.ts | mbarbine__hot-chocolate-for-profit-webby:lib/stripe.ts | mbarbine__platphorm-content-showback-dashboard:app/actions/stripe.ts | mbarbine__platphorm-content-showback-dashboard:lib/stripe.ts | mbarbine__vanagain-dot-com-prod:app/actions/stripe.ts | mbarbine__vanagain-dot-com-prod:tests/unit/stripe.test.ts | mbarbine__vanagain-dot-com-prod:tests/integration/stripe.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 4,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-content-showback-dashboard, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "automation-config",
      "file_count": 8,
      "normalized_name": "makefile",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/intro/Makefile | mbarbine__Scripts:h4x/dagah-server/html/components/flot/Makefile | mbarbine__Scripts:bash/jail_make/Makefile | mbarbine__cdf-sanitize:Makefile | mbarbine__xsociety:html/components/flot/Makefile | mbarbine__zornixOS:tools/lib64/perl5/5.28.0/unicore/Makefile | mbarbine__zornixOS:tools/var/db/Makefile | mbarbine__zornixOS:tools/lib/perl5/5.28.0/unicore/Makefile",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 4,
      "repos": "mbarbine__Scripts, mbarbine__cdf-sanitize, mbarbine__xsociety, mbarbine__zornixOS"
    },
    {
      "component_kind": "business-logic",
      "file_count": 8,
      "normalized_name": "markdown",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/markdown.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/markdown.ts | mbarbine__platphorm-onboard:__tests__/lib/markdown.test.ts | mbarbine__platphorm-onboard:lib/markdown.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/markdown.test.ts | mbarbine__platphorm-opencontent:lib/markdown.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/markdown.test.ts | mbarbine__platphorm-opendocs:lib/markdown.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 7,
      "normalized_name": "signup",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/signup.svelte | mbarbine__legacy-platphorm-news:src/routes/api/auth/signup.svelte | mbarbine__news-api:src/signup.svelte | mbarbine__news-api:src/routes/signup.svelte | mbarbine__news-api:src/routes/api/auth/signup.svelte | mbarbine__process-clone:auth/signup.tsx | ph3ar__mailthing-webby:pages/auth/signup.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__process-clone, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "api-types",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/api-types.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/api-types.ts | mbarbine__platphorm-jules:lib/api-types.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/api-types.test.ts | mbarbine__platphorm-opencontent:lib/api-types.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/api-types.test.ts | mbarbine__platphorm-opendocs:lib/api-types.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-jules, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "seo-generator",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/seo-generator.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/seo-generator.ts | mbarbine__platphorm-onboard:lib/seo-generator.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/seo-generator.test.ts | mbarbine__platphorm-opencontent:lib/seo-generator.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/seo-generator.test.ts | mbarbine__platphorm-opendocs:lib/seo-generator.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "auto-name",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/auto-name.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/auto-name.ts | mbarbine__platphorm-onboard:lib/auto-name.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/auto-name.test.ts | mbarbine__platphorm-opencontent:lib/auto-name.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/auto-name.test.ts | mbarbine__platphorm-opendocs:lib/auto-name.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 7,
      "normalized_name": "ssrf",
      "paths": "mbarbine__platphorm-openclaw:lib/ssrf.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/ssrf.test.ts | mbarbine__platphorm-opencontent:lib/ssrf.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/ssrf.test.ts | mbarbine__platphorm-opendocs:lib/ssrf.ts | mbarbine__platphorm-webhook-simulator:lib/api/ssrf.ts | mbarbine__platphorm-webhook-simulator:lib/api/ssrf.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "script",
      "file_count": 6,
      "normalized_name": "setup",
      "paths": "mbarbine__Scripts:docker/scripts/setup/win/setup.bat | mbarbine__Scripts:Batch Scripts/batch-scraper/setup.bat | mbarbine__ja4-sidecar:setup.sh | mbarbine__ph3ar-web:setup.sh | mbarbine__wildduck:setup.sh | mbarbine__wildduck:scripts/setup.ps1",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 4,
      "repos": "mbarbine__Scripts, mbarbine__ja4-sidecar, mbarbine__ph3ar-web, mbarbine__wildduck"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "share-buttons",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/common/share-buttons.tsx | mbarbine__onboard-platphorm-boilerplate-repo:components/share-buttons.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/share-buttons.test.tsx | mbarbine__platphorm-opencontent:components/share-buttons.tsx | mbarbine__platphorm-opencontent:__tests__/unit/components/share-buttons.test.tsx | mbarbine__platphorm-opendocs:components/share-buttons.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "claws-client",
      "paths": "mbarbine__platphorm-agentui:lib/cosmic/claws-client.ts | mbarbine__platphorm-evals:lib/cosmic/claws-client.ts | mbarbine__platphorm-evals:lib/integrations/claws-client.ts | mbarbine__platphorm-sandbox:lib/cosmic/claws-client.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/claws-client.test.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/claws-client.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "network-graph",
      "paths": "mbarbine__platphorm-browserops:lib/integrations/network-graph.ts | mbarbine__platphorm-mcp:lib/mcp/network-graph.ts | mbarbine__platphorm-openclaw:tests/lib/network-graph.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/integrations/network-graph.ts | mbarbine__platphormnews-www-prod:src/lib/network-graph.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/network-graph.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-mcp, mbarbine__platphorm-openclaw, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "settings-panel",
      "paths": "mbarbine__desert-bus:components/desert-bus/settings-panel.tsx | mbarbine__platphorm-quake:components/settings/settings-panel.tsx | mbarbine__platphorm-quake:__tests__/components/settings/settings-panel.test.tsx | mbarbine__platphorm-reader:components/settings-panel.tsx | mbarbine__platphorm-usl:components/settings-panel.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-usl"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "global",
      "paths": "mbarbine__legacy-platphorm-news:src/static/global.css | mbarbine__news-api:static/global.css | mbarbine__news-api:src/static/global.css | mbarbine__turborepo-react-native:apps/web/styles/global.css | ph3ar__barbine-worldwide-legacy:src/styles/global.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 4,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__turborepo-react-native, ph3ar__barbine-worldwide-legacy"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "code-block",
      "paths": "mbarbine__nextjs-ai-4:components/code-block.tsx | mbarbine__nextjs-ai-chatbot:components/code-block.tsx | mbarbine__ph3ar-chatbot:components/code-block.tsx | mbarbine__platphorm-jules:components/jules/code-block.test.tsx | mbarbine__platphorm-jules:components/jules/code-block.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-jules"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 5,
      "normalized_name": "accessible-theme-switcher",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:components/accessible-theme-switcher.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/accessible-theme-switcher.test.tsx | mbarbine__platphorm-onboard:components/accessible-theme-switcher.tsx | mbarbine__platphorm-opencontent:components/accessible-theme-switcher.tsx | mbarbine__platphorm-opendocs:components/accessible-theme-switcher.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "mcp-server",
      "file_count": 5,
      "normalized_name": "mcp-server",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/mcp/mcp-server.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/mcp/mcp-server.test.ts | mbarbine__platphorm-opencontent:lib/mcp-server.ts | mbarbine__platphorm-opendocs:__tests__/integration/mcp/mcp-server.test.ts | mbarbine__platphorm-real-estate-NAD:mcp_server.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-real-estate-NAD"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "cuid",
      "paths": "mbarbine__platphorm-agentui:lib/cosmic/cuid.ts | mbarbine__platphorm-browserops:lib/cosmic/cuid.ts | mbarbine__platphorm-evals:lib/cosmic/cuid.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/cuid.test.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/cuid.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "network-manifest",
      "paths": "mbarbine__platphorm-agentui:lib/discovery/network-manifest.ts | mbarbine__platphorm-browserops:lib/standards/network-manifest.ts | mbarbine__platphorm-evals:lib/standards/network-manifest.ts | mbarbine__platphorm-webhook-simulator:lib/discovery/network-manifest.ts | mbarbine__platphorm-webhook-simulator:lib/discovery/network-manifest.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "errors",
      "paths": "mbarbine__platphorm-agentui:lib/api/errors.ts | mbarbine__platphorm-browserops:lib/api/errors.ts | mbarbine__platphorm-evals:lib/api/errors.ts | mbarbine__platphorm-webhook-simulator:lib/api/errors.test.ts | mbarbine__platphorm-webhook-simulator:lib/api/errors.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "manifest",
      "paths": "mbarbine__platphorm-agentui:lib/standards/manifest.ts | mbarbine__platphorm-browserops:lib/standards/manifest.ts | mbarbine__platphorm-evals:lib/standards/manifest.ts | mbarbine__platphorm-monitor:lib/mcp/manifest.ts | mbarbine__platphorm-monitor:lib/mcp/__tests__/manifest.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "hooks",
      "paths": "mbarbine__platphorm-base:__tests__/lib/trace/hooks.test.ts | mbarbine__platphorm-base:lib/trace/hooks.ts | mbarbine__platphorm-codex:__tests__/scroll-engine/hooks.test.ts | mbarbine__platphorm-decks:__tests__/scroll-engine/hooks.test.ts | mbarbine__platphorm-desa:lib/integrations/platphormnews/hooks.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "content",
      "paths": "mbarbine__platphorm-bbs:lib/bbs/content.test.ts | mbarbine__platphorm-bbs:lib/bbs/content.ts | mbarbine__platphorm-mcp:lib/mcp/tools/content.ts | mbarbine__platphorm-polymaths:lib/polymaths/content.ts | mbarbine__vanagain-dot-com-prod:lib/content.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-mcp, mbarbine__platphorm-polymaths, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "service",
      "paths": "mbarbine__platphorm-browserops:lib/config/service.ts | mbarbine__platphorm-evals:lib/config/service.ts | mbarbine__platphorm-news-alt-theme:lib/supabase/service.ts | mbarbine__platphorm-webhook-simulator:lib/config/service.test.ts | mbarbine__platphorm-webhook-simulator:lib/config/service.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "security-module",
      "file_count": 5,
      "normalized_name": "zh",
      "paths": "mbarbine__platphorm-insights:messages/zh.json | mbarbine__platphorm-onboard:messages/zh.json | mbarbine__two-doller-web:messages/zh.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/zh.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "testimonials-section",
      "paths": "mbarbine__FlaskFlow-www:components/testimonials-section.tsx | mbarbine__platphorm-signs:components/sections/testimonials-section.tsx | mbarbine__spectrum-canine-www:components/testimonials-section.tsx | mbarbine__vanagain-dot-com-prod:components/home/testimonials-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__platphorm-signs, mbarbine__spectrum-canine-www, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "vite-config",
      "paths": "mbarbine__PH3AR-WEBBY:vite.config.js | mbarbine__legacy-platphorm-news:vite.config.js | mbarbine__news-api:vite.config.js | mbarbine__platphormnews-www-prod:vite.config.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 4,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "test",
      "paths": "mbarbine__PH3AR-WEBBY:tests/test.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/static/theme/web/js/test.js | mbarbine__platphorm-podcasts:public/tmp/test.js | mbarbine__starphone-web-svelte:tests/test.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 4,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__Scripts, mbarbine__platphorm-podcasts, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "layout-server",
      "paths": "mbarbine__PH3AR-WEBBY:src/routes/+layout.server.js | mbarbine__legacy-platphorm-news:src/routes/+layout.server.js | mbarbine__news-api:src/routes/+layout.server.js | mbarbine__platphormnews-www-prod:src/routes/+layout.server.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "settings",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/api/settings.py | mbarbine__calendar-app-webby:__tests__/api/v1/settings.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/settings.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/settings.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__Scripts, mbarbine__calendar-app-webby, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "setup",
      "paths": "mbarbine__Scripts:python/setup.py | mbarbine__platphorm-business-EmployerServicesIncorporated:lob-python/setup.py | mbarbine__platphorm-insights:tests/setup.ts | mbarbine__platphorm-openclaw:tests/setup.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 4,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-insights, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "zh",
      "paths": "mbarbine__airrow-commuter-balloon:messages/zh.json | mbarbine__ph3ar-blog:src/messages/zh.json | mbarbine__platphorm-layout:messages/zh.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/zh.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 4,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-layout, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "apple-icon",
      "paths": "mbarbine__airrow-commuter-balloon:app/apple-icon.tsx | mbarbine__autographed-bibles-webby:app/apple-icon.tsx | mbarbine__calendar-app-webby:app/apple-icon.tsx | mbarbine__platphorm-svg-factory:app/apple-icon.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 4,
      "normalized_name": "request",
      "paths": "mbarbine__airrow-commuter-balloon:i18n/request.ts | mbarbine__platphorm-layout:i18n/request.ts | mbarbine__two-doller-web:i18n/request.ts | mbarbine__vanagain-dot-com-prod:i18n/request.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 4,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__platphorm-layout, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "events",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/api/events.test.ts | mbarbine__calendar-app-webby:__tests__/api/v1/events.test.ts | mbarbine__platphorm-jobs:__tests__/api/events.test.ts | mbarbine__platphorm-kanban:__tests__/api/events.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "error-handler",
      "paths": "mbarbine__beer-museum-manager-www:lib/error-handler.ts | mbarbine__platphorm-real-estate-NAD:lib/error-handler.ts | mbarbine__platphorm-vercel-atlas:lib/error-handler.ts | mbarbine__process-clone:lib/error-handler.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-vercel-atlas, mbarbine__process-clone"
    },
    {
      "component_kind": "agent",
      "file_count": 4,
      "normalized_name": "agents",
      "paths": "mbarbine__calendar-app-webby:AGENTS.md | mbarbine__platphorm-business-EmployerServicesIncorporated:AGENTS.md | mbarbine__platphorm-kanban:AGENTS.md | mbarbine__platphorm-openclaw:.openclaw/workspace/AGENTS.md",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 4,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-kanban, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "about-section",
      "paths": "mbarbine__desert-bus:components/home/about-section.tsx | mbarbine__jaydens-therapy-legal-www:components/about-section.tsx | mbarbine__robbie-ds-greens-webby:components/home/about-section.tsx | mbarbine__vanlife-website:components/about-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__desert-bus, mbarbine__jaydens-therapy-legal-www, mbarbine__robbie-ds-greens-webby, mbarbine__vanlife-website"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "platform-contract",
      "paths": "mbarbine__desert-bus:__tests__/lib/platform-contract.test.ts | mbarbine__platphorm-opendocs:lib/platform-contract.ts | mbarbine__platphorm-spec-workbench:lib/platform-contract.ts | mbarbine__platphormnews-www-prod:src/lib/platform-contract.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-opendocs, mbarbine__platphorm-spec-workbench, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "contact",
      "paths": "mbarbine__drone-reel-webby:components/sections/contact.tsx | mbarbine__mermaid-next-www:components/Contact.tsx | ph3ar__mailthing-webby:pages/contact.tsx | ph3ar__mermaid-www:app/components/Contact.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__drone-reel-webby, mbarbine__mermaid-next-www, ph3ar__mailthing-webby, ph3ar__mermaid-www"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "project-plan",
      "paths": "mbarbine__fortune-cookie-webby-yj:PROJECT_PLAN.md | mbarbine__platphorm-emoji:docs/PROJECT_PLAN.md | mbarbine__platphorm-kanban:PROJECT_PLAN.md | mbarbine__platphormnews-www-prod:PROJECT_PLAN.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 4,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-emoji, mbarbine__platphorm-kanban, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "cors",
      "paths": "mbarbine__fortune-cookie-webby-yj:lib/cors.ts | mbarbine__ph3ar-blog:src/lib/cors.ts | mbarbine__platphorm-mcp:lib/mcp/cors.ts | mbarbine__platphorm-sandbox:lib/pnn/cors.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__ph3ar-blog, mbarbine__platphorm-mcp, mbarbine__platphorm-sandbox"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "dashboard-header",
      "paths": "mbarbine__game-porting-service-webby:components/dashboard-header.tsx | mbarbine__platphorm-content-showback-dashboard:components/dashboard-header.tsx | mbarbine__platphorm-real-estate-property-evaluation:components/dashboard-header.tsx | mbarbine__process-clone:components/dashboard-header.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__game-porting-service-webby, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__process-clone"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "translations",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:lib/i18n/translations.ts | mbarbine__platphorm-design:lib/i18n/translations.ts | mbarbine__platphorm-signs:lib/i18n/translations.ts | mbarbine__platphorm-zine-reader:lib/translations.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-design, mbarbine__platphorm-signs, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "main",
      "paths": "mbarbine__instant-snap-postcard:src/main.tsx | mbarbine__mailthing-client:src/main.tsx | ph3ar__DeskThing-FortuneCookie:src/main.tsx | ph3ar__barbine-worldwide-legacy:src/main.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__instant-snap-postcard, mbarbine__mailthing-client, ph3ar__DeskThing-FortuneCookie, ph3ar__barbine-worldwide-legacy"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "diff",
      "paths": "mbarbine__nextjs-ai-4:lib/editor/diff.js | mbarbine__nextjs-ai-chatbot:lib/editor/diff.js | mbarbine__ph3ar-chatbot:lib/editor/diff.js | mbarbine__platphorm-spec-workbench:lib/spec-engine/diff.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "anoms-do-not-delete",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:anoms-do-not-delete.md | mbarbine__platphorm-onboard:docs/anoms-do-not-delete.md | mbarbine__platphorm-opendocs:anoms-do-not-delete.md | mbarbine__platphorm-polymarket-rss-feed:anoms-do-not-delete.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "deep-research-report-v2",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:deep-research-report-v2.md | mbarbine__platphorm-onboard:docs/deep-research-report-v2.md | mbarbine__platphorm-reader:deep-research-report-v2.md | mbarbine__platphorm-trace:deep-research-report-v2.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-reader, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "local-dev",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:LOCAL_DEV.md | mbarbine__platphorm-onboard:docs/LOCAL_DEV.md | mbarbine__platphorm-opencontent:LOCAL_DEV.md | mbarbine__platphorm-opendocs:LOCAL_DEV.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "packages",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:PACKAGES.md | mbarbine__platphorm-opencontent:PACKAGES.md | mbarbine__platphorm-opendocs:PACKAGES.md | mbarbine__platphorm-polymarket-rss-feed:PACKAGES.md",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "standards-references",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:standards-references.md | mbarbine__platphorm-openclaw:standards-references.md | mbarbine__platphorm-reader:standards-references.md | mbarbine__platphorm-trace:standards-references.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-openclaw, mbarbine__platphorm-reader, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "keys",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/keys.test.ts | mbarbine__platphorm-keys:__tests__/api/keys.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/keys.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/keys.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-keys, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "search",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/search.test.ts | mbarbine__platphorm-openclaw:tests/api/search.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/search.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/search.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "page",
      "file_count": 4,
      "normalized_name": "layout",
      "paths": "mbarbine__ph3ar-blog:src/app/layout.tsx | mbarbine__platphorm-business-EmployerServicesIncorporated:src/app/layout.tsx | mbarbine__turborepo-react-native:apps/web/app/layout.tsx | mbarbine__uberpidgeons-www:src/app/layout.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__turborepo-react-native, mbarbine__uberpidgeons-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "audio-visualizer",
      "paths": "mbarbine__platphorm-404:components/404/audio-visualizer.tsx | mbarbine__platphorm-podcasts:components/audio-visualizer.tsx | mbarbine__platphorm-radio-backend:components/audio-visualizer.tsx | ph3ar__radio-backend:components/audio-visualizer.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-404, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, ph3ar__radio-backend"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "routes",
      "paths": "mbarbine__platphorm-alleycats:__tests__/api/routes.test.ts | mbarbine__platphorm-codex:__tests__/api/routes.test.ts | mbarbine__platphorm-decks:__tests__/api/routes.test.ts | mbarbine__platphorm-zine-reader:__tests__/api/routes.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "stripe",
      "paths": "mbarbine__platphorm-auction-vice:lib/stripe.ts | mbarbine__platphorm-real-estate-NAD:lib/stripe.ts | mbarbine__scratchcraft:lib/stripe.ts | mbarbine__vanagain-dot-com-prod:lib/stripe.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-real-estate-NAD, mbarbine__scratchcraft, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 4,
      "normalized_name": "breadcrumbs",
      "paths": "mbarbine__platphorm-base:components/ui/breadcrumbs.tsx | mbarbine__platphorm-json:components/ui/breadcrumbs.tsx | mbarbine__platphorm-onboard:components/ui/breadcrumbs.tsx | mbarbine__vanagain-dot-com-prod:components/ui/breadcrumbs.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-json, mbarbine__platphorm-onboard, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 4,
      "normalized_name": "vitest-setup",
      "paths": "mbarbine__platphorm-bbs:vitest.setup.ts | mbarbine__platphorm-design:vitest.setup.ts | mbarbine__platphorm-jules:vitest.setup.ts | mbarbine__platphorm-kanban:vitest.setup.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-design, mbarbine__platphorm-jules, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "migrate",
      "paths": "mbarbine__platphorm-bbs:scripts/migrate.mjs | mbarbine__platphorm-openclaw:scripts/migrate.ts | mbarbine__platphorm-sandbox:scripts/migrate.mjs | mbarbine__process-clone:scripts/migrate.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-openclaw, mbarbine__platphorm-sandbox, mbarbine__process-clone"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "e2e",
      "paths": "mbarbine__platphorm-codex:cypress/support/e2e.ts | mbarbine__platphorm-decks:cypress/support/e2e.ts | mbarbine__platphorm-insights:tests/integration/e2e.test.ts | mbarbine__platphorm-vercel-atlas:__tests__/e2e.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-insights, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "analysis",
      "paths": "mbarbine__platphorm-desa:lib/__tests__/analysis.test.ts | mbarbine__platphorm-fingerprint-service:lib/fingerprint/analysis.ts | mbarbine__platphorm-msi-editor:lib/msi/analysis.ts | mbarbine__platphorm-sheets:lib/sheets/analysis.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-msi-editor, mbarbine__platphorm-sheets"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "site",
      "paths": "mbarbine__platphorm-fingerprint-service:lib/platform/site.ts | mbarbine__platphorm-insights:lib/config/site.ts | mbarbine__platphorm-layout:lib/config/site.ts | mbarbine__vanagain-dot-com-prod:lib/site.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 4,
      "normalized_name": "ja",
      "paths": "mbarbine__platphorm-insights:messages/ja.json | mbarbine__platphorm-onboard:messages/ja.json | mbarbine__two-doller-web:messages/ja.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ja.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 4,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "backend-module",
      "file_count": 66,
      "normalized_name": "service",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/config/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/processing/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/feedback/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/tiller/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nlp/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/fs/templates/service.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/config/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/document-uploader/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/template-storage/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/config/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/processing/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-api/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/dispatcher/templates/service.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__ph3ar-web, mbarbine__platphorm-agentui"
    },
    {
      "component_kind": "script",
      "file_count": 43,
      "normalized_name": "install",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/install.sh | mbarbine__Scripts:aws/codeDeploy/install.sh | mbarbine__ja4mlab:scripts/install.sh | mbarbine__zornixOS:tools/include/drm/..install.cmd | mbarbine__zornixOS:tools/include/misc/..install.cmd | mbarbine__zornixOS:tools/include/asm-generic/..install.cmd | mbarbine__zornixOS:tools/include/xen/..install.cmd | mbarbine__zornixOS:tools/include/video/..install.cmd | mbarbine__zornixOS:tools/include/asm/..install.cmd | mbarbine__zornixOS:tools/include/scsi/..install.cmd | mbarbine__zornixOS:tools/include/scsi/fc/..install.cmd | mbarbine__zornixOS:tools/include/rdma/..install.cmd | mbarbine__zornixOS:tools/include/rdma/hfi/..install.cmd | mbarbine__zornixOS:tools/include/linux/..install.cmd | mbarbine__zornixOS:tools/include/linux/netfilter_ipv6/..install.cmd | mbarbine__zornixOS:tools/include/linux/mmc/..install.cmd | mbarbine__zornixOS:tools/include/linux/can/..install.cmd | mbarbine__zornixOS:tools/include/linux/hdlc/..install.cmd | mbarbine__zornixOS:tools/include/linux/nfsd/..install.cmd | mbarbine__zornixOS:tools/include/linux/byteorder/..install.cmd | mbarbine__zornixOS:tools/include/linux/dvb/..install.cmd | mbarbine__zornixOS:tools/include/linux/sched/..install.cmd | mbarbine__zornixOS:tools/include/linux/netfilter/..install.cmd | mbarbine__zornixOS:tools/include/linux/netfilter/ipset/..install.cmd | mbarbine__zornixOS:tools/include/linux/usb/..install.cmd | mbarbine__zornixOS:tools/include/linux/isdn/..install.cmd | mbarbine__zornixOS:tools/include/linux/spi/..install.cmd | mbarbine__zornixOS:tools/include/linux/cifs/..install.cmd | mbarbine__zornixOS:tools/include/linux/netfilter_ipv4/..install.cmd | mbarbine__zornixOS:tools/include/linux/sunrpc/..install.cmd | mbarbine__zornixOS:tools/include/linux/netfilter_bridge/..install.cmd | mbarbine__zornixOS:tools/include/linux/caif/..install.cmd | mbarbine__zornixOS:tools/include/linux/android/..install.cmd | mbarbine__zornixOS:tools/include/linux/raid/..install.cmd | mbarbine__zornixOS:tools/include/linux/wimax/..install.cmd | mbarbine__zornixOS:tools/include/linux/genwqe/..install.cmd | mbarbine__zornixOS:tools/include/linux/tc_act/..install.cmd | mbarbine__zornixOS:tools/include/linux/iio/..install.cmd | mbarbine__zornixOS:tools/include/linux/hsi/..install.cmd | mbarbine__zornixOS:tools/include/linux/netfilter_arp/..install.cmd | mbarbine__zornixOS:tools/include/linux/tc_ematch/..install.cmd | mbarbine__zornixOS:tools/include/mtd/..install.cmd | mbarbine__zornixOS:tools/include/sound/..install.cmd",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__ja4mlab, mbarbine__zornixOS"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 21,
      "normalized_name": "variables",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/less/variables.less | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Variables.less | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/less/variables.less | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/scss/_variables.scss | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/variables.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/variables.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_variables.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_variables.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_variables.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/_variables.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_variables.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_variables.less | mbarbine__vanagain-site:admin/resources/assets/sass/_variables.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/variables.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_variables.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/variables.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_variables.scss | mbarbine__xsociety:html/less/variables.less | mbarbine__xsociety:html/components/bootstrap/less/variables.less | mbarbine__xsociety:html/components/font-awesome/less/variables.less | mbarbine__xsociety:html/components/font-awesome/scss/_variables.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 18,
      "normalized_name": "mixins",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/less/mixins.less | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Mixins.less | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/less/mixins.less | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/scss/_mixins.scss | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/mixins.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_mixins.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/gallery/module/_mixins.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/_mixins.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/bootstrap/_mixins.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/mixins.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_mixins.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/mixins.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_mixins.scss | mbarbine__xsociety:html/less/mixins.less | mbarbine__xsociety:html/components/bootstrap/less/mixins.less | mbarbine__xsociety:html/components/font-awesome/less/mixins.less | mbarbine__xsociety:html/components/font-awesome/scss/_mixins.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 14,
      "normalized_name": "icons",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Icons.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/icons.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_icons.scss | mbarbine__Scripts:SORT/OpsClick_UI/src/styles/icons.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_icons.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_icons.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_icons.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/_icons.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/icons.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_icons.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/icons.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_icons.scss | mbarbine__xsociety:html/components/font-awesome/less/icons.less | mbarbine__xsociety:html/components/font-awesome/scss/_icons.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 14,
      "normalized_name": "font-awesome",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/css/font-awesome.css | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/font-awesome.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/font-awesome.scss | mbarbine__vanagain-site:admin/public/assets/frontend/css/font-awesome.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/revo-slider/fonts/font-awesome/css/font-awesome.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/css/font-awesome.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/font-awesome.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/font-awesome.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/css/font-awesome.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/font-awesome.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/font-awesome.scss | mbarbine__xsociety:html/components/font-awesome/css/font-awesome.css | mbarbine__xsociety:html/components/font-awesome/less/font-awesome.less | mbarbine__xsociety:html/components/font-awesome/scss/font-awesome.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 12,
      "normalized_name": "package",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/package.json | mbarbine__Scripts:h4x/dagah-server/html/js/intro/package.json | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/package.json | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/package.js | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/package.json | mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/package.json | mbarbine__Scripts:h4x/dagah-server/html/components/flot/package.json | mbarbine__Scripts:h4x/dagah-server/html/components/metisMenu/package.json | mbarbine__Scripts:h4x/dagah-server/html/components/holderjs/package.json | mbarbine__job-manager:task-worker/package.json | mbarbine__job-manager:task-service/package.json | ph3ar__ph3ar_radio_backend:dummy-server/package.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__job-manager, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 12,
      "normalized_name": "buttons",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/buttons.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/buttons.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_buttons.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_buttons.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_buttons.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/view/styles/lib/variables/_buttons.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_buttons.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_buttons.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_buttons.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/bootstrap/_buttons.scss | mbarbine__xsociety:html/components/bootstrap/less/buttons.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/buttons.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 11,
      "normalized_name": "metadata",
      "paths": "mbarbine__platphorm-browserops:types/metadata.ts | mbarbine__platphorm-evals:types/metadata.ts | mbarbine__xsociety:pipeline/cookbooks/rsyslog/metadata.json | mbarbine__xsociety:pipeline/cookbooks/java/metadata.json | mbarbine__xsociety:pipeline/cookbooks/apache2/metadata.json | mbarbine__xsociety:pipeline/cookbooks/nginx/metadata.json | mbarbine__xsociety:pipeline/cookbooks/runit/metadata.json | mbarbine__xsociety:pipeline/cookbooks/apt/metadata.json | mbarbine__xsociety:pipeline/cookbooks/phantomjs/metadata.json | mbarbine__xsociety:pipeline/cookbooks/aws/metadata.json | mbarbine__xsociety:pipeline/cookbooks/jenkins/metadata.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 11,
      "normalized_name": "bower",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/Ionicons/bower.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/Ionicons/.bower.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/bower.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/.bower.json | mbarbine__xsociety:html/components/bootstrap/bower.json | mbarbine__xsociety:html/components/datatables/bower.json | mbarbine__xsociety:html/components/jquery/bower.json | mbarbine__xsociety:html/components/metisMenu/bower.json | mbarbine__xsociety:html/components/font-awesome/bower.json | ph3ar__www_js_terminal:www_js_terminal/public/bower.json | ph3ar__www_js_terminal:public/bower.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 10,
      "normalized_name": "list",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/list.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_list.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_list.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_list.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/list.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_list.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/list.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_list.scss | mbarbine__xsociety:html/components/font-awesome/less/list.less | mbarbine__xsociety:html/components/font-awesome/scss/_list.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 9,
      "normalized_name": "path",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Path.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/path.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_path.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/path.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_path.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/path.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_path.scss | mbarbine__xsociety:html/components/font-awesome/less/path.less | mbarbine__xsociety:html/components/font-awesome/scss/_path.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 9,
      "normalized_name": "data-tables-bootstrap",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.css | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.css | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.css | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/dataTables.bootstrap.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/dataTables.bootstrap.css | mbarbine__xsociety:html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.css | mbarbine__xsociety:html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.css | mbarbine__xsociety:html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.css | mbarbine__xsociety:html/components/datatables/media/css/dataTables.bootstrap.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 9,
      "normalized_name": "styles",
      "paths": "mbarbine__Scripts:SORT/OpsClick_website/static/css/styles.css | mbarbine__Scripts:SORT/OpsClick_UI/public/app/core/styles/styles.css | mbarbine__Scripts:SORT/OpsClick_UI/static/browser/css/styles.css | mbarbine__Scripts:SORT/OpsClick_UI/src/styles/styles.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/Magento/ModuleC/view/adminhtml/styles.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/pub/errors/default/css/styles.css | mbarbine__legacy-platphorm-news:src/static/styles.css | mbarbine__news-api:static/styles.css | mbarbine__news-api:src/static/styles.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "automation-config",
      "file_count": 9,
      "normalized_name": "en",
      "paths": "mbarbine__Scripts:svs-automation/svs-rails-app/config/locales/en.yml | mbarbine__Scripts:svs-automation/svs-vis-mock/config/locales/en.yml | mbarbine__Scripts:svs-automation/style-guide/test/dummy/config/locales/en.yml | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/langs/en.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autosave/langs/en.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/langs/en.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/langs/en.js | mbarbine__starphone-web-svelte:dictionaries/en.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/en.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__starphone-web-svelte, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 9,
      "normalized_name": "default",
      "paths": "mbarbine__ja4-sidecar:config/wildduck/default.toml | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/pastefromword/filter/default.js | mbarbine__wildduck:archive/duplicate-configs/zone-mta/config/default.toml | mbarbine__wildduck:archive/duplicate-configs/webmail/config/default.toml | mbarbine__wildduck:archive/duplicate-configs/wildduck/config/default.toml | mbarbine__wildduck:archive/wildduck-configs/default.toml | mbarbine__wildduck:config/webmail/default.toml | mbarbine__wildduck:config/wildduck/default.toml | mbarbine__wildduck:config/traefik/default.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__ja4-sidecar, mbarbine__vanagain-site, mbarbine__wildduck"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "bootstrap-social",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap-social/bootstrap-social.scss | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap-social/bootstrap-social.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap-social/bootstrap-social.css | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/_bootstrap-social.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/bootstrap-social/bootstrap-social.css | mbarbine__xsociety:html/components/bootstrap-social/bootstrap-social.scss | mbarbine__xsociety:html/components/bootstrap-social/bootstrap-social.less | mbarbine__xsociety:html/components/bootstrap-social/bootstrap-social.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "stacked",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/stacked.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_stacked.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/stacked.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_stacked.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/stacked.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_stacked.scss | mbarbine__xsociety:html/components/font-awesome/less/stacked.less | mbarbine__xsociety:html/components/font-awesome/scss/_stacked.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "core",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/core.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_core.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/core.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_core.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/core.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_core.scss | mbarbine__xsociety:html/components/font-awesome/less/core.less | mbarbine__xsociety:html/components/font-awesome/scss/_core.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "fixed-width",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/fixed-width.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_fixed-width.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/fixed-width.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_fixed-width.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/fixed-width.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_fixed-width.scss | mbarbine__xsociety:html/components/font-awesome/less/fixed-width.less | mbarbine__xsociety:html/components/font-awesome/scss/_fixed-width.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "rotated-flipped",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/rotated-flipped.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_rotated-flipped.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/rotated-flipped.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_rotated-flipped.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/rotated-flipped.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_rotated-flipped.scss | mbarbine__xsociety:html/components/font-awesome/less/rotated-flipped.less | mbarbine__xsociety:html/components/font-awesome/scss/_rotated-flipped.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "bordered-pulled",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/bordered-pulled.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_bordered-pulled.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/bordered-pulled.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_bordered-pulled.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/bordered-pulled.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_bordered-pulled.scss | mbarbine__xsociety:html/components/font-awesome/less/bordered-pulled.less | mbarbine__xsociety:html/components/font-awesome/scss/_bordered-pulled.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "larger",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/larger.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_larger.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/larger.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_larger.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/larger.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_larger.scss | mbarbine__xsociety:html/components/font-awesome/less/larger.less | mbarbine__xsociety:html/components/font-awesome/scss/_larger.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 8,
      "normalized_name": "news",
      "paths": "mbarbine__legacy-platphorm-news:src/components/News.svelte | mbarbine__legacy-platphorm-news:src/routes/news.svelte | mbarbine__legacy-platphorm-news:src/routes/news/news.svelte | mbarbine__news-api:src/news.svelte | mbarbine__news-api:src/components/News.svelte | mbarbine__news-api:src/routes/news.svelte | mbarbine__news-api:src/routes/news/news.svelte | mbarbine__platphorm-business-EmployerServicesIncorporated:__tests__/news.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-business-EmployerServicesIncorporated"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 7,
      "normalized_name": "bootstrap",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/bootstrap.less | mbarbine__Scripts:SORT/OpsClick_UI/public/app/core/styles/bootstrap.css | mbarbine__Scripts:SORT/OpsClick_UI/static/browser/css/bootstrap.css | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/_bootstrap.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/bootstrap/css/bootstrap.css | mbarbine__vanagain-site:admin/public/assets/admin/bootstrap/css/bootstrap.css | mbarbine__xsociety:html/components/bootstrap/less/bootstrap.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "dropdowns",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/dropdowns.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_dropdowns.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_dropdowns.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_dropdowns.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/bootstrap/_dropdowns.scss | mbarbine__xsociety:html/components/bootstrap/less/dropdowns.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "tables",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/tables.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_tables.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_tables.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_tables.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/bootstrap/_tables.scss | mbarbine__xsociety:html/components/bootstrap/less/tables.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "font-awesome-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/css/font-awesome.min.css | mbarbine__vanagain-site:admin/public/assets/frontend/css/font-awesome.min.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/revo-slider/fonts/font-awesome/css/font-awesome.min.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/css/font-awesome.min.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/css/font-awesome.min.css | mbarbine__xsociety:html/components/font-awesome/css/font-awesome.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 6,
      "normalized_name": "audio-engine",
      "paths": "mbarbine__desert-bus:__tests__/lib/audio-engine.test.ts | mbarbine__desert-bus:lib/audio-engine.ts | mbarbine__platphorm-quake:__tests__/lib/game/audio-engine.test.ts | mbarbine__platphorm-quake:lib/game/audio-engine.ts | mbarbine__platphormnews-www-prod:src/lib/game/audio-engine.ts | mbarbine__platphormnews-www-prod:src/lib/game/audio-engine.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "process-document",
      "file_count": 6,
      "normalized_name": "ja4-x",
      "paths": "mbarbine__foxio-labs:Drafts/JA4X.mdx | mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4X.mdx | mbarbine__threatrelay-webby:Drafts/JA4X.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4X.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4X.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4X.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 6,
      "normalized_name": "ja4-techniques",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4-Techniques.mdx | mbarbine__foxio-labs:Drafts/Root/JA4-Techniques.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4-Techniques.mdx | mbarbine__threatrelay-webby:Drafts/Root/JA4-Techniques.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4-Techniques.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Root/JA4-Techniques.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "docs-list-client",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:components/docs-list-client.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/docs-list-client.test.tsx | mbarbine__platphorm-opencontent:components/docs-list-client.tsx | mbarbine__platphorm-opencontent:__tests__/unit/components/docs-list-client.test.tsx | mbarbine__platphorm-opendocs:components/docs-list-client.tsx | mbarbine__platphorm-opendocs:__tests__/unit/components/docs-list-client.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 6,
      "normalized_name": "de",
      "paths": "mbarbine__platphorm-layout:messages/de.json | mbarbine__platphorm-onboard:messages/de.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/de.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/de.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/de.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/de.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site"
    },
    {
      "component_kind": "script",
      "file_count": 5,
      "normalized_name": "run",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/spec/viz/run.sh | mbarbine__Scripts:docker/scripts/cleanup/run.sh | mbarbine__xsociety:html/components/morrisjs/spec/viz/run.sh | ph3ar__ph3ar_radio_backend:run.cmd | ph3ar__ph3ar_radio_backend:actions_runner/run.cmd",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__xsociety, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "automation-config",
      "file_count": 5,
      "normalized_name": "jquery-min",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/static/about/js/jquery.min.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery/jquery.min.js | mbarbine__ph3ar-web:public/js/jquery.min.js | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/jquery.min.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/gallery/colorbox/jquery.min.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__ph3ar-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "main",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/static/about/js/main.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/pub/magento/setup/main.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery/fileUploader/main.js | mbarbine__lettuce:xtask/src/main.rs | mbarbine__msicrafter:main.go",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__lettuce, mbarbine__msicrafter"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "webhooks",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/webhooks.test.ts | mbarbine__calendar-app-webby:lib/webhooks.ts | mbarbine__platphorm-ascii:lib/ascii/webhooks.ts | mbarbine__platphorm-openclaw:tests/lib/webhooks.test.ts | mbarbine__platphorm-openclaw:lib/webhooks.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-ascii, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "docs",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/integrations/docs.test.ts | mbarbine__calendar-app-webby:lib/integrations/docs.ts | mbarbine__platphorm-browserops:lib/integrations/docs.ts | mbarbine__platphorm-openclaw:tests/lib/openclaw/integrations/docs.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/integrations/docs.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-browserops, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "ja4-s",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4S.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4S.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4S.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4S.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4S.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "ja4-t",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4T.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4T.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4T.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4T.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4T.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "ja4-ts",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4TS.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4TS.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4TS.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4TS.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4TS.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "ja4-tscan",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4TSCAN.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4TSCAN.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4TSCAN.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4TSCAN.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4TSCAN.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "ja4-ssh",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4SSH.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4SSH.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4SSH.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4SSH.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4SSH.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "ja4-h",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4H.mdx | mbarbine__foxio-labs:pages/Quick-Labs/JA4/JA4H.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4H.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4H.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4/JA4H.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "fingerprinting",
      "file_count": 5,
      "normalized_name": "package",
      "paths": "mbarbine__ja4-sidecar:ja4-alerts/package.json | mbarbine__ja4-sidecar:ja4-sniffer/package.json | mbarbine__ja4-sidecar:ja4-cli/package.json | mbarbine__ja4mlab:packages/shared-fingerprint/package.json | mbarbine__wildduck:scripts/ja4-plus/package.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__ja4-sidecar, mbarbine__ja4mlab, mbarbine__wildduck"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "engine",
      "paths": "mbarbine__multiplayer-puzzle-game:lib/puzzle/engine.ts | mbarbine__platphorm-desa:lib/analysis/engine.ts | mbarbine__platphorm-desa:lib/__tests__/engine.test.ts | mbarbine__platphorm-insights:tests/analysis/engine.test.ts | mbarbine__platphorm-insights:lib/analysis/engine.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__multiplayer-puzzle-game, mbarbine__platphorm-desa, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "process-document",
      "file_count": 5,
      "normalized_name": "route",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:app/api/docs/route.ts | mbarbine__platphorm-opencontent:app/api/docs/route.ts | mbarbine__platphorm-opencontent:__tests__/unit/api/v1/workflow/route.test.ts | mbarbine__platphorm-opendocs:app/api/docs/route.ts | mbarbine__platphorm-opendocs:__tests__/unit/api/v1/workflow/route.test.ts",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 5,
      "normalized_name": "telemetry",
      "paths": "mbarbine__platphorm-dictionary:lib/telemetry.ts | mbarbine__platphorm-dictionary:lib/__tests__/telemetry.test.ts | mbarbine__platphorm-keys:lib/keys/telemetry.ts | mbarbine__platphorm-quake:__tests__/lib/telemetry.test.ts | mbarbine__platphorm-quake:lib/telemetry.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-dictionary, mbarbine__platphorm-keys, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "bootstrap-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/assets/css/bootstrap.min.css | mbarbine__ph3ar-web:public/css/bootstrap.min.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/bootstrap/css/bootstrap.min.css | mbarbine__vanagain-site:admin/public/assets/admin/bootstrap/css/bootstrap.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__ph3ar-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "design-token",
      "file_count": 4,
      "normalized_name": "theme",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/theme.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/_theme.less | mbarbine__platphormnews-www-prod:src/lib/styles/theme.css | mbarbine__xsociety:html/components/bootstrap/less/theme.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__platphormnews-www-prod, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "modals",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/modals.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/components/_modals.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/bootstrap/_modals.scss | mbarbine__xsociety:html/components/bootstrap/less/modals.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "config",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/dashboard/controllers/config.js | mbarbine__Scripts:SORT/OpsClick_UI/src/js/controllers/config.js | ph3ar__js_mongo_app_boilerplate:server/config.json | ph3ar__ph3ar_radio_backend:dummy-server/src/config.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, ph3ar__js_mongo_app_boilerplate, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "jobs",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/jobs/jobs.js | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/server/files/jobs.txt | mbarbine__platphorm-cobol:tests/e2e/jobs.test.ts | mbarbine__platphorm-onboard:lib/data/jobs.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-cobol, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 4,
      "normalized_name": "form",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/form.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/varien/form.js | mbarbine__legacy-platphorm-news:src/utils/form.js | mbarbine__news-api:src/lib/form.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "design-token",
      "file_count": 4,
      "normalized_name": "default",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/prototype/windows/themes/default.css | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/themes/default.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/demos/default/css/themes/default.css | ph3ar__js_mongo_app_boilerplate:public/css/themes/default/_default.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "animated-counter",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/common/animated-counter.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/common/animated-counter.test.tsx | mbarbine__platphorm-polymaths:components/animated-counter.tsx | mbarbine__vanlife-website:components/animated-counter.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-polymaths, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "scroll-reveal",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/effects/scroll-reveal.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/effects/scroll-reveal.test.tsx | mbarbine__platphorm-polymaths:components/scroll-reveal.tsx | mbarbine__vanlife-website:components/scroll-reveal.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-polymaths, mbarbine__vanlife-website"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "seo",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/seo.test.ts | mbarbine__calendar-app-webby:lib/seo.ts | mbarbine__platphorm-layout:lib/layout/seo.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/seo.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-layout, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "roadmap",
      "paths": "mbarbine__drone-reel-webby:components/sections/roadmap.tsx | mbarbine__drone-reel-webby:components/sections/roadmap.test.tsx | mbarbine__platphorm-ascii:__tests__/roadmap.test.tsx | mbarbine__platphorm-jules:app/(main)/roadmap/roadmap.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__drone-reel-webby, mbarbine__platphorm-ascii, mbarbine__platphorm-jules"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "index",
      "paths": "mbarbine__foxio-labs:pages/index.mdx | mbarbine__zornixOS:tools/lib64/perl5/5.28.0/unicore/Index.txt | mbarbine__zornixOS:tools/lib/perl5/5.28.0/unicore/Index.txt | ph3ar__ph3ar-docs-enhanced-labs:pages/index.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__zornixOS, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "manage",
      "paths": "mbarbine__ja4-sidecar:manage.sh | mbarbine__ja4-sidecar:archive/manage.sh | mbarbine__n8n:manage.sh | mbarbine__wildduck:manage.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__ja4-sidecar, mbarbine__n8n, mbarbine__wildduck"
    },
    {
      "component_kind": "utility",
      "file_count": 4,
      "normalized_name": "helpers",
      "paths": "mbarbine__mailthing-main:utils/helpers.ts | mbarbine__platphorm-desa:lib/api/helpers.ts | mbarbine__platphorm-desa:lib/api/__tests__/helpers.test.ts | ph3ar__stripe-subscription-starter:utils/helpers.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-main, mbarbine__platphorm-desa, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "start",
      "paths": "mbarbine__n8n:start.sh | mbarbine__wildduck:scripts/start.bat | ph3ar__www_js_terminal:start.sh | ph3ar__www_js_terminal:www_js_terminal/start.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__n8n, mbarbine__wildduck, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "layout",
      "file_count": 4,
      "normalized_name": "docs-layout",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:components/docs-layout.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/docs-layout.test.tsx | mbarbine__platphorm-opencontent:components/docs-layout.tsx | mbarbine__platphorm-opendocs:components/docs-layout.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "markdown-renderer",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:components/markdown-renderer.tsx | mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/components/markdown-renderer.test.tsx | mbarbine__platphorm-opencontent:components/markdown-renderer.tsx | mbarbine__platphorm-opendocs:components/markdown-renderer.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "tree",
      "paths": "mbarbine__ph3ar-blog:tree.sh | mbarbine__stannp-nextjs-bp:tree.sh | mbarbine__starphone-web-svelte:public/images/tree.sh | mbarbine__starphone-web-svelte:static/images/tree.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__ph3ar-blog, mbarbine__stannp-nextjs-bp, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "json-ld",
      "paths": "mbarbine__ph3ar-blog:src/lib/json-ld.ts | mbarbine__platphorm-kanban:__tests__/lib/json-ld.test.ts | mbarbine__platphorm-kanban:lib/json-ld.ts | mbarbine__platphorm-redteam-arma-landing:lib/json-ld.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-kanban, mbarbine__platphorm-redteam-arma-landing"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "key-generator",
      "paths": "mbarbine__platphorm-agentui:lib/cosmic/key-generator.ts | mbarbine__platphorm-evals:lib/cosmic/key-generator.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/key-generator.ts | mbarbine__platphorm-webhook-simulator:lib/cosmic/key-generator.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "platphorm-network",
      "paths": "mbarbine__platphorm-alleycats:lib/platphorm-network.ts | mbarbine__platphorm-trace:tests/lib/platphorm-network.test.ts | mbarbine__platphorm-trace:lib/platphorm-network.ts | mbarbine__platphorm-zine-reader:lib/platphorm-network.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-trace, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "catalog",
      "paths": "mbarbine__platphorm-base:lib/network/catalog.ts | mbarbine__platphorm-codex:lib/codex/catalog.ts | mbarbine__platphorm-quake:__tests__/lib/game/catalog.test.ts | mbarbine__platphorm-quake:lib/game/catalog.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "policy",
      "paths": "mbarbine__platphorm-browserops:lib/config/policy.ts | mbarbine__platphorm-evals:lib/config/policy.ts | mbarbine__platphorm-webhook-simulator:lib/config/policy.test.ts | mbarbine__platphorm-webhook-simulator:lib/config/policy.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "mcp-server",
      "paths": "mbarbine__platphorm-emoji:lib/mcp-server.ts | mbarbine__platphorm-openclaw:tests/lib/mcp-server.test.ts | mbarbine__platphorm-xml:lib/mcp-server.test.ts | mbarbine__platphorm-xml:lib/mcp-server.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-emoji, mbarbine__platphorm-openclaw, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "security-module",
      "file_count": 4,
      "normalized_name": "ko",
      "paths": "mbarbine__platphorm-insights:messages/ko.json | mbarbine__two-doller-web:messages/ko.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ko.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-insights, mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "github",
      "paths": "mbarbine__platphorm-jules:lib/github.ts | mbarbine__platphorm-jules:lib/github.test.ts | mbarbine__platphorm-mcp:lib/mcp/tools/github.ts | mbarbine__platphorm-onboard:lib/integrations/github.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "cache",
      "paths": "mbarbine__platphorm-monitor:lib/cache.ts | mbarbine__platphorm-monitor:lib/__tests__/cache.test.ts | mbarbine__platphorm-openclaw:tests/lib/cache.test.ts | mbarbine__platphorm-polymarket-rss-feed:lib/cache.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "social-share",
      "paths": "mbarbine__platphorm-politics:components/social-share.tsx | mbarbine__platphorm-wrestling-webby:components/seo/social-share.tsx | mbarbine__threatrelay-webby:components/social-share.tsx | mbarbine__threatrelay-webby:__tests__/social-share.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-politics, mbarbine__platphorm-wrestling-webby, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "language-selector",
      "paths": "mbarbine__platphorm-reader:tests/components/language-selector.test.tsx | mbarbine__platphorm-reader:components/language-selector.tsx | mbarbine__platphorm-shipments:components/language-selector.tsx | mbarbine__platphorm-trace:components/layout/language-selector.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "product-showcase",
      "paths": "mbarbine__FlaskFlow-www:components/product-showcase.tsx | mbarbine__scratchcraft:components/product-showcase.tsx | mbarbine__stripper-mug-webby:components/product-showcase.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__scratchcraft, mbarbine__stripper-mug-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "newsletter-section",
      "paths": "mbarbine__FlaskFlow-www:components/newsletter-section.tsx | mbarbine__robbie-ds-greens-webby:components/home/newsletter-section.tsx | mbarbine__vanlife-website:components/newsletter-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__robbie-ds-greens-webby, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "navbar",
      "paths": "mbarbine__LogSlash-w6:components/navbar.tsx | mbarbine__platphorm-business-EmployerServicesIncorporated:__tests__/Navbar.test.tsx | mbarbine__platphorm-real-estate-property-evaluation:components/navbar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__LogSlash-w6, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-real-estate-property-evaluation"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "tree",
      "paths": "mbarbine__PH3AR-WEBBY:tree.txt | mbarbine__aws-next-k8-cluster-deploy:tree.txt | mbarbine__ph3ar-blog:tree.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__aws-next-k8-cluster-deploy, mbarbine__ph3ar-blog"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "web-vitals",
      "paths": "mbarbine__PH3AR-WEBBY:src/lib/__mocks__/web-vitals.js | mbarbine__platphorm-agentui:lib/performance/web-vitals.ts | mbarbine__platphorm-insights:lib/insights/web-vitals.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__platphorm-agentui, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "print",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/print.less | mbarbine__vanagain-site:admin/public/assets/admin/print.css | mbarbine__xsociety:html/components/bootstrap/less/print.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "design-token",
      "file_count": 3,
      "normalized_name": "jquery-data-tables-themeroller",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/jquery.dataTables_themeroller.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/jquery.dataTables_themeroller.css | mbarbine__xsociety:html/components/datatables/media/css/jquery.dataTables_themeroller.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "jquery-data-tables",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/jquery.dataTables.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/jquery.dataTables.css | mbarbine__xsociety:html/components/datatables/media/css/jquery.dataTables.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "jquery-data-tables-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/jquery.dataTables.min.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/jquery.dataTables.min.css | mbarbine__xsociety:html/components/datatables/media/css/jquery.dataTables.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "morris",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/morris.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/morris/morris.css | mbarbine__xsociety:html/components/morrisjs/morris.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "settings",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Pricing/cloud_pricing/settings.py | mbarbine__legacy-platphorm-news:.vscode/settings.json | mbarbine__wildduck:.vscode/settings.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__legacy-platphorm-news, mbarbine__wildduck"
    },
    {
      "component_kind": "auth",
      "file_count": 3,
      "normalized_name": "auth-config",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/config/auth.config.js | mbarbine__foxio-labs:config/auth-config.ts | ph3ar__ph3ar-docs-enhanced-labs:config/auth-config.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "contact",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/static/about/js/contact.js | mbarbine__spectrum-canine-www:app/actions/contact.ts | mbarbine__vanagain-dot-com-prod:app/actions/contact.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__spectrum-canine-www, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "integration",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/js/templates/integration.js | mbarbine__game-porting-service-webby:tests/integration.test.mjs | mbarbine__platphorm-podcasts:__tests__/integration.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__game-porting-service-webby, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "base",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_base.scss | mbarbine__shopify-theme-vanagain:assets/base.css | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/_base.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__shopify-theme-vanagain, mbarbine__vanagain-site"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "en",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/langs/en.js | mbarbine__autographed-bibles-webby:lib/i18n/dictionaries/en.json | mbarbine__platphorm-trace:lib/i18n/locales/en.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__Scripts, mbarbine__autographed-bibles-webby, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "llms-discovery",
      "file_count": 3,
      "normalized_name": "llms-index",
      "paths": "mbarbine__airrow-commuter-balloon:public/llms-index.json | mbarbine__automotive-flamethrower-webby:public/llms-index.json | mbarbine__platphorm-real-estate-property-evaluation:public/llms-index.json",
      "primary_category": "discovery",
      "recommendation": "Promote to @platphorm/discovery for sitemaps, feeds, OpenAPI, llms, metadata, and robots.",
      "repo_count": 3,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__platphorm-real-estate-property-evaluation"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "proxy",
      "paths": "mbarbine__autographed-bibles-webby:proxy.ts | mbarbine__platphorm-agentui:proxy.ts | mbarbine__platphorm-monitor:__tests__/proxy.test.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "checkout",
      "paths": "mbarbine__autographed-bibles-webby:components/checkout.tsx | mbarbine__platphorm-auction-vice:components/checkout.tsx | mbarbine__vanagain-dot-com-prod:components/checkout/checkout.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__platphorm-auction-vice, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "traefik",
      "paths": "mbarbine__aws-lab:traefik/traefik.yml | mbarbine__ja4-sidecar:config/traefik/traefik.toml | mbarbine__wildduck:archive/traefik-configs/traefik.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__aws-lab, mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "deploy",
      "paths": "mbarbine__aws-next-k8-cluster-deploy:scripts/deploy.sh | mbarbine__ja4-vercel-lab-2:scripts/deploy.sh | mbarbine__platphorm-sandbox:deploy.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__aws-next-k8-cluster-deploy, mbarbine__ja4-vercel-lab-2, mbarbine__platphorm-sandbox"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "use-toast",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/hooks/use-toast.test.ts | mbarbine__platphorm-insights:tests/hooks/use-toast.test.ts | mbarbine__vanagain-dot-com-prod:tests/unit/use-toast.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-insights, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "integration",
      "paths": "mbarbine__calendar-app-webby:docs/integration.md | mbarbine__platphorm-kanban:INTEGRATION.md | mbarbine__platphorm-polymaths:docs/INTEGRATION.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-kanban, mbarbine__platphorm-polymaths"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "mcp",
      "paths": "mbarbine__calendar-app-webby:docs/mcp.md | mbarbine__platphorm-desa:docs/MCP.md | mbarbine__platphorm-jobs:docs/integrations/mcp.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-desa, mbarbine__platphorm-jobs"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "manifest",
      "paths": "mbarbine__desert-bus:public/manifest.json | mbarbine__platphorm-desa:public/manifest.json | ph3ar__DeskThing-FortuneCookie:deskthing/manifest.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-desa, ph3ar__DeskThing-FortuneCookie"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "platform-response",
      "paths": "mbarbine__desert-bus:lib/platform-response.ts | mbarbine__platphorm-jules:lib/platform-response.ts | mbarbine__platphorm-svg-factory:lib/platform-response.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-jules, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "real-time-collaboration",
      "paths": "mbarbine__doflo-clone:components/real-time-collaboration.tsx | mbarbine__platphorm-content-showback-dashboard:components/real-time-collaboration.tsx | mbarbine__process-clone:components/board/real-time-collaboration.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__doflo-clone, mbarbine__platphorm-content-showback-dashboard, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "connection-manager",
      "paths": "mbarbine__doflo-clone:components/connection-manager.tsx | mbarbine__platphorm-mcp:components/mcp/client/connection-manager.tsx | mbarbine__process-clone:components/board/connection-manager.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__doflo-clone, mbarbine__platphorm-mcp, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "contact-form",
      "paths": "mbarbine__dogstar-cybernetics-webby:components/contact-form.tsx | mbarbine__robbie-ds-greens-webby:components/contact/contact-form.tsx | mbarbine__spectrum-canine-www:components/contact-form.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__dogstar-cybernetics-webby, mbarbine__robbie-ds-greens-webby, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "cta",
      "paths": "mbarbine__dogstar-cybernetics-webby:components/sections/cta.tsx | mbarbine__email-reading-service-webby:components/cta.tsx | mbarbine__scratchcraft:components/cta.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__dogstar-cybernetics-webby, mbarbine__email-reading-service-webby, mbarbine__scratchcraft"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "site-config",
      "paths": "mbarbine__drone-reel-webby:lib/site-config.ts | mbarbine__gta-6-countdown-webby:lib/site-config.ts | mbarbine__platphorm-redteam-arma-landing:lib/site-config.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__drone-reel-webby, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-redteam-arma-landing"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "robots",
      "paths": "mbarbine__email-reading-service-webby:e2e/robots.spec.ts | mbarbine__platphorm-trace:tests/robots.test.ts | ph3ar__platphorm-admin-dashboard:app/__tests__/robots.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__email-reading-service-webby, mbarbine__platphorm-trace, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "api-docs",
      "file_count": 3,
      "normalized_name": "api-docs",
      "paths": "mbarbine__fashion-sadiepass-WWW:public/api-docs.json | mbarbine__gta-6-countdown-webby:tests/api-docs.test.ts | mbarbine__platphorm-content-showback-dashboard:__tests__/api-docs.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-content-showback-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "particle-field",
      "paths": "mbarbine__fortune-cookie-webby:components/particle-field.tsx | mbarbine__fortune-cookie-webby-yj:components/particle-field.tsx | mbarbine__platphorm-404:components/404/particle-field.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "secret-modal",
      "paths": "mbarbine__fortune-cookie-webby:components/secret-modal.tsx | mbarbine__fortune-cookie-webby-yj:components/secret-modal.tsx | mbarbine__platphorm-dictionary:components/secret-modal.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-dictionary"
    },
    {
      "component_kind": "mcp-server",
      "file_count": 3,
      "normalized_name": "mcp-route",
      "paths": "mbarbine__fortune-cookie-webby-yj:tests/mcp-route.test.ts | mbarbine__platphorm-ascii:__tests__/mcp-route.test.ts | mbarbine__platphorm-evals:tests/mcp-route.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-ascii, mbarbine__platphorm-evals"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "readme-foxio",
      "paths": "mbarbine__foxio-labs:README_FOXIO.md | mbarbine__threatrelay-webby:README_FOXIO.md | ph3ar__ph3ar-docs-enhanced-labs:README_FOXIO.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "global-d",
      "paths": "mbarbine__foxio-labs:types/global.d.ts | ph3ar__newdittyswag-commerce:src/global.d.ts | ph3ar__ph3ar-docs-enhanced-labs:types/global.d.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, ph3ar__newdittyswag-commerce, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-complete-and-ja4-s-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-complete-and-JA4S-DRAFT.mdx | mbarbine__threatrelay-webby:Drafts/JA4-complete-and-JA4S-DRAFT.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-complete-and-JA4S-DRAFT.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-h-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4H-DRAFT.mdx | mbarbine__threatrelay-webby:Drafts/JA4H-DRAFT.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4H-DRAFT.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4ssh-x",
      "paths": "mbarbine__foxio-labs:Drafts/ja4ssh-x.txt | mbarbine__threatrelay-webby:Drafts/ja4ssh-x.txt | ph3ar__ph3ar-docs-enhanced-labs:Drafts/ja4ssh-x.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-advanced-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4+-Advanced-Draft.mdx | mbarbine__threatrelay-webby:Drafts/JA4+-Advanced-Draft.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4+-Advanced-Draft.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "labs-draft",
      "paths": "mbarbine__foxio-labs:Drafts/LABS-Draft.mdx | mbarbine__threatrelay-webby:Drafts/LABS-Draft.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/LABS-Draft.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-s-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4S-DRAFT.mdx | mbarbine__threatrelay-webby:Drafts/JA4S-DRAFT.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4S-DRAFT.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-tcpserver-fprinting-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4TCPServer-FPRINTING-DRAFT.MDX | mbarbine__threatrelay-webby:Drafts/JA4TCPServer-FPRINTING-DRAFT.MDX | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4TCPServer-FPRINTING-DRAFT.MDX",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "calculations-final-draft",
      "paths": "mbarbine__foxio-labs:Drafts/Calculations-Final-Draft.mdx | mbarbine__threatrelay-webby:Drafts/Calculations-Final-Draft.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Calculations-Final-Draft.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-overview",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Overview.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Overview.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Overview.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-calculations-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Calculations-DRAFT.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Calculations-DRAFT.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Calculations-DRAFT.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-suite-deep-dive",
      "paths": "mbarbine__foxio-labs:Drafts/JA4+ Suite Deep Dive.txt | mbarbine__threatrelay-webby:Drafts/JA4+ Suite Deep Dive.txt | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4+ Suite Deep Dive.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-calc2",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Calc2.txt | mbarbine__threatrelay-webby:Drafts/JA4-Calc2.txt | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Calc2.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-tcpscan-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4TCPScan-DRAFT.mdx | mbarbine__threatrelay-webby:Drafts/JA4TCPScan-DRAFT.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4TCPScan-DRAFT.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "detection-lab2",
      "paths": "mbarbine__foxio-labs:Drafts/DetectionLab2.mdx | mbarbine__threatrelay-webby:Drafts/DetectionLab2.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/DetectionLab2.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-l-draft",
      "paths": "mbarbine__foxio-labs:Drafts/JA4L-DRAFT.mdx | mbarbine__threatrelay-webby:Drafts/JA4L-DRAFT.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4L-DRAFT.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "beginner-lab-1",
      "paths": "mbarbine__foxio-labs:Drafts/Archive/Beginner_Labs/Beginner_Lab_1.mdx | mbarbine__threatrelay-webby:Drafts/Archive/Beginner_Labs/Beginner_Lab_1.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Archive/Beginner_Labs/Beginner_Lab_1.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "beginner-lab-0",
      "paths": "mbarbine__foxio-labs:Drafts/Archive/Beginner_Labs/Beginner_Lab_0.mdx | mbarbine__threatrelay-webby:Drafts/Archive/Beginner_Labs/Beginner_Lab_0.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Archive/Beginner_Labs/Beginner_Lab_0.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "lab0",
      "paths": "mbarbine__foxio-labs:Drafts/Archive/Beginner_Labs/Lab0.mdx | mbarbine__threatrelay-webby:Drafts/Archive/Beginner_Labs/Lab0.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Archive/Beginner_Labs/Lab0.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "lab1",
      "paths": "mbarbine__foxio-labs:Drafts/Archive/Beginner_Labs/Lab1.mdx | mbarbine__threatrelay-webby:Drafts/Archive/Beginner_Labs/Lab1.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Archive/Beginner_Labs/Lab1.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-ls",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4LS.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4LS.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4LS.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-l",
      "paths": "mbarbine__foxio-labs:Drafts/JA4-Deep-Dive/JA4L.mdx | mbarbine__threatrelay-webby:Drafts/JA4-Deep-Dive/JA4L.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/JA4-Deep-Dive/JA4L.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja3-ja4",
      "paths": "mbarbine__foxio-labs:Drafts/About-JA4/JA3-&-JA4.mdx | mbarbine__threatrelay-webby:Drafts/About-JA4/JA3-&-JA4.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/About JA4/JA3-&-JA4.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "labs",
      "paths": "mbarbine__foxio-labs:Drafts/Root/Labs.mdx | mbarbine__threatrelay-webby:Drafts/Root/Labs.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Root/Labs.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "about",
      "paths": "mbarbine__foxio-labs:Drafts/Root/About.mdx | mbarbine__threatrelay-webby:Drafts/Root/About.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Root/About.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "intermediate-ja4-t-lab2",
      "paths": "mbarbine__foxio-labs:Drafts/Advanced-Labs/Intermediate-JA4T-Lab2.mdx | mbarbine__threatrelay-webby:Drafts/Advanced-Labs/Intermediate-JA4T-Lab2.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Advanced-Labs/Intermediate-JA4T-Lab2.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-s-intermediate",
      "paths": "mbarbine__foxio-labs:Drafts/Advanced-Labs/JA4S-Intermediate.mdx | mbarbine__threatrelay-webby:Drafts/Advanced-Labs/JA4S-Intermediate.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Advanced-Labs/JA4S-Intermediate.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "intermediate-lab1",
      "paths": "mbarbine__foxio-labs:Drafts/Advanced-Labs/Intermediate-Lab1.mdx | mbarbine__threatrelay-webby:Drafts/Advanced-Labs/Intermediate-Lab1.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Advanced-Labs/Intermediate-Lab1.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-h-intermediate",
      "paths": "mbarbine__foxio-labs:Drafts/Advanced-Labs/JA4H-Intermediate.mdx | mbarbine__threatrelay-webby:Drafts/Advanced-Labs/JA4H-Intermediate.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Advanced-Labs/JA4H-Intermediate.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4-t-lab",
      "paths": "mbarbine__foxio-labs:Drafts/Advanced-Labs/JA4T-Lab.mdx | mbarbine__threatrelay-webby:Drafts/Advanced-Labs/JA4T-Lab.mdx | ph3ar__ph3ar-docs-enhanced-labs:Drafts/Advanced-Labs/JA4T-Lab.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "dashboard-sidebar",
      "paths": "mbarbine__game-porting-service-webby:components/dashboard-sidebar.tsx | mbarbine__platphorm-jobs:components/dashboard/dashboard-sidebar.tsx | mbarbine__process-clone:components/dashboard-sidebar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__game-porting-service-webby, mbarbine__platphorm-jobs, mbarbine__process-clone"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "types",
      "paths": "mbarbine__instant-snap-postcard:src/integrations/supabase/types.ts | mbarbine__platphorm-podcasts:__tests__/types.test.ts | ph3ar__ph3ar_radio_backend:client/src/modules/types.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__instant-snap-postcard, mbarbine__platphorm-podcasts, ph3ar__ph3ar_radio_backend"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "redis",
      "paths": "mbarbine__ja4-sidecar:config/wildduck/redis.toml | mbarbine__platphorm-mcp:tests/__tests__/redis/redis.test.ts | mbarbine__wildduck:config/wildduck/redis.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__ja4-sidecar, mbarbine__platphorm-mcp, mbarbine__wildduck"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "implementation-plan",
      "paths": "mbarbine__ja4mlab:docs/IMPLEMENTATION_PLAN.md | mbarbine__platphorm-evals:docs/IMPLEMENTATION_PLAN.md | mbarbine__platphorm-polymarket-rss-feed:IMPLEMENTATION_PLAN.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__ja4mlab, mbarbine__platphorm-evals, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "container-automation",
      "file_count": 3,
      "normalized_name": "docker-compose-override",
      "paths": "mbarbine__legacy-platphorm-news:docker-compose.override.yml | mbarbine__n8n:docker-compose.override.yml | mbarbine__wildduck:docker-compose.override.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__n8n, mbarbine__wildduck"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "hooks-server",
      "paths": "mbarbine__legacy-platphorm-news:src/hooks.server.ts | mbarbine__news-api:src/hooks.server.ts | mbarbine__platphormnews-www-prod:src/hooks.server.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "news",
      "paths": "mbarbine__legacy-platphorm-news:src/types/news.ts | mbarbine__news-api:src/types/news.ts | mbarbine__platphormnews-www-prod:src/types/news.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "news-header",
      "paths": "mbarbine__legacy-platphorm-news:src/components/NewsHeader.svelte | mbarbine__news-api:src/components/NewsHeader.svelte | mbarbine__platphormnews-www-prod:src/components/NewsHeader.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "signup",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/auth/signup.js | mbarbine__news-api:src/routes/api/auth/signup.js | mbarbine__platphorm-agentui:tests/api/auth/signup.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-agentui"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "login",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/auth/login.js | mbarbine__news-api:src/routes/api/auth/login.js | mbarbine__platphorm-agentui:tests/api/auth/login.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-agentui"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "user",
      "paths": "mbarbine__mailthing:src/routes/user.ts | mbarbine__mailthing-api:app/src/routes/user.ts | ph3ar__js_mongo_app_boilerplate:controllers/user.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing, mbarbine__mailthing-api, ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "campaigns",
      "paths": "mbarbine__mailthing-client:src/components/Campaigns.tsx | mbarbine__mailthing-main:.archive/StannpForms/Campaigns.tsx | ph3ar__mailthing-webby:pages/campaigns.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "home",
      "paths": "mbarbine__mailthing-client:src/components/Home.tsx | mbarbine__mailthing-main:.archive/StannpForms/Home.tsx | mbarbine__platphorm-stannp-api-wrapper:__tests__/home.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main, mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "tracking",
      "paths": "mbarbine__mailthing-client:src/components/Tracking.tsx | mbarbine__mailthing-main:.archive/StannpForms/Tracking.tsx | ph3ar__mailthing-webby:pages/tracking.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "utility",
      "file_count": 3,
      "normalized_name": "cn",
      "paths": "mbarbine__mailthing-main:utils/cn.ts | mbarbine__platphorm-evals:lib/utils/cn.ts | ph3ar__stripe-subscription-starter:utils/cn.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-main, mbarbine__platphorm-evals, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 3,
      "normalized_name": "navbar",
      "paths": "mbarbine__mailthing-main:components/ui/Navbar/Navbar.tsx | mbarbine__platphorm-business-EmployerServicesIncorporated:src/components/ui/Navbar.tsx | ph3ar__stripe-subscription-starter:components/ui/Navbar/Navbar.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-main, mbarbine__platphorm-business-EmployerServicesIncorporated, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "logo",
      "paths": "mbarbine__mailthing-main:components/icons/Logo.tsx | ph3ar__stripe-subscription-starter:components/icons/Logo.tsx | process-co__npm-element-dev-server:src/logo.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter, process-co__npm-element-dev-server"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "auth-config",
      "paths": "mbarbine__nextjs-ai-4:app/(auth)/auth.config.ts | mbarbine__nextjs-ai-chatbot:app/(auth)/auth.config.ts | mbarbine__ph3ar-chatbot:app/(auth)/auth.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "actions",
      "paths": "mbarbine__nextjs-ai-4:app/(auth)/actions.ts | mbarbine__nextjs-ai-chatbot:app/(auth)/actions.ts | mbarbine__ph3ar-chatbot:app/(auth)/actions.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "ai-chat",
      "file_count": 3,
      "normalized_name": "actions",
      "paths": "mbarbine__nextjs-ai-4:app/(chat)/actions.ts | mbarbine__nextjs-ai-chatbot:app/(chat)/actions.ts | mbarbine__ph3ar-chatbot:app/(chat)/actions.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "document-skeleton",
      "paths": "mbarbine__nextjs-ai-4:components/document-skeleton.tsx | mbarbine__nextjs-ai-chatbot:components/document-skeleton.tsx | mbarbine__ph3ar-chatbot:components/document-skeleton.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "sidebar-history",
      "paths": "mbarbine__nextjs-ai-4:components/sidebar-history.tsx | mbarbine__nextjs-ai-chatbot:components/sidebar-history.tsx | mbarbine__ph3ar-chatbot:components/sidebar-history.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "document",
      "paths": "mbarbine__nextjs-ai-4:components/document.tsx | mbarbine__nextjs-ai-chatbot:components/document.tsx | mbarbine__ph3ar-chatbot:components/document.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "sidebar-user-nav",
      "paths": "mbarbine__nextjs-ai-4:components/sidebar-user-nav.tsx | mbarbine__nextjs-ai-chatbot:components/sidebar-user-nav.tsx | mbarbine__ph3ar-chatbot:components/sidebar-user-nav.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "markdown",
      "paths": "mbarbine__nextjs-ai-4:components/markdown.tsx | mbarbine__nextjs-ai-chatbot:components/markdown.tsx | mbarbine__ph3ar-chatbot:components/markdown.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "model-selector",
      "paths": "mbarbine__nextjs-ai-4:components/model-selector.tsx | mbarbine__nextjs-ai-chatbot:components/model-selector.tsx | mbarbine__ph3ar-chatbot:components/model-selector.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "frontend-hook",
      "file_count": 3,
      "normalized_name": "use-scroll-to-bottom",
      "paths": "mbarbine__nextjs-ai-4:components/use-scroll-to-bottom.ts | mbarbine__nextjs-ai-chatbot:components/use-scroll-to-bottom.ts | mbarbine__ph3ar-chatbot:components/use-scroll-to-bottom.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "diffview",
      "paths": "mbarbine__nextjs-ai-4:components/diffview.tsx | mbarbine__nextjs-ai-chatbot:components/diffview.tsx | mbarbine__ph3ar-chatbot:components/diffview.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "version-footer",
      "paths": "mbarbine__nextjs-ai-4:components/version-footer.tsx | mbarbine__nextjs-ai-chatbot:components/version-footer.tsx | mbarbine__ph3ar-chatbot:components/version-footer.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "toolbar",
      "paths": "mbarbine__nextjs-ai-4:components/toolbar.tsx | mbarbine__nextjs-ai-chatbot:components/toolbar.tsx | mbarbine__ph3ar-chatbot:components/toolbar.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "data-stream-handler",
      "paths": "mbarbine__nextjs-ai-4:components/data-stream-handler.tsx | mbarbine__nextjs-ai-chatbot:components/data-stream-handler.tsx | mbarbine__ph3ar-chatbot:components/data-stream-handler.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "preview-attachment",
      "paths": "mbarbine__nextjs-ai-4:components/preview-attachment.tsx | mbarbine__nextjs-ai-chatbot:components/preview-attachment.tsx | mbarbine__ph3ar-chatbot:components/preview-attachment.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "weather",
      "paths": "mbarbine__nextjs-ai-4:components/weather.tsx | mbarbine__nextjs-ai-chatbot:components/weather.tsx | mbarbine__ph3ar-chatbot:components/weather.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "suggestion",
      "paths": "mbarbine__nextjs-ai-4:components/suggestion.tsx | mbarbine__nextjs-ai-chatbot:components/suggestion.tsx | mbarbine__ph3ar-chatbot:components/suggestion.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "editor",
      "paths": "mbarbine__nextjs-ai-4:components/editor.tsx | mbarbine__nextjs-ai-chatbot:components/editor.tsx | ph3ar__mailthing-webby:components/Editor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "message-editor",
      "paths": "mbarbine__nextjs-ai-4:components/message-editor.tsx | mbarbine__nextjs-ai-chatbot:components/message-editor.tsx | mbarbine__ph3ar-chatbot:components/message-editor.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "sidebar-toggle",
      "paths": "mbarbine__nextjs-ai-4:components/sidebar-toggle.tsx | mbarbine__nextjs-ai-chatbot:components/sidebar-toggle.tsx | mbarbine__ph3ar-chatbot:components/sidebar-toggle.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "auth-form",
      "paths": "mbarbine__nextjs-ai-4:components/auth-form.tsx | mbarbine__nextjs-ai-chatbot:components/auth-form.tsx | mbarbine__ph3ar-chatbot:components/auth-form.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "sign-out-form",
      "paths": "mbarbine__nextjs-ai-4:components/sign-out-form.tsx | mbarbine__nextjs-ai-chatbot:components/sign-out-form.tsx | mbarbine__ph3ar-chatbot:components/sign-out-form.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "console",
      "paths": "mbarbine__nextjs-ai-4:components/console.tsx | mbarbine__nextjs-ai-chatbot:components/console.tsx | mbarbine__ph3ar-chatbot:components/console.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "chat-header",
      "paths": "mbarbine__nextjs-ai-4:components/chat-header.tsx | mbarbine__nextjs-ai-chatbot:components/chat-header.tsx | mbarbine__ph3ar-chatbot:components/chat-header.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "message-actions",
      "paths": "mbarbine__nextjs-ai-4:components/message-actions.tsx | mbarbine__nextjs-ai-chatbot:components/message-actions.tsx | mbarbine__ph3ar-chatbot:components/message-actions.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "visibility-selector",
      "paths": "mbarbine__nextjs-ai-4:components/visibility-selector.tsx | mbarbine__nextjs-ai-chatbot:components/visibility-selector.tsx | mbarbine__ph3ar-chatbot:components/visibility-selector.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "multimodal-input",
      "paths": "mbarbine__nextjs-ai-4:components/multimodal-input.tsx | mbarbine__nextjs-ai-chatbot:components/multimodal-input.tsx | mbarbine__ph3ar-chatbot:components/multimodal-input.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "message",
      "paths": "mbarbine__nextjs-ai-4:components/message.tsx | mbarbine__nextjs-ai-chatbot:components/message.tsx | mbarbine__ph3ar-chatbot:components/message.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "messages",
      "paths": "mbarbine__nextjs-ai-4:components/messages.tsx | mbarbine__nextjs-ai-chatbot:components/messages.tsx | mbarbine__ph3ar-chatbot:components/messages.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "document-preview",
      "paths": "mbarbine__nextjs-ai-4:components/document-preview.tsx | mbarbine__nextjs-ai-chatbot:components/document-preview.tsx | mbarbine__ph3ar-chatbot:components/document-preview.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "chat",
      "paths": "mbarbine__nextjs-ai-4:components/chat.tsx | mbarbine__nextjs-ai-chatbot:components/chat.tsx | mbarbine__ph3ar-chatbot:components/chat.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "submit-button",
      "paths": "mbarbine__nextjs-ai-4:components/submit-button.tsx | mbarbine__nextjs-ai-chatbot:components/submit-button.tsx | mbarbine__ph3ar-chatbot:components/submit-button.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "suggested-actions",
      "paths": "mbarbine__nextjs-ai-4:components/suggested-actions.tsx | mbarbine__nextjs-ai-chatbot:components/suggested-actions.tsx | mbarbine__ph3ar-chatbot:components/suggested-actions.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "image-editor",
      "paths": "mbarbine__nextjs-ai-4:components/image-editor.tsx | mbarbine__nextjs-ai-chatbot:components/image-editor.tsx | mbarbine__ph3ar-chatbot:components/image-editor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "ai-chat",
      "file_count": 3,
      "normalized_name": "use-chat-visibility",
      "paths": "mbarbine__nextjs-ai-4:hooks/use-chat-visibility.ts | mbarbine__nextjs-ai-chatbot:hooks/use-chat-visibility.ts | mbarbine__ph3ar-chatbot:hooks/use-chat-visibility.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "utils",
      "paths": "mbarbine__nextjs-ai-4:lib/utils.ts | mbarbine__nextjs-ai-chatbot:lib/utils.ts | mbarbine__ph3ar-chatbot:lib/utils.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "get-weather",
      "paths": "mbarbine__nextjs-ai-4:lib/ai/tools/get-weather.ts | mbarbine__nextjs-ai-chatbot:lib/ai/tools/get-weather.ts | mbarbine__ph3ar-chatbot:lib/ai/tools/get-weather.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "request-suggestions",
      "paths": "mbarbine__nextjs-ai-4:lib/ai/tools/request-suggestions.ts | mbarbine__nextjs-ai-chatbot:lib/ai/tools/request-suggestions.ts | mbarbine__ph3ar-chatbot:lib/ai/tools/request-suggestions.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "migrate",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrate.ts | mbarbine__nextjs-ai-chatbot:lib/db/migrate.ts | mbarbine__ph3ar-chatbot:lib/db/migrate.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "queries",
      "paths": "mbarbine__nextjs-ai-4:lib/db/queries.ts | mbarbine__nextjs-ai-chatbot:lib/db/queries.ts | mbarbine__ph3ar-chatbot:lib/db/queries.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "0003-snapshot",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrations/meta/0003_snapshot.json | mbarbine__nextjs-ai-chatbot:lib/db/migrations/meta/0003_snapshot.json | mbarbine__ph3ar-chatbot:lib/db/migrations/meta/0003_snapshot.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "0004-snapshot",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrations/meta/0004_snapshot.json | mbarbine__nextjs-ai-chatbot:lib/db/migrations/meta/0004_snapshot.json | mbarbine__ph3ar-chatbot:lib/db/migrations/meta/0004_snapshot.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "0000-snapshot",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrations/meta/0000_snapshot.json | mbarbine__nextjs-ai-chatbot:lib/db/migrations/meta/0000_snapshot.json | mbarbine__ph3ar-chatbot:lib/db/migrations/meta/0000_snapshot.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "journal",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrations/meta/_journal.json | mbarbine__nextjs-ai-chatbot:lib/db/migrations/meta/_journal.json | mbarbine__ph3ar-chatbot:lib/db/migrations/meta/_journal.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "0001-snapshot",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrations/meta/0001_snapshot.json | mbarbine__nextjs-ai-chatbot:lib/db/migrations/meta/0001_snapshot.json | mbarbine__ph3ar-chatbot:lib/db/migrations/meta/0001_snapshot.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "0002-snapshot",
      "paths": "mbarbine__nextjs-ai-4:lib/db/migrations/meta/0002_snapshot.json | mbarbine__nextjs-ai-chatbot:lib/db/migrations/meta/0002_snapshot.json | mbarbine__ph3ar-chatbot:lib/db/migrations/meta/0002_snapshot.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "react-renderer",
      "paths": "mbarbine__nextjs-ai-4:lib/editor/react-renderer.tsx | mbarbine__nextjs-ai-chatbot:lib/editor/react-renderer.tsx | mbarbine__ph3ar-chatbot:lib/editor/react-renderer.tsx",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "suggestions",
      "paths": "mbarbine__nextjs-ai-4:lib/editor/suggestions.tsx | mbarbine__nextjs-ai-chatbot:lib/editor/suggestions.tsx | mbarbine__ph3ar-chatbot:lib/editor/suggestions.tsx",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "functions",
      "paths": "mbarbine__nextjs-ai-4:lib/editor/functions.tsx | mbarbine__nextjs-ai-chatbot:lib/editor/functions.tsx | mbarbine__ph3ar-chatbot:lib/editor/functions.tsx",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "api-code-block",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:app/docs/api/api-code-block.tsx | mbarbine__platphorm-opencontent:app/docs/api/api-code-block.tsx | mbarbine__platphorm-opendocs:app/docs/api/api-code-block.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "aeo-geo",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/aeo-geo.test.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/aeo-geo.test.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/aeo-geo.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "fingerprint-enhanced",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/fingerprint-enhanced.test.ts | mbarbine__platphorm-opencontent:__tests__/unit/lib/fingerprint-enhanced.test.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/fingerprint-enhanced.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "ingest",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/ingest.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/ingest.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/ingest.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "documents",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/documents.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/documents.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/documents.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "submissions",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/submissions.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/submissions.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/submissions.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "categories",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/categories.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/categories.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/categories.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "version",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/version.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/version.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/version.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "discovery-routes",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/discovery-routes.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/discovery-routes.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/discovery-routes.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "documents-slug",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/integration/api/documents-slug.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/documents-slug.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/documents-slug.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "settings",
      "paths": "mbarbine__ph3ar-admin-dashboard:.vscode/settings.json | ph3ar__mailthing-webby:.vscode/settings.json | ph3ar__platphorm-admin-dashboard:.vscode/settings.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 3,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__mailthing-webby, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "docker-compose",
      "paths": "mbarbine__ph3ar-web:docker-compose.yml | mbarbine__process-clone:docker-compose.yml | mbarbine__xsociety:docker-compose.yml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__ph3ar-web, mbarbine__process-clone, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "url-safety",
      "paths": "mbarbine__platphorm-404:lib/platform/url-safety.ts | mbarbine__platphorm-desa:lib/platform/url-safety.ts | mbarbine__platphorm-space-news:lib/space/url-safety.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-404, mbarbine__platphorm-desa, mbarbine__platphorm-space-news"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "quick-start",
      "paths": "mbarbine__platphorm-agentui:QUICK_START.md | mbarbine__platphorm-design:QUICK_START.md | mbarbine__wildduck:docs/quick-start.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-design, mbarbine__wildduck"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 3,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-agentui:app/api/v1/ui/summary/route.ts | mbarbine__platphorm-ascii:app/api/v1/trace/ui/route.ts | mbarbine__platphorm-browserops:app/api/v1/sites/[slug]/ui/route.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-ascii, mbarbine__platphorm-browserops"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "well-known",
      "paths": "mbarbine__platphorm-agentui:tests/api/well-known.test.ts | mbarbine__platphorm-insights:tests/api/well-known.test.ts | mbarbine__platphorm-spec-workbench:__tests__/api/well-known/well-known.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-insights, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "user-menu",
      "paths": "mbarbine__platphorm-agentui:components/layout/user-menu.tsx | mbarbine__platphorm-content-showback-dashboard:components/user-menu.tsx | mbarbine__robot-clothing-marketplace:components/user-menu.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-content-showback-dashboard, mbarbine__robot-clothing-marketplace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "seed",
      "paths": "mbarbine__platphorm-agentui:scripts/seed.ts | mbarbine__platphorm-browserops:scripts/seed.ts | mbarbine__platphorm-polymarket-rss-feed:tests/fixtures/seed.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "llms",
      "paths": "mbarbine__platphorm-agentui:lib/discovery/llms.ts | mbarbine__platphorm-browserops:lib/standards/llms.ts | mbarbine__platphorm-evals:lib/standards/llms.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "client",
      "paths": "mbarbine__platphorm-agentui:lib/db/client.ts | mbarbine__platphorm-real-estate-NAD:lib/db/client.ts | mbarbine__platphorm-spec-workbench:lib/db/client.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "well-known",
      "paths": "mbarbine__platphorm-browserops:tests/well-known.test.ts | mbarbine__platphorm-mcp:tests/__tests__/well-known.test.ts | mbarbine__platphorm-trace:tests/well-known.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-mcp, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "headers",
      "paths": "mbarbine__platphorm-browserops:lib/trace/headers.ts | mbarbine__platphorm-layout:lib/security/headers.ts | mbarbine__platphorm-trace:lib/security/headers.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-layout, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "last-run",
      "paths": "mbarbine__platphorm-browserops:test-results/.last-run.json | mbarbine__platphorm-vercel-atlas:test-results/.last-run.json | ph3ar__www_js_terminal:test-results/.last-run.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-vercel-atlas, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "how-it-works-section",
      "paths": "mbarbine__platphorm-cobol:components/home/how-it-works-section.tsx | mbarbine__platphorm-emoji:components/landing/how-it-works-section.tsx | mbarbine__platphorm-jobs:components/landing/how-it-works-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-cobol, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs"
    },
    {
      "component_kind": "mcp",
      "file_count": 3,
      "normalized_name": "client",
      "paths": "mbarbine__platphorm-codex:__tests__/mcp/client.test.ts | mbarbine__platphorm-decks:__tests__/mcp/client.test.ts | mbarbine__platphorm-insights:tests/mcp/client.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "stats-overview",
      "paths": "mbarbine__platphorm-fingerprint-service:components/stats/stats-overview.tsx | mbarbine__platphorm-insights:components/analysis/stats-overview.tsx | mbarbine__platphorm-real-estate-property-evaluation:components/stats-overview.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-real-estate-property-evaluation"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "standards",
      "paths": "mbarbine__platphorm-insights:STANDARDS.md | mbarbine__platphorm-polymaths:docs/STANDARDS.md | mbarbine__platphorm-trace:public/standards.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-polymaths, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "de",
      "paths": "mbarbine__platphorm-insights:messages/de.json | mbarbine__two-doller-web:messages/de.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/de.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-insights, mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "ar",
      "paths": "mbarbine__platphorm-insights:messages/ar.json | mbarbine__platphorm-onboard:messages/ar.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/ar.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "network-section",
      "paths": "mbarbine__platphorm-jobs:components/landing/network-section.tsx | mbarbine__platphorm-mcp:components/mcp/network-section.tsx | mbarbine__platphorm-signs:components/sections/network-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-jobs, mbarbine__platphorm-mcp, mbarbine__platphorm-signs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "settings-page",
      "paths": "mbarbine__platphorm-jobs:components/dashboard/settings-page.tsx | mbarbine__platphorm-opencontent:__tests__/unit/components/settings-page.test.tsx | mbarbine__platphorm-opendocs:__tests__/unit/components/settings-page.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-jobs, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "frontend-hook",
      "file_count": 3,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-jules:app/api/webhooks/route.test.ts | mbarbine__platphorm-mini-games-webby:app/api/v1/webhooks/status/route.ts | mbarbine__two-doller-web:app/api/webhooks/subscribe/route.test.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__two-doller-web"
    },
    {
      "component_kind": "scheduled-job",
      "file_count": 3,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-layout:app/api/cron/refresh/route.ts | mbarbine__platphorm-monitor:app/api/cron/snapshot/__tests__/route.test.ts | mbarbine__platphorm-space-news:app/api/cron/aggregate-feeds/route.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-layout, mbarbine__platphorm-monitor, mbarbine__platphorm-space-news"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "client",
      "paths": "mbarbine__platphorm-mcp:tests/__tests__/client.test.ts | mbarbine__platphorm-monitor:lib/ja4/client.ts | mbarbine__platphorm-openclaw:tests/sdk/client.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "config",
      "paths": "mbarbine__platphorm-mcp:tests/__tests__/redis/config.test.ts | mbarbine__xsociety:libs/config.py | ph3ar__mailthing-webby:supabase/config.toml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-mcp, mbarbine__xsociety, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "faq",
      "paths": "mbarbine__platphorm-mcp:lib/mcp/tools/faq.ts | mbarbine__platphorm-onboard:lib/data/faq.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/faq.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "settings-form",
      "paths": "mbarbine__platphorm-news-alt-theme:components/settings-form.tsx | mbarbine__vanagain-dot-com-prod:components/account/settings-form.tsx | ph3ar__mailthing-webby:components/settings/SettingsForm.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-news-alt-theme, mbarbine__vanagain-dot-com-prod, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "proxy",
      "paths": "mbarbine__platphorm-onboard:proxy.ts | mbarbine__platphorm-polymarket-rss-feed:proxy.ts | mbarbine__two-doller-web:proxy.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-onboard, mbarbine__platphorm-polymarket-rss-feed, mbarbine__two-doller-web"
    },
    {
      "component_kind": "api-route",
      "file_count": 3,
      "normalized_name": "network",
      "paths": "mbarbine__platphorm-opencontent:__tests__/integration/api/v1/network.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/v1/network.test.ts | mbarbine__platphorm-polymaths:__tests__/api/network.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "categories",
      "paths": "mbarbine__platphorm-opencontent:__tests__/performance/categories.test.ts | mbarbine__platphorm-opendocs:__tests__/performance/categories.test.ts | mbarbine__platphorm-podcasts:__tests__/categories.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "spotify",
      "paths": "mbarbine__platphorm-opencontent:lib/extractors/spotify.ts | mbarbine__platphorm-podcasts:lib/spotify.ts | mbarbine__reflux-site-webby:lib/spotify.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-podcasts, mbarbine__reflux-site-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "methodology-section",
      "paths": "mbarbine__platphorm-polymarket-rss-feed:methodology-section.tsx | mbarbine__platphorm-polymaths:components/sections/methodology-section.tsx | mbarbine__platphorm-trace:methodology-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "ui-provider",
      "file_count": 3,
      "normalized_name": "i18n-provider",
      "paths": "mbarbine__platphorm-reader:components/i18n-provider.tsx | mbarbine__platphorm-shipments:components/i18n-provider.tsx | mbarbine__platphorm-xml:components/i18n-provider.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "stannp",
      "paths": "mbarbine__platphorm-stannp-api-wrapper:lib/stannp.ts | mbarbine__stannp-nextjs-bp:app/lib/api/stannp.ts | ph3ar__mailthing-webby:lib/stannp.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 3,
      "repos": "mbarbine__platphorm-stannp-api-wrapper, mbarbine__stannp-nextjs-bp, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "nav-bar",
      "paths": "mbarbine__tiktok-clone:components/nav-bar.tsx | ph3ar__barbine-worldwide-legacy:src/components/NavBar.tsx | ph3ar__mailthing-webby:components/NavBar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 3,
      "repos": "mbarbine__tiktok-clone, ph3ar__barbine-worldwide-legacy, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "automation-config",
      "file_count": 44,
      "normalized_name": "main",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/activemq/roles/activemq/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/lamp/roles/lamp/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nagios/roles/nagios/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/postgresql/roles/postgresql/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/weblogic/roles/weblogic/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/couchdb/roles/couchdb/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mean/roles/mean/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/wildfly/roles/wildfly/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tomcat/roles/tomcat/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/wordpress/roles/wordpress/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/jboss/roles/jboss/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/glassfish/roles/glassfish/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/rabbitmq/roles/rabbitmq/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/elk/roles/elk/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mongodb/roles/mongodb/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tcserver/roles/tcserver/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nexus/roles/nexus/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nginx/roles/nginx/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mysql/roles/mysql/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/elasticsearch/roles/elasticsearch/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/apache/roles/apache/tasks/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tcserver_/roles/tcserver_/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/mariadb/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/redis/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/common/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/cleanup/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/nginx/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/mariadb/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/redis/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/common/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/apache2/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/cleanup/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/nginx/tasks/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/vars/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/app/tasks/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/java/tasks/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/server/tasks/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/nginx/tasks/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/vagrant_local/tasks/main.yml | mbarbine__xsociety:ansible/roles/xsociety_setup/tasks/main.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "automation-config",
      "file_count": 38,
      "normalized_name": "deployment",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/config/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nlp/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/fs/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/config/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/redis-ui/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/deployment.yaml | mbarbine__platphorm-spec-workbench:lib/generators/mcp/deployment.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "backend-module",
      "file_count": 34,
      "normalized_name": "main",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/src/edit/main.js | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/clouds/lib/docker/roles/docker/handlers/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/activemq/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/lamp/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nagios/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/postgresql/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/weblogic/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/couchdb/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mean/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/wildfly/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tomcat/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/wordpress/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/jboss/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/glassfish/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/rabbitmq/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/elk/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mongodb/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tcserver/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nexus/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nginx/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mysql/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/elasticsearch/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/apache/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tcserver_/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/handlers/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/nginx/handlers/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/handlers/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/handlers/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/handlers/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/nginx/handlers/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/java/handlers/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/nginx/handlers/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/jenkins/handlers/main.yml | mbarbine__job-manager:task-worker/main.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__job-manager"
    },
    {
      "component_kind": "process-document",
      "file_count": 31,
      "normalized_name": "numbers",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentbackqrc20160820044337/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818024838/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818030254/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testtwittersave/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testharvesterqrc20160818071125/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160818050413/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160819072010/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test888820160819081712/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818024523/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentqrc20160819222448/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818025018/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testharvesterqrc20160819071522/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test77788820160822183154/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test8888888820160926034929/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818025520/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160819065147/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentbackqrc20160820045623/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicsms20160819204811/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818030528/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/fdfdfdfdfdsfafa20160912040537/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentqrc20160819222249/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagent20160824202645/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicsms20160819205315/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testbasicqrcattack20160819065021/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testharvesterqrc20160819064452/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagent20160824012115/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818025754/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test121220160818030619/numbers.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testTargets/numbers.txt | mbarbine__xsociety:pipeline/tests/numbers.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 17,
      "normalized_name": "deployment",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/tiller/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/document-uploader/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/template-storage/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/config/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/dispatcher/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/pdf-image-generation/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/backoffice/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/application-storage/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/feedback/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms-generation/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/nlp/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-web/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/portfolio/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/devops-supplement/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/fs/templates/deployment.yaml | mbarbine__ph3ar-web:manifests/deployment.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__ph3ar-web"
    },
    {
      "component_kind": "backend-module",
      "file_count": 13,
      "normalized_name": "metadata",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/build-essential/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/rsyslog/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/java/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apache2/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/yum/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/nginx/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/runit/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/apt/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/chef_handler/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/phantomjs/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws/metadata.json | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/7-zip/metadata.json | mbarbine__xsociety:pipeline/cookbooks/chef_handler/metadata.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 12,
      "normalized_name": "main",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/clouds/digitalocean/main.yml | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/clouds/digitalocean/roles/digitalocean/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/defaults/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/defaults/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/main.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/defaults/main.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/roles/jenkins/tasks/main.yml | mbarbine__lettuce:module-lwe/src/main.rs | mbarbine__lettuce:ring-lwe/main.rs | mbarbine__lettuce:ring-lwe/src/main.rs",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__lettuce"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 9,
      "normalized_name": "forms",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/forms.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/forms.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_forms.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_forms.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_forms.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_forms.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_forms.less | mbarbine__xsociety:html/components/bootstrap/less/forms.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/forms.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 8,
      "normalized_name": "vpc-properties",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_properties.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/pubdev/vpc_properties.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_properties.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_properties.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_properties.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/pubdev/vpc_properties.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_properties.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_properties.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 8,
      "normalized_name": "skin",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/skin.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/light-skin/skin.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/mac-skin/skin.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/metro-white-skin/skin.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/dark-skin/skin.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/smooth-skin/skin.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/parade-skin/skin.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/ilightbox/metro-black-skin/skin.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 8,
      "normalized_name": "client",
      "paths": "mbarbine__nextjs-ai-4:blocks/code/client.tsx | mbarbine__nextjs-ai-4:blocks/image/client.tsx | mbarbine__nextjs-ai-4:blocks/text/client.tsx | mbarbine__nextjs-ai-4:blocks/sheet/client.tsx | mbarbine__ph3ar-chatbot:artifacts/code/client.tsx | mbarbine__ph3ar-chatbot:artifacts/image/client.tsx | mbarbine__ph3ar-chatbot:artifacts/text/client.tsx | mbarbine__ph3ar-chatbot:artifacts/sheet/client.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 8,
      "normalized_name": "server",
      "paths": "mbarbine__nextjs-ai-4:blocks/code/server.ts | mbarbine__nextjs-ai-4:blocks/image/server.ts | mbarbine__nextjs-ai-4:blocks/text/server.ts | mbarbine__nextjs-ai-4:blocks/sheet/server.ts | mbarbine__ph3ar-chatbot:artifacts/code/server.ts | mbarbine__ph3ar-chatbot:artifacts/image/server.ts | mbarbine__ph3ar-chatbot:artifacts/text/server.ts | mbarbine__ph3ar-chatbot:artifacts/sheet/server.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 7,
      "normalized_name": "grid",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/grid.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/grid.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_grid.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/settings/_grid.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_grid.scss | mbarbine__xsociety:html/components/bootstrap/less/grid.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/grid.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 7,
      "normalized_name": "components",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_components.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_components.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/default/components.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/corporate_1/components.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/agency_1/components.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/index/components.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/demos/default/css/components.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "script",
      "file_count": 6,
      "normalized_name": "gradlew",
      "paths": "mbarbine__Scripts:h4x/dagah-modem-bridge/gradlew.bat | mbarbine__Scripts:h4x/dagah-server/APKs/AndroidAgentNew/gradlew.bat | mbarbine__Scripts:h4x/dagah-server/APKs/AndroidAgentBAK/gradlew.bat | mbarbine__Scripts:h4x/dagah-android/gradlew.bat | mbarbine__Scripts:jenkins/ansible/jenkins-auto/gradlew.bat | mbarbine__xsociety:APKs/AndroidAgentBAK/gradlew.bat",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 6,
      "normalized_name": "dialog",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/addon/dialog/dialog.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/dialog.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/highcontrast/dialog.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/default/dialog.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/dialog.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/skins/moono/dialog.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "alerts",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/alerts.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/alerts.less | mbarbine__Scripts:SORT/OpsClick_UI/src/styles/components/alerts.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_alerts.scss | mbarbine__xsociety:html/components/bootstrap/less/alerts.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/alerts.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "data-tables-jqueryui",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.css | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.scss | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/dataTables.jqueryui.css | mbarbine__xsociety:html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.css | mbarbine__xsociety:html/components/datatables-plugins/integration/jqueryui/dataTables.jqueryui.scss | mbarbine__xsociety:html/components/datatables/media/css/dataTables.jqueryui.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "all",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/all.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/all.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/_all.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/_all.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/_all.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/_all.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 6,
      "normalized_name": "no-ssl",
      "paths": "mbarbine__ja4-sidecar:archive/no-ssl.toml | mbarbine__ja4-sidecar:config/webmail/no-ssl.toml | mbarbine__ja4-sidecar:config/wildduck/no-ssl.toml | mbarbine__wildduck:archive/webmail-configs/no-ssl.toml | mbarbine__wildduck:archive/wildduck-configs/no-ssl.toml | mbarbine__wildduck:config/traefik/no-ssl.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "utility",
      "file_count": 6,
      "normalized_name": "server",
      "paths": "mbarbine__mailthing-main:utils/supabase/server.ts | mbarbine__mailthing-main:utils/auth-helpers/server.ts | mbarbine__mailthing-main:utils/stripe/server.ts | ph3ar__stripe-subscription-starter:utils/supabase/server.ts | ph3ar__stripe-subscription-starter:utils/auth-helpers/server.ts | ph3ar__stripe-subscription-starter:utils/stripe/server.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "backend-module",
      "file_count": 6,
      "normalized_name": "page-server",
      "paths": "mbarbine__platphormnews-www-prod:src/routes/+page.server.ts | mbarbine__platphormnews-www-prod:src/routes/story/[id]/+page.server.ts | ph3ar__newdittyswag-commerce:src/routes/+page.server.js | ph3ar__newdittyswag-commerce:src/routes/product/[handle]/+page.server.js | ph3ar__newdittyswag-commerce:src/routes/search/+page.server.js | ph3ar__newdittyswag-commerce:src/routes/search/[collection]/+page.server.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphormnews-www-prod, ph3ar__newdittyswag-commerce"
    },
    {
      "component_kind": "script",
      "file_count": 5,
      "normalized_name": "cleanup",
      "paths": "mbarbine__PH3AR-WEBBY:cleanup.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/cleanup.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/cleanup.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/cleanup.sh | mbarbine__Scripts:graphql/cleanup.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "utilities",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/utilities.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/core/_utilities.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_utilities.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_utilities.less | mbarbine__xsociety:html/components/bootstrap/less/utilities.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "breadcrumbs",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/breadcrumbs.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_breadcrumbs.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_breadcrumbs.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_breadcrumbs.less | mbarbine__xsociety:html/components/bootstrap/less/breadcrumbs.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "labels",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/labels.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/labels.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_labels.scss | mbarbine__xsociety:html/components/bootstrap/less/labels.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/labels.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "utility",
      "file_count": 5,
      "normalized_name": "client",
      "paths": "mbarbine__mailthing-main:utils/supabase/client.ts | mbarbine__mailthing-main:utils/auth-helpers/client.ts | mbarbine__mailthing-main:utils/stripe/client.ts | ph3ar__stripe-subscription-starter:utils/auth-helpers/client.ts | ph3ar__stripe-subscription-starter:utils/stripe/client.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "observability-module",
      "file_count": 5,
      "normalized_name": "ja",
      "paths": "mbarbine__platphorm-layout:messages/ja.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/ja.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/ja.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/ja.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-layout, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "sb-admin-2",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/css/sb-admin-2.css | mbarbine__Scripts:h4x/dagah-server/html/less/sb-admin-2.less | mbarbine__xsociety:html/css/sb-admin-2.css | mbarbine__xsociety:html/less/sb-admin-2.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 4,
      "normalized_name": "slider",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Slider.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/slider-for-bootstrap/css/slider.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/slider-for-bootstrap/less/slider.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/bootstrap-slider/slider.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "media",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/media.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/neat/grid/_media.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/css/media.css | mbarbine__xsociety:html/components/bootstrap/less/media.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "list-group",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/list-group.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/list-group.less | mbarbine__xsociety:html/components/bootstrap/less/list-group.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/list-group.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 4,
      "normalized_name": "pagination",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/pagination.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/pagination.less | mbarbine__xsociety:html/components/bootstrap/less/pagination.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/pagination.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "panels",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/panels.less | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/panels.less | mbarbine__xsociety:html/components/bootstrap/less/panels.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/panels.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "make",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/make.sh | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/make.sh | mbarbine__xsociety:html/components/datatables-plugins/make.sh | mbarbine__xsociety:html/components/datatables-responsive/make.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "data-tables-foundation",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/foundation/dataTables.foundation.css | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/dataTables.foundation.css | mbarbine__xsociety:html/components/datatables-plugins/integration/foundation/dataTables.foundation.css | mbarbine__xsociety:html/components/datatables/media/css/dataTables.foundation.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "extras",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/extras.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_extras.scss | mbarbine__xsociety:html/components/font-awesome/less/extras.less | mbarbine__xsociety:html/components/font-awesome/scss/_extras.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "spinning",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/less/spinning.less | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/scss/_spinning.scss | mbarbine__xsociety:html/components/font-awesome/less/spinning.less | mbarbine__xsociety:html/components/font-awesome/scss/_spinning.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "bootstrap",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/static/about/js/bootstrap.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/pub/bootstrap/js/bootstrap.js | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/bootstrap/js/bootstrap.js | mbarbine__vanagain-site:admin/public/assets/admin/bootstrap/js/bootstrap.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "init",
      "paths": "mbarbine__Scripts:python/impacket/__init__.py | mbarbine__Scripts:python/impacket/examples/ntlmrelayx/clients/__init__.py | mbarbine__Scripts:python/impacket/examples/ntlmrelayx/attacks/__init__.py | mbarbine__cdf-sanitize:app/cdf_redactor/__init__.py",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__cdf-sanitize"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "hi",
      "paths": "mbarbine__airrow-commuter-balloon:messages/hi.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/hi.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/hi.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "theme-config",
      "paths": "mbarbine__foxio-labs:theme.config.tsx | mbarbine__foxio-labs:config/theme-config.tsx | ph3ar__ph3ar-docs-enhanced-labs:theme.config.tsx | ph3ar__ph3ar-docs-enhanced-labs:config/theme-config.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "ja4-config",
      "paths": "mbarbine__ja4-sidecar:config/ja4-plus/ja4-config.json | mbarbine__ja4-sidecar:config/traefik/ja4-config.toml | mbarbine__wildduck:archive/traefik-configs/ja4-config.toml | mbarbine__wildduck:config/ja4-plus/ja4-config.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "no-ssl-fixed",
      "paths": "mbarbine__ja4-sidecar:config/webmail/no-ssl-fixed.toml | mbarbine__ja4-sidecar:config/wildduck/no-ssl-fixed.toml | mbarbine__wildduck:config/webmail/no-ssl-fixed.toml | mbarbine__wildduck:config/wildduck/no-ssl-fixed.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "startup-with-proxy",
      "paths": "mbarbine__ja4-sidecar:config/webmail/startup-with-proxy.sh | mbarbine__ja4-sidecar:config/wildduck/startup-with-proxy.sh | mbarbine__wildduck:config/webmail/startup-with-proxy.sh | mbarbine__wildduck:config/wildduck/startup-with-proxy.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "wildduck",
      "paths": "mbarbine__ja4-sidecar:config/wildduck/wildduck.toml | mbarbine__wildduck:archive/duplicate-configs/haraka/config/wildduck.yaml | mbarbine__wildduck:archive/wildduck-configs/wildduck.toml | mbarbine__wildduck:config/haraka/wildduck.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "security-module",
      "file_count": 4,
      "normalized_name": "roles",
      "paths": "mbarbine__ja4-sidecar:config/wildduck/roles.toml | mbarbine__wildduck:archive/wildduck-configs/roles.js | mbarbine__wildduck:archive/wildduck-configs/roles.toml | mbarbine__wildduck:config/wildduck/roles.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "process-document",
      "file_count": 4,
      "normalized_name": "ja4l",
      "paths": "mbarbine__ja4-sidecar:docs/ja4l.md | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4l.json",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__ja4mlab"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "constants",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/hackernews/constants.js | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/constants.ts | mbarbine__news-api:src/routes/api/hackernews/constants.js | mbarbine__news-api:src/routes/api/hackernews/constants.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "api-route",
      "file_count": 4,
      "normalized_name": "get-ask-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getAskStories.ts | mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getAskStories.js | mbarbine__news-api:src/routes/api/hackernews/getAskStories.ts | mbarbine__news-api:src/routes/api/hackernews/getAskStories.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "zine-reader",
      "paths": "mbarbine__platphorm-alleycats:components/zine-reader.tsx | mbarbine__platphorm-alleycats:__tests__/components/zine-reader.test.tsx | mbarbine__platphorm-zine-reader:components/zine-reader.tsx | mbarbine__platphorm-zine-reader:__tests__/components/zine-reader.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "zine-data",
      "paths": "mbarbine__platphorm-alleycats:__tests__/lib/zine-data.test.ts | mbarbine__platphorm-alleycats:lib/zine-data.ts | mbarbine__platphorm-zine-reader:__tests__/lib/zine-data.test.ts | mbarbine__platphorm-zine-reader:lib/zine-data.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "use-preferences",
      "paths": "mbarbine__platphorm-alleycats:__tests__/lib/use-preferences.test.ts | mbarbine__platphorm-alleycats:lib/use-preferences.ts | mbarbine__platphorm-zine-reader:__tests__/lib/use-preferences.test.ts | mbarbine__platphorm-zine-reader:lib/use-preferences.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "interpolators",
      "paths": "mbarbine__platphorm-codex:__tests__/scroll-engine/interpolators.test.ts | mbarbine__platphorm-codex:lib/scroll-engine/interpolators.ts | mbarbine__platphorm-decks:__tests__/scroll-engine/interpolators.test.ts | mbarbine__platphorm-decks:lib/scroll-engine/interpolators.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "section-manager",
      "paths": "mbarbine__platphorm-codex:__tests__/scroll-engine/section-manager.test.ts | mbarbine__platphorm-codex:lib/scroll-engine/section-manager.ts | mbarbine__platphorm-decks:__tests__/scroll-engine/section-manager.test.ts | mbarbine__platphorm-decks:lib/scroll-engine/section-manager.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "scroll-engine",
      "paths": "mbarbine__platphorm-codex:__tests__/scroll-engine/scroll-engine.test.ts | mbarbine__platphorm-codex:lib/scroll-engine/scroll-engine.ts | mbarbine__platphorm-decks:__tests__/scroll-engine/scroll-engine.test.ts | mbarbine__platphorm-decks:lib/scroll-engine/scroll-engine.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "executor",
      "paths": "mbarbine__platphorm-insights:tests/lib/testing/executor.test.ts | mbarbine__platphorm-insights:lib/testing/executor.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/executor.test.ts | mbarbine__platphorm-webhook-simulator:lib/mcp/executor.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "ui-hook",
      "file_count": 4,
      "normalized_name": "use-settings",
      "paths": "mbarbine__platphorm-jules:hooks/use-settings.test.tsx | mbarbine__platphorm-jules:hooks/__tests__/use-settings.test.tsx | mbarbine__platphorm-reader:tests/hooks/use-settings.test.tsx | mbarbine__platphorm-reader:hooks/use-settings.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "user-settings",
      "paths": "mbarbine__platphorm-kanban:components/user-settings.tsx | mbarbine__platphorm-kanban:__tests__/components/user-settings.test.tsx | mbarbine__platphorm-reader:tests/components/user-settings.test.tsx | mbarbine__platphorm-reader:components/user-settings.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-kanban, mbarbine__platphorm-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "crypto",
      "paths": "mbarbine__platphorm-openclaw:tests/lib/crypto.test.ts | mbarbine__platphorm-openclaw:lib/crypto.ts | mbarbine__platphorm-vercel-atlas:__tests__/lib/crypto.test.ts | mbarbine__platphorm-vercel-atlas:lib/crypto.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "query-builder",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/lib/query-builder.test.ts | mbarbine__platphorm-opencontent:lib/query-builder.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/query-builder.test.ts | mbarbine__platphorm-opendocs:lib/query-builder.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "cache-strategy",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/lib/cache-strategy.test.ts | mbarbine__platphorm-opencontent:lib/cache-strategy.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/cache-strategy.test.ts | mbarbine__platphorm-opendocs:lib/cache-strategy.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "tagging",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/lib/tagging.test.ts | mbarbine__platphorm-opencontent:lib/tagging.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/tagging.test.ts | mbarbine__platphorm-opendocs:lib/tagging.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "mcp-network",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/lib/mcp-network.test.ts | mbarbine__platphorm-opencontent:lib/mcp-network.ts | mbarbine__platphorm-opendocs:__tests__/unit/lib/mcp-network.test.ts | mbarbine__platphorm-opendocs:lib/mcp-network.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 4,
      "normalized_name": "platphorm-service",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/lib/platphorm-service.test.ts | mbarbine__platphorm-opencontent:lib/platphorm-service.ts | mbarbine__platphorm-shipments:__tests__/lib/platphorm-service.test.ts | mbarbine__platphorm-shipments:lib/platphorm-service.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 4,
      "normalized_name": "ui-components",
      "paths": "mbarbine__platphorm-quake:components/settings/ui-components.tsx | mbarbine__platphorm-quake:__tests__/components/settings/ui-components.test.tsx | mbarbine__platphormnews-www-prod:src/components/settings/ui-components.tsx | mbarbine__platphormnews-www-prod:src/components/settings/ui-components.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 4,
      "normalized_name": "validator",
      "paths": "mbarbine__platphorm-spec-workbench:__tests__/lib/spec-engine/validator.test.ts | mbarbine__platphorm-spec-workbench:lib/spec-engine/validator.ts | mbarbine__platphorm-trace:tests/lib/trace/validator.test.ts | mbarbine__platphorm-trace:lib/trace/validator.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "vitals",
      "paths": "mbarbine__PH3AR-WEBBY:src/lib/vitals.spec.js | mbarbine__PH3AR-WEBBY:src/lib/vitals.js | mbarbine__news-api:src/lib/vitals.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__news-api"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "proguard-project",
      "paths": "mbarbine__Scripts:h4x/dagah-modem-bridge/proguard-project.txt | mbarbine__Scripts:h4x/dagah-android/proguard-project.txt | mbarbine__xsociety:APKs/AndroidAgentBAK/proguard-project.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "plugins",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/jenkins_artifacts/plugins.txt | mbarbine__Scripts:h4x/dagah-server/html/components/flot/PLUGINS.md | mbarbine__xsociety:html/components/flot/PLUGINS.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "codemirror",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/lib/codemirror.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/lib/codemirror.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "codemirror",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/lib/codemirror.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/codemirror/lib/codemirror.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "normalize",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/normalize.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/_normalize.scss | mbarbine__xsociety:html/components/bootstrap/less/normalize.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "hide-text",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/hide-text.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_hide-text.scss | mbarbine__xsociety:html/components/bootstrap/less/mixins/hide-text.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "size",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/size.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_size.scss | mbarbine__xsociety:html/components/bootstrap/less/mixins/size.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "border-radius",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/border-radius.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_border-radius.scss | mbarbine__xsociety:html/components/bootstrap/less/mixins/border-radius.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "clearfix",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/clearfix.less | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/lib/bourbon/addons/_clearfix.scss | mbarbine__xsociety:html/components/bootstrap/less/mixins/clearfix.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "init",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/core/__init__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/core/migrations/__init__.py | mbarbine__vanagain-dot-com-prod:scripts/__init__.py",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "setup",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/core/setup.py | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js | mbarbine__car-service-records:tests/setup.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__car-service-records"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "jquery",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/update/pub/js/lib/jquery.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery.js | mbarbine__xsociety:html/components/datatables/media/js/jquery.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "colors",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/view/styles/lib/variables/_colors.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_colors.less | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/_colors.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "bootstrap-min",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/pub/bootstrap/js/bootstrap.min.js | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/bootstrap/js/bootstrap.min.js | mbarbine__vanagain-site:admin/public/assets/admin/bootstrap/js/bootstrap.min.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "navigation",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_navigation.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_navigation.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "index",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/apply/index.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/script/index.js | mbarbine__shopify-theme-vanagain:templates/index.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__shopify-theme-vanagain"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "script",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/custom_theme/web/mage/script.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/lib/web/mage/script.js | mbarbine__xsociety:html/components/jquery/src/ajax/script.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "core",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Js/_files/jshint/whitelist/core.txt | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/static/testsuite/Magento/Test/Js/_files/jshint/blacklist/core.txt | mbarbine__ja4-sidecar:docs/core.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__ja4-sidecar"
    },
    {
      "component_kind": "infrastructure-automation",
      "file_count": 3,
      "normalized_name": "modules",
      "paths": "mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/modules.json | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/modules.json | mbarbine__aws-next-k8-cluster-deploy:terraform/us-east-2/.terraform/modules/modules.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__aws-next-k8-cluster-deploy"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "ru",
      "paths": "mbarbine__airrow-commuter-balloon:messages/ru.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/ru.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/ru.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "ar",
      "paths": "mbarbine__airrow-commuter-balloon:messages/ar.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/ar.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "orders",
      "paths": "mbarbine__autographed-bibles-webby:app/actions/orders.ts | mbarbine__vanagain-dot-com-prod:tests/unit/orders.test.ts | mbarbine__vanagain-dot-com-prod:tests/integration/orders.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "jobs",
      "paths": "mbarbine__autographed-bibles-webby:lib/jobs.ts | mbarbine__calendar-app-webby:__tests__/lib/integrations/jobs.test.ts | mbarbine__calendar-app-webby:lib/integrations/jobs.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "glitch-text",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/effects/glitch-text.tsx | mbarbine__barbineworldwide-2026-metahack:__tests__/components/effects/glitch-text.test.tsx | mbarbine__platphorm-404:components/404/glitch-text.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-404"
    },
    {
      "component_kind": "fingerprinting",
      "file_count": 3,
      "normalized_name": "use-fingerprint",
      "paths": "mbarbine__calendar-app-webby:__tests__/hooks/use-fingerprint.test.ts | mbarbine__calendar-app-webby:hooks/use-fingerprint.ts | mbarbine__platphorm-auction-vice:hooks/use-fingerprint.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-auction-vice"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "kanban",
      "paths": "mbarbine__calendar-app-webby:__tests__/lib/integrations/kanban.test.ts | mbarbine__calendar-app-webby:lib/integrations/kanban.ts | mbarbine__hot-chocolate-for-profit-webby:lib/kanban.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__hot-chocolate-for-profit-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "ics",
      "paths": "mbarbine__calendar-app-webby:lib/ics.ts | mbarbine__platphorm-jobs:__tests__/lib/ics.test.ts | mbarbine__platphorm-jobs:lib/ics.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-jobs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "game-canvas",
      "paths": "mbarbine__desert-bus:components/desert-bus/game-canvas.tsx | mbarbine__platphorm-quake:components/game/game-canvas.tsx | mbarbine__platphorm-quake:__tests__/components/game/game-canvas.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "board",
      "paths": "mbarbine__doflo-clone:types/board.ts | mbarbine__process-clone:board.ts | mbarbine__process-clone:types/board.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "workflow-executor",
      "paths": "mbarbine__doflo-clone:components/workflow-executor.tsx | mbarbine__process-clone:workflow-executor.tsx | mbarbine__process-clone:components/workflow-executor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "workflow-input",
      "paths": "mbarbine__doflo-clone:components/workflow-input.tsx | mbarbine__process-clone:workflow-input.tsx | mbarbine__process-clone:components/workflow-input.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "workflow-validator",
      "paths": "mbarbine__doflo-clone:components/workflow-validator.tsx | mbarbine__process-clone:workflow-validator.tsx | mbarbine__process-clone:components/workflow-validator.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "workflow-library",
      "paths": "mbarbine__doflo-clone:components/workflow-library.tsx | mbarbine__process-clone:workflow-library.tsx | mbarbine__process-clone:components/workflow-library.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "collaborative-board",
      "paths": "mbarbine__doflo-clone:components/collaborative-board.tsx | mbarbine__process-clone:components/collaborative-board.tsx | mbarbine__process-clone:components/board/collaborative-board.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "fog-canvas",
      "paths": "mbarbine__fortune-cookie-webby:components/fog-canvas.tsx | mbarbine__fortune-cookie-webby-yj:tests/components/fog-canvas.test.tsx | mbarbine__fortune-cookie-webby-yj:components/fog-canvas.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "service-worker",
      "paths": "mbarbine__fortune-cookie-webby-yj:tests/service-worker.test.ts | mbarbine__starphone-web-svelte:public/service-worker.js | mbarbine__starphone-web-svelte:static/service-worker.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "ai",
      "paths": "mbarbine__fortune-cookie-webby-yj:public/ai.txt | mbarbine__platphorm-insights:tests/scoring/ai.test.ts | mbarbine__platphorm-insights:lib/scoring/ai.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "key-management",
      "file_count": 3,
      "normalized_name": "use-keyboard-shortcuts",
      "paths": "mbarbine__fortune-cookie-webby-yj:hooks/use-keyboard-shortcuts.ts | mbarbine__platphorm-reader:tests/hooks/use-keyboard-shortcuts.test.ts | mbarbine__platphorm-reader:hooks/use-keyboard-shortcuts.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-reader"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "install",
      "paths": "mbarbine__ja4mlab:INSTALL.md | mbarbine__ja4mlab:docs/INSTALL.md | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/install.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__ja4mlab, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "news",
      "paths": "mbarbine__legacy-platphorm-news:src/static/news.css | mbarbine__news-api:static/news.css | mbarbine__news-api:src/static/news.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "show",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/show.svelte | mbarbine__news-api:src/show.svelte | mbarbine__news-api:src/routes/show.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "best",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/best.svelte | mbarbine__news-api:src/best.svelte | mbarbine__news-api:src/routes/best.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "ask",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/ask.svelte | mbarbine__news-api:src/ask.svelte | mbarbine__news-api:src/routes/ask.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "top",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/top.svelte | mbarbine__news-api:src/top.svelte | mbarbine__news-api:src/routes/top.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "data",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:__tests__/unit/lib/data.test.ts | mbarbine__onboard-platphorm-boilerplate-repo:lib/data.ts | mbarbine__vanagain-dot-com-prod:lib/data.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "sitemap",
      "paths": "mbarbine__platphorm-404:lib/platform/sitemap.ts | mbarbine__platphormnews-www-prod:src/lib/sitemap.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/sitemap.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-404, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 3,
      "normalized_name": "lightweight-editor",
      "paths": "mbarbine__platphorm-agentui:tests/components/editor/lightweight-editor.test.tsx | mbarbine__platphorm-agentui:components/editor/lightweight-editor.tsx | mbarbine__platphorm-spec-workbench:components/workbench/lightweight-editor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "metadata",
      "paths": "mbarbine__platphorm-agentui:lib/standards/metadata.ts | mbarbine__xsociety:pipeline/cookbooks/yum/metadata.json | mbarbine__xsociety:pipeline/cookbooks/7-zip/metadata.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__xsociety"
    },
    {
      "component_kind": "ui-provider",
      "file_count": 3,
      "normalized_name": "trace-provider",
      "paths": "mbarbine__platphorm-base:components/providers/trace-provider.tsx | mbarbine__platphorm-base:__tests__/components/providers/trace-provider.test.tsx | mbarbine__platphorm-layout:components/providers/trace-provider.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-layout"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "site-card",
      "paths": "mbarbine__platphorm-base:components/network/sitemap/site-card.tsx | mbarbine__platphorm-base:__tests__/components/network/sitemap/site-card.test.tsx | mbarbine__platphorm-trace:app/network/components/site-card.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "rss",
      "paths": "mbarbine__platphorm-base:__tests__/lib/rss.test.ts | mbarbine__platphorm-base:lib/network/rss.ts | mbarbine__platphorm-bbs:lib/bbs/rss.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "feature-flags",
      "paths": "mbarbine__platphorm-base:__tests__/lib/config/feature-flags.test.ts | mbarbine__platphorm-base:lib/config/feature-flags.ts | mbarbine__platphorm-wrestling-webby:lib/feature-flags.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-wrestling-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "openapi-spec",
      "paths": "mbarbine__platphorm-base:lib/docs/openapi-spec.ts | mbarbine__platphorm-cobol:lib/openapi-spec.test.ts | mbarbine__platphorm-cobol:lib/openapi-spec.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-cobol"
    },
    {
      "component_kind": "ai-chat",
      "file_count": 3,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-bbs:app/api/v1/chat/rooms/route.ts | mbarbine__platphorm-bbs:app/api/chat/[roomId]/messages/route.ts | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/chat/route.js",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "spec",
      "paths": "mbarbine__platphorm-browserops:lib/integrations/spec.ts | mbarbine__platphorm-trace:tests/lib/openapi/spec.test.ts | mbarbine__platphorm-trace:lib/openapi/spec.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "announcement-section",
      "paths": "mbarbine__platphorm-codex:components/cinematic-scroll/announcement-section.tsx | mbarbine__platphorm-decks:components/cinematic-scroll/announcement-section.tsx | mbarbine__platphorm-decks:components/cinematic-slideshow/announcement-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "narrative-section",
      "paths": "mbarbine__platphorm-codex:components/cinematic-scroll/narrative-section.tsx | mbarbine__platphorm-decks:components/cinematic-scroll/narrative-section.tsx | mbarbine__platphorm-decks:components/cinematic-slideshow/narrative-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "cinematic-slideshow",
      "paths": "mbarbine__platphorm-codex:__tests__/components/cinematic-slideshow.test.tsx | mbarbine__platphorm-decks:components/cinematic-slideshow/cinematic-slideshow.tsx | mbarbine__platphorm-decks:__tests__/components/cinematic-slideshow.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "exporters",
      "paths": "mbarbine__platphorm-desa:lib/analysis/exporters.ts | mbarbine__platphorm-desa:lib/__tests__/exporters.test.ts | mbarbine__platphorm-layout:lib/layout/exporters.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-desa, mbarbine__platphorm-layout"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "toolbar",
      "paths": "mbarbine__platphorm-design:tests/components/design/toolbar.test.tsx | mbarbine__platphorm-design:components/design/toolbar.tsx | mbarbine__platphorm-json:components/json-tree/toolbar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-design, mbarbine__platphorm-json"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "drop-zone",
      "paths": "mbarbine__platphorm-design:components/design/drop-zone.tsx | mbarbine__platphorm-svg-factory:tests/components/DropZone.test.tsx | mbarbine__platphorm-svg-factory:components/svg/drop-zone.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-design, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "handler",
      "paths": "mbarbine__platphorm-fingerprint-service:lib/mcp/handler.ts | mbarbine__platphorm-monitor:lib/mcp/handler.ts | mbarbine__platphorm-monitor:lib/mcp/__tests__/handler.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 3,
      "normalized_name": "smart-tooltip",
      "paths": "mbarbine__platphorm-insights:tests/components/ui/smart-tooltip.test.ts | mbarbine__platphorm-insights:components/ui/smart-tooltip.tsx | mbarbine__platphorm-layout:components/ui/smart-tooltip.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-layout"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "platphorm",
      "paths": "mbarbine__platphorm-insights:lib/api/platphorm.ts | mbarbine__platphorm-trace:tests/lib/network/platphorm.test.ts | mbarbine__platphorm-trace:lib/network/platphorm.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "empty-state",
      "paths": "mbarbine__platphorm-jules:components/jules/empty-state.test.tsx | mbarbine__platphorm-jules:components/jules/empty-state.tsx | mbarbine__platphorm-msi-editor:components/msi/empty-state.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-msi-editor"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "mcp-register",
      "paths": "mbarbine__platphorm-kanban:__tests__/lib/mcp-register.test.ts | mbarbine__platphorm-kanban:lib/mcp-register.ts | mbarbine__platphorm-reader:lib/mcp-register.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-kanban, mbarbine__platphorm-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "audit",
      "paths": "mbarbine__platphorm-keys:__tests__/lib/audit.test.ts | mbarbine__platphorm-keys:lib/keys/audit.ts | mbarbine__platphorm-register:lib/audit.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-keys, mbarbine__platphorm-register"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "producthunt",
      "paths": "mbarbine__platphorm-mcp:lib/mcp/tools/producthunt.ts | mbarbine__platphorm-webhook-simulator:lib/integrations/producthunt.ts | mbarbine__platphorm-webhook-simulator:lib/integrations/producthunt.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "categories",
      "paths": "mbarbine__platphorm-mcp:lib/mcp/tools/categories.ts | mbarbine__platphorm-podcasts:lib/categories.ts | mbarbine__platphorm-podcasts:lib/__tests__/categories.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "observability",
      "paths": "mbarbine__platphorm-openclaw:tests/lib/observability.test.ts | mbarbine__platphorm-openclaw:lib/observability.ts | mbarbine__platphorm-spec-workbench:lib/generators/mcp/observability.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "validate",
      "paths": "mbarbine__platphorm-openclaw:tests/lib/openclaw/schemas/validate.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/schemas/validate.ts | mbarbine__platphorm-podcasts:lib/podcast/validate.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "claws-sdk",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/lib/claws-sdk.test.ts | mbarbine__platphorm-opencontent:lib/claws-sdk.ts | mbarbine__platphorm-opendocs:lib/claws-sdk.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "copy-button",
      "paths": "mbarbine__platphorm-polymarket-rss-feed:components/copy-button.tsx | mbarbine__platphorm-shipments:components/copy-button.tsx | mbarbine__platphorm-shipments:__tests__/components/copy-button.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "polymarket-api",
      "paths": "mbarbine__platphorm-polymarket-rss-feed:lib/polymarket-api.ts | mbarbine__platphorm-shipments:__tests__/lib/polymarket-api.test.ts | mbarbine__platphorm-shipments:lib/polymarket-api.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "back-to-top",
      "paths": "mbarbine__platphorm-polymaths:components/back-to-top.tsx | mbarbine__platphorm-polymaths:__tests__/components/back-to-top.test.tsx | mbarbine__vanlife-website:components/back-to-top.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-polymaths, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 3,
      "normalized_name": "minimap",
      "paths": "mbarbine__platphorm-quake:components/game/hud/minimap.tsx | mbarbine__platphorm-quake:__tests__/components/game/hud/minimap.test.tsx | mbarbine__platphormnews-www-prod:components/game/hud/minimap.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "hn",
      "paths": "mbarbine__platphorm-quake:__tests__/lib/mcp/hn.test.ts | mbarbine__platphormnews-www-prod:src/lib/hn.ts | mbarbine__platphormnews-www-prod:src/lib/__tests__/hn.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "flags",
      "paths": "mbarbine__platphorm-reader:tests/lib/flags.test.ts | mbarbine__platphorm-reader:lib/flags.ts | mbarbine__vanagain-dot-com-prod:lib/flags.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-reader, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "data",
      "paths": "mbarbine__vanagain-dot-com-prod:tests/unit/data.test.ts | mbarbine__xsociety:html/components/jquery/src/data.js | mbarbine__xsociety:html/components/jquery/src/data/Data.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-dot-com-prod, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "composer",
      "paths": "mbarbine__vanagain-site:admin/composer.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/Ionicons/composer.json | mbarbine__xsociety:html/components/holderjs/composer.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "excanvas-min",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/excanvas.min.js | mbarbine__xsociety:html/components/flot.tooltip/js/excanvas.min.js | mbarbine__xsociety:html/components/flot/excanvas.min.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "jquery-flot",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.js | mbarbine__xsociety:html/components/flot.tooltip/js/jquery.flot.js | mbarbine__xsociety:html/components/flot/jquery.flot.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "stat-counter",
      "paths": "mbarbine__2025-year-in-review-webby:components/stat-counter.tsx | mbarbine__v0-2025-year-in-review:components/stat-counter.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__v0-2025-year-in-review"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "achievement-card",
      "paths": "mbarbine__2025-year-in-review-webby:components/achievement-card.tsx | mbarbine__v0-2025-year-in-review:components/achievement-card.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__v0-2025-year-in-review"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "share-card",
      "paths": "mbarbine__2025-year-in-review-webby:components/share-card.tsx | mbarbine__v0-2025-year-in-review:components/share-card.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__2025-year-in-review-webby, mbarbine__v0-2025-year-in-review"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "pricing-section",
      "paths": "mbarbine__FlaskFlow-www:components/pricing-section.tsx | mbarbine__LogSlash-w6:components/pricing-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__LogSlash-w6"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "social-proof",
      "paths": "mbarbine__FlaskFlow-www:components/social-proof.tsx | mbarbine__stripper-mug-webby:components/social-proof.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__FlaskFlow-www, mbarbine__stripper-mug-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "pricing",
      "paths": "mbarbine__Joshs-magnets-landing-page:components/pricing.tsx | mbarbine__email-reading-service-webby:components/pricing.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__email-reading-service-webby"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "performance",
      "paths": "mbarbine__PH3AR-WEBBY:tests/performance.spec.js | mbarbine__platphorm-quake:__tests__/e2e/performance.spec.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "env",
      "paths": "mbarbine__PH3AR-WEBBY:src/__mocks__/env.js | mbarbine__mailthing:src/config/env.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__PH3AR-WEBBY, mbarbine__mailthing"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "mynumber",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testTargets/mynumber.txt | mbarbine__xsociety:pipeline/tests/mynumber.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "monitor-mtips-environment",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/monitor-mtips-environment.sh | mbarbine__xsociety:pipeline/cookbooks/monitor-mtips-environment.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "shared-parameter-db",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/shared-parameter-db.json | mbarbine__xsociety:pipeline/cookbooks/shared-parameter-db.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "jenkins-parameter-db",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/jenkins-parameter-db.json | mbarbine__xsociety:pipeline/cookbooks/jenkins-parameter-db.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "headers",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/headers.sh | mbarbine__xsociety:pipeline/cookbooks/headers.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "add-piv-key",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/add_piv_key.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/add_piv_key.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "create-options",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/create-options.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/create-options.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "converge-nacls",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/converge-nacls.sh | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/converge-nacls.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "port-tester-addresses-db",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/cloudformation/port-tester-addresses-db.json | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/cloudformation/port-tester-addresses-db.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "timeline",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/css/timeline.css | mbarbine__xsociety:html/css/timeline.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "properties",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/properties/properties.js | mbarbine__platphorm-real-estate-NAD:lib/db/properties.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-real-estate-NAD"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "show-hint",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/addon/hint/show-hint.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "history",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/mocha/History.md | mbarbine__xsociety:html/components/mocha/History.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "mocha",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/mocha/mocha.css | mbarbine__xsociety:html/components/mocha/mocha.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "navs",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/navs.less | mbarbine__xsociety:html/components/bootstrap/less/navs.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "component-animations",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/component-animations.less | mbarbine__xsociety:html/components/bootstrap/less/component-animations.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-utilities",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/responsive-utilities.less | mbarbine__xsociety:html/components/bootstrap/less/responsive-utilities.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "carousel",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/carousel.less | mbarbine__xsociety:html/components/bootstrap/less/carousel.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "navbar",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/navbar.less | mbarbine__xsociety:html/components/bootstrap/less/navbar.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "button-groups",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/button-groups.less | mbarbine__xsociety:html/components/bootstrap/less/button-groups.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "progress-bars",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/progress-bars.less | mbarbine__xsociety:html/components/bootstrap/less/progress-bars.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "glyphicons",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/glyphicons.less | mbarbine__xsociety:html/components/bootstrap/less/glyphicons.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-embed",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/responsive-embed.less | mbarbine__xsociety:html/components/bootstrap/less/responsive-embed.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "jumbotron",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/jumbotron.less | mbarbine__xsociety:html/components/bootstrap/less/jumbotron.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "badges",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/badges.less | mbarbine__xsociety:html/components/bootstrap/less/badges.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "pager",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/pager.less | mbarbine__xsociety:html/components/bootstrap/less/pager.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "input-groups",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/input-groups.less | mbarbine__xsociety:html/components/bootstrap/less/input-groups.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "type",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/type.less | mbarbine__xsociety:html/components/bootstrap/less/type.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "code",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/code.less | mbarbine__xsociety:html/components/bootstrap/less/code.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "thumbnails",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/thumbnails.less | mbarbine__xsociety:html/components/bootstrap/less/thumbnails.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "popovers",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/popovers.less | mbarbine__xsociety:html/components/bootstrap/less/popovers.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "wells",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/wells.less | mbarbine__xsociety:html/components/bootstrap/less/wells.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "scaffolding",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/scaffolding.less | mbarbine__xsociety:html/components/bootstrap/less/scaffolding.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "close",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/close.less | mbarbine__xsociety:html/components/bootstrap/less/close.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "tooltip",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/tooltip.less | mbarbine__xsociety:html/components/bootstrap/less/tooltip.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "text-emphasis",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/text-emphasis.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/text-emphasis.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "nav-vertical-align",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/nav-vertical-align.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/nav-vertical-align.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "table-row",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/table-row.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/table-row.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "gradients",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/gradients.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/gradients.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "nav-divider",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/nav-divider.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/nav-divider.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "image",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/image.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/image.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "reset-filter",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/reset-filter.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/reset-filter.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "text-overflow",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/text-overflow.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/text-overflow.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "background-variant",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/background-variant.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/background-variant.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "center-block",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/center-block.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/center-block.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-visibility",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/responsive-visibility.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/responsive-visibility.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "grid-framework",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/grid-framework.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/grid-framework.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "opacity",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/opacity.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/opacity.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "progress-bar",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/progress-bar.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/progress-bar.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "vendor-prefixes",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/vendor-prefixes.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/vendor-prefixes.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "reset-text",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/reset-text.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/reset-text.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "resize",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/resize.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/resize.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "tab-focus",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/less/mixins/tab-focus.less | mbarbine__xsociety:html/components/bootstrap/less/mixins/tab-focus.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "parser",
      "file_count": 2,
      "normalized_name": "bs-lessdoc-parser",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/grunt/bs-lessdoc-parser.js | mbarbine__xsociety:html/components/bootstrap/grunt/bs-lessdoc-parser.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "my-get",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/nuget/MyGet.ps1 | mbarbine__xsociety:html/components/bootstrap/nuget/MyGet.ps1",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-font-awesome",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/font-awesome/dataTables.fontAwesome.css | mbarbine__xsociety:html/components/datatables-plugins/integration/font-awesome/dataTables.fontAwesome.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-alphabet-search",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.css | mbarbine__xsociety:html/components/datatables-plugins/features/alphabetSearch/dataTables.alphabetSearch.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-search-highlight",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.css | mbarbine__xsociety:html/components/datatables-plugins/features/searchHighlight/dataTables.searchHighlight.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-length-links",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.css | mbarbine__xsociety:html/components/datatables-plugins/features/lengthLinks/dataTables.lengthLinks.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-find-cell-row-indexes",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnFindCellRowIndexes.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnFindCellRowIndexes.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-data-update",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnDataUpdate.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnDataUpdate.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-add-tr",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnAddTr.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnAddTr.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-add-data-and-display",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnAddDataAndDisplay.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnAddDataAndDisplay.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-filter-all",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnFilterAll.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnFilterAll.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-display-start",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnDisplayStart.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnDisplayStart.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-find-cell-row-nodes",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnFindCellRowNodes.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnFindCellRowNodes.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-standing-redraw",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnStandingRedraw.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnStandingRedraw.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-get-hidden-nodes",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnGetHiddenNodes.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnGetHiddenNodes.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-sort-neutral",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnSortNeutral.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnSortNeutral.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-paging-info",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnPagingInfo.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnPagingInfo.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-reload-ajax",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnReloadAjax.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnReloadAjax.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "column-title",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/column().title().js | mbarbine__xsociety:html/components/datatables-plugins/api/column().title().js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "columns-order",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/columns().order().js | mbarbine__xsociety:html/components/datatables-plugins/api/columns().order().js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-column-index-to-visible",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnColumnIndexToVisible.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnColumnIndexToVisible.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-display-row",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnDisplayRow.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnDisplayRow.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "page-jump-to-data",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/page.jumpToData().js | mbarbine__xsociety:html/components/datatables-plugins/api/page.jumpToData().js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-filter-clear",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnFilterClear.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnFilterClear.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-processing-indicator",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnProcessingIndicator.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnProcessingIndicator.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-visible-to-column-index",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnVisibleToColumnIndex.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnVisibleToColumnIndex.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-get-column-data",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnGetColumnData.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnGetColumnData.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-get-tds",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnGetTds.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnGetTds.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-fake-rowspan",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnFakeRowspan.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnFakeRowspan.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-length-change",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnLengthChange.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnLengthChange.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "average",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/average().js | mbarbine__xsociety:html/components/datatables-plugins/api/average().js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-get-column-index",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnGetColumnIndex.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnGetColumnIndex.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-get-adjacent-tr",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnGetAdjacentTr.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnGetAdjacentTr.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-set-filtering-delay",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnSetFilteringDelay.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnSetFilteringDelay.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-filter-on-return",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnFilterOnReturn.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnFilterOnReturn.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "sum",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/sum().js | mbarbine__xsociety:html/components/datatables-plugins/api/sum().js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-get-td",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnGetTd.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnGetTd.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "fn-multi-filter",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/api/fnMultiFilter.js | mbarbine__xsociety:html/components/datatables-plugins/api/fnMultiFilter.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-foundation-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/dataTables.foundation.min.css | mbarbine__xsociety:html/components/datatables/media/css/dataTables.foundation.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-bootstrap-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/dataTables.bootstrap.min.css | mbarbine__xsociety:html/components/datatables/media/css/dataTables.bootstrap.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "data-tables-jqueryui-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/css/dataTables.jqueryui.min.css | mbarbine__xsociety:html/components/datatables/media/css/dataTables.jqueryui.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "mit-license",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/MIT-LICENSE.txt | mbarbine__xsociety:html/components/jquery/MIT-LICENSE.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "queue",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/queue.js | mbarbine__xsociety:html/components/jquery/src/queue.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "access",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/core/access.js | mbarbine__xsociety:html/components/jquery/src/core/access.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "init",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/core/init.js | mbarbine__xsociety:html/components/jquery/src/core/init.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "ready",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/core/ready.js | mbarbine__xsociety:html/components/jquery/src/core/ready.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "parser",
      "file_count": 2,
      "normalized_name": "parse-html",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/core/parseHTML.js | mbarbine__xsociety:html/components/jquery/src/core/parseHTML.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "rsingle-tag",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/core/var/rsingleTag.js | mbarbine__xsociety:html/components/jquery/src/core/var/rsingleTag.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "delay",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/queue/delay.js | mbarbine__xsociety:html/components/jquery/src/queue/delay.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "morris-core",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/less/morris.core.less | mbarbine__xsociety:html/components/morrisjs/less/morris.core.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "example",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/examples/lib/example.css | mbarbine__xsociety:html/components/morrisjs/examples/lib/example.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "news",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/flot/NEWS.md | mbarbine__xsociety:html/components/flot/NEWS.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "examples",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/flot/examples/examples.css | mbarbine__xsociety:html/components/flot/examples/examples.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "jquery-ui-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/flot/examples/shared/jquery-ui/jquery-ui.min.css | mbarbine__xsociety:html/components/flot/examples/shared/jquery-ui/jquery-ui.min.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "yearistype",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/flot/examples/axes-time-zones/tz/yearistype.sh | mbarbine__xsociety:html/components/flot/examples/axes-time-zones/tz/yearistype.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "metis-menu",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/metisMenu/src/metisMenu.css | mbarbine__xsociety:html/components/metisMenu/src/metisMenu.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-bootstrap",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/css/responsive.bootstrap.scss | mbarbine__xsociety:html/components/datatables-responsive/css/responsive.bootstrap.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-data-tables",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/css/responsive.dataTables.scss | mbarbine__xsociety:html/components/datatables-responsive/css/responsive.dataTables.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-foundation",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/css/responsive.foundation.scss | mbarbine__xsociety:html/components/datatables-responsive/css/responsive.foundation.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "responsive-jqueryui",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/css/responsive.jqueryui.scss | mbarbine__xsociety:html/components/datatables-responsive/css/responsive.jqueryui.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "animate",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/static/about/css/animate.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/animate/animate.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "state-store",
      "file_count": 2,
      "normalized_name": "auth-store",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/js/stores/auth-store.js | mbarbine__vanagain-dot-com-prod:tests/unit/auth-store.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "auth-actions",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/js/actions/auth-actions.js | mbarbine__vanagain-dot-com-prod:tests/unit/auth-actions.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "admin",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/js/templates/admin.js | mbarbine__vanagain-site:admin/public/assets/admin/admin.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "fonts",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/styles/fonts.scss | process-co__json-graph:src/styles/fonts.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, process-co__json-graph"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "spinner",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/src/styles/components/spinner.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/_spinner.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "enum",
      "paths": "mbarbine__Scripts:python/impacket/dcerpc/v5/enum.py | mbarbine__xsociety:html/components/datatables-plugins/sorting/enum.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "types",
      "paths": "mbarbine__Scripts:python/impacket/krb5/types.py | mbarbine__platphorm-emoji:tests/types.test.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-emoji"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "footer",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/components/_footer.scss | ph3ar__barbine-worldwide-legacy:src/components/Footer.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, ph3ar__barbine-worldwide-legacy"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "inputs",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_inputs.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/core/plugins/bootstrap/_inputs.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "layout",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/layout.js | mbarbine__platphorm-layout:lib/types/layout.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__platphorm-layout"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "bootstrap",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/bootstrap.js | mbarbine__xsociety:ansible/bootstrap/bootstrap.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__xsociety"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "browser",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/browser.js | mbarbine__burrito-dealer-www:lib/supabase/browser.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__burrito-dealer-www"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "link",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/link.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/link/dialogs/link.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "anchor",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/js/anchor.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/link/dialogs/anchor.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "datepicker",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/JsTestDriver/testsuite/lib/ko/datepicker/datepicker.js | mbarbine__vanagain-site:admin/public/assets/frontend/assets/demos/default/js/scripts/pages/datepicker.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__Scripts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "chat-interface",
      "paths": "mbarbine__ai-chat-interface-webby:components/chat-interface.tsx | mbarbine__platphorm-bbs:components/chat/chat-interface.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__ai-chat-interface-webby, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "bn",
      "paths": "mbarbine__airrow-commuter-balloon:messages/bn.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/bn.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__airrow-commuter-balloon, mbarbine__vanagain-site"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "es",
      "paths": "mbarbine__autographed-bibles-webby:lib/i18n/dictionaries/es.json | mbarbine__platphorm-trace:lib/i18n/locales/es.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__autographed-bibles-webby, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "page",
      "file_count": 2,
      "normalized_name": "page",
      "paths": "mbarbine__automotive-flamethrower-webby:app/jobs/page.tsx | mbarbine__legacy-platphorm-news:src/routes/jobs/+page.svelte",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__legacy-platphorm-news"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "early-bird-signup",
      "paths": "mbarbine__automotive-flamethrower-webby:components/early-bird-signup.tsx | mbarbine__fashion-sadiepass-WWW:components/early-bird-signup.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__automotive-flamethrower-webby, mbarbine__fashion-sadiepass-WWW"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "create-tree",
      "paths": "mbarbine__aws-next-k8-cluster-deploy:create-tree.sh | mbarbine__xsociety:ansible/host-config/create-tree.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__aws-next-k8-cluster-deploy, mbarbine__xsociety"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "loading-spinner",
      "paths": "mbarbine__barbine-worldwide-2025-wwww:components/loading-spinner.tsx | mbarbine__beer-museum-manager-www:components/loading-spinner.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__barbine-worldwide-2025-wwww, mbarbine__beer-museum-manager-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "matrix-rain",
      "paths": "mbarbine__barbine-worldwide-2025-wwww:components/matrix-rain.tsx | mbarbine__barbineworldwide-2026-metahack:components/effects/matrix-rain.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "services-grid",
      "paths": "mbarbine__barbineworldwide-2026-metahack:components/sections/services-grid.tsx | mbarbine__platphorm-bbs:components/bbs/services-grid.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "page",
      "file_count": 2,
      "normalized_name": "not-found",
      "paths": "mbarbine__barbineworldwide-2026-metahack:__tests__/app/not-found.test.tsx | mbarbine__instant-snap-postcard:src/pages/NotFound.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__instant-snap-postcard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "image-gallery",
      "paths": "mbarbine__beer-museum-manager-www:components/image-gallery.tsx | mbarbine__platphorm-auction-vice:components/listing/image-gallery.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-auction-vice"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "stats-grid",
      "paths": "mbarbine__beer-museum-manager-www:components/shared/stats-grid.tsx | mbarbine__platphorm-agentui:app/(workspace)/dashboard/components/stats-grid.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-agentui"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "inspect-tables",
      "paths": "mbarbine__burrito-dealer-www:scripts/inspect-tables.js | mbarbine__vanagain-dot-com-prod:scripts/_inspect-tables.mjs",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__burrito-dealer-www, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "seed-complete-database",
      "paths": "mbarbine__burrito-dealer-www:scripts/seed-complete-database.js | mbarbine__platphorm-real-estate-NAD:scripts/seed-complete-database.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__burrito-dealer-www, mbarbine__platphorm-real-estate-NAD"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "pre-commit-check",
      "paths": "mbarbine__calendar-app-webby:pre-commit-check.sh | mbarbine__platphorm-svg-factory:pre-commit-check.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "humans",
      "paths": "mbarbine__calendar-app-webby:__tests__/feeds/humans.test.ts | mbarbine__email-reading-service-webby:e2e/humans.spec.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__email-reading-service-webby"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "llms",
      "paths": "mbarbine__calendar-app-webby:__tests__/feeds/llms.test.ts | mbarbine__platphorm-wrestling-webby:__tests__/llms.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-wrestling-webby"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "rss",
      "paths": "mbarbine__calendar-app-webby:__tests__/feeds/rss.test.ts | mbarbine__platphorm-podcasts:__tests__/rss.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "api-keys",
      "paths": "mbarbine__calendar-app-webby:__tests__/api/v1/api-keys.test.ts | mbarbine__platphorm-agentui:tests/api/api-keys.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-agentui"
    },
    {
      "component_kind": "onboarding",
      "file_count": 2,
      "normalized_name": "onboard",
      "paths": "mbarbine__calendar-app-webby:__tests__/api/v1/integrations/onboard.test.ts | mbarbine__platphorm-kanban:__tests__/api/onboard.test.ts",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "persistence",
      "paths": "mbarbine__calendar-app-webby:lib/persistence.ts | mbarbine__platphorm-spec-workbench:lib/generators/mcp/persistence.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "artisan-stories",
      "paths": "mbarbine__crafted-virginia-website:components/artisan-stories.tsx | mbarbine__glass-blowing-website:components/artisan-stories.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__crafted-virginia-website, mbarbine__glass-blowing-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "featured-collections",
      "paths": "mbarbine__crafted-virginia-website:components/featured-collections.tsx | mbarbine__glass-blowing-website:components/featured-collections.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__crafted-virginia-website, mbarbine__glass-blowing-website"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "test-perf",
      "paths": "mbarbine__desert-bus:test_perf.js | mbarbine__platphorm-vercel-atlas:test_perf.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "final-summary",
      "paths": "mbarbine__desert-bus:FINAL_SUMMARY.md | mbarbine__n8n:FINAL_SUMMARY.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__desert-bus, mbarbine__n8n"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "design",
      "paths": "mbarbine__desert-bus:DESIGN.md | mbarbine__platphorm-bbs:docs/DESIGN.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__desert-bus, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "readme1",
      "paths": "mbarbine__docker-terraform-aws-demo:readme1.md | mbarbine__mermaid-next-www:README1.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__docker-terraform-aws-demo, mbarbine__mermaid-next-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "board-canvas",
      "paths": "mbarbine__doflo-clone:components/board-canvas.tsx | mbarbine__process-clone:components/board/board-canvas.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 2,
      "normalized_name": "workflow-node-editor",
      "paths": "mbarbine__doflo-clone:components/workflow-node-editor.tsx | mbarbine__process-clone:workflow-node-editor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "collaborators-list",
      "paths": "mbarbine__doflo-clone:components/collaborators-list.tsx | mbarbine__process-clone:components/board/collaborators-list.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "workflow-node",
      "paths": "mbarbine__doflo-clone:components/workflow-node.tsx | mbarbine__process-clone:workflow-node.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "process-co-integration",
      "paths": "mbarbine__doflo-clone:components/process-co-integration.tsx | mbarbine__process-clone:components/integrations/process-co-integration.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "integration-logos",
      "paths": "mbarbine__doflo-clone:components/integration-logos.tsx | mbarbine__process-clone:components/integration-logos.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "miro-features",
      "paths": "mbarbine__doflo-clone:components/miro-features.tsx | mbarbine__process-clone:components/board/miro-features.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "comment-panel",
      "paths": "mbarbine__doflo-clone:components/comment-panel.tsx | mbarbine__process-clone:components/board/comment-panel.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "template-selector",
      "paths": "mbarbine__doflo-clone:components/template-selector.tsx | mbarbine__process-clone:components/board/template-selector.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "board-toolbar",
      "paths": "mbarbine__doflo-clone:components/board-toolbar.tsx | mbarbine__process-clone:components/board/board-toolbar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "feature-section",
      "paths": "mbarbine__doflo-clone:components/feature-section.tsx | mbarbine__process-clone:components/landing/feature-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "cookie-consent",
      "paths": "mbarbine__doflo-clone:components/cookie-consent.tsx | mbarbine__process-clone:components/cookie-consent.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "wildduck-api",
      "paths": "mbarbine__doflo-clone:lib/wildduck-api.ts | mbarbine__process-clone:lib/wildduck-api.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "tracking",
      "paths": "mbarbine__doflo-clone:lib/tracking.ts | mbarbine__process-clone:lib/tracking.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "process-co-api",
      "paths": "mbarbine__doflo-clone:lib/process-co-api.ts | mbarbine__process-clone:lib/process-co-api.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__doflo-clone, mbarbine__process-clone"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "structured-data",
      "paths": "mbarbine__dogstar-cybernetics-webby:components/structured-data.tsx | mbarbine__platphorm-wrestling-webby:components/seo/structured-data.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__dogstar-cybernetics-webby, mbarbine__platphorm-wrestling-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "advanced-search",
      "paths": "mbarbine__fashion-sadiepass-WWW:components/advanced-search.tsx | mbarbine__platphorm-usl:components/advanced-search.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-usl"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "chat-widget",
      "paths": "mbarbine__fashion-sadiepass-WWW:components/chat-widget.tsx | mbarbine__vanagain-dot-com-prod:components/ai/chat-widget.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "fortune-display",
      "paths": "mbarbine__fortune-cookie-webby:components/fortune-display.tsx | mbarbine__fortune-cookie-webby-yj:components/fortune-display.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "life-goals",
      "paths": "mbarbine__fortune-cookie-webby:lib/life-goals.ts | mbarbine__fortune-cookie-webby-yj:lib/life-goals.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "fortunes",
      "paths": "mbarbine__fortune-cookie-webby-yj:tests/fortunes.test.ts | ph3ar__DeskThing-FortuneCookie:src/data/fortunes.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, ph3ar__DeskThing-FortuneCookie"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "cors",
      "paths": "mbarbine__fortune-cookie-webby-yj:tests/cors.test.ts | mbarbine__platphorm-mcp:tests/__tests__/cors.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "fortune-card",
      "paths": "mbarbine__fortune-cookie-webby-yj:components/fortune-card.tsx | ph3ar__DeskThing-FortuneCookie:src/components/FortuneCard/FortuneCard.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, ph3ar__DeskThing-FortuneCookie"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "generator",
      "paths": "mbarbine__fortune-cookie-webby-yj:lib/fortune/generator.ts | mbarbine__job-manager:task-service/src/app/lib/generator.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__job-manager"
    },
    {
      "component_kind": "parser",
      "file_count": 2,
      "normalized_name": "pcap-ng-parser-d",
      "paths": "mbarbine__foxio-labs:types/pcap-ng-parser.d.ts | ph3ar__ph3ar-docs-enhanced-labs:types/pcap-ng-parser.d.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "ja4-vercel",
      "paths": "mbarbine__foxio-labs:Drafts/Vercel/ja4-vercel.md | mbarbine__threatrelay-webby:Drafts/Vercel/ja4-vercel.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "webhookdata",
      "paths": "mbarbine__foxio-labs:utils/webhookdata.ts | ph3ar__ph3ar-docs-enhanced-labs:utils/webhookdata.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "validate-env",
      "paths": "mbarbine__foxio-labs:utils/validateEnv.ts | ph3ar__ph3ar-docs-enhanced-labs:utils/validateEnv.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "sentry-setup",
      "paths": "mbarbine__foxio-labs:integrations/sentry-setup.md | ph3ar__ph3ar-docs-enhanced-labs:integrations/sentry-setup.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "sentry",
      "paths": "mbarbine__foxio-labs:integrations/sentry.ts | ph3ar__ph3ar-docs-enhanced-labs:integrations/sentry.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "google-analytics",
      "paths": "mbarbine__foxio-labs:integrations/google-analytics.ts | ph3ar__ph3ar-docs-enhanced-labs:integrations/google-analytics.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "modal-module",
      "paths": "mbarbine__foxio-labs:styles/Modal.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/Modal.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "collapsesidebar-module",
      "paths": "mbarbine__foxio-labs:styles/collapsesidebar.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/collapsesidebar.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "pcap-viewer-module",
      "paths": "mbarbine__foxio-labs:styles/pcap-viewer.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/pcap-viewer.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "error-boundary-module",
      "paths": "mbarbine__foxio-labs:styles/ErrorBoundary.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/ErrorBoundary.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "labs-module",
      "paths": "mbarbine__foxio-labs:styles/labs.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/labs.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "terminal-module",
      "paths": "mbarbine__foxio-labs:styles/terminal.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/terminal.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "threat-simulator-module",
      "paths": "mbarbine__foxio-labs:styles/ThreatSimulator.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/ThreatSimulator.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "counters-module",
      "paths": "mbarbine__foxio-labs:styles/counters.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/counters.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "threat-quiz-module",
      "paths": "mbarbine__foxio-labs:styles/ThreatQuiz.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/ThreatQuiz.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "quiz-mode-modal-module",
      "paths": "mbarbine__foxio-labs:styles/QuizModeModal.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/QuizModeModal.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "integrations-module",
      "paths": "mbarbine__foxio-labs:styles/integrations.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/integrations.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "open-aiprompt-module",
      "paths": "mbarbine__foxio-labs:styles/OpenAIPrompt.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/OpenAIPrompt.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "fingerprint-search-and-score-module",
      "paths": "mbarbine__foxio-labs:styles/FingerprintSearchAndScore.module.css | ph3ar__ph3ar-docs-enhanced-labs:styles/FingerprintSearchAndScore.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "pcap-selector",
      "paths": "mbarbine__foxio-labs:components/PcapSelector.tsx | ph3ar__ph3ar-docs-enhanced-labs:components/PcapSelector.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "lab-terminal",
      "paths": "mbarbine__foxio-labs:components/LabTerminal.js | ph3ar__ph3ar-docs-enhanced-labs:components/LabTerminal.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "arkime-login",
      "paths": "mbarbine__foxio-labs:components/arkime-login.js | ph3ar__ph3ar-docs-enhanced-labs:components/arkime-login.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "pcap-viewer",
      "paths": "mbarbine__foxio-labs:components/PcapViewer.tsx | ph3ar__ph3ar-docs-enhanced-labs:components/PcapViewer.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "terminal-output",
      "paths": "mbarbine__foxio-labs:components/TerminalOutput.js | ph3ar__ph3ar-docs-enhanced-labs:components/TerminalOutput.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "counters",
      "paths": "mbarbine__foxio-labs:components/counters.tsx | ph3ar__ph3ar-docs-enhanced-labs:components/counters.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "arkime-leg",
      "paths": "mbarbine__foxio-labs:components/arkime_leg.js | ph3ar__ph3ar-docs-enhanced-labs:components/arkime_leg.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "terminal",
      "paths": "mbarbine__foxio-labs:components/Terminal.js | ph3ar__ph3ar-docs-enhanced-labs:components/Terminal.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "fingerprint-detection",
      "paths": "mbarbine__foxio-labs:components/FingerprintDetection.js | ph3ar__ph3ar-docs-enhanced-labs:components/FingerprintDetection.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "threat-simulator",
      "paths": "mbarbine__foxio-labs:components/ThreatSimulator.js | ph3ar__ph3ar-docs-enhanced-labs:components/ThreatSimulator.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "fingerprints",
      "paths": "mbarbine__foxio-labs:components/fingerprints.js | ph3ar__ph3ar-docs-enhanced-labs:components/fingerprints.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "arkime",
      "paths": "mbarbine__foxio-labs:components/Arkime.js | ph3ar__ph3ar-docs-enhanced-labs:components/Arkime.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "quiz-mode-modal",
      "paths": "mbarbine__foxio-labs:components/quizModeModal.js | ph3ar__ph3ar-docs-enhanced-labs:components/quizModeModal.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "error-boundary",
      "paths": "mbarbine__foxio-labs:components/ErrorBoundary.js | ph3ar__ph3ar-docs-enhanced-labs:components/ErrorBoundary.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "counter",
      "paths": "mbarbine__foxio-labs:components/Counter.js | ph3ar__ph3ar-docs-enhanced-labs:components/Counter.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "quizmode",
      "paths": "mbarbine__foxio-labs:components/quizmode.js | ph3ar__ph3ar-docs-enhanced-labs:components/quizmode.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "integration-list",
      "paths": "mbarbine__foxio-labs:components/IntegrationList.js | ph3ar__ph3ar-docs-enhanced-labs:components/IntegrationList.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "logo",
      "paths": "mbarbine__foxio-labs:components/Logo.js | ph3ar__ph3ar-docs-enhanced-labs:components/Logo.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "modal",
      "paths": "mbarbine__foxio-labs:components/Modal.js | ph3ar__ph3ar-docs-enhanced-labs:components/Modal.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "open-aiprompt",
      "paths": "mbarbine__foxio-labs:components/OpenAIPrompt.js | ph3ar__ph3ar-docs-enhanced-labs:components/OpenAIPrompt.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "threat-quiz",
      "paths": "mbarbine__foxio-labs:components/quizzes/ThreatQuiz.js | ph3ar__ph3ar-docs-enhanced-labs:components/quizzes/ThreatQuiz.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "lab-id",
      "paths": "mbarbine__foxio-labs:api/labs/[labId].ts | ph3ar__ph3ar-docs-enhanced-labs:api/labs/[labId].ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "auth-module",
      "file_count": 2,
      "normalized_name": "authenticate",
      "paths": "mbarbine__foxio-labs:api/arkime/authenticate.js | ph3ar__ph3ar-docs-enhanced-labs:api/arkime/authenticate.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "auth-module",
      "file_count": 2,
      "normalized_name": "login",
      "paths": "mbarbine__foxio-labs:api/auth/login.ts | ph3ar__ph3ar-docs-enhanced-labs:api/auth/login.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "get-pcap-file",
      "paths": "mbarbine__foxio-labs:api/pcap-viewer/get-pcap-file.ts | ph3ar__ph3ar-docs-enhanced-labs:api/pcap-viewer/get-pcap-file.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "get-pcap-files",
      "paths": "mbarbine__foxio-labs:api/pcap-viewer/get-pcap-files.ts | ph3ar__ph3ar-docs-enhanced-labs:api/pcap-viewer/get-pcap-files.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "get-suspicious",
      "paths": "mbarbine__foxio-labs:api/pcap-viewer/get-suspicious.ts | ph3ar__ph3ar-docs-enhanced-labs:api/pcap-viewer/get-suspicious.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "parse-pcap-file",
      "paths": "mbarbine__foxio-labs:api/pcap-viewer/parse-pcap-file.ts | ph3ar__ph3ar-docs-enhanced-labs:api/pcap-viewer/parse-pcap-file.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "save-suspicious",
      "paths": "mbarbine__foxio-labs:api/pcap-viewer/save-suspicious.ts | ph3ar__ph3ar-docs-enhanced-labs:api/pcap-viewer/save-suspicious.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "ja4gpt-test",
      "paths": "mbarbine__foxio-labs:api/ja4gpt/ja4gpt-test.tsx | ph3ar__ph3ar-docs-enhanced-labs:api/ja4gpt/ja4gpt-test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "ask-ja4gpt",
      "paths": "mbarbine__foxio-labs:api/ja4gpt/ask-ja4gpt.ts | ph3ar__ph3ar-docs-enhanced-labs:api/ja4gpt/ask-ja4gpt.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "prompt-template",
      "file_count": 2,
      "normalized_name": "openai-prompt",
      "paths": "mbarbine__foxio-labs:api/openai/openai-prompt.js | ph3ar__ph3ar-docs-enhanced-labs:api/openai/openai-prompt.js",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "app",
      "paths": "mbarbine__foxio-labs:pages/_app.js | ph3ar__ph3ar-docs-enhanced-labs:pages/_app.js",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "ja4-wireshark-plugin",
      "paths": "mbarbine__foxio-labs:pages/Quick-Labs/JA4-Wireshark-Plugin.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Quick-Labs/JA4-Wireshark-Plugin.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "ja4-algorithm",
      "paths": "mbarbine__foxio-labs:pages/About-JA4/JA4-Algorithm.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/About JA4/JA4-Algorithm.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "advanced-labs-overview",
      "paths": "mbarbine__foxio-labs:pages/Advanced-Labs/Advanced-Labs-Overview.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Advanced-Labs/Advanced-Labs-Overview.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "advaced-labs",
      "paths": "mbarbine__foxio-labs:pages/Advanced-Labs/Advaced-Labs.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Advanced-Labs/Advaced-Labs.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "capturing-traffic-ja4-h",
      "paths": "mbarbine__foxio-labs:pages/Advanced-Labs/CapturingTraffic_JA4H.mdx | ph3ar__ph3ar-docs-enhanced-labs:pages/Advanced-Labs/CapturingTraffic_JA4H.mdx",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "signup-form",
      "paths": "mbarbine__front-runners-webby:components/signup-form.tsx | mbarbine__uberpidgeons:components/SignupForm.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__front-runners-webby, mbarbine__uberpidgeons"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "discovery-routes",
      "paths": "mbarbine__gta-6-countdown-webby:tests/discovery-routes.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/integration/discovery-routes.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__gta-6-countdown-webby, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "discovery-artifact",
      "file_count": 2,
      "normalized_name": "network-manifest",
      "paths": "mbarbine__gta-6-countdown-webby:public/network.manifest.json | mbarbine__platphorm-real-estate-property-evaluation:public/.well-known/network.manifest.json",
      "primary_category": "discovery",
      "recommendation": "Promote to @platphorm/discovery for sitemaps, feeds, OpenAPI, llms, metadata, and robots.",
      "repo_count": 2,
      "repos": "mbarbine__gta-6-countdown-webby, mbarbine__platphorm-real-estate-property-evaluation"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "shop-filters",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:components/shop-filters.tsx | mbarbine__reflux-site-webby:components/shop-filters.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__reflux-site-webby"
    },
    {
      "component_kind": "ui-provider",
      "file_count": 2,
      "normalized_name": "cart-provider",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:components/cart-provider.tsx | mbarbine__scratchcraft:components/cart-provider.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__scratchcraft"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "version",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:public/version.json | mbarbine__platphorm-monitor:lib/version.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "ascii",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:lib/ascii.ts | mbarbine__platphorm-bbs:lib/api/ascii.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "proxy",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:lib/supabase/proxy.ts | mbarbine__platphorm-mcp:lib/mcp/tools/proxy.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-mcp"
    },
    {
      "component_kind": "ui-provider",
      "file_count": 2,
      "normalized_name": "provider",
      "paths": "mbarbine__hot-chocolate-for-profit-webby:lib/i18n/provider.tsx | mbarbine__platphorm-onboard:lib/i18n/provider.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "client",
      "paths": "mbarbine__instant-snap-postcard:src/integrations/supabase/client.ts | ph3ar__stripe-subscription-starter:utils/supabase/client.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__instant-snap-postcard, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "traefik-fixed",
      "paths": "mbarbine__ja4-sidecar:archive/traefik-fixed.toml | mbarbine__wildduck:archive/traefik-configs/traefik-fixed.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "traefik-minimal",
      "paths": "mbarbine__ja4-sidecar:archive/traefik-minimal.toml | mbarbine__wildduck:archive/traefik-configs/traefik-minimal.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "zonemta",
      "paths": "mbarbine__ja4-sidecar:config/zone-mta/zonemta.toml | mbarbine__wildduck:archive/wildduck-configs/zonemta.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "ja4-service",
      "paths": "mbarbine__ja4-sidecar:config/ja4-plus/ja4-service.yml | mbarbine__wildduck:config/ja4-plus/ja4-service.yml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "traefik",
      "paths": "mbarbine__ja4-sidecar:config/certs/traefik.toml | mbarbine__wildduck:config/certs/traefik.toml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "retro-modern",
      "paths": "mbarbine__ja4-sidecar:config/webmail/retro-modern.css | mbarbine__wildduck:config/webmail/retro-modern.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "email2letter-config",
      "paths": "mbarbine__ja4-sidecar:config/webmail/email2letter-config.toml | mbarbine__wildduck:archive/webmail-configs/email2letter-config.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "minimal",
      "paths": "mbarbine__ja4-sidecar:config/wildduck/minimal.toml | mbarbine__wildduck:archive/wildduck-configs/minimal.toml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "localhost-proxy-entrypoint",
      "paths": "mbarbine__ja4-sidecar:config/wildduck/localhost-proxy-entrypoint.sh | mbarbine__wildduck:config/wildduck/localhost-proxy-entrypoint.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "ja4-plugin",
      "paths": "mbarbine__ja4-sidecar:config/traefik/ja4-plugin.yml | mbarbine__wildduck:config/traefik/ja4-plugin.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "dynamic-config",
      "paths": "mbarbine__ja4-sidecar:config/traefik/dynamic-config.toml | mbarbine__wildduck:archive/traefik-configs/dynamic-config.toml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-sidecar, mbarbine__wildduck"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "supabase",
      "paths": "mbarbine__ja4-vercel-lab-2:app/lib/supabase.ts | mbarbine__mailthing:src/config/supabase.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__ja4-vercel-lab-2, mbarbine__mailthing"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "contributors",
      "paths": "mbarbine__ja4mlab:CONTRIBUTORS.md | mbarbine__platphorm-desa:docs/CONTRIBUTORS.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__ja4mlab, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "verify",
      "paths": "mbarbine__ja4mlab:scripts/verify.sh | mbarbine__platphorm-sandbox:verify.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__ja4mlab, mbarbine__platphorm-sandbox"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "routes",
      "paths": "mbarbine__ja4mlab:packages/shared-http/src/routes.ts | mbarbine__platphorm-auction-vice:tests/navigation/routes.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__ja4mlab, mbarbine__platphorm-auction-vice"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "contact-section",
      "paths": "mbarbine__jaydens-therapy-legal-www:components/contact-section.tsx | mbarbine__platphorm-portfolio-webby:components/contact-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__jaydens-therapy-legal-www, mbarbine__platphorm-portfolio-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "services-section",
      "paths": "mbarbine__jaydens-therapy-legal-www:components/services-section.tsx | mbarbine__spectrum-canine-www:components/services-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__jaydens-therapy-legal-www, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "app",
      "paths": "mbarbine__job-manager:.do/app.yaml | mbarbine__mailthing-api:app/src/app.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__job-manager, mbarbine__mailthing-api"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "compose",
      "paths": "mbarbine__legacy-platphorm-news:compose.yaml | mbarbine__platphormnews-www-prod:compose.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "tsconfig",
      "paths": "mbarbine__legacy-platphorm-news:tsconfig.json | ph3ar__mailthing-webby:tsconfig.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "script",
      "file_count": 2,
      "normalized_name": "migrate",
      "paths": "mbarbine__legacy-platphorm-news:scripts/migrate.sh | mbarbine__platphormnews-www-prod:scripts/migrate.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "app-d",
      "paths": "mbarbine__legacy-platphorm-news:src/app.d.ts | mbarbine__platphormnews-www-prod:src/app.d.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "date-utils",
      "paths": "mbarbine__legacy-platphorm-news:src/utils/dateUtils.ts | mbarbine__news-api:src/utils/dateUtils.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "show-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/components/ShowStories.svelte | mbarbine__news-api:src/components/ShowStories.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "top-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/components/TopStories.svelte | mbarbine__news-api:src/components/TopStories.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "best-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/components/BestStories.svelte | mbarbine__news-api:src/components/BestStories.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "news-more",
      "paths": "mbarbine__legacy-platphorm-news:src/components/NewsMore.svelte | mbarbine__news-api:src/components/NewsMore.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "ask-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/components/AskStories.svelte | mbarbine__news-api:src/components/AskStories.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "news-comments",
      "paths": "mbarbine__legacy-platphorm-news:src/components/NewsComments.svelte | mbarbine__news-api:src/components/NewsComments.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "job-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/components/JobStories.svelte | mbarbine__news-api:src/components/JobStories.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "story",
      "paths": "mbarbine__legacy-platphorm-news:src/components/Story.svelte | mbarbine__news-api:src/components/Story.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "use-media-query",
      "paths": "mbarbine__legacy-platphorm-news:src/hooks/useMediaQuery.ts | mbarbine__news-api:src/hooks/useMediaQuery.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "news-d",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/news/news.d.ts | mbarbine__news-api:src/routes/news/news.d.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "get-show-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getShowStories.js | mbarbine__news-api:src/routes/api/hackernews/getShowStories.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "get-top-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getTopStories.js | mbarbine__news-api:src/routes/api/hackernews/getTopStories.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "get-job-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getJobStories.js | mbarbine__news-api:src/routes/api/hackernews/getJobStories.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "get-best-stories",
      "paths": "mbarbine__legacy-platphorm-news:src/routes/api/hackernews/getBestStories.js | mbarbine__news-api:src/routes/api/hackernews/getBestStories.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "hackernews-service",
      "paths": "mbarbine__legacy-platphorm-news:src/services/hackernewsService.js | mbarbine__news-api:src/services/hackernewsService.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "hackernews-service-d",
      "paths": "mbarbine__legacy-platphorm-news:src/services/hackernewsService.d.ts | mbarbine__news-api:src/services/hackernewsService.d.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "payments-controller",
      "paths": "mbarbine__mailthing:src/controllers/paymentsController.ts | mbarbine__mailthing-api:app/src/controllers/paymentsController.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing, mbarbine__mailthing-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "credits-controller",
      "paths": "mbarbine__mailthing:src/controllers/creditsController.ts | mbarbine__mailthing-api:app/src/controllers/creditsController.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing, mbarbine__mailthing-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "credits",
      "paths": "mbarbine__mailthing:src/routes/credits.ts | mbarbine__mailthing-api:app/src/routes/credits.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing, mbarbine__mailthing-api"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "payments",
      "paths": "mbarbine__mailthing:src/routes/payments.ts | mbarbine__mailthing-api:app/src/routes/payments.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing, mbarbine__mailthing-api"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "send-letter",
      "paths": "mbarbine__mailthing-client:src/components/SendLetter.tsx | mbarbine__mailthing-main:.archive/StannpForms/SendLetter.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "returning-user-dashboard",
      "paths": "mbarbine__mailthing-client:src/components/ReturningUserDashboard.tsx | mbarbine__mailthing-main:.archive/StannpForms/ReturningUserDashboard.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "calc",
      "paths": "mbarbine__mailthing-client:src/components/Calc.tsx | mbarbine__mailthing-main:.archive/StannpForms/Calc.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "logout",
      "paths": "mbarbine__mailthing-client:src/components/Logout.tsx | mbarbine__mailthing-main:.archive/StannpForms/Logout.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "profile",
      "paths": "mbarbine__mailthing-client:src/components/Profile.tsx | mbarbine__mailthing-main:.archive/StannpForms/Profile.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "credits-checkout",
      "paths": "mbarbine__mailthing-client:src/components/CreditsCheckout.tsx | mbarbine__mailthing-main:.archive/StannpForms/CreditsCheckout.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "payment-flow",
      "paths": "mbarbine__mailthing-client:src/components/PaymentFlow.tsx | mbarbine__mailthing-main:.archive/StannpForms/PaymentFlow.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "send-postcard",
      "paths": "mbarbine__mailthing-client:src/components/SendPostcard.tsx | mbarbine__mailthing-main:.archive/StannpForms/SendPostcard.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "new-user-flow",
      "paths": "mbarbine__mailthing-client:src/components/NewUserFlow.tsx | mbarbine__mailthing-main:.archive/StannpForms/NewUserFlow.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "payment-form",
      "paths": "mbarbine__mailthing-client:src/components/PaymentForm.tsx | mbarbine__mailthing-main:.archive/StannpForms/PaymentForm.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "addresses",
      "paths": "mbarbine__mailthing-client:src/components/Addresses.tsx | mbarbine__mailthing-main:.archive/StannpForms/Addresses.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "user-portal",
      "paths": "mbarbine__mailthing-client:src/components/UserPortal.tsx | mbarbine__mailthing-main:.archive/StannpForms/UserPortal.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-client, mbarbine__mailthing-main"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "types-db",
      "paths": "mbarbine__mailthing-main:types_db.ts | ph3ar__stripe-subscription-starter:types_db.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "middleware",
      "paths": "mbarbine__mailthing-main:utils/supabase/middleware.ts | ph3ar__stripe-subscription-starter:utils/supabase/middleware.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "queries",
      "paths": "mbarbine__mailthing-main:utils/supabase/queries.ts | ph3ar__stripe-subscription-starter:utils/supabase/queries.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "admin",
      "paths": "mbarbine__mailthing-main:utils/supabase/admin.ts | ph3ar__stripe-subscription-starter:utils/supabase/admin.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "settings",
      "paths": "mbarbine__mailthing-main:utils/auth-helpers/settings.ts | ph3ar__stripe-subscription-starter:utils/auth-helpers/settings.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "integration-module",
      "file_count": 2,
      "normalized_name": "config",
      "paths": "mbarbine__mailthing-main:utils/stripe/config.ts | ph3ar__stripe-subscription-starter:utils/stripe/config.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "navlinks",
      "paths": "mbarbine__mailthing-main:components/ui/Navbar/Navlinks.tsx | ph3ar__stripe-subscription-starter:components/ui/Navbar/Navlinks.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "navbar-module",
      "paths": "mbarbine__mailthing-main:components/ui/Navbar/Navbar.module.css | ph3ar__stripe-subscription-starter:components/ui/Navbar/Navbar.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "footer",
      "paths": "mbarbine__mailthing-main:components/ui/Footer/Footer.tsx | ph3ar__stripe-subscription-starter:components/ui/Footer/Footer.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "password-sign-in",
      "paths": "mbarbine__mailthing-main:components/ui/AuthForms/PasswordSignIn.tsx | ph3ar__stripe-subscription-starter:components/ui/AuthForms/PasswordSignIn.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "oauth-sign-in",
      "paths": "mbarbine__mailthing-main:components/ui/AuthForms/OauthSignIn.tsx | ph3ar__stripe-subscription-starter:components/ui/AuthForms/OauthSignIn.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "signup",
      "paths": "mbarbine__mailthing-main:components/ui/AuthForms/Signup.tsx | ph3ar__stripe-subscription-starter:components/ui/AuthForms/Signup.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "update-password",
      "paths": "mbarbine__mailthing-main:components/ui/AuthForms/UpdatePassword.tsx | ph3ar__stripe-subscription-starter:components/ui/AuthForms/UpdatePassword.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "email-sign-in",
      "paths": "mbarbine__mailthing-main:components/ui/AuthForms/EmailSignIn.tsx | ph3ar__stripe-subscription-starter:components/ui/AuthForms/EmailSignIn.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "forgot-password",
      "paths": "mbarbine__mailthing-main:components/ui/AuthForms/ForgotPassword.tsx | ph3ar__stripe-subscription-starter:components/ui/AuthForms/ForgotPassword.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "input-module",
      "paths": "mbarbine__mailthing-main:components/ui/Input/Input.module.css | ph3ar__stripe-subscription-starter:components/ui/Input/Input.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "email-form",
      "paths": "mbarbine__mailthing-main:components/ui/AccountForms/EmailForm.tsx | ph3ar__stripe-subscription-starter:components/ui/AccountForms/EmailForm.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "name-form",
      "paths": "mbarbine__mailthing-main:components/ui/AccountForms/NameForm.tsx | ph3ar__stripe-subscription-starter:components/ui/AccountForms/NameForm.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "customer-portal-form",
      "paths": "mbarbine__mailthing-main:components/ui/AccountForms/CustomerPortalForm.tsx | ph3ar__stripe-subscription-starter:components/ui/AccountForms/CustomerPortalForm.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "loading-dots",
      "paths": "mbarbine__mailthing-main:components/ui/LoadingDots/LoadingDots.tsx | ph3ar__stripe-subscription-starter:components/ui/LoadingDots/LoadingDots.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "loading-dots-module",
      "paths": "mbarbine__mailthing-main:components/ui/LoadingDots/LoadingDots.module.css | ph3ar__stripe-subscription-starter:components/ui/LoadingDots/LoadingDots.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "button-module",
      "paths": "mbarbine__mailthing-main:components/ui/Button/Button.module.css | ph3ar__stripe-subscription-starter:components/ui/Button/Button.module.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 2,
      "normalized_name": "pricing",
      "paths": "mbarbine__mailthing-main:components/ui/Pricing/Pricing.tsx | ph3ar__stripe-subscription-starter:components/ui/Pricing/Pricing.tsx",
      "primary_category": "ui",
      "recommendation": "Promote to @platphorm/ui or shared frontend package.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "git-hub",
      "paths": "mbarbine__mailthing-main:components/icons/GitHub.tsx | ph3ar__stripe-subscription-starter:components/icons/GitHub.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "integration-module",
      "file_count": 2,
      "normalized_name": "stripe-fixtures",
      "paths": "mbarbine__mailthing-main:fixtures/stripe-fixtures.json | ph3ar__stripe-subscription-starter:fixtures/stripe-fixtures.json",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "report-bundle-size",
      "paths": "mbarbine__mermaid-next-www:report-bundle-size.js | mbarbine__my-first-nova-hbackers-preseo:report-bundle-size.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "git-conventional-commits",
      "paths": "mbarbine__mermaid-next-www:git-conventional-commits.yaml | mbarbine__my-first-nova-hbackers-preseo:git-conventional-commits.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "instrumentation",
      "paths": "mbarbine__mermaid-next-www:instrumentation.ts | mbarbine__my-first-nova-hbackers-preseo:instrumentation.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "component_kind": "tailwind-config",
      "file_count": 2,
      "normalized_name": "tailwind",
      "paths": "mbarbine__mermaid-next-www:styles/tailwind.css | mbarbine__my-first-nova-hbackers-preseo:styles/tailwind.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "performance-showcase",
      "paths": "mbarbine__mermaid-next-www:components/PerformanceShowcase.tsx | ph3ar__mermaid-www:app/components/PerformanceShowcase.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, ph3ar__mermaid-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "booking",
      "paths": "mbarbine__mermaid-next-www:components/Booking.tsx | ph3ar__mermaid-www:app/components/Booking.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, ph3ar__mermaid-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "social-feed",
      "paths": "mbarbine__mermaid-next-www:components/SocialFeed.tsx | ph3ar__mermaid-www:app/components/SocialFeed.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, ph3ar__mermaid-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "mermaid-world",
      "paths": "mbarbine__mermaid-next-www:components/MermaidWorld.tsx | ph3ar__mermaid-www:app/components/MermaidWorld.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, ph3ar__mermaid-www"
    },
    {
      "component_kind": "specification",
      "file_count": 2,
      "normalized_name": "example",
      "paths": "mbarbine__mermaid-next-www:e2e/example.spec.ts | mbarbine__my-first-nova-hbackers-preseo:e2e/example.spec.ts",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "svelte-config",
      "paths": "mbarbine__news-api:svelte.config.js | mbarbine__platphormnews-www-prod:svelte.config.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__news-api, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "message-reasoning",
      "paths": "mbarbine__nextjs-ai-4:components/message-reasoning.tsx | mbarbine__ph3ar-chatbot:components/message-reasoning.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "block-close-button",
      "paths": "mbarbine__nextjs-ai-4:components/block-close-button.tsx | mbarbine__nextjs-ai-chatbot:components/block-close-button.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "block-actions",
      "paths": "mbarbine__nextjs-ai-4:components/block-actions.tsx | mbarbine__nextjs-ai-chatbot:components/block-actions.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "overview",
      "paths": "mbarbine__nextjs-ai-4:components/overview.tsx | mbarbine__nextjs-ai-chatbot:components/overview.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot"
    },
    {
      "component_kind": "editor-feature",
      "file_count": 2,
      "normalized_name": "sheet-editor",
      "paths": "mbarbine__nextjs-ai-4:components/sheet-editor.tsx | mbarbine__ph3ar-chatbot:components/sheet-editor.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "block-messages",
      "paths": "mbarbine__nextjs-ai-4:components/block-messages.tsx | mbarbine__nextjs-ai-chatbot:components/block-messages.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "block",
      "paths": "mbarbine__nextjs-ai-4:components/block.tsx | mbarbine__nextjs-ai-chatbot:components/block.tsx",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "use-block",
      "paths": "mbarbine__nextjs-ai-4:hooks/use-block.ts | mbarbine__nextjs-ai-chatbot:hooks/use-block.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "update-document",
      "paths": "mbarbine__nextjs-ai-4:lib/ai/tools/update-document.ts | mbarbine__ph3ar-chatbot:lib/ai/tools/update-document.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "create-document",
      "paths": "mbarbine__nextjs-ai-4:lib/ai/tools/create-document.ts | mbarbine__ph3ar-chatbot:lib/ai/tools/create-document.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "fingerprint-collector",
      "paths": "mbarbine__nuclear-power-plant-webby-NPaaS:components/fingerprint-collector.tsx | mbarbine__platphorm-vercel-atlas:components/fingerprint-collector.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "ja4",
      "paths": "mbarbine__nuclear-power-plant-webby-NPaaS:lib/types/ja4.ts | mbarbine__platphorm-fingerprint-service:lib/fingerprint/modules/ja4.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-fingerprint-service"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "commit-msg",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:commit_msg.txt | mbarbine__platphorm-jules:commit_msg.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-jules"
    },
    {
      "component_kind": "specification",
      "file_count": 2,
      "normalized_name": "new-internet-v1-full-spec",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:NEW_INTERNET_V1_FULL_SPEC.md | mbarbine__platphorm-onboard:docs/NEW_INTERNET_V1_FULL_SPEC.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "minimum-discoverability-matrix",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:docs/ops/minimum-discoverability-matrix.md | mbarbine__platphorm-onboard:docs/minimum-discoverability-matrix.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "site-config",
      "paths": "mbarbine__onboard-platphorm-boilerplate-repo:lib/site-config.ts | mbarbine__platphorm-onboard:lib/site-config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "product",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/product.tsx | ph3ar__platphorm-admin-dashboard:app/(dashboard)/product.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "user",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/user.tsx | ph3ar__platphorm-admin-dashboard:app/(dashboard)/user.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "search",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/search.tsx | ph3ar__platphorm-admin-dashboard:app/(dashboard)/search.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "products-table",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/products-table.tsx | ph3ar__platphorm-admin-dashboard:app/(dashboard)/products-table.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "actions",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/actions.ts | ph3ar__platphorm-admin-dashboard:app/(dashboard)/actions.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "nav-item",
      "paths": "mbarbine__ph3ar-admin-dashboard:app/(dashboard)/nav-item.tsx | ph3ar__platphorm-admin-dashboard:app/(dashboard)/nav-item.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__platphorm-admin-dashboard"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "json-ld",
      "paths": "mbarbine__ph3ar-blog:public/json-ld.json | mbarbine__platphorm-kanban:public/json-ld.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 2,
      "normalized_name": "user",
      "paths": "mbarbine__ph3ar-web:models/user.js | ph3ar__js_mongo_app_boilerplate:models/User.js",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 2,
      "repos": "mbarbine__ph3ar-web, ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "implementation-summary",
      "paths": "mbarbine__platphorm-agentui:IMPLEMENTATION_SUMMARY.md | mbarbine__platphorm-bbs:IMPLEMENTATION_SUMMARY.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "build-summary",
      "paths": "mbarbine__platphorm-agentui:BUILD_SUMMARY.md | mbarbine__platphorm-keys:BUILD_SUMMARY.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-keys"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "smoke",
      "paths": "mbarbine__platphorm-agentui:tests/smoke.test.ts | mbarbine__vanagain-dot-com-prod:tests/post-deploy/smoke.spec.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "features",
      "paths": "mbarbine__platphorm-agentui:docs/FEATURES.md | mbarbine__platphorm-polymarket-rss-feed:FEATURES.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "password",
      "paths": "mbarbine__platphorm-agentui:lib/auth/password.ts | mbarbine__platphorm-bbs:lib/auth/password.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-bbs"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "validation",
      "paths": "mbarbine__platphorm-agentui:lib/api/validation.ts | mbarbine__platphorm-evals:lib/api/validation.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "photo-gallery",
      "paths": "mbarbine__platphorm-ai-photo-enrichment:components/photo-gallery.tsx | mbarbine__spectrum-canine-www:components/photo-gallery.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "app-header",
      "paths": "mbarbine__platphorm-ai-photo-enrichment:components/app-header.tsx | mbarbine__platphorm-sandbox:components/app-header.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-sandbox"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "test-helpers",
      "paths": "mbarbine__platphorm-ai-photo-enrichment:scripts/test-helpers.ts | mbarbine__vanagain-dot-com-prod:tests/unit/test-helpers.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "blob-storage",
      "paths": "mbarbine__platphorm-ai-photo-enrichment:lib/storage/blob-storage.ts | mbarbine__platphorm-stannp-api-wrapper:lib/blob-storage.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "download-dialog",
      "paths": "mbarbine__platphorm-alleycats:components/download-dialog.tsx | mbarbine__platphorm-zine-reader:components/download-dialog.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "cinematic-intro",
      "paths": "mbarbine__platphorm-alleycats:components/cinematic-intro.tsx | mbarbine__platphorm-zine-reader:components/cinematic-intro.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "bookmark-button",
      "paths": "mbarbine__platphorm-alleycats:components/bookmark-button.tsx | mbarbine__platphorm-zine-reader:components/bookmark-button.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "progress-bar",
      "paths": "mbarbine__platphorm-alleycats:components/progress-bar.tsx | mbarbine__platphorm-zine-reader:components/progress-bar.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "accessibility",
      "paths": "mbarbine__platphorm-alleycats:__tests__/accessibility.test.tsx | mbarbine__platphorm-zine-reader:__tests__/accessibility.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "responsive",
      "paths": "mbarbine__platphorm-alleycats:__tests__/responsive.test.tsx | mbarbine__platphorm-zine-reader:__tests__/responsive.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "transcription",
      "paths": "mbarbine__platphorm-alleycats:__tests__/lib/transcription.test.ts | mbarbine__platphorm-zine-reader:__tests__/lib/transcription.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "use-gestures",
      "paths": "mbarbine__platphorm-alleycats:lib/use-gestures.ts | mbarbine__platphorm-zine-reader:lib/use-gestures.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "ascii-utils",
      "paths": "mbarbine__platphorm-alleycats:lib/ascii-utils.ts | mbarbine__platphorm-zine-reader:lib/ascii-utils.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "mcp",
      "file_count": 2,
      "normalized_name": "mcp-client",
      "paths": "mbarbine__platphorm-ascii:__tests__/mcp-client.test.ts | mbarbine__platphorm-emoji:tests/mcp-client.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-emoji"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "api-routes",
      "paths": "mbarbine__platphorm-ascii:__tests__/api-routes.test.ts | mbarbine__platphorm-emoji:tests/api-routes.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-emoji"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "category-grid",
      "paths": "mbarbine__platphorm-auction-vice:components/category-grid.tsx | mbarbine__vanagain-dot-com-prod:components/home/category-grid.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "market-insights",
      "paths": "mbarbine__platphorm-auction-vice:components/listing/market-insights.tsx | mbarbine__platphorm-real-estate-NAD:components/reports/market-insights.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-real-estate-NAD"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "notification-bell",
      "paths": "mbarbine__platphorm-auction-vice:components/notifications/notification-bell.tsx | mbarbine__platphorm-monitor:components/notifications/notification-bell.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "mock-data",
      "paths": "mbarbine__platphorm-auction-vice:lib/mock-data.ts | mbarbine__platphorm-real-estate:lib/mock-data.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-real-estate"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "claws",
      "paths": "mbarbine__platphorm-auction-vice:lib/integrations/claws.ts | mbarbine__platphorm-browserops:lib/integrations/claws.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-browserops"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "application-form",
      "paths": "mbarbine__platphorm-base:components/jobs/application-form.tsx | mbarbine__platphorm-onboard:components/forms/application-form.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-base, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "testing-guide",
      "paths": "mbarbine__platphorm-bbs:TESTING_GUIDE.md | mbarbine__platphorm-desa:docs/testing/TESTING_GUIDE.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-desa"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "fixes-applied",
      "paths": "mbarbine__platphorm-bbs:FIXES_APPLIED.md | mbarbine__starphone-web-svelte:FIXES_APPLIED.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, mbarbine__starphone-web-svelte"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "file-upload",
      "paths": "mbarbine__platphorm-bbs:components/files/file-upload.tsx | ph3ar__mailthing-webby:components/FileUpload.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "setup-db",
      "paths": "mbarbine__platphorm-bbs:scripts/setup-db.mjs | mbarbine__platphorm-sandbox:scripts/setup-db.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-sandbox"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "services",
      "paths": "mbarbine__platphorm-bbs:lib/api/services.ts | mbarbine__platphorm-evals:lib/registry/services.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-evals"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "request",
      "paths": "mbarbine__platphorm-bbs:lib/i18n/request.ts | mbarbine__platphorm-insights:lib/i18n/request.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "trace-module",
      "file_count": 2,
      "normalized_name": "trace",
      "paths": "mbarbine__platphorm-browserops:types/trace.ts | mbarbine__platphorm-evals:types/trace.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals"
    },
    {
      "component_kind": "specification",
      "file_count": 2,
      "normalized_name": "home",
      "paths": "mbarbine__platphorm-browserops:tests-e2e/home.spec.ts | mbarbine__platphorm-polymaths:e2e/home.spec.ts",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-polymaths"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "home",
      "paths": "mbarbine__platphorm-cobol:tests/e2e/home.test.ts | mbarbine__platphorm-space-news:e2e/home.spec.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-cobol, mbarbine__platphorm-space-news"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "trust-section",
      "paths": "mbarbine__platphorm-cobol:components/home/trust-section.tsx | mbarbine__platphorm-content-showback-dashboard:components/trust-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "cypress-config",
      "paths": "mbarbine__platphorm-codex:cypress.config.ts | mbarbine__platphorm-decks:cypress.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "cinematic-scroll-demo",
      "paths": "mbarbine__platphorm-codex:app/cinematic-scroll-v2/cinematic-scroll-demo.tsx | mbarbine__platphorm-decks:app/cinematic-scroll-v2/cinematic-scroll-demo.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "animations-config",
      "paths": "mbarbine__platphorm-codex:config/animations.config.ts | mbarbine__platphorm-decks:config/animations.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "slides-config",
      "paths": "mbarbine__platphorm-codex:config/slides.config.ts | mbarbine__platphorm-decks:config/slides.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "slideshow-schema",
      "paths": "mbarbine__platphorm-codex:config/slideshow.schema.ts | mbarbine__platphorm-decks:config/slideshow.schema.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "theme-config",
      "paths": "mbarbine__platphorm-codex:config/theme.config.ts | mbarbine__platphorm-decks:config/theme.config.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "cinematic-scroll-enhancement-plan",
      "paths": "mbarbine__platphorm-codex:docs/CINEMATIC_SCROLL_ENHANCEMENT_PLAN.md | mbarbine__platphorm-decks:docs/CINEMATIC_SCROLL_ENHANCEMENT_PLAN.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "network-showcase",
      "paths": "mbarbine__platphorm-codex:components/network/network-showcase.tsx | mbarbine__platphorm-onboard:components/sections/network-showcase.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "masked-text-section",
      "paths": "mbarbine__platphorm-codex:components/cinematic-scroll/masked-text-section.tsx | mbarbine__platphorm-decks:components/cinematic-scroll/masked-text-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "scroll-section",
      "paths": "mbarbine__platphorm-codex:components/cinematic-scroll/scroll-section.tsx | mbarbine__platphorm-decks:components/cinematic-scroll/scroll-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "use-scroll-engine",
      "paths": "mbarbine__platphorm-codex:hooks/use-scroll-engine.ts | mbarbine__platphorm-decks:hooks/use-scroll-engine.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "use-network-data",
      "paths": "mbarbine__platphorm-codex:hooks/use-network-data.ts | mbarbine__platphorm-trace:hooks/use-network-data.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "schema",
      "paths": "mbarbine__platphorm-codex:lib/codex/schema.ts | mbarbine__platphorm-webhook-simulator:lib/neon/schema.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-codex, mbarbine__platphorm-webhook-simulator"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "analysis-progress",
      "paths": "mbarbine__platphorm-content-showback-dashboard:components/analysis-progress.tsx | mbarbine__platphorm-insights:components/analysis/analysis-progress.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "info-tooltip",
      "paths": "mbarbine__platphorm-content-showback-dashboard:components/info-tooltip.tsx | mbarbine__platphorm-vercel-atlas:components/info-tooltip.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "keyboard-shortcuts",
      "paths": "mbarbine__platphorm-content-showback-dashboard:components/keyboard-shortcuts.tsx | mbarbine__platphorm-spec-workbench:components/workbench/keyboard-shortcuts.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-spec-workbench"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "geographic-heatmap",
      "paths": "mbarbine__platphorm-content-showback-dashboard:components/geographic-heatmap.tsx | mbarbine__platphorm-real-estate-NAD:components/analytics/geographic-heatmap.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-real-estate-NAD"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "seed-data",
      "paths": "mbarbine__platphorm-content-showback-dashboard:scripts/seed_data.ts | mbarbine__vanagain-dot-com-prod:scripts/seed-data.mjs",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "platphormnews",
      "paths": "mbarbine__platphorm-desa:lib/integrations/__tests__/platphormnews.test.ts | mbarbine__platphorm-openclaw:lib/openclaw/integrations/platphormnews.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-desa, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "discovery",
      "paths": "mbarbine__platphorm-design:tests/api/discovery.test.ts | mbarbine__platphorm-kanban:__tests__/api/discovery.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-design, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "share-dialog",
      "paths": "mbarbine__platphorm-design:components/design/share-dialog.tsx | mbarbine__platphorm-json:components/json-tree/share-dialog.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-design, mbarbine__platphorm-json"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "design",
      "paths": "mbarbine__platphorm-design:lib/phorm/design.ts | mbarbine__platphorm-insights:lib/scoring/design.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-design, mbarbine__platphorm-insights"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "submit-form",
      "paths": "mbarbine__platphorm-dictionary:components/submit-form.tsx | mbarbine__platphorm-news-alt-theme:components/submit-form.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-dictionary, mbarbine__platphorm-news-alt-theme"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "commit-message",
      "paths": "mbarbine__platphorm-emoji:commit_message.txt | mbarbine__platphorm-evals:COMMIT_MESSAGE.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-emoji, mbarbine__platphorm-evals"
    },
    {
      "component_kind": "mcp",
      "file_count": 2,
      "normalized_name": "mcp-tools",
      "paths": "mbarbine__platphorm-evals:tests/mcp-tools.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/integration/mcp-tools.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-evals, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "service-grid",
      "paths": "mbarbine__platphorm-evals:components/registry/service-grid.tsx | mbarbine__spectrum-canine-www:components/service-grid.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-evals, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 2,
      "normalized_name": "build-validation",
      "paths": "mbarbine__platphorm-evals:lib/config/build-validation.ts | mbarbine__platphorm-opencontent:__tests__/unit/build-validation.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-evals, mbarbine__platphorm-opencontent"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "with-auth",
      "paths": "mbarbine__platphorm-evals:lib/api/with-auth.ts | mbarbine__vanagain-dot-com-prod:lib/api/with-auth.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-evals, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "fingerprint",
      "paths": "mbarbine__platphorm-fingerprint-service:tests/e2e/fingerprint.spec.ts | mbarbine__platphorm-podcasts:__tests__/fingerprint.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "hi",
      "paths": "mbarbine__platphorm-insights:messages/hi.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/hi.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__vanagain-site"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "security-headers",
      "paths": "mbarbine__platphorm-insights:tests/security/security-headers.test.ts | mbarbine__vanagain-dot-com-prod:tests/unit/security-headers.test.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "pages",
      "paths": "mbarbine__platphorm-insights:tests/integration/pages.test.ts | mbarbine__platphorm-mini-games-webby:e2e/pages.spec.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__platphorm-mini-games-webby"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "validate",
      "paths": "mbarbine__platphorm-insights:tests/api/validate.test.ts | mbarbine__vanagain-dot-com-prod:lib/api/validate.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-insights, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "mobile-bottom-nav",
      "paths": "mbarbine__platphorm-jobs:components/dashboard/mobile-bottom-nav.tsx | mbarbine__vanagain-dot-com-prod:components/layout/mobile-bottom-nav.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jobs, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "api-docs-client",
      "paths": "mbarbine__platphorm-json:app/docs/api-docs-client.tsx | mbarbine__platphorm-reader:app/docs/api-docs-client.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-json, mbarbine__platphorm-reader"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "tree-view",
      "paths": "mbarbine__platphorm-json:components/json-tree/tree-view.tsx | mbarbine__platphorm-msi-editor:components/msi/tree-view.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-json, mbarbine__platphorm-msi-editor"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "api-utils",
      "paths": "mbarbine__platphorm-json:lib/api-utils.ts | mbarbine__platphorm-mini-games-webby:lib/api-utils.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-json, mbarbine__platphorm-mini-games-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "local-drafts",
      "paths": "mbarbine__platphorm-json:lib/local-drafts.ts | mbarbine__platphorm-xml:lib/local-drafts.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-json, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "ui-hook",
      "file_count": 2,
      "normalized_name": "use-toast",
      "paths": "mbarbine__platphorm-jules:hooks/__tests__/use-toast.test.tsx | mbarbine__platphorm-kanban:__tests__/hooks/use-toast.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-kanban"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "register",
      "paths": "mbarbine__platphorm-jules:scripts/register.ts | mbarbine__stripper-mug-webby:scripts/register.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jules, mbarbine__stripper-mug-webby"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "platform-trace",
      "paths": "mbarbine__platphorm-jules:lib/platform-trace.ts | mbarbine__platphorm-svg-factory:lib/platform-trace.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-svg-factory"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "platform-auth",
      "paths": "mbarbine__platphorm-jules:lib/server/platform-auth.ts | mbarbine__platphorm-trace:lib/security/platform-auth.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-jules, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "instrumentation",
      "paths": "mbarbine__platphorm-kanban:instrumentation.ts | mbarbine__platphorm-quake:instrumentation.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-kanban, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "openapi",
      "paths": "mbarbine__platphorm-kanban:__tests__/api/openapi.test.ts | mbarbine__platphorm-quake:app/api/docs/openapi.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-kanban, mbarbine__platphorm-quake"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "ko",
      "paths": "mbarbine__platphorm-layout:messages/ko.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/ko.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-layout, mbarbine__vanagain-site"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "auth",
      "paths": "mbarbine__platphorm-layout:tests/layout/auth.test.ts | mbarbine__vanagain-dot-com-prod:app/actions/auth.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-layout, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "integrations",
      "paths": "mbarbine__platphorm-layout:lib/layout/integrations.ts | mbarbine__platphorm-onboard:lib/onboard/integrations.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-layout, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "api-handlers",
      "paths": "mbarbine__platphorm-layout:lib/layout/api-handlers.ts | mbarbine__platphorm-sheets:lib/sheets/api-handlers.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-layout, mbarbine__platphorm-sheets"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "fix-test",
      "paths": "mbarbine__platphorm-mcp:tests/fix_test.ts | mbarbine__platphorm-vercel-atlas:fix-test.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "auth",
      "paths": "mbarbine__platphorm-mcp:tests/__tests__/auth.test.ts | mbarbine__vanagain-dot-com-prod:tests/integration/auth.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "mcp",
      "file_count": 2,
      "normalized_name": "mcp-protocol",
      "paths": "mbarbine__platphorm-mcp:tests/__tests__/integration/mcp-protocol.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/integration/mcp-protocol.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "search",
      "paths": "mbarbine__platphorm-mcp:lib/mcp/tools/search.ts | mbarbine__platphorm-openclaw:lib/search.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-openclaw"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "orchestrator",
      "paths": "mbarbine__platphorm-mcp:lib/mcp/tools/orchestrator.ts | mbarbine__platphorm-onboard:lib/onboarding/orchestrator.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-onboard"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "shared",
      "paths": "mbarbine__platphorm-mcp:lib/mcp/tools/shared.ts | mbarbine__platphorm-opencontent:lib/extractors/shared.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "faq-accordion",
      "paths": "mbarbine__platphorm-mini-games-webby:app/faq/faq-accordion.tsx | mbarbine__spectrum-canine-www:components/faq-accordion.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mini-games-webby, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "navigation",
      "paths": "mbarbine__platphorm-mini-games-webby:e2e/navigation.spec.ts | mbarbine__platphorm-opencontent:__tests__/e2e/navigation.spec.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-opencontent"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "project-card",
      "paths": "mbarbine__platphorm-monitor:components/projects/project-card.tsx | mbarbine__platphorm-portfolio-webby:components/project-card.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-monitor, mbarbine__platphorm-portfolio-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "components",
      "paths": "mbarbine__platphorm-msi-editor:components/msi/__tests__/components.test.tsx | mbarbine__platphorm-vercel-atlas:__tests__/components.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-msi-editor, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "cart-context",
      "paths": "mbarbine__platphorm-newdittyswag-www:components/cart/cart-context.tsx | mbarbine__vanagain-2025:lib/cart-context.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-newdittyswag-www, mbarbine__vanagain-2025"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "comment-form",
      "paths": "mbarbine__platphorm-news-alt-theme:components/comment-form.tsx | mbarbine__vanagain-dot-com-prod:components/blog/comment-form.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-news-alt-theme, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "api-route",
      "file_count": 2,
      "normalized_name": "url-preview",
      "paths": "mbarbine__platphorm-onboard:__tests__/api/url-preview.test.ts | mbarbine__platphorm-opencontent:__tests__/integration/api/url-preview.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "enhancement-plan",
      "paths": "mbarbine__platphorm-openclaw:enhancement-plan.md | mbarbine__platphorm-podcasts:docs/ENHANCEMENT_PLAN.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "benchmark-automation",
      "paths": "mbarbine__platphorm-opencontent:benchmark_automation.ts | mbarbine__platphorm-opendocs:benchmark_automation.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "playwright-global-teardown",
      "paths": "mbarbine__platphorm-opencontent:playwright-global-teardown.ts | mbarbine__platphorm-opendocs:playwright-global-teardown.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "playwright-global-setup",
      "paths": "mbarbine__platphorm-opencontent:playwright-global-setup.ts | mbarbine__platphorm-opendocs:playwright-global-setup.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "pr-desc",
      "paths": "mbarbine__platphorm-opencontent:pr_desc.md | mbarbine__platphorm-opendocs:pr_desc.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "frontend-hook",
      "file_count": 2,
      "normalized_name": "use-theme-settings",
      "paths": "mbarbine__platphorm-opencontent:components/theme-switcher/use-theme-settings.ts | mbarbine__platphorm-opendocs:components/theme-switcher/use-theme-settings.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "frontend-feature",
      "file_count": 2,
      "normalized_name": "constants",
      "paths": "mbarbine__platphorm-opencontent:components/theme-switcher/constants.ts | mbarbine__platphorm-opendocs:components/theme-switcher/constants.ts",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "openapi-starter-bundle",
      "paths": "mbarbine__platphorm-opencontent:public/schemas/openapi-starter-bundle.json | mbarbine__platphorm-opendocs:public/schemas/openapi-starter-bundle.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "markdown-renderer-xss",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/components/markdown-renderer-xss.test.tsx | mbarbine__platphorm-opendocs:__tests__/unit/components/markdown-renderer-xss.test.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "use-debounce",
      "paths": "mbarbine__platphorm-opencontent:__tests__/unit/hooks/use-debounce.test.ts | mbarbine__platphorm-opendocs:__tests__/unit/hooks/use-debounce.test.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "mcp",
      "file_count": 2,
      "normalized_name": "claws-integration",
      "paths": "mbarbine__platphorm-opencontent:__tests__/integration/mcp/claws-integration.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/mcp/claws-integration.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "mcp",
      "file_count": 2,
      "normalized_name": "platphorm-network",
      "paths": "mbarbine__platphorm-opencontent:__tests__/integration/mcp/platphorm-network.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/mcp/platphorm-network.test.ts",
      "primary_category": "integration",
      "recommendation": "Promote to @platphorm/integrations connector or protocol adapter.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "workflow",
      "paths": "mbarbine__platphorm-opencontent:__tests__/integration/api/workflow.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/workflow.test.ts",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "route",
      "paths": "mbarbine__platphorm-opencontent:__tests__/integration/api/v1/automation/route.test.ts | mbarbine__platphorm-opendocs:__tests__/integration/api/v1/automation/route.test.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "scores-chunking",
      "paths": "mbarbine__platphorm-opencontent:__tests__/performance/scores-chunking.ts | mbarbine__platphorm-opendocs:__tests__/performance/scores-chunking.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "specification",
      "file_count": 2,
      "normalized_name": "ingest",
      "paths": "mbarbine__platphorm-opencontent:__tests__/e2e/ingest.spec.ts | mbarbine__platphorm-opendocs:__tests__/e2e/ingest.spec.ts",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "health-check",
      "file_count": 2,
      "normalized_name": "api-health",
      "paths": "mbarbine__platphorm-opencontent:__tests__/e2e/api-health.spec.ts | mbarbine__platphorm-vercel-atlas:__tests__/api-health.test.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "ssrf-test",
      "paths": "mbarbine__platphorm-opencontent:lib/ssrf-test.js | mbarbine__platphorm-opendocs:lib/ssrf-test.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "plan",
      "paths": "mbarbine__platphorm-podcasts:plan.md | mbarbine__platphorm-shipments:plan.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-podcasts, mbarbine__platphorm-shipments"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "community",
      "paths": "mbarbine__platphorm-podcasts:components/views/Community.tsx | mbarbine__vanagon-website:components/sections/community.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-podcasts, mbarbine__vanagon-website"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "discovery",
      "paths": "mbarbine__platphorm-podcasts:__tests__/discovery.test.ts | mbarbine__platphorm-space-news:__tests__/unit/discovery.test.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-podcasts, mbarbine__platphorm-space-news"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "components",
      "paths": "mbarbine__platphorm-podcasts:__tests__/components.test.ts | mbarbine__vanagain-site:admin/public/assets/frontend/assets/base/js/components.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-podcasts, mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "i18n",
      "paths": "mbarbine__platphorm-podcasts:__tests__/i18n.test.ts | mbarbine__platphorm-polymarket-rss-feed:tests/unit/i18n.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "patch",
      "paths": "mbarbine__platphorm-politics:patch.js | mbarbine__platphorm-wrestling-webby:patch.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-politics, mbarbine__platphorm-wrestling-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "principles-section",
      "paths": "mbarbine__platphorm-polymarket-rss-feed:principles-section.tsx | mbarbine__platphorm-polymaths:components/sections/principles-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "final-suite-v1",
      "paths": "mbarbine__platphorm-polymarket-rss-feed:FINAL_SUITE_V1.md | mbarbine__platphorm-trace:FINAL_SUITE_V1.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-trace"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "constants",
      "paths": "mbarbine__platphorm-quake:components/settings/constants.ts | mbarbine__platphorm-vercel-atlas:lib/constants.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-quake, mbarbine__platphorm-vercel-atlas"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "projectile-manager",
      "paths": "mbarbine__platphorm-quake:components/game/weapons/projectile-manager.tsx | mbarbine__platphormnews-www-prod:components/game/weapons/projectile-manager.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "module-toggle",
      "paths": "mbarbine__platphorm-radio-backend:components/module-toggle.tsx | ph3ar__radio-backend:components/module-toggle.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-radio-backend, ph3ar__radio-backend"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "event-feed",
      "paths": "mbarbine__platphorm-radio-backend:components/event-feed.tsx | ph3ar__radio-backend:components/event-feed.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-radio-backend, ph3ar__radio-backend"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "api-docs",
      "paths": "mbarbine__platphorm-radio-backend:components/api-docs.tsx | ph3ar__radio-backend:components/api-docs.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-radio-backend, ph3ar__radio-backend"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "sound-modules",
      "paths": "mbarbine__platphorm-radio-backend:lib/sound-modules.ts | ph3ar__radio-backend:lib/sound-modules.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-radio-backend, ph3ar__radio-backend"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "translation-context",
      "paths": "mbarbine__platphorm-reader:contexts/translation-context.tsx | mbarbine__platphorm-zine-reader:lib/translation-context.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-reader, mbarbine__platphorm-zine-reader"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "api-client",
      "paths": "mbarbine__platphorm-real-estate-NAD:lib/api-client.ts | ph3ar__mailthing-webby:lib/apiClient.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-real-estate-NAD, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "team-section",
      "paths": "mbarbine__platphorm-redteam-arma-landing:components/team-section.tsx | mbarbine__spectrum-canine-www:components/team-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-redteam-arma-landing, mbarbine__spectrum-canine-www"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "api-response",
      "paths": "mbarbine__platphorm-register:lib/api-response.ts | mbarbine__platphorm-xml:lib/api-response.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-register, mbarbine__platphorm-xml"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "test-ux",
      "paths": "mbarbine__platphorm-trace:test-ux.js | ph3ar__www_js_terminal:test-ux.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-trace, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "error-handler",
      "paths": "mbarbine__platphorm-vercel-atlas:__tests__/error-handler.test.ts | mbarbine__process-clone:error-handler.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-vercel-atlas, mbarbine__process-clone"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "request-context",
      "paths": "mbarbine__platphorm-webhook-simulator:lib/api/request-context.ts | mbarbine__vanagain-dot-com-prod:lib/request-context.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-webhook-simulator, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "business-logic",
      "file_count": 2,
      "normalized_name": "structured-data",
      "paths": "mbarbine__platphorm-xml:lib/structured-data.ts | mbarbine__vanagain-dot-com-prod:lib/structured-data.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__platphorm-xml, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "products",
      "paths": "mbarbine__reflux-site-webby:data/products.json | mbarbine__vanagain-dot-com-prod:tests/unit/products.test.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__reflux-site-webby, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "hero-carousel",
      "paths": "mbarbine__robbie-ds-greens-webby:components/home/hero-carousel.tsx | mbarbine__vanagain-dot-com-prod:components/home/hero-carousel.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__robbie-ds-greens-webby, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "backend-module",
      "file_count": 2,
      "normalized_name": "settings-schema",
      "paths": "mbarbine__shopify-theme-vanagain:config/settings_schema.json | mbarbine__vanagain-dot-com-prod:shopify-theme/config/settings_schema.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 2,
      "repos": "mbarbine__shopify-theme-vanagain, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "theme",
      "paths": "mbarbine__shopify-theme-vanagain:assets/theme.js | process-co__json-graph:src/theme.ts",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__shopify-theme-vanagain, process-co__json-graph"
    },
    {
      "component_kind": "utility",
      "file_count": 2,
      "normalized_name": "pdf-utils",
      "paths": "mbarbine__stannp-nextjs-bp:app/utils/pdfUtils.ts | ph3ar__mailthing-webby:utils/pdfUtils.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 2,
      "repos": "mbarbine__stannp-nextjs-bp, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "login-form",
      "paths": "mbarbine__stannp-nextjs-bp:app/components/Auth/LoginForm.tsx | ph3ar__mailthing-webby:components/auth/LoginForm.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__stannp-nextjs-bp, ph3ar__mailthing-webby"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "modernization-plan",
      "paths": "mbarbine__threatrelay-webby:MODERNIZATION_PLAN.md | mbarbine__vanagain-dot-com-prod:DOCS/Modernization-plan.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__threatrelay-webby, mbarbine__vanagain-dot-com-prod"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "pt",
      "paths": "mbarbine__two-doller-web:messages/pt.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/pt.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "en",
      "paths": "mbarbine__two-doller-web:messages/en.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/en.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "fr",
      "paths": "mbarbine__two-doller-web:messages/fr.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/fr.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "es",
      "paths": "mbarbine__two-doller-web:messages/es.json | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/es.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__two-doller-web, mbarbine__vanagain-site"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "gallery-section",
      "paths": "mbarbine__two-doller-web:components/gallery-section.tsx | mbarbine__vanlife-website:components/gallery-section.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__two-doller-web, mbarbine__vanlife-website"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 2,
      "normalized_name": "shopping-cart",
      "paths": "mbarbine__vanagain-2025:components/shopping-cart.tsx | ph3ar__newdittyswag-commerce:src/components/ShoppingCart.svelte",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-2025, ph3ar__newdittyswag-commerce"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "asset-manifest",
      "paths": "mbarbine__vanagain-dot-com-prod:asset-manifest.json | mbarbine__vanagain-site:asset-manifest.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site"
    },
    {
      "component_kind": "process-document",
      "file_count": 2,
      "normalized_name": "f19-f9-d3075-abab1-b1-bc902-fdd1-b2-fc7-f",
      "paths": "mbarbine__vanagain-dot-com-prod:public/pki-validation/F19F9D3075ABAB1B1BC902FDD1B2FC7F.txt | mbarbine__vanagain-site:admin/public/.well-known/pki-validation/F19F9D3075ABAB1B1BC902FDD1B2FC7F.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site"
    },
    {
      "component_kind": "design-token",
      "file_count": 2,
      "normalized_name": "base",
      "paths": "mbarbine__vanagain-dot-com-prod:shopify-theme/assets/base.css | process-co__json-graph:src/themes/base.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-dot-com-prod, process-co__json-graph"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "frontend",
      "paths": "mbarbine__vanagain-site:admin/public/assets/frontend/frontend.js | ph3ar__www_js_terminal:test/frontend.spec.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, ph3ar__www_js_terminal"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-data-tables-min",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/jquery.dataTables.min.js | mbarbine__xsociety:html/components/datatables/media/js/jquery.dataTables.min.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-data-tables",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/jquery.dataTables.js | mbarbine__xsociety:html/components/datatables/media/js/jquery.dataTables.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "data-tables-responsive",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/datatables/extensions/Responsive/js/dataTables.responsive.js | mbarbine__xsociety:html/components/datatables-responsive/js/dataTables.responsive.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "morris",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/morris/morris.js | mbarbine__xsociety:html/components/morrisjs/morris.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "morris-min",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/morris/morris.min.js | mbarbine__xsociety:html/components/morrisjs/morris.min.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-canvas",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.canvas.js | mbarbine__xsociety:html/components/flot/jquery.flot.canvas.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-time",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.time.js | mbarbine__xsociety:html/components/flot/jquery.flot.time.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "jquery-flot-fillbetween",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.fillbetween.js | mbarbine__xsociety:html/components/flot/jquery.flot.fillbetween.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-colorhelpers",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.colorhelpers.js | mbarbine__xsociety:html/components/flot/jquery.colorhelpers.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "jquery-flot-categories",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.categories.js | mbarbine__xsociety:html/components/flot/jquery.flot.categories.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-stack",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.stack.js | mbarbine__xsociety:html/components/flot/jquery.flot.stack.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "jquery-flot-resize",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.resize.js | mbarbine__xsociety:html/components/flot/jquery.flot.resize.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-errorbars",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.errorbars.js | mbarbine__xsociety:html/components/flot/jquery.flot.errorbars.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "security-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-selection",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.selection.js | mbarbine__xsociety:html/components/flot/jquery.flot.selection.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "automation-config",
      "file_count": 2,
      "normalized_name": "jquery-flot-symbol",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.symbol.js | mbarbine__xsociety:html/components/flot/jquery.flot.symbol.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-crosshair",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.crosshair.js | mbarbine__xsociety:html/components/flot/jquery.flot.crosshair.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "observability-module",
      "file_count": 2,
      "normalized_name": "jquery-flot-pie",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/flot/jquery.flot.pie.js | mbarbine__xsociety:html/components/flot/jquery.flot.pie.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 2,
      "repos": "mbarbine__vanagain-site, mbarbine__xsociety"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 2,
      "normalized_name": "ui",
      "paths": "process-co__json-graph:css/ui.css | process-co__ui:css/ui.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 2,
      "repos": "process-co__json-graph, process-co__ui"
    },
    {
      "component_kind": "process-document",
      "file_count": 70,
      "normalized_name": "notes",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/config/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/processing/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/feedback/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/tiller/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nlp/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patenthub/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/fs/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/config/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patenthub/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/document-uploader/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/template-storage/templates/NOTES.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 62,
      "normalized_name": "values",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/template-storage/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/config/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/processing/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/prometheus-operator/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/dispatcher/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/minio/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/elk/kibana/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/elk/filebeat/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/elk/elasticsearch/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/sonatype-nexus/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/mongodb/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/feedback/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/portfolio/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patenthub/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/fs/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/template-storage/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/config/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/processing/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/prometheus-operator/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/minio/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/elk/kibana/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/elk/filebeat/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/elk/elasticsearch/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/sonatype-nexus/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/mongodb/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/feedback/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/portfolio/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patenthub/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/fs/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/template-storage/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/config/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/redis/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/auth/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/processing/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/prometheus-operator/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/dispatcher/values.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 52,
      "normalized_name": "ingress",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/document-uploader/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/template-storage/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/config/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/processing/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/dispatcher/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/feedback/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms-generation/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/tiller/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nlp/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-web/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/portfolio/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis-ui/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/fs/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/template-storage/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/config/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/processing/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/dispatcher/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nlp/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/portfolio/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/fs/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/document-uploader/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/template-storage/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/config/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/processing/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/dispatcher/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/pdf-image-generation/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/backoffice/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/application-storage/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/feedback/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms-generation/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/nlp/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-web/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/portfolio/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/redis-ui/templates/ingress.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 45,
      "normalized_name": "plugin-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/imagetools/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/toc/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/visualblocks/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/textpattern/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/directionality/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/wordcount/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/lists/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/textcolor/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/legacyoutput/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/example/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/codesample/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/importcss/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/template/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/code/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/searchreplace/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/contextmenu/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/nonbreaking/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/print/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/image/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/autoresize/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/example_dependency/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/autosave/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/tabfocus/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/insertdatetime/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/layer/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/link/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/table/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/charmap/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/colorpicker/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/hr/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/fullpage/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/advlist/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/preview/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/anchor/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/autolink/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/pagebreak/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/fullscreen/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/visualchars/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/save/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/emoticons/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/noneditable/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/spellchecker/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/bbcode/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/paste/plugin.min.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/media/plugin.min.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 34,
      "normalized_name": "editor-plugin-src",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/directionality/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/wordcount/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/lists/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/iespell/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/contextmenu/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/inlinepopups/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/nonbreaking/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/print/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autoresize/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example_dependency/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/tabfocus/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/insertdatetime/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/layer/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlist/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/preview/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autolink/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/pagebreak/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullscreen/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/visualchars/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/save/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/noneditable/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/spellchecker/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/bbcode/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/editor_plugin_src.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 31,
      "normalized_name": "editor-plugin",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentovariable/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentowidget/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/wordcount/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/lists/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/legacyoutput/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/contextmenu/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/inlinepopups/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autoresize/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autosave/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/tabfocus/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/insertdatetime/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/layer/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullpage/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlist/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/preview/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autolink/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/pagebreak/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/noneditable/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/spellchecker/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/bbcode/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/media/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/editor_plugin.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "api-route",
      "file_count": 30,
      "normalized_name": "build-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/validate/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trace/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/ingest/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/network/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/podcasts/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/publish/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/audit/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/submissions/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trending/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/health-stats/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/jobs/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/events/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/community/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/sentiment/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/categories/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/health/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/mcp/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/submit/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/og/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/openapi.json/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/register/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync/route/build-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "api-route",
      "file_count": 30,
      "normalized_name": "server-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/validate/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trace/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/ingest/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/network/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/podcasts/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/publish/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/audit/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/submissions/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trending/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/health-stats/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/jobs/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/events/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/community/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/sentiment/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/categories/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/health/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/mcp/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/submit/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/og/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/openapi.json/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/register/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync/route/server-reference-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "api-route",
      "file_count": 25,
      "normalized_name": "app-paths-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/validate/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trace/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/ingest/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/network/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/podcasts/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/publish/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/audit/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/submissions/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trending/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/health-stats/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/jobs/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/events/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/community/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/sentiment/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/categories/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/health/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/mcp/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/submit/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/og/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/openapi.json/route/app-paths-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "api-route",
      "file_count": 24,
      "normalized_name": "route-client-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/validate/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trace/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/ingest/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/network/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/leaderboard/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/podcasts/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/publish/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/audit/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/submissions/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trending/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/health-stats/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/jobs/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/events/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/community/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/sentiment/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/categories/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/health/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/mcp/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/submit/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/og/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/openapi.json/route_client-reference-manifest.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 23,
      "normalized_name": "test",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/test/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/haml/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/textile/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/xquery/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/python/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/css/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/shell/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/soy/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/dylan/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/rust/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/cypher/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/stex/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/php/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/xml/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/powershell/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/clike/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/verilog/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/swift/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/slim/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/javascript/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/jsx/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/gfm/test.js | mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/mode/ruby/test.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 22,
      "normalized_name": "opsclick",
      "paths": "mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/activemq/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/lamp/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nagios/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/postgresql/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/weblogic/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/couchdb/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mean/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/wildfly/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tomcat/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/wordpress/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/jboss/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/glassfish/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/rabbitmq/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/elk/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mongodb/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tcserver/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nexus/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/nginx/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/mysql/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/elasticsearch/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/apache/__opsclick__.py | mbarbine__Scripts:SORT/OpsClick_BE_Ansible/services/tcserver_/__opsclick__.py",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 22,
      "normalized_name": "values",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/document-uploader/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/pdf-image-generation/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/forms-generation/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/tiller/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nlp/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-web/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/redis-ui/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/document-uploader/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/pdf-image-generation/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/forms-generation/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nlp/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-web/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/redis-ui/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/document-uploader/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/pdf-image-generation/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/application-storage/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/forms-generation/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/nlp/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-web/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/redis-ui/values.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "process-document",
      "file_count": 14,
      "normalized_name": "summary",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/summary.md | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/summary.md | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/cross-service-http/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/ide-profiles/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/long-running-http/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-integration-http/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/long-running-tls/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/cross-service-tls/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-runtime-http/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/final-exhaustive-tls/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/service-mesh/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-integration-tls/summary.md | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-runtime-tls/summary.md",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "agent",
      "file_count": 14,
      "normalized_name": "ja4l",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4l.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "agent",
      "file_count": 14,
      "normalized_name": "ja4t",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4t.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "agent",
      "file_count": 14,
      "normalized_name": "ja4s",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4s.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "agent",
      "file_count": 14,
      "normalized_name": "ja4",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "agent",
      "file_count": 14,
      "normalized_name": "ja4h",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-acp/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-mcp/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/jsonrpc-noise/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-root/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/agent-to-api/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-side-effects/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/direct-agent-to-mcp/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/aggregate/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-acp/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/agent-to-api/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/direct-agent-to-mcp/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-acp/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/agent-to-api/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/direct-agent-to-mcp/ja4h.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 14,
      "normalized_name": "server-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/server-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/rss.xml/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/feed.xml/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/security.txt/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/sitemap.xml/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page/server-reference-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 13,
      "normalized_name": "bower",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/intro/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/mocha/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/jquery/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/flot.tooltip/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/metisMenu/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap-social/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/holderjs/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/raphael/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/font-awesome/bower.json | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-responsive/bower.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 13,
      "normalized_name": "composer",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/update/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/update/dev/tests/integration/testsuite/Magento/Update/_files/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromCreateProject/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testSkeleton/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Composer/_files/testFromClone/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Console/Command/_files/root/app/code/Magento/A/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Console/Command/_files/root/app/code/Magento/B/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/functional/composer.json | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/tasks/composer.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/tasks/composer.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/tasks/composer.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/tasks/composer.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 13,
      "normalized_name": "app-paths-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/rss.xml/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/feed.xml/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/security.txt/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/sitemap.xml/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page/app-paths-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 13,
      "normalized_name": "plugin",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/fileeditor/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/dummy/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/plugins/imageresize/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/colorbutton/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/widget/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/notification/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/toolbar/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/button/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/lineutils/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/uploadwidget/plugin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/plugin.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "backend-module",
      "file_count": 12,
      "normalized_name": "build-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/rss.xml/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/feed.xml/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/security.txt/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/sitemap.xml/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page/build-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "api-route",
      "file_count": 12,
      "normalized_name": "middleware-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/stations/[id]/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trace/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/network/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/leaderboard/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/audit/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/submissions/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/trending/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/jobs/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/events/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/sentiment/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/health/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/og/route/middleware-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "api-route",
      "file_count": 12,
      "normalized_name": "route-js-nft",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/validate/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/ingest/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/podcasts/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/publish/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/health-stats/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/community/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/webhooks/deliver/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/v1/categories/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/mcp/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/docs/submit/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/openapi.json/route.js.nft.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 10,
      "normalized_name": "ja4",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/ide-profiles/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-http/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-tls/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "observability-module",
      "file_count": 10,
      "normalized_name": "ja4h",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/jsonrpc-noise/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/ide-profiles/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-http/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-tls/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4h.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "observability-module",
      "file_count": 10,
      "normalized_name": "ja4m-c",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/ide-profiles/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-http/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-tls/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4m-c.json | mbarbine__ja4mlab:packages/shared-fingerprint/src/ja4m-c.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "observability-module",
      "file_count": 10,
      "normalized_name": "ja4m-s",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/ide-profiles/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-http/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-tls/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4m-s.json | mbarbine__ja4mlab:packages/shared-fingerprint/src/ja4m-s.ts",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "schema-validation",
      "file_count": 10,
      "normalized_name": "declared-vs-actual",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/validation/declared-vs-actual.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/validation/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/cross-service-http/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/ide-profiles/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/long-running-http/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-integration-http/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/long-running-tls/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/cross-service-tls/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/service-mesh/declared-vs-actual.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-integration-tls/declared-vs-actual.json",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 10,
      "normalized_name": "next-font-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/next-font-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page/next-font-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page/next-font-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "template",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/packer-baremetal/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/openstack/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/azure/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/google/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/virtualbox/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/template.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/vmware/template.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 9,
      "normalized_name": "conf",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/nginx/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/tasks/conf.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/nginx/tasks/conf.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "values",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/values.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-api/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/claims-server/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/time-tracking-service/values.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "deployment",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-api/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/claims-server/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/time-tracking-service/templates/deployment.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "ingress",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-api/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/claims-server/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/time-tracking-service/templates/ingress.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "test-connection",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/patent-search-api/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/claims-server/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/time-tracking-service/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/patent-search-api/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/claims-server/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/time-tracking-service/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/patent-search-api/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/claims-server/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/time-tracking-service/templates/tests/test-connection.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "ja4",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-http/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-tls/ja4.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/service-mesh/ja4.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 9,
      "normalized_name": "ja4h",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-http/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-tls/ja4h.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/service-mesh/ja4h.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "observability-module",
      "file_count": 9,
      "normalized_name": "ja4m-x",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/aggregate/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/ide-profiles/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-http/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-http/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/long-running-tls/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-http/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/final-exhaustive-tls/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-integration-tls/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/openclaw-runtime-tls/ja4m-x.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "observability-module",
      "file_count": 9,
      "normalized_name": "assertions",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/validation/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/ide-profiles/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/long-running-http/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-integration-http/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/long-running-tls/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-runtime-http/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/final-exhaustive-tls/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-integration-tls/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/openclaw-runtime-tls/assertions.json",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "automation-config",
      "file_count": 8,
      "normalized_name": "en-dlg",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/template/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/searchreplace/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/style/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/emotions/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advhr/langs/en_dlg.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 8,
      "normalized_name": "page-client-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page_client-reference-manifest.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 8,
      "normalized_name": "page-js-nft",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page.js.nft.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 8,
      "normalized_name": "react-loadable-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/discover/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/submit/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/faq/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/dashboard/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_not-found/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/_global-error/page/react-loadable-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/p/[slug]/page/react-loadable-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "script",
      "file_count": 6,
      "normalized_name": "runalltestcases",
      "paths": "mbarbine__Scripts:python/tests/misc/runalltestcases.sh | mbarbine__Scripts:python/tests/misc/runalltestcases.bat | mbarbine__Scripts:python/tests/ImpactPacket/runalltestcases.sh | mbarbine__Scripts:python/tests/ImpactPacket/runalltestcases.bat | mbarbine__Scripts:python/tests/dot11/runalltestcases.sh | mbarbine__Scripts:python/tests/dot11/runalltestcases.bat",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 6,
      "normalized_name": "file",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/src/Magento/Setup/Test/Unit/Module/I18n/Parser/Adapter/_files/file.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/src/Magento/Setup/Test/Unit/Module/I18n/_files/files_collector/file.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/app/code/Magento/FirstModule/view/frontend/file.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/not_magento_dir/file.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/lib/web/mage/file.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Setup/Module/I18n/Dictionary/_files/source/lib/web/varien/file.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "design-token",
      "file_count": 6,
      "normalized_name": "content",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/mage/adminhtml/wysiwyg/tiny_mce/themes/advanced/skins/default/content.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/highcontrast/content.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/default/content.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/content.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/default/content.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/o2k7/content.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 6,
      "normalized_name": "editor-plugin",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/directionality/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/iespell/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/print/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/example_dependency/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/fullscreen/editor_plugin.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/save/editor_plugin.js",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 6,
      "normalized_name": "install",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2/ansible/roles/nginx/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/nginx/tasks/install.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 6,
      "normalized_name": "patents",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/patents.json | mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/devops-supplement/files/patents.json | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/patents.json | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/devops-supplement/files/patents.json | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/patents.json | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/devops-supplement/files/patents.json",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "feature-ui",
      "file_count": 6,
      "normalized_name": "route",
      "paths": "mbarbine__gta-6-countdown-webby:app/icon.png/route.tsx | mbarbine__gta-6-countdown-webby:app/apple-icon.png/route.tsx | mbarbine__gta-6-countdown-webby:app/icon-192.png/route.tsx | mbarbine__gta-6-countdown-webby:app/icon-maskable-192.png/route.tsx | mbarbine__gta-6-countdown-webby:app/icon-maskable-512.png/route.tsx | mbarbine__gta-6-countdown-webby:app/icon-512.png/route.tsx",
      "primary_category": "frontend",
      "recommendation": "Review for @platphorm/frontend shared feature component or hook.",
      "repo_count": 1,
      "repos": "mbarbine__gta-6-countdown-webby"
    },
    {
      "component_kind": "backend-module",
      "file_count": 6,
      "normalized_name": "ja4l",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4l.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4l.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 6,
      "normalized_name": "ja4t",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4t.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 6,
      "normalized_name": "ja4s",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-root/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-side-effects/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/jsonrpc-noise/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-root/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-side-effects/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4s.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 6,
      "normalized_name": "custom",
      "paths": "mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/default/custom.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/corporate_1/custom.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/agency_1/custom.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/index/custom.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/revo-slider/css/navigation-skins/custom.css | mbarbine__vanagain-site:admin/public/assets/frontend/assets/demos/default/css/custom.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "agent",
      "file_count": 5,
      "normalized_name": "contents",
      "paths": "mbarbine__Scripts:h4x/dagah-ios/agent/Assets.xcassets/AppIcon.appiconset/Contents.json | mbarbine__Scripts:h4x/dagah-ios/agent/Images.xcassets/Contents.json | mbarbine__Scripts:h4x/dagah-ios/agent/Images.xcassets/AppIcon.appiconset/Contents.json | mbarbine__Scripts:h4x/dagah-ios/agent/Images.xcassets/LaunchImage.launchimage/Contents.json | mbarbine__Scripts:h4x/dagah-ios/agent/Images.xcassets/AppIcon-watch.appiconset/Contents.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 5,
      "normalized_name": "dagah-gui-installer",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/archive/dagah_gui_installer.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/dagah_gui_installer.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/dagah_gui_installer.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/dagah_gui_installer.sh | mbarbine__Scripts:bash/dagah_gui_installer.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "agent",
      "file_count": 5,
      "normalized_name": "facts",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/test888820160819081712/results/agents/17033108359/facts.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/facts.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/15555215554/facts.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/12345/facts.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/testArtifacts/testSavedRuns/testagentsaved/results/agents/15555215556/facts.txt",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 5,
      "normalized_name": "support",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/manipulation/support.js | mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/css/support.js | mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/var/support.js | mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/attributes/support.js | mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/event/support.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "typography",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_typography.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/view/styles/lib/variables/_typography.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_typography.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_typography.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_typography.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "design-token",
      "file_count": 5,
      "normalized_name": "ui",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/highcontrast/ui.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/default/ui.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/skins/o2k7/ui.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/default/ui.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/simple/skins/o2k7/ui.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 5,
      "normalized_name": "instances",
      "paths": "mbarbine__Scripts:aws/multi/devel/instances.yml | mbarbine__Scripts:aws/multi/prod/instances.yml | mbarbine__Scripts:aws/multi/stage/instances.yml | mbarbine__Scripts:jenkins/deployScripts/slave/instances.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/instances.yml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "scheduled-job",
      "file_count": 5,
      "normalized_name": "route-client-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/daily-sync/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/register/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync/route_client-reference-manifest.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "scheduled-job",
      "file_count": 5,
      "normalized_name": "middleware-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/register/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync/route/middleware-manifest.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "scheduled-job",
      "file_count": 5,
      "normalized_name": "app-paths-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync-catalog/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/daily-sync/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/register/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/validate-feeds/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/cron/sync/route/app-paths-manifest.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "plugins",
      "paths": "mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/default/plugins.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/corporate_1/plugins.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/agency_1/plugins.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/index/plugins.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/demos/default/css/plugins.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 5,
      "normalized_name": "settings",
      "paths": "mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/default/_settings.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/corporate_1/_settings.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/agency_1/_settings.scss | mbarbine__vanagain-site:admin/public/assets/frontend/sass/demos/index/_settings.scss | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/revo-slider/css/settings.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "base-nacls",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/base_nacls.yml | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/pubdev/base_nacls.yml | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/base_nacls.yml | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/base_nacls.yml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "installer",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/installer.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/installer.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/installer.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/installer.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "dependencies",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/dependencies.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/dependencies.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/dependencies.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/dependencies.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "base",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/base.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/base.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/base.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/base.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "vagrant",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/vagrant.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/vagrant.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/vagrant.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/vagrant.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "unzip",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/unzip.sh | mbarbine__Scripts:h4x/dagah-server/html/unzip.sh | mbarbine__Scripts:h4x/dagah-server/html/update/unzip.sh | mbarbine__Scripts:h4x/dagah-server/html/upload/unzip.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "composer",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/composer.json | mbarbine__Scripts:h4x/dagah-server/html/components/holderjs/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/api-functional/_files/Magento/TestModuleIntegrationFromConfig/composer.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/api-functional/_files/Magento/TestModuleJoinDirectives/composer.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "plugin-dev",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/codesample/plugin.dev.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/table/plugin.dev.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/spellchecker/plugin.dev.js | mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/plugins/paste/plugin.dev.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "data-tables-bootstrap",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/1/dataTables.bootstrap.js | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.js | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.js | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/js/dataTables.bootstrap.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 4,
      "normalized_name": "install-common-utils-gem",
      "paths": "mbarbine__Scripts:svs-automation/Auto-Pipeline/.pipeline/bin/install-common-utils-gem.sh | mbarbine__Scripts:svs-automation/svs-rails-app/.pipeline/install-common-utils-gem.sh | mbarbine__Scripts:svs-automation/svs-vis-mock/.pipeline/install-common-utils-gem.sh | mbarbine__Scripts:svs-automation/svs-pipeline/.pipeline/bin/install-common-utils-gem.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "application",
      "paths": "mbarbine__Scripts:svs-automation/svs-rails-app/app/assets/javascripts/application.js | mbarbine__Scripts:svs-automation/svs-vis-mock/app/assets/javascripts/application.js | mbarbine__Scripts:svs-automation/style-guide/app/assets/javascripts/svs_style_guide/application.js | mbarbine__Scripts:svs-automation/style-guide/test/dummy/app/assets/javascripts/application.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "application",
      "paths": "mbarbine__Scripts:svs-automation/svs-rails-app/app/assets/stylesheets/application.scss | mbarbine__Scripts:svs-automation/svs-vis-mock/app/assets/stylesheets/application.css | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/application.scss | mbarbine__Scripts:svs-automation/style-guide/test/dummy/app/assets/stylesheets/application.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "layout",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_layout.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_layout.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_layout.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_layout.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "design-token",
      "file_count": 4,
      "normalized_name": "style",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/apple/style.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/classic/style.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/default/style.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/jquery/jstree/themes/default-rtl/style.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "editor-plugin-src",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/legacyoutput/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/autosave/editor_plugin_src.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/paste/editor_plugin_src.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "config",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/apply/config.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/gallery/config.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/jsbuild/config.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/js/jasmine/assets/script/config.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "3",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/design/frontend/Test/default/MagentoFrameworkCssTest_Third/web/3.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/code/Magento/Third/view/frontend/web/3.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/code/Magento/Other/view/frontend/web/3.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/Css/PreProcessor/_files/lib/web/3.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "fixture-script",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/web/fixture_script.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/web/i18n/ru_RU/fixture_script.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/ViewTest_Module/web/fixture_script.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/dev/tests/integration/testsuite/Magento/Framework/View/_files/fallback/design/frontend/Vendor/default/ViewTest_Module/web/i18n/ru_RU/fixture_script.js",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "xdebug",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/tasks/xdebug.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/tasks/xdebug.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/tasks/xdebug.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/tasks/xdebug.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 4,
      "normalized_name": "php",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/php/files/php.ini | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php56/files/php.ini | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php7/files/php.ini | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/php/files/php.ini",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "effective",
      "paths": "mbarbine__Scripts:testing/performance/2017-06-07_23-44-49.824000/effective.json | mbarbine__Scripts:testing/performance/2017-06-07_23-44-49.824000/effective.yml | mbarbine__Scripts:testing/performance/2017-06-07_23-43-58.688000/effective.json | mbarbine__Scripts:testing/performance/2017-06-07_23-43-58.688000/effective.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 4,
      "normalized_name": "infrastructure",
      "paths": "mbarbine__Scripts:aws/multi/devel/infrastructure.yml | mbarbine__Scripts:aws/multi/prod/infrastructure.yml | mbarbine__Scripts:aws/multi/stage/infrastructure.yml | mbarbine__Scripts:jenkins/deployScripts/slave/infrastructure.yml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "infrastructure-automation",
      "file_count": 4,
      "normalized_name": "kitchen",
      "paths": "mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.kitchen.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.kitchen.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.kitchen.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.kitchen.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "infrastructure-automation",
      "file_count": 4,
      "normalized_name": "pre-commit-config",
      "paths": "mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.pre-commit-config.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.pre-commit-config.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-cluster/terraform-aws-eks-10.0.0/.pre-commit-config.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.pre-commit-config.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "infrastructure-automation",
      "file_count": 4,
      "normalized_name": "config",
      "paths": "mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.chglog/config.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.circleci/config.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.chglog/config.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/terraform/.terraform/modules/eks-vpc/terraform-aws-vpc-2.25.0/.circleci/config.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "ja4m-c",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-http/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-tls/ja4m-c.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/service-mesh/ja4m-c.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "ja4m-s",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-http/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-tls/ja4m-s.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/service-mesh/ja4m-s.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "ja4m-x",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/aggregate/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-http/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/cross-service-tls/ja4m-x.json | mbarbine__ja4mlab:review/ja4m-security-review/fingerprints/service-mesh/ja4m-x.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "assertions",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/validation/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/cross-service-http/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/cross-service-tls/assertions.json | mbarbine__ja4mlab:review/ja4m-security-review/validation/service-mesh/assertions.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "middleware",
      "file_count": 4,
      "normalized_name": "middleware-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/middleware/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/rss.xml/route/middleware-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/feed.xml/route/middleware-manifest.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 4,
      "normalized_name": "route-client-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/rss.xml/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/feed.xml/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/security.txt/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/sitemap.xml/route_client-reference-manifest.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "animated",
      "paths": "mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/less/animated.less | mbarbine__vanagain-site:admin/public/assets/frontend/assets/plugins/font-awesome/scss/_animated.scss | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/less/animated.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/font-awesome/scss/_animated.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "lv",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/lv.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/clipboard/dialogs/lang/lv.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/lv.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "pl",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/pl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/pl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/pl.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "sl",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/sl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/toolbar/lang/sl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/sl.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "nb",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/nb.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/nb.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/nb.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "pt-br",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/pt-br.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/pt-br.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/pt-br.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "da",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/da.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/da.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/da.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/da.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "sv",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/sv.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/sv.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/sv.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "cs",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/cs.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/cs.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/cs.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "nl",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/nl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/nl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/nl.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "sk",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/sk.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/specialchar/dialogs/lang/sk.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/sk.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 4,
      "normalized_name": "it",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/it.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/toolbar/lang/it.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/it.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/it.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "yellow",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/yellow.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/yellow.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/yellow.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/yellow.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "pink",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/pink.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/pink.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/pink.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/pink.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "blue",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/blue.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/blue.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/blue.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/blue.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "aero",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/aero.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/aero.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/aero.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/aero.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "purple",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/purple.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/purple.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/purple.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/purple.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "red",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/red.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/red.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/red.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/red.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "orange",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/orange.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/orange.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/orange.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/orange.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "green",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/green.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/green.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/green.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/green.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 4,
      "normalized_name": "grey",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/flat/grey.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/square/grey.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/minimal/grey.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/iCheck/line/grey.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "licc",
      "paths": "mbarbine__Scripts:h4x/dagah-server/licc.py | mbarbine__Scripts:h4x/dagah-server/pipeline/licenses/code/licc.py | mbarbine__Scripts:h4x/dagah-server/developer/licc.py",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "targets2",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets2.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testbasicsms/targets2.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testagentsms/targets2.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "targets11",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/Targets/targets11.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testbasicsms/targets11.txt | mbarbine__Scripts:h4x/dagah-server/pipeline/tests/unittests/licTests/smokeTests/testagentsms/targets11.txt",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "vpc-peering-rules",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_peering_rules.yml | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_peering_rules.yml | mbarbine__Scripts:h4x/dagah-server/pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_peering_rules.yml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "env-s40",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/env_s40.py | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/env_s40.py | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/env_s40.py",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "provision",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/provision.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/provision.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/provision.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "gradle",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/gradle.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/gradle.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/gradle.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "zerodisk",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/zerodisk.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/zerodisk.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/zerodisk.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "virtualbox",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/virtualbox.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/virtualbox.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/virtualbox.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "whatsapp-config",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/whatsapp_config.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/whatsapp_config.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/whatsapp_config.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "vmware",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/vmware.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv1/scripts/vmware.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/vmware.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "awsinit",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/releases/dagahv2/scripts/awsinit.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/awsinit.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/awsinit.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "dagah-vmware",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/virtualbox/dagah_vmware.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/dagah_vmware.json | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/vmware/dagah_vmware.json",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "grep-ami-id",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/grep_ami_id.sh | mbarbine__Scripts:aws_automation/grep_ami_id.sh | mbarbine__Scripts:aws/scripts/grep_ami_id.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "vagrant-configure",
      "paths": "mbarbine__Scripts:h4x/dagah-server/pipeline/packer/providers/aws/archive/vagrant_configure.sh | mbarbine__Scripts:h4x/dagah-server/pipeline/packer/scripts/vagrant_configure.sh | mbarbine__Scripts:bash/vagrant_configure.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "docs",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/codemirror/doc/docs.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/docs.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/docs.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "content",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/tinymce/js/tinymce/skins/lightgray/Content.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/pagebreak/css/content.css | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/spellchecker/css/content.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "agency",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/css/agency.css | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/less/agency.less | mbarbine__Scripts:h4x/dagah-server/html/js/intro/example/bootstrap/v3/scss/agency.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "gruntfile",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/bootstrap/Gruntfile.js | mbarbine__Scripts:h4x/dagah-server/html/components/morrisjs/Gruntfile.js | mbarbine__Scripts:h4x/dagah-server/html/components/metisMenu/Gruntfile.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "data-tables-bootstrap-min",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js | mbarbine__Scripts:h4x/dagah-server/html/components/datatables-plugins/integration/bootstrap/2/dataTables.bootstrap.min.js | mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/js/dataTables.bootstrap.min.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "jquery",
      "paths": "mbarbine__Scripts:h4x/dagah-server/html/components/datatables/media/js/jquery.js | mbarbine__Scripts:h4x/dagah-server/html/components/jquery/src/jquery.js | mbarbine__Scripts:h4x/dagah-server/html/components/flot/jquery.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "hangover",
      "paths": "mbarbine__Scripts:nodejs/hangover.js | mbarbine__Scripts:go/hangover.go | mbarbine__Scripts:python3/hangover.py",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "nodesource-setup",
      "paths": "mbarbine__Scripts:nodejs/nodesource_setup.sh | mbarbine__Scripts:docker/nodesource_setup.sh | mbarbine__Scripts:docker/builders/nodesource_setup.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "profile-controller",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/tests/profile.controller.test.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/tests/profile.controller.spec.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/controllers/profile.controller.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "admin-controller",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/tests/admin.controller.test.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/tests/admin.controller.spec.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/controllers/admin.controller.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "settings-controller",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/tests/settings.controller.test.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/tests/settings.controller.spec.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/administration/controllers/settings.controller.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth-module",
      "file_count": 3,
      "normalized_name": "signup-controller",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/tests/signup.controller.spec.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/tests/signup.controller.test.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/controllers/signup.controller.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth-module",
      "file_count": 3,
      "normalized_name": "login-controller",
      "paths": "mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/tests/login.controller.test.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/tests/login.controller.spec.js | mbarbine__Scripts:SORT/OpsClick_UI/public/app/modules/authentication/controllers/login.controller.js",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "report-conditional-access-policies",
      "paths": "mbarbine__Scripts:o365/o365-Scripts/Report-ConditionalAccessPolicies.PS1 | mbarbine__Scripts:o365/o365-Scripts/frontier/Report-ConditionalAccessPolicies.PS1 | mbarbine__Scripts:o365/frontier/Report-ConditionalAccessPolicies.PS1",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "report-admin-azure-adaccounts-no-mfa",
      "paths": "mbarbine__Scripts:o365/o365-Scripts/ReportAdminAzureADAccountsNoMFA.PS1 | mbarbine__Scripts:o365/o365-Scripts/frontier/ReportAdminAzureADAccountsNoMFA.PS1 | mbarbine__Scripts:o365/frontier/mfa/ReportAdminAzureADAccountsNoMFA.PS1",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "secrets",
      "paths": "mbarbine__Scripts:svs-automation/svs-rails-app/config/secrets.yml | mbarbine__Scripts:svs-automation/svs-vis-mock/config/secrets.yml | mbarbine__Scripts:svs-automation/style-guide/test/dummy/config/secrets.yml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 3,
      "normalized_name": "table",
      "paths": "mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/usstyleguide/elements/_table.scss | mbarbine__Scripts:svs-automation/style-guide/app/assets/stylesheets/svs_style_guide/_scss/svshomegrown/_table.scss | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/table/css/table.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "selection",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/update/pub/fonts/icons/selection.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/setup/pub/fonts/icons/selection.json | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/fonts/Blank-Theme-Icons/selection.json",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "responsive",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_responsive.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_responsive.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_responsive.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "actions-toolbar",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_actions-toolbar.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_actions-toolbar.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_actions-toolbar.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "pages",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_pages.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_pages.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_pages.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "sections",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_sections.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_sections.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_sections.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "popups",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_popups.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_popups.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_popups.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "loaders",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_loaders.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_loaders.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_loaders.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "messages",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_messages.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_messages.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_messages.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "rating",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_rating.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_rating.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_rating.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "tooltips",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/_tooltips.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/source/lib/variables/_tooltips.less | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/css/docs/source/_tooltips.less",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "en-dlg",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advimage/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/plugins/advlink/langs/en_dlg.js | mbarbine__Scripts:ansible/magento/magento2/repos/magento2/lib/web/tiny_mce/themes/advanced/langs/en_dlg.js",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "playbook",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/playbook.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/playbook.yml | mbarbine__Scripts:jenkins/ansible/jenkins-auto/jenkins/provisioning/playbook.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "vendor",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/tasks/vendor.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/tasks/vendor.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/vendor.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "create",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/tasks/create.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/tasks/create.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/create.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "install",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/tasks/install.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/install.yml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "keys",
      "paths": "mbarbine__Scripts:ansible/magento/magento2/ansible/roles/magento2/tasks/keys.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2/tasks/keys.yml | mbarbine__Scripts:ansible/magento/magento2-2.0.15/roles/magento2-2.0.15/tasks/keys.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "ecr",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/ecr.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/ecr.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/ecr.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "docker-stack-deploy",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/docker-stack-deploy.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/docker-stack-deploy.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/docker-stack-deploy.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "stack-backoffice",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-backoffice.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-backoffice.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-backoffice.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-ms",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-ms.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-ms.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-ms.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-traefik",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-traefik.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-traefik.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-traefik.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-pair",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-pair.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-pair.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-pair.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-search",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-search.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-search.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-search.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "azure-pipelines",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/azure-pipelines.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/azure-pipelines.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/azure-pipelines.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-proxy",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-proxy.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-proxy.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-proxy.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-essentials",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-essentials.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-essentials.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-essentials.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "stack-docs",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-docs.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-docs.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-docs.yml",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "stack-wt",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-wt.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-wt.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-wt.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "infrastructure-automation",
      "file_count": 3,
      "normalized_name": "stack-infrastructure",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/devOps/stack-infrastructure.yml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/devOps/stack-infrastructure.yml | mbarbine__Scripts:helm/HHLP/HelmCharts/devOps/stack-infrastructure.yml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "nexus",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/nexus.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/nexus.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/nexus.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "rollout",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/rollout.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/rollout.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/rollout.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "infra",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/infra.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/infra.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/infra.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "destroy",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/destroy.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/destroy.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/destroy.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "script",
      "file_count": 3,
      "normalized_name": "helm-init",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/helmInit.sh | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/helmInit.sh | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/helmInit.sh",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth",
      "file_count": 3,
      "normalized_name": "deployment",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/deployment.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/auth/templates/deployment.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth",
      "file_count": 3,
      "normalized_name": "ingress",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/auth/templates/ingress.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth",
      "file_count": 3,
      "normalized_name": "post-install",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/templates/post-install.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/post-install.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/auth/templates/post-install.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth-module",
      "file_count": 3,
      "normalized_name": "service",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/auth/templates/service.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "auth",
      "file_count": 3,
      "normalized_name": "test-connection",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/auth/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/auth/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/auth/templates/tests/test-connection.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "nginx-configmap",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/backoffice/templates/nginx-configmap.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/backoffice/templates/nginx-configmap.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/backoffice/templates/nginx-configmap.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "post-install",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/application-storage/templates/post-install.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/application-storage/templates/post-install.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/application-storage/templates/post-install.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "feed",
      "file_count": 3,
      "normalized_name": "test-connection",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/feedback/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/feedback/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/feedback/templates/tests/test-connection.yaml",
      "primary_category": "discovery",
      "recommendation": "Promote to @platphorm/discovery for sitemaps, feeds, OpenAPI, llms, metadata, and robots.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "ui-primitive",
      "file_count": 3,
      "normalized_name": "chart",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/Chart.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/Chart.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/Chart.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "values",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/values.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "notes",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/NOTES.txt | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/templates/NOTES.txt",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "ingress",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/templates/ingress.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "service",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/templates/service.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "serviceaccount",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/serviceaccount.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/serviceaccount.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/templates/serviceaccount.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "test-connection",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/outlook-compose/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/outlook-compose/templates/tests/test-connection.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/outlook-compose/templates/tests/test-connection.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "ci-values",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/ci/ci-values.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/ci/ci-values.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/ci/ci-values.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "servicemonitor",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/servicemonitor.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/servicemonitor.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/servicemonitor.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "hpa",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/hpa.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/hpa.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/hpa.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "rbac",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/rbac.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/rbac.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/rbac.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "default-cert-secret",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/default-cert-secret.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/default-cert-secret.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/default-cert-secret.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "dns-provider-secret",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/dns-provider-secret.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/dns-provider-secret.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/dns-provider-secret.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "automation-config",
      "file_count": 3,
      "normalized_name": "storeconfig-job",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/storeconfig-job.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/storeconfig-job.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/storeconfig-job.yaml",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "configmap",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/configmap.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/configmap.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/configmap.yaml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "prometheus-service",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/prometheus-service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/prometheus-service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/prometheus-service.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "secret-files",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/secret-files.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/secret-files.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/secret-files.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "backend-module",
      "file_count": 3,
      "normalized_name": "dashboard-service",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/dashboard-service.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/dashboard-service.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/dashboard-service.yaml",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "security-module",
      "file_count": 3,
      "normalized_name": "dashboard-ingress",
      "paths": "mbarbine__Scripts:helm/HHLP-DEV/HelmCharts/helm/traefik/templates/dashboard-ingress.yaml | mbarbine__Scripts:helm/HHLP/bandwidth/HelmCharts/helm/traefik/templates/dashboard-ingress.yaml | mbarbine__Scripts:helm/HHLP/HelmCharts/helm/traefik/templates/dashboard-ingress.yaml",
      "primary_category": "security",
      "recommendation": "Promote to @platphorm/security auth, fingerprinting, trust, or key-management module.",
      "repo_count": 1,
      "repos": "mbarbine__Scripts"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4t",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4t.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4t.json",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4s",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4s.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4s.json",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "process-document",
      "file_count": 3,
      "normalized_name": "ja4h",
      "paths": "mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/02-human-originated-agent-chain/fingerprints/by-leg/api-to-docs/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/03-final-exhaustive-tls/fingerprints/by-leg/api-to-docs/ja4h.json | mbarbine__ja4mlab:delivery artifacts/technical-evidence/scenarios/01-api-broker-mediated-ja4m/fingerprints/by-leg/api-to-docs/ja4h.json",
      "primary_category": "process",
      "recommendation": "Promote to @platphorm/process as reusable SOP, runbook, checklist, workflow, or operating model.",
      "repo_count": 1,
      "repos": "mbarbine__ja4mlab"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "feature-status",
      "paths": "mbarbine__lettuce:ntt/.feature-status.yml | mbarbine__lettuce:module-lwe/.feature-status.yml | mbarbine__lettuce:ring-lwe/.feature-status.yml",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__lettuce"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "virustotal",
      "paths": "mbarbine__platphorm-desa:lib/virustotal.ts | mbarbine__platphorm-desa:lib/integrations/virustotal.ts | mbarbine__platphorm-desa:lib/integrations/__tests__/virustotal.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-desa"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "c2-extractor",
      "paths": "mbarbine__platphorm-desa:lib/analysis/c2-extractor.ts | mbarbine__platphorm-desa:lib/analysis/__tests__/c2-extractor.test.ts | mbarbine__platphorm-desa:lib/__tests__/c2-extractor.test.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-desa"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "trace-sdk",
      "paths": "mbarbine__platphorm-insights:tests/lib/trace-sdk.test.ts | mbarbine__platphorm-insights:lib/trace-sdk.ts | mbarbine__platphorm-insights:lib/integrations/trace-sdk.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-insights"
    },
    {
      "component_kind": "deployment-automation",
      "file_count": 3,
      "normalized_name": "deployments",
      "paths": "mbarbine__platphorm-monitor:__tests__/lib/vercel/deployments.test.ts | mbarbine__platphorm-monitor:lib/vercel/deployments.ts | mbarbine__platphorm-monitor:lib/vercel/__tests__/deployments.test.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "deployment-automation",
      "file_count": 3,
      "normalized_name": "client",
      "paths": "mbarbine__platphorm-monitor:__tests__/lib/vercel/client.test.ts | mbarbine__platphorm-monitor:lib/vercel/client.ts | mbarbine__platphorm-monitor:lib/vercel/__tests__/client.test.ts",
      "primary_category": "automation",
      "recommendation": "Promote to @platphorm/automation as reusable scripts, GitHub workflows, cron jobs, deployment jobs, or infra patterns.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-monitor"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "route-client-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/recommend/route_client-reference-manifest.js | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/analyze/route_client-reference-manifest.js",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "route-js-nft",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/recommend/route.js.nft.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/analyze/route.js.nft.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "build-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/recommend/route/build-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/analyze/route/build-manifest.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "app-paths-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/recommend/route/app-paths-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/analyze/route/app-paths-manifest.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "ai-integration",
      "file_count": 3,
      "normalized_name": "server-reference-manifest",
      "paths": "mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/.well-known/ai-plugin.json/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/recommend/route/server-reference-manifest.json | mbarbine__platphorm-podcasts:.next.preverify-20260419-2027/server/app/api/ai/analyze/route/server-reference-manifest.json",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-podcasts"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "wrestlers",
      "paths": "mbarbine__platphorm-wrestling-webby:lib/actions/wrestlers.ts | mbarbine__platphorm-wrestling-webby:lib/data/wrestlers.json | mbarbine__platphorm-wrestling-webby:lib/data/wrestlers.ts",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__platphorm-wrestling-webby"
    },
    {
      "component_kind": "agent",
      "file_count": 3,
      "normalized_name": "server",
      "paths": "mbarbine__platphormnews-www-prod:src/routes/.well-known/agents.json/+server.ts | mbarbine__platphormnews-www-prod:src/routes/.well-known/agent.json/+server.ts | mbarbine__platphormnews-www-prod:src/routes/.well-known/agent-config.json/+server.ts",
      "primary_category": "ai",
      "recommendation": "Promote to @platphorm/ai scaffold, adapter, prompt, eval, or agent module.",
      "repo_count": 1,
      "repos": "mbarbine__platphormnews-www-prod"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "host",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/v1/host.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/host.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/kama/host.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "uipanel",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/v1/uipanel.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/uipanel.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/kama/uipanel.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "skin",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/v1/skin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/bootstrap/skin.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/skins/kama/skin.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "vi",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/vi.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/vi.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "el",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/el.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/el.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/el.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "et",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/et.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/et.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/et.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "hr",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/hr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/hr.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "fi",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/fi.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/fi.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "no",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/no.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/no.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/no.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "gu",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/gu.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/gu.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "he",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/he.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/he.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/he.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "bg",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/bg.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/bg.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "ca",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/ca.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/ca.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "cy",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/cy.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/cy.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "fa",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/fa.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/fa.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "sr",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/sr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/sr.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "hu",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/hu.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/hu.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "lt",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/lt.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/lt.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "eo",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/eo.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/eo.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "ro",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/ro.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/ro.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "tr",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckfinder/lang/tr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/tr.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "ionicons",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/Ionicons/css/ionicons.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/Ionicons/less/ionicons.less | mbarbine__vanagain-site:admin/public/assets/admin/plugins/Ionicons/scss/ionicons.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "stylesheet",
      "file_count": 3,
      "normalized_name": "contents",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/contents.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/contents.css | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/widget/dev/assets/simplebox/contents.css",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "id",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/id.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/id.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/id.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "observability-module",
      "file_count": 3,
      "normalized_name": "de-ch",
      "paths": "mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/filetools/lang/de-ch.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js | mbarbine__vanagain-site:admin/public/assets/admin/plugins/ckeditor/lang/de-ch.js",
      "primary_category": "observability",
      "recommendation": "Promote to @platphorm/observability tracing, logging, or health helper.",
      "repo_count": 1,
      "repos": "mbarbine__vanagain-site"
    },
    {
      "component_kind": "business-logic",
      "file_count": 3,
      "normalized_name": "vpc-peering-rules",
      "paths": "mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/prod/vpc_peering_rules.yml | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/int/vpc_peering_rules.yml | mbarbine__xsociety:pipeline/cookbooks/aws_account_setup/vpc_mgmt/target_vpcs/fakeprod/vpc_peering_rules.yml",
      "primary_category": "logic",
      "recommendation": "Promote to @platphorm/logic for reusable validation, parsing, transformation, scoring, or domain utilities.",
      "repo_count": 1,
      "repos": "mbarbine__xsociety"
    },
    {
      "component_kind": "design-token",
      "file_count": 3,
      "normalized_name": "variables",
      "paths": "ph3ar__js_mongo_app_boilerplate:public/css/themes/default/_variables.scss | ph3ar__js_mongo_app_boilerplate:public/css/themes/modern/_variables.scss | ph3ar__js_mongo_app_boilerplate:public/css/themes/flatly/_variables.scss",
      "primary_category": "style",
      "recommendation": "Promote to @platphorm/styles, tokens, or shared theme package.",
      "repo_count": 1,
      "repos": "ph3ar__js_mongo_app_boilerplate"
    },
    {
      "component_kind": "webhook-handler",
      "file_count": 3,
      "normalized_name": "webhook",
      "paths": "ph3ar__mailthing-webby:api/webhook.ts | ph3ar__mailthing-webby:api/stannp/webhook.ts | ph3ar__mailthing-webby:api/stripe/webhook.ts",
      "primary_category": "backend",
      "recommendation": "Review for @platphorm/backend shared API, middleware, or service module.",
      "repo_count": 1,
      "repos": "ph3ar__mailthing-webby"
    }
  ],
  "executive_findings": [
    {
      "evidence": "@platphorm/process:readme, @platphorm/observability:package, @platphorm/ui:button, @platphorm/logic:utils, @platphorm/ui:card, @platphorm/backend:route, @platphorm/frontend:theme-provider, @platphorm/ui:input, @platphorm/ui:badge, @platphorm/ui:select, @platphorm/ui:label, @platphorm/ui:textarea, @platphorm/ui:tooltip, @platphorm/ui:dropdown-menu, @platphorm/ui:tabs, @platphorm/ui:separator, @platphorm/ui:alert, @platphorm/ui:toast, @platphorm/ui:sheet, @platphorm/ui:skeleton",
      "finding_type": "shared-library",
      "priority": "high",
      "recommended_action": "Create shared packages for UI, frontend, backend, logic, process, automation, style, AI, discovery, observability, security, and integrations.",
      "summary": "173 high-priority shared package candidates were found across UI, backend, logic, process, automation, style, AI, and platform categories.",
      "title": "Repeated components justify shared packages"
    },
    {
      "evidence": "logic category inventory",
      "finding_type": "logic",
      "priority": "high",
      "recommended_action": "Create @platphorm/logic and move repeatable pure or near-pure functions there before extracting larger backend or frontend modules.",
      "summary": "2771 logic components were identified. These include validators, parsers, transformers, stores, scoring functions, schemas, and domain utilities.",
      "title": "Logic components should be extracted separately from UI and backend"
    },
    {
      "evidence": "process category inventory",
      "finding_type": "process",
      "priority": "medium",
      "recommended_action": "Create @platphorm/process or a process catalog for repeatable SOPs, runbooks, checklists, migration plans, deployment guides, and acceptance criteria.",
      "summary": "2167 process components were identified, including docs, specs, runbooks, plans, checklists, and operational guides.",
      "title": "Process components are reusable operational assets"
    },
    {
      "evidence": "automation category inventory",
      "finding_type": "automation",
      "priority": "high",
      "recommended_action": "Create @platphorm/automation for reusable workflow templates, script patterns, deployment jobs, validation jobs, and operational automations.",
      "summary": "2187 automation components were identified, including scripts, GitHub workflows, Docker files, deployment configs, and cron-related assets.",
      "title": "Automation components can become reusable delivery infrastructure"
    },
    {
      "evidence": "ph3ar__newdittyswag-commerce, ph3ar__DeskThing-FortuneCookie, mbarbine__tiktok-clone, mbarbine__starphone-fork-webby, mbarbine__scratchcraft, mbarbine__robot-clothing-marketplace, mbarbine__platphorm-news-alt-theme, mbarbine__multiplayer-puzzle-game, mbarbine__microwave-sticker-webby, mbarbine__mermaid-community-platform, mbarbine__global-anti-globalist-club-webby, mbarbine__gamer, mbarbine__front-runners-webby, mbarbine__evernote-js, mbarbine__drone-reel-webby, mbarbine__dogstar-cybernetics-webby, mbarbine__FlaskFlow-www",
      "finding_type": "ai",
      "priority": "high",
      "recommended_action": "Create @platphorm/ai with provider-neutral adapters, prompt templates, eval fixtures, redaction, trace-linked spans, and degraded states.",
      "summary": "17 repositories have high-priority AI scaffold opportunities where AI could improve productivity, triage, summarization, search, or workflow guidance.",
      "title": "AI scaffolding opportunities exist across active feature surfaces"
    },
    {
      "evidence": "readme, page, layout, globals, pnpm-lock, package, button, utils, card, route, theme-provider, input, badge, select, label, textarea, tooltip, dropdown-menu, tabs, sidebar",
      "finding_type": "deduplication",
      "priority": "high",
      "recommended_action": "Prioritize duplicate groups with the highest repo counts, then extract stable canonical versions into shared packages.",
      "summary": "1550 duplicate groups were identified across repositories.",
      "title": "Duplicate components create extraction opportunities"
    },
    {
      "evidence": "inventory.csv, inventory.json, executive-summary.md",
      "finding_type": "inventory",
      "priority": "medium",
      "recommended_action": "Use the generated CSVs for spreadsheet review and the JSON/Markdown outputs for AI analysis and agent prompts.",
      "summary": "The scan found 27899 component records across 207 repositories.",
      "title": "Component inventory is now AI-readable and manager-readable"
    }
  ],
  "generated_at_unix": 1778531877,
  "repositories": [
    {
      "current_branch": "main",
      "current_commit": "1c3e4303bf40698b84aad1a99ad95c8f70651a2d",
      "file_count": 87,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__2025-year-in-review-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 77,
      "remote_url": "git@github.com:mbarbine/2025-year-in-review-webby.git",
      "repo": "mbarbine__2025-year-in-review-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "ff7ab27aec7bf0bcc50a7e21269e187fc4062ea3",
      "file_count": 7,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__DCF-Audit-Scripts",
      "primary_language_hint": "unknown",
      "relevant_file_count": 7,
      "remote_url": "git@github.com:mbarbine/DCF-Audit-Scripts.git",
      "repo": "mbarbine__DCF-Audit-Scripts"
    },
    {
      "current_branch": "main",
      "current_commit": "5e298847c50d9aa4a2194f5955f211edaf346e46",
      "file_count": 88,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__FlaskFlow-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 37,
      "remote_url": "git@github.com:mbarbine/FlaskFlow-www.git",
      "repo": "mbarbine__FlaskFlow-www"
    },
    {
      "current_branch": "1.0",
      "current_commit": "6a7ac8f04b37e20da927cbba369b268acbfb1b52",
      "file_count": 35,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__JenkinsDB",
      "primary_language_hint": "unknown",
      "relevant_file_count": 12,
      "remote_url": "git@github.com:mbarbine/JenkinsDB.git",
      "repo": "mbarbine__JenkinsDB"
    },
    {
      "current_branch": "main",
      "current_commit": "dfeb5b0346d5c5c29e7980d7f21c77d014902371",
      "file_count": 105,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__Joshs-magnets-landing-page",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 87,
      "remote_url": "git@github.com:mbarbine/Joshs-magnets-landing-page.git",
      "repo": "mbarbine__Joshs-magnets-landing-page"
    },
    {
      "current_branch": "main",
      "current_commit": "eb5667d20fb5c9e09c378239ae7c97957c96c5bb",
      "file_count": 49,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__LogSlash-w6",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 32,
      "remote_url": "git@github.com:mbarbine/LogSlash-w6.git",
      "repo": "mbarbine__LogSlash-w6"
    },
    {
      "current_branch": "main",
      "current_commit": "ff2ad9b5c4d2140010469d6727e8854143d0b797",
      "file_count": 121,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "bun",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__PH3AR-WEBBY",
      "primary_language_hint": "typescript",
      "relevant_file_count": 76,
      "remote_url": "git@github.com:mbarbine/PH3AR-WEBBY.git",
      "repo": "mbarbine__PH3AR-WEBBY"
    },
    {
      "current_branch": "master",
      "current_commit": "40daa455c6d5e90fede6a95bd9567b2baac31493",
      "file_count": 19153,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__Scripts",
      "primary_language_hint": "javascript",
      "relevant_file_count": 4962,
      "remote_url": "git@github.com:mbarbine/Scripts.git",
      "repo": "mbarbine__Scripts"
    },
    {
      "current_branch": "jules-843244230259235722-982837fc",
      "current_commit": "d3704f4ebdd686288fec7537e18b26b71c759bc1",
      "file_count": 2,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__Starphone-CMS",
      "primary_language_hint": "unknown",
      "relevant_file_count": 2,
      "remote_url": "git@github.com:mbarbine/Starphone-CMS.git",
      "repo": "mbarbine__Starphone-CMS"
    },
    {
      "current_branch": "main",
      "current_commit": "fbb2fa77a6b040573240bdcc1b154a036b7777c5",
      "file_count": 101,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ai-chat-interface-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 91,
      "remote_url": "git@github.com:mbarbine/ai-chat-interface-webby.git",
      "repo": "mbarbine__ai-chat-interface-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "788a14e705cc82b774c30ae17a062adbaf469a60",
      "file_count": 85,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__airrow-commuter-balloon",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 67,
      "remote_url": "git@github.com:mbarbine/airrow-commuter-balloon.git",
      "repo": "mbarbine__airrow-commuter-balloon"
    },
    {
      "current_branch": "main",
      "current_commit": "83f8f47a53cf162d6ccd77aac50ae334be2dbfeb",
      "file_count": 171,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__autographed-bibles-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 147,
      "remote_url": "git@github.com:mbarbine/autographed-bibles-webby.git",
      "repo": "mbarbine__autographed-bibles-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "3fe387c90e47568ee6c7a742ea7a2f5b1e9a58dc",
      "file_count": 128,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__automotive-flamethrower-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 109,
      "remote_url": "git@github.com:mbarbine/automotive-flamethrower-webby.git",
      "repo": "mbarbine__automotive-flamethrower-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "2e1ec0c0654b7037fdc19447688d94fd625d3bfc",
      "file_count": 54,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__aws-lab",
      "primary_language_hint": "javascript",
      "relevant_file_count": 30,
      "remote_url": "git@github.com:mbarbine/aws-lab.git",
      "repo": "mbarbine__aws-lab"
    },
    {
      "current_branch": "main",
      "current_commit": "365297eb1e76b971ae52c83aa1080d43a83e9579",
      "file_count": 86,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__aws-next-k8-cluster-deploy",
      "primary_language_hint": "unknown",
      "relevant_file_count": 36,
      "remote_url": "git@github.com:mbarbine/aws-next-k8-cluster-deploy.git",
      "repo": "mbarbine__aws-next-k8-cluster-deploy"
    },
    {
      "current_branch": "main",
      "current_commit": "b6f6b7a3b27eeef7c85a524d4115df27d97e9687",
      "file_count": 52,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__barbine-worldwide-2025-wwww",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 46,
      "remote_url": "git@github.com:mbarbine/barbine-worldwide-2025-wwww.git",
      "repo": "mbarbine__barbine-worldwide-2025-wwww"
    },
    {
      "current_branch": "main",
      "current_commit": "1a53f1bf3d623796bf76dae7bdcbec9bbea65de4",
      "file_count": 203,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__barbineworldwide-2026-metahack",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 183,
      "remote_url": "git@github.com:mbarbine/barbineworldwide-2026-metahack.git",
      "repo": "mbarbine__barbineworldwide-2026-metahack"
    },
    {
      "current_branch": "master",
      "current_commit": "bf3234e3af177c9142c767a584656f9ce8ce1cd7",
      "file_count": 5,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__beepboopprocess",
      "primary_language_hint": "unknown",
      "relevant_file_count": 5,
      "remote_url": "git@github.com:mbarbine/beepboopprocess.git",
      "repo": "mbarbine__beepboopprocess"
    },
    {
      "current_branch": "main",
      "current_commit": "878d2b886238de212cabf1e7cb63fb632a68bd49",
      "file_count": 243,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__beer-museum-manager-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 185,
      "remote_url": "git@github.com:mbarbine/beer-museum-manager-www.git",
      "repo": "mbarbine__beer-museum-manager-www"
    },
    {
      "current_branch": "main",
      "current_commit": "5470e16ab8dd91eddb8f813f84c8490c02ab2337",
      "file_count": 32,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__biocyber-xr-training-nasa-webby-v0",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 18,
      "remote_url": "git@github.com:mbarbine/biocyber-xr-training-nasa-webby-v0.git",
      "repo": "mbarbine__biocyber-xr-training-nasa-webby-v0"
    },
    {
      "current_branch": "main",
      "current_commit": "dcef18d58702d1d43ac4b7cf0b028435a55e487a",
      "file_count": 122,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__burrito-dealer-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 104,
      "remote_url": "git@github.com:mbarbine/burrito-dealer-www.git",
      "repo": "mbarbine__burrito-dealer-www"
    },
    {
      "current_branch": "main",
      "current_commit": "6cdb6a6c765b6cbf3dfd8172312a46ab9ce72346",
      "file_count": 271,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__calendar-app-webby",
      "primary_language_hint": "typescript",
      "relevant_file_count": 256,
      "remote_url": "git@github.com:mbarbine/calendar-app-webby.git",
      "repo": "mbarbine__calendar-app-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "236f33ab8a9c64cc70f64d3da0907c05ad52f7e8",
      "file_count": 152,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__car-service-records",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 142,
      "remote_url": "git@github.com:mbarbine/car-service-records.git",
      "repo": "mbarbine__car-service-records"
    },
    {
      "current_branch": "main",
      "current_commit": "3a874e4cf8ac77d02f6374fa04668180201aa94b",
      "file_count": 28,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "python",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__cdf-sanitize",
      "primary_language_hint": "python",
      "relevant_file_count": 16,
      "remote_url": "git@github.com:mbarbine/cdf-sanitize.git",
      "repo": "mbarbine__cdf-sanitize"
    },
    {
      "current_branch": "main",
      "current_commit": "94fe074a05826df86f0d8a3abf19221688b8d804",
      "file_count": 1,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__chrome-shortcuts",
      "primary_language_hint": "javascript",
      "relevant_file_count": 1,
      "remote_url": "git@github.com:mbarbine/chrome-shortcuts.git",
      "repo": "mbarbine__chrome-shortcuts"
    },
    {
      "current_branch": "main",
      "current_commit": "321367f9de66240af75f3e183a9131b0a188fad1",
      "file_count": 135,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__civic-engagement-platform-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 115,
      "remote_url": "git@github.com:mbarbine/civic-engagement-platform-webby.git",
      "repo": "mbarbine__civic-engagement-platform-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "9827530b03f7243a59e2b62f165f61ad22836a62",
      "file_count": 120,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__crafted-virginia-website",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 86,
      "remote_url": "git@github.com:mbarbine/crafted-virginia-website.git",
      "repo": "mbarbine__crafted-virginia-website"
    },
    {
      "current_branch": "main",
      "current_commit": "389dc1369024135851cc97e74bbdcbe3f6c5a355",
      "file_count": 253,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__desert-bus",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 226,
      "remote_url": "git@github.com:mbarbine/desert-bus.git",
      "repo": "mbarbine__desert-bus"
    },
    {
      "current_branch": "main",
      "current_commit": "fbdc30a10d5e51abe386252eb5dba604c1281d84",
      "file_count": 32,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__dinoblocks-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 18,
      "remote_url": "git@github.com:mbarbine/dinoblocks-www.git",
      "repo": "mbarbine__dinoblocks-www"
    },
    {
      "current_branch": "main",
      "current_commit": "0eadf11b70911c088377ee422bba672391c7f70f",
      "file_count": 30,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__docker-terraform-aws-demo",
      "primary_language_hint": "unknown",
      "relevant_file_count": 6,
      "remote_url": "git@github.com:mbarbine/docker-terraform-aws-demo.git",
      "repo": "mbarbine__docker-terraform-aws-demo"
    },
    {
      "current_branch": "main",
      "current_commit": "50d6297e4985722b6b971fdbe2617b7b870936f3",
      "file_count": 62,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__doflo-clone",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 54,
      "remote_url": "git@github.com:mbarbine/doflo-clone.git",
      "repo": "mbarbine__doflo-clone"
    },
    {
      "current_branch": "main",
      "current_commit": "703968fbcdf1ed0de2dcc40797109bbed90281d4",
      "file_count": 106,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__dogstar-cybernetics-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 90,
      "remote_url": "git@github.com:mbarbine/dogstar-cybernetics-webby.git",
      "repo": "mbarbine__dogstar-cybernetics-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "cdd90d6f2bdf44783d6cea113c365f3af333d4cb",
      "file_count": 134,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__drone-reel-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 119,
      "remote_url": "git@github.com:mbarbine/drone-reel-webby.git",
      "repo": "mbarbine__drone-reel-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "613768b04709c64a51401fc9a0632d79eb0910b2",
      "file_count": 95,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__email-reading-service-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 84,
      "remote_url": "git@github.com:mbarbine/email-reading-service-webby.git",
      "repo": "mbarbine__email-reading-service-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "a6ebf2267852c230a3b39338e47a595a046a9127",
      "file_count": 22,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__evernote-js",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 17,
      "remote_url": "git@github.com:mbarbine/evernote-js.git",
      "repo": "mbarbine__evernote-js"
    },
    {
      "current_branch": "main",
      "current_commit": "f49a4a8e63458b4007260712d92226fcc85a76a1",
      "file_count": 179,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__fashion-sadiepass-WWW",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 130,
      "remote_url": "git@github.com:mbarbine/fashion-sadiepass-WWW.git",
      "repo": "mbarbine__fashion-sadiepass-WWW"
    },
    {
      "current_branch": "main",
      "current_commit": "817b26059e1242da1b2d1451d5f0237a45f763f1",
      "file_count": 75,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__fortune-cookie-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 69,
      "remote_url": "git@github.com:mbarbine/fortune-cookie-webby.git",
      "repo": "mbarbine__fortune-cookie-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "097c886023f2faf02c11556ef67d5044bd8edc98",
      "file_count": 222,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__fortune-cookie-webby-yj",
      "primary_language_hint": "typescript",
      "relevant_file_count": 207,
      "remote_url": "git@github.com:mbarbine/fortune-cookie-webby-yj.git",
      "repo": "mbarbine__fortune-cookie-webby-yj"
    },
    {
      "current_branch": "main",
      "current_commit": "0c9154ef3e2386310cba65fc42d366315258b480",
      "file_count": 163,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__foxio-labs",
      "primary_language_hint": "javascript",
      "relevant_file_count": 144,
      "remote_url": "git@github.com:mbarbine/foxio-labs.git",
      "repo": "mbarbine__foxio-labs"
    },
    {
      "current_branch": "main",
      "current_commit": "3a4c2112a59a2ef09a2afec97691be7b5a0a6917",
      "file_count": 79,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__front-runners-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 54,
      "remote_url": "git@github.com:mbarbine/front-runners-webby.git",
      "repo": "mbarbine__front-runners-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "bca98cfe1891da429c603c4796e57e879099dbbf",
      "file_count": 135,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__game-porting-service-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 121,
      "remote_url": "git@github.com:mbarbine/game-porting-service-webby.git",
      "repo": "mbarbine__game-porting-service-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "184a1208f6598140aec88a247c0548ae6f10e2c7",
      "file_count": 35,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__gamer",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 29,
      "remote_url": "git@github.com:mbarbine/gamer.git",
      "repo": "mbarbine__gamer"
    },
    {
      "current_branch": "main",
      "current_commit": "7d2646c0ba9789f22d866fd5e02d74b206991bd5",
      "file_count": 47,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__glass-blowing-website",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 26,
      "remote_url": "git@github.com:mbarbine/glass-blowing-website.git",
      "repo": "mbarbine__glass-blowing-website"
    },
    {
      "current_branch": "main",
      "current_commit": "1b28b71a1e20cdd5a7801fc636790d6181ae5373",
      "file_count": 53,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__global-anti-globalist-club-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 32,
      "remote_url": "git@github.com:mbarbine/global-anti-globalist-club-webby.git",
      "repo": "mbarbine__global-anti-globalist-club-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "0f16dd4e22ce8c62c60bf0ea6264d5b8666d37ff",
      "file_count": 90,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__gta-6-countdown-webby",
      "primary_language_hint": "typescript",
      "relevant_file_count": 80,
      "remote_url": "git@github.com:mbarbine/gta-6-countdown-webby.git",
      "repo": "mbarbine__gta-6-countdown-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "3ed1bc47f4102e0c6791ba5c9e37a560a296d52d",
      "file_count": 161,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__hot-chocolate-for-profit-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 140,
      "remote_url": "git@github.com:mbarbine/hot-chocolate-for-profit-webby.git",
      "repo": "mbarbine__hot-chocolate-for-profit-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "883f44bb4b1cad8cdd073acc3b11342559438a72",
      "file_count": 89,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__instant-snap-postcard",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 81,
      "remote_url": "git@github.com:mbarbine/instant-snap-postcard.git",
      "repo": "mbarbine__instant-snap-postcard"
    },
    {
      "current_branch": "main",
      "current_commit": "ec004b476d39d34f5d5aeb73834206133b8ebe12",
      "file_count": 157,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ja4-sidecar",
      "primary_language_hint": "javascript",
      "relevant_file_count": 103,
      "remote_url": "git@github.com:mbarbine/ja4-sidecar.git",
      "repo": "mbarbine__ja4-sidecar"
    },
    {
      "current_branch": "main",
      "current_commit": "0a7e80b7428895ace35d3217032e42d5a75d42dd",
      "file_count": 44,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ja4-vercel-lab-2",
      "primary_language_hint": "javascript",
      "relevant_file_count": 32,
      "remote_url": "git@github.com:mbarbine/ja4-vercel-lab-2.git",
      "repo": "mbarbine__ja4-vercel-lab-2"
    },
    {
      "current_branch": "main",
      "current_commit": "37587dab12e9e017b190bb1fa01b989b1633ca59",
      "file_count": 453,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "python",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ja4mlab",
      "primary_language_hint": "typescript",
      "relevant_file_count": 415,
      "remote_url": "git@github.com:mbarbine/ja4mlab.git",
      "repo": "mbarbine__ja4mlab"
    },
    {
      "current_branch": "main",
      "current_commit": "ecc6d1f27f4900bcbf81fdd4b308545a7e2fd8bf",
      "file_count": 33,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__jaydens-therapy-legal-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 25,
      "remote_url": "git@github.com:mbarbine/jaydens-therapy-legal-www.git",
      "repo": "mbarbine__jaydens-therapy-legal-www"
    },
    {
      "current_branch": "main",
      "current_commit": "e9094efb8847af93ae5e58a52d6495ec10ed7491",
      "file_count": 90,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__job-manager",
      "primary_language_hint": "javascript",
      "relevant_file_count": 76,
      "remote_url": "git@github.com:mbarbine/job-manager.git",
      "repo": "mbarbine__job-manager"
    },
    {
      "current_branch": "main",
      "current_commit": "9fb285f626cf4ff708654b40f7c10234fb4a1580",
      "file_count": 33,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__jts-hvac-gates-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 24,
      "remote_url": "git@github.com:mbarbine/jts-hvac-gates-www.git",
      "repo": "mbarbine__jts-hvac-gates-www"
    },
    {
      "current_branch": "main",
      "current_commit": "4d81e9e93ceb62dc26af3829da8d782aad0a2734",
      "file_count": 137,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__legacy-platphorm-news",
      "primary_language_hint": "svelte",
      "relevant_file_count": 112,
      "remote_url": "git@github.com:mbarbine/legacy-platphorm-news.git",
      "repo": "mbarbine__legacy-platphorm-news"
    },
    {
      "current_branch": "main",
      "current_commit": "81a94bbf9703ede1b29108078974b174cdebaea2",
      "file_count": 55,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "cargo",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__lettuce",
      "primary_language_hint": "rust",
      "relevant_file_count": 48,
      "remote_url": "git@github.com:mbarbine/lettuce.git",
      "repo": "mbarbine__lettuce"
    },
    {
      "current_branch": "main",
      "current_commit": "388df8034952b2d087110794077bf4a815138b4c",
      "file_count": 19,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__mailthing",
      "primary_language_hint": "typescript",
      "relevant_file_count": 17,
      "remote_url": "git@github.com:mbarbine/mailthing.git",
      "repo": "mbarbine__mailthing"
    },
    {
      "current_branch": "main",
      "current_commit": "df0181d6c5874ef9683213b39619f272c5742ab2",
      "file_count": 45,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__mailthing-api",
      "primary_language_hint": "typescript",
      "relevant_file_count": 35,
      "remote_url": "git@github.com:mbarbine/mailthing-api.git",
      "repo": "mbarbine__mailthing-api"
    },
    {
      "current_branch": "main",
      "current_commit": "38c220bc48c81d576113e29e22f5384981a65e52",
      "file_count": 55,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__mailthing-client",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 41,
      "remote_url": "git@github.com:mbarbine/mailthing-client.git",
      "repo": "mbarbine__mailthing-client"
    },
    {
      "current_branch": "main",
      "current_commit": "37e969e415ee338476a47363cca20b4d4f48cf9d",
      "file_count": 129,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__mailthing-main",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 111,
      "remote_url": "git@github.com:mbarbine/mailthing-main.git",
      "repo": "mbarbine__mailthing-main"
    },
    {
      "current_branch": "main",
      "current_commit": "6de070250c14e3910aeb43878f500697eab225a8",
      "file_count": 77,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__mermaid-community-platform",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 63,
      "remote_url": "git@github.com:mbarbine/mermaid-community-platform.git",
      "repo": "mbarbine__mermaid-community-platform"
    },
    {
      "current_branch": "main",
      "current_commit": "468e7f9b33f157c37e063b96ba0d477cea3c0c4a",
      "file_count": 116,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "yarn",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__mermaid-next-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 48,
      "remote_url": "git@github.com:mbarbine/mermaid-next-www.git",
      "repo": "mbarbine__mermaid-next-www"
    },
    {
      "current_branch": "main",
      "current_commit": "2fc55cc3623dbcac82486865fc59375ad3522a7c",
      "file_count": 141,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__microwave-sticker-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 130,
      "remote_url": "git@github.com:mbarbine/microwave-sticker-webby.git",
      "repo": "mbarbine__microwave-sticker-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "a47ed97ccca09b91a32154532d6e0ebf2e3c5a5c",
      "file_count": 84,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__microwave-stickers-",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 70,
      "remote_url": "git@github.com:mbarbine/microwave-stickers-.git",
      "repo": "mbarbine__microwave-stickers-"
    },
    {
      "current_branch": "main",
      "current_commit": "bda855ebbf704648deff5b97ff09d760967074ae",
      "file_count": 22,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "go",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__msicrafter",
      "primary_language_hint": "go",
      "relevant_file_count": 17,
      "remote_url": "git@github.com:mbarbine/msicrafter.git",
      "repo": "mbarbine__msicrafter"
    },
    {
      "current_branch": "main",
      "current_commit": "3480267790ed916ed1294ab06d5451649de2bbec",
      "file_count": 109,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__multiplayer-puzzle-game",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 96,
      "remote_url": "git@github.com:mbarbine/multiplayer-puzzle-game.git",
      "repo": "mbarbine__multiplayer-puzzle-game"
    },
    {
      "current_branch": "main",
      "current_commit": "1d5914baef3dcd0b174cb586739135d9dc469b04",
      "file_count": 38,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__my-first-nova-hbackers-preseo",
      "primary_language_hint": "typescript",
      "relevant_file_count": 32,
      "remote_url": "git@github.com:mbarbine/my-first-nova-hbackers-preseo.git",
      "repo": "mbarbine__my-first-nova-hbackers-preseo"
    },
    {
      "current_branch": "main",
      "current_commit": "6888cdd709fe9055efa126f98ad7a40d8967067c",
      "file_count": 1626,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__n8n",
      "primary_language_hint": "vue",
      "relevant_file_count": 51,
      "remote_url": "git@github.com:mbarbine/n8n.git",
      "repo": "mbarbine__n8n"
    },
    {
      "current_branch": "main",
      "current_commit": "a01353a1b0eddda7101b5ed1b48d6c89ea9ccc25",
      "file_count": 159,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__news-api",
      "primary_language_hint": "svelte",
      "relevant_file_count": 109,
      "remote_url": "git@github.com:mbarbine/news-api.git",
      "repo": "mbarbine__news-api"
    },
    {
      "current_branch": "main",
      "current_commit": "305131e2c1619dd2fcf2d1b0421a92b89010eab7",
      "file_count": 140,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__nextjs-ai-4",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 124,
      "remote_url": "git@github.com:mbarbine/nextjs-ai-4.git",
      "repo": "mbarbine__nextjs-ai-4"
    },
    {
      "current_branch": "main",
      "current_commit": "dfc4f288a61d6c2f1dd32e02c35a52c3fd9d575d",
      "file_count": 128,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__nextjs-ai-chatbot",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 113,
      "remote_url": "git@github.com:mbarbine/nextjs-ai-chatbot.git",
      "repo": "mbarbine__nextjs-ai-chatbot"
    },
    {
      "current_branch": "main",
      "current_commit": "eda3a1869e53e7d4d3f1690690e972d9e7b94d5c",
      "file_count": 89,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__nova-hackers-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 79,
      "remote_url": "git@github.com:mbarbine/nova-hackers-webby.git",
      "repo": "mbarbine__nova-hackers-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "0e6d30fda3879c2d4f729d6bffbbeaea598ab8f1",
      "file_count": 76,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__nuclear-power-plant-webby-NPaaS",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 64,
      "remote_url": "git@github.com:mbarbine/nuclear-power-plant-webby-NPaaS.git",
      "repo": "mbarbine__nuclear-power-plant-webby-NPaaS"
    },
    {
      "current_branch": "main",
      "current_commit": "497e4f621238a799e8443406fb6bf4fc3dec6ba2",
      "file_count": 245,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__onboard-platphorm-boilerplate-repo",
      "primary_language_hint": "typescript",
      "relevant_file_count": 227,
      "remote_url": "git@github.com:mbarbine/onboard-platphorm-boilerplate-repo.git",
      "repo": "mbarbine__onboard-platphorm-boilerplate-repo"
    },
    {
      "current_branch": "main",
      "current_commit": "bb85616340b2a8e3931d0b7009dcb785f61b5248",
      "file_count": 58,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ph3ar-admin-dashboard",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 54,
      "remote_url": "git@github.com:mbarbine/ph3ar-admin-dashboard.git",
      "repo": "mbarbine__ph3ar-admin-dashboard"
    },
    {
      "current_branch": "main",
      "current_commit": "fdce595dc405ec31f131a814e68eaf08d978e4d7",
      "file_count": 134,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ph3ar-blog",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 88,
      "remote_url": "git@github.com:mbarbine/ph3ar-blog.git",
      "repo": "mbarbine__ph3ar-blog"
    },
    {
      "current_branch": "main",
      "current_commit": "2034051403cba2728e0233f28693b8331b553fa1",
      "file_count": 158,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ph3ar-chatbot",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 143,
      "remote_url": "git@github.com:mbarbine/ph3ar-chatbot.git",
      "repo": "mbarbine__ph3ar-chatbot"
    },
    {
      "current_branch": "main",
      "current_commit": "afe5aa015dfa3944ffafa1c6d4b7a3e0b4595ac8",
      "file_count": 49,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__ph3ar-web",
      "primary_language_hint": "javascript",
      "relevant_file_count": 25,
      "remote_url": "git@github.com:mbarbine/ph3ar-web.git",
      "repo": "mbarbine__ph3ar-web"
    },
    {
      "current_branch": "main",
      "current_commit": "caa7d96c158739a940ea24409b816d79db81a312",
      "file_count": 190,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-404",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 178,
      "remote_url": "git@github.com:mbarbine/platphorm-404.git",
      "repo": "mbarbine__platphorm-404"
    },
    {
      "current_branch": "main",
      "current_commit": "8a456c50d2bf876e1d642dfc8563a5401522582d",
      "file_count": 230,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-agentui",
      "primary_language_hint": "typescript",
      "relevant_file_count": 220,
      "remote_url": "git@github.com:mbarbine/platphorm-agentui.git",
      "repo": "mbarbine__platphorm-agentui"
    },
    {
      "current_branch": "main",
      "current_commit": "9af89410401113d092a35ea0ab511d90e80bdc48",
      "file_count": 91,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-ai-photo-enrichment",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 76,
      "remote_url": "git@github.com:mbarbine/platphorm-ai-photo-enrichment.git",
      "repo": "mbarbine__platphorm-ai-photo-enrichment"
    },
    {
      "current_branch": "main",
      "current_commit": "fd1b3258cdfee8cec4a75a3e11acba5d4147d536",
      "file_count": 138,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-alleycats",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 115,
      "remote_url": "git@github.com:mbarbine/platphorm-alleycats.git",
      "repo": "mbarbine__platphorm-alleycats"
    },
    {
      "current_branch": "main",
      "current_commit": "232ec7d23534e99f7030a3c3305e45ed46645435",
      "file_count": 161,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-ascii",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 145,
      "remote_url": "git@github.com:mbarbine/platphorm-ascii.git",
      "repo": "mbarbine__platphorm-ascii"
    },
    {
      "current_branch": "main",
      "current_commit": "d96969a28c7926986e003c2d9bbedd75feb5b3df",
      "file_count": 194,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-auction-vice",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 190,
      "remote_url": "git@github.com:mbarbine/platphorm-auction-vice.git",
      "repo": "mbarbine__platphorm-auction-vice"
    },
    {
      "current_branch": "main",
      "current_commit": "12b2a3c94afd165f0bbb7dd43cfccfc3df8588b4",
      "file_count": 201,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-base",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 190,
      "remote_url": "git@github.com:mbarbine/platphorm-base.git",
      "repo": "mbarbine__platphorm-base"
    },
    {
      "current_branch": "main",
      "current_commit": "56efde8b0a67391a46ab314aa1920b81df25e747",
      "file_count": 287,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-bbs",
      "primary_language_hint": "typescript",
      "relevant_file_count": 260,
      "remote_url": "git@github.com:mbarbine/platphorm-bbs.git",
      "repo": "mbarbine__platphorm-bbs"
    },
    {
      "current_branch": "main",
      "current_commit": "b29d28134826016857b1013f08f6ca00a6e16ee0",
      "file_count": 173,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-browserops",
      "primary_language_hint": "typescript",
      "relevant_file_count": 165,
      "remote_url": "git@github.com:mbarbine/platphorm-browserops.git",
      "repo": "mbarbine__platphorm-browserops"
    },
    {
      "current_branch": "master",
      "current_commit": "2ff890db8efa3ab084dd9e267cb0933713aa1d42",
      "file_count": 112,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-business-EmployerServicesIncorporated",
      "primary_language_hint": "python",
      "relevant_file_count": 71,
      "remote_url": "git@github.com:mbarbine/platphorm-business-EmployerServicesIncorporated.git",
      "repo": "mbarbine__platphorm-business-EmployerServicesIncorporated"
    },
    {
      "current_branch": "main",
      "current_commit": "7f0d7406d9e185d4af11e3abb256a6195366c2d1",
      "file_count": 225,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-cobol",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 214,
      "remote_url": "git@github.com:mbarbine/platphorm-cobol.git",
      "repo": "mbarbine__platphorm-cobol"
    },
    {
      "current_branch": "main",
      "current_commit": "03ad0b087d6b54191fdb69354e301f3edbfeaa1c",
      "file_count": 332,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-codex",
      "primary_language_hint": "typescript",
      "relevant_file_count": 241,
      "remote_url": "git@github.com:mbarbine/platphorm-codex.git",
      "repo": "mbarbine__platphorm-codex"
    },
    {
      "current_branch": "main",
      "current_commit": "7d4798edac0f007a82dc9dc384205131bd3165a6",
      "file_count": 273,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-content-showback-dashboard",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 241,
      "remote_url": "git@github.com:mbarbine/platphorm-content-showback-dashboard.git",
      "repo": "mbarbine__platphorm-content-showback-dashboard"
    },
    {
      "current_branch": "main",
      "current_commit": "0dfe2172bf750005fcdd0916662dca426abcf283",
      "file_count": 165,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-decks",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 150,
      "remote_url": "git@github.com:mbarbine/platphorm-decks.git",
      "repo": "mbarbine__platphorm-decks"
    },
    {
      "current_branch": "main",
      "current_commit": "43dd4496cff45f253ee2f319ab5b244bc989efbd",
      "file_count": 277,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-desa",
      "primary_language_hint": "typescript",
      "relevant_file_count": 262,
      "remote_url": "git@github.com:mbarbine/platphorm-desa.git",
      "repo": "mbarbine__platphorm-desa"
    },
    {
      "current_branch": "main",
      "current_commit": "1e26f65a0a93391e4683cd09d360fad5dad14b43",
      "file_count": 224,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-design",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 219,
      "remote_url": "git@github.com:mbarbine/platphorm-design.git",
      "repo": "mbarbine__platphorm-design"
    },
    {
      "current_branch": "main",
      "current_commit": "efb991cca0c3b6065b09666b654992a67f087f1e",
      "file_count": 158,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-dictionary",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 156,
      "remote_url": "git@github.com:mbarbine/platphorm-dictionary.git",
      "repo": "mbarbine__platphorm-dictionary"
    },
    {
      "current_branch": "main",
      "current_commit": "4ac7f72dcb87e3ea1a193f03ec6fe8bc3cdf1a04",
      "file_count": 225,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-emoji",
      "primary_language_hint": "typescript",
      "relevant_file_count": 213,
      "remote_url": "git@github.com:mbarbine/platphorm-emoji.git",
      "repo": "mbarbine__platphorm-emoji"
    },
    {
      "current_branch": "main",
      "current_commit": "b618d2145c8add64c313b46a1759b1e2cb380602",
      "file_count": 226,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-evals",
      "primary_language_hint": "typescript",
      "relevant_file_count": 216,
      "remote_url": "git@github.com:mbarbine/platphorm-evals.git",
      "repo": "mbarbine__platphorm-evals"
    },
    {
      "current_branch": "main",
      "current_commit": "d878f5ac6f1d8da15090f05fa865d0fa872cd56c",
      "file_count": 113,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-finance",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 101,
      "remote_url": "git@github.com:mbarbine/platphorm-finance.git",
      "repo": "mbarbine__platphorm-finance"
    },
    {
      "current_branch": "main",
      "current_commit": "b9f7c13a86fef100e31d311457a0bc57be547666",
      "file_count": 187,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-fingerprint-service",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 174,
      "remote_url": "git@github.com:mbarbine/platphorm-fingerprint-service.git",
      "repo": "mbarbine__platphorm-fingerprint-service"
    },
    {
      "current_branch": "main",
      "current_commit": "66529fdb53f16b87dd5bac679269dad347aaf7bd",
      "file_count": 459,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-insights",
      "primary_language_hint": "typescript",
      "relevant_file_count": 422,
      "remote_url": "git@github.com:mbarbine/platphorm-insights.git",
      "repo": "mbarbine__platphorm-insights"
    },
    {
      "current_branch": "main",
      "current_commit": "282a4863b7b4f71a07e71a3450bb83a7f3b298e7",
      "file_count": 221,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-jobs",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 207,
      "remote_url": "git@github.com:mbarbine/platphorm-jobs.git",
      "repo": "mbarbine__platphorm-jobs"
    },
    {
      "current_branch": "main",
      "current_commit": "d9c4cfc7c8714530f8fe35ebcaa715431de3801d",
      "file_count": 198,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-json",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 183,
      "remote_url": "git@github.com:mbarbine/platphorm-json.git",
      "repo": "mbarbine__platphorm-json"
    },
    {
      "current_branch": "main",
      "current_commit": "fa4706b84d3c99e3291a2116bec8795d120eec2d",
      "file_count": 292,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-jules",
      "primary_language_hint": "typescript",
      "relevant_file_count": 277,
      "remote_url": "git@github.com:mbarbine/platphorm-jules.git",
      "repo": "mbarbine__platphorm-jules"
    },
    {
      "current_branch": "main",
      "current_commit": "0b7f8d08a3979a71b0502ecc0a6f9a5055ddad9e",
      "file_count": 241,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-kanban",
      "primary_language_hint": "typescript",
      "relevant_file_count": 234,
      "remote_url": "git@github.com:mbarbine/platphorm-kanban.git",
      "repo": "mbarbine__platphorm-kanban"
    },
    {
      "current_branch": "main",
      "current_commit": "70203834d44473fd417cee32a783e95803909d6f",
      "file_count": 126,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-keys",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 124,
      "remote_url": "git@github.com:mbarbine/platphorm-keys.git",
      "repo": "mbarbine__platphorm-keys"
    },
    {
      "current_branch": "main",
      "current_commit": "0e8fe6cc6e3c5b00fdfc91f767c5f7a75624eba2",
      "file_count": 243,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-layout",
      "primary_language_hint": "typescript",
      "relevant_file_count": 232,
      "remote_url": "git@github.com:mbarbine/platphorm-layout.git",
      "repo": "mbarbine__platphorm-layout"
    },
    {
      "current_branch": "main",
      "current_commit": "4de6f64c68be693da5b369a9ae02cfa07ae4cb0f",
      "file_count": 383,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-mcp",
      "primary_language_hint": "typescript",
      "relevant_file_count": 366,
      "remote_url": "git@github.com:mbarbine/platphorm-mcp.git",
      "repo": "mbarbine__platphorm-mcp"
    },
    {
      "current_branch": "main",
      "current_commit": "15f0a887c966a41395a5129fd3119a3d65be408f",
      "file_count": 143,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-mini-games-webby",
      "primary_language_hint": "typescript",
      "relevant_file_count": 131,
      "remote_url": "git@github.com:mbarbine/platphorm-mini-games-webby.git",
      "repo": "mbarbine__platphorm-mini-games-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "5f5189f869a3d1ab9a797cabe93f6be388b05d33",
      "file_count": 268,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-monitor",
      "primary_language_hint": "typescript",
      "relevant_file_count": 257,
      "remote_url": "git@github.com:mbarbine/platphorm-monitor.git",
      "repo": "mbarbine__platphorm-monitor"
    },
    {
      "current_branch": "main",
      "current_commit": "b67bf8819f005a299658036ef23d3887327217e3",
      "file_count": 179,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-msi-editor",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 169,
      "remote_url": "git@github.com:mbarbine/platphorm-msi-editor.git",
      "repo": "mbarbine__platphorm-msi-editor"
    },
    {
      "current_branch": "main",
      "current_commit": "40ea87fb1b07308a4ce29b708eaf4ab9a6425075",
      "file_count": 77,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-newdittyswag-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 53,
      "remote_url": "git@github.com:mbarbine/platphorm-newdittyswag-www.git",
      "repo": "mbarbine__platphorm-newdittyswag-www"
    },
    {
      "current_branch": "main",
      "current_commit": "47eee5381404316a25a32cb62fcc3ed6058a14c5",
      "file_count": 100,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-news-alt-theme",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 72,
      "remote_url": "git@github.com:mbarbine/platphorm-news-alt-theme.git",
      "repo": "mbarbine__platphorm-news-alt-theme"
    },
    {
      "current_branch": "main",
      "current_commit": "c9f12029354611acfb888be21298db249e6581ec",
      "file_count": 214,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-onboard",
      "primary_language_hint": "typescript",
      "relevant_file_count": 209,
      "remote_url": "git@github.com:mbarbine/platphorm-onboard.git",
      "repo": "mbarbine__platphorm-onboard"
    },
    {
      "current_branch": "main",
      "current_commit": "ed8a5597b7f9ed05c89b85c072290f41f2dc7a0e",
      "file_count": 302,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-openclaw",
      "primary_language_hint": "typescript",
      "relevant_file_count": 281,
      "remote_url": "git@github.com:mbarbine/platphorm-openclaw.git",
      "repo": "mbarbine__platphorm-openclaw"
    },
    {
      "current_branch": "main",
      "current_commit": "9cc4c722d37dbe56580a227ba12b3fd41a99cfdf",
      "file_count": 384,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-opencontent",
      "primary_language_hint": "typescript",
      "relevant_file_count": 365,
      "remote_url": "git@github.com:mbarbine/platphorm-opencontent.git",
      "repo": "mbarbine__platphorm-opencontent"
    },
    {
      "current_branch": "main",
      "current_commit": "47a12744470e05352d983275c1a211b0535960e2",
      "file_count": 308,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-opendocs",
      "primary_language_hint": "typescript",
      "relevant_file_count": 289,
      "remote_url": "git@github.com:mbarbine/platphorm-opendocs.git",
      "repo": "mbarbine__platphorm-opendocs"
    },
    {
      "current_branch": "main",
      "current_commit": "52dcedb1306361fccb50c69c55f61ab472fb0928",
      "file_count": 84,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-paperboy",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 74,
      "remote_url": "git@github.com:mbarbine/platphorm-paperboy.git",
      "repo": "mbarbine__platphorm-paperboy"
    },
    {
      "current_branch": "main",
      "current_commit": "b489b909bb749007ebfe4eb8edd6442f718b91f1",
      "file_count": 1173,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-podcasts",
      "primary_language_hint": "javascript",
      "relevant_file_count": 848,
      "remote_url": "git@github.com:mbarbine/platphorm-podcasts.git",
      "repo": "mbarbine__platphorm-podcasts"
    },
    {
      "current_branch": "main",
      "current_commit": "5d5a1904fbfe235f4800341dbac14ad7ebe79b9e",
      "file_count": 94,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-politics",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 73,
      "remote_url": "git@github.com:mbarbine/platphorm-politics.git",
      "repo": "mbarbine__platphorm-politics"
    },
    {
      "current_branch": "main",
      "current_commit": "42f14d245bd9df8db8cb487b287f9526d2b46881",
      "file_count": 216,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-polymarket-rss-feed",
      "primary_language_hint": "typescript",
      "relevant_file_count": 199,
      "remote_url": "git@github.com:mbarbine/platphorm-polymarket-rss-feed.git",
      "repo": "mbarbine__platphorm-polymarket-rss-feed"
    },
    {
      "current_branch": "main",
      "current_commit": "a079c332d98d4e46629e9fd0265240e2b90c135b",
      "file_count": 264,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-polymaths",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 230,
      "remote_url": "git@github.com:mbarbine/platphorm-polymaths.git",
      "repo": "mbarbine__platphorm-polymaths"
    },
    {
      "current_branch": "main",
      "current_commit": "9b7e0207a38b0cb2037483304478f08c4c5d802c",
      "file_count": 95,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-portfolio-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 35,
      "remote_url": "git@github.com:mbarbine/platphorm-portfolio-webby.git",
      "repo": "mbarbine__platphorm-portfolio-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "c64073798a4f40535840546667e11536a5fbb319",
      "file_count": 332,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-quake",
      "primary_language_hint": "typescript",
      "relevant_file_count": 318,
      "remote_url": "git@github.com:mbarbine/platphorm-quake.git",
      "repo": "mbarbine__platphorm-quake"
    },
    {
      "current_branch": "main",
      "current_commit": "cfcea9eb7378ec7caae23305e95d9def88d654be",
      "file_count": 61,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-radio-backend",
      "primary_language_hint": "typescript",
      "relevant_file_count": 51,
      "remote_url": "git@github.com:mbarbine/platphorm-radio-backend.git",
      "repo": "mbarbine__platphorm-radio-backend"
    },
    {
      "current_branch": "main",
      "current_commit": "57ce57bff659a3f0498093bda4723619c38eb65c",
      "file_count": 183,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-reader",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 180,
      "remote_url": "git@github.com:mbarbine/platphorm-reader.git",
      "repo": "mbarbine__platphorm-reader"
    },
    {
      "current_branch": "main",
      "current_commit": "6bab4bb63675cd80a4f9b4ab51eaa750207a40d6",
      "file_count": 96,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-real-estate",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 82,
      "remote_url": "git@github.com:mbarbine/platphorm-real-estate.git",
      "repo": "mbarbine__platphorm-real-estate"
    },
    {
      "current_branch": "main",
      "current_commit": "dc28e1e483aaf7e4f156db52515254d8f120719d",
      "file_count": 252,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-real-estate-NAD",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 188,
      "remote_url": "git@github.com:mbarbine/platphorm-real-estate-NAD.git",
      "repo": "mbarbine__platphorm-real-estate-NAD"
    },
    {
      "current_branch": "main",
      "current_commit": "cfea24f41d75e24470669cff0d360d90612b2322",
      "file_count": 99,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-real-estate-property-evaluation",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 74,
      "remote_url": "git@github.com:mbarbine/platphorm-real-estate-property-evaluation.git",
      "repo": "mbarbine__platphorm-real-estate-property-evaluation"
    },
    {
      "current_branch": "main",
      "current_commit": "1a1501fde647fc53ca44c1bc4091807c9b76001a",
      "file_count": 117,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-redteam-arma-landing",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 106,
      "remote_url": "git@github.com:mbarbine/platphorm-redteam-arma-landing.git",
      "repo": "mbarbine__platphorm-redteam-arma-landing"
    },
    {
      "current_branch": "main",
      "current_commit": "86d4ca654a76db17ab5d4a5d118d337f11703519",
      "file_count": 137,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-register",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 122,
      "remote_url": "git@github.com:mbarbine/platphorm-register.git",
      "repo": "mbarbine__platphorm-register"
    },
    {
      "current_branch": "main",
      "current_commit": "d7235acccd0cc3da90372548937d13865fc9164d",
      "file_count": 205,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-sandbox",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 185,
      "remote_url": "git@github.com:mbarbine/platphorm-sandbox.git",
      "repo": "mbarbine__platphorm-sandbox"
    },
    {
      "current_branch": "main",
      "current_commit": "ed28c46cb56017ea34372b33b7d40953bd826bff",
      "file_count": 175,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-sheets",
      "primary_language_hint": "typescript",
      "relevant_file_count": 165,
      "remote_url": "git@github.com:mbarbine/platphorm-sheets.git",
      "repo": "mbarbine__platphorm-sheets"
    },
    {
      "current_branch": "main",
      "current_commit": "168d184a37be601e369cb67c0007b72e3086f0bd",
      "file_count": 248,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-shipments",
      "primary_language_hint": "typescript",
      "relevant_file_count": 242,
      "remote_url": "git@github.com:mbarbine/platphorm-shipments.git",
      "repo": "mbarbine__platphorm-shipments"
    },
    {
      "current_branch": "main",
      "current_commit": "6e14f79c8020c645ee8220b25decd5279e982014",
      "file_count": 147,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-signs",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 118,
      "remote_url": "git@github.com:mbarbine/platphorm-signs.git",
      "repo": "mbarbine__platphorm-signs"
    },
    {
      "current_branch": "main",
      "current_commit": "edbf03adc05765095802b6b43a61690b89bbf750",
      "file_count": 174,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-space-news",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 168,
      "remote_url": "git@github.com:mbarbine/platphorm-space-news.git",
      "repo": "mbarbine__platphorm-space-news"
    },
    {
      "current_branch": "main",
      "current_commit": "92129356f0a519b6096f50d1564cba653bc0e527",
      "file_count": 252,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-spec-workbench",
      "primary_language_hint": "typescript",
      "relevant_file_count": 238,
      "remote_url": "git@github.com:mbarbine/platphorm-spec-workbench.git",
      "repo": "mbarbine__platphorm-spec-workbench"
    },
    {
      "current_branch": "main",
      "current_commit": "4f89f1b0a5b9d945d303c3dcd9281cb21dc3fba0",
      "file_count": 117,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-stannp-api-wrapper",
      "primary_language_hint": "typescript",
      "relevant_file_count": 102,
      "remote_url": "git@github.com:mbarbine/platphorm-stannp-api-wrapper.git",
      "repo": "mbarbine__platphorm-stannp-api-wrapper"
    },
    {
      "current_branch": "main",
      "current_commit": "7af677a37496a920ddda2d5288741ce887173d14",
      "file_count": 176,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-svg-factory",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 164,
      "remote_url": "git@github.com:mbarbine/platphorm-svg-factory.git",
      "repo": "mbarbine__platphorm-svg-factory"
    },
    {
      "current_branch": "main",
      "current_commit": "3d1460bc4cdaee6716fe3df539950c44b8c43f19",
      "file_count": 386,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-trace",
      "primary_language_hint": "typescript",
      "relevant_file_count": 362,
      "remote_url": "git@github.com:mbarbine/platphorm-trace.git",
      "repo": "mbarbine__platphorm-trace"
    },
    {
      "current_branch": "main",
      "current_commit": "913cc4a738bebf83e56c5821e8edf619bc932864",
      "file_count": 199,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-usl",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 179,
      "remote_url": "git@github.com:mbarbine/platphorm-usl.git",
      "repo": "mbarbine__platphorm-usl"
    },
    {
      "current_branch": "main",
      "current_commit": "7b45757063fdc35d385de12c44d084a43132a5b0",
      "file_count": 317,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-vercel-atlas",
      "primary_language_hint": "typescript",
      "relevant_file_count": 286,
      "remote_url": "git@github.com:mbarbine/platphorm-vercel-atlas.git",
      "repo": "mbarbine__platphorm-vercel-atlas"
    },
    {
      "current_branch": "main",
      "current_commit": "ef154719aa100f5572d23a0c2842ae4523e33f2f",
      "file_count": 190,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-webhook-simulator",
      "primary_language_hint": "typescript",
      "relevant_file_count": 182,
      "remote_url": "git@github.com:mbarbine/platphorm-webhook-simulator.git",
      "repo": "mbarbine__platphorm-webhook-simulator"
    },
    {
      "current_branch": "main",
      "current_commit": "b8a2bbe873f4b965fbd43116d7a08f090d0a8819",
      "file_count": 115,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-wrestling-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 89,
      "remote_url": "git@github.com:mbarbine/platphorm-wrestling-webby.git",
      "repo": "mbarbine__platphorm-wrestling-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "90df81b6253ef00efc6ae91a9cd8294d14f8a2ab",
      "file_count": 180,
      "has_dockerfile": true,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-xml",
      "primary_language_hint": "typescript",
      "relevant_file_count": 170,
      "remote_url": "git@github.com:mbarbine/platphorm-xml.git",
      "repo": "mbarbine__platphorm-xml"
    },
    {
      "current_branch": "main",
      "current_commit": "d107f018bd233864dffd35dbe521d3bfafc03abf",
      "file_count": 161,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-zine-reader",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 127,
      "remote_url": "git@github.com:mbarbine/platphorm-zine-reader.git",
      "repo": "mbarbine__platphorm-zine-reader"
    },
    {
      "current_branch": "main",
      "current_commit": "60f92879d055e42c30b8592074cf02f5fbd26498",
      "file_count": 229,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphormnews-www-prod",
      "primary_language_hint": "typescript",
      "relevant_file_count": 205,
      "remote_url": "git@github.com:mbarbine/platphormnews-www-prod.git",
      "repo": "mbarbine__platphormnews-www-prod"
    },
    {
      "current_branch": "main",
      "current_commit": "ab98b3c96373b445cb07a55ea956234150f95b1a",
      "file_count": 290,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__process-clone",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 264,
      "remote_url": "git@github.com:mbarbine/process-clone.git",
      "repo": "mbarbine__process-clone"
    },
    {
      "current_branch": "main",
      "current_commit": "3d66e5bf6a7a45f5f7da3e323c709185d14899be",
      "file_count": 75,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__reflux-site-webby",
      "primary_language_hint": "typescript",
      "relevant_file_count": 66,
      "remote_url": "git@github.com:mbarbine/reflux-site-webby.git",
      "repo": "mbarbine__reflux-site-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "c2fd0a619c468b4d6b0c41ed43bc5ce94414d3c0",
      "file_count": 130,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__robbie-ds-greens-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 105,
      "remote_url": "git@github.com:mbarbine/robbie-ds-greens-webby.git",
      "repo": "mbarbine__robbie-ds-greens-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "bd57b84ca550c3b2cb430499940bf9527e2e7b34",
      "file_count": 119,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__robot-clothing-marketplace",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 102,
      "remote_url": "git@github.com:mbarbine/robot-clothing-marketplace.git",
      "repo": "mbarbine__robot-clothing-marketplace"
    },
    {
      "current_branch": "main",
      "current_commit": "1ad196630427c310b68d28d8e7cff9eefe326793",
      "file_count": 88,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__scratchcraft",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 82,
      "remote_url": "git@github.com:mbarbine/scratchcraft.git",
      "repo": "mbarbine__scratchcraft"
    },
    {
      "current_branch": "main",
      "current_commit": "4bbb7933ae7b29761890eea5f1ad5b27299db5d9",
      "file_count": 46,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__shopify-theme-vanagain",
      "primary_language_hint": "python",
      "relevant_file_count": 19,
      "remote_url": "git@github.com:mbarbine/shopify-theme-vanagain.git",
      "repo": "mbarbine__shopify-theme-vanagain"
    },
    {
      "current_branch": "main",
      "current_commit": "228a1861f672e1241a3ff7fd8319a2eca60b15aa",
      "file_count": 120,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__spectrum-canine-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 110,
      "remote_url": "git@github.com:mbarbine/spectrum-canine-www.git",
      "repo": "mbarbine__spectrum-canine-www"
    },
    {
      "current_branch": "main",
      "current_commit": "094553cd9559943789ac8bead63f45f5fe586e26",
      "file_count": 114,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__stannp-gpt-5-test",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 102,
      "remote_url": "git@github.com:mbarbine/stannp-gpt-5-test.git",
      "repo": "mbarbine__stannp-gpt-5-test"
    },
    {
      "current_branch": "main",
      "current_commit": "a89b715c0732fcfbdb8d0d39bdb1db533faf5548",
      "file_count": 52,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__stannp-nextjs-bp",
      "primary_language_hint": "typescript",
      "relevant_file_count": 44,
      "remote_url": "git@github.com:mbarbine/stannp-nextjs-bp.git",
      "repo": "mbarbine__stannp-nextjs-bp"
    },
    {
      "current_branch": "main",
      "current_commit": "c7df27714b5ccecede32cb416f0ccd61c7fadca4",
      "file_count": 107,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__starphone-fork-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 94,
      "remote_url": "git@github.com:mbarbine/starphone-fork-webby.git",
      "repo": "mbarbine__starphone-fork-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "5ab3f5ddcc592ee5c16156a50b848853a294f2b1",
      "file_count": 257,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__starphone-web-svelte",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 85,
      "remote_url": "git@github.com:mbarbine/starphone-web-svelte.git",
      "repo": "mbarbine__starphone-web-svelte"
    },
    {
      "current_branch": "main",
      "current_commit": "484f300231f03c63a1dda2ef8257cb1264ffaa11",
      "file_count": 130,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__stripper-mug-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 105,
      "remote_url": "git@github.com:mbarbine/stripper-mug-webby.git",
      "repo": "mbarbine__stripper-mug-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "26afbea2b7c5d9b9a5e8836fada72cef7ef54c79",
      "file_count": 144,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__threatrelay-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 116,
      "remote_url": "git@github.com:mbarbine/threatrelay-webby.git",
      "repo": "mbarbine__threatrelay-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "b245d5f0e279fe669038bbfb6415d9015096b383",
      "file_count": 87,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__tiktok-clone",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 81,
      "remote_url": "git@github.com:mbarbine/tiktok-clone.git",
      "repo": "mbarbine__tiktok-clone"
    },
    {
      "current_branch": "main",
      "current_commit": "5a182a9a47d3ebdf40b962de3aaa023a0958dd91",
      "file_count": 3,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__tools",
      "primary_language_hint": "unknown",
      "relevant_file_count": 2,
      "remote_url": "git@github.com:mbarbine/tools.git",
      "repo": "mbarbine__tools"
    },
    {
      "current_branch": "main",
      "current_commit": "e95122d8f76d034dad9b17c5ddd780e46100cb52",
      "file_count": 41,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "yarn",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__turborepo-react-native",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 32,
      "remote_url": "git@github.com:mbarbine/turborepo-react-native.git",
      "repo": "mbarbine__turborepo-react-native"
    },
    {
      "current_branch": "main",
      "current_commit": "5af19c3835522541ce930870c351a62f06a71fa5",
      "file_count": 91,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__two-doller-web",
      "primary_language_hint": "typescript",
      "relevant_file_count": 71,
      "remote_url": "git@github.com:mbarbine/two-doller-web.git",
      "repo": "mbarbine__two-doller-web"
    },
    {
      "current_branch": "main",
      "current_commit": "9b16e515596d5f577aa35bcc51be75430e6d9b29",
      "file_count": 22,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__uberpidgeons",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 15,
      "remote_url": "git@github.com:mbarbine/uberpidgeons.git",
      "repo": "mbarbine__uberpidgeons"
    },
    {
      "current_branch": "main",
      "current_commit": "204c847c665a4442a6305537358e3b31111a55ca",
      "file_count": 17,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__uberpidgeons-www",
      "primary_language_hint": ".mjs",
      "relevant_file_count": 10,
      "remote_url": "git@github.com:mbarbine/uberpidgeons-www.git",
      "repo": "mbarbine__uberpidgeons-www"
    },
    {
      "current_branch": "main",
      "current_commit": "72e24abcbb5336371d0781ea5658812980d0c06a",
      "file_count": 28,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__v0-2025-year-in-review",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 18,
      "remote_url": "git@github.com:mbarbine/v0-2025-year-in-review.git",
      "repo": "mbarbine__v0-2025-year-in-review"
    },
    {
      "current_branch": "palette-empty-repo-2946181691523846823",
      "current_commit": "15d357d7f57b0d6c5a1e74366c275319d070f7f2",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__v0-fortune-cookie-webby",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:mbarbine/v0-fortune-cookie-webby.git",
      "repo": "mbarbine__v0-fortune-cookie-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__v0-fortune-cookie-windshield",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:mbarbine/v0-fortune-cookie-windshield.git",
      "repo": "mbarbine__v0-fortune-cookie-windshield"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__v0-fortune-cookie-windshield-5g",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:mbarbine/v0-fortune-cookie-windshield-5g.git",
      "repo": "mbarbine__v0-fortune-cookie-windshield-5g"
    },
    {
      "current_branch": "bolt/init-journal-13290769062084689265",
      "current_commit": "1c5286719a678ed474dc85f60b68ed16a82e2839",
      "file_count": 1,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__v0-fortune-cookie-windshield-75",
      "primary_language_hint": "unknown",
      "relevant_file_count": 1,
      "remote_url": "git@github.com:mbarbine/v0-fortune-cookie-windshield-75.git",
      "repo": "mbarbine__v0-fortune-cookie-windshield-75"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__v0-fortune-cookie-windshield-pz",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:mbarbine/v0-fortune-cookie-windshield-pz.git",
      "repo": "mbarbine__v0-fortune-cookie-windshield-pz"
    },
    {
      "current_branch": "main",
      "current_commit": "c1a6ab0c4e4098e1364515d25e569a307328b38d",
      "file_count": 114,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__vanagain-2025",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 94,
      "remote_url": "git@github.com:mbarbine/vanagain-2025.git",
      "repo": "mbarbine__vanagain-2025"
    },
    {
      "current_branch": "main",
      "current_commit": "874d256409499fe225bbefa8008438def7a53ba9",
      "file_count": 1163,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__vanagain-dot-com-prod",
      "primary_language_hint": "typescript",
      "relevant_file_count": 577,
      "remote_url": "git@github.com:mbarbine/vanagain-dot-com-prod.git",
      "repo": "mbarbine__vanagain-dot-com-prod"
    },
    {
      "current_branch": "master",
      "current_commit": "a8221938e4e3cc5861e0fe490eafe0930234c832",
      "file_count": 5493,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__vanagain-site",
      "primary_language_hint": "javascript",
      "relevant_file_count": 1559,
      "remote_url": "git@github.com:mbarbine/vanagain-site.git",
      "repo": "mbarbine__vanagain-site"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__vanagain_dot_com",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:mbarbine/vanagain_dot_com.git",
      "repo": "mbarbine__vanagain_dot_com"
    },
    {
      "current_branch": "main",
      "current_commit": "a9f2d52ffe1eef2b59b1cb79133c7497c4f39afd",
      "file_count": 114,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__vanagon-website",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 100,
      "remote_url": "git@github.com:mbarbine/vanagon-website.git",
      "repo": "mbarbine__vanagon-website"
    },
    {
      "current_branch": "main",
      "current_commit": "eb4633b16163add07e1ec212706113d6b212ca55",
      "file_count": 139,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__vanlife-website",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 127,
      "remote_url": "git@github.com:mbarbine/vanlife-website.git",
      "repo": "mbarbine__vanlife-website"
    },
    {
      "current_branch": "main",
      "current_commit": "55e1d60ca63bc6dc6d3b13db8167d0bd60465d2c",
      "file_count": 197,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__wildduck",
      "primary_language_hint": "javascript",
      "relevant_file_count": 109,
      "remote_url": "git@github.com:mbarbine/wildduck.git",
      "repo": "mbarbine__wildduck"
    },
    {
      "current_branch": "main",
      "current_commit": "c5017b57a249f81a6e67deff9f62784b824d52ef",
      "file_count": 87,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__www-demo-biofeedback-app-development",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 76,
      "remote_url": "git@github.com:mbarbine/www-demo-biofeedback-app-development.git",
      "repo": "mbarbine__www-demo-biofeedback-app-development"
    },
    {
      "current_branch": "main",
      "current_commit": "f4da427a745dcf227931b293bfcb69ad5499b27f",
      "file_count": 1585,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "python",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__xsociety",
      "primary_language_hint": "javascript",
      "relevant_file_count": 616,
      "remote_url": "git@github.com:mbarbine/xsociety.git",
      "repo": "mbarbine__xsociety"
    },
    {
      "current_branch": "master",
      "current_commit": "c77abc62ab075ef9d9db1c8b0aa16c7ce67fc69f",
      "file_count": 20911,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__zornixOS",
      "primary_language_hint": "python",
      "relevant_file_count": 307,
      "remote_url": "git@github.com:mbarbine/zornixOS.git",
      "repo": "mbarbine__zornixOS"
    },
    {
      "current_branch": "main",
      "current_commit": "43a00e49965de71ccbc2922bd1f7015ccd09122f",
      "file_count": 33,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__DeskThing-FortuneCookie",
      "primary_language_hint": "typescript",
      "relevant_file_count": 28,
      "remote_url": "git@github.com:ph3ar/DeskThing-FortuneCookie.git",
      "repo": "ph3ar__DeskThing-FortuneCookie"
    },
    {
      "current_branch": "main",
      "current_commit": "e573bc11c7517cb0337100ac7d08f935c261812e",
      "file_count": 29,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__barbine-worldwide-legacy",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 24,
      "remote_url": "git@github.com:ph3ar/barbine-worldwide-legacy.git",
      "repo": "ph3ar__barbine-worldwide-legacy"
    },
    {
      "current_branch": "main",
      "current_commit": "af86e0877a79417c94b34f65438805da118b9606",
      "file_count": 3,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__demo-repository",
      "primary_language_hint": "unknown",
      "relevant_file_count": 2,
      "remote_url": "git@github.com:ph3ar/demo-repository.git",
      "repo": "ph3ar__demo-repository"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__fortune-cookie-webby",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:ph3ar/fortune-cookie-webby.git",
      "repo": "ph3ar__fortune-cookie-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "a555c63dc6e81d5ee56df3799cfb374f1eb4bc1c",
      "file_count": 4,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__hope-auto-checkin",
      "primary_language_hint": "javascript",
      "relevant_file_count": 3,
      "remote_url": "git@github.com:ph3ar/hope-auto-checkin.git",
      "repo": "ph3ar__hope-auto-checkin"
    },
    {
      "current_branch": "master",
      "current_commit": "00c9caa4572195dc3424e5ebdf530e168e3c3cb3",
      "file_count": 89,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__js_mongo_app_boilerplate",
      "primary_language_hint": "javascript",
      "relevant_file_count": 42,
      "remote_url": "git@github.com:ph3ar/js_mongo_app_boilerplate.git",
      "repo": "ph3ar__js_mongo_app_boilerplate"
    },
    {
      "current_branch": "main",
      "current_commit": "f7e8990688ed82de8ed8e893993988db36ee1622",
      "file_count": 131,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "npm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__mailthing-webby",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 103,
      "remote_url": "git@github.com:ph3ar/mailthing-webby.git",
      "repo": "ph3ar__mailthing-webby"
    },
    {
      "current_branch": "main",
      "current_commit": "ad1030c817cefefef8a406ad9a4e4a61c97b0bfe",
      "file_count": 15,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__mermaid-www",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 13,
      "remote_url": "git@github.com:ph3ar/mermaid-www.git",
      "repo": "ph3ar__mermaid-www"
    },
    {
      "current_branch": "main",
      "current_commit": "71a14b131ecc28b6122acc91c7aba137818e0c9d",
      "file_count": 41,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__newdittyswag-commerce",
      "primary_language_hint": "svelte",
      "relevant_file_count": 34,
      "remote_url": "git@github.com:ph3ar/newdittyswag-commerce.git",
      "repo": "ph3ar__newdittyswag-commerce"
    },
    {
      "current_branch": "main",
      "current_commit": "90c8fbc07e9003f87affac33e45742bace6b583a",
      "file_count": 155,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__ph3ar-docs-enhanced-labs",
      "primary_language_hint": "javascript",
      "relevant_file_count": 134,
      "remote_url": "git@github.com:ph3ar/ph3ar-docs-enhanced-labs.git",
      "repo": "ph3ar__ph3ar-docs-enhanced-labs"
    },
    {
      "current_branch": "main",
      "current_commit": "d5b42b3bc0fe89b018df01a74976759eac5bb3ae",
      "file_count": 424,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__ph3ar_radio_backend",
      "primary_language_hint": "typescript",
      "relevant_file_count": 73,
      "remote_url": "git@github.com:ph3ar/ph3ar_radio_backend.git",
      "repo": "ph3ar__ph3ar_radio_backend"
    },
    {
      "current_branch": "main",
      "current_commit": "a28332c7833758213c14ccebc7129471de494d67",
      "file_count": 58,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__platphorm-admin-dashboard",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 53,
      "remote_url": "git@github.com:ph3ar/platphorm-admin-dashboard.git",
      "repo": "ph3ar__platphorm-admin-dashboard"
    },
    {
      "current_branch": "main",
      "current_commit": "aea5d02efed9792cdb7bbdf4d1b46065ebfc1aa5",
      "file_count": 50,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": true,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__radio-backend",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 31,
      "remote_url": "git@github.com:ph3ar/radio-backend.git",
      "repo": "ph3ar__radio-backend"
    },
    {
      "current_branch": "main",
      "current_commit": "86dad8f76a82a54b5d460405066ce38ed4209003",
      "file_count": 8,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__renegade-bbs-docker",
      "primary_language_hint": "unknown",
      "relevant_file_count": 6,
      "remote_url": "git@github.com:ph3ar/renegade-bbs-docker.git",
      "repo": "ph3ar__renegade-bbs-docker"
    },
    {
      "current_branch": "main",
      "current_commit": "a957d1f1b2a8f074b01dec71e76a3512130ab93e",
      "file_count": 99,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__stripe-subscription-starter",
      "primary_language_hint": "typescript",
      "relevant_file_count": 79,
      "remote_url": "git@github.com:ph3ar/stripe-subscription-starter.git",
      "repo": "ph3ar__stripe-subscription-starter"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__v0-fortune-cookie-windshield",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:ph3ar/v0-fortune-cookie-windshield.git",
      "repo": "ph3ar__v0-fortune-cookie-windshield"
    },
    {
      "current_branch": "main",
      "current_commit": "",
      "file_count": 0,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__v0-fortune-cookie-windshield-gf",
      "primary_language_hint": "unknown",
      "relevant_file_count": 0,
      "remote_url": "git@github.com:ph3ar/v0-fortune-cookie-windshield-gf.git",
      "repo": "ph3ar__v0-fortune-cookie-windshield-gf"
    },
    {
      "current_branch": "master",
      "current_commit": "b573288b000f9dafccc12eb93bc6187bf54cef94",
      "file_count": 57,
      "has_dockerfile": true,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": true,
      "package_manager": "pnpm",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/ph3ar__www_js_terminal",
      "primary_language_hint": "javascript",
      "relevant_file_count": 35,
      "remote_url": "git@github.com:ph3ar/www_js_terminal.git",
      "repo": "ph3ar__www_js_terminal"
    },
    {
      "current_branch": "main",
      "current_commit": "d89e96b09e7abfe568694d804aaf8faf26df70d2",
      "file_count": 2,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-charts__.github",
      "primary_language_hint": "unknown",
      "relevant_file_count": 1,
      "remote_url": "git@github.com:process-charts/.github.git",
      "repo": "process-charts__.github"
    },
    {
      "current_branch": "main",
      "current_commit": "a112992d1ffb84d036c7be54401b4b9743f8046f",
      "file_count": 2,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__.github",
      "primary_language_hint": "unknown",
      "relevant_file_count": 1,
      "remote_url": "git@github.com:process-co/.github.git",
      "repo": "process-co__.github"
    },
    {
      "current_branch": "main",
      "current_commit": "46821c36fa06bcc48669eaa8f999f1f34c83fce4",
      "file_count": 61,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": true,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__json-graph",
      "primary_language_hint": "typescript",
      "relevant_file_count": 61,
      "remote_url": "git@github.com:process-co/json-graph.git",
      "repo": "process-co__json-graph"
    },
    {
      "current_branch": "main",
      "current_commit": "0895273e34500965b85ac60b077789330c41ec8a",
      "file_count": 17,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__npm-element-dev-server",
      "primary_language_hint": "typescript-react",
      "relevant_file_count": 14,
      "remote_url": "git@github.com:process-co/npm-element-dev-server.git",
      "repo": "process-co__npm-element-dev-server"
    },
    {
      "current_branch": "main",
      "current_commit": "5c992a37012a776bdf8c3d29663911916f4a5117",
      "file_count": 6,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__npm-element-dev-support",
      "primary_language_hint": "typescript",
      "relevant_file_count": 5,
      "remote_url": "git@github.com:process-co/npm-element-dev-support.git",
      "repo": "process-co__npm-element-dev-support"
    },
    {
      "current_branch": "main",
      "current_commit": "ea415ca15081248de90cfde4839c87b6a47d9d21",
      "file_count": 13,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__npm-element-types",
      "primary_language_hint": "typescript",
      "relevant_file_count": 12,
      "remote_url": "git@github.com:process-co/npm-element-types.git",
      "repo": "process-co__npm-element-types"
    },
    {
      "current_branch": "main",
      "current_commit": "d101f4032f5101ac0ec35dafd2c6aa40c439daf2",
      "file_count": 5,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__npm-utilities",
      "primary_language_hint": "typescript",
      "relevant_file_count": 3,
      "remote_url": "git@github.com:process-co/npm-utilities.git",
      "repo": "process-co__npm-utilities"
    },
    {
      "current_branch": "main",
      "current_commit": "2fea96204c441fdf7bc0c86e9a3b2b26050d4c2f",
      "file_count": 5,
      "has_dockerfile": false,
      "has_github_workflows": true,
      "has_next_config": false,
      "has_package_json": true,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-co__ui",
      "primary_language_hint": "typescript",
      "relevant_file_count": 4,
      "remote_url": "git@github.com:process-co/ui.git",
      "repo": "process-co__ui"
    },
    {
      "current_branch": "main",
      "current_commit": "1b64b82691b5546e60581e1238ddd29c6052ac83",
      "file_count": 1,
      "has_dockerfile": false,
      "has_github_workflows": false,
      "has_next_config": false,
      "has_package_json": false,
      "has_tests": false,
      "has_vercel_config": false,
      "package_manager": "unknown",
      "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/process-partners__.github",
      "primary_language_hint": "unknown",
      "relevant_file_count": 1,
      "remote_url": "git@github.com:process-partners/.github.git",
      "repo": "process-partners__.github"
    }
  ],
  "shared_library_candidates": [
    {
      "candidate_name": "readme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__JenkinsDB, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__Scripts, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__aws-lab, mbarbine__aws-next-k8-cluster-deploy, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beepboopprocess, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__car-service-records, mbarbine__cdf-sanitize, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__docker-terraform-aws-demo, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__email-reading-service-webby, mbarbine__evernote-js, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__foxio-labs, mbarbine__front-runners-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__instant-snap-postcard, mbarbine__ja4-sidecar, mbarbine__ja4-vercel-lab-2, mbarbine__ja4mlab",
      "file_count": 337,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 165 repositories and 337 files.",
      "repo_count": 165,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "package",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby",
      "file_count": 138,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "high",
      "rationale": "observability-module classified as observability with reuse potential across 138 repositories and 138 files.",
      "repo_count": 138,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "button",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby",
      "file_count": 145,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 136 repositories and 145 files.",
      "repo_count": 136,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__legacy-platphorm-news, mbarbine__lettuce, mbarbine__mailthing-main, mbarbine__mermaid-community-platform",
      "file_count": 181,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "utility classified as logic with reuse potential across 135 repositories and 181 files.",
      "repo_count": 135,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "card",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby",
      "file_count": 130,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 126 repositories and 130 files.",
      "repo_count": 126,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "route",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__job-manager, mbarbine__mailthing-api, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__my-first-nova-hbackers-preseo, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404",
      "file_count": 2941,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "api-route classified as backend with reuse potential across 125 repositories and 2941 files.",
      "repo_count": 125,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "theme-provider",
      "component_kind": "ui-provider",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4",
      "file_count": 132,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "ui-provider classified as frontend with reuse potential across 124 repositories and 132 files.",
      "repo_count": 124,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "input",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__mailthing-main, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS",
      "file_count": 125,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 120 repositories and 125 files.",
      "repo_count": 120,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "badge",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dinoblocks-www, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-agentui",
      "file_count": 119,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 115 repositories and 119 files.",
      "repo_count": 115,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "select",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base",
      "file_count": 107,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 103 repositories and 107 files.",
      "repo_count": 103,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "label",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base",
      "file_count": 106,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 103 repositories and 106 files.",
      "repo_count": 103,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "textarea",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__jaydens-therapy-legal-www, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii",
      "file_count": 106,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 103 repositories and 106 files.",
      "repo_count": 103,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "tooltip",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbine-worldwide-2025-wwww, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__my-first-nova-hbackers-preseo, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol",
      "file_count": 104,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 101 repositories and 104 files.",
      "repo_count": 101,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "dropdown-menu",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex",
      "file_count": 98,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 96 repositories and 98 files.",
      "repo_count": 96,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "tabs",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks",
      "file_count": 97,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 95 repositories and 97 files.",
      "repo_count": 95,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "separator",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa",
      "file_count": 96,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 94 repositories and 96 files.",
      "repo_count": 94,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "alert",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji",
      "file_count": 95,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 92 repositories and 95 files.",
      "repo_count": 92,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "toast",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa",
      "file_count": 95,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 92 repositories and 95 files.",
      "repo_count": 92,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "sheet",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa",
      "file_count": 94,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 92 repositories and 94 files.",
      "repo_count": 92,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "skeleton",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji",
      "file_count": 93,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 91 repositories and 93 files.",
      "repo_count": 91,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "dialog",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gamer, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa",
      "file_count": 94,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 90 repositories and 94 files.",
      "repo_count": 90,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "avatar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__doflo-clone, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design",
      "file_count": 90,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 88 repositories and 90 files.",
      "repo_count": 88,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "progress",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__msicrafter, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design",
      "file_count": 89,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 87 repositories and 89 files.",
      "repo_count": 87,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "switch",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance",
      "file_count": 89,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 87 repositories and 89 files.",
      "repo_count": 87,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "table",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji",
      "file_count": 89,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 87 repositories and 89 files.",
      "repo_count": 87,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "accordion",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary",
      "file_count": 88,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 86 repositories and 88 files.",
      "repo_count": 86,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "checkbox",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mermaid-community-platform, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary",
      "file_count": 88,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 86 repositories and 88 files.",
      "repo_count": 86,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "slider",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 87,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 85 repositories and 87 files.",
      "repo_count": 85,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "toaster",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 86,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 85 repositories and 86 files.",
      "repo_count": 85,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "chart",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 156,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 84 repositories and 156 files.",
      "repo_count": 84,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "breadcrumb",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 89,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 84 repositories and 89 files.",
      "repo_count": 84,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "alert-dialog",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-chatbot, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji",
      "file_count": 86,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 84 repositories and 86 files.",
      "repo_count": 84,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "popover",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 85,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 83 repositories and 85 files.",
      "repo_count": 83,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "carousel",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 84,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 83 repositories and 84 files.",
      "repo_count": 83,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "scroll-area",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 84,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 82 repositories and 84 files.",
      "repo_count": 82,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "sonner",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 83,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 82 repositories and 83 files.",
      "repo_count": 82,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "navigation-menu",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 83,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 81 repositories and 83 files.",
      "repo_count": 81,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "radio-group",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 83,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 81 repositories and 83 files.",
      "repo_count": 81,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "toggle",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 83,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 81 repositories and 83 files.",
      "repo_count": 81,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "form",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 81 repositories and 82 files.",
      "repo_count": 81,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "calendar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 84,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 84 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "aspect-ratio",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "pagination",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "input-otp",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "hover-card",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "resizable",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "drawer",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "command",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "toggle-group",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "menubar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "collapsible",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "context-menu",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights",
      "file_count": 82,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 80 repositories and 82 files.",
      "repo_count": 80,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "use-toast",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__mailthing-main, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules",
      "file_count": 77,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 76 repositories and 77 files.",
      "repo_count": 76,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "sidebar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__beer-museum-manager-www, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules",
      "file_count": 81,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 75 repositories and 81 files.",
      "repo_count": 75,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "use-mobile",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban",
      "file_count": 74,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 74 repositories and 74 files.",
      "repo_count": 74,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "spinner",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys",
      "file_count": 72,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 71 repositories and 72 files.",
      "repo_count": 71,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "field",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp",
      "file_count": 70,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 69 repositories and 70 files.",
      "repo_count": 69,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "item",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__Scripts, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout",
      "file_count": 70,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 69 repositories and 70 files.",
      "repo_count": 69,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "button-group",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp",
      "file_count": 69,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 68 repositories and 69 files.",
      "repo_count": 68,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "input-group",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp",
      "file_count": 69,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 68 repositories and 69 files.",
      "repo_count": 68,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "empty",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp",
      "file_count": 69,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 68 repositories and 69 files.",
      "repo_count": 68,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "kbd",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__Joshs-magnets-landing-page, mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__desert-bus, mbarbine__dogstar-cybernetics-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__microwave-sticker-webby, mbarbine__multiplayer-puzzle-game, mbarbine__nova-hackers-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-alleycats, mbarbine__platphorm-ascii, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp",
      "file_count": 69,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 68 repositories and 69 files.",
      "repo_count": 68,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "bolt",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__gta-6-countdown-webby, mbarbine__ja4-vercel-lab-2, mbarbine__legacy-platphorm-news, mbarbine__nova-hackers-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts",
      "file_count": 63,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 63 repositories and 63 files.",
      "repo_count": 63,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "palette",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ai-chat-interface-webby, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__calendar-app-webby, mbarbine__crafted-virginia-website, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__legacy-platphorm-news, mbarbine__mermaid-community-platform, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jules, mbarbine__platphorm-keys, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opendocs",
      "file_count": 60,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 60 repositories and 60 files.",
      "repo_count": 60,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "layout",
      "component_kind": "layout",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__ai-chat-interface-webby, mbarbine__biocyber-xr-training-nasa-webby-v0, mbarbine__burrito-dealer-www, mbarbine__civic-engagement-platform-webby, mbarbine__crafted-virginia-website, mbarbine__dinoblocks-www, mbarbine__email-reading-service-webby, mbarbine__fortune-cookie-webby, mbarbine__front-runners-webby, mbarbine__gamer, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__ja4-vercel-lab-2, mbarbine__jaydens-therapy-legal-www, mbarbine__jts-hvac-gates-www, mbarbine__legacy-platphorm-news, mbarbine__mailthing-api, mbarbine__mermaid-community-platform, mbarbine__mermaid-next-www, mbarbine__microwave-sticker-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__news-api, mbarbine__nova-hackers-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-layout, mbarbine__platphorm-monitor, mbarbine__platphorm-polymaths, mbarbine__platphorm-portfolio-webby, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate, mbarbine__platphorm-register",
      "file_count": 77,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "layout classified as frontend with reuse potential across 59 repositories and 77 files.",
      "repo_count": 59,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "sentinel",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__calendar-app-webby, mbarbine__civic-engagement-platform-webby, mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4-vercel-lab-2, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-base, mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-politics, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake",
      "file_count": 55,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 55 repositories and 55 files.",
      "repo_count": 55,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__gta-6-countdown-webby, mbarbine__ja4mlab, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-politics, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-register, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-vercel-atlas",
      "file_count": 51,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "roadmap classified as process with reuse potential across 48 repositories and 51 files.",
      "repo_count": 48,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "dockerfile",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__Scripts, mbarbine__aws-lab, mbarbine__aws-next-k8-cluster-deploy, mbarbine__calendar-app-webby, mbarbine__cdf-sanitize, mbarbine__desert-bus, mbarbine__docker-terraform-aws-demo, mbarbine__fortune-cookie-webby-yj, mbarbine__ja4-sidecar, mbarbine__ja4mlab, mbarbine__legacy-platphorm-news, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-web, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__process-clone, mbarbine__wildduck",
      "file_count": 60,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "container-automation classified as automation with reuse potential across 45 repositories and 60 files.",
      "repo_count": 45,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "page",
      "component_kind": "page",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__automotive-flamethrower-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__gta-6-countdown-webby, mbarbine__ja4-vercel-lab-2, mbarbine__legacy-platphorm-news, mbarbine__mailthing-main, mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo, mbarbine__news-api, mbarbine__platphorm-agentui, mbarbine__platphorm-alleycats, mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-jules, mbarbine__platphorm-layout, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-podcasts, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-sandbox, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-wrestling-webby, mbarbine__platphorm-zine-reader, mbarbine__platphormnews-www-prod, mbarbine__process-clone, mbarbine__robbie-ds-greens-webby, mbarbine__stannp-nextjs-bp, mbarbine__starphone-fork-webby",
      "file_count": 99,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "page classified as frontend with reuse potential across 43 repositories and 99 files.",
      "repo_count": 43,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "vercel",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__front-runners-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__vanagain-dot-com-prod",
      "file_count": 51,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "deployment-automation classified as automation with reuse potential across 41 repositories and 51 files.",
      "repo_count": 41,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__game-porting-service-webby, mbarbine__multiplayer-puzzle-game, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-register, mbarbine__platphorm-sandbox, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__process-clone, mbarbine__stannp-gpt-5-test, mbarbine__www-demo-biofeedback-app-development, ph3ar__radio-backend",
      "file_count": 49,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 38 repositories and 49 files.",
      "repo_count": 38,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "auth",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-usl, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml, mbarbine__process-clone, ph3ar__mailthing-webby",
      "file_count": 39,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 34 repositories and 39 files.",
      "repo_count": 34,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "footer",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__FlaskFlow-www, mbarbine__Joshs-magnets-landing-page, mbarbine__LogSlash-w6, mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__dogstar-cybernetics-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__glass-blowing-website, mbarbine__global-anti-globalist-club-webby, mbarbine__jaydens-therapy-legal-www, mbarbine__legacy-platphorm-news, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-json, mbarbine__platphorm-newdittyswag-www, mbarbine__platphorm-onboard, mbarbine__platphorm-portfolio-webby, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-register, mbarbine__platphorm-space-news, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__scratchcraft, mbarbine__spectrum-canine-www",
      "file_count": 33,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "feature-ui classified as frontend with reuse potential across 32 repositories and 33 files.",
      "repo_count": 32,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "llms",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__car-service-records, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-politics, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-wrestling-webby, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__starphone-fork-webby, mbarbine__starphone-web-svelte, mbarbine__stripper-mug-webby, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, ph3ar__platphorm-admin-dashboard, ph3ar__stripe-subscription-starter",
      "file_count": 33,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 30 repositories and 33 files.",
      "repo_count": 30,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "robots",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__game-porting-service-webby, mbarbine__gta-6-countdown-webby, mbarbine__microwave-stickers-, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-alleycats, mbarbine__platphorm-base, mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate, mbarbine__platphorm-register, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-wrestling-webby, mbarbine__platphorm-xml, mbarbine__platphorm-zine-reader, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__scratchcraft, mbarbine__spectrum-canine-www, mbarbine__stripper-mug-webby, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagon-website, mbarbine__vanlife-website, ph3ar__platphorm-admin-dashboard",
      "file_count": 29,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "frontend-feature classified as frontend with reuse potential across 29 repositories and 29 files.",
      "repo_count": 29,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "robots",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__Scripts, mbarbine__automotive-flamethrower-webby, mbarbine__beer-museum-manager-www, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__instant-snap-postcard, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-politics, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-trace, mbarbine__starphone-web-svelte, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site, ph3ar__mailthing-webby, ph3ar__ph3ar_radio_backend",
      "file_count": 32,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 28 repositories and 32 files.",
      "repo_count": 28,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "trace",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml",
      "file_count": 30,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 27 repositories and 30 files.",
      "repo_count": 27,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sitemap",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__game-porting-service-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__microwave-stickers-, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-alleycats, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-jobs, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate, mbarbine__platphorm-register, mbarbine__platphorm-signs, mbarbine__platphorm-zine-reader, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__scratchcraft, mbarbine__spectrum-canine-www, mbarbine__starphone-web-svelte, mbarbine__stripper-mug-webby, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagon-website, mbarbine__vanlife-website, ph3ar__platphorm-admin-dashboard",
      "file_count": 27,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "frontend-feature classified as frontend with reuse potential across 27 repositories and 27 files.",
      "repo_count": 27,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "manifest",
      "component_kind": "discovery-artifact",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__beer-museum-manager-www, mbarbine__car-service-records, mbarbine__gta-6-countdown-webby, mbarbine__microwave-stickers-, mbarbine__multiplayer-puzzle-game, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-ascii, mbarbine__platphorm-decks, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-msi-editor, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-sheets, mbarbine__platphorm-signs, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__stripper-mug-webby, mbarbine__two-doller-web, mbarbine__vanagon-website",
      "file_count": 26,
      "package_name": "@platphorm/discovery",
      "primary_category": "discovery",
      "priority": "high",
      "rationale": "discovery-artifact classified as discovery with reuse potential across 26 repositories and 26 files.",
      "repo_count": 26,
      "target_library": "shared-discovery"
    },
    {
      "candidate_name": "security",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__aws-lab, mbarbine__beer-museum-manager-www, mbarbine__hot-chocolate-for-profit-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-bbs, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-politics, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphormnews-www-prod, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod, ph3ar__hope-auto-checkin, ph3ar__js_mongo_app_boilerplate",
      "file_count": 28,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 25 repositories and 28 files.",
      "repo_count": 25,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "server",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__beer-museum-manager-www, mbarbine__civic-engagement-platform-webby, mbarbine__game-porting-service-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__mermaid-community-platform, mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot, mbarbine__platphorm-agentui, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-codex, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-mcp, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-politics, mbarbine__platphorm-quake, mbarbine__platphorm-real-estate, mbarbine__platphorm-sandbox, mbarbine__robot-clothing-marketplace",
      "file_count": 26,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 25 repositories and 26 files.",
      "repo_count": 25,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "health",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__ai-chat-interface-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__car-service-records, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-design, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper",
      "file_count": 25,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "api-route classified as backend with reuse potential across 25 repositories and 25 files.",
      "repo_count": 25,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "license",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__automotive-flamethrower-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__vanagain-site, mbarbine__xsociety, ph3ar__newdittyswag-commerce, ph3ar__platphorm-admin-dashboard",
      "file_count": 48,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 24 repositories and 48 files.",
      "repo_count": 24,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "index",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-sandbox, mbarbine__platphorm-shipments, mbarbine__platphorm-signs, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphormnews-www-prod, mbarbine__robot-clothing-marketplace, mbarbine__vanagain-dot-com-prod",
      "file_count": 44,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 24 repositories and 44 files.",
      "repo_count": 24,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "contributing",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__desert-bus, mbarbine__lettuce, mbarbine__msicrafter, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-alleycats, mbarbine__platphorm-bbs, mbarbine__platphorm-dictionary, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphorm-zine-reader, mbarbine__platphormnews-www-prod, mbarbine__threatrelay-webby, mbarbine__xsociety",
      "file_count": 36,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 23 repositories and 36 files.",
      "repo_count": 23,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "i18n",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__drone-reel-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-agentui, mbarbine__platphorm-cobol, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-jules, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-radio-backend, mbarbine__platphorm-shipments, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod, mbarbine__reflux-site-webby, mbarbine__threatrelay-webby, mbarbine__vanlife-website",
      "file_count": 31,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 23 repositories and 31 files.",
      "repo_count": 23,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "middleware",
      "component_kind": "middleware",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__calendar-app-webby, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-base, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-dictionary, mbarbine__platphorm-jobs, mbarbine__platphorm-jules, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-radio-backend, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__process-clone, mbarbine__robbie-ds-greens-webby, mbarbine__robot-clothing-marketplace, mbarbine__stannp-gpt-5-test, mbarbine__starphone-web-svelte, ph3ar__js_mongo_app_boilerplate",
      "file_count": 26,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "middleware classified as backend with reuse potential across 23 repositories and 26 files.",
      "repo_count": 23,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "breadcrumbs",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__ai-chat-interface-webby, mbarbine__autographed-bibles-webby, mbarbine__drone-reel-webby, mbarbine__front-runners-webby, mbarbine__platphorm-ascii, mbarbine__platphorm-cobol, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-dictionary, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-stannp-api-wrapper, mbarbine__platphorm-svg-factory, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__reflux-site-webby, mbarbine__robbie-ds-greens-webby, mbarbine__starphone-fork-webby, mbarbine__stripper-mug-webby",
      "file_count": 25,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "feature-ui classified as frontend with reuse potential across 23 repositories and 25 files.",
      "repo_count": 23,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "discovery",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-sheets, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-svg-factory, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-xml",
      "file_count": 28,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 22 repositories and 28 files.",
      "repo_count": 22,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "humans",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__automotive-flamethrower-webby, mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-codex, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-insights, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-vercel-atlas, mbarbine__platphormnews-www-prod, mbarbine__robbie-ds-greens-webby",
      "file_count": 21,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 21 repositories and 21 files.",
      "repo_count": 21,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "manifest",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__game-porting-service-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-alleycats, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-emoji, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-register, mbarbine__platphorm-trace, mbarbine__platphorm-wrestling-webby, mbarbine__threatrelay-webby, mbarbine__vanlife-website",
      "file_count": 21,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "frontend-feature classified as frontend with reuse potential across 21 repositories and 21 files.",
      "repo_count": 21,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "llms-full",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__car-service-records, mbarbine__fashion-sadiepass-WWW, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-reader, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__platphorm-trace, mbarbine__starphone-web-svelte, mbarbine__threatrelay-webby, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod",
      "file_count": 21,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 20 repositories and 21 files.",
      "repo_count": 20,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "logger",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-keys, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-vercel-atlas, mbarbine__vanagain-dot-com-prod, ph3ar__mailthing-webby",
      "file_count": 28,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 19 repositories and 28 files.",
      "repo_count": 19,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fingerprint",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__drone-reel-webby, mbarbine__ja4-sidecar, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-shipments, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator",
      "file_count": 26,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 19 repositories and 26 files.",
      "repo_count": 19,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "license-faq",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__automotive-flamethrower-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-usl",
      "file_count": 19,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 19 repositories and 19 files.",
      "repo_count": 19,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "realm-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte",
      "file_count": 19,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 19 repositories and 19 files.",
      "repo_count": 19,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "item-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte",
      "file_count": 19,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 19 repositories and 19 files.",
      "repo_count": 19,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "core-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte",
      "file_count": 19,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 19 repositories and 19 files.",
      "repo_count": 19,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "openapi",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-ascii, mbarbine__platphorm-browserops, mbarbine__platphorm-desa, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-polymaths, mbarbine__platphorm-sheets, mbarbine__platphorm-shipments, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-webhook-simulator, mbarbine__platphorm-xml",
      "file_count": 20,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 18 repositories and 20 files.",
      "repo_count": 18,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "license-permissive",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__automotive-flamethrower-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-cobol, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-quake, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-usl",
      "file_count": 18,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 18 repositories and 18 files.",
      "repo_count": 18,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "architecture",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__ja4mlab, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-evals, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench",
      "file_count": 18,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 18 repositories and 18 files.",
      "repo_count": 18,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "observability-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte",
      "file_count": 18,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 18 repositories and 18 files.",
      "repo_count": 18,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "config",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__autographed-bibles-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-polymaths, mbarbine__platphorm-signs, mbarbine__platphorm-svg-factory, mbarbine__platphorm-vercel-atlas",
      "file_count": 21,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 17 repositories and 21 files.",
      "repo_count": 17,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-mobile",
      "component_kind": "ui-hook",
      "evidence_repos": "mbarbine__drone-reel-webby, mbarbine__fortune-cookie-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__instant-snap-postcard, mbarbine__microwave-stickers-, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-design, mbarbine__platphorm-emoji, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__process-clone, mbarbine__robbie-ds-greens-webby, mbarbine__scratchcraft, mbarbine__spectrum-canine-www, mbarbine__vanagain-2025",
      "file_count": 19,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "ui-hook classified as frontend with reuse potential across 17 repositories and 19 files.",
      "repo_count": 17,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "manifest",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__dogstar-cybernetics-webby, mbarbine__drone-reel-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__front-runners-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4mlab, mbarbine__ph3ar-blog, mbarbine__platphorm-polymaths, mbarbine__platphorm-portfolio-webby, mbarbine__platphorm-shipments, mbarbine__platphorm-space-news, mbarbine__platphorm-vercel-atlas, mbarbine__starphone-web-svelte, mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site, ph3ar__ph3ar_radio_backend",
      "file_count": 18,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "high",
      "rationale": "observability-module classified as observability with reuse potential across 17 repositories and 18 files.",
      "repo_count": 17,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "agent-schema",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod",
      "file_count": 17,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 17 repositories and 17 files.",
      "repo_count": 17,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "changelog",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__gta-6-countdown-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__lettuce, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphormnews-www-prod, mbarbine__stannp-gpt-5-test, mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 49,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 16 repositories and 49 files.",
      "repo_count": 16,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-sandbox, mbarbine__platphorm-trace",
      "file_count": 24,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 16 repositories and 24 files.",
      "repo_count": 16,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "package",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__Starphone-CMS, mbarbine__evernote-js, mbarbine__legacy-platphorm-news, mbarbine__mailthing, mbarbine__mailthing-client, mbarbine__news-api, mbarbine__ph3ar-web, mbarbine__stannp-nextjs-bp, mbarbine__xsociety, ph3ar__ph3ar-docs-enhanced-labs, ph3ar__ph3ar_radio_backend, ph3ar__www_js_terminal, process-co__npm-element-dev-support, process-co__npm-element-types, process-co__npm-utilities, process-co__ui",
      "file_count": 20,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "high",
      "rationale": "security-module classified as security with reuse potential across 16 repositories and 20 files.",
      "repo_count": 16,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "middleware",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www, mbarbine__burrito-dealer-www, mbarbine__civic-engagement-platform-webby, mbarbine__game-porting-service-webby, mbarbine__mermaid-community-platform, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-design, mbarbine__platphorm-keys, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-politics, mbarbine__platphorm-real-estate, mbarbine__platphorm-sandbox, mbarbine__platphorm-trace, mbarbine__robot-clothing-marketplace",
      "file_count": 16,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 16 repositories and 16 files.",
      "repo_count": 16,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "podcast-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod",
      "file_count": 16,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 16 repositories and 16 files.",
      "repo_count": 16,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docker-compose",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__Scripts, mbarbine__aws-lab, mbarbine__cdf-sanitize, mbarbine__docker-terraform-aws-demo, mbarbine__ja4-sidecar, mbarbine__legacy-platphorm-news, mbarbine__n8n, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__wildduck, mbarbine__zornixOS, ph3ar__js_mongo_app_boilerplate, ph3ar__renegade-bbs-docker",
      "file_count": 18,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "container-automation classified as automation with reuse potential across 15 repositories and 18 files.",
      "repo_count": 15,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "platphorm-universal-schema-pack",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-404, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-finance, mbarbine__platphorm-insights, mbarbine__platphorm-json, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-radio-backend, mbarbine__platphorm-svg-factory, mbarbine__platphormnews-www-prod",
      "file_count": 17,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 15 repositories and 17 files.",
      "repo_count": 15,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "opengraph-image",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__front-runners-webby, mbarbine__gta-6-countdown-webby, mbarbine__microwave-stickers-, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-stannp-api-wrapper, mbarbine__two-doller-web, mbarbine__vanagon-website",
      "file_count": 14,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "feature-ui classified as frontend with reuse potential across 14 repositories and 14 files.",
      "repo_count": 14,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "docs-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod",
      "file_count": 14,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 14 repositories and 14 files.",
      "repo_count": 14,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "constants",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__ph3ar-blog, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-desa, mbarbine__platphorm-kanban, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-quake, mbarbine__platphorm-trace",
      "file_count": 17,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 13 repositories and 17 files.",
      "repo_count": 13,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-browserops, mbarbine__platphorm-codex, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-spec-workbench, mbarbine__platphormnews-www-prod",
      "file_count": 16,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 13 repositories and 16 files.",
      "repo_count": 13,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "response",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-layout, mbarbine__platphorm-monitor, mbarbine__platphorm-msi-editor, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-space-news, mbarbine__platphorm-webhook-simulator",
      "file_count": 14,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 13 repositories and 14 files.",
      "repo_count": 13,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-jules, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-podcasts, mbarbine__platphorm-quake, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 13 repositories and 14 files.",
      "repo_count": 13,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "header",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__Joshs-magnets-landing-page, mbarbine__PH3AR-WEBBY, mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__legacy-platphorm-news, mbarbine__mermaid-next-www, mbarbine__news-api, mbarbine__platphorm-jules, mbarbine__starphone-web-svelte, mbarbine__www-demo-biofeedback-app-development, ph3ar__DeskThing-FortuneCookie, ph3ar__newdittyswag-commerce",
      "file_count": 13,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "feature-ui classified as frontend with reuse potential across 13 repositories and 13 files.",
      "repo_count": 13,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "next-config",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__ai-chat-interface-webby, mbarbine__barbineworldwide-2026-metahack, mbarbine__drone-reel-webby, mbarbine__foxio-labs, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-ascii, mbarbine__platphorm-emoji, mbarbine__platphorm-kanban, mbarbine__platphorm-mini-games-webby, mbarbine__reflux-site-webby, mbarbine__starphone-fork-webby, mbarbine__two-doller-web, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 13,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "high",
      "rationale": "security-module classified as security with reuse potential across 13 repositories and 13 files.",
      "repo_count": 13,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "mcp-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-ascii, mbarbine__platphorm-design, mbarbine__platphorm-kanban, mbarbine__platphorm-msi-editor, mbarbine__platphorm-podcasts, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__platphorm-register, mbarbine__platphorm-usl, mbarbine__platphorm-xml, mbarbine__platphormnews-www-prod",
      "file_count": 15,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 12 repositories and 15 files.",
      "repo_count": 12,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__desert-bus, mbarbine__ja4-sidecar, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod",
      "file_count": 14,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 12 repositories and 14 files.",
      "repo_count": 12,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docs",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-base, mbarbine__platphorm-design, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-polymaths, mbarbine__platphorm-quake, mbarbine__platphorm-radio-backend, mbarbine__platphorm-spec-workbench, mbarbine__starphone-web-svelte",
      "file_count": 14,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "api-route classified as backend with reuse potential across 12 repositories and 14 files.",
      "repo_count": 12,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "pr-description",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-base, mbarbine__platphorm-jobs, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-trace, mbarbine__platphorm-vercel-atlas, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__vanagain-dot-com-prod",
      "file_count": 14,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 12 repositories and 14 files.",
      "repo_count": 12,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "code-of-conduct",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-onboard, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-trace, mbarbine__platphormnews-www-prod, mbarbine__threatrelay-webby",
      "file_count": 13,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 12 repositories and 13 files.",
      "repo_count": 12,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "globals",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__burrito-dealer-www, mbarbine__gamer, mbarbine__jaydens-therapy-legal-www, mbarbine__job-manager, mbarbine__mailthing-api, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-onboard, mbarbine__platphorm-space-news, mbarbine__robot-clothing-marketplace, mbarbine__stannp-nextjs-bp, mbarbine__uberpidgeons-www",
      "file_count": 12,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "high",
      "rationale": "stylesheet classified as style with reuse potential across 12 repositories and 12 files.",
      "repo_count": 12,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "api",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-bbs, mbarbine__platphorm-desa, mbarbine__platphorm-design, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader",
      "file_count": 12,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 12 repositories and 12 files.",
      "repo_count": 12,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "trace-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod",
      "file_count": 12,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "schema-validation classified as logic with reuse potential across 12 repositories and 12 files.",
      "repo_count": 12,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "evals-schema",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__platphorm-404, mbarbine__platphorm-dictionary, mbarbine__platphorm-finance, mbarbine__platphorm-json, mbarbine__platphorm-podcasts, mbarbine__platphorm-register, mbarbine__platphorm-sheets, mbarbine__platphorm-svg-factory, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod",
      "file_count": 12,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "ai-eval classified as ai with reuse potential across 12 repositories and 12 files.",
      "repo_count": 12,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "next-config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo, mbarbine__ph3ar-blog, mbarbine__platphorm-cobol, mbarbine__platphorm-layout, mbarbine__platphorm-openclaw, mbarbine__platphorm-trace, mbarbine__platphorm-usl, mbarbine__threatrelay-webby, mbarbine__uberpidgeons, mbarbine__vanagain-dot-com-prod",
      "file_count": 12,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "high",
      "rationale": "observability-module classified as observability with reuse potential across 12 repositories and 12 files.",
      "repo_count": 12,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "network",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-design, mbarbine__platphorm-dictionary, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-keys, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-vercel-atlas",
      "file_count": 15,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 11 repositories and 15 files.",
      "repo_count": 11,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deployment",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__beer-museum-manager-www, mbarbine__desert-bus, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-vercel-atlas, mbarbine__process-clone, mbarbine__robot-clothing-marketplace",
      "file_count": 13,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 11 repositories and 13 files.",
      "repo_count": 11,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "package",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__ja4-sidecar, mbarbine__ja4-vercel-lab-2, mbarbine__n8n, mbarbine__platphorm-webhook-simulator, mbarbine__platphormnews-www-prod, mbarbine__starphone-web-svelte, mbarbine__uberpidgeons, ph3ar__barbine-worldwide-legacy, ph3ar__newdittyswag-commerce",
      "file_count": 11,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "automation-config classified as automation with reuse potential across 10 repositories and 11 files.",
      "repo_count": 10,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "site-footer",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__desert-bus, mbarbine__game-porting-service-webby, mbarbine__mermaid-community-platform, mbarbine__platphorm-jobs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-shipments, mbarbine__robbie-ds-greens-webby, mbarbine__threatrelay-webby",
      "file_count": 10,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "feature-ui classified as frontend with reuse potential across 10 repositories and 10 files.",
      "repo_count": 10,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "ai-plugin",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__gta-6-countdown-webby, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-blog, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphormnews-www-prod, mbarbine__two-doller-web, ph3ar__platphorm-admin-dashboard",
      "file_count": 10,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "ai-integration classified as ai with reuse potential across 10 repositories and 10 files.",
      "repo_count": 10,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "health",
      "component_kind": "health-check",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__fashion-sadiepass-WWW, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ja4mlab, mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-alleycats, mbarbine__platphorm-evals, mbarbine__platphorm-json, mbarbine__platphorm-zine-reader, mbarbine__threatrelay-webby",
      "file_count": 10,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "high",
      "rationale": "health-check classified as observability with reuse potential across 10 repositories and 10 files.",
      "repo_count": 10,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "json-ld",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-reader, mbarbine__platphorm-trace, mbarbine__platphorm-zine-reader, mbarbine__vanlife-website",
      "file_count": 10,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "high",
      "rationale": "feature-ui classified as frontend with reuse potential across 10 repositories and 10 files.",
      "repo_count": 10,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "model-adapter",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-cobol, mbarbine__platphorm-emoji, mbarbine__platphorm-json, mbarbine__platphorm-layout, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-opendocs, mbarbine__platphorm-usl, mbarbine__platphorm-xml",
      "file_count": 10,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "ai-integration classified as ai with reuse potential across 10 repositories and 10 files.",
      "repo_count": 10,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts, mbarbine__multiplayer-puzzle-game, mbarbine__platphorm-browserops, mbarbine__platphorm-emoji, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-monitor, mbarbine__platphorm-webhook-simulator, ph3ar__newdittyswag-commerce",
      "file_count": 14,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "state-store classified as logic with reuse potential across 9 repositories and 14 files.",
      "repo_count": 9,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "page",
      "component_kind": "page",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-agentui, mbarbine__platphorm-auction-vice, mbarbine__platphorm-evals, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-space-news",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "page classified as ai with reuse potential across 9 repositories and 14 files.",
      "repo_count": 9,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "prompts",
      "component_kind": "prompt-template",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-webhook-simulator",
      "file_count": 11,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "prompt-template classified as ai with reuse potential across 9 repositories and 11 files.",
      "repo_count": 9,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "api",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby, mbarbine__game-porting-service-webby, mbarbine__ja4-sidecar, mbarbine__ph3ar-blog, mbarbine__platphorm-register, mbarbine__platphorm-sandbox, mbarbine__reflux-site-webby, mbarbine__wildduck",
      "file_count": 10,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "backend-module classified as backend with reuse potential across 9 repositories and 10 files.",
      "repo_count": 9,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "principles",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-trace",
      "file_count": 9,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 9 repositories and 9 files.",
      "repo_count": 9,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "llms-index",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__car-service-records, mbarbine__hot-chocolate-for-profit-webby, mbarbine__ph3ar-blog, mbarbine__platphorm-decks, mbarbine__platphorm-finance, mbarbine__platphorm-reader, mbarbine__platphorm-redteam-arma-landing, mbarbine__platphorm-signs, mbarbine__two-doller-web",
      "file_count": 9,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "high",
      "rationale": "observability-module classified as observability with reuse potential across 9 repositories and 9 files.",
      "repo_count": 9,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "route",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-cobol, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-redteam-arma-landing",
      "file_count": 9,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "feature-ui classified as backend with reuse potential across 9 repositories and 9 files.",
      "repo_count": 9,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "platform",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-cobol, mbarbine__platphorm-design, mbarbine__platphorm-jobs, mbarbine__platphorm-json, mbarbine__platphorm-onboard, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-usl, mbarbine__platphorm-vercel-atlas",
      "file_count": 9,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 9 repositories and 9 files.",
      "repo_count": 9,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__foxio-labs, mbarbine__legacy-platphorm-news, mbarbine__mailthing-api, mbarbine__ph3ar-web, mbarbine__platphormnews-www-prod, ph3ar__js_mongo_app_boilerplate, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 20,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "backend-module classified as backend with reuse potential across 8 repositories and 20 files.",
      "repo_count": 8,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "testing",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-base, mbarbine__platphorm-bbs, mbarbine__platphorm-opencontent, mbarbine__platphorm-polymaths, mbarbine__platphorm-reader, mbarbine__platphorm-vercel-atlas, mbarbine__xsociety",
      "file_count": 15,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 8 repositories and 15 files.",
      "repo_count": 8,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "route",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__gta-6-countdown-webby, mbarbine__platphorm-layout, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-podcasts, mbarbine__platphorm-real-estate, mbarbine__platphorm-space-news, mbarbine__platphorm-trace, mbarbine__process-clone",
      "file_count": 11,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "ai-integration classified as ai with reuse potential across 8 repositories and 11 files.",
      "repo_count": 8,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "tools",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-insights, mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-webhook-simulator",
      "file_count": 10,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 8 repositories and 10 files.",
      "repo_count": 8,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "en",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__reflux-site-webby, mbarbine__vanagain-site",
      "file_count": 9,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "high",
      "rationale": "observability-module classified as observability with reuse potential across 8 repositories and 9 files.",
      "repo_count": 8,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "mcp",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-insights, mbarbine__platphorm-kanban, mbarbine__platphorm-layout, mbarbine__platphorm-radio-backend, mbarbine__platphorm-reader, mbarbine__starphone-web-svelte",
      "file_count": 8,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "api-route classified as backend with reuse potential across 8 repositories and 8 files.",
      "repo_count": 8,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "index",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, mbarbine__platphorm-agentui, mbarbine__platphorm-quake, mbarbine__platphorm-trace, mbarbine__turborepo-react-native, ph3ar__stripe-subscription-starter",
      "file_count": 17,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "high",
      "rationale": "ui-primitive classified as ui with reuse potential across 6 repositories and 17 files.",
      "repo_count": 6,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "server",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod",
      "file_count": 80,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "api-route classified as backend with reuse potential across 4 repositories and 80 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "ja4",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__ja4mlab, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 14,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 4 repositories and 14 files.",
      "repo_count": 4,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "install",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ja4mlab, mbarbine__zornixOS",
      "file_count": 43,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "script classified as automation with reuse potential across 3 repositories and 43 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "requirements",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__Scripts, mbarbine__cdf-sanitize, mbarbine__xsociety",
      "file_count": 13,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "specification classified as process with reuse potential across 3 repositories and 13 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "service",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ph3ar-web",
      "file_count": 65,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 65 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "deployment",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-spec-workbench",
      "file_count": 38,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 38 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "main",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 34,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 34 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deployment",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ph3ar-web",
      "file_count": 17,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "high",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 17 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "metadata",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 12,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "high",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 12 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "notes",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 67,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 67 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "editor-plugin",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 31,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 31 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editor-plugin-src",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 31,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "high",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 31 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 14,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "high",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 14 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4l",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 14 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4t",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 14 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4s",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 14 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 14 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4h",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 14,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "high",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 14 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "composer",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 13,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "high",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 13 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "error",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__legacy-platphorm-news, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-layout, mbarbine__platphormnews-www-prod, mbarbine__process-clone, ph3ar__mailthing-webby",
      "file_count": 8,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 7 repositories and 8 files.",
      "repo_count": 7,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "es",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-auction-vice, mbarbine__platphorm-bbs, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site",
      "file_count": 7,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 7 repositories and 7 files.",
      "repo_count": 7,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "webhooks",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack, mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-auction-vice, mbarbine__platphorm-jobs, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 7,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 7 repositories and 7 files.",
      "repo_count": 7,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "rate-limit",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-insights, mbarbine__platphorm-reader, mbarbine__platphorm-register, mbarbine__platphorm-shipments, mbarbine__platphorm-trace, mbarbine__vanagain-dot-com-prod",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 7 repositories and 7 files.",
      "repo_count": 7,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "env",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-layout, mbarbine__platphorm-trace, mbarbine__platphorm-webhook-simulator, mbarbine__process-clone",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 7 repositories and 7 files.",
      "repo_count": 7,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "analytics",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-design, mbarbine__platphorm-jules, mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent, mbarbine__platphorm-reader, mbarbine__platphorm-stannp-api-wrapper",
      "file_count": 10,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 10 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "emoji",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-shipments",
      "file_count": 9,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 9 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "storage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__car-service-records, mbarbine__platphorm-codex, mbarbine__platphorm-kanban, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-trace",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "events",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__desert-bus, mbarbine__platphorm-insights, mbarbine__platphorm-jobs, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ja4-sidecar, mbarbine__mailthing-main, mbarbine__ph3ar-blog, mbarbine__wildduck, ph3ar__stripe-subscription-starter",
      "file_count": 7,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "proxy",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__drone-reel-webby, mbarbine__platphorm-emoji, mbarbine__platphorm-mcp, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench",
      "file_count": 7,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "metadata",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-evals, mbarbine__platphorm-quake, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-webhook-simulator",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "app",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__mailthing-client, mbarbine__news-api, mbarbine__turborepo-react-native, ph3ar__DeskThing-FortuneCookie, ph3ar__mailthing-webby",
      "file_count": 7,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "schemas",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-dictionary, mbarbine__platphorm-evals, mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts, mbarbine__platphorm-trace",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 7 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "twitter-image",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__autographed-bibles-webby, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-design, mbarbine__platphorm-reader, mbarbine__platphorm-spec-workbench",
      "file_count": 6,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "eslint-config",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-evals, mbarbine__platphorm-kanban, mbarbine__platphorm-opendocs, mbarbine__platphorm-quake",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "network-discovery",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-insights, mbarbine__platphorm-jules, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-polymaths, mbarbine__platphorm-svg-factory",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__evernote-js, mbarbine__ph3ar-blog, mbarbine__platphorm-codex, mbarbine__platphorm-polymaths, mbarbine__platphorm-sandbox, mbarbine__platphorm-shipments",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-404, mbarbine__platphorm-bbs, mbarbine__platphorm-insights, mbarbine__platphorm-msi-editor, mbarbine__platphorm-onboard",
      "file_count": 6,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "vercel-metadata",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-404, mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-monitor, mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-xml",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "llms-index",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-real-estate, mbarbine__platphorm-vercel-atlas, mbarbine__stripper-mug-webby, ph3ar__platphorm-admin-dashboard, ph3ar__stripe-subscription-starter",
      "file_count": 6,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 6 repositories and 6 files.",
      "repo_count": 6,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "api-helpers",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 9,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 5 repositories and 9 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ja4mlab, mbarbine__platphorm-insights, mbarbine__platphorm-podcasts, mbarbine__stannp-nextjs-bp",
      "file_count": 8,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 5 repositories and 8 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "faq",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__calendar-app-webby, mbarbine__platphorm-podcasts, mbarbine__platphorm-vercel-atlas, mbarbine__xsociety",
      "file_count": 7,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "models",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts, mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, ph3ar__js_mongo_app_boilerplate",
      "file_count": 7,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-podcasts, mbarbine__platphorm-sheets, mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jsonld",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-agentui, mbarbine__platphorm-bbs, mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "logger",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main, mbarbine__platphorm-evals, mbarbine__platphorm-quake, ph3ar__mailthing-webby",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "automation",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-kanban, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 7,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "resources",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-monitor, mbarbine__platphorm-webhook-simulator",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 7 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "db",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__barbineworldwide-2026-metahack, mbarbine__car-service-records, mbarbine__platphorm-keys, mbarbine__platphorm-monitor",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 6 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "settings",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ja4-vercel-lab-2, mbarbine__msicrafter, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opendocs",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 5 repositories and 6 files.",
      "repo_count": 5,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "session",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-cobol, mbarbine__platphorm-openclaw, mbarbine__platphorm-real-estate-property-evaluation, mbarbine__platphorm-stannp-api-wrapper",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 6 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "correlation",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 6 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 6 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fr",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site",
      "file_count": 5,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "products",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__global-anti-globalist-club-webby, mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-content-showback-dashboard, mbarbine__robbie-ds-greens-webby",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp",
      "component_kind": "mcp",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__ph3ar-admin-dashboard, mbarbine__platphorm-politics, mbarbine__reflux-site-webby, mbarbine__vanagain-dot-com-prod",
      "file_count": 5,
      "package_name": "@platphorm/integrations",
      "primary_category": "integration",
      "priority": "medium",
      "rationale": "mcp classified as integration with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-integrations"
    },
    {
      "candidate_name": "security",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-bbs, mbarbine__platphorm-mcp, mbarbine__platphorm-sheets, mbarbine__platphormnews-www-prod",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "integrations",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 5,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sitemap",
      "component_kind": "sitemap",
      "evidence_repos": "mbarbine__gta-6-countdown-webby, mbarbine__ja4mlab, mbarbine__platphorm-msi-editor, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-wrestling-webby",
      "file_count": 5,
      "package_name": "@platphorm/discovery",
      "primary_category": "discovery",
      "priority": "medium",
      "rationale": "sitemap classified as discovery with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-discovery"
    },
    {
      "candidate_name": "cron",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__ja4-vercel-lab-2, mbarbine__platphorm-base, mbarbine__platphorm-insights, mbarbine__platphorm-podcasts, mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "version",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__ja4mlab, mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "use-local-storage",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-agentui, mbarbine__process-clone, mbarbine__stannp-gpt-5-test",
      "file_count": 5,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "next-config",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-admin-dashboard, mbarbine__ph3ar-chatbot, mbarbine__platphorm-finance",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "custom-dictionary-workspace",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__ph3ar-blog, mbarbine__platphorm-insights, mbarbine__platphorm-opendocs, mbarbine__wildduck",
      "file_count": 5,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "version",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-mcp, mbarbine__platphorm-monitor, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "http",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ascii, mbarbine__platphorm-bbs, mbarbine__platphorm-cobol, mbarbine__platphorm-layout, mbarbine__platphorm-sheets",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 5 repositories and 5 files.",
      "repo_count": 5,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "app",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__mailthing, ph3ar__js_mongo_app_boilerplate, ph3ar__www_js_terminal",
      "file_count": 9,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 4 repositories and 9 files.",
      "repo_count": 4,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "api-types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-jules, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 7 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "seo-generator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 7 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "auto-name",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 7 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "redis",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-openclaw, mbarbine__platphorm-trace, mbarbine__vanagain-dot-com-prod",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 7 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ssrf",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-webhook-simulator",
      "file_count": 7,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 7 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "setup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ja4-sidecar, mbarbine__ph3ar-web, mbarbine__wildduck",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 4 repositories and 6 files.",
      "repo_count": 4,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "trace-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals, mbarbine__platphorm-sandbox, mbarbine__platphorm-webhook-simulator",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 6 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "makefile",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__cdf-sanitize, mbarbine__xsociety, mbarbine__zornixOS",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 4 repositories and 5 files.",
      "repo_count": 4,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "network-manifest",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 5 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "manifest",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-monitor",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 5 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hooks",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-desa",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 5 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "network-graph",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-mcp, mbarbine__platphorm-openclaw, mbarbine__platphormnews-www-prod",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 5 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vite-config",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "core",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__msicrafter, mbarbine__platphorm-sandbox, mbarbine__xsociety",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "settings",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__calendar-app-webby, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "pt",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "request",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__platphorm-layout, mbarbine__two-doller-web, mbarbine__vanagain-dot-com-prod",
      "file_count": 4,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "error-handler",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-real-estate-NAD, mbarbine__platphorm-vercel-atlas, mbarbine__process-clone",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "agents",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-business-EmployerServicesIncorporated, mbarbine__platphorm-kanban, mbarbine__platphorm-openclaw",
      "file_count": 4,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "sw",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-jules, mbarbine__platphorm-layout",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "project-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-emoji, mbarbine__platphorm-kanban, mbarbine__platphormnews-www-prod",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "cors",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__ph3ar-blog, mbarbine__platphorm-mcp, mbarbine__platphorm-sandbox",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "register-network",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__global-anti-globalist-club-webby, mbarbine__platphorm-cobol, mbarbine__reflux-site-webby, mbarbine__starphone-fork-webby",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "diff",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot, mbarbine__platphorm-spec-workbench",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deep-research-report-v2",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-reader, mbarbine__platphorm-trace",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "local-dev",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "standards-references",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-openclaw, mbarbine__platphorm-reader, mbarbine__platphorm-trace",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "markdown",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "keys",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-keys, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "search",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-openclaw, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "db",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-desa, mbarbine__platphorm-onboard, mbarbine__platphorm-opendocs",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "backend-module classified as backend with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "routes",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-codex, mbarbine__platphorm-decks, mbarbine__platphorm-zine-reader",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "stripe",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-real-estate-NAD, mbarbine__scratchcraft, mbarbine__vanagain-dot-com-prod",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "breadcrumbs",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-json, mbarbine__platphorm-onboard, mbarbine__vanagain-dot-com-prod",
      "file_count": 4,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "medium",
      "rationale": "ui-primitive classified as ui with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__platphorm-news-alt-theme, mbarbine__platphorm-webhook-simulator",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "benchmark",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-desa, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban, mbarbine__platphorm-trace",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "openapi",
      "component_kind": "openapi",
      "evidence_repos": "mbarbine__platphorm-finance, mbarbine__platphorm-register, mbarbine__starphone-web-svelte, mbarbine__two-doller-web",
      "file_count": 4,
      "package_name": "@platphorm/integrations",
      "primary_category": "integration",
      "priority": "medium",
      "rationale": "openapi classified as integration with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-integrations"
    },
    {
      "candidate_name": "playwright-config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-layout, mbarbine__platphorm-space-news, mbarbine__platphorm-spec-workbench",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "site",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-insights, mbarbine__platphorm-layout, mbarbine__vanagain-dot-com-prod",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "index",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__platphorm-onboard, ph3ar__DeskThing-FortuneCookie, ph3ar__ph3ar_radio_backend, ph3ar__www_js_terminal",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "backend-module classified as backend with reuse potential across 4 repositories and 4 files.",
      "repo_count": 4,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "metadata",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals, mbarbine__xsociety",
      "file_count": 10,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 10 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "mixins",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 9,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "medium",
      "rationale": "stylesheet classified as style with reuse potential across 3 repositories and 9 files.",
      "repo_count": 3,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "package",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__job-manager, ph3ar__ph3ar_radio_backend",
      "file_count": 9,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "backend-module classified as backend with reuse potential across 3 repositories and 9 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "en",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__starphone-web-svelte, mbarbine__vanagain-site",
      "file_count": 9,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 3 repositories and 9 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "signup",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__process-clone",
      "file_count": 6,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 6 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "bower",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety, ph3ar__www_js_terminal",
      "file_count": 6,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 6 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "app",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__instant-snap-postcard, mbarbine__vanagain-site",
      "file_count": 5,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "medium",
      "rationale": "stylesheet classified as style with reuse potential across 3 repositories and 5 files.",
      "repo_count": 3,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "run",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety, ph3ar__ph3ar_radio_backend",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 3 repositories and 5 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "webhooks",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-ascii, mbarbine__platphorm-openclaw",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 5 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-browserops, mbarbine__platphorm-openclaw",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 5 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-layout, mbarbine__platphorm-xml",
      "file_count": 5,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "backend-module classified as backend with reuse potential across 3 repositories and 5 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "telemetry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-dictionary, mbarbine__platphorm-keys, mbarbine__platphorm-quake",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 5 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "theme",
      "component_kind": "design-token",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphormnews-www-prod, mbarbine__xsociety",
      "file_count": 4,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "medium",
      "rationale": "design-token classified as style with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "form",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "default",
      "component_kind": "design-token",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site, ph3ar__js_mongo_app_boilerplate",
      "file_count": 4,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "medium",
      "rationale": "design-token classified as style with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "seo",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-layout, mbarbine__platphormnews-www-prod",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja4-s",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-t",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-ts",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-tscan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-ssh",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-h",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "manage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__n8n, mbarbine__wildduck",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "helpers",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, mbarbine__platphorm-desa, ph3ar__stripe-subscription-starter",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "start",
      "component_kind": "script",
      "evidence_repos": "mbarbine__n8n, mbarbine__wildduck, ph3ar__www_js_terminal",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tree",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ph3ar-blog, mbarbine__stannp-nextjs-bp, mbarbine__starphone-web-svelte",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "network",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-browserops, mbarbine__reflux-site-webby",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "json-ld",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-kanban, mbarbine__platphorm-redteam-arma-landing",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platphorm-network",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-trace, mbarbine__platphorm-zine-reader",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "catalog",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-codex, mbarbine__platphorm-quake",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-server",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-emoji, mbarbine__platphorm-openclaw, mbarbine__platphorm-xml",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cache",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor, mbarbine__platphorm-openclaw, mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 4 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tree",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__aws-next-k8-cluster-deploy, mbarbine__ph3ar-blog",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jquery-data-tables-themeroller",
      "component_kind": "design-token",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 3,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "medium",
      "rationale": "design-token classified as style with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "settings",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__legacy-platphorm-news, mbarbine__wildduck",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "main",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ph3ar-web, ph3ar__js_mongo_app_boilerplate",
      "file_count": 3,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "medium",
      "rationale": "stylesheet classified as style with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "en",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__autographed-bibles-webby, mbarbine__platphorm-trace",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "settings",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__ph3ar-blog, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "jobs",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-cobol, mbarbine__platphorm-onboard",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "zh",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__ph3ar-blog, mbarbine__platphorm-layout",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "how-it-works",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__platphorm-content-showback-dashboard, mbarbine__platphorm-onboard",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "proxy",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__platphorm-agentui, mbarbine__platphorm-monitor",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "index",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__aws-lab, mbarbine__instant-snap-postcard, mbarbine__mailthing-main",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "traefik",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__aws-lab, mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "deploy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy, mbarbine__ja4-vercel-lab-2, mbarbine__platphorm-sandbox",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "integration",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-kanban, mbarbine__platphorm-polymaths",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "mcp",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-desa, mbarbine__platphorm-jobs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "events",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-jobs, mbarbine__platphorm-kanban",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "manifest",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-desa, ph3ar__DeskThing-FortuneCookie",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "platform-contract",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-opendocs, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-response",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-jules, mbarbine__platphorm-svg-factory",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "site-config",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__drone-reel-webby, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-redteam-arma-landing",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sitemap",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__email-reading-service-webby, mbarbine__fashion-sadiepass-WWW, ph3ar__platphorm-admin-dashboard",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "robots",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__email-reading-service-webby, mbarbine__platphorm-trace, ph3ar__platphorm-admin-dashboard",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "api-docs",
      "component_kind": "api-docs",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__gta-6-countdown-webby, mbarbine__platphorm-content-showback-dashboard",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-docs classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "mcp-route",
      "component_kind": "mcp-server",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-ascii, mbarbine__platphorm-evals",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "mcp-server classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "readme-foxio",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-h-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "labs-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-s-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-tcpserver-fprinting-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "calculations-final-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-overview",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-calculations-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-calc2",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-tcpscan-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "detection-lab2",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-l-draft",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "beginner-lab-1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "beginner-lab-0",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "lab0",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "lab1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-ls",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-l",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja3-ja4",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "labs",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "about",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "intermediate-ja4-t-lab2",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-s-intermediate",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "intermediate-lab1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-h-intermediate",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-t-lab",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "translations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-design, mbarbine__platphorm-signs",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docker-compose-override",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__n8n, mbarbine__wildduck",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "constants",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__two-doller-web",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "news",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "layout-server",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "backend-module classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "signup",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-agentui",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "login",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api, mbarbine__platphorm-agentui",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "cn",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, mbarbine__platphorm-evals, ph3ar__stripe-subscription-starter",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "navbar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, mbarbine__platphorm-business-EmployerServicesIncorporated, ph3ar__stripe-subscription-starter",
      "file_count": 3,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "medium",
      "rationale": "ui-primitive classified as ui with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "logo",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter, process-co__npm-element-dev-server",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "auth-config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "actions",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "markdown",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "model-selector",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "use-scroll-to-bottom",
      "component_kind": "frontend-hook",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "frontend-hook classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "message-editor",
      "component_kind": "editor-feature",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "editor-feature classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "auth-form",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "chat-header",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "multimodal-input",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "message",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "messages",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "chat",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "suggested-actions",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "use-chat-visibility",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "utils",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "get-weather",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "request-suggestions",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "migrate",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "0003-snapshot",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "0004-snapshot",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "0000-snapshot",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "0001-snapshot",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "0002-snapshot",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "react-renderer",
      "component_kind": "editor-feature",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "editor-feature classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "suggestions",
      "component_kind": "editor-feature",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot, mbarbine__ph3ar-chatbot",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "editor-feature classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ph3ar-modal",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-insights, mbarbine__platphorm-monitor",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "aeo-geo",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "documents",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "submissions",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "categories",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "version",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "discovery-routes",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "documents-slug",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "icons",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__ph3ar-admin-dashboard, mbarbine__vanlife-website, ph3ar__platphorm-admin-dashboard",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "settings",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-admin-dashboard, ph3ar__mailthing-webby, ph3ar__platphorm-admin-dashboard",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "docker-compose",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__ph3ar-web, mbarbine__process-clone, mbarbine__xsociety",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "url-safety",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404, mbarbine__platphorm-desa, mbarbine__platphorm-space-news",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "quick-start",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-design, mbarbine__wildduck",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "well-known",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-insights, mbarbine__platphorm-spec-workbench",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "key-generator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "llms",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-browserops, mbarbine__platphorm-evals",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "errors",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals, mbarbine__platphorm-webhook-simulator",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "providers",
      "component_kind": "ui-provider",
      "evidence_repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-jules, mbarbine__platphorm-zine-reader",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "ui-provider classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "content",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-mcp, mbarbine__vanagain-dot-com-prod",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "headers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-layout, mbarbine__platphorm-trace",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "analysis",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-msi-editor, mbarbine__platphorm-sheets",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "standards",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-insights, mbarbine__platphorm-polymaths, mbarbine__platphorm-trace",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "faq",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-json, mbarbine__platphorm-jules, mbarbine__scratchcraft",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "feature-ui classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "route",
      "component_kind": "frontend-hook",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-mini-games-webby, mbarbine__two-doller-web",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "frontend-hook classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "de",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-layout, mbarbine__platphorm-onboard, mbarbine__vanagain-site",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "medium",
      "rationale": "observability-module classified as observability with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "faq",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-onboard, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "proxy",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-onboard, mbarbine__platphorm-polymarket-rss-feed, mbarbine__two-doller-web",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "zh",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__platphorm-onboard, mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "ja",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__platphorm-onboard, mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "medium",
      "rationale": "security-module classified as security with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "network",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs, mbarbine__platphorm-polymaths",
      "file_count": 3,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "medium",
      "rationale": "api-route classified as backend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "i18n-provider",
      "component_kind": "ui-provider",
      "evidence_repos": "mbarbine__platphorm-reader, mbarbine__platphorm-shipments, mbarbine__platphorm-xml",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "medium",
      "rationale": "ui-provider classified as frontend with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "stannp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-stannp-api-wrapper, mbarbine__stannp-nextjs-bp, ph3ar__mailthing-webby",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 3 repositories and 3 files.",
      "repo_count": 3,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vpc-properties",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 8,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 8 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "server",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot",
      "file_count": 8,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 2 repositories and 8 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "gradlew",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 6 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "server",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 6,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 6 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cleanup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__Scripts",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 5 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "client",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 5,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 5 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "make",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "startup-with-proxy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ja4l",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__ja4mlab",
      "file_count": 4,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "zine-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-preferences",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "interpolators",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "scroll-engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "audio-engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validator",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-spec-workbench, mbarbine__platphorm-trace",
      "file_count": 4,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vitals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__news-api",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "proguard-project",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "plugins",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "index",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__shopify-theme-vanagain",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "script",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jobs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__calendar-app-webby",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kanban",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__hot-chocolate-for-profit-webby",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ai",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-insights",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "sitemap",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "rss",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-bbs",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "openapi-spec",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-cobol",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "claws-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals, mbarbine__platphorm-sandbox",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "handler",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-monitor",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "executor",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights, mbarbine__platphorm-webhook-simulator",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platphorm",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights, mbarbine__platphorm-trace",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "github",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-mcp",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-register",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-kanban, mbarbine__platphorm-reader",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "audit",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-keys, mbarbine__platphorm-register",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "producthunt",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-webhook-simulator",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "categories",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validate",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "crypto",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-vercel-atlas",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "claws-sdk",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "polymarket-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-shipments",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hn",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake, mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "flags",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-reader, mbarbine__vanagain-dot-com-prod",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "monitor-mtips-environment",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "headers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "add-piv-key",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-options",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "converge-nacls",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "history",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "bs-lessdoc-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "my-get",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mit-license",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "access",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "init",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ready",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parse-html",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "yearistype",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "auth-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "layout",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-layout",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "setup",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__car-service-records",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "datepicker",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chat-interface",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__ai-chat-interface-webby, mbarbine__platphorm-bbs",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "es",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__autographed-bibles-webby, mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "page",
      "component_kind": "page",
      "evidence_repos": "mbarbine__automotive-flamethrower-webby, mbarbine__legacy-platphorm-news",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "page classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-tree",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "seed-complete-database",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__burrito-dealer-www, mbarbine__platphorm-real-estate-NAD",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pre-commit-check",
      "component_kind": "script",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-svg-factory",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "onboard",
      "component_kind": "onboarding",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-kanban",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "onboarding classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ics",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-jobs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "persistence",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-spec-workbench",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "final-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__n8n",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "design",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-bbs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "readme1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__docker-terraform-aws-demo, mbarbine__mermaid-next-www",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "wildduck-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__doflo-clone, mbarbine__process-clone",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tracking",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__doflo-clone, mbarbine__process-clone",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "process-co-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__doflo-clone, mbarbine__process-clone",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "chat-widget",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW, mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "generator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__job-manager",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pcap-ng-parser-d",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja4-vercel",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, mbarbine__threatrelay-webby",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "webhookdata",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validate-env",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sentry-setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "openai-prompt",
      "component_kind": "prompt-template",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "prompt-template classified as ai with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "index",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-algorithm",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "advanced-labs-overview",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "advaced-labs",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "capturing-traffic-ja4-h",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ascii",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-bbs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "proxy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-mcp",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "localhost-proxy-entrypoint",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "contributors",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab, mbarbine__platphorm-desa",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "implementation-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab, mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "verify",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab, mbarbine__platphorm-sandbox",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "compose",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "migrate",
      "component_kind": "script",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "date-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "middleware",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "queries",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "admin",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "settings",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "instrumentation",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "svelte-config",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__news-api, mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "toolbar",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "block-messages",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "update-document",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "create-document",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__ph3ar-chatbot",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja4",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nuclear-power-plant-webby-NPaaS, mbarbine__platphorm-fingerprint-service",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "commit-msg",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "new-internet-v1-full-spec",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "minimum-discoverability-matrix",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo, mbarbine__platphorm-onboard",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "user",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-web, ph3ar__js_mongo_app_boilerplate",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "implementation-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-bbs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-keys",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "features",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "password",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-bbs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "web-vitals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "test-helpers",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "blob-storage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ai-photo-enrichment, mbarbine__platphorm-stannp-api-wrapper",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "transcription",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-gestures",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ascii-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mock-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-real-estate",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "claws",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice, mbarbine__platphorm-browserops",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fixes-applied",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__starphone-web-svelte",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "services",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-evals",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "request",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "spec",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa, mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "commit-message",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-emoji, mbarbine__platphorm-evals",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-evals, mbarbine__platphorm-opencontent",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "with-auth",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals, mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-json, mbarbine__platphorm-mini-games-webby",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "local-drafts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-json, mbarbine__platphorm-xml",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pr-body",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "platform-trace",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-svg-factory",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-auth",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "integrations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout, mbarbine__platphorm-onboard",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "search",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-openclaw",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "orchestrator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-onboard",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "shared",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp, mbarbine__platphorm-opencontent",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-monitor, mbarbine__platphorm-space-news",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enhancement-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "observability",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw, mbarbine__platphorm-spec-workbench",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pr-desc",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "openapi-starter-bundle",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-network",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "workflow",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "route",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ingest",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "tagging",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ssrf-test",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cache-strategy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "query-builder",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "spotify",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__reflux-site-webby",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "final-suite-v1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "api-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD, ph3ar__mailthing-webby",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api-response",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-register, mbarbine__platphorm-xml",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "request-context",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator, mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pdf-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__stannp-nextjs-bp, ph3ar__mailthing-webby",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja4-x",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__threatrelay-webby, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jquery-flot-categories",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jquery-flot-resize",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jquery-flot-symbol",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "declared-vs-actual",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 10,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 10 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "conf",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 9,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 9 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "en-dlg",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 8,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 8 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "numbers",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 7,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 7 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "runalltestcases",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 6 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "file",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 6 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 6,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 6 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "contents",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 5,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 5 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "dagah-gui-installer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 5 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "facts",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 5,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 5 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "route-client-reference-manifest",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 5 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "middleware-manifest",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 5 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "app-paths-manifest",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 5,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 5 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "installer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dependencies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "base",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vagrant",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "unzip",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-common-utils-gem",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "application",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "config",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fixture-script",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "xdebug",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "kitchen",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pre-commit-config",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "config",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 4,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 4 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "targets11",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "provision",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "gradle",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "zerodisk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "virtualbox",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "whatsapp-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vmware",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "awsinit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "grep-ami-id",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vagrant-configure",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "nodesource-setup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-conditional-access-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-admin-azure-adaccounts-no-mfa",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "editor-plugin-src",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "en-dlg",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "playbook",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vendor",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "keys",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ecr",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "docker-stack-deploy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "stack-backoffice",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "azure-pipelines",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "stack-docs",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "stack-infrastructure",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "nexus",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rollout",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "infra",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "destroy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "helm-init",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chart",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "ui-primitive classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "values",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "notes",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ingress",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "service",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "serviceaccount",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-connection",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "storeconfig-job",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ja4t",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4s",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4h",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 3,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "virustotal",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "c2-extractor",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trace-sdk",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deployments",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "client",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 3,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "route-client-reference-manifest",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "route-js-nft",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "build-manifest",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "app-paths-manifest",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "server-reference-manifest",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "server",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 3,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "vpc-peering-rules",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 3,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 3 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jsonrequest-parser",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "post-ec2ip2slack",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "doflow-eval3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-key",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "doflow-eval2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "scp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-eks-admin",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "powershell-backup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "configure",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "txt-to-csv-ftp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "grafana",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-krew",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "windows-admin",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dagah-installer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dagah2examplecommands",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "permissions-home-dagah-dagah-android",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "permissions-home-dagah-android",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ext-disk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-vagrant-aws",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "import-to-s3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "import-instance-to-s3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "aws-user-data",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "otherpypi",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ls",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-dagah",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sudoers",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "main",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "feature-request",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dispatcher",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "alert-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "app-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "core-routes",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "navbar-controller",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "thing-model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "upload-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "menus-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "toggle-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-create-controller",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-min",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "apps-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mfareport-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mfastatus-admins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-users-with-phone-mfamethod",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-entra-registered-devices",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-authentication-methods",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-audit-records-mfa",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-room-mailbox-usage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mfastatus-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-jmeter-ami-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "poll-jmeter-ami-version-control",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "launch-jmeter-ami-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "terminate-jmeter-ami-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "promote-jmeter-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "build-jmeter-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-app-config-store",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "load-app-config-store",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-inventory-store",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "load-inventory-store",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pipeline-packer-securitygroup-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "download-failed-log-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-svs-vis-mock",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "download-log",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "simian-army-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-elb-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "acceptance-tested-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-svs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "download-log-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-asgs-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-svs-elb",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "self-service-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "delete-old-stacks-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reverse-proxy-trigger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-svs-vis-mock-elb",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rubocop",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tnc-types",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "poll-version-control",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-static-analysis",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "verify-or-create-database",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-pipeline-gems",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-gems",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-smoke-test",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-infrastructure-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "promote-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-acceptance-environment",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-acceptance-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "blue-green-deploy-dev-environment",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-app",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-unit-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-elb",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-system-image",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "migrate-db",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-dotenv-app-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rails-userdata",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pgsqlbackup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "smack-my-bitch-up",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "user",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "angular-min",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "angular",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "objects-code-php",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "tabs",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dropdown",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "common",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "template",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "accordion",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "scripts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "gallery",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "text",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-tinymce",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "serializer",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "adapter",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "image",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "embed",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fixture-script-two",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "common",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "core",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ad-bulk-add",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-choco",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-puppet-win",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "convert-eval-to-standard",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-win-rm",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-psremoting",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-vagrant-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "disable-uac",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ec2",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "spot-instances",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "autoscaling",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "iam-permissions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "enable-docker-bridge-network",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "cluster-autoscaler-chart-values",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pre-userdata",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "makefile",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "changelog-tpl",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "case-studies",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "advisory",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "install-prompt",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "development",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4m-c",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4m-s",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4m-x",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "false-positive-checks",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "grouping-checks",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pcap-review-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "gaps-and-limitations",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "worker-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__job-manager",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "leases-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__job-manager",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "setup-ssl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "chat",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "apply-changes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ph3ar-web",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "feature-flags",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route-compliance",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "feed-pagination",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cobol-analyzer",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kanban-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "rules-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docs-publisher",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-dictionary",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "scoring-engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-emoji",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "with-trace",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "seo",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "accessibility",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "w3c",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "json-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-sources",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kanban-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "calendar-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-proxy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "encryption",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mask",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dynamo-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "discovery-search",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dynamo",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "baselines",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "infra",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analytics",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "retry",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cache-keys",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rate-limiter",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "firewall",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "register",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "verify",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "outbound",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-msi-editor",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "queue",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "insights",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "gridnet",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "workspace",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "client-trace",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platphorm-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "build-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "app-paths-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "server-reference-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "podcast-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "podcast-streams",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "podcast-catalog",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sentiment",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cosmological-id",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "servers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "game-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "multiplayer-slice",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "methods",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "q3dm17",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "forge",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "languages",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-reader",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "shipping-types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ai-tools",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 2,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "client-logger",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hmac",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "rss-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-space-news",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "network-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "identity",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "svg-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-svg-factory",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route-probe-tracing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sdk",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "plain-english",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trust",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "usl-core",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-usl",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fingerprint-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ipinfo-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "abuseipdb-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "universal-schemas",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "wrestlers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-wrestling-webby",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sample-xml",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xml-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-analytics",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-zine-reader",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sanitize",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sitemap-discovery",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "root-feed-sources",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vercel-analytics",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "addresses",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "translationstatus",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "signal-processing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "test-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "session-storage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tcl-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tcloo-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "bidi-brackets",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "property-aliases",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jamo",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "indic-positional-category",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "special-casing",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "blocks",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "named-sq-prov",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "read-me",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "script-extensions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "djoin-group",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "dbinary-properties",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "dnum-type",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sbtest",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "itcl-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tdbc-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fixinc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "config",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "prod",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dev",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 2,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "json-parser",
      "component_kind": "parser",
      "evidence_repos": "process-co__json-graph",
      "file_count": 2,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 2 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "crowstrike-auditor-v3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__DCF-Audit-Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "crowdstrike-auditor-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__DCF-Audit-Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "o365-auditor",
      "component_kind": "script",
      "evidence_repos": "mbarbine__DCF-Audit-Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "crowdstrike-auditor",
      "component_kind": "script",
      "evidence_repos": "mbarbine__DCF-Audit-Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fortisase-auditor",
      "component_kind": "script",
      "evidence_repos": "mbarbine__DCF-Audit-Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ninja-one-audit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__DCF-Audit-Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "grab-xml",
      "component_kind": "script",
      "evidence_repos": "mbarbine__JenkinsDB",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "grab-xml-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__JenkinsDB",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "secret-modal",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__PH3AR-WEBBY",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "secret-modal",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__PH3AR-WEBBY",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "script",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "readme-copy",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "setup-createcustomprofile",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "custombuildparameters",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "iosagent",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "script-d7085-dbc2-daa99494-d8-cfee7",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "script-e6662109529-b27-d8766-b6-e50",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "script-b8806-f7237-d4-e8685355-a3-c6",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "custom-certs",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "appl-dev-portal-setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "dagah-documentation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "releasenotes",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "targets10",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "targets100",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "targets101",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "targets2",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "apks",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "apks",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "settings",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "galera",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "template",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-base-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-prereqs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "maintaining-jenkins-readme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "clean-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "php-updater",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "authors",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "utils-line",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "change-measurement",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "chunk",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "changes",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "line-widget",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "selection",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "history",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "selection-updates",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "document-data",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "doc",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "update-dagah-test",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "serial",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fucking-coffee",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "init-docker-container",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "docker-env",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-vscode",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vs-code-extensions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "docker-cleanup-volumes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "makefile",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "manage",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "apidoc",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tasks",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "serializers",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "apps",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "urls",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "views",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "clouds",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "admin",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "0002-auto-20161111-2102",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "0003-opsuser-verified",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "core-module",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "alerts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "input-field",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "point-client-directive",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "y-icon-client-directive",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ng-focus-directive",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "config-constants",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "job-constance",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "alert-constants",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "event-emitter",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "app-dispatcher",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "config-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "app-actions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "alert-actions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "job-actions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "config-actions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "home-client-controller",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "stream-model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "user-model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "config-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "stream-model",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "user-model",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "footer-controller",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "main-nav",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sidebar-controller",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deploy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "logger-factory",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "delete-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "storage-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "modal-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "email-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "utility-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-module",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parser-routes",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-routes",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-config",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-api-service",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-list-controller",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parsers-detail-controller",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "job-box",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "selectbox",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "jquery-placeholder",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jquery-inview-min",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "api-request",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api-headers",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "input-field",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "job-actions",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "azure",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "storage-account",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "affinity-group",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "upgrade-pipsv2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-pips",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "upgrade-pips",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "config",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "targetsutils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "init",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tcpshell",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "enum",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ssl",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "config",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "unfollow-config",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "runall",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rundce",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "text",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "exchange-rules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "logs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ns8-server-notes",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "graph-audit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-graph-modules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cap-policies-devices",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cap-audit-test4",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cap-audit-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cap-audit-test2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cap-audit-test3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "o365-audit-final",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fix-graph-module-issues",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-user-audit-activities",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-old-guest-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-sensitivity-labels-for-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-audit-recs-guest-doc-access",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-microsoft365-groups-expiration",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mobile-devices",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-audit-recs-user-sign-ins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-guest-photos",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-teams-channels-with-web-sites",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "purge-messages-with-content-search",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-channels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-sposites-with-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-dlmemberships-counts-mg-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "convert-teams-background-files-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-email-exchange-hve",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-subscribers-in-groups-used-by-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-teams-reactions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-hard-deleted-user-accounts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-private-channels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-azure-automation-graph-modules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "monitor-teams-member-additions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sharing-audit-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-active-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "compliance-search-partially-indexed-items",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailbox-quota-used",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-permissions-folder-level",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-loop-workspaces",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-room-mailbox-usage-azure-automation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-last-accessed-date-documents",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-email-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-service-plans",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-mthistorical-logs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-teams-chat-message",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-email-runbook",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-graph-permissions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-individual-application-licenses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-last-account-sign-in-mg",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "last-logged-on-by-external-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-activity-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-news-items-from-rssfeed",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-label-changes-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-user-photos",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-retention-label-audit-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-entra-iddynamic-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-membership-m365-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-plans-for-user-device-code",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-hveemail-runbook",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-labels-and-check-microsoft365-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-service-health-information",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-service-principal-connections",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-inactive-teams-by-email",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-message-user-mail",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-teams-directory-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-compliance-holds",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "apply-sensitivity-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-service-principal-assignments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-email-mg",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-updated-office365-notifications",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "provision-one-drive-accounts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-all-exchange-audit-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-apps",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-primary-archive-folder-sizes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "azure-automation-groups-expiration-report",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "auto-apply-retention-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-service-plan2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-dlmemberships-counts-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-service-plan3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sensitivity-labels-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-new-conditional-access-policy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sposites-retention",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-candidate-copilot-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-app-consent-grants",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-teams-directory-spolist-pnp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-who-added-guests-to-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "disable-junk-email-options",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-recoverable-items-ps",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-user-sign-ins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-audit-eventsvia-email-runbook",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-azure-communications-email",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "post-items-to-httpwork-flow",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-all-email-proxy-addresses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sketch-pad",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-new-azure-adaccount",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "audit-record-audit-label",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-batch-processing",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-document-sensitivity-label-mismatches",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-user-update-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-loop-app-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-one-drive-storage-usage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-expiring-link-extended",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-ddlbased-on-smtpaddresses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-managers-and-direct-reports",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-copilot-interactions-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-teams-directory",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-message-about-deleted-stream-videos",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-old-guest-accounts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-utility-messages-from-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-audit-events-for-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-permissions-apps",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "clean-up-mailbox-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-m365-group-owners",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-unused-exo-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mail-usage-domains",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-plan-with-tasks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-send-as-audit-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "new-account-tracking-azure-automation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailbox-auditing-configuration",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-one-drive-usage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-licenses-disabled-accounts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "assign-licenses-via-csv",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-sensitivity-labels-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-permissions-on-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-one-drive-group-members",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-break-glass-users-capolicies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-mail-traffic",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-send-as-audit-data",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-delve-insights-disabled",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-dls-and-managers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-permission-consent-requests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-power-automate-flows",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-teams-external-chats",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-org-contacts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-recoverable-items",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-tenant-custom-branding",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mrmtags-on-folders",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-mailbox-auditing",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-audit-recs-file-updates",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-potential-directory-problems",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-ipgeolocation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-send-as-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-auroles-and-members",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-holds-on-mailbox",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "azure-automation-find-remove-teams-chats",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-obsolete-guests-by-activity",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-non-ssprenabled-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-policy-assignments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "purge-messages-with-search-mailbox",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-user-sign-in-data-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-kaizala-service-plans",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-quarantined-messages",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-under-used-copilot-licenseswith-audit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-permissions-shared-mailbox",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "convert-ddlm365-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-teams-holidays",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-files-with-down-graded-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-office365-groups-with-bad-guests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "azure-automation-add-members-team-channels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-group-photos-sdk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sposite-storage-usage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailbox-items-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-deleted-email-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-audit-rec-failed-sign-in",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-report-guests-added-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-yammer-community-activity",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-team-shared-channel",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-chat-info",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-files-sposite",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-deleted-odspdocuments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-service-plan-mg-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "archive-microsoft365-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-exo-mailbox-folder-stats",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "assign-multiple-licenses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "convert-account-to-internal",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-entra-iddynamic-aus",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-deleted-entra-idobjects",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-one-drive-files",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-app-lock-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-office365-power-shell-modules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-team-channels-with-wiki",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-managers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "convert-dlto-o365-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-user-membership-of-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-domain-blocks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-auto-expanding-archives",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-msg-to-group-owners",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-copilot-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-shared-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reporte-discovery-cases",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "search-and-remove-items-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-weekly-calendar-for-room-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-unused-service-principals",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "teams-groups-activity-report-v5",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-spofiles-document-library",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-expiring-app-secrets",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-obsolete-guests-by-activity-v3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-teams-chat-with-lotsof-mentions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "hide-groups-used-by-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-tabs-and-apps-in-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-delegated-permssions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-last-successful-sign-in",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-users-and-managers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-activity-alert-audit-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-obsolete-guests-by-activity-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-retention-policy-updates",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "assign-colors-sensitivity-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-restore-recoverable-items-audit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-who-created-guests-through-sposharing",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-teams-directory-spolist-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-devices-from-sign-in-log",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-service-plan",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sensitivity-label-settings",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-crucial-send-and-search-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailbox-sizes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-plans-for-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-white-board-info",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-viva-engage-core-service-plan",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-user-password-changes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-inactive-dls",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "assign-local-language-strings-sensitivity-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "restore-entra-iduser-new-upn",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-add-member-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-audit-recs-group-creation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-connections-m365-admin-center",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "add-contacts-to-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-when-anonymous-link-used",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fetch-service-messages-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-underused-copilot-licenses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "process-expiry-guest-accounts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-user-sign-in-data-graph-sdk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "teams-groups-activity-report",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-audit-events-runbook",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-outlook-signature",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "post-new-microsoft365-roadmap-items",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sharing-one-drive-files",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-microsoft-irmcapolicies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-service-principal-sign-ins-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "convert-mail-contacts-guests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-tags",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-external-email-sent",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-graph-user-statistics-report",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-archived-teams",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-service-principals-with-high-permissions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "set-intelligent-versioning-one-drive-sites",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-shared-mailbox-licenses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-static-retention-policy-azure-automation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-new-user-messages-hve",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-email",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-last-active-time-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sporetention-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-dlmemberships-counts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-compliance-case-holds",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-orphan-one-drive-sites",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-user-inbox-count",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-bad-guests-from-blocked-domains",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-graph-permission",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-managed-identity-permissions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-copilot-interactions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-owasignatures",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "set-auto-reply-teams-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-group-photos",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-microsoft365-user-account",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "switch-licenses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "add-teamsto-groups-expiration-policy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-azure-adaccess-review-details-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "search-audit-log-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "audit-spooperations-by-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-azure-addirect-connect-sign-ins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-stream-audit-events",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-targeted-collection-folders",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-mail-traffic-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "purge-compliance-search-items",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-channel-email-addresses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-plans",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-mail-items-accessed-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-csvfiles-for-skus-and-service-plans",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-groups-teams-activity",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-delegated-permissions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mail-traffic-statistics",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-group-based-license-counts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-bing-images-teams-backgrounds",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-shared-mailbox-quotas",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "decrypt-protected-spodocuments-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-sensitivity-label-usage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-inactive-email-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-user-assigned-licenses-mg-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-sposite-storage-used-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-service-alerts-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-role-assignments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "upload-many-attachmentsto-message",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-m365-group-memberships-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "disable-power-shell-admins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-mg-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "upload-large-attachment-chunks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-tenant-feature-updates-graph",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-activity-data",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-teams-external-access",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-accounts-with-forwarding",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "decrypt-protected-spodocuments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailbox-rights-assignments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-in-active-dls90",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "audit-records-teams-meetings",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-creationby-email",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "analyze-teams-meetings",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-microsoft365-group-creation-control",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-copilot-audit-records",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-teams-owners",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "teams-creation-report-by-email",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-m365-group-memberships",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "remove-posts-team-channel",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-audit-records-tagged-spofiles",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "find-groups-no-owners-or-members",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-license-assignments-to-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailbox-permissions-mailboxes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-expiring-passwords",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-mailboxes-enabled-for-ews",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rename-microsoft365-groups-naming-policy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "send-welcome-message-new-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-container-management-labels",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "audit-records-teams-recordings-uploads",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "report-spofile-versions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "teamsapp",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "instruction",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "manifest",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cap-audit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cis-update-codes",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "case-types",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "case-statuses",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reason-sents",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cucumber",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "employers",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "addresses",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "account-details",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "additional-verifications",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "system-data",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "account-detail-point-of-contacts",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "kitchen",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-userdata",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "keystore",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hamburger",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "create-jenkins-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-jenkins-elb",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-jenkins-image",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "become-production-jenkins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "common-bash-functions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-svs-base-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "launch-svs-base-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "poll-svs-base-version-control",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "promote-svs-base-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "build-svs-base-ami",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "terminate-svs-base-instance",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "instance-id",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "application-8f06a73c35179188914ab50e057157639fce1401c1cdca640ac9cec33746fc5b",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sg-rules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "top-ip-address",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sagemaker-image",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-appmesh-vgw",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "seed",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "062-get-s3-aps",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "612-get-dms-endp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sagemaker-image-versions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "410-get-config-recorder",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "awscc-vpc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sagemaker-app-image-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-includes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "712-get-eb-bus",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-apigw-resource",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-md",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "210-get-vpcpeer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ns8-base-amz-linux-ami-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "601-get-rds-ins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-iam-groups-for-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-support",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "414-get-config-recorder-status",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-lxc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "013-get-org-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "613-get-dms-tasks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-appmesh-vr",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "202-get-transit-gateway-route-tables",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "users-whitelist",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "parallel-import",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fucking-coffee",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "iptables-rules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "209-get-transit-gateway-route-table-associations",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "141-get-route-table-associations",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "745-get-kinesis-firehose-delivery-stream",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sc-portfolio-product-associations",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-appmesh-vgw-routes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "350-get-ecs-cluster",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-appmesh-vs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-mount",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-hash",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "asg2tf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "256-get-ec2-spot-fleet-request",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-snmp-disk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "800-get-cloudfront-dist",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "750-get-apigw-restapi",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "auto-scaling-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "258-get-autoscaling-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mongo-reclaim",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "101-get-vpc-cidr",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "051-get-iam-role-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ecs2tf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mini-tftsupport",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "412-get-config-delivery-channel",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "geoupdate",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "776-get-cognito-user-pool-client",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-eks-cluster-nodegroups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fix-def-route",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "prich-nginxconf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-glue-partition",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "660-athena-queries",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-encode",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "kodilauncher",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-security-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sc-portfolio-constraints",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-ecs-service",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-emr-scal-policy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "parallel-import2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "681-get-sagemaker-user-profile",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "scripts-draft",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "650-get-glue-database",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "060-get-s3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "130-get-natgw",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "442-get-ssm-association",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "360-get-appmesh-mesh",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "720-get-sqs-queue",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sd-service",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "011-get-orgaccounts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "225-get-cvpn-endpoints",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-secret-version",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "714-get-eb-target",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "416-get-config-rule",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "081-get-kms-alias",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "bluetoothcontrollers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "accesskey",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "111-get-dhcp-options",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "770-get-cognito-identity-pools",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-lambda-event-invoke-configs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "255-get-ec2-launch-templates",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sd-priv-dns-ns",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mongodb-backup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "371-get-emr-sec-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "autodoc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "627-get-code-artifact-repository",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "merger",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "svnconfbackup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-themes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "201-get-transit-gateway",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "629-get-code-pipeline",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-part",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "webdiff",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "restore",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "640-get-dynamodb-table",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-appmesh-r",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-glue-table",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "elbv2-listener",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "370-get-emr-cluster",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-utils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-usbmount",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "hangover",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mysqlbackup-snapshot",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chroot-ssh-freebsd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "user-perms",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "post-fixer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "999-get-cloudformation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "227-get-vpn-connections",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "bash-web-server",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-md5sums-script",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-stack",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-suborg-ou",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "252-get-c9",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "eks-auto-scaling-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fargate-profile",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-vpce-services",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "090-get-cloudtrail",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sns-topic-policy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "700-get-lambda-function",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "055-get-iam-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "100-get-vpc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "systemsetting",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "120-get-igw",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-apigw-method",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "680-get-sagemaker-domain",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "057-get-iam-access-key",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "702-get-lambda-layers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "625-get-code-build-project",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "107-get-network-acl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "021-get-sso-permsets",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "usbmodem-watchdog",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "713-get-eb-rule",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "template-bash-script",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "030-get-iam-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "udev-sixpair",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "731-get-sns-subscriptions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-transit-gateway-vpn-attachments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sagemaker-app",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sc-portfolio-principal",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "034-get-iam-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "630-get-lf-settings",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-eni",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "810-get-sc-portfolio",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "775-get-cognito-user-pools",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "type-get-transitgw",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "eks-launch-template",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "440-get-ssm-doc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "300-get-eks-cluster",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-areca",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-sync",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mp3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "631-get-lf-resources",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "080-get-kms-key",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "730-get-sns-topic",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sso-man-pol-attach",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "bash-exit-code-example",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-ecr",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fix-def-sgs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-eip",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "627-get-code-artifact-domain",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "elbv2-target-groups",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-priv-hzn",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vagrantcleanup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "java-prof",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ipfw-rules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "post-fix-vpc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "powerswitch",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-transit-gateway-vpc-attachments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-raid-etegro",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "602-get-rds-db-subnet-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "056-get-instance-profile",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sc-portfolio-products",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-iam-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-eks-cluster-all",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tail-with-thread",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-lambda-alias",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-sso-inline-pol-attach",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "052-get-iam-attached-role-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "kumar-asshole",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-appmesh-no",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "135-get-transit-gateway-vpc-attachments",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "svncreat",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "whatsapp-install",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "010-get-organization",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "351-get-ecs-task",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "recalbox-create-share",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vpc2tf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "240-get-directories",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tar",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "445-get-ssm-params",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "771-get-cognito-identity-pool-roles-attachment",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "semversioner",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "140-get-route-table",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "250-get-ec2-instances",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "105-get-subnet",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-subnet-parallel",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "220-get-custgw",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "parallel-statemv",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "050-get-iam-roles",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "070-get-cw-log-grp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-transit-gateway-routes",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-org-policy-attachment",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "110-get-security-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-lambda-permission",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "shell-color",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-inprof",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-s3-policy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "161-get-vpce",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "elbv2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "740-get-kinesis-stream",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "elbv2-listener-rules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "012-get-org-ou",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "611-get-dms-ins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-emr-inst-group",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "host-checker",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "450-get-secrets",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "logrotate",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mysqlhotbackup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mysqlbackup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-carp-wrapper",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-carp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-instance-network-interface-attachment",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "block-ip-daemon",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "block-daemon-wrapper",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "make-ks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vagrantuser",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-sampledata",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "copying",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "license-afl",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "issue-template",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "travis",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "backup-blacklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "cron",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "angular-ng-storage-min",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "landing",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "readiness-check",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "home",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "updater-success",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "data-option",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-updater",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "success",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "customize-your-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "angular-sanitize-min",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "angular-clickout-min",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mutation-observer",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "moment",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "moment-timezone-with-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "es6-collections",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "match-media",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "legacy-build-min",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "form-data",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "smart-keyboard-handler",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "collapsible",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "decorate",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sticky",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webapi",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "translate",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fieldset-controls",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cookies",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "terms",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deletable-item",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "bootstrap",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "redirect-url",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "toggle",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "translate-inline",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "loader-old",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "zoom",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "list",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "popup-window",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "item-table",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "edit-trigger",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dropdown-old",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dropdowns",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "menu",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ie-class-fixer",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "calendar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "captcha",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "url",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "data-post",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "translate-inline-vde",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "loader",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "main",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mixins",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "static",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "resolver",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "wrapper",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "misc",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "arrays",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "main",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "objects",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "compare",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "strings",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "template",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "notification",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "action-link",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "bootstrap",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tree-suggest",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "floating-header",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editablemultiselect",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jstree-mixin",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "form",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "ui-primitive classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "menu",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "composite",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "globals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "backup",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "varien-loader",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "browser",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "widget",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "html5-schema",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "url",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "less-min",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-details",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jquery-storageapi-min",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-hover-intent",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-tabs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-migrate",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jquery-ba-hashchange-min",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-parsequery",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-cookie",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-metadata",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-multiselect",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-editable",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-hotkeys",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "colorpicker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "canvas-to-blob",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-fileupload-fp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-fileupload-ui",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "load-image",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-iframe-transport",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "locale",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-xdr-transport",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-postmessage-transport",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dom-ready",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "window-readme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "prototype-amd",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "js",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "modernizr-details",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "modernizr-2-0-6",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fotorama-min",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ext-tree-checkbox",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ext-tree",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "defaults",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "magnifier",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ccard",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "builder",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "knockout-fast-foreach",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "knockout-repeat",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "knockout-es5",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tiny-mce-dev",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tiny-mce-prototype",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tiny-mce-popup",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tiny-mce",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tiny-mce-jquery",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "editor-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "popup",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "window-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "control-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "add-on-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "undo-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "force-blocks",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editor-commands",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "legacy-input",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "control",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "split-button",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "drop-menu",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "separator",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "native-list-box",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "color-split-button",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "menu-button",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "keyboard-navigation",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "ui-primitive classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "list-box",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "menu-item",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "button",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "toolbar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "menu",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "container",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "toolbar-group",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "quirks",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jsonrequest",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "json",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xhr",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jsonp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cookie",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "uri",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sax-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dom-parser",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "entities",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "node",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "schema",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "writer",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "styles",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "range",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "event-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "element",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tree-walker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "range-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "script-loader",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trident-selection",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "props",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editor-plugin",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "element-common",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "acronym",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cell",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "row",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "table",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fullpage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "advlink",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "media",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "rule",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editable-selects",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mctabs",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "form-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validate",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editor-template",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "source-editor",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "charmap",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "color-picker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "editor-template-src",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "readme-tex",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "licence",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "gpl",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ofl",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dynamic-return-type-meta",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "phpcs-precommit-hook",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "black-list-generator",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "clean-black-list",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "static",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "collect-validation-files",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mage-minify",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "exec",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "eslint",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "concat",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "themes",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jscs",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "usebanner",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "autoprefixer",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "less",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cssmin",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "combo",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "watch",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "replace",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "path",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "imagemin",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "styledocco",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "requirejs-util",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mage-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "decorate-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tree-suggest-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tabs-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "button-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jquery-loader-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "loader-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "zoom-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "translate-inline-vde-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "edit-trigger-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "events",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "prompt",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ui-primitive classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "msrp",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "template",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "apply",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "static-jsbuild",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "statistician",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "static-text",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "index",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "connect",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jasmine",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tools",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fn",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "local",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "external",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "some-file",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "paths-one",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "paths-two",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "file-three",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "file-two",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "file-one",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "robots",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "composer4",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "composer5",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "composer2",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "composer3",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "composer1",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "methods-code-php",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "js-phrases-for-test",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "composer",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "b",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "a",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "test",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sample",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "tabs",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ui-primitive classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "theme-file-with-2-dots",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "theme-file",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "scripts",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "fixture-script",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "magento",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "blacklist-ce",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "blacklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "scan-list",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ce",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "reference",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "exception-hierarchy",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "before-install",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "before-script",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "evil-ports1",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-ad-schema-ver",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "provision-log-buckets",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reverse-ssh-tunnel",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-lambda-role",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-lambda-code-s3-bucket",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "multisheet-excel-to-multi-csv",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-event-source",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "monitor-adgroup-member-ship",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ad-new-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "evil-port2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vm-resource-interrogator",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "export-ntune-data",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-lambda-function",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ad-bulk-add-new",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "file-compare",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "new-compare",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ad-module",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-ou-add",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ad-add-delim",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "aws-post",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "testql",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "backup-db-all",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test4",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test5",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test1",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "push2cd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "validate-site",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "example-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "stop-site",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-site",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-elb-ssl-neg-policies",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vagrant-setup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "backup-ami",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "aws-security-group-details",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-httpd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "appspec",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "common-functions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deregister-from-elb",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "stop-httpd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "register-with-elb",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-ec2-up",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-provision",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "all",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "copy-configs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-advanced-firewall",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "centos-7",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "disable-advanced-firewall",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "configure-secure-auth-packet-firewall",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "disable-dhcp-traffic",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-secure-auth-ftp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "disable-secure-auth-ftp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "buildmodsecnginx",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "secure-auth-packet-firewall",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "prepare-secure-auth-default-rules",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "enable-dhcp-traffic",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "msiexec",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-win-service",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "commands",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ssh-auth",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "installopenssh",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chrome",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "uninstall",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "firefox-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "firefox",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "flash-player",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "adobe-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "flash-player-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "internet-explorer-version",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "script-vbs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "checking-hf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "computers-online",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "installing-wannacry-hotfix",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "java-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "architecture-x64",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "adobe",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "java",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chrome-v2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "system-recovery-script-1",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "thread",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "download-1window",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "extract",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "download",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "helmenv",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "k8s-dashboard",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "set-secrets",
      "component_kind": "script",
      "evidence_repos": "mbarbine__Scripts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "blog-post",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__airrow-commuter-balloon",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "api-documentation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__autographed-bibles-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "seed-bibles",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__autographed-bibles-webby",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-mcp",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__autographed-bibles-webby",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-dictionary",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__autographed-bibles-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "traefik-compose",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-all",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "bootstrap",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "k8s-provision",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "k3s-provision",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "package",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "package-lock",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "package",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "build",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "php",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-once-post-deploy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "s3-backup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-lab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-vars",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "exec",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "modules",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fluent-bit-configmap",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-casc",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "nextjs-deployment",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cluster-autoscaler",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "nextjs-values",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "setup-dns",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-alb-ingress-controller",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "validate-eks-cluster",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-nextjs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "configure-acm",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-cli-brew",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "aws-eks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-restore",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "configure-jenkins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-cloudwatch-agent",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "readme-deploy",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-etcd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "create-eks",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "populate-vars-dev",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rotate-keys",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jenkins-backup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-jenkins",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "validate-vars",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy-eks-monitoring",
      "component_kind": "script",
      "evidence_repos": "mbarbine__aws-next-k8-cluster-deploy",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "advisory-launch-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "use-advisory-analytics",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sendgrid",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__barbineworldwide-2026-metahack",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "process-manifest",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__beepboopprocess",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ae2c0b5c-707b-49dd-aefd-f3fd1a06dc6c",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__beepboopprocess",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "1cc504bb-5d02-4915-947b-ea96b24a5090",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__beepboopprocess",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "2271ef92-4e20-4a70-ae0a-ca4ffdef6671-cmgvi582y02hg7x17wrox6wbu",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__beepboopprocess",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "technical-readme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "performance-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "permissions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "security-middleware",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "auth-utils-server",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "data-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "toast-notifications",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "n8n",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "toast-pos",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "google-services",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__beer-museum-manager-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "launch-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "final-testing-report",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "testing-report",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "setup-database",
      "component_kind": "script",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dealer-fix-report",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "enhancement-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "full-schema-explore",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "seed-basic-data",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "explore-orders-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "explore-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "setup-dealers",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "create-test-users",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-and-seed",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__burrito-dealer-www",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "api-spec",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "platphorm-news",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "seo-share",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kanban-logging",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jobs-logging",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "json-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ics-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__calendar-app-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ai-chat",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__civic-engagement-platform-webby",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "delivery",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "rotate-prompt",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "route-handlers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "achievements-enhanced",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "schema-enhanced",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-orientation",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "leaderboard-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "page-content",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "desertbus-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "charity-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "haptics",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "leaderboard",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__desert-bus",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "install-ansible-ubuntu",
      "component_kind": "script",
      "evidence_repos": "mbarbine__docker-terraform-aws-demo",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "lamp-setup",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__docker-terraform-aws-demo",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "blog-post-ph3-ar",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "index-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "real-time-chat-support",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "llm-index",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__fashion-sadiepass-WWW",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "life-goals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fortune-uuid",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pwa-install",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "fortune-generator-phase1",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "environment",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "use-pwa-install",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "add-carlin-quote",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fortune-uuid",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "share",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja4-x-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja3-ja4-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "about-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "labs-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "integrations-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-s-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-ssh-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-t-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-h-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-tscan-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-ts-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "blog",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__foxio-labs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "test-frontend",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__front-runners-webby",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "community",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__front-runners-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "weather",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__front-runners-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "steam-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__gamer",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "readme-old",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__gta-6-countdown-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "platphorm-net-opt",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__gta-6-countdown-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "production-ready",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__gta-6-countdown-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "i18n-tooltips",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__gta-6-countdown-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "performance-config",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__gta-6-countdown-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "greens",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "local-db",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docker-compose-production",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "manage-new",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dev-manage",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "manage-production",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "manage-legacy",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "mongodb-root-password",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sniffer",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "tests",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "alerts",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "rules",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "install-wildduck",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "common",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "help",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "services",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "testing",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "container-monitor",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tcp-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tls-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "geo-enrich",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dns-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cert-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__ja4-sidecar",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tsconfig",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__ja4-vercel-lab-2",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "setup-supabase",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4-vercel-lab-2",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "verify-vercel",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__ja4-vercel-lab-2",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "runbook",
      "component_kind": "runbook",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "runbook classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "acceptance-criteria",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "milestone-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-summary",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "stop-capture",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "slice-pcap",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "process-zeek",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-capture",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "truth-and-limitations",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-m-pcap-testing-guidance",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-m-draft-spec",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "scenario-matrix",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "scenario",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "groupings",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "false-positive-checks",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "grouping-checks",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "assertions",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "glossary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "draft-blog",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "executive-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "assessment",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "why-ja4-m",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "test-compose",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-v7-agent-ready-plan",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "discoverability-contract",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-m-pcap-testing-guidance",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "capture",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "reporting",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "v7-missing-from-this-repo",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "install",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "capture-bundle-contract",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "network-discovery",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-m-lab-v7-agent-ready-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "opendocs-model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "scenarios",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "scenario-matrix",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4m-mcp-example-v2-readme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "openclaw-model",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "service-contracts",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "v7-prompt-pack",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "file-inventory",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "whitepaper",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "mcp-lab",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "run-all-core-scenarios",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "derive-fingerprints",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "wait-for-services",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-tls-scenario",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-large-delivery-capture",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-openclaw-xai-smoke",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reset",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "down",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-scenario",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "up",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "action-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "081-long-running-multi-agent-ja4m",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "070-ide-agent-profiles",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "084-human-originated-agent-chain-ja4m",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "entrypoint",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "platphormnews-skill",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ja4mlab",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "deploy-template",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__job-manager",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "devcontainer",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__job-manager",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vitals",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__legacy-platphorm-news",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jobs",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__legacy-platphorm-news",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "feature-ui classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "do",
      "component_kind": "script",
      "evidence_repos": "mbarbine__lettuce",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "project-board",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__lettuce",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "lib",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__lettuce",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "transforms",
      "component_kind": "transformer",
      "evidence_repos": "mbarbine__lettuce",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "transformer classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__lettuce",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "edgedb-commands",
      "component_kind": "script",
      "evidence_repos": "mbarbine__mailthing-api",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "postman-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__mailthing-main",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "credits",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "calc",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "toast",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "ui-primitive classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webhook",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__mailthing-main",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-session-unix",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-session",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-windows-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-stub",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-validations",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-tables",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "commands",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "splash",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__msicrafter",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "demo-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__multiplayer-puzzle-game",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "quality-check-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "readme-documentation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "stop",
      "component_kind": "script",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "property-comp-analyzer-ai",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ai-property-comp-analyzer",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "nad-property-context-enrich-score",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "nad-zip-high-potential-summary",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ai-property-comp-analyzer-v2-clean",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "zillow-data-downloader",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "120-ai-property-comp-analyzer",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "nad-offer-strategy-lowball",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "zillow-single-table-loader",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deployment-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "workflow-quality-report",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "letsencrypt-auto",
      "component_kind": "script",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cloudflared-start",
      "component_kind": "script",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "backup-summary-20250713-134815",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250918-220504",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250713-141327",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250916-152219",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250916-152027",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250916-151926",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260216-151918",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250916-151649",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260215-164615",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250916-151850",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260215-164549",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260216-131947",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250916-151732",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250713-143000",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250918-221505",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260215-171658",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250713-135917",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260216-140103",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20260216-135833",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250713-142540",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "backup-summary-20250713-141129",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__n8n",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "counter",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__news-api",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "header",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__news-api",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "02-update-models",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-4",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "01-quick-start",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__nextjs-ai-4",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "03-blocks",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__nextjs-ai-4",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "custom-middleware",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "index",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "update-document",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "create-document",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__nextjs-ai-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "ja4-atlas",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-atlas",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "correlator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "client-collector",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__nuclear-power-plant-webby-NPaaS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kanban-created-tasks",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "security-salt",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "benchmark-workflow-ingest",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "provision-ops",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__onboard-platphorm-boilerplate-repo",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "upgrade-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "post-template",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "move-post",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "styling",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ai-is-quieter-than-you-think",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "welp",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ai-took-my-job-and-thats-okay",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "image-resizer",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "create",
      "component_kind": "script",
      "evidence_repos": "mbarbine__ph3ar-blog",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "auth-helper",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "auth",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "artifacts",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "auth-setup",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "reasoning",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "reasoning-setup",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "utils",
      "component_kind": "prompt-template",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "prompt-template classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "basic",
      "component_kind": "prompt-template",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "prompt-template classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "artifact",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "artifact-messages",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "providers",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "0005-snapshot",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "01-core-to-parts",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__ph3ar-chatbot",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "gitlab-ci",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__ph3ar-web",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "community-guidance",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-web",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "style-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__ph3ar-web",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "recovery",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "phase1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "local-report-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "inventory",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "link-check",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "reports",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "recovery",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-404",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "enterprise-ui-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "production-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "network-alignment",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "tool-flow-diagram",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sanitization",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-key",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "phase1",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "workflow-drafts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "workflow-registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "repositories",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "metrics",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "schemas",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-agentui",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-ai-photo-enrichment",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "enhancement",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-ai-photo-enrichment",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "auto-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ai-photo-enrichment",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "converter",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-ascii",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "default-ascii-art",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-ascii",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "schema-api",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-ascii",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "generate-assets",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-ascii",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "conversion",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-ascii",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "roadmap-seo",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "seo-accessibility-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "mock-auth",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mock-markets",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "polymarkets",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "auto-auctions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "shipments",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platphorm-mcp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ebay-enrichment",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-auction-vice",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "data",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "network-filters",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "codehealth",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "filters",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-base",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "implementation-report",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "testing-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "quickstart",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "chat-user-list",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "chat-room",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "database",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "db-init",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "atlas",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "reader",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "navigation",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "bbs",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-bbs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "patch-docs-again",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "patch-docs-again-v3",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "journeys",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "schema",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "policy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trusted-domains",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "redaction",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "browser-trace-linker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "contract",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "agentui",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webhooklab",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sandbox",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "evals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "accessibility",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "playwright-runner",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "stagehand-runner",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trace-export",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "evals-export",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-eval classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "network-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "contracts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-browserops",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "claude",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "pull-data",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sources",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-business-EmployerServicesIncorporated",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "handlers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "faq-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "cobol-operations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api-routes",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cobol-samples",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-cobol",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "slides-platform-architecture",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-codex",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "slides-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-codex",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "slides-platform-spec",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-codex",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "static-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-codex",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "utils-server",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-codex",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cloudflare",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-codex",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "launch-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ai-confidence-indicator",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "get-user",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "demo-data-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "nested-play-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "session-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "analytics-tracker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "error-tracker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "performance-monitor",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "notification-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tooltip-content",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "enhanced-mock-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-content-showback-dashboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "guidance",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "product-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "privacy",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "data",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "api-specification",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "maintenance",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "platphormnews",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "integration-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ux-ui-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "system-architecture",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "integration",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ioc-extractor-categorization",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ioc-extractor",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "patterns",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "decoders",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-route",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "adapter",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-desa",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "implementation-complete",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ax-ux",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "i18n",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "seo-aeo",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "features-implemented",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ai-assistant",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "canvas-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "export-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "design",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "navigation",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "layers",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "submit",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "theme",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-design",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "trace-realm-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-dictionary",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "run-tests",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-dictionary",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "export-generators",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-dictionary",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "seed-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-dictionary",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-integration",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-emoji",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "use-unicode-emoji-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-emoji",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "build-emoji-db",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-emoji",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "parse-emoji-list",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-emoji",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vercel-output",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "production-build-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-fix-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-index",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "test-db-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "evals",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-eval classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "graders",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "implementation-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "data-model",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "troubleshooting",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "api-surface",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "build-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "summary",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fix-package",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "diagnose",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-build",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "release-gate-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "suite-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "run-orchestrator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dataset-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "browserops-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "agentui-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webhooklab-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docs-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "network-graph-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-hub-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "spec-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sandbox-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "claws-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "local-upsert",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "service-probing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "grader-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "regression-service",
      "component_kind": "algorithm",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "algorithm classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "scorecard-service",
      "component_kind": "algorithm",
      "evidence_repos": "mbarbine__platphorm-evals",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "algorithm classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "local-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "compare",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hash",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "collector",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "canvas",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "timezone",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fonts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "lies",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "audio",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "navigator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "domrect",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "resistance",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webgl",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "headless",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "screen",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "generators",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "provider",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "verification-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "i18n",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "project-completion-summary",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "pageinsights-implementation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "references",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "implementation-verification-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "core-web-vitals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "discovery-engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "registry-ranking-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "page-insights-sdk",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "enhanced-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sitemap-update",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ph3-ar-architecture",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "framework-helpers",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "check-build",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "verify-build",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-eval-audience",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-eval classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "run-eval",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-eval classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "screenshots",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "bridge",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "test-registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ranking",
      "component_kind": "algorithm",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "algorithm classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "safe-html-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server-insights",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "export",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "compliance",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ai-analysis",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "carbon",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "routing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-insights",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "testing-instructions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "calendar",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "ui-primitive classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jitsi",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "kanban",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sitemap",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "grok",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jobs-server-store",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-jobs",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "namespace-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "document-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "universe-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "episode-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "schema-registry",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "yaml",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sharing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-json",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route",
      "component_kind": "onboarding",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "onboarding classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jules-mcp-server",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-upstream",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "platform-security",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-integrations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-local-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-v0",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jules-live",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-jules",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pr-message",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "route",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-eval classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "board-workflow",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "mcp-workflow",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "mcp-client-extended",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "public-calendar-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kanban-api-handlers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-kanban",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "file-manifest",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "completion-report",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "keys-management-readme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "technical-documentation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "security-audit",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "actions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-keys",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-reduced-motion",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "breadcrumbs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "meta",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "exporters",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "templates",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "analyzer",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xml",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "index",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "index",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "svg",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-layout",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fix-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "inline-cron",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "testing-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "test-domain",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "revert-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "protocol",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "hooks-ordering",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "webhooks-deploy-route",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "webhooks-vercel-route",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "registry",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "canonical-registry",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "prompts-production",
      "component_kind": "prompt-template",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "prompt-template classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "mcp-config",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "accessibility",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "discovery",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "secret-modal",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "phase-2-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "onboarding-observability",
      "component_kind": "onboarding",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "onboarding classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "internationalization",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "prompts-section",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "server-prompts",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "fix-tools-section",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "seed-mcp-data",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-tools-section",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "trust-policy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "public-routes",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sitemap-index",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "canonical-registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "github-sitemap",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "protocol",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "icons",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "reconciliation",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "federation",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deployments",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sites",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "phase1-contract",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "verticals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "index",
      "component_kind": "prompt-template",
      "evidence_repos": "mbarbine__platphorm-mcp",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "prompt-template classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "phase-1-platform-contract",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-mini-games-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "platform-lint",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-mini-games-webby",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "routes",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mini-games-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "faq-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-mini-games-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-mini-games-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pre-commit-instructions",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "utils",
      "component_kind": "infrastructure-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "infrastructure-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deployment-status-badge",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "feature-ui classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "seo-llm",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "route-benchmark",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "setup-dynamodb",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "baselines-bench",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "detector",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "incidents",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "timeout",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "checks",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "grouping",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "projects",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dedup",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cache-keys-bench",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "types",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "domains",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dedup",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-monitor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vitest-setup",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-msi-editor",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "operations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-msi-editor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "msi-parser-extended",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-msi-editor",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "shopify-setup-verification",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-newdittyswag-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "shopify-access-token-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-newdittyswag-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "deployment-instructions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-newdittyswag-www",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "parse-shopify-domain",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-newdittyswag-www",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hacker-news",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-news-alt-theme",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "db-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-news-alt-theme",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "time",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-news-alt-theme",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vercel-og-d",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "phase-2-automation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "packages",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "onboard-platform-helpers",
      "component_kind": "onboarding",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "onboarding classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth-policy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "subdomains",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "applications",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sessions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "onboarding-wizard",
      "component_kind": "onboarding",
      "evidence_repos": "mbarbine__platphorm-onboard",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "onboarding classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sandbox",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "code-health-pr",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "submit-message",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "platphormnews-architecture",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "schemas-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validator-errors",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "openclaw-mcp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-tools",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "agent",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "webhooks",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "queue",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "identity",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "heartbeat",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "memory",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "bootstrap",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "user",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "soul",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "boot",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "tools",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "2026-03-18",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "skill",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "benchmark-webhooks",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-schemas",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "opendocs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "memory",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platphormnews",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "templates",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "platphorm-agent",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__platphorm-openclaw",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "extractors",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "content-metadata",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docs-openapi",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "cron-content-health",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cron-categories",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "api-full-coverage",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "content-types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "node-network",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "bluesky",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tiktok",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "instagram",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "license",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "soundcloud",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "facebook",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "x",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "apple-podcasts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vimeo",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "podcast",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "youtube",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "boxcast",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opencontent",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "clipping",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-opendocs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vercel-pro",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "page",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "page-client-reference-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "page-js-nft",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "react-loadable-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "next-font-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "route-client-reference-manifest",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "route-js-nft",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "0idx-next-dist-compiled-vercel-og-0neebny",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "next-internal-server-app-api-cron-sync-catalog-route-actions-0dpotyj",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "lib-rss-ts-09m6lac",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "next-internal-server-app-api-cron-validate-feeds-route-actions-0wyp9-t",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "next-internal-server-app-api-ai-chat-route-actions-0bp-rsc",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "lib-rss-ts-0lisoka",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "next-internal-server-app-api-ai-recommend-route-actions-0q1epz",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "next-internal-server-app-well-known-ai-plugin-json-route-actions-0zbcj-f",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "0ozc-vercel-oidc-dist-token-0m1934l",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "next-internal-server-app-api-ai-analyze-route-actions-0p-7b9a",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "next-internal-server-app-chat-page-actions-0ymiytn",
      "component_kind": "ai-chat",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-chat classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "0ozc-vercel-oidc-dist-token-0qkzh69",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "app-api-docs-page-tsx-134x5g4",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "podcasts-phase1",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "feeds-index",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "register-cron",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-integrations",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "podcast-ingest",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "feed-validator",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "crypto-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "podcasts",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fetcher",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "detect",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "paths",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "admin",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parse-rss",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "url-policy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fetch-feed",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-resolver",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "detect-format",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dedupe",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "feed-url",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "parse-feed-document",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-podcasts",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "setup-instructions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-politics",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pdf-generator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-politics",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "run-tests",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "universal-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "update-impl",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-mcp-env",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "update-arch",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "rss-generator",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "discovery-docs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-logger",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "market-signals",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "clob-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "atom-generator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "goals",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "polymath-mentor",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "mcp-manifest-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "polymaths-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "home",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-polymaths",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "projects-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-portfolio-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "react-dom-test-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "multiplayer",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "bot-slice",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "types",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "player-slice",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ui-slice",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "game-flow-slice",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "kill-feed-slice",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "settings",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mobile-input",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "quake-model",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-quake",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "deep-research-report",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-reader",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "use-analytics",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-reader",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "analytics-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-reader",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "lru-cache",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-reader",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "test-health",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reset-and-seed",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "seed-production-data",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "seed-database",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "api-auth",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "data-sync",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "error-logger",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "monitoring",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "session-tracker",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-NAD",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "create-foundation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-real-estate-property-evaluation",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "password-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-real-estate-property-evaluation",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "csv-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-real-estate-property-evaluation",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "data-loader",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-real-estate-property-evaluation",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trust-engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-register",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "final-status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "final-launch-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "complete-summary",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "guest-session",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "agent-session",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "clients",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jsonrpc",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "feeds",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "runtime",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sandbox",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sheet-storage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sheets",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "file-parser",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-sheets",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server-state",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sheets",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api-handlers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-sheets",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "edge-runtime-compatibility",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "vanagain-shipping-solution-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "rate-calculator-form-e2e",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "feature-ui classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "usps-service-retry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "code-health",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "code-health-review",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "shiprush-service",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "test-descriptions",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-shipments",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-locale",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-signs",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "model-service",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-space-news",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "feed-sources",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-space-news",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "network-spec-sources",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "spec-runs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cuids",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "types",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "repair",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "action-manifest",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "typescript",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "curl",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "policies",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tags-generator",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tracing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tags",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-spec-workbench",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "image-processing",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-stannp-api-wrapper",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "stannp-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-stannp-api-wrapper",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "svg-micro-factory-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-svg-factory",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "svg-catalog",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-svg-factory",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "svg-operations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-svg-factory",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "test-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "extract-components",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "split-4",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "split-2",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "split-3",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "split-1",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "network-registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route-probe-storage",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ethics",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "atlas-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sandbox-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "monitor-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "quake-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "insights-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sheets-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webhooks-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "publish-job",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "lab-trace-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mcp-registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trace-views",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "trace-registry",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "route-probes",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "real-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "spins",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "site-catalog",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "de",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "zh",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fr",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pt",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ko",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-trace",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "unified-sign-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-usl",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "integration-status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pcap-parser-d",
      "component_kind": "parser",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "v2-0-0-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "vercel-firewall-integration",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "sensor-verification",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "v2-0-0-implementation-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "database-management",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "n8-n-integration",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "enrichment-dropdown-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-standards",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ingest-sources",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "database-dynamic-fields",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "improvement-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "nextjs-16-migration",
      "component_kind": "migration-plan",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "migration-plan classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "system-status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "deployment-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "database-migration-plan",
      "component_kind": "migration-plan",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "migration-plan classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "vercel-integration",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cron-bench",
      "component_kind": "scheduled-job",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "scheduled-job classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "hooks",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sensor-data-validation",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server-check",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "benchmark-vercel-sync",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "severity-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja4-validator",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "api-keys",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sources-cache",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pcap",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "driftnet-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "huntio-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-vercel-atlas",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "deployment-ready",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "submit-comment",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "launch-checklist",
      "component_kind": "script",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "implementation-notes",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "webhook-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cuid",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "signatures",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-webhook-simulator",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "patch-llm-txt",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__platphorm-wrestling-webby",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "seo-strategy",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphorm-wrestling-webby",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "structured-data",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xml-types",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xml-store",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xml-tools",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "platform-config",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xml-api-handlers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-xml",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vercel-integrations",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphorm-zine-reader",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "use-translation",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-zine-reader",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "field-guide-content",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphorm-zine-reader",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hn-roadmap",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "blog-post-ph3ar-2026-02-19",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "lcars",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "vercel-domains",
      "component_kind": "deployment-automation",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "deployment-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "root-stories",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "outreach",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "root-discovery",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dynamodb",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "learnings",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "review-request",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "hooks-server",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "games",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "news-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "docs-news",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "phase1-root",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "health",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server",
      "component_kind": "ai-eval",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-eval classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "page",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__platphormnews-www-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "process-co-api",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "server-actions",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "deploy",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "workflow-actions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "process-co-actions",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "websocket",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "prisma",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "email-intake",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "telemetry-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "server-tracking",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "wildduck-enhanced",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "github-integration",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "supabase-server",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "webhook-manager",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "with-safe",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "telemetry-server",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "client-analytics",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "supabase-client",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "workflow-dispatcher",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "neon",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "board",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "d3-visualizations",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__process-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "etsy",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__reflux-site-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "optimize-images",
      "component_kind": "script",
      "evidence_repos": "mbarbine__shopify-theme-vanagain",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "auth0-callback-hanging-fix",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "stannp-api-setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "integration-complete",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth0-stripe-integration-complete",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "foreign-key-fix-implemented",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "credit-refund-system",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth0-login-fix",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth0-database-fixes",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth0-setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth0-user-management-complete",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "stripe-setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "auth0-auto-save-implementation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "stripe-auth-implementation",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "final-qa-checklist",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "postcard-enhancements",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "uuid-conversion-fix",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "test-auth0-autosave",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "verify-presets",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-postcard-implementation",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "audit-all-presets",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-auth0-stripe-integration",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "pdf-converter",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "stannp-api",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__stannp-gpt-5-test",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "image-optimization",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__starphone-web-svelte",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "s3-upload",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__tiktok-clone",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "wayback-save-now",
      "component_kind": "script",
      "evidence_repos": "mbarbine__tools",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "meta",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__turborepo-react-native",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "blog-post-ph3ar",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__two-doller-web",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "shopify",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-2025",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "playwright-post-deploy-config",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "orders-core",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "category-page",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "vehicle-part-types-migration",
      "component_kind": "migration-plan",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "migration-plan classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "upload-product-assets-script",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cart-client",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "wishlists",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "roadmap-singletons",
      "component_kind": "roadmap",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "store-layout",
      "component_kind": "state-store",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "account-authenticated",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "fixtures",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mock-request",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mock-redis",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mock-logger",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "migration-guide",
      "component_kind": "migration-plan",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "migration-plan classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "api-guide",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "modernization-plan",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "007-import-legacy-users",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "shopify-add-product-tags",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "shopify-upsert-pages",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "build-shopify-product-template",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "import-legacy-dump",
      "component_kind": "script",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "optimize-s3-products",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "upload-product-assets-to-s3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "migrate-mysql-to-neon",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "check-migration-state",
      "component_kind": "migration-plan",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "migration-plan classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "coupons",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "checkout",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "session-cookie",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "legacy-mail",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "wishlists",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "security-headers",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "branding",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "phpass",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "mailchimp",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pl-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fr-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "zh-cn-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "nl-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "th-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pt-pt-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "cs-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "de-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "pt-br-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "es-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ja-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "tr-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fi-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ko-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "it-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "en-default-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "da-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "nb-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "zh-tw-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "sv-schema",
      "component_kind": "schema-validation",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "def",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "jquery-fancybox-thumbs",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-fancybox-media",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "jquery-fancybox-buttons",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "masonry-portfolio",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "extended-portfolio",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "lightbox-gallery",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fullwidth-gallery",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "contact-2",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "faq",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "4col-portfolio",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "contact",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "index-gallery",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "2col-portfolio",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "masonry-gallery",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "isotope-gallery",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "isotope-grid",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "modals",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "reveal-animate",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "translations",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pt",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "et",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sl",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "hr",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fi",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "th",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "eu",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sq",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "bg",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "id",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ca",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "cy",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "translationstatus",
      "component_kind": "specification",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "specification classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pt-br",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "da",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "sv",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "km",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fr",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "nl",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "fr-ca",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "en-gb",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ar",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "it",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "plugin",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "show-hint",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "javascript",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__vanagain-site",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "ai-chat-section",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__vanlife-website",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "feature-ui classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "troubleshoot",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "docker-compose-no-ssl",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "run-mount-analysis",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-services-quick",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "manage-users",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "docker-compose-clean",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-wildduck",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "docker-compose-simple",
      "component_kind": "container-automation",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "container-automation classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "config-summary",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "basic-roles",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "cleanup-analysis",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "management",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "networking",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "ja4-plus",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "zone-mta-setup",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "retro-modern-install",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "retro-modern-theme",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "configuration",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "setup-status",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "haraka",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "redis",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "zone-mta",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "traefik",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "wildduck-server",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "webmail",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "mongodb",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "pre-start-validation",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-certs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "ja4-plus-manager",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "setup-wildduck-complete",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "validate-no-ssl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-manage-script",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "test-redis-network",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "install-ja4-plus",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "validate-setup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "generate-secrets",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "setup-admin-user",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "integrate-wildduck",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "monitor-ja4",
      "component_kind": "script",
      "evidence_repos": "mbarbine__wildduck",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jest-config",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "jest-setup",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "biofeedback-engine",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "computer-vision",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__www-demo-biofeedback-app-development",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xsociety-installer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "xsociety-gui-installer",
      "component_kind": "script",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "apktools-license",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "xsociety2examplecommands",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "todo",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "xsociety-utils",
      "component_kind": "utility",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "xsociety-agent",
      "component_kind": "agent",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "agent classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "css",
      "component_kind": "ai-integration",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "get-styles",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "val",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "tween",
      "component_kind": "automation-config",
      "evidence_repos": "mbarbine__xsociety",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "normalization-corrections",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "name-aliases",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "djoin-type",
      "component_kind": "process-document",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "gawk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "libstdc-so-6-0-25-gdb",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "distroprefs",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "normalization-corrections",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "name-aliases",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "djoin-type",
      "component_kind": "business-logic",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "business-logic classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "2-create-ramdisk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "image",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "3-build-iso",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "1-configure-syslinux",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-6",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-7",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "book",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-7-chroot",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-3",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-8",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-9",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-6-chroot",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-8-chroot",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "library-check",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "version-check",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-9-chroot",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chapter-5",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "7-x-configure-bash",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "7-4-manage-devices",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "7-5-configure-network",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "7-2-make-lfs-bootscripts",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "7-6-configure-systemv",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "9-1-the-end",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "9-x-cleanup",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "8-2-create-fstab",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "8-3-make-linux-kernel",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "8-4-setup-grub",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-48-make-libelf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-29-make-psmisc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-64-make-gzip",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-32-make-flex",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-37-make-gperf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-6-create-essentials",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-22-make-bzip2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-38-make-expat",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-53-make-meson",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-51-make-python",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-80-clean",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-15-make-bc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-10-adjust-toolchain",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-62-make-grub",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-70-make-sysklogd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-39-make-inetutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-58-make-diffutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-72-make-eudev",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-2-prepare-vkfs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-20-make-shadow",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-52-make-ninja",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-11-make-zlib",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-40-make-perl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-8-make-man-pages",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-7-make-linux-api-headers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-30-make-iana-etc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-60-make-findutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-35-make-libtool",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-19-make-mpc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-14-make-m4",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-55-make-e2fsprogs",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-17-make-gmp",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-54-make-procps-ng",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-16-make-binutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-21-make-gcc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-76-make-texinfo",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-49-make-libffi",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-31-make-bison",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-23-make-pkg-config",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-36-make-gdbm",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-42-make-intltool",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-69-make-patch",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-28-make-sed",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-41-make-xml-parser",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-24-make-ncurses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-12-make-file",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-33-make-grep",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-57-make-check",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-50-make-openssl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-71-make-sysvinit",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-66-make-kbd",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-46-make-kmod",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-34-make-bash",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-59-make-gawk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-27-make-libcap",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-56-make-coreutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-26-make-acl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-67-make-libpipeline",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-77-make-vim",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-43-make-autoconf",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-18-make-mpfr",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-44-make-automake",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-73-make-util-linux",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-13-make-readline",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-5-create-directories",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-74-make-man-db",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-63-make-less",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-45-make-xz",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-25-make-attr",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-65-make-iproute2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-9-make-glibc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-47-make-gettext",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-75-make-tar",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-61-make-groff",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-68-make-make",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "6-79-strip",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "3-1-download-tools",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-15-make-ncurses",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-7-make-glibc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-4-make-binutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-16-make-bash",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-12-make-expect",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-10-make-gcc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-6-make-linux-api-headers",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-26-make-gzip",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-30-make-sed",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-22-make-findutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-14-make-m4",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-35-strip",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-33-make-util-linux",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-23-make-gawk",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-8-make-libstdc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-19-make-coreutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-29-make-perl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-9-make-binutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-20-make-diffutils",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-5-make-gcc",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-34-make-xz",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-24-make-gettext",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-11-make-tcl",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-27-make-make",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-21-make-file",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-13-make-dejagnu",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-32-make-texinfo",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-28-make-patch",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-17-make-bison",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-31-make-tar",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-18-make-bzip2",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "5-25-make-grep",
      "component_kind": "script",
      "evidence_repos": "mbarbine__zornixOS",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "settings-store",
      "component_kind": "state-store",
      "evidence_repos": "ph3ar__DeskThing-FortuneCookie",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "fortune-store",
      "component_kind": "state-store",
      "evidence_repos": "ph3ar__DeskThing-FortuneCookie",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "prod-checklist",
      "component_kind": "process-document",
      "evidence_repos": "ph3ar__js_mongo_app_boilerplate",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "roadmap-chat-sdk",
      "component_kind": "roadmap",
      "evidence_repos": "ph3ar__js_mongo_app_boilerplate",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "roadmap classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "model-config",
      "component_kind": "ai-integration",
      "evidence_repos": "ph3ar__js_mongo_app_boilerplate",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "stannp-client",
      "component_kind": "utility",
      "evidence_repos": "ph3ar__mailthing-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "stannp-api",
      "component_kind": "utility",
      "evidence_repos": "ph3ar__mailthing-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "auth",
      "component_kind": "utility",
      "evidence_repos": "ph3ar__mailthing-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "validators",
      "component_kind": "schema-validation",
      "evidence_repos": "ph3ar__mailthing-webby",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "schema-validation classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "shopify",
      "component_kind": "utility",
      "evidence_repos": "ph3ar__newdittyswag-commerce",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "run-helper",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "installdependencies",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "runsvc",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-server",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "index-fix",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "dev-fix",
      "component_kind": "script",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "chord-sampler",
      "component_kind": "automation-config",
      "evidence_repos": "ph3ar__ph3ar_radio_backend",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "automation-config classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "editing",
      "component_kind": "process-document",
      "evidence_repos": "ph3ar__radio-backend",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "startup-info",
      "component_kind": "script",
      "evidence_repos": "ph3ar__renegade-bbs-docker",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "start-cloudflared",
      "component_kind": "script",
      "evidence_repos": "ph3ar__renegade-bbs-docker",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "welcome",
      "component_kind": "process-document",
      "evidence_repos": "ph3ar__renegade-bbs-docker",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "start-bg",
      "component_kind": "script",
      "evidence_repos": "ph3ar__www_js_terminal",
      "file_count": 1,
      "package_name": "@platphorm/automation",
      "primary_category": "automation",
      "priority": "medium",
      "rationale": "script classified as automation with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-automation"
    },
    {
      "candidate_name": "get-layouted-elements",
      "component_kind": "ai-integration",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/ai",
      "primary_category": "ai",
      "priority": "medium",
      "rationale": "ai-integration classified as ai with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-ai"
    },
    {
      "candidate_name": "get-display-label",
      "component_kind": "utility",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "get-colors",
      "component_kind": "utility",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "utility classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "calculate-node-size",
      "component_kind": "parser",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "add-node-to-graph",
      "component_kind": "parser",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "add-edge-to-graph",
      "component_kind": "parser",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "traverse",
      "component_kind": "parser",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "types",
      "component_kind": "parser",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "parser classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "use-json-graph-store",
      "component_kind": "state-store",
      "evidence_repos": "process-co__json-graph",
      "file_count": 1,
      "package_name": "@platphorm/logic",
      "primary_category": "logic",
      "priority": "medium",
      "rationale": "state-store classified as logic with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-logic"
    },
    {
      "candidate_name": "dependency-resolution",
      "component_kind": "process-document",
      "evidence_repos": "process-co__npm-element-dev-server",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "monorepo-dev-mode",
      "component_kind": "process-document",
      "evidence_repos": "process-co__npm-element-dev-server",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "process-element-cli-output",
      "component_kind": "process-document",
      "evidence_repos": "process-co__npm-element-types",
      "file_count": 1,
      "package_name": "@platphorm/process",
      "primary_category": "process",
      "priority": "medium",
      "rationale": "process-document classified as process with reuse potential across 1 repositories and 1 files.",
      "repo_count": 1,
      "target_library": "shared-process"
    },
    {
      "candidate_name": "main",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__lettuce",
      "file_count": 9,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 9 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "page",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__platphorm-podcasts, mbarbine__platphormnews-www-prod",
      "file_count": 8,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 8 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "default",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 7,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 7 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "dialog",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site",
      "file_count": 6,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 6 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "no-ssl",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 6,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 6 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "slider",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site",
      "file_count": 4,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "pagination",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 4,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "spinning",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 4,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "wildduck",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 4,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "login",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 4,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "constants",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "get-ask-stories",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 4,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "use-settings",
      "component_kind": "ui-hook",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-reader",
      "file_count": 4,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "ui-hook classified as frontend with reuse potential across 2 repositories and 4 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "main",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__msicrafter",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "no-ssl-fixed",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "ja4-config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 3,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "news",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 3,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "news",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "trace-provider",
      "component_kind": "ui-provider",
      "evidence_repos": "mbarbine__platphorm-base, mbarbine__platphorm-layout",
      "file_count": 3,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "ui-provider classified as frontend with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "smart-tooltip",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__platphorm-insights, mbarbine__platphorm-layout",
      "file_count": 3,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "ko",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 3,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 3 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "stat-counter",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__2025-year-in-review-webby, mbarbine__v0-2025-year-in-review",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "performance",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__PH3AR-WEBBY, mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "shared-parameter-db",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "jenkins-parameter-db",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "properties",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-real-estate-NAD",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "main",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__job-manager",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "responsive-utilities",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "carousel",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "pager",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "modals",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "tooltip",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "forms",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "progress-bar",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "data-tables-alphabet-search",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "fn-find-cell-row-indexes",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-data-update",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-add-tr",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-add-data-and-display",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-filter-all",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-display-start",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-find-cell-row-nodes",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-standing-redraw",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-get-hidden-nodes",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-sort-neutral",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-paging-info",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-reload-ajax",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "column-title",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "columns-order",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-column-index-to-visible",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-display-row",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "page-jump-to-data",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-filter-clear",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-processing-indicator",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-visible-to-column-index",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-get-column-data",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-get-tds",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-fake-rowspan",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-length-change",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "average",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-get-column-index",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-get-adjacent-tr",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-set-filtering-delay",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-filter-on-return",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "sum",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-get-td",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fn-multi-filter",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "metis-menu",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "extras",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "responsive-data-tables",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "config",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__Scripts, ph3ar__js_mongo_app_boilerplate",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "contact",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__spectrum-canine-www",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "integration",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__game-porting-service-webby",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "spinner",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "setup",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__platphorm-business-EmployerServicesIncorporated",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "icons",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "link",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__Scripts, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "hi",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "ar",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "hero-section",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__desert-bus",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "features-section",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__platphorm-jobs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "llms-index",
      "component_kind": "llms-discovery",
      "evidence_repos": "mbarbine__airrow-commuter-balloon, mbarbine__automotive-flamethrower-webby",
      "file_count": 2,
      "package_name": "@platphorm/discovery",
      "primary_category": "discovery",
      "priority": "low",
      "rationale": "llms-discovery classified as discovery with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-discovery"
    },
    {
      "candidate_name": "top-bar",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__automotive-flamethrower-webby, mbarbine__platphorm-webhook-simulator",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "global-error",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__beer-museum-manager-www, mbarbine__platphorm-layout",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "api-keys",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__calendar-app-webby, mbarbine__platphorm-agentui",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "test-perf",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__platphorm-vercel-atlas",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "about-section",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__desert-bus, mbarbine__robbie-ds-greens-webby",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "board",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__doflo-clone, mbarbine__process-clone",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "integration-logos",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__doflo-clone, mbarbine__process-clone",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "testimonials",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__dogstar-cybernetics-webby, mbarbine__scratchcraft",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "about",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__dogstar-cybernetics-webby, mbarbine__mermaid-next-www",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "not-found",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__fortune-cookie-webby-yj, mbarbine__platphorm-layout",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "theme-config",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "global-d",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "sentry",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "counters-module",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "quiz-mode-modal-module",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "open-aiprompt-module",
      "component_kind": "stylesheet",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "stylesheet classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "arkime-login",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "arkime-leg",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "arkime",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "quiz-mode-modal",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "error-boundary",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "integration-list",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "logo",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "open-aiprompt",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "authenticate",
      "component_kind": "auth-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "auth-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "login",
      "component_kind": "auth-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "auth-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "get-suspicious",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "parse-pcap-file",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "save-suspicious",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "ja4gpt-test",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "ask-ja4gpt",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "app",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__foxio-labs, ph3ar__ph3ar-docs-enhanced-labs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "network-manifest",
      "component_kind": "discovery-artifact",
      "evidence_repos": "mbarbine__gta-6-countdown-webby, mbarbine__platphorm-real-estate-property-evaluation",
      "file_count": 2,
      "package_name": "@platphorm/discovery",
      "primary_category": "discovery",
      "priority": "low",
      "rationale": "discovery-artifact classified as discovery with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-discovery"
    },
    {
      "candidate_name": "cart-provider",
      "component_kind": "ui-provider",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__scratchcraft",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "ui-provider classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "provider",
      "component_kind": "ui-provider",
      "evidence_repos": "mbarbine__hot-chocolate-for-profit-webby, mbarbine__platphorm-onboard",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "ui-provider classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "traefik-fixed",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "traefik-minimal",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "zonemta",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "ja4-service",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "email2letter-config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "minimal",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "ja4-plugin",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ja4-sidecar, mbarbine__wildduck",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "routes",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__ja4mlab, mbarbine__platphorm-auction-vice",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "top-stories",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "use-media-query",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "news-d",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "get-show-stories",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "get-top-stories",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "get-job-stories",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "get-best-stories",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__legacy-platphorm-news, mbarbine__news-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "payments-controller",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__mailthing, mbarbine__mailthing-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "credits-controller",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__mailthing, mbarbine__mailthing-api",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "returning-user-dashboard",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "home",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "tracking",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, ph3ar__mailthing-webby",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "logout",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "credits-checkout",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "new-user-flow",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "payment-form",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "user-portal",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__mailthing-client, mbarbine__mailthing-main",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "tailwind-config",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "navlinks",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "navbar-module",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "footer",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "password-sign-in",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "oauth-sign-in",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "signup",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "update-password",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "email-sign-in",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "forgot-password",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "input-module",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "email-form",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "name-form",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "customer-portal-form",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "loading-dots",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "loading-dots-module",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "button-module",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "ui-primitive classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "pricing",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/ui",
      "primary_category": "ui",
      "priority": "low",
      "rationale": "ui-primitive classified as ui with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-ui"
    },
    {
      "candidate_name": "stripe-fixtures",
      "component_kind": "integration-module",
      "evidence_repos": "mbarbine__mailthing-main, ph3ar__stripe-subscription-starter",
      "file_count": 2,
      "package_name": "@platphorm/integrations",
      "primary_category": "integration",
      "priority": "low",
      "rationale": "integration-module classified as integration with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-integrations"
    },
    {
      "candidate_name": "report-bundle-size",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "git-conventional-commits",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "tailwind",
      "component_kind": "tailwind-config",
      "evidence_repos": "mbarbine__mermaid-next-www, mbarbine__my-first-nova-hbackers-preseo",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "tailwind-config classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "overview",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__nextjs-ai-4, mbarbine__nextjs-ai-chatbot",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "json-ld",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__ph3ar-blog, mbarbine__platphorm-kanban",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "route",
      "component_kind": "ui-primitive",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-ascii",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "ui-primitive classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "validation",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-agentui, mbarbine__platphorm-evals",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "progress-bar",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-alleycats, mbarbine__platphorm-zine-reader",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "setup-db",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__platphorm-bbs, mbarbine__platphorm-sandbox",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "trace",
      "component_kind": "trace-module",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-evals",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "trace-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "well-known",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-browserops, mbarbine__platphorm-trace",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "home",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-cobol, mbarbine__platphorm-space-news",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "e2e",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "theme-config",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-codex, mbarbine__platphorm-decks",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "discovery",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-design, mbarbine__platphorm-kanban",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "fingerprint",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-fingerprint-service, mbarbine__platphorm-podcasts",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "discovery",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-insights, mbarbine__platphorm-vercel-atlas",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "validate",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-insights, mbarbine__vanagain-dot-com-prod",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "use-toast",
      "component_kind": "ui-hook",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__platphorm-kanban",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "ui-hook classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "register",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-jules, mbarbine__stripper-mug-webby",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "openapi",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-kanban, mbarbine__platphorm-quake",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "navigation",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-mini-games-webby, mbarbine__platphorm-opencontent",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "ar",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__platphorm-onboard, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "url-preview",
      "component_kind": "api-route",
      "evidence_repos": "mbarbine__platphorm-onboard, mbarbine__platphorm-opencontent",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "api-route classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "use-theme-settings",
      "component_kind": "frontend-hook",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-hook classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "constants",
      "component_kind": "frontend-feature",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "frontend-feature classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "scores-chunking",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-opendocs",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "api-health",
      "component_kind": "health-check",
      "evidence_repos": "mbarbine__platphorm-opencontent, mbarbine__platphorm-vercel-atlas",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "health-check classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "faq-section",
      "component_kind": "feature-ui",
      "evidence_repos": "mbarbine__platphorm-polymarket-rss-feed, mbarbine__platphorm-shipments",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    },
    {
      "candidate_name": "test-api",
      "component_kind": "backend-module",
      "evidence_repos": "mbarbine__platphorm-real-estate-property-evaluation, mbarbine__vanlife-website",
      "file_count": 2,
      "package_name": "@platphorm/backend",
      "primary_category": "backend",
      "priority": "low",
      "rationale": "backend-module classified as backend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-backend"
    },
    {
      "candidate_name": "test-ux",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__platphorm-trace, ph3ar__www_js_terminal",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "vercel",
      "component_kind": "integration-module",
      "evidence_repos": "mbarbine__process-clone, mbarbine__starphone-web-svelte",
      "file_count": 2,
      "package_name": "@platphorm/integrations",
      "primary_category": "integration",
      "priority": "low",
      "rationale": "integration-module classified as integration with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-integrations"
    },
    {
      "candidate_name": "de",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "pt",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "en",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "fr",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "es",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__two-doller-web, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "asset-manifest",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod, mbarbine__vanagain-site",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "base",
      "component_kind": "design-token",
      "evidence_repos": "mbarbine__vanagain-dot-com-prod, process-co__json-graph",
      "file_count": 2,
      "package_name": "@platphorm/styles",
      "primary_category": "style",
      "priority": "low",
      "rationale": "design-token classified as style with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-styles"
    },
    {
      "candidate_name": "jquery-data-tables-min",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "composer",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "jquery-colorhelpers",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "jquery-flot-crosshair",
      "component_kind": "observability-module",
      "evidence_repos": "mbarbine__vanagain-site, mbarbine__xsociety",
      "file_count": 2,
      "package_name": "@platphorm/observability",
      "primary_category": "observability",
      "priority": "low",
      "rationale": "observability-module classified as observability with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-observability"
    },
    {
      "candidate_name": "config",
      "component_kind": "security-module",
      "evidence_repos": "mbarbine__xsociety, ph3ar__mailthing-webby",
      "file_count": 2,
      "package_name": "@platphorm/security",
      "primary_category": "security",
      "priority": "low",
      "rationale": "security-module classified as security with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-security"
    },
    {
      "candidate_name": "nav-bar",
      "component_kind": "feature-ui",
      "evidence_repos": "ph3ar__barbine-worldwide-legacy, ph3ar__mailthing-webby",
      "file_count": 2,
      "package_name": "@platphorm/frontend",
      "primary_category": "frontend",
      "priority": "low",
      "rationale": "feature-ui classified as frontend with reuse potential across 2 repositories and 2 files.",
      "repo_count": 2,
      "target_library": "shared-frontend"
    }
  ]
}